当前位置: 首页>>代码示例>>PHP>>正文


PHP PKPRequest::getSession方法代码示例

本文整理汇总了PHP中PKPRequest::getSession方法的典型用法代码示例。如果您正苦于以下问题:PHP PKPRequest::getSession方法的具体用法?PHP PKPRequest::getSession怎么用?PHP PKPRequest::getSession使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PKPRequest的用法示例。


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

示例1: import

 /**
  * Return the DBResultRange structure and misc. variables describing the current page of a set of pages.
  * @param $rangeName string Symbolic name of range of pages; must match the Smarty {page_list ...} name.
  * @param $contextData array If set, this should contain a set of data that are required to
  * 	define the context of this request (for maintaining page numbers across requests).
  *	To disable persistent page contexts, set this variable to null.
  * @return array ($pageNum, $dbResultRange)
  */
 function &getRangeInfo($rangeName, $contextData = null)
 {
     //FIXME: is there any way to get around calling a Request (instead of a PKPRequest) here?
     $context =& Request::getContext();
     $pageNum = PKPRequest::getUserVar($rangeName . 'Page');
     if (empty($pageNum)) {
         $session =& PKPRequest::getSession();
         $pageNum = 1;
         // Default to page 1
         if ($session && $contextData !== null) {
             // See if we can get a page number from a prior request
             $contextHash = PKPHandler::hashPageContext($contextData);
             if (PKPRequest::getUserVar('clearPageContext')) {
                 // Explicitly clear the old page context
                 $session->unsetSessionVar("page-{$contextHash}");
             } else {
                 $oldPage = $session->getSessionVar("page-{$contextHash}");
                 if (is_numeric($oldPage)) {
                     $pageNum = $oldPage;
                 }
             }
         }
     } else {
         $session =& PKPRequest::getSession();
         if ($session && $contextData !== null) {
             // Store the page number
             $contextHash = PKPHandler::hashPageContext($contextData);
             $session->setSessionVar("page-{$contextHash}", $pageNum);
         }
     }
     if ($context) {
         $count = $context->getSetting('itemsPerPage');
     }
     if (!isset($count)) {
         $count = Config::getVar('interface', 'items_per_page');
     }
     import('db.DBResultRange');
     if (isset($count)) {
         $returner = new DBResultRange($count, $pageNum);
     } else {
         $returner = new DBResultRange(-1, -1);
     }
     return $returner;
 }
开发者ID:anorton,项目名称:pkp-lib,代码行数:52,代码来源:PKPHandler.inc.php

示例2: smartyCSRF

 /**
  * Smarty usage: {csrf}
  *
  * Custom Smarty function for inserting a CSRF token.
  * @param $params array associative array
  * @param $smarty Smarty
  * @return string of HTML
  */
 function smartyCSRF($params, $smarty)
 {
     return '<input type="hidden" name="csrfToken" value="' . htmlspecialchars($this->_request->getSession()->getCSRFToken()) . '">';
 }
开发者ID:jalperin,项目名称:pkp-lib,代码行数:12,代码来源:PKPTemplateManager.inc.php

示例3: effect

 /**
  * @see AuthorizationPolicy::effect()
  */
 function effect()
 {
     // Get the session
     $session =& $this->_request->getSession();
     // Retrieve the user from the session.
     $user =& $session->getUser();
     // Check that the user group exists and
     // that the currently logged in user has been
     // assigned to it.
     $userGroupDao = DAORegistry::getDAO('UserGroupDAO');
     // If any of the above objects is not present then
     // we deny access. This is regularly the case if the
     // user is not logged in (=no user object).
     foreach (array($session, $user, $userGroupDao) as $requiredObject) {
         if (is_null($requiredObject)) {
             return AUTHORIZATION_DENY;
         }
     }
     // Retrieve the acting as user group id saved
     // in the session.
     $actingAsUserGroupId = $session->getActingAsUserGroupId();
     // Get the context (assumed to be authorized!).
     $router =& $this->_request->getRouter();
     $context =& $router->getContext($this->_request);
     // Check whether the user still is in the group we found in the session.
     // This is necessary because the user might have switched contexts
     // also. User group assignments are per context and we have to make sure
     // that the user really has the role in the current context.
     if (is_integer($actingAsUserGroupId) && $actingAsUserGroupId > 0) {
         if (is_null($context)) {
             $application =& PKPApplication::getApplication();
             if ($application->getContextDepth() > 0) {
                 // Handle site-wide user groups.
                 $userInGroup = $userGroupDao->userInGroup(0, $user->getId(), $actingAsUserGroupId);
             } else {
                 // Handle apps that don't use context.
                 $userInGroup = $userGroupDao->userInGroup($user->getId(), $actingAsUserGroupId);
             }
         } else {
             // Handle context-specific user groups.
             $userInGroup = $userGroupDao->userInGroup($context->getId(), $user->getId(), $actingAsUserGroupId);
         }
         // Invalidate the current user group if the user is not in this
         // group for the requested context.
         if (!$userInGroup) {
             $actingAsUserGroupId = null;
         } else {
             // Retrieve the user group
             if (is_null($context)) {
                 // Handle apps that don't use context or site-wide groups.
                 $userGroup =& $userGroupDao->getById($actingAsUserGroupId);
             } else {
                 // Handle context-specific groups.
                 $userGroup =& $userGroupDao->getById($actingAsUserGroupId, $context->getId());
             }
         }
     }
     // Get the user's default group if no user group is set or
     // if the previous user group was invalid.
     if (!(is_integer($actingAsUserGroupId) && $actingAsUserGroupId > 0)) {
         // Retrieve the user's groups for the current context.
         if (is_null($context)) {
             // Handle apps that don't use context or site-wide groups.
             $userGroups =& $userGroupDao->getByUserId($user->getId());
         } else {
             // Handle context-specific groups.
             $userGroups =& $userGroupDao->getByUserId($user->getId(), $context->getId());
         }
         // We use the first user group as default user group.
         $defaultUserGroup =& $userGroups->next();
         $actingAsUserGroupId = $defaultUserGroup->getId();
         // Set the acting as user group
         $session->setActingAsUserGroupId($actingAsUserGroupId);
         $userGroup =& $defaultUserGroup;
     }
     // Deny access if we didn't find a valid user group for the user.
     if (!is_a($userGroup, 'UserGroup')) {
         return AUTHORIZATION_DENY;
     }
     // Add the user group to the authorization context
     $this->addAuthorizedContextObject(ASSOC_TYPE_USER_GROUP, $userGroup);
     return AUTHORIZATION_PERMIT;
 }
开发者ID:JovanyJeff,项目名称:hrp,代码行数:86,代码来源:LoggedInWithValidUserGroupPolicy.inc.php


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