From 506c7906844a56eb25b7bbd2d4672854fc09dd95 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 19 Aug 2020 11:43:17 +0200 Subject: [PATCH] Internal: Update from 1.11.x + fixes --- .../admin/dashboard_add_users_to_user.php | 20 +- public/main/admin/extra_field_list.php | 1 + public/main/admin/gradebook_list.php | 7 +- public/main/admin/statistics/index.php | 133 +++---- public/main/admin/subscribe_user2course.php | 31 +- public/main/admin/teacher_time_report.php | 1 + public/main/admin/user_edit.php | 4 +- public/main/admin/user_information.php | 10 +- .../main/exercise/exercise_result.class.php | 24 +- public/main/forum/forumfunction.inc.php | 4 +- public/main/gradebook/lib/GradebookUtils.php | 14 +- public/main/inc/lib/SurveyTree .php | 2 +- public/main/inc/lib/api.lib.php | 9 +- public/main/inc/lib/course.lib.php | 28 +- public/main/inc/lib/exercise.lib.php | 4 +- public/main/inc/lib/sessionmanager.lib.php | 31 +- public/main/inc/lib/skill.lib.php | 18 +- public/main/inc/lib/statistics.lib.php | 135 +++---- public/main/inc/lib/usermanager.lib.php | 73 +++- public/main/lp/learnpath.class.php | 11 + public/main/mySpace/admin.php | 4 +- public/main/mySpace/coaches.php | 4 +- public/main/session/session_list.php | 3 +- public/main/session/session_list_custom.php | 365 ++++++++++++++++++ public/main/survey/survey.lib.php | 4 +- public/main/survey/surveyUtil.class.php | 8 +- .../default/admin/user_information.html.twig | 4 +- public/main/tracking/courseLog.php | 6 +- public/main/tracking/course_log_resources.php | 4 +- public/main/tracking/course_log_tools.php | 6 +- public/main/user/resume_session.php | 2 +- public/main/user/subscribe_user.php | 6 +- public/main/user/user.php | 12 +- public/main/webservices/registration.soap.php | 2 +- public/main/wiki/wiki.inc.php | 116 +++--- .../views/Layout/base-layout.html.twig | 1 - .../Resources/views/Macros/box.html.twig | 24 +- 37 files changed, 798 insertions(+), 333 deletions(-) create mode 100644 public/main/session/session_list_custom.php diff --git a/public/main/admin/dashboard_add_users_to_user.php b/public/main/admin/dashboard_add_users_to_user.php index 2aae315f90..1fd3f453c1 100644 --- a/public/main/admin/dashboard_add_users_to_user.php +++ b/public/main/admin/dashboard_add_users_to_user.php @@ -93,17 +93,17 @@ function search_users($needle, $type = 'multiple') } if (count($assigned_users_id) > 0) { - $without_assigned_users = ' AND user.user_id NOT IN('.implode(',', $assigned_users_id).')'; + $without_assigned_users = ' AND user.id NOT IN('.implode(',', $assigned_users_id).')'; } if (api_is_multiple_url_enabled()) { - $sql = "SELECT user.user_id, username, lastname, firstname + $sql = "SELECT user.id as user_id, username, lastname, firstname FROM $tbl_user user - LEFT JOIN $tbl_access_url_rel_user au ON (au.user_id = user.user_id) + LEFT JOIN $tbl_access_url_rel_user au ON (au.user_id = user.id) WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND status NOT IN(".DRH.', '.SESSIONADMIN.', '.STUDENT_BOSS.") AND - user.user_id NOT IN ($user_anonymous, $current_user_id, $user_id) + user.id NOT IN ($user_anonymous, $current_user_id, $user_id) $without_assigned_users AND access_url_id = ".api_get_current_access_url_id()." $order_clause @@ -126,9 +126,9 @@ function search_users($needle, $type = 'multiple') $tbl_user_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $access_url_id = api_get_current_access_url_id(); - $sql = 'SELECT user.user_id, username, lastname, firstname + $sql = 'SELECT user.id as user_id, username, lastname, firstname FROM '.$tbl_user.' user - INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id) + INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.id) WHERE access_url_id = '.$access_url_id.' AND ( @@ -367,7 +367,7 @@ switch ($userStatus) { $assigned_users_id = array_keys($assigned_users_to_hrm); $without_assigned_users = ''; if (count($assigned_users_id) > 0) { - $without_assigned_users = ' user.user_id NOT IN('.implode(',', $assigned_users_id).') AND '; + $without_assigned_users = ' user.id NOT IN('.implode(',', $assigned_users_id).') AND '; } $search_user = ''; @@ -394,9 +394,9 @@ if (!empty($conditions)) { } if (api_is_multiple_url_enabled()) { - $sql = "SELECT user.user_id, username, lastname, firstname - FROM $tbl_user user - LEFT JOIN $tbl_access_url_rel_user au + $sql = "SELECT user.id as user_id, username, lastname, firstname + FROM $tbl_user user + LEFT JOIN $tbl_access_url_rel_user au ON (au.user_id = user.user_id) WHERE $without_assigned_users diff --git a/public/main/admin/extra_field_list.php b/public/main/admin/extra_field_list.php index c46cc77f06..e3fbbd9602 100644 --- a/public/main/admin/extra_field_list.php +++ b/public/main/admin/extra_field_list.php @@ -1,4 +1,5 @@ addText('weight', get_lang('Weight')); $form->addLabel(get_lang('Course'), $category->getCourseCode()); - $sql = "SELECT - depends, - minimum_to_validate, + $sql = "SELECT + depends, + minimum_to_validate, gradebooks_to_validate_in_dependence FROM $table WHERE id = ".$categoryId; $result = Database::query($sql); diff --git a/public/main/admin/statistics/index.php b/public/main/admin/statistics/index.php index f197ecf5bf..73ea241391 100644 --- a/public/main/admin/statistics/index.php +++ b/public/main/admin/statistics/index.php @@ -13,21 +13,23 @@ api_protect_admin_script(); $interbreadcrumb[] = ['url' => '../index.php', 'name' => get_lang('Administration')]; $report = isset($_REQUEST['report']) ? $_REQUEST['report'] : ''; -$sessionDuration = isset($_GET['session_duration']) ? (int) $_GET['session_duration'] : ''; +$sessionDuration = isset($_GET['session_duration']) ? (int)$_GET['session_duration'] : ''; $validated = false; if ( - in_array( - $report, - ['recentlogins', 'tools', 'courses', 'coursebylanguage', 'users', 'users_active', 'session_by_date'] - ) - ) { +in_array( + $report, + ['recentlogins', 'tools', 'courses', 'coursebylanguage', 'users', 'users_active', 'session_by_date'] +) +) { $htmlHeadXtra[] = api_get_js('chartjs/Chart.min.js'); // Prepare variables for the JS charts $url = $reportName = $reportType = $reportOptions = ''; switch ($report) { case 'recentlogins': - $url = api_get_path(WEB_CODE_PATH).'inc/ajax/statistics.ajax.php?a=recent_logins&session_duration='.$sessionDuration; + $url = api_get_path( + WEB_CODE_PATH + ).'inc/ajax/statistics.ajax.php?a=recent_logins&session_duration='.$sessionDuration; $reportName = ''; $reportType = 'line'; $reportOptions = ''; @@ -223,7 +225,7 @@ if ( $dateEnd = Security::remove_XSS($_REQUEST['range_end']); } - $statusId = (int) $_REQUEST['status_id']; + $statusId = (int)$_REQUEST['status_id']; $conditions = "&date_start=$dateStart&date_end=$dateEnd&status=$statusId"; @@ -270,7 +272,7 @@ if ( $reportType, $reportOptions3, 'canvas3' - ); + ); $reportOptions = ' legend: { @@ -480,10 +482,7 @@ switch ($report) { $content .= '
'; $content .= '
'; $content .= '
'; - - if ($sessionStatusAllowed) { - $content .= '
'; - } + $content .= '
'; $content .= '
'; $tableCourse = new HTML_Table(['class' => 'table table-responsive']); @@ -506,7 +505,7 @@ switch ($report) { $courseInfo = api_get_course_info_by_id($courseId); $tableCourse->setCellContents($row, 0, $courseInfo['name']); $tableCourse->setCellContents($row, 1, $count); - $row++; + $row++; } } @@ -515,10 +514,8 @@ switch ($report) { $content .= '
'; $content .= '
'; $content .= '
'; + $content .= '
'; - if ($sessionStatusAllowed) { - $content .= '
'; - } $content .= '
'; $content .= '
'; @@ -526,51 +523,46 @@ switch ($report) { $content .= '
'; } - $table = new HTML_Table(['class' => 'table table-responsive']); - $headers = [ - get_lang('Name'), - get_lang('StartDate'), - get_lang('EndDate'), - get_lang('Language'), - ]; - if ($sessionStatusAllowed) { - $headers[] = get_lang('Status'); - } + $table = new HTML_Table(['class' => 'table table-responsive']); + $headers = [ + get_lang('Name'), + get_lang('StartDate'), + get_lang('EndDate'), + get_lang('Language'), + get_lang('Status') + ]; $headers[] = get_lang('NumberOfStudents'); - $row = 0; - $column = 0; - foreach ($headers as $header) { - $table->setHeaderContents($row, $column, $header); - $column++; - } - $row++; + $row = 0; + $column = 0; + foreach ($headers as $header) { + $table->setHeaderContents($row, $column, $header); + $column++; + } + $row++; - foreach ($sessions as $session) { + foreach ($sessions as $session) { $courseList = SessionManager::getCoursesInSession($session['id']); - $table->setCellContents($row, 0, $session['name']); - $table->setCellContents($row, 1, api_get_local_time($session['display_start_date'])); - $table->setCellContents($row, 2, api_get_local_time($session['display_end_date'])); - - // Get first language. - $language = ''; - $courses = SessionManager::getCoursesInSession($session['id']); - if (!empty($courses)) { - $courseId = $courses[0]; - $courseInfo = api_get_course_info_by_id($courseId); - $language = $courseInfo['language']; + $table->setCellContents($row, 0, $session['name']); + $table->setCellContents($row, 1, api_get_local_time($session['display_start_date'])); + $table->setCellContents($row, 2, api_get_local_time($session['display_end_date'])); + + // Get first language. + $language = ''; + $courses = SessionManager::getCoursesInSession($session['id']); + if (!empty($courses)) { + $courseId = $courses[0]; + $courseInfo = api_get_course_info_by_id($courseId); + $language = $courseInfo['language']; $language = get_lang(ucfirst(str_replace(2, '', $language))); - } - $table->setCellContents($row, 3, $language); - - if ($sessionStatusAllowed) { - $table->setCellContents($row, 4, SessionManager::getStatusLabel($session['status'])); - } + } + $table->setCellContents($row, 3, $language); + $table->setCellContents($row, 4, SessionManager::getStatusLabel($session['status'])); $studentsCount = SessionManager::get_users_by_session($session['id'], 0, true); $table->setCellContents($row, 5, $studentsCount); - $row++; - } + $row++; + } - $content .= $table->toHtml(); + $content .= $table->toHtml(); if (isset($_REQUEST['action']) && 'export' === $_REQUEST['action']) { $data = $table->toArray(); @@ -602,7 +594,7 @@ switch ($report) { $form->addHidden('report', 'user_session'); $form->addButtonSearch(get_lang('Search')); - $date = new DateTime($now); + $date = new DateTime(); $startDate = $date->format('Y-m-d').' 00:00:00'; $endDate = $date->format('Y-m-d').' 23:59:59'; $start = $startDate; @@ -660,14 +652,14 @@ switch ($report) { '; + +// jqgrid will use this URL to do the selects +if (!empty($courseId)) { + $url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_sessions&course_id='.$courseId; +} else { + $url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_sessions'; +} + +if (isset($_REQUEST['keyword'])) { + //Begin with see the searchOper param + $filter = new stdClass(); + $filter->groupOp = 'OR'; + $rule = new stdClass(); + $rule->field = 'category_name'; + $rule->op = 'in'; + $rule->data = Security::remove_XSS($_REQUEST['keyword']); + $filter->rules[] = $rule; + $filter->groupOp = 'OR'; + + $filter = json_encode($filter); + $url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_sessions&_force_search=true&rows=20&page=1&sidx=&sord=asc&filters='.$filter.'&searchField=s.name&searchString='.Security::remove_XSS($_REQUEST['keyword']).'&searchOper=in'; +} + +if (isset($_REQUEST['id_category'])) { + $sessionCategory = SessionManager::get_session_category($_REQUEST['id_category']); + if (!empty($sessionCategory)) { + //Begin with see the searchOper param + $url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_sessions&_force_search=true&rows=20&page=1&sidx=&sord=asc&filters=&searchField=sc.name&searchString='.Security::remove_XSS($sessionCategory['name']).'&searchOper=in'; + } +} + +$url .= '&list_type='.$listType; +$result = SessionManager::getGridColumns($listType); + +$columns = $result['columns']; +$column_model = $result['column_model']; + +// Autowidth +$extra_params['autowidth'] = 'true'; + +// height auto +$extra_params['height'] = 'auto'; + +// Custom params +$extra_params['sortname'] = 'display_end_date'; +$extra_params['sortorder'] = 'desc'; + +if (!isset($_GET['keyword'])) { + $extra_params['postData'] = [ + 'filters' => [ + 'groupOp' => 'AND', + 'rules' => $result['rules'], + ], + ]; +} + +$hideSearch = api_get_configuration_value('hide_search_form_in_session_list'); + +//With this function we can add actions to the jgrid (edit, delete, etc) +$action_links = 'function action_formatter(cellvalue, options, rowObject) { + return \''. + Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL).''. + ' '. + Display::return_icon('user_subscribe_session.png', get_lang('SubscribeUsersToSession'), '', ICON_SIZE_SMALL).''. + ' '. + Display::return_icon('courses_to_session.png', get_lang('SubscribeCoursesToSession'), '', ICON_SIZE_SMALL).''. + ' '. + Display::return_icon('copy.png', get_lang('Copy'), '', ICON_SIZE_SMALL).''. + ' '. + Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL).''. + '\'; +}'; + +$urlAjaxExtraField = api_get_path(WEB_AJAX_PATH).'extra_field.ajax.php?1=1'; +$allowOrder = api_get_configuration_value('session_list_order'); +$orderUrl = api_get_path(WEB_AJAX_PATH).'session.ajax.php?a=order'; + +?> + +
+'. + Display::return_icon('new_session.png', get_lang('AddSession'), '', ICON_SIZE_MEDIUM).''; +if (api_is_platform_admin()) { + echo ''. + Display::return_icon('session_to_category.png', get_lang('AddSessionsInCategories'), '', ICON_SIZE_MEDIUM).''; + echo ''. + Display::return_icon('folder.png', get_lang('ListSessionCategory'), '', ICON_SIZE_MEDIUM).''; +} + +echo $actions; +if (api_is_platform_admin()) { + echo '
'; + // Create a search-box + $form = new FormValidator( + 'search_simple', + 'get', + '', + '', + [], + FormValidator::LAYOUT_INLINE + ); + $form->addElement( + 'text', + 'keyword', + null, + [ + 'aria-label' => get_lang('Search'), + ] + ); + $form->addButtonSearch(get_lang('Search')); + $form->display(); + echo '
'; + + echo '
'; + echo $sessionFilter->returnForm(); + echo '
'; +} +echo '
'; + +echo SessionManager::getSessionListTabs($listType); +echo '
'; +echo Display::grid_html('sessions'); +echo '
'; + +Display::display_footer(); diff --git a/public/main/survey/survey.lib.php b/public/main/survey/survey.lib.php index e727d916ae..f37b4d5951 100644 --- a/public/main/survey/survey.lib.php +++ b/public/main/survey/survey.lib.php @@ -1904,9 +1904,9 @@ class SurveyManager answered_user.user as invited_user, user.firstname, user.lastname, - user.user_id + user.id as user_id FROM $table_survey_answer answered_user - LEFT JOIN $table_user as user ON answered_user.user = user.user_id + LEFT JOIN $table_user as user ON answered_user.user = user.id WHERE answered_user.c_id = $course_id AND survey_id= '".$survey_id."' ". diff --git a/public/main/survey/surveyUtil.class.php b/public/main/survey/surveyUtil.class.php index b772d417bf..ad7826bcea 100644 --- a/public/main/survey/surveyUtil.class.php +++ b/public/main/survey/surveyUtil.class.php @@ -148,8 +148,8 @@ class SurveyUtil WHERE iid = $insertId"; Database::query($sql); - return true; - } + return true; + } return false; } @@ -3363,7 +3363,7 @@ class SurveyUtil LEFT JOIN $table_survey_question survey_question ON (survey.survey_id = survey_question.survey_id AND survey_question.c_id = $course_id) LEFT JOIN $table_user user - ON (survey.author = user.user_id) + ON (survey.author = user.id) WHERE survey.c_id = $course_id $search_restriction $condition_session @@ -3513,7 +3513,7 @@ class SurveyUtil LEFT JOIN $table_survey_question survey_question ON (survey.survey_id = survey_question.survey_id AND survey.c_id = survey_question.c_id), $table_user user - WHERE survey.author = user.user_id AND survey.c_id = $course_id $list_condition + WHERE survey.author = user.id AND survey.c_id = $course_id $list_condition "; $sql .= ' GROUP BY survey.survey_id'; $sql .= " ORDER BY col$column $direction "; diff --git a/public/main/template/default/admin/user_information.html.twig b/public/main/template/default/admin/user_information.html.twig index e45bca0f9f..edac351f4d 100644 --- a/public/main/template/default/admin/user_information.html.twig +++ b/public/main/template/default/admin/user_information.html.twig @@ -9,7 +9,7 @@
{{ display.card_widget('FirstLoginInPlatform'|get_lang, user.first_connection, 'calendar') }} {{ display.card_widget('LatestLoginInPlatform'|get_lang, user.last_connection, 'calendar') }} - {% if user.legal %} + {% if user.legal is defined %} {{ display.card_widget('LegalAccepted'|get_lang, user.legal.datetime, 'gavel', user.legal.icon) }} {% endif %}
@@ -20,7 +20,7 @@ {{ display.box_widget('InvitationReceived'|get_lang, user.social.invitation_received, 'smile-o') }} {{ display.box_widget('WallMessagesPosted'|get_lang, user.social.messages_posted, 'comments') }} {{ display.box_widget('MessagesSent'|get_lang, user.social.messages_sent, 'envelope') }} - {{ display.box_widget('MessagesReceived'|get_lang, user.social.message_received, 'envelope-open-o') }} + {{ display.box_widget('MessagesReceived'|get_lang, user.social.messages_received, 'envelope-open-o') }} {% endif %} diff --git a/public/main/tracking/courseLog.php b/public/main/tracking/courseLog.php index 7d6eb9a87b..a72c47a74b 100644 --- a/public/main/tracking/courseLog.php +++ b/public/main/tracking/courseLog.php @@ -526,10 +526,7 @@ if ($nbStudents > 0) { $tpl->assign('number_students', $nbStudents); $tpl->assign('top_students', $userScoreList); - $trackingSummaryLayout = $tpl->get_template('tracking/tracking_course_log.tpl'); - $content = $tpl->fetch($trackingSummaryLayout); - - echo $content; + echo $tpl->fetch($tpl->get_template('tracking/tracking_course_log.tpl')); } } @@ -894,6 +891,7 @@ if (!empty($groupList)) { $sessionId ); $averageTime = null; + $time = null; if (!empty($timeInSeconds)) { $time = api_time_to_hms($timeInSeconds); $averageTime = $timeInSeconds / $nbStudents; diff --git a/public/main/tracking/course_log_resources.php b/public/main/tracking/course_log_resources.php index 529b9ac9f5..c9ffa88dca 100644 --- a/public/main/tracking/course_log_resources.php +++ b/public/main/tracking/course_log_resources.php @@ -10,10 +10,10 @@ $from = isset($_GET['from']) ? $_GET['from'] : null; // Starting the output buffering when we are exporting the information. $export_csv = isset($_GET['export']) && 'csv' == $_GET['export'] ? true : false; $exportXls = isset($_GET['export']) && 'xls' == $_GET['export'] ? true : false; -$session_id = intval($_REQUEST['id_session']); +$session_id = api_get_session_id(); $this_section = SECTION_COURSES; -if ('myspace' == $from) { +if ('myspace' === $from) { $from_myspace = true; $this_section = 'session_my_space'; } diff --git a/public/main/tracking/course_log_tools.php b/public/main/tracking/course_log_tools.php index 6a4e393200..75b6a4e8b7 100644 --- a/public/main/tracking/course_log_tools.php +++ b/public/main/tracking/course_log_tools.php @@ -8,12 +8,13 @@ require_once __DIR__.'/../inc/global.inc.php'; $current_course_tool = TOOL_TRACKING; $course_info = api_get_course_info(); -$groupId = isset($_REQUEST['gidReq']) ? intval($_REQUEST['gidReq']) : 0; +$groupId = api_get_group_id(); +$session_id = api_get_session_id(); $from_myspace = false; $from = isset($_GET['from']) ? $_GET['from'] : null; $this_section = SECTION_COURSES; -if ('myspace' == $from) { +if ('myspace' === $from) { $from_myspace = true; $this_section = 'session_my_space'; } @@ -46,7 +47,6 @@ $TABLEQUIZ = Database::get_course_table(TABLE_QUIZ_TEST); // Starting the output buffering when we are exporting the information. $export_csv = isset($_GET['export']) && 'csv' == $_GET['export'] ? true : false; -$session_id = intval($_REQUEST['id_session']); if ($export_csv) { if (!empty($session_id)) { diff --git a/public/main/user/resume_session.php b/public/main/user/resume_session.php index 1ad4816c6b..8490496356 100644 --- a/public/main/user/resume_session.php +++ b/public/main/user/resume_session.php @@ -254,7 +254,7 @@ if ('true' === $allowTutors) { $sql = "SELECT user.lastname,user.firstname,user.username FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user WHERE - session_rcru.user_id = user.user_id AND + session_rcru.user_id = user.id AND session_rcru.session_id = '".intval($id_session)."' AND session_rcru.c_id ='".Database::escape_string($course['id'])."' AND session_rcru.status=2"; diff --git a/public/main/user/subscribe_user.php b/public/main/user/subscribe_user.php index 71f5010cda..a4d8a650c8 100644 --- a/public/main/user/subscribe_user.php +++ b/public/main/user/subscribe_user.php @@ -784,16 +784,16 @@ function search_additional_profile_fields($keyword) // getting all the user ids of the users who have chosen on of the predefined fields that contain the keyword // or all the users who have entered the keyword in a free-form field $sql = "SELECT - user.user_id as col0, + user.id as col0, user.official_code as col1, user.lastname as col2, user.firstname as col3, user.email as col4, user.active as col5, - user.user_id as col6 + user.id as col6 FROM $table_user user, $table_user_field_values user_values, $tableExtraField e WHERE - user.user_id = user_values.item_id AND + user.id = user_values.item_id AND user_values.field_id = e.id AND e.extra_field_type = $extraFieldType AND (value LIKE '%".$keyword."%'".$profiling_field_options_exact_values_sql.")"; diff --git a/public/main/user/user.php b/public/main/user/user.php index 534e23ff96..dd9568b565 100644 --- a/public/main/user/user.php +++ b/public/main/user/user.php @@ -208,7 +208,7 @@ if (isset($_GET['action'])) { if (api_get_session_id()) { $table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $sql = "SELECT DISTINCT - user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", + user.id as user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.username, $select_email_condition phone, @@ -222,12 +222,12 @@ if (isset($_GET['action'])) { } $sql .= " WHERE c_id = $courseId - AND session_course_user.user_id = user.user_id + AND session_course_user.user_id = user.id AND session_id = $sessionId "; if (api_is_multiple_url_enabled()) { - $sql .= " AND user.user_id = au.user_id AND access_url_id = $current_access_url_id "; + $sql .= " AND user.id = au.user_id AND access_url_id = $current_access_url_id "; } // only users no coaches/teachers @@ -298,7 +298,7 @@ if (isset($_GET['action'])) { // users directly subscribed to the course $table_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); $sql = "SELECT DISTINCT - user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", + user.id as user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.username, $select_email_condition phone, @@ -311,10 +311,10 @@ if (isset($_GET['action'])) { $sql .= " WHERE c_id = '$courseId' AND course_user.relation_type <> ".COURSE_RELATION_TYPE_RRHH." AND - course_user.user_id = user.user_id "; + course_user.user_id = user.id "; if (api_is_multiple_url_enabled()) { - $sql .= " AND user.user_id = au.user_id AND access_url_id = $current_access_url_id "; + $sql .= " AND user.id = au.user_id AND access_url_id = $current_access_url_id "; } // only users no teachers/coaches diff --git a/public/main/webservices/registration.soap.php b/public/main/webservices/registration.soap.php index de8b487451..00bdcb3c04 100644 --- a/public/main/webservices/registration.soap.php +++ b/public/main/webservices/registration.soap.php @@ -6769,7 +6769,7 @@ function WSCertificatesList($startingDate = '', $endingDate = '') certificate.path_certificate FROM $certificateTable AS certificate JOIN $userTable AS user - ON certificate.user_id = user.user_id + ON certificate.user_id = user.id JOIN $categoryTable AS category ON certificate.cat_id = category.id"; diff --git a/public/main/wiki/wiki.inc.php b/public/main/wiki/wiki.inc.php index 8720f91444..2eaebf5113 100644 --- a/public/main/wiki/wiki.inc.php +++ b/public/main/wiki/wiki.inc.php @@ -1580,7 +1580,7 @@ class Wiki $status_editlock = 0; } - $sql = 'UPDATE '.$tbl_wiki.' SET + $sql = 'UPDATE '.$tbl_wiki.' SET editlock="'.Database::escape_string($status_editlock).'" WHERE c_id = '.$course_id.' AND page_id="'.$id.'"'; Database::query($sql); @@ -1639,11 +1639,11 @@ class Wiki $status_visibility = 0; } - $sql = 'UPDATE '.$tbl_wiki.' SET + $sql = 'UPDATE '.$tbl_wiki.' SET visibility = "'.Database::escape_string($status_visibility).'" - WHERE - c_id = '.$course_id.' AND - reflink="'.Database::escape_string($page).'" AND + WHERE + c_id = '.$course_id.' AND + reflink="'.Database::escape_string($page).'" AND '.$groupfilter.$condition_session; Database::query($sql); @@ -1711,7 +1711,7 @@ class Wiki $status_visibility_disc = 0; } - $sql = 'UPDATE '.$tbl_wiki.' SET + $sql = 'UPDATE '.$tbl_wiki.' SET visibility_disc="'.Database::escape_string($status_visibility_disc).'" WHERE c_id = '.$course_id.' AND @@ -1889,9 +1889,9 @@ class Wiki $userId = api_get_user_id(); $sql = 'SELECT * FROM '.$tbl_wiki.' - WHERE - c_id = '.$course_id.' AND - reflink="'.$reflink.'" AND + WHERE + c_id = '.$course_id.' AND + reflink="'.$reflink.'" AND '.$groupfilter.$condition_session.' ORDER BY id ASC'; $result = Database::query($sql); @@ -1899,9 +1899,9 @@ class Wiki $id = $row['id']; $sql = 'SELECT * FROM '.$tbl_wiki_mailcue.' WHERE - c_id = '.$course_id.' AND - id="'.$id.'" AND - user_id="'.api_get_user_id().'" AND + c_id = '.$course_id.' AND + id="'.$id.'" AND + user_id="'.api_get_user_id().'" AND type="P"'; $result = Database::query($sql); $row = Database::fetch_array($result); @@ -1937,10 +1937,10 @@ class Wiki 1 == $status_notify ) { $sql = 'DELETE FROM '.$tbl_wiki_mailcue.' - WHERE - id="'.$id.'" AND - user_id="'.api_get_user_id().'" AND - type="P" AND + WHERE + id="'.$id.'" AND + user_id="'.api_get_user_id().'" AND + type="P" AND c_id = '.$course_id; Database::query($sql); $status_notify = 0; @@ -1970,16 +1970,16 @@ class Wiki $session_id = api_get_session_id(); $sql = 'SELECT * FROM '.$tbl_wiki.' - WHERE - c_id = '.$course_id.' AND - reflink="'.$reflink.'" AND + WHERE + c_id = '.$course_id.' AND + reflink="'.$reflink.'" AND '.$groupfilter.$condition_session.' ORDER BY id ASC'; $result = Database::query($sql); $row = Database::fetch_array($result); $id = $row['id']; $sql = 'SELECT * FROM '.$tbl_wiki_mailcue.' - WHERE + WHERE c_id = '.$course_id.' AND id="'.$id.'" AND user_id="'.api_get_user_id().'" AND type="D"'; $result = Database::query($sql); $row = Database::fetch_array($result); @@ -2006,11 +2006,11 @@ class Wiki 1 == $status_notify_disc ) { $sql = 'DELETE FROM '.$tbl_wiki_mailcue.' - WHERE - c_id = '.$course_id.' AND - id="'.$id.'" AND - user_id="'.api_get_user_id().'" AND - type="D" AND + WHERE + c_id = '.$course_id.' AND + id="'.$id.'" AND + user_id="'.api_get_user_id().'" AND + type="D" AND c_id = '.$course_id; Database::query($sql); $status_notify_disc = 0; @@ -2120,9 +2120,9 @@ class Wiki //second, extract data from first reg $sql = 'SELECT * FROM '.$tbl_wiki.' - WHERE - c_id = '.$course_id.' AND - reflink="'.$id_or_ref.'" AND + WHERE + c_id = '.$course_id.' AND + reflink="'.$id_or_ref.'" AND '.$groupfilter.$condition_session.' ORDER BY id ASC'; $result = Database::query($sql); @@ -2223,10 +2223,10 @@ class Wiki $sql = 'SELECT * FROM '.$tbl_wiki_mailcue.' WHERE - c_id = '.$course_id.' AND - id="'.$id.'" AND - type="F" AND - group_id="'.$groupId.'" AND + c_id = '.$course_id.' AND + id="'.$id.'" AND + type="F" AND + group_id="'.$groupId.'" AND session_id="'.$session_id.'"'; //type: P=page, D=discuss, F=full @@ -3464,9 +3464,9 @@ class Wiki // Total hidden pages $total_hidden = 0; $sql = 'SELECT * FROM '.$tbl_wiki.' - WHERE - c_id = '.$course_id.' AND - visibility = 0 AND + WHERE + c_id = '.$course_id.' AND + visibility = 0 AND '.$groupfilter.$condition_session.' GROUP BY reflink'; // or group by page_id. As the mark of hidden places it in all @@ -3479,8 +3479,8 @@ class Wiki //Total protect pages $total_protected = 0; $sql = 'SELECT * FROM '.$tbl_wiki.' - WHERE - c_id = '.$course_id.' AND + WHERE + c_id = '.$course_id.' AND editlock = 1 AND '.$groupfilter.$condition_session.' GROUP BY reflink'; @@ -3509,10 +3509,10 @@ class Wiki $sql = 'SELECT * FROM '.$tbl_wiki.' s1 WHERE s1.c_id = '.$course_id.' AND content="" AND id=( SELECT MAX(s2.id) FROM '.$tbl_wiki.' s2 - WHERE - s1.c_id = '.$course_id.' AND - s1.reflink = s2.reflink AND - '.$groupfilter.' AND + WHERE + s1.c_id = '.$course_id.' AND + s1.reflink = s2.reflink AND + '.$groupfilter.' AND session_id='.$session_id.' )'; $allpages = Database::query($sql); @@ -3584,9 +3584,9 @@ class Wiki WHERE s1.c_id = '.$course_id.' AND assignment=1 AND id=( SELECT MAX(s2.id) FROM '.$tbl_wiki.' s2 - WHERE + WHERE s2.c_id = '.$course_id.' AND - s1.reflink = s2.reflink AND + s1.reflink = s2.reflink AND '.$groupfilter.' AND session_id='.$session_id.' )'; @@ -3601,10 +3601,10 @@ class Wiki $sql = 'SELECT * FROM '.$tbl_wiki.' s1 WHERE s1.c_id = '.$course_id.' AND assignment=2 AND id = (SELECT MAX(s2.id) FROM '.$tbl_wiki.' s2 - WHERE - s2.c_id = '.$course_id.' AND - s1.reflink = s2.reflink AND - '.$groupfilter.' AND + WHERE + s2.c_id = '.$course_id.' AND + s1.reflink = s2.reflink AND + '.$groupfilter.' AND session_id='.$session_id.' )'; //mark all versions, but do not use group by reflink because y want the pages not versions @@ -3633,7 +3633,7 @@ class Wiki $first_wiki_date = null; $sql = 'SELECT * FROM '.$tbl_wiki.' WHERE c_id = '.$course_id.' AND '.$groupfilter.$condition_session.' - ORDER BY dtime ASC + ORDER BY dtime ASC LIMIT 1'; $allpages = Database::query($sql); while ($row = Database::fetch_array($allpages)) { @@ -3645,7 +3645,7 @@ class Wiki $last_wiki_date = null; $sql = 'SELECT * FROM '.$tbl_wiki.' WHERE c_id = '.$course_id.' AND '.$groupfilter.$condition_session.' - ORDER BY dtime DESC + ORDER BY dtime DESC LIMIT 1'; $allpages = Database::query($sql); while ($row = Database::fetch_array($allpages)) { @@ -4276,7 +4276,7 @@ class Wiki WHERE reviews.c_id = $course_id AND reviews.publication_id='".$id."' AND - user.user_id='".$firstuserid."' + user.id ='".$firstuserid."' ORDER BY reviews.id DESC"; $result = Database::query($sql); @@ -4460,19 +4460,19 @@ class Wiki WHERE s1.c_id = '.$course_id.' AND id=( SELECT MAX(s2.id) FROM '.$tbl_wiki.' s2 WHERE - s2.c_id = '.$course_id.' AND - s1.reflink = s2.reflink AND - '.$groupfilter.' AND + s2.c_id = '.$course_id.' AND + s1.reflink = s2.reflink AND + '.$groupfilter.' AND session_id='.$session_id.')'; } else { // warning don't use group by reflink because does not return the last version $sql = 'SELECT * FROM '.$tbl_wiki.' s1 WHERE visibility=1 AND s1.c_id = '.$course_id.' AND id=( SELECT MAX(s2.id) FROM '.$tbl_wiki.' s2 - WHERE - s2.c_id = '.$course_id.' AND + WHERE + s2.c_id = '.$course_id.' AND s1.reflink = s2.reflink AND - '.$groupfilter.' AND + '.$groupfilter.' AND session_id='.$session_id.')'; } @@ -6769,8 +6769,8 @@ class Wiki } $sql_new = "SELECT * FROM $tbl_wiki - WHERE - c_id = $course_id AND + WHERE + c_id = $course_id AND id = '".Database::escape_string($_POST['new'])."'"; $result_new = Database::query($sql_new); $version_new = Database::fetch_array($result_new); diff --git a/src/CoreBundle/Resources/views/Layout/base-layout.html.twig b/src/CoreBundle/Resources/views/Layout/base-layout.html.twig index d960992207..5e367c9bc9 100644 --- a/src/CoreBundle/Resources/views/Layout/base-layout.html.twig +++ b/src/CoreBundle/Resources/views/Layout/base-layout.html.twig @@ -17,7 +17,6 @@ {% endblock %} {{ 'OfficialCode'|trans }} -
{{ user.code == '' ? 'NoOfficialCode'|trans : user.code }}
+ {% if user.official_code is defined %} +
{{ user.official_code }}
+ {% else %} +
{{ 'NoOfficialCode'|trans }}
+ {% endif %}
{{ 'OnLine'|trans }}
{{ user.user_is_online }} - {{ user.online }} +{# {{ user.online }}#}
{{ 'Tel'|trans }}
{{ user.phone == '' ? 'NoTel'|trans : user.phone }}
- {% if user.timezone %} + {% if user.timezone is defined %}
{{ 'Timezone'|trans }}
{{ user.timezone }}
{% endif %} @@ -460,12 +464,12 @@
{{ user.created }}
{% endif %} - {% if user.url_access or user.legal.url_send %} -
- {{ user.url_access }} - {{ user.legal.url_send }} -
- {% endif %} +{# {% if user.url_access or user.legal.url_send %}#} +{#
#} +{# {{ user.url_access }}#} +{# {{ user.legal.url_send }}#} +{#
#} +{# {% endif %}#} {% endautoescape %} {% endmacro %} @@ -479,7 +483,7 @@

- {% if user.complete_name_link %} + {% if user.complete_name_link is defined %} {{ user.complete_name_link }} {% else %} {{ user.complete_name }}