Browse Source

Fixing export/import session list from CSV/XML see #4069

Julio Montoya 13 years ago
parent
commit
d813a5463f

+ 11 - 19
main/admin/add_users_to_session.php

@@ -5,7 +5,7 @@
 */
 
 // name of the language file that needs to be included
-$language_file=array('admin','registration');
+$language_file = array('admin','registration');
 
 // resetting the course id
 $cidReset = true;
@@ -59,8 +59,7 @@ if (!api_is_platform_admin()) {
 }
 
 //checking for extra field with filter on
-require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php';
-require_once api_get_path(LIBRARY_PATH).'sessionmanager.lib.php';
+
 $extra_field_list= UserManager::get_extra_fields();
 $new_field_list = array();
 if (is_array($extra_field_list)) {
@@ -218,24 +217,19 @@ $users=$sessions=array();
 $noPHP_SELF=true;
 
 if($_POST['form_sent']) {
-	$form_sent=$_POST['form_sent'];
-	$firstLetterUser=$_POST['firstLetterUser'];
-	$firstLetterSession=$_POST['firstLetterSession'];
-	$UserList=$_POST['sessionUsersList'];
-	$ClassList=$_POST['sessionClassesList'];
-	if(!is_array($UserList)) {
+	$form_sent             = $_POST['form_sent'];
+	$firstLetterUser       = $_POST['firstLetterUser'];
+	$firstLetterSession    = $_POST['firstLetterSession'];
+	$UserList              = $_POST['sessionUsersList'];
+	$ClassList             = $_POST['sessionClassesList'];
+    
+	if (!is_array($UserList)) {
 		$UserList=array();
 	}
 
 	if ($form_sent == 1) {
-		//added a parameter to send emails when registering a user
+		//added a parameter to send emails when registering a user		
 		SessionManager::suscribe_users_to_session($id_session, $UserList, null, true);
-
-		//adding the session to the access_url_rel_session table
-
-		//if(empty($_GET['add']))
-			//header('Location: '.Security::remove_XSS($_GET['page']).'?id_session='.$id_session);
-		//else
 		header('Location: resume_session.php?id_session='.$id_session);
 		exit;
 	}
@@ -247,9 +241,7 @@ Display::display_header($tool_name);
 
 
 $nosessionUsersList = $sessionUsersList = array();
-/*$sql = 'SELECT COUNT(1) FROM '.$tbl_user;
-$rs = Database::query($sql);
-$count_courses = Database::result($rs, 0, 0);*/
+
 $ajax_search = $add_type == 'unique' ? true : false;
 global $_configuration;
 

+ 1 - 1
main/admin/course_add.php

@@ -153,7 +153,7 @@ if ($form->validate()) {
     $exemplary_content  = empty($course['exemplary_content']) ? false : true;
     $disk_quota         = $course['disk_quota'];    
     
-    $course_info = CourseManager::create_course($title, '', $exemplary_content,
+    $course_info = CourseManager::create_course($title, '', '', $exemplary_content,
                                                 $tutor_name, $category_code, $course_language, api_get_user_id(), 
                                                 $department_name, $department_url, $disk_quota, $course['subscribe'], $course['unsubscribe'], $course['visibility'], $course_teachers);
     header('Location: course_list.php');

+ 1 - 1
main/admin/course_import.php

@@ -120,7 +120,7 @@ function save_data($courses) {
             $uidCreator = 1;
         }
         
-        $course_info = CourseManager::create_course($course['Title'], $course['Code'], false, 
+        $course_info = CourseManager::create_course($course['Title'], $course['Code'], '', false, 
                                                     $titular, $course['CourseCategory'],  $course_language, $uidCreator);
         if (!empty($course_info)) {
             $msg .= '<a href="'.api_get_path(WEB_COURSE_PATH).$course_info['directory'].'/">'.$course_info['title'].'</a> '.get_lang('Created').'<br />';

+ 4 - 1
main/admin/resume_session.php

@@ -15,7 +15,9 @@ require_once '../inc/global.inc.php';
 $this_section=SECTION_PLATFORM_ADMIN;
 
 api_protect_admin_script(true);
+
 $tool_name = get_lang('SessionOverview');
+
 $interbreadcrumb[]=array('url' => 'index.php','name' => get_lang('PlatformAdmin'));
 $interbreadcrumb[]=array('url' => 'session_list.php','name' => get_lang('SessionList'));
 
@@ -48,7 +50,8 @@ if(!api_is_platform_admin() && $session['session_admin_id']!=$_user['user_id'])
 $sql = 'SELECT name FROM  '.$tbl_session_category.' WHERE id = "'.intval($session['session_category_id']).'"';
 $rs = Database::query($sql);
 $session_category = '';
-if(Database::num_rows($rs)>0) {
+
+if (Database::num_rows($rs)>0) {
 	$rows_session_category = Database::store_result($rs);
 	$rows_session_category = $rows_session_category[0];
 	$session_category = $rows_session_category['name'];

+ 18 - 34
main/admin/session_export.php

@@ -30,25 +30,26 @@ $tbl_session_course_user 	= Database::get_main_table(TABLE_MAIN_SESSION_COURSE_U
 
 
 $archivePath = api_get_path(SYS_ARCHIVE_PATH);
-$archiveURL = api_get_path(WEB_CODE_PATH).'course_info/download.php?archive=';
+$archiveURL  = api_get_path(WEB_CODE_PATH).'course_info/download.php?archive=';
+
+$tool_name   = get_lang('ExportSessionListXMLCSV');
+
+global $_configuration;
 
-$tool_name = get_lang('ExportSessionListXMLCSV');
 
 $interbreadcrumb[] = array('url' => 'index.php',"name" => get_lang('PlatformAdmin'));
 
 set_time_limit(0);
 
-if ($_POST['formSent'] )
-{
+if ($_POST['formSent']) {
 	$formSent = $_POST['formSent'];
 	$file_type = ($_POST['file_type'] == 'csv')?'csv':'xml';
 	$session_id = $_POST['session_id'];
-	if (empty($session_id))
-	{
+	if (empty($session_id)) {
 		$sql = "SELECT id,name,id_coach,username,date_start,date_end,visibility,session_category_id FROM $tbl_session INNER JOIN $tbl_user
 					ON $tbl_user.user_id = $tbl_session.id_coach ORDER BY id";
 
-		global $_configuration;
+		
 		if ($_configuration['multiple_access_urls']) {
 			$tbl_session_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
 			$access_url_id = api_get_current_access_url_id();
@@ -248,13 +249,9 @@ if ($_POST['formSent'] )
 // display the header
 Display::display_header($tool_name);
 
-// display the tool title
-// api_display_tool_title($tool_name);
-
-
 //select of sessions
 $sql = "SELECT id, name FROM $tbl_session ORDER BY name";
-global $_configuration;
+
 if ($_configuration['multiple_access_urls']) {
 	$tbl_session_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
 	$access_url_id = api_get_current_access_url_id();
@@ -270,25 +267,17 @@ if ($_configuration['multiple_access_urls']) {
 $result=Database::query($sql);
 
 $Sessions=Database::store_result($result);
-?>
 
-<?php
-if(!empty($errorMsg))
-{
+echo '<div class="actions">';
+echo '<a href="../admin/index.php">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('PlatformAdmin'),'','32').'</a>';
+echo '</div>';
+
+if(!empty($errorMsg)) {
 	Display::display_normal_message($errorMsg, false); //main API
 }
 ?>
-
 <form method="post" action="<?php echo api_get_self(); ?>" style="margin:0px;">
 <input type="hidden" name="formSent" value="1">
-<?php
-echo '<div class="actions">';
-echo '<a href="../admin/index.php">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('PlatformAdmin'),'','32').'</a>';
-echo '</div>';
-//echo '<div class=row><div class="form_header">';
-//echo $tool_name;
-//echo '</div></div>';
-?>
 <table border="0" cellpadding="5" cellspacing="0">
 <tr>
   <td nowrap="nowrap" valign="top"><?php echo get_lang('OutputFileType'); ?> :</td>
@@ -303,15 +292,12 @@ echo '</div>';
 	<option value=""><?php echo get_lang('AllSessions') ?></option>
 
 <?php
-foreach($Sessions as $enreg)
-{
+foreach($Sessions as $enreg) {
 ?>
-
-	<option value="<?php echo $enreg['id']; ?>" <?php if($session_id == $enreg['id']) echo 'selected="selected"'; ?>><?php echo $enreg['name']; ?></option>
-
+    <option value="<?php echo $enreg['id']; ?>" <?php if($session_id == $enreg['id']) echo 'selected="selected"'; ?>>
+        <?php echo $enreg['name']; ?></option>
 <?php
 }
-
 unset($Courses);
 ?>
 
@@ -325,12 +311,10 @@ unset($Courses);
 </tr>
 </table>
 </form>
-
 <?php
 /*
 ==============================================================================
 		FOOTER
 ==============================================================================
 */
-Display::display_footer();
-?>
+Display::display_footer();

+ 49 - 95
main/admin/session_import.php

@@ -14,10 +14,8 @@ $this_section = SECTION_PLATFORM_ADMIN;
 api_protect_admin_script(true);
 
 require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php';
-require api_get_path(CONFIGURATION_PATH).'add_course.conf.php';
-require_once api_get_path(LIBRARY_PATH).'add_course.lib.inc.php';
 require_once api_get_path(LIBRARY_PATH).'mail.lib.inc.php';
-
+require_once api_get_path(LIBRARY_PATH).'urlmanager.lib.php';
 
 $form_sent = 0;
 $error_message = ''; // Avoid conflict with the global variable $error_msg (array type) in add_course.conf.php.
@@ -41,6 +39,8 @@ $purification_option_for_usernames = false;
 
 $inserted_in_course = array();
 
+global $_configuration;                            
+
 if ($_POST['formSent']) {
     if (isset($_FILES['import_file']['tmp_name'])) {
         $form_sent = $_POST['formSent'];
@@ -110,8 +110,7 @@ if ($_POST['formSent']) {
                             // When it is applicable, adding the access_url rel user relationship too.
                             Database::query($sql);
                             $return = Database::insert_id();
-                            global $_configuration;
-                            require_once api_get_path(LIBRARY_PATH).'urlmanager.lib.php';
+                            
                             if ($_configuration['multiple_access_urls']) {
                                 if (api_get_current_access_url_id() != -1) {
                                     UrlManager::add_user_to_url($return, api_get_current_access_url_id());
@@ -161,79 +160,28 @@ if ($_POST['formSent']) {
                 }
 
                 // Creating  courses from <Sessions> <Courses> base node.
+                /*
                 if (count($root->Courses->Course) > 0) {
                     foreach ($root->Courses->Course as $courseNode) {
-                        $course_code = trim(api_utf8_decode($courseNode->CourseCode));
-                        $title = trim(api_utf8_decode($courseNode->CourseTitle));
-                        $description = trim(api_utf8_decode($courseNode->CourseDescription));
-                        $language = api_get_valid_language(api_utf8_decode($courseNode->CourseLanguage));
-                        $username = trim(api_utf8_decode($courseNode->CourseTeacher));
+                        $course_code    = trim(api_utf8_decode($courseNode->CourseCode));
+                        $title          = trim(api_utf8_decode($courseNode->CourseTitle));
+                        $description    = trim(api_utf8_decode($courseNode->CourseDescription));
+                        $language       = api_get_valid_language(api_utf8_decode($courseNode->CourseLanguage));
+                        $username       = trim(api_utf8_decode($courseNode->CourseTeacher));
 
                         // Looking up for the teacher.
                         $sql = "SELECT user_id, lastname, firstname FROM $tbl_user WHERE username='$username'";
                         $rs = Database::query($sql);
                         list($user_id, $lastname, $firstname) = Database::fetch_array($rs);
-                        global $_configuration;
-                        $keys = define_course_keys($course_code, '', $_configuration['db_prefix']);
-
-                        if (sizeof($keys)) {
-                            $current_course_code = $keys['visual_code'];
-                            $current_course_id = $keys['currentCourseId'];
-                            if (empty($current_course_code)) {
-                                $current_course_code = $current_course_id;
-                            }
-                            $current_course_db_name = $keys['currentCourseDbName'];
-                            $current_course_repository = $keys['currentCourseRepository'];
-
-                            // Course creation.
-                            if ($current_course_id == api_strtoupper($course_code)) {
-                                if (empty ($title)) {
-                                    $title = $keys['currentCourseCode'];
-                                }
-
-                                prepare_course_repository($current_course_repository, $current_course_id);
-                                update_Db_course($current_course_db_name);
-                                $pictures_array = fill_course_repository($current_course_repository);
-
-                                //fill_Db_course($current_course_db_name, $current_course_repository, 'english', $pictures_array);
-                                //register_course($current_course_id, $current_course_code, $current_course_repository, $current_course_db_name, "$lastname $firstname", $course['unit_code'], addslashes($course['FR']['title']), $language, $user_id);
-                                fill_Db_course($current_course_db_name, $current_course_repository, $language, $pictures_array);
-                                register_course($current_course_id, $current_course_code, $current_course_repository, $current_course_db_name, api_get_person_name($firstname, $lastname, null, null, $language), null, addslashes($title), $language, $user_id);
-
-                                $sql = "INSERT INTO ".$tbl_course." SET
-                                        code = '".$current_course_id."',
-                                        db_name = '".$current_course_db_name."',
-                                        directory = '".$current_course_repository."',
-                                        course_language = '".$language."',
-                                        title = '".$title."',
-                                        description = '".lang2db($description)."',
-                                        category_code = '',
-                                        visibility = '".$defaultVisibilityForANewCourse."',
-                                        show_score = '',
-                                        disk_quota = NULL,
-                                        creation_date = now(),
-                                        expiration_date = NULL,
-                                        last_edit = now(),
-                                        last_visit = NULL,
-                                        tutor_name = '".api_get_person_name($firstname, $lastname, null, null, $language)."',
-                                        visual_code = '".$current_course_code."'";
-
-                                Database::query($sql);
-
-                                $sql = "INSERT INTO ".$tbl_course_user." SET
-                                        course_code = '".$current_course_id."',
-                                        user_id = '".$user_id."',
-                                        status = '1',
-                                        role = '".lang2db('Professor')."',
-                                        tutor_id='1',
-                                        sort='". ($sort + 1)."',
-                                        user_course_cat='0'";
-
-                                Database::query($sql);
-                            }
+                        
+                        if (empty($title)) {
+                            $title = $course_code;
                         }
+                        
+                        $course_info = CourseManager::create_course($title, $course_code, lang2db($description), false, 
+                                                                    api_get_person_name($firstname, $lastname, null, null, $language), '', $language, $user_id);
                     }
-                }
+                }*/
 
                 // Creating sessions from <Sessions> base node.
                 if (count($root->Session) > 0) {
@@ -554,11 +502,11 @@ if ($_POST['formSent']) {
                     $user_counter = 0;
                     $course_counter = 0;
 
-                    $session_name = $enreg['SessionName'];
-                    $date_start = $enreg['DateStart'];
-                    $date_end = $enreg['DateEnd'];
-                    $visibility = $enreg['Visibility'];
-                    $session_category_id = $enreg['SessionCategory'];
+                    $session_name           = $enreg['SessionName'];
+                    $date_start             = $enreg['DateStart'];
+                    $date_end               = $enreg['DateEnd'];
+                    $visibility             = $enreg['Visibility'];
+                    $session_category_id    = $enreg['SessionCategory'];
 
                     // Searching a coach.
                     if (!empty($enreg['Coach'])) {
@@ -684,33 +632,38 @@ if ($_POST['formSent']) {
                                     id_session='$session_id'";
                             $rs_course = Database::query($sql_course);
                             $course_counter++;
-
+                            
                             $course_split = array();
-                            $tok = strtok($course, '[]');
-                            while ($tok !== false) {
-                                $course_split[] = $tok;
-                                $tok = strtok('[]');
+                            $pattern = "/\[(.*?)\]/";
+                            preg_match_all($pattern, $course, $matches);
+                            if (isset($matches[1])) {
+                                $course_coaches = $matches[1][0]; 
+                                $course_users   = $matches[1][1];
                             }
-
-                            $course_coaches = explode(',', $course_split[1]);
-                            $course_users = explode(',', $course_split[2]);
-
-                            // Adding coaches to session course user.
-                            foreach ($course_coaches as $course_coach) {
-                                $coach_id = UserManager::get_user_id_from_username($course_coach);
-                                if ($coach_id !== false) {
-                                    $sql = "INSERT IGNORE INTO $tbl_session_course_user SET
-                                            id_user='$coach_id',
-                                            course_code='$course_code',
-                                            id_session = '$session_id',
-                                            status = 2 ";
-                                    $rs_coachs = Database::query($sql);
-                                } else {
-                                    $error_message .= get_lang('UserDoesNotExist').' : '.$user.'<br />';
+                            
+                            $course_users   = explode(',', $course_users);
+                            $course_coaches = explode(',', $course_coaches);
+                            var_dump($course_coaches, $course_users);
+                            
+                            // Adding coaches to session course user
+                            if (!empty($course_coaches)) {
+                                foreach ($course_coaches as $course_coach) {
+                                    $coach_id = UserManager::get_user_id_from_username($course_coach);
+                                    if ($coach_id !== false) {
+                                        $sql = "INSERT IGNORE INTO $tbl_session_course_user SET
+                                                id_user='$coach_id',
+                                                course_code='$course_code',
+                                                id_session = '$session_id',
+                                                status = 2 ";
+                                        $rs_coachs = Database::query($sql);
+                                    } else {
+                                        $error_message .= get_lang('UserDoesNotExist').' : '.$user.'<br />';
+                                    }
                                 }
                             }
 
                             $users_in_course_counter = 0;
+                            
                             // Adding the relationship "Session - Course - User".
                             foreach ($course_users as $user) {
                                 $user_id = UserManager::get_user_id_from_username($user);
@@ -795,6 +748,7 @@ if ($_POST['formSent']) {
                 }
             }
         }
+
         if (!empty($error_message)) {
             $error_message = get_lang('ButProblemsOccured').' :<br />'.$error_message;
         }

+ 2 - 1
main/create_course/add_course.php

@@ -231,7 +231,8 @@ if ($form->validate()) {
 
     if ($course_code_ok) {
         if (!$course_validation_feature) {
-            $course_info = CourseManager::create_course($title, $wanted_code, $exemplary_content, $tutor_name, $category_code, $course_language);
+            $course_info = CourseManager::create_course($title, $wanted_code, '', $exemplary_content, 
+                                                        $tutor_name, $category_code, $course_language);
             if (!empty($course_info)) {
                 
                 $directory  = $course_info['directory'];          

+ 57 - 53
main/inc/lib/course.lib.php

@@ -115,6 +115,62 @@ $coursesRepositories = $_configuration['root_sys'];
  *	@package chamilo.library
  */
 class CourseManager {
+    
+    /**
+     * Creates a course
+     * @param   string  course title
+     * @param   bool    add example content or not
+     * @param   mixed   false if the course was not created, array with the course info
+     */
+    function create_course($title, $wanted_code = '', $description = '', $fill_with_exemplary_content = false, 
+                           $tutor_name = '', $category_code = '', $course_language = '', $user_id = '', 
+                           $department_name = '', $department_url = '', $disk_quota = '', 
+                           $subscribe = '', $unsubscribe = '', $visibility = '', $expiration_date = '', $teacher_list = array()
+                           ) {        
+        global $_configuration;
+                
+        if (empty($title)) {
+            return false;
+        }        
+        
+        if (empty($wanted_code)) {
+            $wanted_code = $title;    
+            // Check whether the requested course code has already been occupied.       
+            $dbnamelength = strlen($_configuration['db_prefix']);
+            // Ensure the database prefix + database name do not get over 40 characters.
+            $maxlength = 40 - $dbnamelength;
+            $wanted_code = generate_course_code(api_substr($title, 0, $maxlength));            
+        }
+
+        // Create the course immediately
+        $keys = define_course_keys($wanted_code);
+        
+        if (count($keys)) {
+            $current_course_code        = $keys['currentCourseCode'];
+            $current_course_id          = $keys['currentCourseId'];                
+            $current_course_repository  = $keys['currentCourseRepository'];
+                            
+            $course_info   = api_get_course_info($current_course_code);
+            
+            if (empty($course_info)) {
+                $course_id = register_course($title, $current_course_id, $current_course_code, $current_course_repository, 
+                                             $tutor_name, $category_code, $course_language, $user_id, $department_name, $department_url, $disk_quota, 
+                                             $subscribe, $unsubscribe, $visibility, $expiration_date, $teacher_list);
+                if (!empty($course_id)) {
+                    prepare_course_repository($current_course_repository, $current_course_id);
+                    $pictures_array = fill_course_repository($current_course_repository, $fill_with_exemplary_content);     
+                    fill_Db_course($course_id, $current_course_repository, $course_language, $pictures_array, $fill_with_exemplary_content);  
+                    $course_info = api_get_course_info_by_id($course_id);
+                
+                    if (!empty($course_info)) {
+                        return $course_info;
+                    }
+                }
+            }
+        }
+        return false;            
+    }
+    
 
     /**
      * Returns all the information of a given coursecode
@@ -3332,59 +3388,7 @@ class CourseManager {
         return $wanted_code;
     }
         
-    /**
-     * Creates a course
-     * @param	string	course title
-     * @param	bool	add example content or not
-     * @param	mixed	false if the course was not created, array with the course info
-     */
-    function create_course($title, $wanted_code = '', $fill_with_exemplary_content = false, 
-                           $tutor_name = '', $category_code = '', $course_language = '', $user_id = '', 
-                           $department_name = '', $department_url = '', $disk_quota = '', 
-                           $subscribe = '', $unsubscribe = '', $visibility = '', $expiration_date = '', $teacher_list = array()
-                           ) {        
-        global $_configuration;
-                
-        if (empty($title)) {
-            return false;
-        }        
-        
-        if (empty($wanted_code)) {
-            $wanted_code = $title;    
-            // Check whether the requested course code has already been occupied.       
-            $dbnamelength = strlen($_configuration['db_prefix']);
-            // Ensure the database prefix + database name do not get over 40 characters.
-            $maxlength = 40 - $dbnamelength;
-            $wanted_code = generate_course_code(api_substr($title, 0, $maxlength));            
-        }
-
-        // Create the course immediately
-        $keys = define_course_keys($wanted_code);
-        
-        if (count($keys)) {
-            $current_course_code        = $keys['currentCourseCode'];
-            $current_course_id          = $keys['currentCourseId'];                
-            $current_course_repository  = $keys['currentCourseRepository'];
-                            
-            $course_info   = api_get_course_info($current_course_code);
-            
-            if (empty($course_info)) {
-                $course_id = register_course($title, $current_course_id, $current_course_code, $current_course_repository, 
-                                             $tutor_name, $category_code, $course_language, $user_id, $department_name, $department_url, $disk_quota, $subscribe, $unsubscribe, $visibility, $expiration_date, $teacher_list);
-                if (!empty($course_id)) {
-                    prepare_course_repository($current_course_repository, $current_course_id);
-                    $pictures_array = fill_course_repository($current_course_repository, $fill_with_exemplary_content);     
-                    fill_Db_course($course_id, $current_course_repository, $course_language, $pictures_array, $fill_with_exemplary_content);  
-                    $course_info = api_get_course_info_by_id($course_id);
-                
-                    if (!empty($course_info)) {
-                        return $course_info;
-                    }
-                }
-            }
-        }
-        return false;            
-    } 
+    
 
     function is_user_accepted_legal($user_id, $course_code, $session_id = null) {
         $user_id    = intval($user_id); 

+ 10 - 17
main/inc/lib/sessionmanager.lib.php

@@ -446,7 +446,7 @@ class SessionManager {
 		if ($send_email) {
 		    //global $_configuration;
 			//sending emails only
-			if(is_array($user_list) && count($user_list)>0) {
+			if (is_array($user_list) && count($user_list)>0) {
 				foreach($user_list as $enreg_user) {
 				    if (!in_array($enreg_user,$existingUsers )) {
 					    //send email
@@ -462,17 +462,9 @@ class SessionManager {
 					    $emailsubject = '['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName');
 					    $emailheaders = 'From: '.get_setting('administratorName').' '.get_setting('administratorSurname').' <'.get_setting('emailAdministrator').">\n";
 					    $emailheaders .= 'Reply-To: '.get_setting('emailAdministrator');
-
-					    /*if (api_get_multiple_access_url()) {
-				            $access_url_id = api_get_current_access_url_id();
-				            if ($access_url_id){
-				            	$url 		= api_get_access_url($access_url_id);
-				            	$emailbody	= get_lang('Dear')." ".stripslashes(api_get_person_name($firstname, $lastname)).",\n\n".sprintf(get_lang('YouAreRegisterToSessionX'),$session_name)  ." \n\n" .get_lang('Address') ." ". get_setting('siteName') ." ". get_lang('Is') ." : ". $url['url'] ."\n\n". get_lang('Problem'). "\n\n". get_lang('Formula').",\n\n".get_setting('administratorName')." ".get_setting('administratorSurname')."\n". get_lang('Manager'). " ".get_setting('siteName')."\nT. ".get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".get_setting('emailAdministrator');
-				            }
-					    } else {*/
+		
 					    $emailbody	= get_lang('Dear')." ".stripslashes(api_get_person_name($firstname, $lastname)).",\n\n".sprintf(get_lang('YouAreRegisterToSessionX'), $session_name) ." \n\n" .get_lang('Address') ." ". get_setting('siteName') ." ". get_lang('Is') ." : ". api_get_path(WEB_PATH) ."\n\n". get_lang('Problem'). "\n\n". get_lang('Formula').",\n\n".get_setting('administratorName')." ".get_setting('administratorSurname')."\n". get_lang('Manager'). " ".get_setting('siteName')."\nT. ".get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".get_setting('emailAdministrator');
-					    //}
-
+			
 					    @api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders);
 
 					}
@@ -516,16 +508,18 @@ class SessionManager {
 			$update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'";
 			Database::query($update_sql);
 		}
-		// delete users from the session
-		if ($empty_users===true){
+
+		// Delete users from the session
+		if ($empty_users===true) {
 			Database::query("DELETE FROM $tbl_session_rel_user WHERE id_session = $id_session AND relation_type<>".SESSION_RELATION_TYPE_RRHH."");
 		}
-			// insert missing users into session
-		$nbr_users = 0;
+		
+		// Insert missing users into session
+		$nbr_users = 0;		
 		foreach ($user_list as $enreg_user) {
 	        $enreg_user = Database::escape_string($enreg_user);
 			$nbr_users++;
-			$insert_sql = "INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$enreg_user')";
+			$insert_sql = "INSERT IGNORE INTO $tbl_session_rel_user (id_session, id_user) VALUES ('$id_session','$enreg_user')";
 			Database::query($insert_sql);
 		}
 
@@ -539,7 +533,6 @@ class SessionManager {
             echo $update_sql = "UPDATE $tbl_session SET nbr_users= nbr_users + $nbr_users WHERE id='$id_session' ";
             Database::query($update_sql);           
         }
-        
 	}
 
 	/**

+ 3 - 0
main/inc/lib/usermanager.lib.php

@@ -2067,6 +2067,9 @@ class UserManager {
 	 * @return	int		User ID (or false if not found)
 	 */
 	public static function get_user_id_from_username($username) {
+	    if (empty($username)) {
+	        return false;
+	    }
 		$username = Database::escape_string($username);
 		$t_user = Database::get_main_table(TABLE_MAIN_USER);
 		$sql = "SELECT user_id FROM $t_user WHERE username = '$username'";