Merge branch '1.9.x' of github.com:chamilo/chamilo-lms into 1.9.x

1.9.x
Yannick Warnier 11 years ago
commit 466e086899
  1. 4
      main/admin/user_edit.php
  2. 714
      main/admin/user_move_stats.php
  3. 158
      main/inc/lib/course.lib.php
  4. 178
      main/inc/lib/sessionmanager.lib.php

@ -260,7 +260,6 @@ $creatorInfo = api_get_user_info($user_data['creator_id']);
$date = sprintf(get_lang('CreatedByXYOnZ'), 'user_information.php?user_id='.$user_data['creator_id'], $creatorInfo['username'], $user_data['registration_date']);
$form->addElement('html', '<div class="control-group"><label class="control-label">'.get_lang('RegistrationDate').'</label><div class="controls">'.$date.'</div></div>');
if (!$user_data['platform_admin']) {
// Expiration Date
$form->addElement('radio', 'radio_expiration_date', get_lang('ExpirationDate'), get_lang('NeverExpires'), 0);
@ -274,7 +273,6 @@ if (!$user_data['platform_admin']) {
$form->addElement('radio', 'active', '', get_lang('Inactive'), 0);
}
// EXTRA FIELDS
$return_params = UserManager::set_extra_fields_in_form($form, $extra_data, 'user_edit', true, $user_id);
$jquery_ready_content = $return_params['jquery_ready_content'];
@ -432,7 +430,7 @@ if ($form->validate()) {
} else {
UserManager::update_extra_field_value($user_id, substr($key, 6), $value);
}
} elseif (strpos($key,'remove_extra') !== false) {
} elseif (strpos($key, 'remove_extra') !== false) {
$extra_value = Security::filter_filename(urldecode(key($value)));
// To remove from user_field_value and folder
UserManager::update_extra_field_value($user_id, substr($key,13), $extra_value);

File diff suppressed because it is too large Load Diff

@ -1379,7 +1379,7 @@ class CourseManager
$session_id = intval($session_id);
$course_code = Database::escape_string($course_code);
$where = array();
if (empty($order_by)) {
$order_by = 'user.lastname, user.firstname';
if (api_is_western_name_order()) {
@ -1917,6 +1917,13 @@ class CourseManager
}
}
/**
* @param int $session_id
* @param string $course_code
* @param string $separator
* @param bool $add_link_to_profile
* @return null|string
*/
public static function get_coachs_from_course_to_string(
$session_id = 0,
$course_code = null,
@ -1943,6 +1950,11 @@ class CourseManager
return $coaches_to_string;
}
/**
* @param string $course_code
* @param int $session_id
* @return string
*/
public static function get_coach_list_from_course_code_to_string($course_code, $session_id)
{
$tutor_data = '';
@ -1960,11 +1972,13 @@ class CourseManager
}
/**
* Return user info array of all users registered in the specified course
* this includes the users of the course itsel and the users of all linked courses.
* Return user info array of all users registered in the specified course
* this includes the users of the course itself and the users of all linked courses.
*
* @param array $course_info
* @return array with user info
* @param string $course_code
* @param bool $with_sessions
* @param int $session_id
* @return array with user info
*/
public static function get_real_and_linked_user_list($course_code, $with_sessions = true, $session_id = 0)
{
@ -1991,14 +2005,14 @@ class CourseManager
}
/**
* Return an array of arrays, listing course info of all courses in the list
* linked to the real course $real_course_code, to which the user $user_id is subscribed.
* Return an array of arrays, listing course info of all courses in the list
* linked to the real course $real_course_code, to which the user $user_id is subscribed.
*
* @param $user_id, the id (int) of the user
* @param $real_course_code, the id (char) of the real course
* @param $user_id, the id (int) of the user
* @param $real_course_code, the id (char) of the real course
*
* @return array of course info arrays
* @deprecated virtual course feature is not supported
* @return array of course info arrays
* @deprecated virtual course feature is not supported
*/
public static function get_list_of_virtual_courses_for_specific_user_and_real_course($user_id, $course_code)
{
@ -2027,9 +2041,9 @@ class CourseManager
/**
* Get the list of groups from the course
* @param string Course code
* @param int Session ID (optional)
* @param boolean get empty groups (optional)
* @param string $course_code
* @param int $session_id Session ID (optional)
* @param boolean $in_get_empty_group get empty groups (optional)
* @return array List of groups info
*/
public static function get_group_list_of_course($course_code, $session_id = 0, $in_get_empty_group = 0)
@ -2482,10 +2496,12 @@ class CourseManager
$course_found = true;
$course_sort = $courses['sort'];
if ($counter == 0) {
$sql = 'UPDATE '.$TABLECOURSUSER.' SET sort = sort+1 WHERE user_id= "'.$user_id.'" AND relation_type<>'.COURSE_RELATION_TYPE_RRHH.' AND user_course_cat="0" AND sort > "'.$course_sort.'"';
$sql = 'UPDATE '.$TABLECOURSUSER.' SET sort = sort+1
WHERE user_id= "'.$user_id.'" AND relation_type<>'.COURSE_RELATION_TYPE_RRHH.' AND user_course_cat="0" AND sort > "'.$course_sort.'"';
$course_sort++;
} else {
$sql = 'UPDATE '.$TABLECOURSUSER.' SET sort = sort+1 WHERE user_id= "'.$user_id.'" AND relation_type<>'.COURSE_RELATION_TYPE_RRHH.' AND user_course_cat="0" AND sort >= "'.$course_sort.'"';
$sql = 'UPDATE '.$TABLECOURSUSER.' SET sort = sort+1
WHERE user_id= "'.$user_id.'" AND relation_type<>'.COURSE_RELATION_TYPE_RRHH.' AND user_course_cat="0" AND sort >= "'.$course_sort.'"';
}
Database::query($sql);
break;
@ -2610,7 +2626,11 @@ class CourseManager
}
}
public static function get_special_course_list() {
/**
* @return array
*/
public static function get_special_course_list()
{
$tbl_course_field = Database :: get_main_table(TABLE_MAIN_COURSE_FIELD);
$tbl_course_field_value = Database :: get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES);
@ -2643,12 +2663,13 @@ class CourseManager
/**
* Get list of courses for a given user
* @param int user ID
* @param boolean Whether to include courses from session or not
* @param int $user_id
* @param boolean $include_sessions Whether to include courses from session or not
* @return array List of codes and db names
* @author isaac flores paz
*/
public static function get_courses_list_by_user_id($user_id, $include_sessions = false) {
public static function get_courses_list_by_user_id($user_id, $include_sessions = false)
{
$user_id = intval($user_id);
$course_list = array();
$codes = array();
@ -2712,6 +2733,7 @@ class CourseManager
}
}
}
return $course_list;
}
@ -2876,7 +2898,8 @@ class CourseManager
}
/**
* Update course attributes. Will only update attributes with a non-empty value. Note that you NEED to check that your attributes are valid before using this function
* Update course attributes. Will only update attributes with a non-empty value.
* Note that you NEED to check that your attributes are valid before using this function
*
* @param int Course id
* @param array Associative array with field names as keys and field values as values
@ -3014,9 +3037,10 @@ class CourseManager
$extra_fields = array();
while($rowcf = Database::fetch_array($res_field)) {
$extra_field_id = $rowcf['id'];
$sql_field_value = "SELECT field_value FROM $tbl_course_field_value WHERE course_code = '$code' AND field_id = '$extra_field_id' ";
$res_field_value = Database::query($sql_field_value);
if(Database::num_rows($res_field_value) > 0 ) {
$sql = "SELECT field_value FROM $tbl_course_field_value
WHERE course_code = '$code' AND field_id = '$extra_field_id'";
$res_field_value = Database::query($sql);
if (Database::num_rows($res_field_value) > 0 ) {
$r_field_value = Database::fetch_row($res_field_value);
$rowcf['extra_field_value'] = $r_field_value[0];
}
@ -3042,8 +3066,9 @@ class CourseManager
if(!$row) {
return null;
} else {
$sql_field_value = "SELECT field_value FROM $tbl_course_field_value WHERE course_code = '$code' AND field_id = '{$row->id}';";
$res_field_value = Database::query($sql_field_value);
$sql = "SELECT field_value FROM $tbl_course_field_value
WHERE course_code = '$code' AND field_id = '{$row->id}';";
$res_field_value = Database::query($sql);
$row_field_value = Database::fetch_object($res_field_value);
if(!$row_field_value) {
return null;
@ -3199,9 +3224,12 @@ class CourseManager
//Deleting assigned courses to hrm_id
if ($_configuration['multiple_access_urls']) {
$sql = "SELECT s.course_code FROM $tbl_course_rel_user s INNER JOIN $tbl_course_rel_access_url a ON (a.course_code = s.course_code) WHERE user_id = $hr_manager_id AND relation_type=".COURSE_RELATION_TYPE_RRHH." AND access_url_id = ".api_get_current_access_url_id()."";
$sql = "SELECT s.course_code FROM $tbl_course_rel_user s
INNER JOIN $tbl_course_rel_access_url a ON (a.course_code = s.course_code)
WHERE user_id = $hr_manager_id AND relation_type=".COURSE_RELATION_TYPE_RRHH." AND access_url_id = ".api_get_current_access_url_id()."";
} else {
$sql = "SELECT course_code FROM $tbl_course_rel_user WHERE user_id = $hr_manager_id AND relation_type=".COURSE_RELATION_TYPE_RRHH." ";
$sql = "SELECT course_code FROM $tbl_course_rel_user
WHERE user_id = $hr_manager_id AND relation_type=".COURSE_RELATION_TYPE_RRHH." ";
}
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
@ -3574,10 +3602,10 @@ class CourseManager
public static function display_special_courses($user_id, $load_dirs = false)
{
$user_id = intval($user_id);
$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
$tbl_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
$tbl_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$special_course_list = self::get_special_course_list();
$special_course_list = self::get_special_course_list();
$with_special_courses = $without_special_courses = '';
if (!empty($special_course_list)) {
@ -3589,7 +3617,8 @@ class CourseManager
$sql = "SELECT course.id, course.code, course.subscribe subscr, course.unsubscribe unsubscr, course_rel_user.status status,
course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat, course_rel_user.user_id
FROM $tbl_course course
LEFT JOIN $tbl_course_user course_rel_user ON course.code = course_rel_user.course_code AND course_rel_user.user_id = '$user_id'
LEFT JOIN $tbl_course_user course_rel_user
ON course.code = course_rel_user.course_code AND course_rel_user.user_id = '$user_id'
WHERE $with_special_courses group by course.code";
$rs_special_course = Database::query($sql);
@ -3604,8 +3633,6 @@ class CourseManager
}
$params = array();
// Get notifications.
//$course['id_session'] = null;
//$course['status'] = $course['status'];
$course_info['id_session'] = null;
$course_info['status'] = $course['status'];
@ -3665,6 +3692,7 @@ class CourseManager
}
}
}
return $html;
}
@ -3703,6 +3731,7 @@ class CourseManager
// Step 2: We display the course without a user category.
$html .= self :: display_courses_in_category(0, $load_dirs);
return $html;
}
@ -3717,10 +3746,10 @@ class CourseManager
{
$user_id = api_get_user_id();
// Table definitions
$TABLECOURS = Database :: get_main_table(TABLE_MAIN_COURSE);
$TABLECOURSUSER = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$TABLECOURS = Database :: get_main_table(TABLE_MAIN_COURSE);
$TABLECOURSUSER = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$TABLE_ACCESS_URL_REL_COURSE = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$current_url_id = api_get_current_access_url_id();
$current_url_id = api_get_current_access_url_id();
// Get course list auto-register
$special_course_list = self::get_special_course_list();
@ -3763,7 +3792,6 @@ class CourseManager
$html = '';
$course_list = array();
$showCustomIcon = api_get_configuration_value('course_images_in_courses_list');
// Browse through all courses.
@ -3863,6 +3891,7 @@ class CourseManager
}
$html .= self::course_item_html($params, $is_subcontent);
}
return $html;
}
@ -3871,7 +3900,8 @@ class CourseManager
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
* @return array containing all the titles of the user defined courses with the id as key of the array
*/
function get_user_course_categories() {
public static function get_user_course_categories()
{
global $_user;
$output = array();
$table_category = Database::get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
@ -4189,7 +4219,8 @@ class CourseManager
* if the course code doest not exist in the DB the same course code will be returned
* @return string wanted unused code
*/
public static function generate_nice_next_course_code($wanted_code) {
public static function generate_nice_next_course_code($wanted_code)
{
require_once api_get_path(LIBRARY_PATH).'add_course.lib.inc.php';
$course_code_ok = !self::course_code_exists($wanted_code);
if (!$course_code_ok) {
@ -4209,6 +4240,7 @@ class CourseManager
}
return false;
}
return $wanted_code;
}
@ -4260,6 +4292,7 @@ class CourseManager
}
return false;
}
return false;
}
@ -4306,11 +4339,10 @@ class CourseManager
*/
public static function get_user_course_vote($user_id, $course_id, $session_id = null, $url_id = null)
{
$table_user_course_vote = Database::get_main_table(TABLE_MAIN_USER_REL_COURSE_VOTE);
$session_id = !isset($session_id) ? api_get_session_id() : intval($session_id);
$url_id = empty($url_id) ? api_get_current_access_url_id() : intval($url_id);
$table_user_course_vote = Database::get_main_table(TABLE_MAIN_USER_REL_COURSE_VOTE);
$session_id = !isset($session_id) ? api_get_session_id() : intval($session_id);
$url_id = empty($url_id) ? api_get_current_access_url_id() : intval($url_id);
$user_id = intval($user_id);
if (empty($user_id)) {
@ -4324,7 +4356,14 @@ class CourseManager
'url_id' => $url_id
);
$result = Database::select('vote', $table_user_course_vote, array('where' => array('user_id = ? AND c_id = ? AND session_id = ? AND url_id = ?' => $params)), 'first');
$result = Database::select(
'vote',
$table_user_course_vote,
array('where' => array(
'user_id = ? AND c_id = ? AND session_id = ? AND url_id = ?' => $params)
),
'first'
);
if (!empty($result)) {
return $result['vote'];
}
@ -4756,7 +4795,6 @@ class CourseManager
return $row[0];
}
/**
* Get available le courses count
* @param int Access URL ID (optional)
@ -4796,6 +4834,7 @@ class CourseManager
}
$res = Database::query($sql);
$row = Database::fetch_row($res);
return $row[0];
}
@ -4897,22 +4936,27 @@ class CourseManager
// Delete only teacher relations that doesn't match the selected teachers
$cond = null;
if (count($teachers)>0) {
foreach($teachers as $key) {
foreach ($teachers as $key) {
$key = Database::escape_string($key);
$cond.= " AND user_id <> '".$key."'";
}
}
$sql = 'DELETE FROM '.$course_user_table.' WHERE course_code="'.Database::escape_string($course_code).'" AND status="1"'.$cond;
$sql = 'DELETE FROM '.$course_user_table.'
WHERE course_code="'.Database::escape_string($course_code).'" AND status="1"'.$cond;
Database::query($sql);
}
if (count($teachers) > 0) {
foreach ($teachers as $userId) {
$userId = intval($userId);
// We check if the teacher is already subscribed in this course
$sql = 'SELECT 1 FROM '.$course_user_table.' WHERE user_id = "'.$userId.'" AND course_code = "'.$course_code.'" ';
$sql = 'SELECT 1 FROM '.$course_user_table.'
HERE user_id = "'.$userId.'" AND course_code = "'.$course_code.'" ';
$result = Database::query($sql);
if (Database::num_rows($result)) {
$sql = 'UPDATE '.$course_user_table.' SET status = "1" WHERE course_code = "'.$course_code.'" AND user_id = "'.$userId.'" ';
$sql = 'UPDATE '.$course_user_table.' SET status = "1"
WHERE course_code = "'.$course_code.'" AND user_id = "'.$userId.'" ';
} else {
$sql = "INSERT INTO ".$course_user_table . " SET
course_code = '".Database::escape_string($course_code). "',
@ -5011,6 +5055,7 @@ class CourseManager
$pluginCourseSettings
);
}
return $courseSettings;
}
@ -5059,7 +5104,8 @@ class CourseManager
$courseSetting = Database::get_course_table(TABLE_COURSE_SETTING);
$courseId = intval($courseId);
$variable = Database::escape_string($variable);
$sql = "SELECT variable FROM $courseSetting WHERE c_id = $courseId AND variable = '$variable'";
$sql = "SELECT variable FROM $courseSetting
WHERE c_id = $courseId AND variable = '$variable'";
$result = Database::query($sql);
return Database::num_rows($result) > 0;
}
@ -5113,8 +5159,8 @@ class CourseManager
WHERE
course_code = $courseCode AND
session_id = $sessionId AND
login_course_date BETWEEN $startDate AND $endDate
";
login_course_date BETWEEN '$startDate' AND '$endDate'
";
$result = Database::query($sql);
@ -5168,9 +5214,11 @@ class CourseManager
FROM $forum f
where f.c_id = %s and f.session_id = %s";
}
$sql_query = sprintf($sql, $courseId, $sessionId);
$result = Database::query($sql_query);
$sql = sprintf($sql, intval($courseId), intval($sessionId));
$result = Database::query($sql);
$row = Database::fetch_array($result);
return $row['count'];
}

@ -536,15 +536,18 @@ class SessionManager
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
$sql = "select count(*) as total_rows
$sessionId = intval($sessionId);
$sql = "SELECT count(*) as total_rows
FROM $tbl_lp_view v
INNER JOIN $tbl_lp l ON l.id = v.lp_id
INNER JOIN $tbl_user u ON u.user_id = v.user_id
INNER JOIN $tbl_course c";
$sql .= ' WHERE v.session_id = ' . $sessionId;
INNER JOIN $tbl_course c
WHERE v.session_id = " . $sessionId;
$result_rows = Database::query($sql);
$row = Database::fetch_array($result_rows);
$num = $row['total_rows'];
return $num;
}
@ -569,7 +572,6 @@ class SessionManager
$course = api_get_course_info_by_id($courseId);
//getting all the students of the course
//we are not using this because it only returns user ids
/* if (empty($sessionId)
@ -604,8 +606,8 @@ class SessionManager
}
$sql = "SELECT u.user_id, u.lastname, u.firstname, u.username, u.email, s.course_code
FROM $session_course_user s
INNER JOIN $user u ON u.user_id = s.id_user
FROM $session_course_user s
INNER JOIN $user u ON u.user_id = s.id_user
$where $order $limit";
$sql_query = sprintf($sql, Database::escape_string($course['code']), $sessionId);
@ -903,19 +905,21 @@ class SessionManager
//total
if ($getAllSessions) {
$sql = "SELECT count(w.id) as count
FROM $workTable w
LEFT JOIN $workTableAssignment a ON (a.publication_id = w.id AND a.c_id = w.c_id)
WHERE w.c_id = %s
AND parent_id = 0
AND active IN (1, 0)";
FROM $workTable w
LEFT JOIN $workTableAssignment a
ON (a.publication_id = w.id AND a.c_id = w.c_id)
WHERE w.c_id = %s
AND parent_id = 0
AND active IN (1, 0)";
} else {
$sql = "SELECT count(w.id) as count
FROM $workTable w
LEFT JOIN $workTableAssignment a ON (a.publication_id = w.id AND a.c_id = w.c_id)
WHERE w.c_id = %s
AND parent_id = 0
AND active IN (1, 0)
AND session_id = %s";
FROM $workTable w
LEFT JOIN $workTableAssignment a
ON (a.publication_id = w.id AND a.c_id = w.c_id)
WHERE w.c_id = %s
AND parent_id = 0
AND active IN (1, 0)
AND session_id = %s";
}
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
@ -928,10 +932,10 @@ class SessionManager
*/
if ($getAllSessions) {
$sql = "SELECT count(distinct page_id) as count FROM $wiki
WHERE c_id = %s";
WHERE c_id = %s";
} else {
$sql = "SELECT count(distinct page_id) as count FROM $wiki
WHERE c_id = %s and session_id = %s";
WHERE c_id = %s and session_id = %s";
}
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
$result = Database::query($sql_query);
@ -945,9 +949,12 @@ class SessionManager
$survey_list = survey_manager::get_surveys($course['code'], $sessionId);
$surveys_total = count($survey_list);
$survey_data = array();
foreach ($survey_list as $survey) {
$user_list = survey_manager::get_people_who_filled_survey($survey['survey_id'], false, $course['real_id']);
$user_list = survey_manager::get_people_who_filled_survey(
$survey['survey_id'],
false,
$course['real_id']
);
foreach ($user_list as $user_id) {
isset($survey_user_list[$user_id]) ? $survey_user_list[$user_id] ++ : $survey_user_list[$user_id] = 1;
}
@ -966,11 +973,11 @@ class SessionManager
foreach ($users as $user) {
//Course description
$sql = "SELECT count(*) as count
FROM $table_stats_access
WHERE access_tool = 'course_description'
AND access_cours_code = '%s'
AND access_session_id = %s
AND access_user_id = %s ";
FROM $table_stats_access
WHERE access_tool = 'course_description'
AND access_cours_code = '%s'
AND access_session_id = %s
AND access_user_id = %s ";
$sql_query = sprintf($sql, $course['code'], $user['id_session'], $user['user_id']);
$result = Database::query($sql_query);
@ -1003,7 +1010,6 @@ class SessionManager
$assignments_progress = 0;
}
//Wiki
//total revisions per user
$sql = "SELECT count(*) as count
@ -1015,12 +1021,12 @@ class SessionManager
$wiki_revisions = $row['count'];
//count visited wiki pages
$sql = "SELECT count(distinct default_value) as count
FROM $table_stats_default
WHERE default_user_id = %s
AND default_cours_code = '%s'
AND default_event_type = 'wiki_page_view'
AND default_value_type = 'wiki_page_id'
AND c_id = %s";
FROM $table_stats_default
WHERE default_user_id = %s
AND default_cours_code = '%s'
AND default_event_type = 'wiki_page_view'
AND default_value_type = 'wiki_page_id'
AND c_id = %s";
$sql_query = sprintf($sql, $user['user_id'], $course['code'], $course['real_id']);
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
@ -1033,7 +1039,6 @@ class SessionManager
$wiki_progress = 0;
}
//Surveys
$surveys_done = (isset($survey_user_list[$user['user_id']]) ? $survey_user_list[$user['user_id']] : 0);
$surveys_left = $surveys_total - $surveys_done;
@ -1113,10 +1118,11 @@ class SessionManager
'surveys_progress' => sprintf($linkSurvey, $surveys_progress . '%'),
);
}
return $table;
}
function get_number_of_tracking_access_overview()
public static function get_number_of_tracking_access_overview()
{
// database table definition
$track_e_course_access = Database :: get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS);
@ -1130,7 +1136,7 @@ class SessionManager
* @author César Perales <cesar.perales@beeznest.com>, Beeznest Team
* @version Chamilo 1.9.6
*/
static function get_user_data_access_tracking_overview(
public static function get_user_data_access_tracking_overview(
$sessionId,
$courseId,
$studentId = 0,
@ -1163,6 +1169,7 @@ class SessionManager
$is_western_name_order = api_is_western_name_order();
}
$where = null;
if (isset($sessionId) && !empty($sessionId)) {
$where = sprintf(" WHERE a.session_id = %d", $sessionId);
}
@ -1286,7 +1293,8 @@ class SessionManager
if (!$session_name_ok) {
$table = Database::get_main_table(TABLE_MAIN_SESSION);
$session_name = Database::escape_string($session_name);
$sql = "SELECT count(*) as count FROM $table WHERE name LIKE '$session_name%'";
$sql = "SELECT count(*) as count FROM $table
WHERE name LIKE '$session_name%'";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
$row = Database::fetch_array($result);
@ -1513,8 +1521,9 @@ class SessionManager
{
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$id_promotion = intval($id_promotion);
$update_sql = "UPDATE $tbl_session SET promotion_id=0 WHERE promotion_id='$id_promotion'";
if (Database::query($update_sql)) {
$sql = "UPDATE $tbl_session SET promotion_id=0
WHERE promotion_id='$id_promotion'";
if (Database::query($sql)) {
return true;
} else {
return false;
@ -1783,18 +1792,19 @@ class SessionManager
if ($updateTotal) {
// Count users in this session-course relation
$sql = "SELECT COUNT(id_user) as nbUsers FROM $table
WHERE
id_session='$sessionId' AND
course_code='$courseCode' AND
status<>2";
$sql = "SELECT COUNT(id_user) as nbUsers
FROM $table
WHERE
id_session='$sessionId' AND
course_code='$courseCode' AND
status<>2";
$result = Database::query($sql);
list($userCount) = Database::fetch_array($result);
// update the session-course relation to add the users total
$sql = "UPDATE $tableSessionCourse SET
nbr_users = $userCount
WHERE id_session='$sessionId' AND course_code = '$courseCode'";
nbr_users = $userCount
WHERE id_session='$sessionId' AND course_code = '$courseCode'";
Database::query($sql);
}
}
@ -2200,7 +2210,8 @@ class SessionManager
$rowsf = Database::fetch_array($ressf);
$tms = time();
$sqlsfv = "SELECT * FROM $t_sfv WHERE session_id = '$session_id' AND field_id = '" . $rowsf['id'] . "' ORDER BY id";
$sqlsfv = "SELECT * FROM $t_sfv
WHERE session_id = '$session_id' AND field_id = '" . $rowsf['id'] . "' ORDER BY id";
$ressfv = Database::query($sqlsfv);
$n = Database::num_rows($ressfv);
if ($n > 1) {
@ -2213,7 +2224,8 @@ class SessionManager
}
$rowsfv = Database::fetch_array($ressfv);
if ($rowsfv['field_value'] != $fvalues) {
$sqlu = "UPDATE $t_sfv SET field_value = '$fvalues', tms = FROM_UNIXTIME($tms) WHERE id = " . $rowsfv['id'];
$sqlu = "UPDATE $t_sfv SET field_value = '$fvalues', tms = FROM_UNIXTIME($tms)
WHERE id = " . $rowsfv['id'];
$resu = Database::query($sqlu);
return($resu ? true : false);
}
@ -2223,7 +2235,8 @@ class SessionManager
//we need to update the current record
$rowsfv = Database::fetch_array($ressfv);
if ($rowsfv['field_value'] != $fvalues) {
$sqlu = "UPDATE $t_sfv SET field_value = '$fvalues', tms = FROM_UNIXTIME($tms) WHERE id = " . $rowsfv['id'];
$sqlu = "UPDATE $t_sfv SET field_value = '$fvalues', tms = FROM_UNIXTIME($tms)
WHERE id = " . $rowsfv['id'];
//error_log('UM::update_extra_field_value: '.$sqlu);
$resu = Database::query($sqlu);
return($resu ? true : false);
@ -2231,10 +2244,9 @@ class SessionManager
return true;
} else {
$sqli = "INSERT INTO $t_sfv (session_id,field_id,field_value,tms) " .
"VALUES ('$session_id'," . $rowsf['id'] . ",'$fvalues',FROM_UNIXTIME($tms))";
//error_log('UM::update_extra_field_value: '.$sqli);
"VALUES ('$session_id'," . $rowsf['id'] . ",'$fvalues',FROM_UNIXTIME($tms))";
$resi = Database::query($sqli);
return($resi ? true : false);
return $resi ? true : false;
}
} else {
return false; //field not found
@ -2561,7 +2573,9 @@ class SessionManager
{
$tbl_session_category = Database::get_main_table(TABLE_MAIN_SESSION_CATEGORY);
$id = api_get_current_access_url_id();
$sql = 'SELECT * FROM ' . $tbl_session_category . ' WHERE access_url_id ="' . $id . '" ORDER BY name ASC';
$sql = 'SELECT * FROM ' . $tbl_session_category . '
WHERE access_url_id ="' . $id . '"
ORDER BY name ASC';
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
$data = Database::store_result($result, 'ASSOC');
@ -2969,7 +2983,8 @@ class SessionManager
// select the courses
$sql = "SELECT * FROM $tbl_course c
INNER JOIN $tbl_session_rel_course src ON c.code = src.course_code
INNER JOIN $tbl_session_rel_course src
ON c.code = src.course_code
WHERE src.id_session = '$session_id' ";
if (!empty($course_name)) {
@ -3276,10 +3291,11 @@ class SessionManager
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$sql = "SELECT session_rcru.status
FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user
WHERE session_rcru.id_user = user.user_id AND
session_rcru.id_session = '" . intval($session_id) . "' AND
session_rcru.course_code ='" . Database::escape_string($course_code) . "' AND
user.user_id = " . intval($user_id);
WHERE
session_rcru.id_user = user.user_id AND
session_rcru.id_session = '" . intval($session_id) . "' AND
session_rcru.course_code ='" . Database::escape_string($course_code) . "' AND
user.user_id = " . intval($user_id);
$result = Database::query($sql);
$status = false;
@ -3308,9 +3324,9 @@ class SessionManager
$sql = "SELECT session_rcru.status
FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user
WHERE session_rcru.id_user = user.user_id AND
session_rcru.id_session = '" . intval($session_id) . "' AND
session_rcru.course_code ='" . Database::escape_string($course_code) . "' AND
user.user_id = " . intval($user_id);
session_rcru.id_session = '" . intval($session_id) . "' AND
session_rcru.course_code ='" . Database::escape_string($course_code) . "' AND
user.user_id = " . intval($user_id);
$result = Database::query($sql);
$status = false;
if (Database::num_rows($result)) {
@ -3572,7 +3588,8 @@ class SessionManager
$table_session = Database::get_main_table(TABLE_MAIN_SESSION);
$course_code = Database::escape_string($course_code);
$sql = "SELECT name, s.id
FROM $table_session_course sc INNER JOIN $table_session s ON (sc.id_session = s.id)
FROM $table_session_course sc
INNER JOIN $table_session s ON (sc.id_session = s.id)
WHERE sc.course_code = '$course_code' ";
$result = Database::query($sql);
return Database::store_result($result);
@ -4263,6 +4280,7 @@ class SessionManager
);
}
}
return array_to_string($list, CourseManager::USER_SEPARATOR);
}
@ -4287,6 +4305,7 @@ class SessionManager
$coaches[] = $row['id_user'];
}
}
return $coaches;
}
@ -4924,7 +4943,12 @@ class SessionManager
$sessionList[] = $sessionInfo['session_id'];
}
$userInfo = $data['user_info'];
self::suscribe_sessions_to_hr_manager($userInfo, $sessionList, $sendEmail, $removeOldRelationShips);
self::suscribe_sessions_to_hr_manager(
$userInfo,
$sessionList,
$sendEmail,
$removeOldRelationShips
);
}
}
}
@ -4970,6 +4994,7 @@ class SessionManager
}
}
}
return $message;
}
@ -5211,14 +5236,15 @@ class SessionManager
* @param int $userId The user id
* @return boolean Whether is subscribed
*/
public static function isUserSusbcribedAsStudent($sessionId, $userId) {
public static function isUserSusbcribedAsStudent($sessionId, $userId)
{
$sessionRelUserTable = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$sessionId = intval($sessionId);
$userId = intval($userId);
$sql = "SELECT COUNT(1) AS qty FROM $sessionRelUserTable "
. "WHERE id_session = $sessionId AND id_user = $userId AND relation_type = 0";
$sql = "SELECT COUNT(1) AS qty FROM $sessionRelUserTable
WHERE id_session = $sessionId AND id_user = $userId AND relation_type = 0";
$result = Database::fetch_assoc(Database::query($sql));
@ -5239,9 +5265,6 @@ class SessionManager
if ($sessionInfo['date_start'] == '0000-00-00' && $sessionInfo['date_end'] == '0000-00-00') {
return get_lang('NoTimeLimits');
} else {
$startDate = '';
$endDate = '';
if ($sessionInfo['date_start'] != '0000-00-00') {
$startDate = get_lang('From') . ' ' . api_format_date($sessionInfo['date_start'], DATE_FORMAT_LONG_NO_DAY);
} else {
@ -5301,19 +5324,22 @@ class SessionManager
* Check if the course belongs to the session
* @param int $sessionId The session id
* @param string $courseCode The course code
*
* @return bool
*/
public static function sessionHasCourse($sessionId, $courseCode) {
public static function sessionHasCourse($sessionId, $courseCode)
{
$sessionId = intval($sessionId);
$courseCode = Database::escape_string($courseCode);
$courseTablee = Database::get_main_table(TABLE_MAIN_COURSE);
$courseTable = Database::get_main_table(TABLE_MAIN_COURSE);
$sessionRelCourseTable = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
$sql = "SELECT COUNT(1) AS qty FROM $courseTablee c "
. "INNER JOIN $sessionRelCourseTable src "
. "ON c.code = src.course_code "
. "WHERE src.id_session = $sessionId "
. "AND c.code = '$courseCode'";
$sql = "SELECT COUNT(1) AS qty FROM $courseTable c
INNER JOIN $sessionRelCourseTable src
ON c.code = src.course_code
WHERE src.id_session = $sessionId
AND c.code = '$courseCode' ";
$result = Database::query($sql);

Loading…
Cancel
Save