From d5e7da39d25068f9fa4496929e52ddb810237076 Mon Sep 17 00:00:00 2001 From: Yannick Warnier Date: Tue, 22 Apr 2008 07:51:28 +0200 Subject: [PATCH] [svn r15003] Last functional update to LDAP code. Added import from LDAP to sessions directly and fixed problems in import to courses. --- main/admin/index.php | 4 +- main/admin/ldap_form_add_users_group.php | 13 +- main/admin/ldap_import_students.php | 11 +- .../admin/ldap_import_students_to_session.php | 905 ++++-------------- 4 files changed, 194 insertions(+), 739 deletions(-) diff --git a/main/admin/index.php b/main/admin/index.php index 9b00e0d9d8..2ed0d347cd 100644 --- a/main/admin/index.php +++ b/main/admin/index.php @@ -1,4 +1,4 @@ -LDAPLDAP diff --git a/main/admin/ldap_form_add_users_group.php b/main/admin/ldap_form_add_users_group.php index 1475b46856..a63405f12b 100644 --- a/main/admin/ldap_form_add_users_group.php +++ b/main/admin/ldap_form_add_users_group.php @@ -20,10 +20,10 @@ ============================================================================== */ /** - * This form is included by ldap_import_students.php + * This form is included by ldap_import_students.php and ldap_import_students_to_session.php */ $nbre=0; -echo '
'; +echo ''; if($statut==1) { echo get_lang('EmailNotifySubscription').': '.get_lang('DontUnchek').''; @@ -32,7 +32,14 @@ echo ''; } -echo ''; +if(!empty($course)) +{ + echo ''; +} +elseif(!empty($id_session)) +{ + echo ''; +} echo ''; echo ''; echo '' . diff --git a/main/admin/ldap_import_students.php b/main/admin/ldap_import_students.php index 271a7e9301..80ccba8836 100644 --- a/main/admin/ldap_import_students.php +++ b/main/admin/ldap_import_students.php @@ -289,11 +289,14 @@ elseif (!empty($annee) && !empty($course) && ($_POST['confirmed']=='yes')) $id=$_POST['username_form']; $UserList=array(); $userid_match_login = array(); - foreach ($id as $user_id) + foreach ($id as $form_index=>$user_id) { - $tmp = ldap_add_user($user_id); - $UserList[]= $tmp; - $userid_match_login[$tmp] = $user_id; + if(is_array($_POST['checkboxes']) && in_array($form_index,array_values($_POST['checkboxes']))) + { + $tmp = ldap_add_user($user_id); + $UserList[]= $tmp; + $userid_match_login[$tmp] = $user_id; + } } if (!empty($_POST['course'])) { diff --git a/main/admin/ldap_import_students_to_session.php b/main/admin/ldap_import_students_to_session.php index 129f11e73a..4fd0eea672 100644 --- a/main/admin/ldap_import_students_to_session.php +++ b/main/admin/ldap_import_students_to_session.php @@ -19,771 +19,216 @@ Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com ============================================================================== */ -/** -============================================================================== -* @package dokeos.admin -============================================================================== -*/ - // name of the language file that needs to be included -$language_file='admin'; - +$language_file[]='admin'; +$language_file[]='registration'; +// resetting the course id $cidReset=true; - require_once('../inc/global.inc.php'); - // setting the section (for the tabs) $this_section = SECTION_PLATFORM_ADMIN; +require_once(api_get_path(LIBRARY_PATH).'course.lib.php'); +require_once(api_get_path(LIBRARY_PATH).'usermanager.lib.php'); +// Access restrictions api_protect_admin_script(); - -$libpath = api_get_path(LIBRARY_PATH); -require_once($libpath.'formvalidator/FormValidator.class.php'); -include_once($libpath.'usermanager.lib.php'); require('../auth/ldap/authldap.php'); $annee_base=date('Y'); +$tool_name = get_lang('LDAPImport'); // setting breadcrumbs -$interbreadcrumb[]=array('url' => 'index.php',"name" => get_lang('PlatformAdmin')); -$interbreadcrumb[]=array('url' => api_get_self(),"name" => get_lang('SessionList')); - -// Database Table Definitions -$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); -$tbl_session_rel_class = Database::get_main_table(TABLE_MAIN_SESSION_CLASS); -$tbl_session_rel_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE); -$tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); -$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE); -$tbl_user = Database::get_main_table(TABLE_MAIN_USER); -$tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); -$tbl_class = Database::get_main_table(TABLE_MAIN_CLASS); -$tbl_class_user = Database::get_main_table(TABLE_MAIN_CLASS_USER); - -$tbl_session_rel_etape = "session_rel_etape"; - -$id_session=intval($_GET['id_session']); - -$formSent=0; -$errorMsg=$firstLetterUser=$firstLetterSession=''; -$UserList=$SessionList=array(); -$users=$sessions=array(); -$noPHP_SELF=true; - -$page=intval($_GET['page']); -$action=$_REQUEST['action']; -$sort=in_array($_GET['sort'],array('name','nbr_courses','date_start','date_end'))?$_GET['sort']:'name'; -$idChecked = $_REQUEST['idChecked']; - -$annee = intval($_GET['annee']); -$composante = $_GET['composante']; -$etape = $_GET['etape']; - -if (isset($id_session) && $id_session!="") -{ - $tool_name = get_lang('LDAPImportUsersSteps');; - Display::display_header($tool_name); - //api_display_tool_title($tool_name); - - if (isset($action) && ($action=="add")) { - // ICI Selection ETAPE a partir de LDAP - - // form1 annee = 0; composante= 0 etape = 0 - if ($annee == "" && $composante == "" && $etape == "") { - echo '
'; - echo '

'.get_lang('EnterStepToAddToYourSession').''.get_lang('EnterStepToAddToYourSession').'

'; - echo ''.get_lang('ToDoThisYouMustEnterYearDepartmentAndStep').'
'; - echo get_lang('FollowEachOfTheseStepsStepByStep').'
'; - echo '
'; - echo ''.sprintf(get_lang('RegistrationYearExample'),date('Y'),date('Y'),date('Y')+1).' :'; - echo '
'; - echo ''; - echo ''; - echo ''; - echo ''; - echo '
'; - } - // form 2 annee != 0; composante= 0 etape = 0 - elseif ($annee <> "" && $composante == "" && $etape == "") { - - $ds = ldap_connect($ldap_host, $ldap_port) or die(get_lang('LDAPConnectionError')); - ldap_set_version($ds); - - if ($ds) { - $r = false; - $res = ldap_handle_bind($ds, $r); - - //$sr = @ ldap_search($ds, "o=groups,$ldap_basedn", "(&(description=etape*)(cn=*$annee))", array ('cn')); - //$sr = @ ldap_search($ds, "ou=$annee, ou=diploma, o=paris1, $ldap_basedn", "ou=02*", array ('description')); - //$sr = @ ldap_search($ds, "ou=structures, o=paris1, $ldap_basedn", "businessCategory=pedagogy", array ('ou','description')); - $sr = @ ldap_search($ds, "$ldap_basedn", "", array ('ou','description')); - // "ou=2006,ou=diploma,o=Paris1,dc=univ-paris1,dc=fr - - $info = ldap_get_entries($ds, $sr); - for ($i = 0; $i < $info['count']; $i ++) { - $composante[$info[$i]['ou'][0]] = iconv('utf-8',api_get_setting('platform_charset'), $info[$i]['description'][0]); - } - $oucompotab3=$composante; - - echo '
'; - echo '
'; - echo '

'.get_lang('SelectDepartment').''.get_lang('SelectDepartment').'

'; - echo '
'; - echo ''.get_lang('RegistrationYear').' : '; - echo ''; - echo ''.get_lang('Department').' : '; - echo ''; - - echo '
'; - echo '
'; - echo ''; - echo ''; - echo ''; - echo ''; - ldap_close($ds); - - } - echo '
'; - echo '
'; - echo ''.get_lang('BackToNewSearch').''; - echo '
'; - echo '
'; - } - - // form3 :annee!=0composante=0etape=0 - elseif ($annee <> "" && $composante <> "" && $etape == "") { - - echo '
'; - echo '

'.get_lang('SearchResults').''.get_lang('SearchResults').'

'; - $ds = ldap_connect($ldap_host, $ldap_port); - ldap_set_version($ds); - - if ($ds) { - - $r = false; - $res = ldap_handle_bind($ds, $r); - - //$sr = @ ldap_search($ds, "ou=$annee, ou=diploma, o=paris1, $ldap_basedn", "seeAlso=ou=$composante,ou=structures,o=Paris1,$ldap_basedn", array ('ou','description')); - $sr = @ ldap_search($ds, "ou=$annee, ou=diploma, $ldap_basedn", "seeAlso=ou=$composante,ou=structures,$ldap_basedn", array ('ou','description')); - //echo "Le nombre de resultats est : ".ldap_count_entries($ds,$sr)."

"; - echo '
'; - $info = ldap_get_entries($ds, $sr); - - for ($i = 0; $i <= $info['count']; $i ++) { - - $description = $info[$i]['description']; - $ouetapetab[$i] = $description[0]; - $description2 = $info[$i]['ou']; - $ouetapetab2[$i] = $description2[0]; - } - - asort($ouetapetab); - reset($ouetapetab); - echo '
'; - - echo ''.get_lang('RegistrationYear').' : '; - echo '

'; - echo ''.get_lang('Department').' :'; - echo '
'; - echo '

'.get_lang('SelectStepAcademicYear').'

'; - echo '
'; - - echo ''.get_lang('Step').' : '; - echo ''; - echo ''; - - echo '
'; - echo ''; - echo ''; - - echo ''; - - ldap_close($ds); - - } else { - // echo "

Unable to connect to LDAP server

"; - } - echo '
'; - echo '
'; - echo '
'; - echo ''.get_lang('BackToNewSearch').''; - echo '
'; - echo ''; - echo '
'; - } - } else { - $id_session = intval($id_session); - $annee = intval($annee); - $composante = Database::escape_string($composante); - // Lister les etapes concernant la session : table - // Ajout de l'etape - if ($annee <> "" && $composante <> "" && $etape <> "") { - $ds = ldap_connect($ldap_host, $ldap_port); - ldap_set_version($ds); - - if ($ds) { - $r = false; - $res = ldap_handle_bind($ds, $r); - //$sr = @ ldap_search($ds, "ou=$annee, ou=diploma, o=paris1, $ldap_basedn", "ou=$etape", array ('ou','description')); - $sr = @ ldap_search($ds, "$ldap_basedn", "ou=$etape", array ('ou','description')); - //echo "Le nombre de resultats est : ".ldap_count_entries($ds,$sr)."

"; - $info = ldap_get_entries($ds, $sr); - if ($info['count']>0) { - // Ajout de l'Etape a la session - $description=Database::escape_string(iconv('utf-8',api_get_setting('platform_charset'), $info[0]['description'][0])); - $sql = "INSERT IGNORE INTO $tbl_session_rel_etape " . - "(id_session,code_etape,etape_description,code_ufr,annee) " . - "VALUES " . - "('$id_session','".Database::escape_string($info[0]["ou"][0])."','".$description."','$composante','$annee')"; - if (api_sql_query($sql,__FILE__,__LINE__)) - Display :: display_normal_message(get_lang('Step').": $annee, $composante, $description ".get_lang('SomethingFemininAddedSuccessfully')); - else - Display :: display_error_message(get_lang('ErrorExistingStep')); - } else - Display :: display_error_message(get_lang('ErrorStepNotFoundOnLDAP')); - } else - Display :: display_error_message(get_lang('LDAPConnectionError')); +$interbreadcrumb[]=array('url' => 'index.php','name' => get_lang('PlatformAdmin')); + +$htmlHeadXtra[] = ''; - if (isset($action) && ($action=="delete")) { - $idChecked = $_GET['idChecked']; - if(is_array($idChecked)) - $idChecked="'".implode("','",$idChecked)."'"; - $sql = "DELETE FROM $tbl_session_rel_etape " . - "WHERE id_session='$id_session' " . - "AND code_etape IN($idChecked)"; - api_sql_query($sql,__FILE__,__LINE__); - if (mysql_affected_rows()>0) - Display :: display_normal_message(get_lang('StepDeletedSuccessfully')); - else - Display :: display_error_message(get_lang('DeleteError')); - - } else if (isset($action) && ($action=='deleteusers')) { - $idChecked = $_GET['idChecked']; - if(is_array($idChecked)) - { - $idChecked=Database::escape_string("'".implode("','",$idChecked)."'"); - } - - - $sql = 'SELECT '.$tbl_user.'.user_id, lastname, firstname, username, official_code - FROM '.$tbl_user.' - INNER JOIN '.$tbl_session_rel_user.' - ON '.$tbl_user.'.user_id = '.$tbl_session_rel_user.'.id_user - AND '.$tbl_session_rel_user.'.id_session = '.$id_session.' - WHERE official_code IN('.$idChecked.') - ORDER BY official_code, lastname, firstname'; +$annee = $_GET['annee']; +$id_session = $_POST['id_session']; - $result=api_sql_query($sql,__FILE__,__LINE__); - $users=api_store_result($result); - $UserList=array(); - foreach($users as $user){ - $UserList[]=$user['user_id']; - } - - // On supprime toutes les relations de l'utilisateur - $result=api_sql_query("SELECT course_code FROM $tbl_session_rel_course " . - "WHERE id_session='$id_session'",__FILE__,__LINE__); - $CourseList=array(); - while($row=Database::fetch_array($result)) - { - $CourseList[]=$row['course_code']; - } - foreach($CourseList as $enreg_course) - { - foreach($UserList as $enreg_user) - { - api_sql_query("DELETE IGNORE FROM $tbl_session_rel_course_rel_user " . - "WHERE id_user='$enreg_user'",__FILE__,__LINE__); - } - $sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_course_rel_user " . - "WHERE id_session='$id_session' AND course_code='$enreg_course'"; - $rs = api_sql_query($sql, __FILE__, __LINE__); - list($nbr_users) = Database::fetch_array($rs); - api_sql_query("UPDATE $tbl_session_rel_course " . - "SET nbr_users=$nbr_users " . - "WHERE id_session='$id_session' " . - "AND course_code='$enreg_course'",__FILE__,__LINE__); - } - foreach($UserList as $enreg_user) - { - api_sql_query("DELETE IGNORE FROM $tbl_session_rel_user " . - "WHERE id_user='$enreg_user'",__FILE__,__LINE__); - } - // updating number of users in the session - $sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_user " . - "WHERE id_session='$id_session'"; - $rs = api_sql_query($sql, __FILE__, __LINE__); - list($nbr_users) = Database::fetch_array($rs); - $sql = "UPDATE $tbl_session SET nbr_users=$nbr_users " . - "WHERE id='$id_session'"; - api_sql_query($sql,__FILE__,__LINE__); - - foreach($UserList as $enreg_user){ - if (UserManager::can_delete_user($enreg_user)) - UserManager::delete_user($enreg_user); - } - Display :: display_normal_message(get_lang('StepUsersDeletedSuccessfully')); - - } - - // Importing periods/steps users into the session - if (isset($action) && ($action=='import')) - { - // Parsing steps codes from sessions - /* - $sql = "SELECT id_session, code_etape, etape_description, code_ufr, annee - FROM $tbl_session_rel_etape - WHERE id_session='$id_session' - ORDER BY code_ufr, code_etape"; - $result = api_sql_query($sql); - */ - $ds = ldap_connect($ldap_host, $ldap_port) or die(get_lang('LDAPConnectionError')); - ldap_set_version($ds); - // Importing steps users into session - if ($ds) - { - $r = false; - $res = ldap_handle_bind($ds, $r); - $UserList=array(); - //while($row = Database::fetch_array($result)) - //{ - // $annee = $row['annee']; - // $code_ufr = $row['code_ufr']; - // $etape = $row['code_etape']; - // LDAP Querry - // edupersonorgunitdn=ou=12CI1,ou=2006,ou=diploma,o=Paris1,dc=univ-paris1,dc=fr - //$sr = @ ldap_search($ds, "ou=people,$ldap_basedn", "edupersonorgunitdn=ou=$etape,ou=$annee,ou=diploma,o=Paris1,$ldap_basedn"); - // TODO search string should be based on the users we wanted to insert, in the first place - $sr = @ ldap_search($ds, $ldap_basedn, $ldap_basedn); - $info = ldap_get_entries($ds, $sr); - for ($key = 0; $key < $info["count"]; $key ++) { - $lastname = iconv('utf-8', api_get_setting('platform_charset'), $info[$key]["sn"][0]); - $firstname = iconv('utf-8', api_get_setting('platform_charset'), $info[$key]["givenname"][0]); - $email = $info[$key]["mail"][0]; - // Get uid from dn - $dn_array=ldap_explode_dn($info[$key]["dn"],1); - $username = $dn_array[0]; // uid is first key - $outab[] = $info[$key]["edupersonprimaryaffiliation"][0]; // Ici "student" - $val = ldap_get_values_len($ds, $entry, "userPassword"); - $password = $val[0]; - // Pour faciliter la gestion on ajoute le code "etape-annee" - $official_code=$etape."-".$annee; - $auth_source="cas"; - // Pas de date d'expiration d'etudiant (a recuperer par rapport au shadow expire LDAP) - $expiration_date='0000-00-00 00:00:00'; - $active=1; - // Ajout de l'utilisateur - if (UserManager::is_username_available($username)) - $user_id = UserManager::create_user($firstname,$lastname,$status,$email,$username,$password,$official_code,api_get_setting('platformLanguage'),$phone,$picture_uri,$auth_source,$expiration_date,$active); - else{ - $user = UserManager::get_user_info($username); - $user_id=$user['user_id']; - UserManager::update_user($user_id, $firstname, $lastname, $username, null, null, $email, $status, $official_code, $phone, $picture_uri, $expiration_date, $active); - } - $UserList[]=$user_id; - } - } - - // Une fois les utilisateurs importer dans la base des utilisateurs, on peux les affecter a la session - $sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'"; - $result = api_sql_query($sql,__FILE__,__LINE__); - - $CourseList=array(); - while($row=Database::fetch_array($result)) - { - $CourseList[]=$row['course_code']; - } - foreach($CourseList as $enreg_course) - { - // On ajoute la relation entre l'utilisateur et le cours - foreach($UserList as $enreg_user) - { - $sql = "INSERT IGNORE " . - "INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) " . - "VALUES('$id_session','$enreg_course','$enreg_user')"; - api_sql_query($sql,__FILE__,__LINE__); - } - $sql = "SELECT COUNT(id_user) as nbUsers " . - "FROM $tbl_session_rel_course_rel_user " . - "WHERE id_session='$id_session' AND course_code='$enreg_course'"; - $rs = api_sql_query($sql, __FILE__, __LINE__); - list($nbr_users) = Database::fetch_array($rs); - $sql = "UPDATE $tbl_session_rel_course " . - "SET nbr_users=$nbr_users " . - "WHERE id_session='$id_session' AND course_code='$enreg_course'"; - api_sql_query($sql,__FILE__,__LINE__); - } - // On ajoute la relation entre l'utilisateur et la session - foreach($UserList as $enreg_user){ - api_sql_query("INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$enreg_user')",__FILE__,__LINE__); - } - $sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_user WHERE id_session='$id_session'"; - $rs = api_sql_query($sql, __FILE__, __LINE__); - list($nbr_users) = Database::fetch_array($rs); - api_sql_query("UPDATE $tbl_session SET nbr_users=$nbr_users WHERE id='$id_session'",__FILE__,__LINE__); - } - ?> - - -

- - - - - - - - - - - - - - - -
- - <?php echo get_lang('Edit'); ?> - -
:
:
: - -
- - - - - - - - - - - - - - - '; - } else { - foreach($etapes as $etape){ - echo ' - - - - - - '; - } - } - echo '
- - <?php echo get_lang('AddStep');?> - -
'.get_lang('NoStepForThisSession').'
'.$etape['code_ufr'].' ('.$etape['annee'].')'.$etape['code_etape'].''.$etape['etape_description'].' - ' . - ''.get_lang('Delete').'' . - ' - ' . - '' . - ' -
'; - */ -?> -
- -
- - - -
- -
-
+// form1 annee = 0; composante= 0 etape = 0 +//if ($annee == "" && $composante == "" && $etape == "") { +if (empty($annee) && empty($id_session)) +{ + Display::display_header($tool_name); + echo '
'; + echo '

'.get_lang('EnterStudentsToSubscribeToSession').' '.get_lang('EnterStudentsToSubscribeToSession').'

'; + //echo ''.get_lang('ToDoThisYouMustEnterYearComponentAndComponentStep').'
'; + //echo get_lang('FollowEachOfTheseStepsStepByStep').'
'; - - - - - - - - - - '; - } - else { - - $sql = 'SELECT '.$tbl_user.'.user_id, lastname, firstname, username, official_code - FROM '.$tbl_user.' - INNER JOIN '.$tbl_session_rel_user.' - ON '.$tbl_user.'.user_id = '.$tbl_session_rel_user.'.id_user - AND '.$tbl_session_rel_user.'.id_session = '.$id_session.' - ORDER BY official_code, lastname, firstname'; - - $result=api_sql_query($sql,__FILE__,__LINE__); - $users=api_store_result($result); - foreach($users as $user){ - echo ' - - - - '; - } - } - echo '
- <?php echo get_lang('Edit');?> -   - <?php echo get_lang('AddLDAPUsers');?> -
'.get_lang('NoUserInThisSession').'
- '.$user['official_code'].' - - '.$user['lastname'].' '.$user['firstname'].' ('.$user['username'].') - - ' . - ''.get_lang('Reporting').'' . - ' -
'; + echo '

'; + echo ''.sprintf(get_lang('RegistrationYearExample'),date('Y'),date('Y'),date('Y')+1).' : '; + echo ' '; + echo ''; + echo '
'; + echo '
'; + +} +elseif(!empty($annee) && empty($id_session)) +{ + Display::display_header($tool_name); + echo '
'; + echo ''.get_lang('SelectSessionToImportUsersTo').''.get_lang('SelectSessionToImportUsersTo').'
'; + echo '

'; + echo ''; + echo ''; + echo '
'; + echo '
'; +} +// form4 annee != 0; composante != 0 etape != 0 +//elseif ($annee <> "" && $composante <> "" && $etape <> "" && $listeok != 'yes') { +elseif (!empty($annee) && !empty($id_session) && empty($_POST['confirmed'])) { - $limit=20; - $from=$page * $limit; - - $result=api_sql_query("SELECT id,name,nbr_courses,date_start,date_end " . - " FROM $tbl_session ".(empty($_POST['keyword']) ? "" : "WHERE name LIKE '%".Database::escape_string($_POST['keyword'])."%'")." " . - " ORDER BY $sort LIMIT $from,".($limit+1),__FILE__,__LINE__); - - $Sessions=api_store_result($result); - - $nbr_results=count($Sessions); - - //$tool_name = "Import LDAP session"; - //$interbreadcrumb[]=array("url" => "index.php","name" => get_lang('AdministrationTools')); - Display::display_header($tool_name); - - ?> - -
- - '; + echo '
'; + echo '
'; + echo '

'.get_lang('SelectStudents').' '.get_lang('SelectStudents').'

'; + //echo "Connection ..."; + $ds = ldap_connect($ldap_host, $ldap_port) or die(get_lang('LDAPConnectionError')); + ldap_set_version($ds); + + if ($ds) { + + $r = false; + $res = ldap_handle_bind($ds, $r); + + //$sr = @ ldap_search($ds, "ou=people,$LDAPbasedn", "(|(edupersonprimaryorgunitdn=ou=$etape,ou=$annee,ou=diploma,o=Paris1,$LDAPbasedn)(edupersonprimaryorgunitdn=ou=02PEL,ou=$annee,ou=diploma,o=Paris1,$LDAPbasedn))"); + //echo "(ou=*$annee,ou=$composante)"; + $sr = @ ldap_search($ds, $ldap_basedn, "(ou=*$annee)"); + + $info = ldap_get_entries($ds, $sr); + + for ($key = 0; $key < $info["count"]; $key ++) { + $nom_form[] = $info[$key]["sn"][0];//iconv("utf-8",api_get_setting('platform_charset'), $info[$key]["sn"][0]); + $prenom_form[] = $info[$key]["givenName"][0];//iconv("utf-8",api_get_setting('platform_charset'), $info[$key]["givenname"][0]); + $email_form[] = $info[$key]["mail"][0]; + // Get uid from dn + //$dn_array=ldap_explode_dn($info[$key]["dn"],1); + //$username_form[] = $dn_array[0]; // uid is first key + $username_form[] = $info[$key]['uid'][0]; + $outab[] = $info[$key]["eduPersonPrimaryAffiliation"][0]; // Ici "student" + //$val = ldap_get_values_len($ds, $entry, "userPassword"); + //$password_form[] = $val[0]; + $password_form[] = $info[$key]['userPassword'][0]; + } + ldap_unbind($ds); + + /*-----------------------------------------------*/ + + asort($nom_form); + reset($nom_form); + + $statut=5; + include ('ldap_form_add_users_group.php'); + } else { + echo '

'.get_lang('UnableToConnectTo').' '.$host.'

'; } + echo '

'; + echo ''.get_lang('BackToNewSearch').''; + echo '

'; + echo '
'; - ?> -
> - - -
- -
- - $user_id) { - if($page) + if(is_array($_POST['checkboxes']) && in_array($form_index,array_values($_POST['checkboxes']))) { - ?> - - - - - - | - - $limit) - { - ?> - - - - - -
- -
- - - - - - - - - - - $enreg) + } + if (!empty($_POST['id_session'])) + { + $num = 0; + $tbl_session_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); + $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); + foreach($UserList as $user_id) { - if($key == $limit) + $sql = 'INSERT INTO '.$tbl_session_user.' SET + id_user="'.intval($user_id).'", + id_session = "'.intval($id_session).'"'; + $res_user = api_sql_query($sql,__FILE__,__LINE__); + if($res_user != false) { - break; + $num++; } - $sql = 'SELECT COUNT(course_code) FROM '.$tbl_session_rel_course.' ' . - 'WHERE id_session='.intval($enreg['id']); - - $rs = api_sql_query($sql, __FILE__, __LINE__); - list($nb_courses) = Database::fetch_array($rs); - - ?> - - - - - - - - - - - -
 
cours - -
- -
- -
- - 0) { - ?> - - - - - - | - - $limit) + header('Location: resume_session.php?id_session='.Security::remove_XSS($_POST['id_session'])); + } + /* + else + { + Display :: display_header($tool_name); + if(count($userid_match_login)>0) { - ?> - - - - '; + foreach($userid_match_login as $user_id => $login) + { + $message .= '- '.$login.'
'; + } } else { - echo get_lang('Next'); + $message=get_lang('NoUserAdded'); } - ?> - -
- -
- - - - - -
'; + echo ''.get_lang('BackToNewSearch').''; + echo '

'; } Display::display_footer(); ?> \ No newline at end of file