/** * Returns a widget for semester selection * @param $sem * @return OptionsWidget */ private function setSemesterWidget(&$sem) { $semesters = new SimpleCollection(Semester::getAll()); $this->sem = $sem; $this->semesters = $semesters->orderBy('beginn desc'); $sidebar = Sidebar::Get(); $widget = new SidebarWidget(); $widget->setTitle(_('Semesterfilter')); $this->render_template('my_courses/_semester_filter.php', null); $html = $this->response->body; $this->erase_response(); $widget->addElement(new WidgetElement($html)); $sidebar->addWidget($widget); }
/** * Display a list of user and role assignments for a given role. * * @param integer role id (optional) */ public function show_role_action($roleid = NULL) { $db = DBManager::get(); $roleid = Request::int('role', $roleid); $this->roles = RolePersistence::getAllRoles(); if (isset($roleid)) { $sql = "SELECT DISTINCT Vorname,Nachname,user_id,username,perms\n FROM auth_user_md5\n JOIN roles_user ON userid = user_id\n WHERE roleid = ?\n ORDER BY Nachname, Vorname"; $statement = DBManager::get()->prepare($sql); $statement->execute(array($roleid)); $users = $statement->fetchAll(PDO::FETCH_ASSOC); foreach ($users as $key => $user) { $institutes = new SimpleCollection(Institute::findMany(RolePersistence::getAssignedRoleInstitutes($user['user_id'], $roleid))); $users[$key]['institutes'] = $institutes->orderBy('name')->pluck('name'); } $plugins = PluginManager::getInstance()->getPluginInfos(); foreach ($plugins as $id => $plugin) { if (!$this->check_role_access($plugin, $roleid)) { unset($plugins[$id]); } } $this->users = $users; $this->plugins = $plugins; $this->role = self::getRole($roleid); $this->roleid = $roleid; $this->mps = $this->getMultiPersonSearch($roleid); } }