diff --git a/main/admin/session_import.php b/main/admin/session_import.php
index 2b255233df..2ee1488dc2 100644
--- a/main/admin/session_import.php
+++ b/main/admin/session_import.php
@@ -1,4 +1,4 @@
-Users->User) > 0) {
- foreach($racine->Users->User as $userNode)
- {
+ if (count($racine->Users->User) > 0) {
+ //creating/updating users
+ foreach($racine->Users->User as $userNode) {
$username = mb_convert_encoding($userNode->Username,$charset,'utf-8');
$isCut = 0; // if the username given is too long
- if(strlen($username)>20)
- {
+ if(strlen($username)>20) {
$user_name_dist = $username;
$username = substr($username,0,20);
$isCut = 1;
- }
-
- $sql = "SELECT 1 FROM $tbl_user WHERE username='".addslashes($username)."'";
- $rs = api_sql_query($sql, __FILE__, __LINE__);
-
- if (Database::affected_rows()==0) {
+ }
+ $user_exist = UserManager::is_username_available($username);
+
+ if ($user_exist == true) {
if ($isCut) {
$errorMsg .= get_lang('UsernameTooLongWasCut').' '.get_lang('From').' '.$user_name_dist.' '.get_lang('To').' '.$username.'
';
}
@@ -90,9 +84,11 @@ if ($_POST['formSent']) {
switch ($status) {
case 'student' : $status = 5; break;
case 'teacher' : $status = 1; break;
- default : $status = 5; $errorMsg = get_lang('StudentStatusWasGivenTo').' : '.$username.'
';
+ default : $status = 5;
+ $errorMsg = get_lang('StudentStatusWasGivenTo').' : '.$username.'
';
}
-
+
+ //adding user to the platform
$sql = "INSERT INTO $tbl_user SET
username = '".Database::escape_string($username)."',
lastname = '".Database::escape_string($lastname)."',
@@ -116,9 +112,9 @@ if ($_POST['formSent']) {
} else {
//we are adding by default the access_url_user table with access_url_id = 1
UrlManager::add_user_to_url($return, 1);
- }
+ }
- if(Database::affected_rows()>0 && $sendMail) {
+ if($sendMail) {
$recipient_name = $firstname.' '.$lastname;
$emailsubject = '['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName');
$emailbody="[NOTE:] ".get_lang('ThisIsAutomaticEmailNoReply').".\n\n".get_lang('langDear')." $firstname $lastname,\n\n".get_lang('langYouAreReg')." ". get_setting('siteName') ." ".get_lang('langSettings')." $username\n". get_lang('langPass')." : $password\n\n".get_lang('langAddress') ." ". get_lang('langIs') ." ". $serverAddress ."\n\n".get_lang('YouWillSoonReceiveMailFromCoach')."\n\n". get_lang('langProblem'). "\n\n". get_lang('langFormula');
@@ -153,7 +149,9 @@ if ($_POST['formSent']) {
api_sql_query($sql, __FILE__, __LINE__);
}
}
- }
+ }
+
+ //Creating/editing courses
if (count($racine->Courses->Course) > 0) {
foreach($racine->Courses->Course as $courseNode) {
$course_code = mb_convert_encoding($courseNode->CourseCode,$charset,'utf-8');
@@ -161,7 +159,8 @@ if ($_POST['formSent']) {
$description = mb_convert_encoding($courseNode->CourseDescription,$charset,'utf-8');
$language = mb_convert_encoding($courseNode->CourseLanguage,$charset,'utf-8');
$username = mb_convert_encoding($courseNode->CourseTeacher,$charset,'utf-8');
-
+
+ //looking for the teacher
$sql = "SELECT user_id, lastname, firstname FROM $tbl_user WHERE username='$username'";
$rs = api_sql_query($sql, __FILE__, __LINE__);
@@ -176,15 +175,17 @@ if ($_POST['formSent']) {
$currentCourseCode = $currentCourseId;
$currentCourseDbName = $keys['currentCourseDbName'];
$currentCourseRepository = $keys['currentCourseRepository'];
-
+ //creating a course
+
if($currentCourseId == strtoupper($course_code)) {
if (empty ($title)) {
$title = $keys['currentCourseCode'];
- }
+ }
+
prepare_course_repository($currentCourseRepository, $currentCourseId);
- update_Db_course($currentCourseDbName);
- fill_course_repository($currentCourseRepository);
- fill_Db_course($currentCourseDbName, $currentCourseRepository, 'french');
+ update_Db_course($currentCourseDbName);
+ $pictures_array=fill_course_repository($currentCourseRepository);
+ fill_Db_course($currentCourseDbName, $currentCourseRepository, 'english',$pictures_array);
//register_course($currentCourseId, $currentCourseCode, $currentCourseRepository, $currentCourseDbName, "$lastname $firstname", $course['unit_code'], addslashes($course['FR']['title']), $language, $user_id);
$sql = "INSERT INTO ".$tbl_course." SET
code = '".$currentCourseId."',
@@ -221,6 +222,7 @@ if ($_POST['formSent']) {
}
}
}
+
if (count($racine->Session) > 0) {
foreach ($racine->Session as $sessionNode) { // foreach session
@@ -230,16 +232,14 @@ if ($_POST['formSent']) {
$SessionName = mb_convert_encoding($sessionNode->SessionName,$charset,'utf-8');
$Coach = mb_convert_encoding($sessionNode->Coach,$charset,'utf-8');
- if (!empty($Coach)) {
- $sqlCoach = "SELECT user_id FROM $tbl_user WHERE username='$Coach'";
- $rsCoach = api_sql_query($sqlCoach);
- list($CoachId) = (Database::fetch_array($rsCoach));
- if(empty($CoachId))
- {
+ if (!empty($Coach)) {
+ $CoachId = UserManager::get_user_id_from_username($Coach);
+ if($CoachId === false) {
$errorMsg .= get_lang('UserDoesNotExist').' : '.$Coach.'
';
+ $CoachId = api_get_user_id();
}
}
-
+
$DateStart = $sessionNode->DateStart;
if(!empty($DateStart)) {
list($YearStart,$MonthStart, $DayStart) = explode('-',$DateStart);
@@ -267,24 +267,20 @@ if ($_POST['formSent']) {
}
// verify that session doesn't exist
- while(!$uniqueName)
- {
+ while(!$uniqueName) {
if($i>1)
$suffix = ' - '.$i;
$sql = 'SELECT 1 FROM '.$tbl_session.' WHERE name="'.Database::escape_string($SessionName.$suffix).'"';
$rs = api_sql_query($sql, __FILE__, __LINE__);
- if(Database::result($rs,0,0))
- {
+ if(Database::result($rs,0,0)) {
$i++;
- }
- else
- {
+ } else {
$uniqueName = true;
$SessionName .= $suffix;
}
}
-
+ // Creating the session
$sqlSession = "INSERT IGNORE INTO $tbl_session SET
name = '".Database::escape_string($SessionName)."',
id_coach = '$CoachId',
@@ -306,22 +302,19 @@ if ($_POST['formSent']) {
// we are filling by default the access_url_rel_session table
UrlManager::add_session_to_url($session_id,1);
}
-
- foreach ($sessionNode->User as $userNode){
- $username = mb_convert_encoding(substr($userNode->nodeValue,0,20),$charset,'utf-8');
- $sqlUser = "SELECT user_id FROM $tbl_user WHERE username='".Database::escape_string($username)."'";
- $rsUser = api_sql_query($sqlUser);
- list($user_id) = (Database::fetch_array($rsUser));
- if(!empty($user_id)){
- $sql = "INSERT INTO $tbl_session_user SET
+
+ foreach ($sessionNode->User as $userNode){
+ $username = mb_convert_encoding(substr($userNode,0,20),$charset,'utf-8');
+ $user_id = UserManager::get_user_id_from_username($username);
+ if($user_id!==false){
+ $sql = "INSERT IGNORE INTO $tbl_session_user SET
id_user='$user_id',
id_session = '$session_id'";
- $rsUser = api_sql_query($sql,__FILE__,__LINE__);
- if(Database::affected_rows()){
- $countUsers++;
- }
+ $rsUser = api_sql_query($sql,__FILE__,__LINE__);
+ $countUsers++;
}
}
+
foreach ($sessionNode->Course as $courseNode){
$CourseCode = Database::escape_string($courseNode->CourseCode);
@@ -332,11 +325,11 @@ if ($_POST['formSent']) {
$c_info = CourseManager::get_course_information($CourseCode);
$Coach = substr($courseNode->Coach,0,20);
if(!empty($Coach)){
- $sqlCoach = "SELECT user_id FROM $tbl_user WHERE username='$Coach'";
- $rsCoach = api_sql_query($sqlCoach,__FILE__,__LINE__);
- list($CoachId) = (Database::fetch_array($rsCoach));
- if(empty($CoachId)) {
+ $CoachId = UserManager::get_user_id_from_username($Coach);
+ if($CoachId===false) {
$errorMsg .= get_lang('UserDoesNotExist').' : '.$Coach.'
';
+ //$CoachId = api_get_user_id();
+ $CoachId = '';
}
} else {
$Coach = '';
@@ -350,39 +343,34 @@ if ($_POST['formSent']) {
if (Database::affected_rows()) {
$countCourses++;
-
- $countUsersCourses = 0;
+ $countUsersCourses = 0;
foreach ($courseNode->User as $userNode) {
$username = substr($userNode,0,20);
- $sqlUser = "SELECT user_id FROM $tbl_user WHERE username='".$username."'";
- $rsUser = api_sql_query($sqlUser);
- list($user_id) = (Database::fetch_array($rsUser));
- if (!empty($user_id)) {
+ $user_id = UserManager::get_user_id_from_username($username);
+ if ($user_id!==false) {
+ // adding to session_rel_user table
$sql = "INSERT IGNORE INTO $tbl_session_user SET
id_user='$user_id',
- id_session = '$session_id'";
-
- if (Database::affected_rows()) {
- $countUsers++;
- }
+ id_session = '$session_id'";
$rsUser = api_sql_query($sql,__FILE__,__LINE__);
-
+ $countUsers++;
+ // adding to session_rel_user_rel_course table
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$user_id',
course_code='$CourseCode',
id_session = '$session_id'";
- $rsUsers = api_sql_query($sql,__FILE__,__LINE__);
- if (Database::affected_rows()) {
- $countUsersCourses++;
- }
+ $rsUsers = api_sql_query($sql,__FILE__,__LINE__);
+ $countUsersCourses++;
} else {
$errorMsg .= get_lang('UserDoesNotExist').' : '.$username.'
';
}
}
- api_sql_query("UPDATE $tbl_session_course SET nbr_users='$countUsersCourses' WHERE course_code='$CourseCode'",__FILE__,__LINE__);
+ $update_session_course = "UPDATE $tbl_session_course SET nbr_users='$countUsersCourses' WHERE course_code='$CourseCode'";
+ api_sql_query($update_session_course,__FILE__,__LINE__);
$inserted_in_course[$CourseCode] = $c_info['title'];
}
}
+
if (CourseManager::course_exists($CourseCode,true)) {
// if the course exists we continue
// also subscribe to virtual courses through check on visual code
@@ -433,19 +421,15 @@ if ($_POST['formSent']) {
$rsUsers = api_sql_query($sql,__FILE__,__LINE__);
if(Database::affected_rows())
$countUsersCourses++;
- }
- else
- {
+ } else {
$errorMsg .= get_lang('UserDoesNotExist').' : '.$username.'
';
}
}
api_sql_query("UPDATE $tbl_session_course SET nbr_users='$countUsersCourses' WHERE course_code='$CourseCode'",__FILE__,__LINE__);
- }
-
+ }
}
$inserted_in_course[$vcourse['code']] = $vcourse['title'];
- }
-
+ }
} else { // if the course does not exists
$errorMsg .= get_lang('CourseDoesNotExist').' : '.$CourseCode.'
';
}
@@ -456,18 +440,14 @@ if ($_POST['formSent']) {
if(empty($racine->Users->User) && empty($racine->Courses->Course) && empty($racine->Session)) {
$errorMsg=get_lang('NoNeededData');
}
- }
- else
- {
+ } else {
$errorMsg .= get_lang('XMLNotValid');
}
- }
-
- /////////////////////
- // CSV /////////////
- ///////////////////
-
- else {
+ } else {
+ /////////////////////
+ // CSV /////////////
+ ///////////////////
+
$content=file($_FILES['import_file']['tmp_name']);
if(!strstr($content[0],';')) {
$errorMsg=get_lang('NotCSV');