diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index e7e75e10b5..84356e9f9e 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -187,7 +187,7 @@ class CourseManager $course_table = Database :: get_main_table(TABLE_MAIN_COURSE); $sql="SELECT * FROM ".$course_table." WHERE code='".$course_code."'"; $sql_result = api_sql_query($sql, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); return $result; } @@ -207,7 +207,7 @@ class CourseManager $course_table = Database :: get_main_table(TABLE_MAIN_COURSE); $sql = "SELECT `visibility`, `subscribe`, `unsubscribe` from ".$course_table." where `code` = '".$course_code."'"; $sql_result = api_sql_query($sql, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); return $result; } @@ -221,7 +221,7 @@ class CourseManager $course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $sql_query = "SELECT * FROM $course_user_table WHERE `course_code` = '$course_code' AND `user_id` = '$user_id'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); return $result["status"]; } @@ -247,7 +247,7 @@ class CourseManager // Unsubscribe user from all groups in the course $sql = "SELECT * FROM $table_course WHERE code = '".$course_code."'"; $res = api_sql_query($sql, __FILE__, __LINE__); - $course = mysql_fetch_object($res); + $course = Database::fetch_object($res); $table_group = Database :: get_course_table(TABLE_GROUP_USER, $course->db_name); $sql = "DELETE FROM $table_group WHERE user_id IN (".$user_ids.")"; api_sql_query($sql, __FILE__, __LINE__); @@ -291,8 +291,8 @@ class CourseManager // previously check if the user are already registered on the platform $handle = api_sql_query("SELECT status FROM ".$user_table." - WHERE `user_id` = '$user_id' "); - if (mysql_num_rows($handle) == 0) + WHERE `user_id` = '$user_id' ", __FILE__, __LINE__); + if (Database::num_rows($handle) == 0) { return false; // the user isn't registered to the platform } @@ -301,8 +301,8 @@ class CourseManager //check if user isn't already subscribed to the course $handle = api_sql_query("SELECT * FROM ".$course_user_table." WHERE `user_id` = '$user_id' - AND `course_code` ='$course_code'"); - if (mysql_num_rows($handle) > 0) + AND `course_code` ='$course_code'", __FILE__, __LINE__); + if (Database::num_rows($handle) > 0) { return false; // the user is already subscribed to the course } @@ -314,7 +314,7 @@ class CourseManager `user_id` = '$user_id', `status` = '".$status."', `sort` = '". ($course_sort)."'"; - $result = api_sql_query($add_course_user_entry_sql); + $result = api_sql_query($add_course_user_entry_sql, __FILE__, __LINE__); if ($result) { return true; @@ -356,8 +356,8 @@ class CourseManager // previously check if the user are already registered on the platform $handle = api_sql_query("SELECT status FROM ".$user_table." - WHERE `user_id` = '$user_id' "); - if (mysql_num_rows($handle) == 0) + WHERE `user_id` = '$user_id' ", __FILE__, __LINE__); + if (Database::num_rows($handle) == 0) { return false; // the user isn't registered to the platform } @@ -366,8 +366,8 @@ class CourseManager //check if user isn't already subscribed to the course $handle = api_sql_query("SELECT * FROM ".$course_user_table." WHERE `user_id` = '$user_id' - AND `course_code` ='$course_code'"); - if (mysql_num_rows($handle) > 0) + AND `course_code` ='$course_code'", __FILE__, __LINE__); + if (Database::num_rows($handle) > 0) { return false; // the user is already subscribed to the course } @@ -377,9 +377,9 @@ class CourseManager $handle = api_sql_query("SELECT code, visibility FROM ".$course_table." WHERE `code` = '$course_code' - AND `subscribe` = '".SUBSCRIBE_NOT_ALLOWED."'"); + AND `subscribe` = '".SUBSCRIBE_NOT_ALLOWED."'", __FILE__, __LINE__); - if (mysql_num_rows($handle) > 0) + if (Database::num_rows($handle) > 0) { return false; // subscription not allowed for this course } @@ -391,7 +391,7 @@ class CourseManager `user_id` = '$user_id', `status` = '".$status."', `sort` = '". ($max_sort +1)."'"; - $result=api_sql_query($add_course_user_entry_sql); + $result=api_sql_query($add_course_user_entry_sql, __FILE__, __LINE__); if ($result) { return true; @@ -491,7 +491,7 @@ class CourseManager $sql_query = "SELECT COUNT(*) as number FROM ".$course_table."WHERE `code` = '$wanted_course_code' OR `visual_code` = '$wanted_course_code' "; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); if ($result["number"] > 0) { @@ -512,7 +512,7 @@ class CourseManager $sql_query = "SELECT * FROM $course_table WHERE `target_course_code` IS NULL"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - while ($result = mysql_fetch_array($sql_result)) + while ($result = Database::fetch_array($sql_result)) { $real_course_list[] = $result; } @@ -529,7 +529,7 @@ class CourseManager $sql_query = "SELECT * FROM $course_table WHERE `target_course_code` IS NOT NULL"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - while ($result = mysql_fetch_array($sql_result)) + while ($result = Database::fetch_array($sql_result)) { $virtual_course_list[] = $result; } @@ -556,7 +556,7 @@ class CourseManager //api_display_debug_info($sql_query); $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - while ($result = mysql_fetch_array($sql_result)) + while ($result = Database::fetch_array($sql_result)) { $result_array[] = $result; } @@ -582,7 +582,7 @@ class CourseManager $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - while ($result = mysql_fetch_array($sql_result)) + while ($result = Database::fetch_array($sql_result)) { $result_array[] = $result; } @@ -622,7 +622,7 @@ class CourseManager $table = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $sql_query = "SELECT * FROM $table WHERE `user_id` = '$user_id' AND `course_code` = '$real_course_real_code'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); if (!isset ($result) || empty ($result)) { @@ -745,7 +745,7 @@ class CourseManager $sql_query = "SELECT * FROM $table WHERE `target_course_code` = '$real_course_code'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); $result = array (); - while ($virtual_course = mysql_fetch_array($sql_result)) + while ($virtual_course = Database::fetch_array($sql_result)) { $result[] = $virtual_course; } @@ -761,7 +761,7 @@ class CourseManager $table = Database :: get_main_table(TABLE_MAIN_COURSE); $sql_query = "SELECT * FROM $table WHERE `code` = '$system_code'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); $target_number = $result["target_course_code"]; if ($target_number == NULL) @@ -783,7 +783,7 @@ class CourseManager $table = Database :: get_main_table(TABLE_MAIN_COURSE); $sql_query = "SELECT * FROM $table WHERE `visual_code` = '$visual_code'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); $target_number = $result["target_course_code"]; if ($target_number == NULL) @@ -826,7 +826,7 @@ class CourseManager $sql_query = "SELECT * FROM $table WHERE `target_course_code` = '$real_course_code'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); $result_array = array (); - while ($result = mysql_fetch_array($sql_result)) + while ($result = Database::fetch_array($sql_result)) { $result_array[] = $result; } @@ -848,7 +848,7 @@ class CourseManager //get info about the virtual course $sql_query = "SELECT * FROM $course_table WHERE `code` = '$virtual_course_code'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); $target_course_code = $result["target_course_code"]; return $target_course_code; @@ -877,7 +877,7 @@ class CourseManager $sql_query = "SELECT * FROM $table WHERE `user_id` = '$user_id' AND `course_code` = '$course_code'"; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); if (!isset ($result) || empty ($result)) { @@ -887,7 +887,7 @@ class CourseManager WHERE id_user = '.$user_id.' AND course_code="'.$course_code.'"'; $rs = api_sql_query($sql, __FILE__, __LINE__); - if(mysql_num_rows($rs)>0) + if(Database::num_rows($rs)>0) { return true; } @@ -895,7 +895,7 @@ class CourseManager $sql = 'SELECT 1 FROM '.Database :: get_main_table(TABLE_MAIN_SESSION_COURSE).' WHERE id_coach = '.$user_id.' AND course_code="'.$course_code.'"'; $rs = api_sql_query($sql, __FILE__, __LINE__); - if(mysql_num_rows($rs)>0) + if(Database::num_rows($rs)>0) { return true; } @@ -925,7 +925,7 @@ class CourseManager $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); if(Database::num_rows($sql_result)>0) { - $status=mysql_result($sql_result,0,'status'); + $status=Database::result($sql_result,0,'status'); if($status==1) return true; else return false; } return false; @@ -952,7 +952,7 @@ class CourseManager WHERE course_user.`user_id` = '$user_id' AND ( course.`code` = '$course_code' OR `target_course_code` = '$course_code') "; $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - $result = mysql_fetch_array($sql_result); + $result = Database::fetch_array($sql_result); if (!isset ($result) || empty ($result)) { @@ -978,7 +978,7 @@ class CourseManager AND id_user='$user_id'"; $result = api_sql_query($sql,__FILE__,__LINE__); - if(mysql_num_rows($result)) + if(Database::num_rows($result)) return true; // is it a course coach ? @@ -989,7 +989,7 @@ class CourseManager AND course_code='$course_code'"; $result = api_sql_query($sql,__FILE__,__LINE__); - if(mysql_num_rows($result)) + if(Database::num_rows($result)) return true; // is it a session coach ? @@ -999,7 +999,7 @@ class CourseManager AND id_coach='$user_id'"; $result = api_sql_query($sql,__FILE__,__LINE__); - if(mysql_num_rows($result)) + if(Database::num_rows($result)) return true; return false; @@ -1014,46 +1014,45 @@ class CourseManager * @param string $course_code * @return array with user info */ - function get_user_list_from_course_code($course_code, $with_session=true, $session_id=0){ - + function get_user_list_from_course_code($course_code, $with_session=true, $session_id=0) + { $session_id = intval($session_id); - $a_users = array(); - + $a_users = array(); $table_users = Database :: get_main_table(TABLE_MAIN_USER); // users subscribed to the course through a session - if(api_get_setting('use_session_mode')=='true' && $with_session){ - - $table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); - + if(api_get_setting('use_session_mode')=='true' && $with_session) + { + $table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $sql_query = "SELECT session_course_user.*, user.user_id FROM $table_session_course_user as session_course_user, $table_users as user WHERE `course_code` = '$course_code' AND session_course_user.id_user = user.user_id "; - if($session_id!=0) + if($session_id!=0) + { $sql_query .= ' AND id_session = '.$session_id; + } $sql_query.=' ORDER BY user.lastname'; $rs = api_sql_query($sql_query, __FILE__, __LINE__); - while($user = mysql_fetch_array($rs)) + + while($user = Database::fetch_array($rs)) { $user_infos = Database :: get_user_info_from_id($user['id_user']); $user_infos["status"] = $user["status"]; $user_infos["role"] = $user["role"]; $user_infos["tutor_id"] = $user["tutor_id"]; $a_users[$user['id_user']] = $user_infos; - } - + } } - if($session_id == 0){ - + if($session_id == 0) + { // users directly subscribed to the course - $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); - + $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $sql_query = "SELECT course_user.user_id, user.user_id, course_user.status, course_user.role, course_user.tutor_id " . "FROM $table_course_user as course_user, $table_users as user WHERE `course_code` = '$course_code' AND course_user.user_id = user.user_id ORDER BY user.lastname"; $rs = api_sql_query($sql_query, __FILE__, __LINE__); - while($user = mysql_fetch_array($rs)) + while($user = Database::fetch_array($rs)) { $user_infos = Database :: get_user_info_from_id($user['user_id']); $user_infos["status"] = $user["status"]; @@ -1063,7 +1062,6 @@ class CourseManager } } - return $a_users; } @@ -1079,7 +1077,7 @@ class CourseManager //We get the coach for the given course in a given session $sql = 'SELECT id_coach FROM '.$table_session_course.' WHERE id_session="'.$session_id.'" AND course_code="'.$course_code.'"'; $rs = api_sql_query($sql, __FILE__, __LINE__); - while($user = mysql_fetch_array($rs)) + while($user = Database::fetch_array($rs)) { $user_infos = Database :: get_user_info_from_id($user['id_coach']); $user_infos["status"] = $user["status"]; @@ -1093,7 +1091,7 @@ class CourseManager $sql = 'SELECT id_coach FROM '.$table_session.' WHERE id="'.$session_id.'"'; $rs = api_sql_query($sql, __FILE__, __LINE__); $user_infos=array(); - $session_id_coach = mysql_result($rs,0,'id_coach'); + $session_id_coach = Database::result($rs,0,'id_coach'); $user_infos = Database :: get_user_info_from_id($session_id_coach); $user_infos["status"] = $user["status"]; $user_infos["role"] = $user["role"]; @@ -1126,7 +1124,7 @@ class CourseManager $table = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $sql_query = "SELECT * FROM $table WHERE `course_code` = '$course_code' AND `status` = 5"; $rs = api_sql_query($sql_query, __FILE__, __LINE__); - while($student = mysql_fetch_array($rs)) + while($student = Database::fetch_array($rs)) { $a_students[$student['user_id']] = $student; } @@ -1141,7 +1139,7 @@ class CourseManager if($session_id!=0) $sql_query .= ' AND id_session = '.$session_id; $rs = api_sql_query($sql_query, __FILE__, __LINE__); - while($student = mysql_fetch_array($rs)) + while($student = Database::fetch_array($rs)) { $a_students[$student['id_user']] = $student; } @@ -1168,7 +1166,7 @@ class CourseManager "AND cu.status = 1 " . "AND cu.user_id = u.user_id"; $rs = api_sql_query($sql_query, __FILE__, __LINE__); - while($teacher = mysql_fetch_array($rs)) + while($teacher = Database::fetch_array($rs)) { $a_students[$teacher['user_id']] = $teacher; } @@ -1231,7 +1229,7 @@ class CourseManager $sql_result = api_sql_query($sql_query, __FILE__, __LINE__); - while ($result = mysql_fetch_array($sql_result)) + while ($result = Database::fetch_array($sql_result)) { $result_array[] = $result; } @@ -1259,7 +1257,7 @@ class CourseManager ORDER BY g.name"; $result = api_sql_query($sql, __FILE__, __LINE__) or die(mysql_error()); - while ($group_data = mysql_fetch_array($result)) + while ($group_data = Database::fetch_array($result)) { $group_list[$group_data['id']] = $group_data; } @@ -1494,7 +1492,7 @@ class CourseManager $sql='SELECT survey_id FROM '.$table_course_survey.' WHERE course_code="'.$code.'"'; $result_surveys=api_sql_query($sql); - while($surveys=mysql_fetch_array($result_surveys)){ + while($surveys=Database::fetch_array($result_surveys)){ $survey_id=$surveys[0]; $sql='DELETE FROM '.$table_course_survey_question.' WHERE survey_id="'.$survey_id.'"'; api_sql_query($sql,__FILE__,__LINE__); @@ -1585,7 +1583,7 @@ class CourseManager $sql = 'SELECT title FROM '.$TABLECOURSE.' WHERE code="'.$course_code.'"'; $result = api_sql_query($sql, __FILE__, __LINE__); - $course_title = mysql_result($result,0,0); + $course_title = Database::result($result,0,0); $sql = 'SELECT course.code as code, course.title as title, cu.sort as sort FROM '.$TABLECOURSUSER.' as cu, '.$TABLECOURSE.' as course WHERE course.code = cu.course_code @@ -1598,7 +1596,7 @@ class CourseManager $b_find_course = false; $i_course_sort = 1; - while($courses=mysql_fetch_array($result)){ + while($courses=Database::fetch_array($result)){ if($s_course_title_precedent == ''){ $s_course_title_precedent = $courses['title']; @@ -1630,13 +1628,14 @@ class CourseManager } //We must register the course in the beginning of the list - if(mysql_num_rows($result)>0 && !$b_find_course){ + if(Database::num_rows($result)>0 && !$b_find_course) + { $sql_max = 'SELECT min(sort) as min_sort FROM '.$TABLECOURSUSER.' WHERE user_id="'.$user_id.'" AND user_course_cat="0"'; - $result_min_sort=api_sql_query($sql_max); - $i_course_sort = mysql_result($result_min_sort,0,0); + $result_min_sort=api_sql_query($sql_max, __FILE__, __LINE__); + $i_course_sort = Database::result($result_min_sort,0,0); $sql = 'UPDATE '.$TABLECOURSUSER.' SET sort = sort+1 WHERE user_id= "'.$user_id.'" AND user_course_cat="0"'; - api_sql_query($sql); + api_sql_query($sql, __FILE__, __LINE__); } return $i_course_sort; } @@ -1681,9 +1680,7 @@ class CourseManager { $sql = 'SELECT 1 FROM '.Database :: get_main_table(TABLE_MAIN_COURSE).' WHERE code="'.Database::escape_string($course_code).'"'; $rs = api_sql_query($sql,__FILE__,__LINE__); - return mysql_num_rows($rs); - } - - + return Database::num_rows($rs); + } } //end class CourseManager ?> \ No newline at end of file diff --git a/main/inc/lib/export.lib.inc.php b/main/inc/lib/export.lib.inc.php index efc749542c..72ca2fbc21 100644 --- a/main/inc/lib/export.lib.inc.php +++ b/main/inc/lib/export.lib.inc.php @@ -3,7 +3,7 @@ ============================================================================== Dokeos - elearning and course management software - Copyright (c) 2004 Dokeos S.A. + Copyright (c) 2004-2008 Dokeos SPRL Copyright (c) 2003 Ghent University (UGent) Copyright (c) 2001 Universite catholique de Louvain (UCL) Copyright (c) Olivier Brouckaert @@ -19,7 +19,7 @@ See the GNU General Public License for more details. - Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com + Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com ============================================================================== */ /** @@ -27,7 +27,7 @@ * This is the export library for Dokeos. * Include/require it in your code to use its functionality. * -* plusieures fonctions ci-dessous ont été adaptées de fonctions distribuées par www.nexen.net +* plusieures fonctions ci-dessous ont �t� adapt�es de fonctions distribu�es par www.nexen.net * * @package dokeos.library ============================================================================== @@ -41,22 +41,22 @@ class Export * @param string $filename */ function export_table_csv($data, $filename = 'export') - { - $file = api_get_path(SYS_ARCHIVE_PATH).'/'.uniqid('').'.csv'; - $handle = fopen($file, 'a+'); + { + $file = api_get_path(SYS_ARCHIVE_PATH).uniqid('').'.csv'; + $handle = @fopen($file, 'a+'); + foreach ($data as $index => $row) { - $line = ''; - foreach($row as $value) - { + $line=''; + foreach($row as $value) + { $line .= '"'.str_replace('"','""',$value).'";'; } - - fwrite($handle, $line."\n"); + @fwrite($handle, $line."\n"); } - fclose($handle); - DocumentManager :: file_send_for_download($file, true, $filename.'.csv'); - exit; + @fclose($handle); + DocumentManager :: file_send_for_download($file, true, $filename.'.csv'); + exit(); } /** * Export tabular data to XLS-file @@ -65,15 +65,15 @@ class Export */ function export_table_xls($data, $filename = 'export') { - $file = api_get_path(SYS_ARCHIVE_PATH).'/'.uniqid('').'.xls'; - $handle = fopen($file, 'a+'); - foreach ($data as $index => $row) - { - fwrite($handle, implode("\t", $row)."\n"); - } - fclose($handle); + $file = api_get_path(SYS_ARCHIVE_PATH).uniqid('').'.xls'; + $handle = @fopen($file, 'a+'); + foreach ($data as $index => $row) + { + @fwrite($handle, implode("\t", $row)."\n"); + } + @fclose($handle); DocumentManager :: file_send_for_download($file, true, $filename.'.xls'); - exit; + exit(); } /** * Export tabular data to XML-file @@ -145,7 +145,7 @@ function backupDatabase($link, $db_name, $structure, $donnees, $format = 'SQL', return false; // liste des tables $res = mysql_list_tables($db_name, $link); - $num_rows = mysql_num_rows($res); + $num_rows = Database::num_rows($res); $i = 0; while ($i < $num_rows) { @@ -167,8 +167,8 @@ function backupDatabase($link, $db_name, $structure, $donnees, $format = 'SQL', fwrite($fp, "\nmysql_query(\""); // requete de creation de la table $query = "SHOW CREATE TABLE `".$tablename."`"; - $resCreate = mysql_query($query); - $row = mysql_fetch_array($resCreate); + $resCreate = api_sql_query($query,__FILE__, __LINE__); + $row = Database::fetch_array($resCreate); $schema = $row[1].";"; if ($format == "PHP" || $format == "SQL") fwrite($fp, "$schema"); @@ -177,10 +177,10 @@ function backupDatabase($link, $db_name, $structure, $donnees, $format = 'SQL', } if ($donnees === true) { - // les données de la table + // les donn�es de la table $query = "SELECT * FROM $tablename"; - $resData = mysql_query($query); - if (mysql_num_rows($resData) > 0) + $resData = api_sql_query($query,__FILE__, __LINE__); + if (Database::num_rows($resData) > 0) { $sFieldnames = ""; if ($insertComplet === true) @@ -193,7 +193,7 @@ function backupDatabase($link, $db_name, $structure, $donnees, $format = 'SQL', $sFieldnames = "(".substr($sFieldnames, 0, -2).")"; } $sInsert = "INSERT INTO `$tablename` $sFieldnames values "; - while ($rowdata = mysql_fetch_assoc($resData)) + while ($rowdata = Database::fetch_array($resData,'ASSOC')) { if ($format == "HTML") { @@ -234,7 +234,7 @@ function copydir($origine, $destination, $verbose = false) echo "
$origine -> $destination"; /* if (file_exists($destination)) { - echo "la cible existe, ca ne va pas être possible"; + echo "la cible existe, ca ne va pas �tre possible"; return 0; } */ @@ -287,10 +287,10 @@ function copydir($origine, $destination, $verbose = false) * * @deprecated Function not in use (old backup system) * - * 1° Check if all data needed are aivailable - * 2° Build the archive repository tree - * 3° Build exported element and Fill the archive repository tree - * 4° Compress the tree + * 1� Check if all data needed are aivailable + * 2� Build the archive repository tree + * 3� Build exported element and Fill the archive repository tree + * 4� Compress the tree == tree structure == == here we can found == /archivePath/ temporary files of export for the current claroline /$exportedCourseId temporary files of export for the current course @@ -316,11 +316,11 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "", global $error_msg, $error_no, $db, $archiveRepositorySys, $archiveRepositoryWeb, $appendCourse, $appendMainDb, $archiveName, $_configuration, $_course, $TABLEUSER, $TABLECOURSUSER, $TABLECOURS, $TABLEANNOUNCEMENT; - // ****** 1° 2. params. + // ****** 1� 2. params. $errorCode = 0; $stop = FALSE; - // ****** 1° 2. 1 params.needed + // ****** 1� 2. 1 params.needed if (!isset ($exportedCourseId)) { $error_msg["backup"][] = "[".basename(__FILE__)."][".__LINE__."] Course Id Missing"; @@ -374,17 +374,17 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "", return false; } - // ****** 1° 2. 2 params.optional + // ****** 1� 2. 2 params.optional if (!isset ($verbose_backup)) { $verbose_backup = false; } - // ****** 1° 3. check if course exist + // ****** 1� 3. check if course exist // not done ////////////////////////////////////////////// - // ****** 2° Build the archive repository tree - // ****** 2° 1. fix names + // ****** 2� Build the archive repository tree + // ****** 2� 1. fix names $shortDateBackuping = date("YzBs"); // YEAR - Day in Year - Swatch - second $archiveFileName = "archive.".$exportedCourseId.".".$shortDateBackuping.".zip"; $dateBackuping = $shortDateBackuping; @@ -425,7 +425,7 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "", $dirCourBase = $archiveDirSqlCourse; $dirMainBase = $archiveDirSqlMainDb; ///////////////////////////////////////////////////////////////////////// - // ****** 3° Build exported element and Fill the archive repository tree + // ****** 3� Build exported element and Fill the archive repository tree if ($verbose_backup) echo " build config file @@ -474,7 +474,7 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "", $iniCourse = "[".$exportedCourseId."]\n"; $sqlSelectInfoCourse = "Select * from `".$TABLECOURS."` `course` where code = '".$exportedCourseId."' "; $resInfoCourse = api_sql_query($sqlSelectInfoCourse, __FILE__, __LINE__); - $infoCourse = mysql_fetch_array($resInfoCourse); + $infoCourse = Database::fetch_array($resInfoCourse); for ($noField = 0; $noField < mysql_num_fields($resInfoCourse); $noField ++) { if ($noField > 0) @@ -534,7 +534,7 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "", WHERE `user`.`user_id`=`".$TABLECOURSUSER."`.`user_id` AND `".$TABLECOURSUSER."`.`course_code`='".$exportedCourseId."'"; $resUsers = api_sql_query($sqlUserOfTheCourse, __FILE__, __LINE__); - $nbUsers = mysql_num_rows($resUsers); + $nbUsers = Database::num_rows($resUsers); if ($nbUsers > 0) { $nbFields = mysql_num_fields($resUsers); @@ -554,7 +554,7 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "", // // creation of body // - while ($users = mysql_fetch_array($resUsers)) + while ($users = Database::fetch_array($resUsers)) { $htmlInsertUsers .= "\t\n"; $sqlInsertUsers .= " @@ -643,7 +643,7 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "", // // creation of body // - while ($announce = mysql_fetch_array($resAnn)) + while ($announce = Database::fetch_array($resAnn)) { $htmlInsertAnn .= "\t\n"; $sqlInsertAnn .= " @@ -759,7 +759,7 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "",
"; /////////////////////////////////// - // ****** 4° Compress the tree + // ****** 4� Compress the tree if (extension_loaded("zlib")) { $whatZip[] = $archiveRepositorySys.$exportedCourseId."/".$shortDateBackuping."/HTML"; diff --git a/main/user/user.php b/main/user/user.php index 20b28ac266..0b81f86fc6 100644 --- a/main/user/user.php +++ b/main/user/user.php @@ -3,7 +3,7 @@ ============================================================================== Dokeos - elearning and course management software - Copyright (c) 2004-2008 Dokeos S.A. + Copyright (c) 2004-2008 Dokeos SPRL Copyright (c) 2003 Ghent University (UGent) Copyright (c) 2001 Universite catholique de Louvain (UCL) Copyright (c) various contributors @@ -115,34 +115,60 @@ if(api_is_allowed_to_edit()) { switch ($_GET['action']) { - case 'export' : - if(api_get_setting('use_session_mode')!="true"){ - $table_user = Database::get_main_table(TABLE_MAIN_USER); - $table_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); - $course = api_get_course_info(); - $sql = "SELECT official_code,firstname,lastname,email FROM $table_user u, $table_course_user cu WHERE cu.user_id = u.user_id AND cu.course_code = '".$course['sysCode']."' ORDER BY lastname ASC"; - } - else - { - $sql = "SELECT `user`.`user_id`, `user`.`lastname`, `user`.`firstname`, - `user`.`email`, `user`.`official_code`, session.name - FROM ".Database::get_main_table(TABLE_MAIN_USER)." `user`, ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)." cu, ".Database::get_main_table(TABLE_MAIN_SESSION)." session - WHERE `user`.`user_id`= cu.`id_user` - AND cu.`course_code`='".$currentCourseID."' - AND session.id=cu.id_session - AND session.id='".$_SESSION['id_session']."'"; - } - $users = api_sql_query($sql, __FILE__, __LINE__); - while ($user = mysql_fetch_array($users, MYSQL_ASSOC)) + case 'export' : + $table_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); + $session_id=0; + $table_users = Database :: get_main_table(TABLE_MAIN_USER); + + $data=array(); + $a_users=array(); + + // users subscribed to the course through a session + if(api_get_setting('use_session_mode')=='true') { - $data[] = $user; + $session_id = intval($_SESSION['id_session']); + $table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); + $sql_query = "SELECT DISTINCT user.user_id, user.lastname, user.firstname, user.email, user.official_code + FROM $table_session_course_user as session_course_user, $table_users as user + WHERE `course_code` = '$currentCourseID' AND session_course_user.id_user = user.user_id "; + + if($session_id!=0) + { + $sql_query .= ' AND id_session = '.$session_id; + } + $sql_query.=' ORDER BY user.lastname'; + $rs = api_sql_query($sql_query, __FILE__, __LINE__); + while($user = Database:: fetch_array($rs,'ASSOC')) + { + $data[]=$user; + //$user_infos = Database :: get_user_info_from_id($user['user_id']); + $a_users[$user['user_id']] = $user; + } + } + + if($session_id == 0) + { + // users directly subscribed to the course + $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); + $sql_query = "SELECT DISTINCT user.user_id, user.lastname, user.firstname, user.email, user.official_code + FROM $table_course_user as course_user, $table_users as user WHERE `course_code` = '$currentCourseID' AND course_user.user_id = user.user_id ORDER BY user.lastname"; + + $rs = api_sql_query($sql_query, __FILE__, __LINE__); + + while($user = Database::fetch_array($rs,'ASSOC')) + { + $data[]=$user; + $a_users[$user['user_id']] = $user; + } } + + switch ($_GET['type']) { case 'csv' : - Export::export_table_csv($data); + Export::export_table_csv($a_users); case 'xls' : - Export::export_table_xls($data); + Export::export_table_xls($a_users); } } @@ -412,14 +438,16 @@ function get_user_data($from, $number_of_items, $column, $direction) $a_users=array(); if(!empty($_SESSION["id_session"])){ + $a_course_users = CourseManager :: get_user_list_from_course_code($_SESSION['_course']['id'], true, $_SESSION['id_session']); } - else{ + else + { $a_course_users = CourseManager :: get_user_list_from_course_code($_SESSION['_course']['id'], true); } - - foreach($a_course_users as $user_id=>$o_course_user){ - + + foreach($a_course_users as $user_id=>$o_course_user) + { if( (isset ($_GET['keyword']) && search_keyword($o_course_user['firstname'],$o_course_user['lastname'],$o_course_user['username'],$o_course_user['official_code'],$_GET['keyword'])) || !isset($_GET['keyword']) || empty($_GET['keyword'])){ $groups_name=GroupManager :: get_user_group_name($user_id); @@ -430,7 +458,8 @@ function get_user_data($from, $number_of_items, $column, $direction) $temp[] = $user_id; $temp[] = $o_course_user['firstname']; - $temp[] = $o_course_user['lastname']; + $temp[] = $o_course_user['lastname']; + $temp[] = $o_course_user['role']; $temp[] = implode(', ',$groups_name); //Group $temp[] = $o_course_user['official_code'];