public static function has_role($catid, $userinfo) { $category = CategoryTable::getInstance()->find($catid); foreach ($userinfo['role'] as $role) { $roles[] = $role['id']; } $cat_roles = array_filter(explode(',', $category->manager)); foreach ($cat_roles as $r) { if (in_array($r, $roles)) { return $category; } } return false; }
public function index($id_or_alias) { parent::load('model', 'system/contrib/auth'); parent::load('model', 'articles'); $articles = Article::get_by_category($id_or_alias); import('system/share/web/paginator'); $paginator = new Paginator($articles, $_GET['page'], 10); $category = CategoryTable::getInstance()->findByAlias($id_or_alias); $smarty = parent::load('smarty'); $smarty->assign('category', $category[0]); $smarty->assign('paginator', $paginator->output()); $smarty->assign('page_title', $category[0]->name); $smarty->display('article/list'); }
public function category_edit($id) { parent::load('model', 'articles'); parent::load('model', 'system/contrib/auth'); $category = CategoryTable::getInstance()->find($id); if (!$category) { HTTPRedirect::flash_to('manager/article_categories', '分类不存在', $this->smarty); } $roles = RoleTable::getInstance()->findAll(); $roles_cleaned = array(); foreach ($roles as $role) { $roles_cleaned[$role['id']] = $role['name']; } $this->smarty->assign('roles', $roles_cleaned); $this->smarty->assign('checked', array_filter(explode(',', $category['manager']))); $this->smarty->assign('category', $category); if ($this->is_post()) { $category->name = trim(strip_tags($_POST['name'])); $category->manager = sprintf(',%s,', implode(',', $_POST['roles'])); $category->save(); HTTPRedirect::flash_to('manager/article_categories', '修改分类成功', $this->smarty); } $this->smarty->display('manager/article/category_edit'); }
public function executeCatalog(sfWebRequest $request) { $this->catList = CategoryTable::getInstance()->getMainPageList(); }