/*************************************************************************** * Main ***************************************************************************/ $tempView = $view; $levelView++; $out .= '<p>' . "\n"; if ('1' == $view[$levelView]) { $tempView[$levelView] = '0'; if (false === ($datagrid[$levelView] = $Cache_Lite->get($levelView))) { $sql = "SELECT DISTINCT username AS username\n , count(*) AS qty\n FROM `" . $tbl_user . "`\n GROUP BY username\n HAVING qty > 1\n ORDER BY qty DESC\n LIMIT 100"; $data = claro_sql_query_fetch_all($sql); if (!is_array($data) || 0 == sizeof($data)) { $data[] = array('-', 'qty' => '-'); } $dg->set_colTitleList(array(get_lang('Username'), get_lang('count'))); $dg->set_grid($data); $datagrid[$levelView] .= $dg->render(); $Cache_Lite->save($datagrid[$levelView], $levelView); } $out .= '-' . ' ' . '<b>' . get_lang('Accounts with same <i>Username</i>') . '</b>' . ' ' . '<small>' . '[<a href="' . $_SERVER['PHP_SELF'] . '?view=' . $tempView . '">' . get_lang('Close') . '</a>]' . '</small>' . '<br />' . "\n" . $datagrid[$levelView] . '<small>' . get_lang('Last computing') . ' ' . claro_html_localised_date(get_locale('dateTimeFormatLong') . ':%S', $Cache_Lite->lastModified()) . ', ' . get_lang('%delay ago', array('%delay' => claro_html_duration(time() - $Cache_Lite->lastModified()))) . '</small>' . '<br />' . "\n"; } else { $tempView[$levelView] = '1'; $out .= '+' . ' ' . '<a href="' . $_SERVER['PHP_SELF'] . '?view=' . $tempView . '">' . get_lang('Accounts with same <i>Username</i>') . '</a>' . "\n"; } $out .= '</p>' . "\n\n"; /*************************************************************************** * Platform access and logins ***************************************************************************/ $tempView = $view; $levelView++; $out .= '<p>' . "\n";
$userGrid[$userKey]['login_as'] = ' - '; } } } $sortUrlList = $myPager->get_sort_url_list($_SERVER['PHP_SELF']); // Build the list of columns' titles $colTitleList = array('user_id' => '<a href="' . $sortUrlList['user_id'] . '">' . get_lang('Numero') . '</a>', 'name' => '<a href="' . $sortUrlList['name'] . '">' . get_lang('Last name') . '</a>', 'firstname' => '<a href="' . $sortUrlList['firstname'] . '">' . get_lang('First name') . '</a>', 'officialCode' => '<a href="' . $sortUrlList['officialCode'] . '">' . get_lang('Administrative code') . '</a>', 'email' => '<a href="' . $sortUrlList['email'] . '">' . get_lang('Email') . '</a>', 'isCourseCreator' => '<a href="' . $sortUrlList['isCourseCreator'] . '">' . get_lang('Status') . '</a>', 'settings' => get_lang('User settings')); if (get_conf("registrationRestrictedThroughCategories")) { $colTitleList['qty_category'] = get_lang('Categories'); } $colTitleList['qty_class'] = get_lang('Classes'); $colTitleList['qty_course'] = get_lang('Courses'); $colTitleList['delete'] = get_lang('Delete'); $colTitleList['login_as'] = get_lang('Login as'); $userDataGrid = new claro_datagrid(); $userDataGrid->set_grid($userGrid); $userDataGrid->set_colHead('name'); $userDataGrid->set_colTitleList($colTitleList); if (count($userGrid) == 0) { $userDataGrid->set_noRowMessage('<center>' . get_lang('No user to display') . "\n" . '<br />' . "\n" . '<a href="advanced_user_search.php' . $addtoAdvanced . '">' . get_lang('Search again (advanced)') . '</a></center>' . "\n"); } else { $userDataGrid->set_colAttributeList(array('user_id' => array('align' => 'center'), 'officialCode' => array('align' => 'center'), 'settings' => array('align' => 'center'), 'delete' => array('align' => 'center'), 'login_as' => array('align' => 'center'))); } //--------- // DISPLAY //--------- //PREPARE // Javascript JavascriptLanguage::getInstance()->addLangVar('Are you sure to delete %name ?'); JavascriptLoader::getInstance()->load('admin'); JavascriptLoader::getInstance()->load('admin_users');
foreach ($userCourseList as $courseKey => $course) { $userCourseGrid[$courseKey]['officialCode'] = $course['officialCode']; $iconUrl = get_course_access_icon($course['access']); $userCourseGrid[$courseKey]['name'] = '<img class="iconDefinitionList" src="' . $iconUrl . '" alt="" />' . '<a href="' . get_path('clarolineRepositoryWeb') . 'course/index.php?cid=' . claro_htmlspecialchars($course['sysCode']) . '">' . $course['name'] . '</a><br />' . $course['titular']; $userCourseGrid[$courseKey]['profileId'] = claro_get_profile_name($course['profileId']); if ($course['isCourseManager']) { $userCourseGrid[$courseKey]['isCourseManager'] = '<img class="qtip" src="' . get_icon_url('manager') . '" alt="' . get_lang('Course manager') . '" />'; } else { $userCourseGrid[$courseKey]['isCourseManager'] = '<img class="qtip" src="' . get_icon_url('user') . '" alt="' . get_lang('Student') . '" />'; } $userCourseGrid[$courseKey]['edit_course_user'] = '******' . $course['sysCode'] . '&uidToEdit=' . $uidToEdit . '&ccfrom=uclist">' . '<img src="' . get_icon_url('edit') . '" alt="' . get_lang('Course manager') . '" title="' . get_lang('User\'s course settings') . '" />' . '</a>'; $userCourseGrid[$courseKey]['delete'] = '<a href="' . $_SERVER['PHP_SELF'] . '?uidToEdit=' . $uidToEdit . '&cmd=unsubscribe' . $addToUrl . '&courseId=' . claro_htmlspecialchars($course['sysCode']) . '&sort=' . $pagerSortKey . '&dir=' . $pagerSortDir . '&offset=' . $offset . '"' . ' onclick="return ADMIN.confirmationUnReg(\'' . clean_str_for_javascript($userData['firstname'] . ' ' . $userData['lastname']) . '\');">' . "\n" . '<img src="' . get_icon_url('unenroll') . '" alt="' . get_lang('Delete') . '" />' . "\n" . '</a>' . "\n"; } $sortUrlList = $myPager->get_sort_url_list($_SERVER['PHP_SELF'] . '?uidToEdit=' . $uidToEdit); $userCourseDataGrid = new claro_datagrid(); $userCourseDataGrid->set_grid($userCourseGrid); // extended setting for this datagrid $userCourseDataGrid->set_colTitleList(array('officialCode' => '<a href="' . $sortUrlList['officialCode'] . '">' . get_lang('Course code') . '</a>', 'name' => '<a href="' . $sortUrlList['name'] . '">' . get_lang('Course title') . '</a>', 'profileId' => '<a href="' . $sortUrlList['profileId'] . '">' . get_lang('User profile') . '</a>', 'isCourseManager' => '<a href="' . $sortUrlList['isCourseManager'] . '">' . get_lang('Role') . '</a>', 'edit_course_user' => get_lang('Edit settings') . '</a>', 'delete' => get_lang('Unregister user'))); if (0 == count($userCourseGrid)) { $userCourseDataGrid->set_noRowMessage(get_lang('No course to display')); } else { $userCourseDataGrid->set_colAttributeList(array('officialCode' => array('align' => 'left'), 'name' => array('align' => 'left'), 'isCourseManager' => array('align' => 'center'), 'edit_course_user' => array('align' => 'center'), 'delete' => array('align' => 'center'))); } // Initialisation of global variables and used libraries ClaroBreadCrumbs::getInstance()->prepend(get_lang('Administration'), get_path('rootAdminWeb')); $nameTools = get_lang('User course list'); // Javascript confirm pop up declaration for header JavascriptLanguage::getInstance()->addLangVar('Are you sure you want to unregister %name ?'); JavascriptLanguage::getInstance()->addLangVar('Are you sure you want to unregister %name for all courses?'); JavascriptLoader::getInstance()->load('admin'); // Command list