function display_data($return = false) { $count = array($this, 'count'); $data = array($this, 'get_data'); $parameters = array(); $parameters['sec_token'] = Security::get_token(); $parameters['ceiling'] = $this->get_ceiling(); $parameters['active_only'] = $this->get_active_only() ? 'true' : 'false'; $additional_parameters = $this->get_additional_parameters(); $parameters = array_merge($additional_parameters, $parameters); $table = new SortableTable('users', $count, $data, 1, 50); $table->set_additional_parameters($parameters); $col = 0; $table->set_header($col++, '', false); $table->set_header($col++, get_lang('Code')); $table->set_header($col++, get_lang('FirstName')); $table->set_header($col++, get_lang('LastName')); $table->set_header($col++, get_lang('LoginName')); $table->set_header($col++, get_lang('Email')); $table->set_header($col++, get_lang('Profile')); $table->set_header($col++, get_lang('AuthenticationSource')); $table->set_header($col++, get_lang('RegisteredDate')); $table->set_header($col++, get_lang('LastAccess'), false); $table->set_header($col++, get_lang('Active'), false); $table->set_column_filter(5, array($this, 'format_email')); $table->set_column_filter(6, array($this, 'format_status')); $table->set_column_filter(10, array($this, 'format_active')); $table->set_form_actions(array('activate' => get_lang('Activate'), 'deactivate' => get_lang('Deactivate'), 'delete' => get_lang('Delete'))); if ($return) { return $table->return_table(); } else { echo $table->return_table(); } }
case 'show_message': $message = Display::return_message(Security::remove_XSS(stripslashes($_GET['message']))); break; } } // Create a search-box $form = new FormValidator('search_simple', 'get', '', '', null, false); $renderer =& $form->defaultRenderer(); $renderer->setElementTemplate('<span>{element}</span> '); $form->addElement('text', 'keyword', get_lang('keyword')); $form->addElement('button', 'submit', get_lang('Search')); $content .= $form->return_form(); // Create the sortable table with class information $table = new SortableTable('classes', 'get_number_of_classes', 'get_class_data', 1); $table->set_additional_parameters(array('keyword' => $_GET['keyword'])); $table->set_header(0, '', false); $table->set_header(1, get_lang('ClassName')); $table->set_header(2, get_lang('NumberOfUsers')); $table->set_header(3, '', false); $table->set_column_filter(3, 'modify_filter'); $table->set_form_actions(array('delete_classes' => get_lang('DeleteSelectedClasses')), 'class'); $content .= $table->return_table(); $actions .= Display::url(Display::return_icon('add.png', get_lang('Add'), array(), ICON_SIZE_MEDIUM), 'class_add.php'); $actions .= Display::url(Display::return_icon('import_csv.png', get_lang('AddUsersToAClass'), array(), ICON_SIZE_MEDIUM), 'class_user_import.php'); $actions .= Display::url(Display::return_icon('import_csv.png', get_lang('ImportClassListCSV'), array(), ICON_SIZE_MEDIUM), 'class_import.php'); $app['title'] = $tool_name; $tpl = $app['template']; $tpl->assign('content', $content); $tpl->assign('actions', $actions); $tpl->assign('message', $message); $tpl->display_one_col_template();
$parameters['keyword'] = isset($_REQUEST['keyword']) ? Security::remove_XSS($_REQUEST['keyword']) : null; $parameters['type'] = isset($_REQUEST['type']) ? $type : null; $table->set_additional_parameters($parameters); $col = 0; $table->set_header($col++, '', false); $table->set_header($col++, get_lang('OfficialCode')); if (api_is_western_name_order()) { $table->set_header($col++, get_lang('FirstName')); $table->set_header($col++, get_lang('LastName')); } else { $table->set_header($col++, get_lang('LastName')); $table->set_header($col++, get_lang('FirstName')); } if (api_get_setting('show_email_addresses') == 'true') { $table->set_header($col++, get_lang('Email')); $table->set_column_filter($col - 1, 'email_filter'); } $table->set_header($col++, get_lang('Active'), false); $table->set_column_filter($col - 1, 'active_filter'); $table->set_header($col++, get_lang('Actions'), false); $table->set_column_filter($col - 1, 'reg_filter'); $table->set_form_actions(array('subscribe' => get_lang('reg')), 'user'); if (!empty($_POST['keyword'])) { $keyword_name = Security::remove_XSS($_POST['keyword']); echo '<br/>' . get_lang('SearchResultsFor') . ' <span style="font-style: italic ;"> ' . $keyword_name . ' </span><br>'; } // Display table $table->display(); // footer Display::display_footer(); /* SHOW LIST OF USERS */
function display_survey_list_for_coach() { $parameters = array(); $parameters['cidReq'] = api_get_course_id(); if (isset($_GET['do_search'])) { $message = get_lang('DisplaySearchResults') . '<br />'; $message .= '<a href="' . api_get_self() . '?' . api_get_cidreq() . '">' . get_lang('DisplayAll') . '</a>'; Display::display_normal_message($message, false); } // Create a sortable table with survey-data $table = new SortableTable('surveys_coach', 'get_number_of_surveys_for_coach', 'get_survey_data_for_coach', 2); $table->set_additional_parameters($parameters); $table->set_header(0, '', false); $table->set_header(1, get_lang('SurveyName')); $table->set_header(2, get_lang('SurveyCode')); $table->set_header(3, get_lang('NumberOfQuestions')); $table->set_header(4, get_lang('Author')); //$table->set_header(5, get_lang('Language')); //$table->set_header(6, get_lang('Shared')); $table->set_header(5, get_lang('AvailableFrom')); $table->set_header(6, get_lang('AvailableUntil')); $table->set_header(7, get_lang('Invite')); $table->set_header(8, get_lang('Anonymous')); $table->set_header(9, get_lang('Modify'), false, 'width="130"'); $table->set_column_filter(8, 'anonymous_filter'); $table->set_column_filter(9, 'modify_filter_for_coach'); $table->display(); }
/** * This is the main function that displays the list or the table with all * the glossary terms * @param string View ('table' or 'list'). Optional parameter. * Defaults to 'table' and prefers glossary_view from the session by default. * @return void * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium * @version januari 2009, dokeos 1.8.6 */ public static function display_glossary($view = 'table') { // This function should always be called with the corresponding // parameter for view type. Meanwhile, use this cheap trick. $glossaryView = Session::read('glossary_view'); if (empty($glossaryView)) { Session::write('glossary_view', $view); } // action links //echo '<div class="actions">'; $actionsLeft = ''; if (api_is_allowed_to_edit(null, true)) { $actionsLeft .= '<a href="index.php?' . api_get_cidreq() . '&action=addglossary&msg=add?' . api_get_cidreq() . '">' . Display::return_icon('new_glossary_term.png', get_lang('TermAddNew'), '', ICON_SIZE_MEDIUM) . '</a>'; } $actionsLeft .= '<a href="index.php?' . api_get_cidreq() . '&action=export">' . Display::return_icon('export_csv.png', get_lang('ExportGlossaryAsCSV'), '', ICON_SIZE_MEDIUM) . '</a>'; if (api_is_allowed_to_edit(null, true)) { $actionsLeft .= '<a href="index.php?' . api_get_cidreq() . '&action=import">' . Display::return_icon('import_csv.png', get_lang('ImportGlossary'), '', ICON_SIZE_MEDIUM) . '</a>'; } $actionsLeft .= '<a href="index.php?' . api_get_cidreq() . '&action=export_to_pdf">' . Display::return_icon('pdf.png', get_lang('ExportToPDF'), '', ICON_SIZE_MEDIUM) . '</a>'; if (isset($_SESSION['glossary_view']) && $_SESSION['glossary_view'] == 'table' or !isset($_SESSION['glossary_view'])) { $actionsLeft .= '<a href="index.php?' . api_get_cidreq() . '&action=changeview&view=list">' . Display::return_icon('view_detailed.png', get_lang('ListView'), '', ICON_SIZE_MEDIUM) . '</a>'; } else { $actionsLeft .= '<a href="index.php?' . api_get_cidreq() . '&action=changeview&view=table">' . Display::return_icon('view_text.png', get_lang('TableView'), '', ICON_SIZE_MEDIUM) . '</a>'; } /* BUILD SEARCH FORM */ $form = new FormValidator('search', 'get', api_get_self() . '?' . api_get_cidreq(), '', array(), FormValidator::LAYOUT_INLINE); $form->addText('keyword', '', false, array('class' => 'col-md-2')); $form->addElement('hidden', 'cidReq', api_get_course_id()); $form->addElement('hidden', 'id_session', api_get_session_id()); $form->addButtonSearch(get_lang('Search')); $actionsRight = $form->returnForm(); $toolbar = Display::toolbarAction('toolbar-document', array(0 => $actionsLeft, 1 => $actionsRight)); echo $toolbar; if ($glossaryView == 'table') { $table = new SortableTable('glossary', array('GlossaryManager', 'get_number_glossary_terms'), array('GlossaryManager', 'get_glossary_data'), 0); //$table->set_header(0, '', false); $table->set_header(0, get_lang('TermName'), true); $table->set_header(1, get_lang('TermDefinition'), true); if (api_is_allowed_to_edit(null, true)) { $table->set_header(2, get_lang('Actions'), false, 'width=90px', array('class' => 'td_actions')); $table->set_column_filter(2, array('GlossaryManager', 'actions_filter')); } $table->display(); } if ($glossaryView == 'list') { GlossaryManager::display_glossary_list(); } }
$table->set_header(1, get_lang('Photo'), false); $table->set_header(2, get_lang('OfficialCode')); if (api_is_western_name_order()) { $table->set_header(3, get_lang('FirstName')); $table->set_header(4, get_lang('LastName')); } else { $table->set_header(3, get_lang('LastName')); $table->set_header(4, get_lang('FirstName')); } $table->set_header(5, get_lang('LoginName')); $table->set_header(6, get_lang('Email')); $table->set_header(7, get_lang('Profile')); $table->set_header(8, get_lang('Active'), true, 'width="15px"'); $table->set_header(9, get_lang('RegistrationDate'), true, 'width="90px"'); $table->set_header(10, get_lang('Action'), false, 'width="220px"'); $table->set_column_filter(3, 'user_filter'); $table->set_column_filter(4, 'user_filter'); $table->set_column_filter(6, 'email_filter'); $table->set_column_filter(7, 'status_filter'); $table->set_column_filter(8, 'active_filter'); $table->set_column_filter(10, 'modify_filter'); // Only show empty actions bar if delete users has been blocked if (api_is_platform_admin() && !$deleteUserAvailable) { $table->set_form_actions(array('delete' => get_lang('DeleteFromPlatform'))); } else { $table->set_form_actions(array('none' => get_lang('NoActionAvailable'))); } $table_result = $table->return_table(); $extra_search_options = ''; //Try to search the user everywhere if ($table->get_total_number_of_items() == 0) {
//$column_order = array(1,2,3,4,5,6,7,8,9,10,11); $extra_fields = UserManager::get_extra_fields(); $number_of_extra_fields = count($extra_fields); $table = new SortableTable('user_field', array('UserManager', 'get_number_of_extra_fields'), array('UserManager', 'get_extra_fields'), 5); $table->set_additional_parameters($parameters); $table->set_header(0, '', false); $table->set_header(1, get_lang('FieldLabel'), false); $table->set_header(2, get_lang('FieldType'), false); $table->set_header(3, get_lang('FieldTitle'), false); $table->set_header(4, get_lang('FieldDefaultValue'), false); $table->set_header(5, get_lang('FieldOrder'), false); $table->set_header(6, get_lang('FieldVisibility'), false); $table->set_header(7, get_lang('FieldChangeability'), false); $table->set_header(8, get_lang('FieldFilter'), false); $table->set_header(9, get_lang('Modify'), false); $table->set_column_filter(5, 'order_filter'); $table->set_column_filter(6, 'modify_visibility'); $table->set_column_filter(7, 'modify_changeability'); $table->set_column_filter(8, 'modify_field_filter'); $table->set_column_filter(9, 'edit_filter'); $table->set_column_filter(2, 'type_filter'); $table->display(); Display::display_footer(); //gateway functions to the UserManager methods (provided for SorteableTable callback mechanism) function get_number_of_extra_fields() { return UserManager::get_number_of_extra_fields(); } function get_extra_fields($f, $n, $o, $d) { return UserManager::get_extra_fields($f, $n, $o, $d);
} } // getting all the information of the field $field_info = UserManager::get_extra_field_information($_GET['field_id']); echo Display::page_header($field_info['3']); // the total number of options (used in the actions_filter function but declared here for performance reasons) $number_of_options = get_number_of_options(); // displaying the sortable table $parameters['sec_token'] = Security::get_token(); $parameters['field_id'] = Security::remove_XSS($_GET['field_id']); $table = new SortableTable('options', 'get_number_of_options', 'get_options_data', 2); $table->set_additional_parameters($parameters); $table->set_header(0, get_lang('DisplayOrder'), false); $table->set_header(1, get_lang('OptionText'), false); $table->set_header(2, get_lang('Actions'), false); $table->set_column_filter(2, 'actions_filter'); $table->display(); // display footer Display::display_footer(); function get_options_data($from, $number_of_items, $column, $direction) { // Database table definition $table_userfields_options = Database::get_main_table(TABLE_MAIN_USER_FIELD_OPTIONS); // The sql statement $sql = "SELECT\n\t\t\t\toption_order \t\tAS col0,\n\t\t\t\toption_display_text\tAS col1,\n\t\t\t\tid \t\t\t\t\tAS col2\n\t\t\tFROM {$table_userfields_options} WHERE field_id='" . Database::escape_string($_GET['field_id']) . "' ORDER BY option_order ASC"; $sql .= " LIMIT {$from},{$number_of_items}"; $res = Database::query($sql); $return = array(); while ($option = Database::fetch_row($res)) { $return[] = $option; }
return $classes; } /** * Build the reg-column of the table * @param int $class_id The class id * @return string Some HTML-code */ function reg_filter($class_id) { $result = "<a href=\"" . api_get_self() . "?register=yes&class_id=" . $class_id . "\">" . get_lang("reg") . "</a>"; return $result; } // Build search-form $form = new FormValidator('search_class', 'get', '', '', null, false); $form->addText('keyword', '', false); $form->addButtonSearch(get_lang('SearchButton')); // Build table $table = new SortableTable('users', 'get_number_of_classes', 'get_class_data', 1); $parameters['keyword'] = Security::remove_XSS($_GET['keyword']); $table->set_additional_parameters($parameters); $col = 0; $table->set_header($col++, '', false); $table->set_header($col++, get_lang('ClassName')); $table->set_header($col++, get_lang('NumberOfUsers')); $table->set_header($col++, get_lang('reg'), false); $table->set_column_filter($col - 1, 'reg_filter'); $table->set_form_actions(array('subscribe' => get_lang('reg')), 'class'); // Display form & table $form->display(); $table->display(); Display::display_footer();
/** * Display a sortable table that contains an overview of all the reporting progress of all sessions and all courses the user is subscribed to * @author Guillaume Viguier <*****@*****.**> */ public static function display_tracking_session_overview() { $t_head = ' <table style="width: 100%;border:0;padding:0;border-collapse:collapse;table-layout: fixed">'; //$t_head .= ' <caption>'.get_lang('CourseInformation').'</caption>'; $t_head .= '<tr>'; $t_head .= ' <th width="155px" style="border-left:0;border-bottom:0"><span>' . get_lang('Course') . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgTimeSpentInTheCourse'), 6, true) . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgStudentsProgress'), 6, true) . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgCourseScore'), 6, true) . '</span></th>'; //$t_head .= ' <th><div style="width:40px">'.get_lang('AvgExercisesScore').'</div></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('TotalNumberOfMessages'), 6, true) . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('TotalNumberOfAssignments'), 6, true) . '</span></th>'; $t_head .= ' <th width="105px" style="border-bottom:0"><span>' . get_lang('TotalExercisesScoreObtained') . '</span></th>'; //$t_head .= ' <th><div>'.get_lang('TotalExercisesScorePossible').'</div></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('TotalExercisesAnswered'), 6, true) . '</span></th>'; //$t_head .= ' <th><div>'.get_lang('TotalExercisesScorePercentage').'</div></th>'; //$t_head .= ' <th><div style="width:60px">'.get_lang('FirstLogin').'</div></th>'; $t_head .= ' <th style="padding:0;border-bottom:0;border-right:0;"><span>' . get_lang('LatestLogin') . '</span></th>'; $t_head .= ' </tr></table>'; $addparams = array('view' => 'admin', 'display' => 'sessionoverview'); $table = new SortableTable('tracking_session_overview', array('MySpace', 'get_total_number_sessions'), array('MySpace', 'get_session_data_tracking_overview'), 1); $table->additional_parameters = $addparams; $table->set_header(0, '', false, null, array('style' => 'display: none')); $table->set_header(1, get_lang('Session'), true, array('style' => 'font-size:8pt'), array('style' => 'font-size:8pt')); $table->set_header(2, $t_head, false, array('style' => 'width:90%;border:0;padding:0;font-size:7.5pt;'), array('style' => 'width:90%;padding:0;font-size:7.5pt;')); $table->set_column_filter(2, array('MySpace', 'session_tracking_filter')); $table->display(); }
/** * Display a sortable table with all the templates that the platform administrator has defined. * * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium * @version August 2008 * @since Dokeos 1.8.6 */ function display_templates() { $table = new SortableTable('templates', 'get_number_of_templates', 'get_template_data', 1); $table->set_additional_parameters(array('category' => Security::remove_XSS($_GET['category']))); $table->set_header(0, get_lang('Image'), true, array('style' => 'width: 101px;')); $table->set_header(1, get_lang('Title')); $table->set_header(2, get_lang('Actions'), false, array('style' => 'width:50px;')); $table->set_column_filter(2, 'actions_filter'); $table->set_column_filter(0, 'image_filter'); $table->display(); }
$form->addElement('style_submit_button', 'submit', get_lang('Search'), 'class="search"'); // The action bar. echo '<div style="float: right; margin-top: 5px; margin-right: 5px;">'; //echo '<a href="course_list.php">'.Display::return_icon('courses.gif', get_lang('CourseList')).get_lang('CourseList').'</a>'; echo ' <a href="course_request_accepted.php">' . Display::return_icon('course_request_accepted.gif', get_lang('AcceptedCourseRequests')) . get_lang('AcceptedCourseRequests') . '</a>'; echo ' <a href="course_request_rejected.php">' . Display::return_icon('course_request_rejected.gif', get_lang('RejectedCourseRequests')) . get_lang('RejectedCourseRequests') . '</a>'; echo '</div>'; echo '<div class="actions">'; $form->display(); echo '</div>'; // Create a sortable table with the course data. $offet = DELETE_ACTION_ENABLED ? 1 : 0; $table = new SortableTable('course_requests_review', 'get_number_of_requests', 'get_request_data', 4 + $offet, 20, 'DESC'); $table->set_additional_parameters($parameters); if (DELETE_ACTION_ENABLED) { $table->set_header(0, '', false); } $table->set_header(0 + $offet, get_lang('Code')); $table->set_header(1 + $offet, get_lang('Title')); $table->set_header(2 + $offet, get_lang('Category')); $table->set_header(3 + $offet, get_lang('Teacher')); $table->set_header(4 + $offet, get_lang('CourseRequestDate')); $table->set_header(5 + $offet, '', false); $table->set_column_filter(3 + $offet, 'email_filter'); $table->set_column_filter(5 + $offet, 'modify_filter'); if (DELETE_ACTION_ENABLED) { $table->set_form_actions(array('delete_course_requests' => get_lang('DeleteCourseRequests')), 'course_request'); } $table->display(); /* FOOTER */ Display::display_footer();
/** * This is the main function that display the list or the table with all the glossary terms * * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium * @version januari 2009, dokeos 1.8.6 */ function display_glossary() { // action links echo '<div class="actions" style="margin-bottom:10px">'; if (api_is_allowed_to_edit(null, true)) { echo '<a href="index.php?' . api_get_cidreq() . '&action=addglossary&msg=add">' . Display::return_icon('filenew.gif', get_lang('TermAddNew')) . get_lang('TermAddNew') . '</a>'; } if (isset($_SESSION['glossary_view']) && $_SESSION['glossary_view'] == 'table' or !isset($_SESSION['glossary_view'])) { echo '<a href="index.php?' . api_get_cidreq() . '&action=changeview&view=list">' . Display::return_icon('view_list.gif', get_lang('ListView')) . get_lang('ListView') . '</a>'; } else { echo '<a href="index.php?' . api_get_cidreq() . '&action=changeview&view=table">' . Display::return_icon('view_table.gif', get_lang('TableView')) . get_lang('TableView') . '</a>'; } echo '</div>'; if (!$_SESSION['glossary_view'] or $_SESSION['glossary_view'] == 'table') { $table = new SortableTable('glossary', 'get_number_glossary_terms', 'get_glossary_data', 0); $table->set_header(0, get_lang('DisplayOrder'), true); $table->set_header(1, get_lang('TermName'), true); $table->set_header(2, get_lang('TermDefinition'), true); $table->set_header(3, get_lang('CreationDate'), false); $table->set_header(4, get_lang('UpdateDate'), false); if (api_is_allowed_to_edit(null, true)) { $table->set_header(5, get_lang('Actions'), false); $table->set_column_filter(5, 'actions_filter'); } $table->display(); } if ($_SESSION['glossary_view'] == 'list') { display_glossary_list(); } }
$table->set_header($header_nr++, get_lang('FirstName')); $indexList['lastname'] = $header_nr; $table->set_header($header_nr++, get_lang('LastName')); } else { $indexList['lastname'] = $header_nr; $table->set_header($header_nr++, get_lang('LastName')); $indexList['firstname'] = $header_nr; $table->set_header($header_nr++, get_lang('FirstName')); } $indexList['username'] = $header_nr; $table->set_header($header_nr++, get_lang('LoginName')); $indexList['groups'] = $header_nr; $table->set_header($header_nr++, get_lang('GroupSingle'), false); if (api_is_allowed_to_edit(null, true) && api_get_setting('allow_user_course_subscription_by_course_admin') == 'true') { } else { $table->set_column_filter(0, 'hide_field'); } $hideFields = api_get_configuration_value('hide_user_field_from_list'); if (!empty($hideFields)) { foreach ($hideFields as $fieldToHide) { if (isset($indexList[$fieldToHide])) { $table->setHideColumn($indexList[$fieldToHide]); } } } if (api_is_allowed_to_edit(null, true)) { $table->set_header($header_nr++, get_lang('Status'), false); $table->set_header($header_nr++, get_lang('Active'), false); if (api_get_setting('allow_user_course_subscription_by_course_admin') == 'true') { $table->set_column_filter(9, 'active_filter'); } else {
$my_cidreq = isset($_GET['cidReq']) ? Security::remove_XSS($_GET['cidReq']) : ''; $my_origin = isset($_GET['origin']) ? Security::remove_XSS($_GET['origin']) : ''; $my_gidreq = isset($_GET['gidReq']) ? Security::remove_XSS($_GET['gidReq']) : ''; $parameters = array('cidReq' => $my_cidreq, 'origin' => $my_origin, 'gidReq' => $my_gidreq); $table->set_additional_parameters($parameters); $table->set_header(0, ''); if (api_is_western_name_order()) { $table->set_header(1, get_lang('FirstName')); $table->set_header(2, get_lang('LastName')); } else { $table->set_header(1, get_lang('LastName')); $table->set_header(2, get_lang('FirstName')); } if (api_get_setting('display.show_email_addresses') == 'true') { $table->set_header(3, get_lang('Email')); $table->set_column_filter(3, 'email_filter'); } else { if (api_is_allowed_to_edit() == 'true') { $table->set_header(3, get_lang('Email')); $table->set_column_filter(3, 'email_filter'); } } //the order of these calls is important $table->set_column_filter(1, 'user_name_filter'); $table->set_column_filter(2, 'user_name_filter'); $table->set_column_filter(0, 'user_icon_filter'); $table->display(); /** * Get the number of subscribed users to the group * * @return integer
/** * This is the main function that displays the list or the table with all * the glossary terms * @param string View ('table' or 'list'). Optional parameter. * Defaults to 'table' and prefers glossary_view from the session by default. * @return void * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium * @version januari 2009, dokeos 1.8.6 */ public static function display_glossary($view = 'table') { // This function should always be called with the corresponding // parameter for view type. Meanwhile, use this cheap trick. $glossaryView = Session::read('glossary_view'); if (empty($glossaryView)) { Session::write('glossary_view', $view); } // action links echo '<div class="actions">'; if (api_is_allowed_to_edit(null, true)) { echo '<a href="index.php?' . api_get_cidreq() . '&action=addglossary&msg=add?' . api_get_cidreq() . '">' . Display::return_icon('new_glossary_term.png', get_lang('TermAddNew'), '', ICON_SIZE_MEDIUM) . '</a>'; } echo '<a href="index.php?' . api_get_cidreq() . '&action=export">' . Display::return_icon('export_csv.png', get_lang('ExportGlossaryAsCSV'), '', ICON_SIZE_MEDIUM) . '</a>'; if (api_is_allowed_to_edit(null, true)) { echo '<a href="index.php?' . api_get_cidreq() . '&action=import">' . Display::return_icon('import_csv.png', get_lang('ImportGlossary'), '', ICON_SIZE_MEDIUM) . '</a>'; } echo '<a href="index.php?' . api_get_cidreq() . '&action=export_to_pdf">' . Display::return_icon('pdf.png', get_lang('ExportToPDF'), '', ICON_SIZE_MEDIUM) . '</a>'; if (isset($glossaryView) && $glossaryView == 'table' or !isset($glossaryView)) { echo '<a href="index.php?' . api_get_cidreq() . '&action=changeview&view=list">' . Display::return_icon('view_detailed.png', get_lang('ListView'), '', ICON_SIZE_MEDIUM) . '</a>'; } else { echo '<a href="index.php?' . api_get_cidreq() . '&action=changeview&view=table">' . Display::return_icon('view_text.png', get_lang('TableView'), '', ICON_SIZE_MEDIUM) . '</a>'; } echo '</div>'; if (!$glossaryView || $glossaryView == 'table') { $table = new SortableTable('glossary', array('GlossaryManager', 'get_number_glossary_terms'), array('GlossaryManager', 'get_glossary_data'), 0); //$table->set_header(0, '', false); $table->set_header(0, get_lang('TermName'), true); $table->set_header(1, get_lang('TermDefinition'), true); if (api_is_allowed_to_edit(null, true)) { $table->set_header(2, get_lang('Actions'), false, 'width=90px', array('class' => 'td_actions')); $table->set_column_filter(2, array('GlossaryManager', 'actions_filter')); } $table->display(); } if ($glossaryView == 'list') { GlossaryManager::display_glossary_list(); } }
/** * Display a sortable table that contains an overview off all the reporting progress of all users and all courses the user is subscribed to * * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium * @version Dokeos 1.8.6 * @since October 2008 */ function display_tracking_user_overview() { display_user_overview_export_options(); $t_head .= ' <table style="width: 100%;border:0;padding:0;border-collapse:collapse;table-layout: fixed">'; $t_head .= ' <caption>' . get_lang('CourseInformation') . '</caption>'; $t_head .= '<tr>'; $t_head .= ' <th width="155px" style="border-left:0;border-bottom:0"><span>' . get_lang('Course') . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgTimeSpentInTheCourse'), 6, true) . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgStudentsProgress'), 6, true) . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgCourseScore'), 6, true) . '</span></th>'; //$t_head .= ' <th><div style="width:40px">'.get_lang('AvgExercisesScore').'</div></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgMessages'), 6, true) . '</span></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('AvgAssignments'), 6, true) . '</span></th>'; $t_head .= ' <th width="105px" style="border-bottom:0"><span>' . get_lang('TotalExercisesScoreObtained') . '</span></th>'; //$t_head .= ' <th><div>'.get_lang('TotalExercisesScorePossible').'</div></th>'; $t_head .= ' <th style="padding:0;border-bottom:0"><span>' . cut(get_lang('TotalExercisesAnswered'), 6, true) . '</span></th>'; //$t_head .= ' <th><div>'.get_lang('TotalExercisesScorePercentage').'</div></th>'; //$t_head .= ' <th><div style="width:60px">'.get_lang('FirstLogin').'</div></th>'; $t_head .= ' <th style="padding:0;border-bottom:0;border-right:0;"><span>' . get_lang('LatestLogin') . '</span></th>'; $t_head .= ' </tr></table>'; $addparams = array('view' => 'admin', 'display' => 'useroverview'); $table = new SortableTable('tracking_user_overview', 'get_number_of_users_tracking_overview', 'get_user_data_tracking_overview', 0); $table->additional_parameters = $addparams; $table->set_header(0, get_lang('OfficialCode'), true, array('style' => 'font-size:8pt'), array('style' => 'font-size:8pt')); $table->set_header(1, get_lang('LastName'), true, array('style' => 'font-size:8pt'), array('style' => 'font-size:8pt')); $table->set_header(2, get_lang('FirstName'), true, array('style' => 'font-size:8pt'), array('style' => 'font-size:8pt')); $table->set_header(3, get_lang('LoginName'), true, array('style' => 'font-size:8pt'), array('style' => 'font-size:8pt')); $table->set_header(4, $t_head, false, array('style' => 'width:90%;border:0;padding:0;font-size:7.5pt;'), array('style' => 'width:90%;padding:0;font-size:7.5pt;')); $table->set_column_filter(4, 'course_info_tracking_filter'); $table->display(); }