public function before_filter(&$action, &$args) { parent::before_filter($action, $args); $course_id = Request::option('sem_id', $args[0]); if (empty($course_id)) { checkObject(); //wirft Exception, wenn $SessionSeminar leer ist $course_id = $GLOBALS['SessionSeminar']; } $this->course = Course::find($course_id); if (!$this->course) { throw new Trails_Exception(400); } $this->send_from_search_page = Request::get('send_from_search_page'); if ($GLOBALS['SessionSeminar'] != $this->course->id && !(int) $this->course->visible && !($GLOBALS['perm']->have_perm(Config::get()->SEM_VISIBILITY_PERM) || $GLOBALS['perm']->have_studip_perm('user', $this->course->id))) { throw new AccessDeniedException(_('Diese Veranstaltung ist versteckt. Hier gibt es nichts zu sehen.')); } if (!preg_match('/^(' . preg_quote($GLOBALS['CANONICAL_RELATIVE_PATH_STUDIP'], '/') . ')?([a-zA-Z0-9_-]+\\.php)([a-zA-Z0-9_?&=-]*)$/', $this->send_from_search_page)) { $this->send_from_search_page = ''; } if ($this->course->getSemClass()->offsetGet('studygroup_mode')) { if ($GLOBALS['perm']->have_studip_perm('autor', $this->course->id)) { // participants may see seminar_main $link = URLHelper::getUrl('seminar_main.php', array('auswahl' => $this->course->id)); } else { $link = URLHelper::getUrl('dispatch.php/course/studygroup/details/' . $this->course->id, array('send_from_search_page' => $this->send_from_search_page)); } $this->redirect($link); return; } }
function before_filter(&$action, &$args) { if (Request::option('auswahl')) { Request::set('cid', Request::option('auswahl')); } parent::before_filter($action, $args); checkObject(); $this->institute = Institute::findCurrent(); if (!$this->institute) { throw new CheckObjectException(_('Sie haben kein Objekt gewählt.')); } $this->institute_id = $this->institute->id; //set visitdate for institute, when coming from meine_seminare if (Request::option('auswahl')) { object_set_visit($this->institute_id, "inst"); } //gibt es eine Anweisung zur Umleitung? if (Request::get('redirect_to')) { $query_parts = explode('&', stristr(urldecode($_SERVER['QUERY_STRING']), 'redirect_to')); list(, $where_to) = explode('=', array_shift($query_parts)); $new_query = $where_to . '?' . join('&', $query_parts); page_close(); $new_query = preg_replace('/[^:0-9a-z+_\\-.#?&=\\/]/i', '', $new_query); header('Location: ' . URLHelper::getURL($new_query, array('cid' => $this->institute_id))); die; } PageLayout::setHelpKeyword("Basis.Einrichtungen"); PageLayout::setTitle($this->institute->getFullName() . " - " . _("Kurzinfo")); Navigation::activateItem('/course/main/info'); }
public function before_filter(&$action, &$args) { parent::before_filter($action, $args); checkObject(); checkObjectModule("schedule"); PageLayout::setTitle(sprintf('%s - %s', Course::findCurrent()->getFullname(), _("Themen"))); $seminar = new Seminar(Course::findCurrent()); $this->forum_activated = $seminar->getSlotModule('forum'); $this->documents_activated = $seminar->getSlotModule('documents'); }
/** * Before filter, set up the page by initializing the session and checking * all conditions. * * @param String $action Name of the action to be invoked * @param Array $args Arguments to be passed to the action method */ public function before_filter(&$action, &$args) { parent::before_filter($action, $args); if (!Config::Get()->ELEARNING_INTERFACE_ENABLE) { throw new AccessDeniedException(_('Elearning-Interface ist nicht aktiviert.')); } else { $this->elearning_active = true; } PageLayout::setHelpKeyword('Basis.Ilias'); PageLayout::setTitle($_SESSION['SessSemName']["header_line"] . " - " . _("Lernmodule")); checkObject(); // do we have an open object? checkObjectModule('elearning_interface'); object_set_visit_module('elearning_interface'); $this->search_key = Request::get('search_key'); $GLOBALS['search_key'] = $this->search_key; $this->cms_select = Request::quoted('cms_select'); $GLOBALS['cms_select'] = $this->cms_select; $this->open_all = Request::get('open_all'); $this->close_all = Request::get('close_all'); $this->new_account_cms = Request::get('new_account_cms'); $this->module_system_type = Request::get('module_system_type'); $this->module_id = Request::get('module_id'); $this->module_type = Request::get('module_type'); $this->anker_target = Request::get('anker_target'); $this->seminar_id = $_SESSION['SessSemName'][1]; $this->rechte = $GLOBALS['perm']->have_studip_perm('tutor', $this->seminar_id); if (!isset($GLOBALS['ELEARNING_INTERFACE_MODULES'][$this->new_account_cms])) { unset($this->new_account_cms); } if (!isset($GLOBALS['ELEARNING_INTERFACE_MODULES'][$this->cms_select])) { unset($this->cms_select); } if ($this->seminar_id != $_SESSION['elearning_open_close']["id"]) { unset($_SESSION['cache_data']); unset($_SESSION['elearning_open_close']); } if ($this->open_all != "") { $_SESSION['elearning_open_close']["all open"] = true; } elseif ($this->close_all != "") { $_SESSION['elearning_open_close']["all open"] = ""; } $_SESSION['elearning_open_close']["type"] = "seminar"; $_SESSION['elearning_open_close']["id"] = $this->seminar_id; if (Request::get('do_open')) { $this->anker_target = Request::get('do_open'); $_SESSION['elearning_open_close'][Request::get('do_open')] = true; } elseif (Request::get('do_close')) { $this->anker_target = Request::get('do_close'); $_SESSION['elearning_open_close'][Request::get('do_close')] = false; } $this->sidebar = Sidebar::get(); $this->sidebar->setImage('sidebar/learnmodule-sidebar.png'); $this->sidebar->setContextAvatar(CourseAvatar::getAvatar($this->seminar_id)); }
public function before_filter(&$action, &$args) { parent::before_filter($action, $args); global $perm; checkObject(); checkObjectModule("participants"); $this->course_id = $_SESSION['SessSemName'][1]; $this->course_title = $_SESSION['SessSemName'][0]; $this->user_id = $GLOBALS['auth']->auth['uid']; // Check dozent-perms if ($perm->have_studip_perm('dozent', $this->course_id)) { $this->is_dozent = true; } // Check tutor-perms if ($perm->have_studip_perm('tutor', $this->course_id)) { $this->is_tutor = true; } // Check autor-perms if ($perm->have_studip_perm('autor', $this->course_id)) { $this->is_autor = true; } if ($this->is_tutor) { PageLayout::setHelpKeyword("Basis.VeranstaltungenVerwaltenTeilnehmer"); } else { PageLayout::setHelpKeyword("Basis.InVeranstaltungTeilnehmer"); } // Check lock rules $this->dozent_is_locked = LockRules::Check($this->course_id, 'dozent'); $this->tutor_is_locked = LockRules::Check($this->course_id, 'tutor'); $this->is_locked = LockRules::Check($this->course_id, 'participants'); // Layoutsettings PageLayout::setTitle(sprintf('%s - %s', Course::findCurrent()->getFullname(), _("Teilnehmende"))); PageLayout::addScript('members.js'); SkipLinks::addIndex(Navigation::getItem('/course/members')->getTitle(), 'main_content', 100); object_set_visit_module('participants'); $this->last_visitdate = object_get_visit($this->course_id, 'participants'); // Check perms and set the last visit date if (!$this->is_tutor) { $this->last_visitdate = time() + 10; } // Get the max-page-value for the pagination $this->max_per_page = Config::get()->ENTRIES_PER_PAGE; $this->status_groups = array('dozent' => get_title_for_status('dozent', 2), 'tutor' => get_title_for_status('tutor', 2), 'autor' => get_title_for_status('autor', 2), 'user' => get_title_for_status('user', 2), 'accepted' => get_title_for_status('accepted', 2), 'awaiting' => _("Wartende Personen"), 'claiming' => _("Wartende Personen")); // StatusGroups for the view $this->decoratedStatusGroups = array('dozent' => get_title_for_status('dozent', 1), 'autor' => get_title_for_status('autor', 1), 'tutor' => get_title_for_status('tutor', 1), 'user' => get_title_for_status('user', 1)); //check for admission / waiting list update_admission($this->course_id); // Create new MembersModel, to get additionanl informations to a given Seminar $this->members = new MembersModel($this->course_id, $this->course_title); $this->members->checkUserVisibility(); // Set default sidebar image $sidebar = Sidebar::get(); $sidebar->setImage('sidebar/person-sidebar.png'); }
/** * Before filter, set up the page by initializing the session and checking * all conditions. * * @param String $action Name of the action to be invoked * @param Array $args Arguments to be passed to the action method */ public function before_filter(&$action, &$args) { parent::before_filter($action, $args); if (!Config::Get()->LITERATURE_ENABLE) { throw new AccessDeniedException(_('Die Literaturübersicht ist nicht aktiviert.')); } PageLayout::setHelpKeyword('Basis.Literatur'); checkObject(); // do we have an open object? checkObjectModule('literature'); object_set_visit_module('literature'); }
public function before_filter(&$action, &$args) { parent::before_filter($action, $args); checkObject(); checkObjectModule("schedule"); $course = Course::findCurrent(); if ($course) { PageLayout::setTitle(sprintf('%s - %s', $course->getFullname(), _("Termine"))); } else { PageLayout::setTitle(_("Termine")); } PageLayout::addSqueezePackage('tablesorter'); }
public function create_action($id, $type) { checkObject(); checkObjectModule('documents'); object_set_visit_module('documents'); if (!$GLOBALS['rechte']) { throw new AccessDeniedException(); } PageLayout::setTitle(_('Neuen Ordner erstellen')); $options = array(); $options[md5('new_top_folder')] = _('Namen auswählen oder wie Eingabe') . ' -->'; $query = "SELECT SUM(1) FROM folder WHERE range_id = ?"; $statement = DBManager::get()->prepare($query); $statement->execute(array($id)); if ($statement->fetchColumn() == 0) { $options[$id] = _('Allgemeiner Dateiordner'); } if ($type === 'sem') { $query = "SELECT statusgruppe_id AS id, statusgruppen.name AS name\n FROM statusgruppen\n LEFT JOIN folder ON (statusgruppe_id = folder.range_id)\n WHERE statusgruppen.range_id = ? AND folder_id IS NULL\n ORDER BY position"; $statement = DBManager::get()->prepare($query); $statement->execute(array($id)); $statement->setFetchMode(PDO::FETCH_ASSOC); foreach ($statement as $row) { $options[$row['id']] = sprintf(_('Dateiordner der Gruppe: %s'), $row['name']); } $issues = array(); $shown_dates = array(); $query = "SELECT themen_termine.issue_id, termine.date, folder.name, termine.termin_id, date_typ\n FROM termine\n LEFT JOIN themen_termine USING (termin_id)\n LEFT JOIN folder ON (themen_termine.issue_id = folder.range_id)\n WHERE termine.range_id = ? AND folder.folder_id IS NULL\n ORDER BY termine.date, name"; $statement = DBManager::get()->prepare($query); $statement->execute(array($id)); $statement->setFetchMode(PDO::FETCH_ASSOC); foreach ($statement as $row) { if ($row['name']) { continue; } $name = sprintf(_('Ordner für %s [%s]'), date('d.m.Y', $row['date']), $GLOBALS['TERMIN_TYP'][$row['date_typ']]['name']); if ($row['issue_id']) { if (!$issues[$row['issue_id']]) { $issues[$row['issue_id']] = new Issue(array('issue_id' => $row['issue_id'])); } $name .= ', ' . my_substr($issues[$row['issue_id']]->toString(), 0, 20); $option_id = $row['issue_id']; } else { $option_id = $row['termin_id']; } $options[$option_id] = $name; } } $this->options = $options; $this->id = $id; }
function before_filter(&$action, &$args) { global $SEM_TYPE, $SEM_CLASS; parent::before_filter($action, $args); checkObject(); $this->course = Course::findCurrent(); if (!$this->course) { throw new CheckObjectException(_('Sie haben kein Objekt gewählt.')); } $this->course_id = $this->course->id; PageLayout::setHelpKeyword("Basis.InVeranstaltungKurzinfo"); PageLayout::setTitle($GLOBALS['SessSemName']["header_line"] . " - " . _("Kurzinfo")); Navigation::activateItem('/course/main/info'); // add skip link SkipLinks::addIndex(Navigation::getItem('/course/main/info')->getTitle(), 'main_content', 100); $this->sem = Seminar::getInstance($this->course_id); $sem_class = $this->sem->getSemClass(); $this->studygroup_mode = $sem_class["studygroup_mode"]; }
/** * Before filter, set up the page by initializing the session and checking * all conditions. * * @param String $action Name of the action to be invoked * @param Array $args Arguments to be passed to the action method */ public function before_filter(&$action, &$args) { parent::before_filter($action, $args); // open session page_open(array('sess' => 'Seminar_Session', 'auth' => 'Seminar_Default_Auth', 'perm' => 'Seminar_Perm', 'user' => 'Seminar_User')); // set up user session include 'lib/seminar_open.php'; if (!Config::Get()->SCM_ENABLE) { throw new AccessDeniedException(_('Die freien Informationsseiten sind nicht aktiviert.')); } $GLOBALS['auth']->login_if(Request::get('again') && $GLOBALS['auth']->auth['uid'] == 'nobody'); $this->priviledged = $GLOBALS['perm']->have_studip_perm('tutor', $GLOBALS['SessSemName'][1]); if (Request::isXhr()) { $this->set_content_type('text/html;charset=Windows-1252'); } else { $this->set_layout($GLOBALS['template_factory']->open('layouts/base')); } if (!in_array($action, words('index create edit move delete'))) { array_unshift($args, $action); $action = 'index'; } if (in_array($action, words('create edit move delete')) && !$this->priviledged) { throw new AccessDeniedException(); } if ($GLOBALS['perm']->have_studip_perm('tutor', $GLOBALS['SessSemName'][1])) { $widget = new ActionsWidget(); $widget->addLink(_('Neuen Eintrag anlegen'), URLHelper::getLink('dispatch.php/course/scm/create'), Icon::create('add', 'clickable'))->asDialog(); Sidebar::get()->addWidget($widget); } PageLayout::setHelpKeyword('Basis.Informationsseite'); Navigation::activateItem('/course/scm'); checkObject(); // do we have an open object? checkObjectModule('scm'); object_set_visit_module('scm'); // Set sidebar image $sidebar = Sidebar::get(); $sidebar->setImage('sidebar/info-sidebar.png'); }
if ($view == "wikiprint") { printWikiPage($keyword, $version); page_close(); die; } elseif ($view == "wikiprintall") { printAllWikiPages($SessSemName[1], $SessSemName['header_line']); page_close(); die; } elseif ($view == "export_pdf") { include_once 'lib/classes/exportdocument/ExportPDF.class.php'; exportWikiPagePDF($keyword, $version); } elseif ($view == "exportall_pdf") { include_once 'lib/classes/exportdocument/ExportPDF.class.php'; exportAllWikiPagesPDF("all", Request::option('sortby')); } checkObject(); // do we have an open object? checkObjectModule("wiki"); //are we allowed to use this module here? object_set_visit_module("wiki"); PageLayout::setHelpKeyword("Basis.Wiki"); // Hilfeseite im Hilfewiki PageLayout::setTitle($SessSemName["header_line"] . " - " . _("Wiki")); if (in_array(Request::get('view'), words('listnew listall export'))) { Navigation::activateItem('/course/wiki/' . $view); } else { Navigation::activateItem('/course/wiki/show'); } if (Request::option('wiki_comments') == "all") { // show all comments $show_wiki_comments = "all";
- Измените конструктор класса SuperUser, вызвав родительский конструктор - Передайте родительскому конструктору необходимые значения - Измените метод showInfo() класса SuperUser, вызвав родительский метод showInfo() - Передайте родительскому методу необходимые значения */ /* ЗАДАНИЕ 8 - Сделайте все параметры конструктора класса User параметрами по умолчанию со значениями "пустая строка"("") - В конструкторе класса User генерируйте исключение, если введены не все данные - Опишите перехват исключения и выводите в браузер сообщение об ошибке - Попробуйте создать экземпляр класса User без какого-либо параметра(-ов) */ /* ЗАДАНИЕ 9 - Создайте константу класса User INFO_TITLE - Присвойте константе INFO_TITLE строковое значение "Данные пользователя:" - Обратитесь к константе INFO_TITLE перед вызовами метода showInfo() - Запустите код и проверьте его работоспособность - Создайте метод showTitle() в классе User - Опишите метод showTitle(), чтобы он выводил в браузер значение константы INFO_TITLE - Обратитесь к метод showTitle() перед вызовами метода showInfo() */ /* ЗАДАНИЕ 10 - Создайте абстрактный класс AUser - В абстрактном классе AUser объявите абстрактный метод showInfo() - Обновите класс User, унаследовав его от абстрактного класса AUser - Внесите в класс User необходимые изменения - Запустите код и проверьте его работоспособность */ /*
$sql = ob_get_clean(); T()->like($sql, '/^$/i', 'sql'); T()->ok($obj_tmp === $obj2, 'update cache'); ob_start(); $obj_tmp = $storage->loadObjectByKey('nick', 'vasya2'); $sql = ob_get_clean(); T()->like($sql, '/select/i', 'sql'); T()->ok(isNull($obj_tmp), 'update cache'); M('Db')->traceOff(); # # Querying # $d = $DATA_2; $d['nick'] = 'petya'; $identityMap->reset(); $res = iterator_to_array($storage->request(new RM_Db_Query($TABLE))->sort('nick')); T()->is(count($res), 3, 'quering(1)'); checkObject($res[0], 'MyObject', 1, qw2('val>qwerty')); checkObject($res[1], 'MyObject', 4, $d); checkObject($res[2], 'MyObject', 3, $DATA_1); $identityMap->reset(); $res = iterator_to_array($storage->query("SELECT * FROM {$TABLE} WHERE nick_name IS NULL or nick_name<>? ORDER BY a", "zzzzzz")); T()->is(count($res), 3, 'quering(2)'); checkObject($res[0], 'MyObject', 1, qw2('val>qwerty')); checkObject($res[1], 'MyObject', 3, $DATA_1); checkObject($res[2], 'MyObject', 4, $d); # ctorArgs T()->is($res[0]->_param1, 'value1', 'ctorArgs'); T()->is($res[0]->_param2, 'value2', 'ctorArgs'); T()->ok($res[0]->validator() === $validator, 'ctorArgs'); T()->ok(1, 'end');