本文整理汇总了PHP中Utilities::CanPerformAction方法的典型用法代码示例。如果您正苦于以下问题:PHP Utilities::CanPerformAction方法的具体用法?PHP Utilities::CanPerformAction怎么用?PHP Utilities::CanPerformAction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Utilities
的用法示例。
在下文中一共展示了Utilities::CanPerformAction方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Authenticate
public function Authenticate($pageTypeUniqId, $root_url, $returnUrl)
{
if (isset($this->UserUniqId)) {
// members, contributors, and admin all have access to secured pages by default
if ($this->Role == 'Member' || $this->Role == 'Contributor' || $this->Role == 'Admin') {
return true;
} else {
// check permissions
if (Utilities::CanPerformAction($pageTypeUniqId, $this->CanView) == false) {
$this->Redirect($root_url, $returnUrl, '#invalid-permissions');
} else {
return true;
}
}
} else {
$this->Redirect($root_url, $returnUrl);
}
}
示例2: post
/**
* @method POST
*/
function post()
{
// get token
$token = Utilities::ValidateJWTToken(apache_request_headers());
// check if token is not null
if ($token != NULL) {
// get user
$user = User::GetByUserId($token->UserId);
$site = Site::GetBySiteId($token->SiteId);
// creates an access object
$access = Utilities::SetAccess($user);
parse_str($this->request->data, $request);
// parse request
$pageId = $request['pageId'];
// get page type
$content = $request['content'];
// get page type
$status = 'draft';
// get page and site
$page = Page::GetByPageId($pageId);
// make sure the user is part of the site (or is a superadmin)
if ($user['SiteId'] != $page['SiteId']) {
return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
}
// default is root
$pageTypeId = -1;
$pageType = NULL;
// determine if file is in sub-direcotry
if ($page['PageTypeId'] != -1) {
$pageType = PageType::GetByPageTypeId($page['PageTypeId']);
// set page type
$pageTypeId = $pageType['PageTypeId'];
}
// get permissions
$canEdit = Utilities::CanPerformAction($pageTypeId, $access['CanEdit']);
$canPublish = Utilities::CanPerformAction($pageTypeId, $access['CanPublish']);
// check permissions to save a draft
if ($canEdit == true || $canPublish == true) {
// create a preview
$url = Publish::PublishPage($page['PageId'], true);
}
// strip leading '../' from string
$url = str_replace('../', '', $url);
$response = new Tonic\Response(Tonic\Response::OK);
$response->contentType = 'text/html';
$response->body = $url;
return $response;
} else {
// unauthorized access
return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
}
}
示例3: unpublish
/**
* @method POST
*/
function unpublish($pageUniqId)
{
// get an authuser
$authUser = new AuthUser();
if (isset($authUser->UserUniqId)) {
// check if authorized
// get page
$page = Page::GetByPageUniqId($pageUniqId);
// make sure the user is part of the site (or is a superadmin)
if ($authUser->IsSuperAdmin == false && $authUser->SiteId != $page['SiteId']) {
return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
}
// delete page
$site = Site::GetBySiteId($page['SiteId']);
$filename = '../sites/' . $site['FriendlyId'] . '/';
// default is root
$pageTypeUniqId = -1;
// get $pageTypeUniqId
if ($page['PageTypeId'] != -1) {
$pageType = PageType::GetByPageTypeId($page['PageTypeId']);
$filename .= strtolower($pageType['FriendlyId']) . '/';
$pageTypeUniqId = $pageType['PageTypeUniqId'];
}
// check permissions
if (Utilities::CanPerformAction($pageTypeUniqId, $authUser->CanPublish) == false) {
return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
}
// set active
Page::SetIsActive($pageUniqId, 0);
// remove file
$filename = $filename . $page['FriendlyId'] . '.php';
if (file_exists($filename)) {
unlink($filename);
}
// return a json response
$response = new Tonic\Response(Tonic\Response::OK);
} else {
// unauthorized access
return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
}
}
示例4: get
/**
* @method GET
*/
function get()
{
// get token
$token = Utilities::ValidateJWTToken(apache_request_headers());
// check if token is not null
if ($token != NULL) {
$siteId = $token->SiteId;
// get user
$user = User::GetByUserId($token->UserId);
// creates an access object
$access = Utilities::SetAccess($user);
// get pagetype
$list = PageType::GetPageTypes($siteId);
// allowed
$allowed = array();
// create a root element in the array
$root = array('FriendlyId' => '', 'IsSecure' => 0, 'LastModifiedBy' => NULL, 'LastModifiedDate' => NULL, 'Layout' => 'content', 'PageTypeId' => -1, 'PageTypeId' => -1, 'SiteId' => -1, 'Stylesheet' => 'content');
// return the entire list for all access
if ($access['CanAccess'] == 'All') {
$allowed = $list;
array_unshift($allowed, $root);
} else {
foreach ($list as $row) {
$pageTypeId = $row['PageTypeId'];
if (Utilities::CanPerformAction('root', $access['CanAccess']) != false) {
array_push($allowed, $root);
}
//print('$pageTypeId='.$pageTypeId.' access='.$access['CanAccess']);
// check permissions
if (Utilities::CanPerformAction($pageTypeId, $access['CanAccess']) != false) {
array_push($allowed, $row);
}
}
}
// return a json response
$response = new Tonic\Response(Tonic\Response::OK);
$response->contentType = 'application/json';
$response->body = json_encode($allowed);
return $response;
} else {
// unauthorized access
return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
}
}
示例5: get
/**
* @method GET
*/
function get()
{
// get an authuser
$authUser = new AuthUser();
if (isset($authUser->UserUniqId)) {
// check if authorized
$siteId = $authUser->SiteId;
// get pagetype
$list = PageType::GetPageTypes($siteId);
// allowed
$allowed = array();
// return the entire list for all access
if ($authUser->Access == 'All') {
$allowed = $list;
} else {
foreach ($list as $row) {
$pageTypeUniqId = $row['PageTypeUniqId'];
// check permissions
if (Utilities::CanPerformAction($pageTypeUniqId, $authUser->Access) !== false) {
array_push($allowed, $row);
}
}
}
// return a json response
$response = new Tonic\Response(Tonic\Response::OK);
$response->contentType = 'application/json';
$response->body = json_encode($allowed);
return $response;
} else {
// unauthorized access
return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
}
}