• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP CFilterChain类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中CFilterChain的典型用法代码示例。如果您正苦于以下问题:PHP CFilterChain类的具体用法?PHP CFilterChain怎么用?PHP CFilterChain使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了CFilterChain类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: filterSuperAdminOnly

 public function filterSuperAdminOnly(CFilterChain $filterChain)
 {
     if (!Yii::app()->user->is("SuperAdmin")) {
         throw new CHttpException("You don't have super admin privileges to access this page");
     }
     $filterChain->run();
 }
开发者ID:jankichaudhari,项目名称:yii-site,代码行数:7,代码来源:BaseSuperAdminController.php


示例2: filterEnsureToken

 /**
  * @param \CFilterChain $filterChain
  */
 public function filterEnsureToken(\CFilterChain $filterChain)
 {
     if (($token = \Yii::app()->request->getQuery('token')) === null) {
         $this->accessDenied(Helper::t('errors', 'Invalid authentication token.'));
     }
     $filterChain->run();
 }
开发者ID:azamath,项目名称:yii-account,代码行数:10,代码来源:Controller.php


示例3: filterValidateServe

 /**
  * Ensure that everything is prepared before we execute the serve action.
  * @param CFilterChain $filterChain Instance of CFilterChain.
  */
 public function filterValidateServe($filterChain)
 {
     header('X-Powered-By:');
     header('Pragma:');
     header('Expires:');
     header('Cache-Control:');
     header('Last-Modified:');
     header('Etag:');
     @ob_end_clean();
     if (isset($_GET['g'])) {
         $qs = 'g=' . $_GET['g'];
         if (isset($_GET['lm'])) {
             $lm = $_GET['lm'];
             if (ctype_digit((string) $lm)) {
                 $qs .= '&' . $lm;
             }
         }
         $_SERVER['QUERY_STRING'] = $qs;
     }
     if (isset(Yii::app()->log)) {
         foreach (Yii::app()->log->routes as $route) {
             if ($route instanceof CWebLogRoute) {
                 $route->enabled = false;
             }
         }
     }
     $filterChain->run();
 }
开发者ID:maruthisivaprasad,项目名称:zurmo,代码行数:32,代码来源:ExtMinScriptController.php


示例4: filterNotGuestAndFriendIdExists

 public function filterNotGuestAndFriendIdExists(CFilterChain $chain)
 {
     if (!isset($_POST['friend_id']) || Yii::app()->user->isGuest) {
         $this->badRequest();
     }
     return $chain->run();
 }
开发者ID:blindest,项目名称:Yii-CMS-2.0,代码行数:7,代码来源:FriendController.php


示例5: filterPreloadOrder

 /**
  * Filters requests that are not passing order_id as a parameter.
  *
  * @param CFilterChain $filterchain 
  */
 public function filterPreloadOrder($filterchain)
 {
     if ($this->order === null) {
         throw new CHttpException(403, 'Invalid request!');
     }
     $filterchain->run();
 }
开发者ID:sanggabee,项目名称:fmi-mini-market,代码行数:12,代码来源:OrderItemController.php


示例6: filterGuestView

 public function filterGuestView(CFilterChain $filterChain)
 {
     if (Yii::app()->user->is("guest")) {
         $this->layout = '/layouts/guestLogin';
     }
     $filterChain->run();
 }
开发者ID:jankichaudhari,项目名称:yii-site,代码行数:7,代码来源:AdminController.php


示例7: filterCheckBackendCanStream

 /**
  * Displays a flash if the backend doesn't support streaming
  * @param CFilterChain $filterChain the filter chain
  */
 public function filterCheckBackendCanStream($filterChain)
 {
     // Check backend version and warn about incompatibilities
     if (!Yii::app()->xbmc->meetsMinimumRequirements() && !Setting::getBoolean('disableFrodoWarning')) {
         Yii::app()->user->setFlash('info', Yii::t('Misc', 'Streaming of video files is not possible from XBMC 12 "Frodo" backends'));
     }
     $filterChain->run();
 }
开发者ID:pweisenburger,项目名称:xbmc-video-server,代码行数:12,代码来源:MediaController.php


示例8: filterCheckConfiguration

 /**
  * Checks that the application has been configured, and if not redirects 
  * to the "create backend" page
  * @param CFilterChain $filterChain
  */
 public function filterCheckConfiguration($filterChain)
 {
     if (Yii::app()->backendManager->getCurrent() === null) {
         Yii::app()->user->setFlash('error', Yii::t('Backend', 'You must configure a backend before you can use the application'));
         $this->redirect(array('backend/create'));
     }
     $filterChain->run();
 }
开发者ID:pweisenburger,项目名称:xbmc-video-server,代码行数:13,代码来源:Controller.php


示例9: filterCheckConfiguration

 /**
  * Override parent implementation so we don't get stuck in a redirect loop
  * @param CFilterChain $filterChain
  */
 public function filterCheckConfiguration($filterChain)
 {
     if ($this->route === 'backend/create') {
         $filterChain->run();
     } else {
         parent::filterCheckConfiguration($filterChain);
     }
 }
开发者ID:Victor61,项目名称:xbmc-video-server,代码行数:12,代码来源:BackendController.php


示例10: filterAjaxOnlySilent

 /**
  * Фильтр аналогичен фильтру ajaxOnly, только по нему не происходит уведомлений об ошибках на e-mail
  * The filter method for 'ajaxOnly' filter.
  * This filter throws an exception (CHttpException with code 400) if the applied action is receiving a non-AJAX request.
  * @param CFilterChain $filterChain the filter chain that the filter is on.
  * @throws CHttpException if the current request is not an AJAX request.
  */
 public function filterAjaxOnlySilent($filterChain)
 {
     if (Yii::app()->getRequest()->getIsAjaxRequest()) {
         $filterChain->run();
     } else {
         throw new DaHttpException(400, Yii::t('yii', 'Your request is invalid.'));
     }
 }
开发者ID:kot-ezhva,项目名称:ygin,代码行数:15,代码来源:DaWebController.php


示例11: filter

 /**
  * Performs the filtering.
  * The default implementation simply calls {@link init()},
  * {@link CFilterChain::run()} and {@link run()} in order
  * Derived classes may want to override this method to change this behavior.
  * @param CFilterChain $filterChain the filter chain that the filter is on.
  */
 public function filter($filterChain)
 {
     $this->init();
     if (!$this->stopAction) {
         $filterChain->run();
         $this->run();
     }
 }
开发者ID:conghua1013,项目名称:Yii-Bootstrap-Admin,代码行数:15,代码来源:CFilterWidget.php


示例12: filterAccessControl

 /**
  * User permissions filter.
  * 
  * @param CFilterChain $filterChain
  */
 public function filterAccessControl($filterChain)
 {
     $user = Yii::app()->user;
     if ($user->isGuest) {
         $this->redirect(array('profile/login'));
     } else {
         $filterChain->run();
     }
 }
开发者ID:vchimishuk,项目名称:itquotes,代码行数:14,代码来源:QuoteController.php


示例13: filterAuthCheck

 /**
  * 进行权限检查的内联过滤器
  * 当权限检查失败时抛出全局异常
  * 
  * @param CFilterChain $filterChains
  */
 public function filterAuthCheck($filterChains)
 {
     // 未登录用户直接调转到首页,强制重新登录
     if (Yii::app()->user->isGuest) {
         $this->redirect(Yii::app()->createAbsoluteUrl('adminlogin/index'));
     }
     KefuRbacTool::getInstance()->checkAccess();
     $filterChains->run();
 }
开发者ID:a707937337,项目名称:bscy,代码行数:15,代码来源:AdminSet.php


示例14: filterAuthCheck

 /**
  * 进行权限检查的内联过滤器
  * 当权限检查失败时抛出全局异常
  *
  * @param CFilterChain $filterChains
  */
 public function filterAuthCheck($filterChains)
 {
     if (empty(Yii::app()->session['info'])) {
         $this->redirect(Yii::app()->createAbsoluteUrl('passport/index'));
     } else {
         if (Yii::app()->session['info']['logintime'] + 86400 < time()) {
             $this->redirect(Yii::app()->createAbsoluteUrl('passport/index'));
         }
     }
     $filterChains->run();
 }
开发者ID:a707937337,项目名称:bscy,代码行数:17,代码来源:UserSet.php


示例15: filterMaintananceModeAccessControl

 /**
  * Allow access to all upgrade actions only to Super Administrators.
  * @param CFilterChain $filterChain
  */
 public function filterMaintananceModeAccessControl($filterChain)
 {
     if (!Yii::app()->isApplicationInMaintenanceMode()) {
         $message = Zurmo::t('InstallModule', 'Please set $maintenanceMode = true in perInstance.php config file.');
         $messageView = new AccessFailureView($message);
         $view = new AccessFailurePageView($messageView);
         echo $view->render();
         Yii::app()->end(0, false);
     }
     $filterChain->run();
 }
开发者ID:maruthisivaprasad,项目名称:zurmo,代码行数:15,代码来源:UpgradeController.php


示例16: filterValidateFailureRequest

 /**
  * Insures that failed payment requests have a valid authentication code in the GET params.
  * @param CFilterChain $filterChain the filter chain.
  * @throws CException if the authentication code does not match the passed data.
  */
 public function filterValidateFailureRequest(CFilterChain $filterChain)
 {
     $request = Yii::app()->getRequest();
     $ORDER_NUMBER = $request->getQuery('ORDER_NUMBER');
     $TIMESTAMP = $request->getQuery('TIMESTAMP');
     $RETURN_AUTHCODE = $request->getQuery('RETURN_AUTHCODE');
     $transaction = $this->loadTransaction($ORDER_NUMBER);
     $gateway = $this->createGateway($transaction->gateway);
     $data = implode('|', array($ORDER_NUMBER, $TIMESTAMP, $gateway->apiSecret));
     if (!$this->validateAuthCode($RETURN_AUTHCODE, $data)) {
         throw new CException('Invalid authentication code.');
     }
     $filterChain->run();
 }
开发者ID:nordsoftware,项目名称:yii-paytrail,代码行数:19,代码来源:PaytrailController.php


示例17: filterAccessControl

 /**
  * User permissions filter.
  * 
  * @param CFilterChain $filterChain
  */
 public function filterAccessControl($filterChain)
 {
     $user = Yii::app()->user;
     /*
      * Only not authorized users can access to login action,
      * and only authorized users to other actions. 
      */
     if ($filterChain->action->id == 'login' && !$user->isGuest) {
         $this->redirect(array('quote/list'));
     } elseif ($filterChain->action->id != 'login' && $user->isGuest) {
         $this->redirect(array('login'));
     }
     $filterChain->run();
 }
开发者ID:vchimishuk,项目名称:itquotes,代码行数:19,代码来源:ProfileController.php


示例18: runActionWithFilters

 public function runActionWithFilters($action, $filters)
 {
     if (empty($filters)) {
         $this->runAction($action);
     } else {
         $priorAction = $this->_action;
         $this->_action = $action;
         CFilterChain::create($this, $action, $filters)->run();
         $this->_action = $priorAction;
     }
 }
开发者ID:RandomCivil,项目名称:tiny-yii,代码行数:11,代码来源:CController.php


示例19: create

 public static function create($controller, $action, $filters)
 {
     $chain = new CFilterChain($controller, $action);
     $actionID = $action->getId();
     foreach ($filters as $filter) {
         if (is_string($filter)) {
             if (($pos = strpos($filter, '+')) !== false || ($pos = strpos($filter, '-')) !== false) {
                 $matched = preg_match("/\\b{$actionID}\\b/i", substr($filter, $pos + 1)) > 0;
                 if (($filter[$pos] === '+') === $matched) {
                     $filter = CInlineFilter::create($controller, trim(substr($filter, 0, $pos)));
                 }
             } else {
                 $filter = CInlineFilter::create($controller, $filter);
             }
         } elseif (is_array($filter)) {
             $filterClass = $filter[0];
             unset($filter[0]);
             //开始解析过滤器配置
             if (($pos = strpos($filterClass, '+')) !== false || ($pos = strpos($filterClass, '-')) !== false) {
                 preg_match("/\\b{$actionID}\\b/i", substr($filterClass, $pos + 1), $a);
                 $matched = preg_match("/\\b{$actionID}\\b/i", substr($filterClass, $pos + 1)) > 0;
                 //如果是filterName+action,创建一个过滤器,否则忽略
                 if (($filterClass[$pos] === '+') === $matched) {
                     //解析出过滤器的类名
                     $filterClass = trim(substr($filterClass, 0, $pos));
                 } else {
                     continue;
                 }
             }
             $filter['class'] = $filterClass;
             $filter = Yii::createComponent($filter);
         }
         if (is_object($filter)) {
             $filter->init();
             $chain->add($filter);
             //list添加过滤器
         }
     }
     return $chain;
 }
开发者ID:RandomCivil,项目名称:tiny-yii,代码行数:40,代码来源:CFilterChain.php


示例20: create

 /**
  * CFilterChain factory method.
  * This method creates a CFilterChain instance.
  * @param CController $controller the controller who executes the action.
  * @param CAction $action the action being filtered by this chain.
  * @param array $filters list of filters to be applied to the action.
  * @return CFilterChain
  */
 public static function create($controller, $action, $filters)
 {
     $chain = new CFilterChain($controller, $action);
     $actionID = $action->getId();
     foreach ($filters as $filter) {
         if (is_string($filter)) {
             if (($pos = strpos($filter, '+')) !== false || ($pos = strpos($filter, '-')) !== false) {
                 $matched = preg_match("/\\b{$actionID}\\b/i", substr($filter, $pos + 1)) > 0;
                 if (($filter[$pos] === '+') === $matched) {
                     $filter = CInlineFilter::create($controller, trim(substr($filter, 0, $pos)));
                 }
             } else {
                 $filter = CInlineFilter::create($controller, $filter);
             }
         } elseif (is_array($filter)) {
             if (!isset($filter[0])) {
                 throw new CException(Yii::t('yii', 'The first element in a filter configuration must be the filter class.'));
             }
             $filterClass = $filter[0];
             unset($filter[0]);
             if (($pos = strpos($filterClass, '+')) !== false || ($pos = strpos($filterClass, '-')) !== false) {
                 $matched = preg_match("/\\b{$actionID}\\b/i", substr($filterClass, $pos + 1)) > 0;
                 if (($filterClass[$pos] === '+') === $matched) {
                     $filterClass = trim(substr($filterClass, 0, $pos));
                 } else {
                     continue;
                 }
             }
             $filter['class'] = $filterClass;
             $filter = Yii::createComponent($filter);
         }
         if (is_object($filter)) {
             $filter->init();
             $chain->add($filter);
         }
     }
     return $chain;
 }
开发者ID:ubertheme,项目名称:module-ubdatamigration,代码行数:46,代码来源:CFilterChain.php



注:本文中的CFilterChain类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP CForm类代码示例发布时间:2022-05-23
下一篇:
PHP CFileman类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap