|
|
|
|
@ -1,22 +1,19 @@ |
|
|
|
|
<?php |
|
|
|
|
/* For licensing terms, see /license.txt*/ |
|
|
|
|
/** |
|
|
|
|
* @package chamilo.user |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/* CATEGORIES DEFINITION TREATMENT */ |
|
|
|
|
/** |
|
|
|
|
* create a new category definition for the user information |
|
|
|
|
* |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesch<EFBFBD> <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - string $title - category title |
|
|
|
|
* @param - string $comment - title comment |
|
|
|
|
* @param - int$nbline - lines number for the field the user will fill. |
|
|
|
|
* @return - bollean true if succeed, else bolean false |
|
|
|
|
* |
|
|
|
|
* @param string $title - category title |
|
|
|
|
* @param string $comment - title comment |
|
|
|
|
* @param int $nbline - lines number for the field the user will fill. |
|
|
|
|
* |
|
|
|
|
* @return boolean true if succeed, else bolean false |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function create_cat_def($title="", $comment="", $nbline="5") |
|
|
|
|
function create_cat_def($title = "", $comment = "", $nbline = "5") |
|
|
|
|
{ |
|
|
|
|
global $TBL_USERINFO_DEF; //taken from userInfo.php |
|
|
|
|
|
|
|
|
|
@ -24,17 +21,17 @@ function create_cat_def($title="", $comment="", $nbline="5") |
|
|
|
|
$comment = Database::escape_string(trim($comment)); |
|
|
|
|
$nbline = strval(intval($nbline)); |
|
|
|
|
|
|
|
|
|
if ( 0 == (int) $nbline || empty($title)) |
|
|
|
|
{ |
|
|
|
|
if (0 == (int)$nbline || empty($title)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql = "SELECT MAX(rank) as maxRank FROM ".$TBL_USERINFO_DEF; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
if ($result) $maxRank = Database::fetch_array($result); |
|
|
|
|
if ($result) { |
|
|
|
|
$maxRank = Database::fetch_array($result); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$maxRank = $maxRank['maxRank']; |
|
|
|
|
|
|
|
|
|
$thisRank = $maxRank + 1; |
|
|
|
|
|
|
|
|
|
$sql = "INSERT INTO $TBL_USERINFO_DEF SET |
|
|
|
|
@ -53,10 +50,12 @@ function create_cat_def($title="", $comment="", $nbline="5") |
|
|
|
|
* |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesch<EFBFBD> <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - int $id - id of the category |
|
|
|
|
* @param - string $title - category title |
|
|
|
|
* @param - string $comment - title comment |
|
|
|
|
* @param - int$nbline - lines number for the field the user will fill. |
|
|
|
|
* |
|
|
|
|
* @param int $id - id of the category |
|
|
|
|
* @param string $title - category title |
|
|
|
|
* @param string $comment - title comment |
|
|
|
|
* @param int $nbline - lines number for the field the user will fill. |
|
|
|
|
* |
|
|
|
|
* @return - boolean true if succeed, else otherwise |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
@ -64,12 +63,11 @@ function edit_cat_def($id, $title, $comment, $nbline) |
|
|
|
|
{ |
|
|
|
|
global $TBL_USERINFO_DEF; |
|
|
|
|
|
|
|
|
|
if ( 0 == $nbline || 0 == $id ) |
|
|
|
|
{ |
|
|
|
|
if (0 == $nbline || 0 == $id) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
$id = strval(intval($id)); //make sure id is integer |
|
|
|
|
$title = Database::escape_string(trim($title)); |
|
|
|
|
$title = Database::escape_string(trim($title)); |
|
|
|
|
$comment = Database::escape_string(trim($comment)); |
|
|
|
|
$nbline = strval(intval($nbline)); |
|
|
|
|
|
|
|
|
|
@ -89,34 +87,32 @@ function edit_cat_def($id, $title, $comment, $nbline) |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* |
|
|
|
|
* @param - int $id - id of the category |
|
|
|
|
* or "ALL" for all category |
|
|
|
|
* @param - boolean $force - FALSE (default) : prevents removal if users have |
|
|
|
|
* @param int $id - id of the category |
|
|
|
|
* or "ALL" for all category |
|
|
|
|
* @param boolean $force - FALSE (default) : prevents removal if users have |
|
|
|
|
* already fill this category |
|
|
|
|
* TRUE : bypass user content existence check |
|
|
|
|
* @param - int $nbline - lines number for the field the user will fill. |
|
|
|
|
* @return - bollean - TRUE if succeed, ELSE otherwise |
|
|
|
|
* @param int $nbline - lines number for the field the user will fill. |
|
|
|
|
* |
|
|
|
|
* @return boolean - TRUE if succeed, ELSE otherwise |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function remove_cat_def($id, $force = false) |
|
|
|
|
{ |
|
|
|
|
$TBL_USERINFO_DEF = Database :: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_CONTENT = Database :: get_course_table(userinfo_content); |
|
|
|
|
$TBL_USERINFO_DEF = Database:: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_CONTENT = Database:: get_course_table(userinfo_content); |
|
|
|
|
|
|
|
|
|
$id = strval(intval($id)); |
|
|
|
|
|
|
|
|
|
if ( (0 == (int) $id || $id == "ALL") || ! is_bool($force)) |
|
|
|
|
{ |
|
|
|
|
if ((0 == (int)$id || $id == "ALL") || !is_bool($force)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
$sqlCondition = " WHERE id = '$id'"; |
|
|
|
|
if (!$force) |
|
|
|
|
{ |
|
|
|
|
if (!$force) { |
|
|
|
|
$sql = "SELECT * FROM $TBL_USERINFO_CONTENT $sqlCondition"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if ( Database::num_rows($result) > 0) |
|
|
|
|
{ |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -130,29 +126,26 @@ function remove_cat_def($id, $force = false) |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesch<EFBFBD> <gesche@ipm.ucl.ac.be> |
|
|
|
|
* |
|
|
|
|
* @param - int $id - id of the category |
|
|
|
|
* @param - direction "up" or "down" : |
|
|
|
|
* "up" decrease the rank of gived $id by switching rank with the just lower |
|
|
|
|
* "down" increase the rank of gived $id by switching rank with the just upper |
|
|
|
|
* @param int $id - id of the category |
|
|
|
|
* @param string $direction "up" or "down" : |
|
|
|
|
* "up" decrease the rank of gived $id by switching rank with the just lower |
|
|
|
|
* "down" increase the rank of gived $id by switching rank with the just upper |
|
|
|
|
* |
|
|
|
|
* @return - boolean true if succeed, else bolean false |
|
|
|
|
* @return boolean true if succeed, else boolean false |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function move_cat_rank($id, $direction) // up & down. |
|
|
|
|
{ |
|
|
|
|
$TBL_USERINFO_DEF = Database :: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_DEF = Database:: get_course_table(userinfo_def); |
|
|
|
|
$id = strval(intval($id)); |
|
|
|
|
|
|
|
|
|
if ( 0 == (int) $id || ! ($direction == "up" || $direction == "down") ) |
|
|
|
|
{ |
|
|
|
|
if (0 == (int)$id || !($direction == "up" || $direction == "down")) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql = "SELECT rank FROM $TBL_USERINFO_DEF WHERE id = '$id'"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) < 1) |
|
|
|
|
{ |
|
|
|
|
if (Database::num_rows($result) < 1) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -167,42 +160,39 @@ function move_cat_rank($id, $direction) // up & down. |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* |
|
|
|
|
* @param - int $rank - actual rank of the category |
|
|
|
|
* @param - direction "up" or "down" : |
|
|
|
|
* "up" decrease the rank of gived $rank by switching rank with the just lower |
|
|
|
|
* "down" increase the rank of gived $rank by switching rank with the just upper |
|
|
|
|
* @param int $rank - actual rank of the category |
|
|
|
|
* @param string $direction "up" or "down" : |
|
|
|
|
* "up" decrease the rank of gived $rank by switching rank with the just lower |
|
|
|
|
* "down" increase the rank of gived $rank by switching rank with the just upper |
|
|
|
|
* |
|
|
|
|
* @return - boolean true if succeed, else bolean false |
|
|
|
|
* @return boolean true if succeed, else boolean false |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function move_cat_rank_by_rank($rank, $direction) // up & down. |
|
|
|
|
{ |
|
|
|
|
$TBL_USERINFO_DEF = Database :: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_DEF = Database:: get_course_table(userinfo_def); |
|
|
|
|
|
|
|
|
|
if ( 0 == (int) $rank || ! ($direction == "up" || $direction == "down") ) |
|
|
|
|
{ |
|
|
|
|
if (0 == (int)$rank || !($direction == "up" || $direction == "down")) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($direction == "down") // thus increase rank ... |
|
|
|
|
{ |
|
|
|
|
if ($direction == "down") { |
|
|
|
|
// thus increase rank ... |
|
|
|
|
$sort = "ASC"; |
|
|
|
|
$compOp = ">="; |
|
|
|
|
} |
|
|
|
|
else // thus decrease rank ... |
|
|
|
|
{ |
|
|
|
|
} else { |
|
|
|
|
// thus decrease rank ... |
|
|
|
|
$sort = "DESC"; |
|
|
|
|
$compOp = "<="; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// this request find the 2 line to be switched (on rank value) |
|
|
|
|
$sql = "SELECT id, rank FROM ".$TBL_USERINFO_DEF." WHERE rank $compOp $rank |
|
|
|
|
ORDER BY rank $sort LIMIT 2"; |
|
|
|
|
$sql = "SELECT id, rank FROM ".$TBL_USERINFO_DEF." |
|
|
|
|
WHERE rank $compOp $rank |
|
|
|
|
ORDER BY rank $sort LIMIT 2"; |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) < 2) |
|
|
|
|
{ |
|
|
|
|
if (Database::num_rows($result) < 2) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -210,9 +200,9 @@ function move_cat_rank_by_rank($rank, $direction) // up & down. |
|
|
|
|
$nextCat = Database::fetch_array($result); |
|
|
|
|
|
|
|
|
|
$sql1 = "UPDATE ".$TBL_USERINFO_DEF." SET rank ='".$nextCat['rank']. |
|
|
|
|
"' WHERE id = '".$thisCat['id']."'"; |
|
|
|
|
"' WHERE id = '".$thisCat['id']."'"; |
|
|
|
|
$sql2 = "UPDATE ".$TBL_USERINFO_DEF." SET rank ='".$thisCat['rank']. |
|
|
|
|
"' WHERE id = '".$nextCat['id']."'"; |
|
|
|
|
"' WHERE id = '".$nextCat['id']."'"; |
|
|
|
|
|
|
|
|
|
Database::query($sql1); |
|
|
|
|
Database::query($sql2); |
|
|
|
|
@ -220,185 +210,131 @@ function move_cat_rank_by_rank($rank, $direction) // up & down. |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author Hugues Peeters - peeters@ipm.ucl.ac.be |
|
|
|
|
* @param int $user_id |
|
|
|
|
* @param string $course_code |
|
|
|
|
* @param array $properties - should contain 'role', 'status', 'tutor_id' |
|
|
|
|
* |
|
|
|
|
* @param int $user_id |
|
|
|
|
* @param string $course_code |
|
|
|
|
* @param array $properties - should contain 'role', 'status', 'tutor_id' |
|
|
|
|
* |
|
|
|
|
* @return boolean true if succeed false otherwise |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function update_user_course_properties($user_id, $course_code, $properties, $horaire_name, $course_id) |
|
|
|
|
{ |
|
|
|
|
global $tbl_coursUser,$_user; |
|
|
|
|
$sqlChangeStatus = ""; |
|
|
|
|
$user_id = strval(intval($user_id));//filter integer |
|
|
|
|
$course_code = Database::escape_string($course_code); |
|
|
|
|
if ($user_id != $_user['user_id']) |
|
|
|
|
{ |
|
|
|
|
if ($user_id != $_user['user_id']) { |
|
|
|
|
$sqlChangeStatus = "status = '".Database::escape_string($properties['status'])."',"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//feature deprecated tutor_id = '".Database::escape_string($properties['tutor'])."' |
|
|
|
|
$sql = "UPDATE $tbl_coursUser |
|
|
|
|
SET ".$sqlChangeStatus." |
|
|
|
|
$sql = "UPDATE $tbl_coursUser |
|
|
|
|
SET ".$sqlChangeStatus." |
|
|
|
|
is_tutor = '".Database::escape_string($properties['tutor'])."' |
|
|
|
|
WHERE user_id = '".$user_id."' |
|
|
|
|
AND c_id = '".$course_id."'"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
//update official-code: Horaire |
|
|
|
|
WHERE |
|
|
|
|
user_id = '".$user_id."' AND |
|
|
|
|
c_id = '".$course_id."'"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
//update official-code: Horaire |
|
|
|
|
$table_user = Database::get_main_table(TABLE_MAIN_USER); |
|
|
|
|
$sql2 = "UPDATE $table_user |
|
|
|
|
SET official_code = '".$horaire_name."' |
|
|
|
|
WHERE user_id = '".$user_id."' |
|
|
|
|
"; |
|
|
|
|
|
|
|
|
|
$result2 = api_sql_query($sql2,__FILE__,__LINE__); |
|
|
|
|
|
|
|
|
|
//on récupère l'horaire |
|
|
|
|
|
|
|
|
|
$tbl_personal_agenda = Database :: get_main_table(TABLE_PERSONAL_AGENDA); |
|
|
|
|
$TABLECALDATES = Database :: get_course_table(cal_dates); |
|
|
|
|
$jour= 0 ; |
|
|
|
|
$sql3 = "SELECT date FROM $TABLECALDATES |
|
|
|
|
WHERE horaire_name = '".$horaire_name."' AND status = 'C' |
|
|
|
|
AND c_id = '".$course_id."' |
|
|
|
|
ORDER BY date |
|
|
|
|
"; |
|
|
|
|
|
|
|
|
|
$result3 = api_sql_query($sql3,__FILE__,__LINE__); |
|
|
|
|
$sql2 = "UPDATE $table_user |
|
|
|
|
SET official_code = '".$horaire_name."' |
|
|
|
|
WHERE user_id = '".$user_id."'"; |
|
|
|
|
Database::query($sql2); |
|
|
|
|
//on récupère l'horaire |
|
|
|
|
$tbl_personal_agenda = Database:: get_main_table(TABLE_PERSONAL_AGENDA); |
|
|
|
|
$TABLECALDATES = Database:: get_course_table(cal_dates); |
|
|
|
|
$jour = 0; |
|
|
|
|
$sql3 = "SELECT date FROM $TABLECALDATES |
|
|
|
|
WHERE |
|
|
|
|
horaire_name = '".$horaire_name."' AND |
|
|
|
|
status = 'C' AND |
|
|
|
|
c_id = '".$course_id."' |
|
|
|
|
ORDER BY date "; |
|
|
|
|
$result3 = Database::query($sql3); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result3) == '0') { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result3) == '0') |
|
|
|
|
{ |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
//on efface ce qui est déjà inscrit |
|
|
|
|
|
|
|
|
|
$sql4 = "DELETE FROM ".$tbl_personal_agenda." |
|
|
|
|
$sql4 = "DELETE FROM ".$tbl_personal_agenda." |
|
|
|
|
WHERE user = '".$user_id."' |
|
|
|
|
AND text = 'Pour le calendrier, ne pas effacer' |
|
|
|
|
|
|
|
|
|
"; |
|
|
|
|
api_sql_query($sql4,__FILE__,__LINE__); |
|
|
|
|
|
|
|
|
|
$sql = "DELETE FROM ".$tbl_personal_agenda." |
|
|
|
|
WHERE user = '".$user_id."' AND title = 'Examen*' |
|
|
|
|
"; |
|
|
|
|
api_sql_query($sql,__FILE__,__LINE__); |
|
|
|
|
//à chaque date dans l'horaire |
|
|
|
|
while($res3 = Database::fetch_array($result3)) { |
|
|
|
|
$date=$res3['date']; |
|
|
|
|
|
|
|
|
|
//on incrémente les jours de cours |
|
|
|
|
$date = api_get_utc_datetime($date); |
|
|
|
|
|
|
|
|
|
$jour= $jour+1; |
|
|
|
|
//on réinsère le nouvel horaire |
|
|
|
|
$sql = "INSERT ".$tbl_personal_agenda." (user,title,text,date) |
|
|
|
|
VALUES ('".$user_id."','".$jour."','Pour le calendrier, ne pas effacer','".$date."') |
|
|
|
|
"; |
|
|
|
|
api_sql_query($sql,__FILE__,__LINE__); |
|
|
|
|
|
|
|
|
|
// pour les inscrire examens dans agenda |
|
|
|
|
|
|
|
|
|
$sql5 = "SELECT date FROM $TABLECALDATES |
|
|
|
|
AND text = 'Pour le calendrier, ne pas effacer'"; |
|
|
|
|
Database::query($sql4); |
|
|
|
|
|
|
|
|
|
$sql = "DELETE FROM ".$tbl_personal_agenda." |
|
|
|
|
WHERE user = '".$user_id."' AND title = 'Examen*'"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
//à chaque date dans l'horaire |
|
|
|
|
while ($res3 = Database::fetch_array($result3)) { |
|
|
|
|
$date = $res3['date']; |
|
|
|
|
//on incrémente les jours de cours |
|
|
|
|
$date = api_get_utc_datetime($date); |
|
|
|
|
$jour = $jour + 1; |
|
|
|
|
//on réinsère le nouvel horaire |
|
|
|
|
$sql = "INSERT ".$tbl_personal_agenda." (user,title,text,date) |
|
|
|
|
VALUES ('".$user_id."','".$jour."','Pour le calendrier, ne pas effacer','".$date."')"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
// pour les inscrire examens dans agenda |
|
|
|
|
$sql5 = "SELECT date FROM $TABLECALDATES |
|
|
|
|
WHERE horaire_name = '".$horaire_name."' AND status = 'E' |
|
|
|
|
AND c_id = '".$course_id."' |
|
|
|
|
ORDER BY date |
|
|
|
|
"; |
|
|
|
|
|
|
|
|
|
$result5 = api_sql_query($sql5,__FILE__,__LINE__); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//à chaque date dans l'horaire |
|
|
|
|
while($res5 = Database::fetch_array($result5)) { |
|
|
|
|
$date=$res5['date']; |
|
|
|
|
$date = api_get_utc_datetime($date); |
|
|
|
|
|
|
|
|
|
//on réinsère le nouvel horaire |
|
|
|
|
$sql7 = "INSERT ".$tbl_personal_agenda." (user,title,date) |
|
|
|
|
VALUES ('".$user_id."','Examen*','".$date."') |
|
|
|
|
"; |
|
|
|
|
api_sql_query($sql7,__FILE__,__LINE__); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// fin horaire |
|
|
|
|
|
|
|
|
|
///// Francois Belisle Kezber |
|
|
|
|
// The only calling location does not process a result, so there is no need to return a value |
|
|
|
|
// Moreover, the Database:affectedrows() needs a parameter to work properly. |
|
|
|
|
// The code used to crash here because of the Database::affected_rows() call |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
if (Database::affected_rows() > 0) |
|
|
|
|
{ |
|
|
|
|
die('TRUE'); |
|
|
|
|
return true; |
|
|
|
|
$result5 = Database::query($sql5); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
die('FALSE'); |
|
|
|
|
return false; |
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
//à chaque date dans l'horaire |
|
|
|
|
while ($res5 = Database::fetch_array($result5)) { |
|
|
|
|
$date = $res5['date']; |
|
|
|
|
$date = api_get_utc_datetime($date); |
|
|
|
|
//on réinsère le nouvel horaire |
|
|
|
|
$sql7 = "INSERT ".$tbl_personal_agenda." (user,title,date) VALUES ('".$user_id."','Examen*','".$date."')"; |
|
|
|
|
Database::query($sql7); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------- |
|
|
|
|
CATEGORIES CONTENT TREATMENT |
|
|
|
|
--------------------------------------*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* fill a bloc for information category |
|
|
|
|
* |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - $definition_id, |
|
|
|
|
* @param - $user_id, |
|
|
|
|
* @param - $user_ip, |
|
|
|
|
* @param - $content |
|
|
|
|
* @return - boolean true if succeed, else bolean false |
|
|
|
|
* |
|
|
|
|
* @param $definition_id |
|
|
|
|
* @param $user_id |
|
|
|
|
* @param $user_ip |
|
|
|
|
* @param $content |
|
|
|
|
* |
|
|
|
|
* @return boolean true if succeed, else boolean false |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function fill_new_cat_content($definition_id, $user_id, $content="", $user_ip="") |
|
|
|
|
function fill_new_cat_content($definition_id, $user_id, $content = "", $user_ip = "") |
|
|
|
|
{ |
|
|
|
|
global $TBL_USERINFO_CONTENT; |
|
|
|
|
|
|
|
|
|
if (empty($user_ip)) |
|
|
|
|
{ |
|
|
|
|
if (empty($user_ip)) { |
|
|
|
|
$user_ip = $_SERVER['REMOTE_ADDR']; |
|
|
|
|
} |
|
|
|
|
$definition_id = strval(intval($definition_id)); |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$content = Database::escape_string(trim($content)); |
|
|
|
|
$user_ip = Database::escape_string(trim($user_ip)); |
|
|
|
|
$definition_id = strval(intval($definition_id)); |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$content = Database::escape_string(trim($content)); |
|
|
|
|
$user_ip = Database::escape_string(trim($user_ip)); |
|
|
|
|
|
|
|
|
|
if ( 0 == $definition_id || 0 == $user_id || $content == "") |
|
|
|
|
{ |
|
|
|
|
if (0 == $definition_id || 0 == $user_id || $content == "") { |
|
|
|
|
// Here we should introduce an error handling system... |
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Do not create if already exist |
|
|
|
|
|
|
|
|
|
$sql = "SELECT id FROM ".$TBL_USERINFO_CONTENT." |
|
|
|
|
WHERE definition_id = '$definition_id' |
|
|
|
|
AND user_id = '$user_id'"; |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) > 0) |
|
|
|
|
{ |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -418,36 +354,34 @@ function fill_new_cat_content($definition_id, $user_id, $content="", $user_ip="" |
|
|
|
|
* |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - $definition_id, |
|
|
|
|
* @param - $user_id, |
|
|
|
|
* @param - $user_ip, DEFAULT $REMOTE_ADDR |
|
|
|
|
* @param - $content ; if empty call delete the bloc |
|
|
|
|
* @return - boolean true if succeed, else bolean false |
|
|
|
|
* |
|
|
|
|
* @param $definition_id |
|
|
|
|
* @param $user_id |
|
|
|
|
* @param $user_ip DEFAULT $REMOTE_ADDR |
|
|
|
|
* @param $content if empty call delete the bloc |
|
|
|
|
* |
|
|
|
|
* @return boolean true if succeed, else boolean false |
|
|
|
|
*/ |
|
|
|
|
function edit_cat_content($definition_id, $user_id, $content ="", $user_ip="") |
|
|
|
|
function edit_cat_content($definition_id, $user_id, $content = "", $user_ip = "") |
|
|
|
|
{ |
|
|
|
|
global $TBL_USERINFO_CONTENT; |
|
|
|
|
$definition_id = strval(intval($definition_id)); |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$content = Database::escape_string(trim($content)); |
|
|
|
|
if (empty($user_ip)) |
|
|
|
|
{ |
|
|
|
|
$definition_id = strval(intval($definition_id)); |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$content = Database::escape_string(trim($content)); |
|
|
|
|
if (empty($user_ip)) { |
|
|
|
|
$user_ip = $_SERVER['REMOTE_ADDR']; |
|
|
|
|
} |
|
|
|
|
$user_ip = Database::escape_string($user_ip); |
|
|
|
|
|
|
|
|
|
if (0 == $user_id || 0 == $definition_id) |
|
|
|
|
{ |
|
|
|
|
if (0 == $user_id || 0 == $definition_id) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ( $content == "") |
|
|
|
|
{ |
|
|
|
|
if ($content == "") { |
|
|
|
|
return cleanout_cat_content($user_id, $definition_id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql= "UPDATE ".$TBL_USERINFO_CONTENT." SET |
|
|
|
|
$sql = "UPDATE ".$TBL_USERINFO_CONTENT." SET |
|
|
|
|
content = '$content', |
|
|
|
|
editor_ip = '$user_ip', |
|
|
|
|
edition_time = now() |
|
|
|
|
@ -461,21 +395,21 @@ function edit_cat_content($definition_id, $user_id, $content ="", $user_ip="") |
|
|
|
|
/** |
|
|
|
|
* clean the content of a bloc for information category |
|
|
|
|
* |
|
|
|
|
* @author - Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - $definition_id, |
|
|
|
|
* @param - $user_id |
|
|
|
|
* @return - boolean true if succeed, else bolean false |
|
|
|
|
* @author Hugues peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* |
|
|
|
|
* @param $definition_id |
|
|
|
|
* @param $user_id |
|
|
|
|
* |
|
|
|
|
* @return boolean true if succeed, else boolean false |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function cleanout_cat_content($user_id, $definition_id) |
|
|
|
|
{ |
|
|
|
|
global $TBL_USERINFO_CONTENT; |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$definition_id = strval(intval($definition_id)); |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$definition_id = strval(intval($definition_id)); |
|
|
|
|
|
|
|
|
|
if (0 == $user_id || 0 == $definition_id) |
|
|
|
|
{ |
|
|
|
|
if (0 == $user_id || 0 == $definition_id) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -487,26 +421,20 @@ function cleanout_cat_content($user_id, $definition_id) |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------- |
|
|
|
|
SHOW USER INFORMATION TREATMENT |
|
|
|
|
--------------------------------------*/ |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* get the user info from the user id |
|
|
|
|
* @author - Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - int $user_id user id as stored in the Dokeos main db |
|
|
|
|
* @return - array containg user info sort by categories rank |
|
|
|
|
* |
|
|
|
|
* @param int $user_id user id as stored in the Dokeos main db |
|
|
|
|
* |
|
|
|
|
* @return array containg user info sort by categories rank |
|
|
|
|
* each rank contains 'title', 'comment', 'content', 'cat_id' |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_course_user_info($user_id) |
|
|
|
|
{ |
|
|
|
|
$TBL_USERINFO_DEF = Database :: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_CONTENT = Database :: get_course_table(userinfo_content); |
|
|
|
|
$TBL_USERINFO_DEF = Database:: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_CONTENT = Database:: get_course_table(userinfo_content); |
|
|
|
|
|
|
|
|
|
$sql = "SELECT cat.id catId, cat.title, |
|
|
|
|
cat.comment , content.content |
|
|
|
|
@ -516,11 +444,9 @@ function get_course_user_info($user_id) |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) > 0) |
|
|
|
|
{ |
|
|
|
|
while ($userInfo = Database::fetch_array($result, 'ASSOC')) |
|
|
|
|
{ |
|
|
|
|
$userInfos[]=$userInfo; |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
while ($userInfo = Database::fetch_array($result, 'ASSOC')) { |
|
|
|
|
$userInfos[] = $userInfo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $userInfos; |
|
|
|
|
@ -529,27 +455,23 @@ function get_course_user_info($user_id) |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* get the main user information |
|
|
|
|
* @author - Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - int $user_id user id as stored in the Dokeos main db |
|
|
|
|
* @return - array containing user info as 'lastName', 'firstName' |
|
|
|
|
* 'email', 'role' |
|
|
|
|
* |
|
|
|
|
* @param int $user_id user id as stored in the Dokeos main db |
|
|
|
|
* |
|
|
|
|
* @return array containing user info as 'lastName', 'firstName', 'email', 'role' |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function get_main_user_info($user_id, $courseCode) |
|
|
|
|
{ |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$user_id = strval(intval($user_id)); |
|
|
|
|
$courseCode = Database::escape_string($courseCode); |
|
|
|
|
if (0 == $user_id) |
|
|
|
|
{ |
|
|
|
|
if (0 == $user_id) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$table_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); |
|
|
|
|
$table_user = Database::get_main_table(TABLE_MAIN_USER); |
|
|
|
|
$sql = "SELECT u.*, u.lastname lastName, u.firstname firstName, |
|
|
|
|
@ -562,36 +484,33 @@ function get_main_user_info($user_id, $courseCode) |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) > 0) |
|
|
|
|
{ |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
$userInfo = Database::fetch_array($result, 'ASSOC'); |
|
|
|
|
$userInfo['password']=''; |
|
|
|
|
$userInfo['password'] = ''; |
|
|
|
|
|
|
|
|
|
return $userInfo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* get the user content of a categories plus the categories definition |
|
|
|
|
* @author - Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @param - int $userId - id of the user |
|
|
|
|
* @param - int $catId - id of the categories |
|
|
|
|
* @return - array containing 'catId', 'title', 'comment', |
|
|
|
|
* 'nbline', 'contentId' and 'content' |
|
|
|
|
* |
|
|
|
|
* @param int $userId id of the user |
|
|
|
|
* @param int $catId id of the categories |
|
|
|
|
* |
|
|
|
|
* @return array containing 'catId', 'title', 'comment', 'nbline', 'contentId' and 'content' |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function get_cat_content($userId, $catId) |
|
|
|
|
{ |
|
|
|
|
$TBL_USERINFO_DEF = Database :: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_CONTENT = Database :: get_course_table(userinfo_content); |
|
|
|
|
$TBL_USERINFO_DEF = Database:: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_CONTENT = Database:: get_course_table(userinfo_content); |
|
|
|
|
|
|
|
|
|
$userId = strval(intval($userId)); |
|
|
|
|
$catId = strval(intval($catId)); |
|
|
|
|
$catId = strval(intval($catId)); |
|
|
|
|
$sql = "SELECT cat.id catId, cat.title, |
|
|
|
|
cat.comment , cat.line_count, |
|
|
|
|
content.id contentId, content.content |
|
|
|
|
@ -601,57 +520,57 @@ function get_cat_content($userId, $catId) |
|
|
|
|
WHERE cat.id = '$catId' "; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) > 0) |
|
|
|
|
{ |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
$catContent = Database::fetch_array($result, 'ASSOC'); |
|
|
|
|
$catContent['nbline'] = $catContent['line_count']; |
|
|
|
|
|
|
|
|
|
return $catContent; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* get the definition of a category |
|
|
|
|
* |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @author - Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @param - int $catId - id of the categories |
|
|
|
|
* @return - array containing 'id', 'title', 'comment', and 'nbline', |
|
|
|
|
* @author Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @author Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* |
|
|
|
|
* @param int $catId - id of the categories |
|
|
|
|
* |
|
|
|
|
* @return array containing 'id', 'title', 'comment', and 'nbline', |
|
|
|
|
*/ |
|
|
|
|
function get_cat_def($catId) |
|
|
|
|
{ |
|
|
|
|
$TBL_USERINFO_DEF = Database :: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_DEF = Database:: get_course_table(userinfo_def); |
|
|
|
|
|
|
|
|
|
$catId = strval(intval($catId)); |
|
|
|
|
$sql = "SELECT id, title, comment, line_count, rank FROM ".$TBL_USERINFO_DEF." WHERE id = '$catId'"; |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) > 0) |
|
|
|
|
{ |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
$catDef = Database::fetch_array($result, 'ASSOC'); |
|
|
|
|
$catDef['nbline'] = $catDef['line_count']; |
|
|
|
|
|
|
|
|
|
return $catDef; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* get list of all this course categories |
|
|
|
|
* |
|
|
|
|
* @author - Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @author - Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @return - array containing a list of arrays. |
|
|
|
|
* @author Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
|
|
|
* @author Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @return array containing a list of arrays. |
|
|
|
|
* And each of these arrays contains |
|
|
|
|
* 'catId', 'title', 'comment', and 'nbline', |
|
|
|
|
*/ |
|
|
|
|
function get_cat_def_list() |
|
|
|
|
{ |
|
|
|
|
$TBL_USERINFO_DEF = Database :: get_course_table(userinfo_def); |
|
|
|
|
$TBL_USERINFO_DEF = Database:: get_course_table(userinfo_def); |
|
|
|
|
|
|
|
|
|
$sql = "SELECT id catId, title, comment , line_count |
|
|
|
|
FROM ".$TBL_USERINFO_DEF." |
|
|
|
|
@ -659,11 +578,9 @@ function get_cat_def_list() |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) > 0) |
|
|
|
|
{ |
|
|
|
|
while ($cat_def = Database::fetch_array($result, 'ASSOC')) |
|
|
|
|
{ |
|
|
|
|
$cat_def_list[]=$cat_def; |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
while ($cat_def = Database::fetch_array($result, 'ASSOC')) { |
|
|
|
|
$cat_def_list[] = $cat_def; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $cat_def_list; |
|
|
|
|
@ -674,13 +591,15 @@ function get_cat_def_list() |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* transform content in a html display |
|
|
|
|
* @author - Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* @param - string $string string to htmlize |
|
|
|
|
* @ return - string htmlized |
|
|
|
|
* @author Hugues Peeters <peeters@ipm.ucl.ac.be> |
|
|
|
|
* |
|
|
|
|
* @param string $string string to htmlize |
|
|
|
|
* |
|
|
|
|
* @return string htmlized |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function htmlize($phrase) |
|
|
|
|
function htmlize($string) |
|
|
|
|
{ |
|
|
|
|
global $charset; |
|
|
|
|
return nl2br(htmlspecialchars($phrase,ENT_QUOTES,$charset)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return nl2br(htmlspecialchars($string, ENT_QUOTES, $charset)); |
|
|
|
|
} |
|
|
|
|
|