本文整理汇总了PHP中OA_Permission::hasAccessToObject方法的典型用法代码示例。如果您正苦于以下问题:PHP OA_Permission::hasAccessToObject方法的具体用法?PHP OA_Permission::hasAccessToObject怎么用?PHP OA_Permission::hasAccessToObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OA_Permission
的用法示例。
在下文中一共展示了OA_Permission::hasAccessToObject方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: beforePageHeader
public function beforePageHeader(OX_Admin_UI_Event_EventContext $oEventContext)
{
$pageId = $oEventContext->data['pageId'];
$pageData = $oEventContext->data['pageData'];
$oHeaderModel = $oEventContext->data['headerModel'];
$agencyId = $pageData['agencyid'];
$campaignId = $pageData['campaignid'];
$advertiserId = $pageData['clientid'];
$oEntityHelper = $this->oMarkedTextAdvertiserComponent->getEntityHelper();
if (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
switch ($pageId) {
case 'campaign-banners':
$oDalZones = OA_Dal::factoryDAL('zones');
$linkedWebsites = $oDalZones->getWebsitesAndZonesListByCategory($agencyId, null, $campaignId, true);
$arraylinkedWebsitesKeys = array_keys($linkedWebsites);
$linkedWebsitesKey = $arraylinkedWebsitesKeys[0];
$arraylinkedZonesKeys = array_keys($linkedWebsites[$linkedWebsitesKey]['zones']);
$zoneId = $arraylinkedZonesKeys[0];
$aZone = Admin_DA::getZone($zoneId);
if ($aZone['type'] == 3) {
if (OA_Permission::hasAccessToObject('clients', $clientid) && OA_Permission::hasAccessToObject('campaigns', $campaignid)) {
OX_Admin_Redirect::redirect('plugins/' . $this->oMarkedTextAdvertiserComponent->group . "/oxMarkedTextAdvertiser-index.php?campaignid={$campaignId}&clientid={$advertiserId}");
}
}
break;
}
}
}
示例2: phpAds_registerGlobalUnslashed
require_once MAX_PATH . '/lib/OX/Util/Utils.php';
// Required files
require_once MAX_PATH . '/www/admin/lib-maintenance-priority.inc.php';
require_once MAX_PATH . '/lib/OA/Dal.php';
require_once MAX_PATH . '/lib/OA/Dll.php';
require_once MAX_PATH . '/lib/max/Dal/DataObjects/Campaigns.php';
require_once MAX_PATH . '/www/admin/config.php';
require_once MAX_PATH . '/www/admin/lib-statistics.inc.php';
require_once MAX_PATH . '/lib/OA/Permission.php';
require_once MAX_PATH . '/lib/pear/Date.php';
require_once MAX_PATH . '/lib/max/other/html.php';
require_once MAX_PATH . '/lib/OX/Admin/UI/ViewHooks.php';
phpAds_registerGlobalUnslashed('hideinactive', 'listorder', 'orderdirection');
// Security check
OA_Permission::enforceAccount(OA_ACCOUNT_MANAGER, OA_ACCOUNT_ADVERTISER);
if (!empty($clientid) && !OA_Permission::hasAccessToObject('clients', $clientid, OA_Permission::OPERATION_VIEW)) {
//check if can see given advertiser
$page = basename($_SERVER['SCRIPT_NAME']);
OX_Admin_Redirect::redirect($page);
}
/*-------------------------------------------------------*/
/* Init data */
/*-------------------------------------------------------*/
//get advertisers and set the current one
$aAdvertisers = getAdvertiserMap();
if (empty($clientid)) {
//if it's empty
if ($session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['clientid']) {
//try previous one from session
$sessionClientId = $session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['clientid'];
if (isset($aAdvertisers[$sessionClientId])) {
示例3: phpAds_registerGlobal
require_once MAX_PATH . '/lib/OA/Dal.php';
require_once MAX_PATH . '/lib/OA/Dll.php';
require_once MAX_PATH . '/www/admin/config.php';
require_once MAX_PATH . '/www/admin/lib-statistics.inc.php';
require_once MAX_PATH . '/lib/max/other/html.php';
require_once MAX_PATH . '/lib/OX/Translation.php';
// Register input variables
phpAds_registerGlobal('hideinactive', 'listorder', 'orderdirection');
// Security check
OA_Permission::enforceAccount(OA_ACCOUNT_MANAGER, OA_ACCOUNT_ADVERTISER);
if (!empty($clientid) && !OA_Permission::hasAccessToObject('clients', $clientid)) {
//check if can see given advertiser
$page = basename($_SERVER['SCRIPT_NAME']);
OX_Admin_Redirect::redirect($page);
}
if (!empty($campaignid) && !OA_Permission::hasAccessToObject('campaigns', $campaignid)) {
$page = basename($_SERVER['SCRIPT_NAME']);
OX_Admin_Redirect::redirect("{$page}?clientid={$clientid}");
}
/*-------------------------------------------------------*/
/* Init data */
/*-------------------------------------------------------*/
//get advertisers and set the current one
$aAdvertisers = getAdvertiserMap();
if (empty($clientid)) {
//if it's empty
$campaignid = null;
//reset campaign id, we could derive it after we have clientid
if ($session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['clientid']) {
//try previous one from session
$sessionClientId = $session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['clientid'];
示例4: testHasAccessToObject
function testHasAccessToObject()
{
$userTables = array(OA_ACCOUNT_ADVERTISER => 'clients', OA_ACCOUNT_TRAFFICKER => 'affiliates', OA_ACCOUNT_MANAGER => 'agency');
// Test if all users have access to new objects
foreach ($userTables as $userType => $userTable) {
$this->assertTrue(OA_Permission::hasAccessToObject('banners', null, OA_Permission::OPERATION_ALL, rand(1, 100), $userType));
}
// Create some record
$doBanners = OA_Dal::factoryDO('banners');
$doBanners->acls_updated = '2007-04-05 16:18:00';
$aData = array('reportlastdate' => array('2007-04-05 16:18:00'));
$dg = new DataGenerator();
$dg->setData('clients', $aData);
$bannerId = $dg->generateOne($doBanners, true);
$clientId = DataGenerator::getReferenceId('clients');
$doClient = OA_Dal::staticGetDO('clients', $clientId);
$agencyId = DataGenerator::getReferenceId('agency');
$doAgency = OA_Dal::staticGetDO('agency', $agencyId);
// Test that admin doesn't have access anymore to all objects
$this->assertFalse(OA_Permission::hasAccessToObject('banners', 'booId', OA_Permission::OPERATION_ALL, 1, OA_ACCOUNT_ADMIN));
// Test accounts have access
$this->assertTrue(OA_Permission::hasAccessToObject('banners', $bannerId, OA_Permission::OPERATION_ALL, $doClient->account_id, OA_ACCOUNT_ADVERTISER));
$this->assertTrue(OA_Permission::hasAccessToObject('banners', $bannerId, OA_Permission::OPERATION_ALL, $doAgency->account_id, OA_ACCOUNT_MANAGER));
// Create users who don't have access
$doClients = OA_Dal::factoryDO('clients');
$doClients->reportlastdate = '2007-04-05 16:18:00';
$clientId2 = DataGenerator::generateOne($doClients);
$agencyId2 = DataGenerator::generateOne('agency');
$doClientId2 = OA_Dal::staticGetDO('clients', $clientId2);
$doAgency2 = OA_Dal::staticGetDO('agency', $agencyId2);
$this->assertFalse(OA_Permission::hasAccessToObject('banners', $bannerId, $fakeId = 123, OA_Permission::OPERATION_ALL, OA_ACCOUNT_TRAFFICKER));
$this->assertFalse(OA_Permission::hasAccessToObject('banners', $bannerId, $doClientId2->account_id, OA_Permission::OPERATION_ALL, OA_ACCOUNT_ADVERTISER));
$this->assertFalse(OA_Permission::hasAccessToObject('banners', $bannerId, $doAgency2->account_id, OA_Permission::OPERATION_ALL, OA_ACCOUNT_MANAGER));
}
示例5: checkPermissions
/**
* Checks if user has access to specific area (for example admin or agency area)
* Permissions are defined in www/admin/lib-permissions.inc.php file
*
* @access public
*
* @param integer $permissions
* @param string $table Table name
* @param integer $id Id (or empty if new is created)
* @param unknown $allowed check allowed
*
* @return boolean True if has access
*/
function checkPermissions($permissions, $table = '', $id = null, $allowed = null)
{
$isError = false;
if (isset($permissions) && !OA_Permission::isAccount($permissions)) {
if (!OA_Permission::attemptToSwitchToAccount($permissions)) {
$isError = true;
}
}
if (!empty($id) && !$this->checkIdExistence($table, $id)) {
return false;
}
if (isset($id) && !OA_Permission::hasAccessToObject($table, $id)) {
if (!OA_Permission::attemptToSwitchForAccess($table, $id)) {
$isError = true;
}
}
if (isset($allowed)) {
if (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER, OA_ACCOUNT_TRAFFICKER) && !OA_Permission::hasPermission($allowed)) {
$isError = true;
}
}
if ($isError) {
$this->raiseError('Access forbidden');
return false;
} else {
return true;
}
}
示例6: phpAds_registerGlobalUnslashed
// Require the initialisation file
require_once '../../init.php';
require_once MAX_PATH . '/lib/OX/Util/Utils.php';
// Required files
require_once MAX_PATH . '/www/admin/lib-maintenance-priority.inc.php';
require_once MAX_PATH . '/lib/OA/Dal.php';
require_once MAX_PATH . '/lib/OA/Dll.php';
require_once MAX_PATH . '/www/admin/config.php';
require_once MAX_PATH . '/www/admin/lib-statistics.inc.php';
require_once MAX_PATH . '/lib/OA/Permission.php';
require_once MAX_PATH . '/lib/pear/Date.php';
require_once MAX_PATH . '/lib/max/other/html.php';
phpAds_registerGlobalUnslashed('hideinactive', 'listorder', 'orderdirection');
// Security check
OA_Permission::enforceAccount(OA_ACCOUNT_MANAGER, OA_ACCOUNT_ADVERTISER);
if (!empty($clientid) && !OA_Permission::hasAccessToObject('clients', $clientid)) {
//check if can see given advertiser
$page = basename($_SERVER['PHP_SELF']);
OX_Admin_Redirect::redirect($page);
}
/*-------------------------------------------------------*/
/* Init data */
/*-------------------------------------------------------*/
//get advertisers and set the current one
$aAdvertisers = getAdvertiserMap();
if (empty($clientid)) {
//if it's empty
if ($session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['clientid']) {
//try previous one from session
$sessionClientId = $session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['clientid'];
if (isset($aAdvertisers[$sessionClientId])) {
示例7: addCampaignPageTools
function addCampaignPageTools($clientid, $campaignid, $aOtherAdvertisers, $aEntities)
{
global $phpAds_TextDirection;
if (!OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
addPageLinkTool($GLOBALS["strDuplicate"], MAX::constructUrl(MAX_URL_ADMIN, "campaign-modify.php?duplicate=1&clientid={$clientid}&campaignid={$campaignid}&returnurl=" . urlencode(basename($_SERVER['SCRIPT_NAME']))), "iconCampaignDuplicate");
if (OA_Permission::hasAccessToObject('campaigns', $campaignid, OA_Permission::OPERATION_MOVE)) {
$form = "<form action='" . MAX::constructUrl(MAX_URL_ADMIN, 'campaign-modify.php') . "'>\n <input type='hidden' name='clientid' value='{$clientid}'>\n <input type='hidden' name='campaignid' value='{$campaignid}'>\n <input type='hidden' name='returnurl' value='" . htmlspecialchars(basename($_SERVER['SCRIPT_NAME'])) . "'>\n <select name='newclientid'>";
$aOtherAdvertisers = _multiSort($aOtherAdvertisers, 'name', 'advertiser_id');
foreach ($aOtherAdvertisers as $aOtherAdvertiser) {
$otherAdvertiserId = $aOtherAdvertiser['advertiser_id'];
$otherAdvertiserName = MAX_buildName($otherAdvertiserId, $aOtherAdvertiser['name']);
if ($otherAdvertiserId != $advertiserId) {
$form .= "<option value='{$otherAdvertiserId}'>" . htmlspecialchars($otherAdvertiserName) . "</option>";
}
}
$form .= "</select><input type='image' class='submit' src='" . OX::assetPath() . "/images/{$phpAds_TextDirection}/go_blue.gif'></form>";
addPageFormTool($GLOBALS['strMoveTo'], 'iconCampaignMove', $form);
}
$deleteConfirm = phpAds_DelConfirm($GLOBALS['strConfirmDeleteCampaign']);
addPageLinkTool($GLOBALS["strDelete"], MAX::constructUrl(MAX_URL_ADMIN, "campaign-delete.php?token=" . urlencode(phpAds_SessionGetToken()) . "&clientid={$clientid}&campaignid={$campaignid}&returnurl=advertiser-campaigns.php"), "iconDelete", null, $deleteConfirm);
}
//shortcuts
if (!empty($campaignid) && !OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
if (OA_Permission::hasAccessToObject('campaigns', $campaignid, OA_Permission::OPERATION_ADD_CHILD)) {
addPageLinkTool($GLOBALS["strAddBanner_Key"], MAX::constructUrl(MAX_URL_ADMIN, "banner-edit.php?clientid={$clientid}&campaignid={$campaignid}"), "iconBannerAdd", $GLOBALS["strAddNew"]);
}
addPageShortcut($GLOBALS['strBackToCampaigns'], MAX::constructUrl(MAX_URL_ADMIN, "advertiser-campaigns.php?clientid={$clientid}"), "iconBack");
}
if (!empty($campaignid)) {
if (OA_Permission::hasAccessToObject('campaigns', $campaignid, OA_Permission::OPERATION_VIEW_CHILDREN)) {
addPageShortcut($GLOBALS['strCampaignBanners'], MAX::constructUrl(MAX_URL_ADMIN, "campaign-banners.php?clientid={$clientid}&campaignid={$campaignid}"), "iconBanners");
}
$entityString = _getEntityString($aEntities);
addPageShortcut($GLOBALS['strCampaignHistory'], MAX::constructUrl(MAX_URL_ADMIN, "stats.php?entity=campaign&breakdown=history&{$entityString}"), 'iconStatistics');
}
}
示例8: checkPermissions
/**
* Checks if user has access to specific area (for example admin or agency area)
* Permissions are defined in www/admin/lib-permissions.inc.php file
*
* @access public
*
* @param integer $permissions
* @param string $table Table name
* @param integer $id Id (or empty if new is created)
* @param unknown $allowed check allowed
* @param OA_Permission Does the current call require only a subset of the permissions?
* If set to null, equivalent to asking permission to do everything on the object
*
* @return boolean True if has access
*/
function checkPermissions($permissions, $table = '', $id = null, $allowed = null, $operationAccessType = OA_Permission::OPERATION_ALL)
{
$isError = false;
if (isset($permissions) && !OA_Permission::isAccount($permissions)) {
if (!OA_Permission::attemptToSwitchToAccount($permissions)) {
$isError = true;
}
}
// Should this check also be part of checkPermissions?
if (!empty($id) && !$this->checkIdExistence($table, $id)) {
return false;
}
if (isset($id) && !OA_Permission::hasAccessToObject($table, $id, $operationAccessType)) {
if (!OA_Permission::attemptToSwitchForAccess($table, $id)) {
$isError = true;
}
}
if (isset($allowed)) {
if (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER, OA_ACCOUNT_TRAFFICKER) && !OA_Permission::hasPermission($allowed)) {
$isError = true;
}
}
if ($isError) {
$this->raiseError('Access forbidden');
return false;
} else {
// Set system timezone and return
OA_setTimeZoneLocal();
return true;
}
}
示例9: displayPage
function displayPage($bannerid, $campaignid, $clientid, $bannerTypes, $aBanner, $type, $form, $ext_bannertype, $formDisabled = false)
{
$pageName = 'advertiser-campaigns';
$aEntities = array('clientid' => $clientid, 'campaignid' => $campaignid, 'bannerid' => $bannerid);
$entityId = OA_Permission::getEntityId();
$entityType = 'advertiser_id';
$aOtherCampaigns = Admin_DA::getPlacements(array($entityType => $entityId));
$aOtherBanners = Admin_DA::getAds(array('placement_id' => $campaignid), false);
$advertiserId = $aEntities['clientid'];
$campaignId = $aEntities['campaignid'];
$bannerId = $aEntities['bannerid'];
$entityString = _getEntityString($aEntities);
$aOtherEntities = $aEntities;
unset($aOtherEntities['bannerid']);
$otherEntityString = _getEntityString($aOtherEntities);
if ($pageName == 'banner-edit.php' && empty($bannerId)) {
$tabValue = 'banner-edit_new';
$pageType = 'edit-new';
} else {
$pageType = 'edit';
}
$advertiserEditUrl = '';
$campaignEditUrl = '';
if (OA_Permission::hasAccessToObject('clients', $advertiserId)) {
$advertiserEditUrl = "advertiser-edit.php?clientid={$advertiserId}";
}
if (!OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
$campaignEditUrl = "campaign-edit.php?clientid={$advertiserId}&campaignid={$campaignId}";
}
if ($bannerId && !empty($GLOBALS['_MAX']['PREF']['ui_show_banner_preview']) && empty($_GET['nopreview'])) {
require_once MAX_PATH . '/lib/max/Delivery/adRender.php';
$aBanner = Admin_DA::getAd($bannerId);
$aBanner['storagetype'] = $aBanner['type'];
$aBanner['bannerid'] = $aBanner['ad_id'];
$bannerCode = MAX_adRender($aBanner, 0, '', '', '', true, '', false, false);
} else {
$bannerCode = '';
}
$advertiserDetails = phpAds_getClientDetails($advertiserId);
$advertiserName = $advertiserDetails['clientname'];
$campaignDetails = Admin_DA::getPlacement($campaignId);
$campaignName = $campaignDetails['name'];
$bannerName = $aOtherBanners[$bannerId]['name'];
$builder = new OA_Admin_UI_Model_InventoryPageHeaderModelBuilder();
$oHeaderModel = $builder->buildEntityHeader(array(array("name" => $advertiserName, "url" => $advertiserEditUrl), array("name" => $campaignName, "url" => $campaignEditUrl), array("name" => $bannerName)), "banner", $pageType);
global $phpAds_breadcrumbs_extra;
$phpAds_breadcrumbs_extra .= "<div class='bannercode'>{$bannerCode}</div>";
if ($bannerCode != '') {
$phpAds_breadcrumbs_extra .= "<br />";
}
addPageLinkTool($GLOBALS["strDuplicate"], MAX::constructUrl(MAX_URL_ADMIN, "plugins/oxMarkedTextAdvertiser/banner-modify.php?duplicate=true&clientid={$advertiserId}&campaignid={$campaignId}&bannerid={$bannerId}&returnurl=" . urlencode(basename($_SERVER['SCRIPT_NAME']))), "iconBannerDuplicate");
addPageShortcut($GLOBALS['strBackToBanners'], MAX::constructUrl(MAX_URL_ADMIN, "campaign-banners.php?clientid={$advertiserId}&campaignid={$campaignId}"), "iconBack");
$entityString = _getEntityString($aEntities);
addPageShortcut($GLOBALS['strBannerHistory'], MAX::constructUrl(MAX_URL_ADMIN, "stats.php?entity=banner&breakdown=history&{$entityString}"), 'iconStatistics');
phpAds_PageHeader('advertiser-campaigns', $oHeaderModel);
$oTpl = new OA_Admin_Template('banner-edit.html');
$oTpl->assign('clientId', $clientid);
$oTpl->assign('campaignId', $campaignid);
$oTpl->assign('bannerId', $bannerid);
$oTpl->assign('bannerTypes', $bannerTypes);
$oTpl->assign('bannerType', 'bannerTypeText:oxMarkedText:oxMarkedTextComponent');
$oTpl->assign('bannerHeight', $aBanner["height"]);
$oTpl->assign('bannerWidth', $aBanner["width"]);
$oTpl->assign('disabled', $formDisabled);
$oTpl->assign('form', $form->serialize());
$oTpl->display();
phpAds_PageFooter();
}
示例10: phpAds_registerGlobal
| License: GPLv2 or later, see the LICENSE.txt file. |
+---------------------------------------------------------------------------+
*/
// Require the initialisation file
require_once '../../init.php';
// Required files
require_once MAX_PATH . '/www/admin/config.php';
require_once MAX_PATH . '/www/admin/lib-statistics.inc.php';
require_once MAX_PATH . '/lib/max/other/html.php';
// Register input variables
phpAds_registerGlobal('acl', 'action', 'submit');
/*-------------------------------------------------------*/
/* Affiliate interface security */
/*-------------------------------------------------------*/
OA_Permission::enforceAccount(OA_ACCOUNT_MANAGER);
if (!empty($affiliateid) && !OA_Permission::hasAccessToObject('affiliates', $affiliateid)) {
//check if can see given website
$page = basename($_SERVER['SCRIPT_NAME']);
OX_Admin_Redirect::redirect($page);
}
/*-------------------------------------------------------*/
/* Init data */
/*-------------------------------------------------------*/
//get websites and set the current one
$aWebsites = getWebsiteMap();
if (empty($affiliateid)) {
//if it's empty
if ($session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['affiliateid']) {
//try previous one from session
$sessionWebsiteId = $session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['affiliateid'];
if (isset($aWebsites[$sessionWebsiteId])) {
示例11: MAX_displayNavigationBanner
function MAX_displayNavigationBanner($pageName, $aOtherCampaigns, $aOtherBanners, $aEntities)
{
global $phpAds_TextDirection;
$advertiserId = $aEntities['clientid'];
$campaignId = $aEntities['campaignid'];
$bannerId = $aEntities['bannerid'];
$entityString = _getEntityString($aEntities);
$aOtherEntities = $aEntities;
unset($aOtherEntities['bannerid']);
$otherEntityString = _getEntityString($aOtherEntities);
if ($pageName == 'banner-edit.php' && empty($bannerId)) {
$tabValue = 'banner-edit_new';
$pageType = 'edit-new';
} else {
$pageType = 'edit';
}
$advertiserEditUrl = '';
$campaignEditUrl = '';
if (OA_Permission::hasAccessToObject('clients', $advertiserId)) {
$advertiserEditUrl = "advertiser-edit.php?clientid={$advertiserId}";
}
if (!OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
$campaignEditUrl = "campaign-edit.php?clientid={$advertiserId}&campaignid={$campaignId}";
}
// Build ad preview
if ($bannerId && empty($_GET['nopreview'])) {
require_once MAX_PATH . '/lib/max/Delivery/adRender.php';
$aBanner = Admin_DA::getAd($bannerId);
$aBanner['storagetype'] = $aBanner['type'];
$aBanner['bannerid'] = $aBanner['ad_id'];
$bannerCode = MAX_adRender($aBanner, 0, '', '', '', true, '', false, false);
} else {
$bannerCode = '';
}
$advertiserDetails = phpAds_getClientDetails($advertiserId);
$advertiserName = $advertiserDetails['clientname'];
$campaignDetails = Admin_DA::getPlacement($campaignId);
$campaignName = $campaignDetails['name'];
$bannerName = $aOtherBanners[$bannerId]['name'];
$builder = new OA_Admin_UI_Model_InventoryPageHeaderModelBuilder();
$oHeaderModel = $builder->buildEntityHeader(array(array("name" => $advertiserName, "url" => $advertiserEditUrl), array("name" => $campaignName, "url" => $campaignEditUrl), array("name" => $bannerName)), "banner", $pageType);
global $phpAds_breadcrumbs_extra;
$phpAds_breadcrumbs_extra .= "<div class='bannercode'>{$bannerCode}</div>";
if ($bannerCode != '') {
$phpAds_breadcrumbs_extra .= "<br />";
}
addBannerPageTools($advertiserId, $campaignId, $bannerId, $aOtherCampaigns, $aOtherBanners, $aEntities);
phpAds_PageHeader($tabValue, $oHeaderModel);
}
示例12: enforceAccessToObject
/**
* A method to show an error if the current user/account doesn't have access
* to the specified DB_DataObject (defined by table name and entity ID).
*
* @static
* @param string $entityTable The name of the table.
* @param integer $entityId Optional entity ID -- when set, tests if the current
* account has access to the enity, when not set, tests
* if the current account can create a new entity in the
* table.
* @param boolean $allowNewEntity Allow creation of a new entity, defaults to false.
*/
function enforceAccessToObject($entityTable, $entityId = null, $allowNewEntity = false)
{
if (!$allowNewEntity) {
OA_Permission::enforceTrue(!empty($entityId));
}
// Verify that the ID is numeric
OA_Permission::enforceTrue(preg_match('/^\\d*$/D', $entityId));
$entityId = (int) $entityId;
$hasAccess = OA_Permission::hasAccessToObject($entityTable, $entityId);
if (!$hasAccess) {
if (!OA_Permission::isManualAccountSwitch()) {
if (OA_Permission::isUserLinkedToAdmin()) {
// Check object existence
OA_Permission::enforceTrue(OA_Permission::getAccountIdForEntity($entityTable, $entityId));
}
// if has access switch to the manager account that owns this object
if ($hasAccess) {
if (OA_Permission::switchToManagerAccount($entityTable, $entityId)) {
// Now that the admin user is working with the manager
// account that owns the object, show to him the page.
$url = $_SERVER['REQUEST_URI'];
header("Location: {$url}");
exit;
} else {
// If is not possible to switch redirect the admin to his home page
OX_Admin_Redirect::redirect();
}
}
}
}
if (!$hasAccess) {
OA_Permission::redirectIfManualAccountSwitch();
$hasAccess = OA_Permission::attemptToSwitchForAccess($entityTable, $entityId);
}
OA_Permission::enforceTrue($hasAccess);
}