/** * get lockrule object for given id * from static object pool * * @param string $lock_id id of lockrule * @return LockRule */ public static function get($lock_id) { if (!array_key_exists($lock_id, self::$lockrules)) { self::$lockrules[$lock_id] = LockRule::find($lock_id); } return self::$lockrules[$lock_id]; }
function delete_action($lock_rule_id) { $this->lock_rule = LockRule::find($lock_rule_id); if (!(!$this->lock_rule->isNew() && ($GLOBALS['perm']->have_perm('root') || $this->lock_rule->user_id == $GLOBALS['user']->id))) { throw new Trails_Exception(403); } CSRFProtection::verifyUnsafeRequest(); if ($this->lock_rule->delete()) { PageLayout::postMessage(MessageBox::success(_('Die Sperrebene wurde gelöscht.'))); } $this->redirect($this->url_for('admin/lockrules')); }
/** * set the lock rule * * @return void */ public function set_lock_rule_action() { CSRFProtection::verifyUnsafeRequest(); if (!$GLOBALS['perm']->have_studip_perm('admin', $GLOBALS['SessionSeminar'])) { throw new AccessDeniedException(); } $course = Course::findCurrent(); if ($course) { $rule_id = Request::get('lock_sem') != 'none' ? Request::get('lock_sem') : null; $course->lock_rule = $rule_id; if ($course->store()) { if (!is_null($rule_id)) { $lock_rule = LockRule::find($rule_id); $msg = sprintf(_('Die Sperrebene %s wurde erfolgreich übernommen!'), $lock_rule->name); } else { $msg = _('Die Sperrebene wurde erfolgreich zurückgesetzt!'); } PageLayout::postMessage(MessageBox::success($msg)); } } $this->relocate($this->url_for('/index')); }