Beispiel #1
0
 /**
  * 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);
 }
Beispiel #2
0
 /**
  * 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);
     }
 }