本文整理汇总了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;未经允许,请勿转载。 |
请发表评论