[svn r14939] Export as CSV file fixed. mysql_ functions replaced. (see FS#2460 - 33)

skala
Julio Montoya 18 years ago
parent fb1be5e201
commit 5ae3784642
  1. 139
      main/inc/lib/course.lib.php
  2. 92
      main/inc/lib/export.lib.inc.php
  3. 85
      main/user/user.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
?>

@ -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 <EFBFBD>t<EFBFBD> adapt<EFBFBD>es de fonctions distribu<EFBFBD>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<EFBFBD>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 "<BR> $origine -> $destination";
/* if (file_exists($destination))
{
echo "la cible existe, ca ne va pas être possible";
echo "la cible existe, ca ne va pas <EFBFBD>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<EFBFBD> Check if all data needed are aivailable
* 2<EFBFBD> Build the archive repository tree
* 3<EFBFBD> Build exported element and Fill the archive repository tree
* 4<EFBFBD> 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<EFBFBD> 2. params.
$errorCode = 0;
$stop = FALSE;
// ****** 1° 2. 1 params.needed
// ****** 1<EFBFBD> 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<EFBFBD> 2. 2 params.optional
if (!isset ($verbose_backup))
{
$verbose_backup = false;
}
// ****** 1° 3. check if course exist
// ****** 1<EFBFBD> 3. check if course exist
// not done
//////////////////////////////////////////////
// ****** 2° Build the archive repository tree
// ****** 2° 1. fix names
// ****** 2<EFBFBD> Build the archive repository tree
// ****** 2<EFBFBD> 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<EFBFBD> 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<TR>\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<TR>\n";
$sqlInsertAnn .= "
@ -759,7 +759,7 @@ function makeTheBackup($exportedCourseId, $verbose_backup = FALSE, $ignore = "",
<br>";
///////////////////////////////////
// ****** 4° Compress the tree
// ****** 4<EFBFBD> Compress the tree
if (extension_loaded("zlib"))
{
$whatZip[] = $archiveRepositorySys.$exportedCourseId."/".$shortDateBackuping."/HTML";

@ -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'];

Loading…
Cancel
Save