/**
  * 权限列表
  */
 public function assignAction()
 {
     $this->view->roles = $this->role->getAll();
     $this->view->roleId = (int) $this->_request->getParam('role_id');
     if ($this->view->roleId == 0) {
         $this->view->roleId = $this->view->roles[0]['role_id'];
         //获取第一个角色
     } elseif (!$this->role->idExists($this->view->roleId)) {
         $this->view->feedback(array('title' => '发生错误', 'message' => '指定的角色 ID 不存在或者已经被删除'));
     }
     $this->view->layout = array('title' => '管理后台 - 添加规则');
     $this->view->ruleGroup = $this->rule->getRuleGroup();
     $this->view->allowRules = $this->acl->getRoleAllowRule($this->view->roleId);
 }
 /**
  * 删除规则
  */
 public function delAction()
 {
     if ($this->_request->isPost()) {
         $this->rule->del($this->_request->getPost('rule_id'));
         $cache = Zend_Registry::get('cache');
         $cache->remove('acl_resource');
         // 删除缓存
         $this->_redirect($this->view->url(array('action' => 'list')));
     }
     $this->isload = false;
 }
示例#3
0
 /**
  * 删除规则
  */
 public function action_del()
 {
     if (!Auth::getInstance()->isAllow('rule.delete')) {
         $this->show_message("对不起,您没有权限执行该操作");
     }
     if ($this->isPost()) {
         $this->rule->delRule($this->getPost('rule_id'));
         $this->request->redirect('/admin/rule/list?mod_name=' . trim($this->getQuery('mod_name')));
     }
     $this->auto_render = false;
 }
 /**
  * Exports all rules as XML
  *
  * @param \DataContainer $dc
  */
 public function export(\DataContainer $dc)
 {
     if (($ruleCollection = RuleModel::findBy('pid', $dc->id, array('order' => 'sorting'))) === null) {
         return;
     }
     $this->doc = new \DOMDocument('1.1', 'UTF-8');
     $rules = $this->doc->createElement('rules');
     foreach ($ruleCollection as $rule) {
         $rules->appendChild($this->createRuleElement($rule));
     }
     $this->doc->appendChild($rules);
     $file = new \File('system/tmp/' . md5(uniqid(mt_rand(), true)), true);
     $file->write($this->doc->saveXML());
     $file->close();
     $file->sendToBrowser('css_class_replacer_ruleset.xml');
     $file->delete();
 }
 /**
  * Import a rule set
  *
  * @param string
  * @param int
  */
 private function importRuleSet($file, $themeId)
 {
     $file = new \File($file, true);
     $doc = new \DOMDocument('1.1', 'UTF-8');
     $doc->loadXML($file->getContent());
     $rules = $doc->getElementsByTagName('rule');
     $sortIndex = 0;
     $lastRule = RuleModel::findBy('pid', $themeId, array('order' => 'sorting DESC', 'limit' => 1));
     if ($lastRule) {
         $sortIndex = $lastRule->sorting + 128;
     }
     foreach ($rules as $rule) {
         $set = array('pid' => $themeId, 'sorting' => $sortIndex, 'type' => $rule->getElementsByTagName('type')->item(0)->nodeValue, 'selector' => $rule->getElementsByTagName('selector')->item(0)->nodeValue, 'enable_replace' => $rule->getElementsByTagName('enable_replace')->item(0)->nodeValue === 'true' ? '1' : '', 'replace_directives' => $rule->getElementsByTagName('replace_directives')->item(0)->nodeValue, 'enable_add' => $rule->getElementsByTagName('enable_add')->item(0)->nodeValue === 'true' ? '1' : '', 'add_directives' => $rule->getElementsByTagName('add_directives')->item(0)->nodeValue, 'published' => $rule->getElementsByTagName('published')->item(0)->nodeValue === 'true' ? '1' : '');
         $sortIndex += 128;
         \Database::getInstance()->prepare('INSERT INTO tl_css_class_replacer %s')->set($set)->execute();
     }
 }