本文整理汇总了PHP中OA_Permission::getAccountType方法的典型用法代码示例。如果您正苦于以下问题:PHP OA_Permission::getAccountType方法的具体用法?PHP OA_Permission::getAccountType怎么用?PHP OA_Permission::getAccountType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OA_Permission
的用法示例。
在下文中一共展示了OA_Permission::getAccountType方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: OA_Central_M2M
/**
* Class constructor
*
* @param string $accountId If null, the current account ID is used
* @param string $accountType If null, the current account type is used
* @return OA_Central_M2M
*/
function OA_Central_M2M($accountId = null)
{
parent::OA_Central_Common();
$currentId = OA_Permission::getAccountId();
if (is_null($accountId)) {
$this->accountId = $currentId;
} else {
$this->accountId = $accountId;
}
if ($this->accountId == $currentId) {
$this->accountType = OA_Permission::getAccountType();
} else {
$doAccounts = OA_Dal::factoryDO('accounts');
$doAccounts->account_id = $this->accountId;
$doAccounts->find();
if ($doAccounts->fetch()) {
$this->accountType = $doAccounts->account_type;
} else {
Max::raiseError('Unexisting account ID', null, PEAR_ERROR_DIE);
}
}
if ($this->accountType == OA_ACCOUNT_ADMIN) {
$this->accountId = 0;
}
}
示例2: export
/**
* The method to generate a plugin-style report XLS from an already
* prepared statistics page OA_Admin_Statistics_Common object.
*/
function export()
{
// Prepare the report name
// Get system navigation
$oMenu = OA_Admin_Menu::singleton();
// Get section by pageId
$oCurrentSection = $oMenu->get($this->oStatsController->pageId);
if ($oCurrentSection == null) {
phpAds_Die($GLOBALS['strErrorOccurred'], 'Menu system error: <strong>' . OA_Permission::getAccountType(true) . '::' . htmlspecialchars($ID) . '</strong> not found for the current user');
}
// Get name
$reportName = $oCurrentSection->getName();
$this->_name = $reportName;
// Prepare the output writer for generation
$reportFileName = 'Exported Statistics - ' . $reportName;
if (!empty($this->oStatsController->aDates['day_begin'])) {
$oStartDate = new Date($this->oStatsController->aDates['day_begin']);
$reportFileName .= ' from ' . $oStartDate->format($GLOBALS['date_format']);
}
if (!empty($this->oStatsController->aDates['day_end'])) {
$oEndDate = new Date($this->oStatsController->aDates['day_end']);
$reportFileName .= ' to ' . $oEndDate->format($GLOBALS['date_format']);
}
$reportFileName .= '.xls';
$this->_oReportWriter->openWithFilename($reportFileName);
// Get the header and data arrays from the same statistics controllers
// that prepare stats for the user interface stats pages
list($aHeaders, $aData) = $this->getHeadersAndDataFromStatsController(null, $this->oStatsController);
// Add the worksheet
$name = ucfirst($this->oStatsController->entity) . ' ' . ucfirst($this->oStatsController->breakdown);
$this->createSubReport($reportName, $aHeaders, $aData);
// Close the report writer and send the report to the user
$this->_oReportWriter->closeAndSend();
}
示例3: getOwningAccountIds
/**
* A private method to return the account ID of the
* account that should "own" audit trail entries for
* this entity type; NOT related to the account ID
* of the currently active account performing an
* action.
*
* @return integer The account ID to insert into the
* "account_id" column of the audit trail
* database table.
*/
public function getOwningAccountIds($resetCache = false)
{
$accountType = OA_Permission::getAccountType(false);
switch ($accountType) {
case OA_ACCOUNT_ADMIN:
return parent::_getOwningAccountIdsByAccountId($accountId = OA_Permission::getAccountId());
case OA_ACCOUNT_ADVERTISER:
$parentTable = 'clients';
$parentKeyName = 'clientid';
break;
case OA_ACCOUNT_TRAFFICKER:
$parentTable = 'affiliates';
$parentKeyName = 'affiliateid';
break;
case OA_ACCOUNT_MANAGER:
$parentTable = 'agency';
$parentKeyName = 'agencyid';
break;
}
return $this->_getOwningAccountIds($parentTable, $parentKeyName);
}
示例4: elseif
/**
* Returns the instance of menu. Subsequent calls return the same object.
*
* @return OA_Admin_Menu
*/
function &singleton()
{
$accountType = OA_Permission::getAccountType();
if (isset($GLOBALS['_MAX']['MENU_OBJECT'][$accountType])) {
$oMenu =& $GLOBALS['_MAX']['MENU_OBJECT'][$accountType];
} elseif ($GLOBALS['_MAX']['CONF']['debug']['production'] != 0 && ($oMenu = OA_Admin_Menu::_loadFromCache($accountType))) {
$GLOBALS['_MAX']['MENU_OBJECT'][$accountType] =& $oMenu;
} else {
$oMenu = new OA_Admin_Menu();
if (empty($oMenu->aAllSections)) {
include_once MAX_PATH . '/lib/OA/Admin/Menu/config.php';
$oMenu = _buildNavigation(OA_Permission::getAccountType());
}
require_once LIB_PATH . '/Plugin/ComponentGroupManager.php';
$oPluginManager = new OX_Plugin_ComponentGroupManager();
$oPluginManager->mergeMenu($oMenu, $accountType);
$GLOBALS['_MAX']['MENU_OBJECT'][$accountType] =& $oMenu;
$oMenu->_saveToCache($accountType);
}
// Filter against user-account-preferences...
return $oMenu;
}
示例5: disableStatisticsColumns
/**
* A method to disable all of the supplied columns from being displayed
* by *any* user in the system, should they have set those columns to
* be displayed.
*
* Can only be called by the admin account.
*
* @param array $aColumns An array of the "primary" statistics column
* names (i.e. less the "_label" and "_rank" suffixes)
* that need to be disabled.
*/
function disableStatisticsColumns($aColumns)
{
// Ensure that this method is only ever called by the admin account
$currentAccountType = OA_Permission::getAccountType();
if ($currentAccountType != OA_ACCOUNT_ADMIN) {
return;
}
// Disable the required columns
foreach ($aColumns as $preference) {
// Obtain the preference ID value for the column
$doPreferences = OA_Dal::factoryDO('preferences');
$doPreferences->preference_name = $preference;
$doPreferences->find();
if ($doPreferences->getRowCount() != 1) {
// Could not locate the statistics column in the preferences
// table, so suspect that it does not exist, go to next column
continue;
}
$doPreferences->fetch();
$aColumnPreference = $doPreferences->toArray();
$columnPreferenceId = $aColumnPreference['preference_id'];
// Update any instances of this preference ID so that
// the column is disabled, but without making any other
// changes to custom rank values or column names
$doAccount_preference_assoc = OA_Dal::factoryDO('account_preference_assoc');
$doAccount_preference_assoc->preference_id = $columnPreferenceId;
$doAccount_preference_assoc->find();
while ($doAccount_preference_assoc->fetch()) {
$doAccount_preference_assoc->value = 0;
$doAccount_preference_assoc->update();
}
}
}
示例6: strtolower
*
* Results of auto completion are limited to those users that are already
* linked to accounts in the current account realm.
*/
$q = strtolower($_GET["q"]);
$limit = strtolower($_GET["limit"]);
if (!$q) {
return;
}
// Require the initialisation file
require_once '../../init.php';
// Required files
require_once MAX_PATH . '/lib/OA/Dal.php';
require_once MAX_PATH . '/www/admin/config.php';
// Restrict access to accounts which are allowed to link other accounts
switch (OA_Permission::getAccountType()) {
case OA_ACCOUNT_ADMIN:
// There are no restrictions on users that are applied to the autocomplete
// list, as the admin account can see all accounts and therefore users in
// its realm
$oDbh =& OA_DB::singleton();
$query = $oDbh->quote('%' . $q . '%');
$doUsers = OA_Dal::factoryDO('users');
$doUsers->whereAdd('username LIKE ' . $query . ' OR email_address LIKE ' . $query);
$doUsers->limit($limit);
$doUsers->find();
while ($doUsers->fetch()) {
echo htmlspecialchars($doUsers->user_id) . '|' . htmlspecialchars($doUsers->email_address) . '|' . htmlspecialchars($doUsers->username) . "\n";
}
break;
case OA_ACCOUNT_MANAGER:
示例7: setCurrentLeftMenuSubItem
case '4-1':
OA_Permission::enforceAccount(OA_ACCOUNT_ADMIN);
$message = 'Dynamic submenu 4-1';
$menu = 'demo-menu-4';
// PageHeader function needs to know the *parent* menu
setCurrentLeftMenuSubItem('demo-menu-4-1');
break;
case '4-2':
OA_Permission::enforceAccount(OA_ACCOUNT_ADMIN);
$message = 'Dynamic submenu 4-2';
$menu = 'demo-menu-4';
// PageHeader function needs to know the *parent* menu
setCurrentLeftMenuSubItem('demo-menu-4-2');
break;
}
$colour = $GLOBALS['_MAX']['PREF']['demoUserInterface_demopref_' . OA_Permission::getAccountType(true)];
//$image = 'demoUI'.$i.'.jpg';
$message = $message;
addLeftMenuSubItem('demo-menu-4-1', 'demo submenu 4-1', 'plugins/demoUserInterface/demoUI-page.php?action=4-1');
addLeftMenuSubItem('demo-menu-4-2', 'demo submenu 4-2', 'plugins/demoUserInterface/demoUI-page.php?action=4-2');
phpAds_PageHeader($menu, '', '../../');
$oTpl = new OA_Plugin_Template('demoUI.html', 'demoUserInterface');
//$oTpl->assign('image',$image);
$oTpl->assign('message', $message);
$oTpl->assign('colour', $colour);
$oTpl->display();
phpAds_PageFooter();
} else {
require_once LIB_PATH . '/Admin/Redirect.php';
OX_Admin_Redirect::redirect('plugins/demoUserInterface/demoUI-index.php');
}
示例8: phpAds_registerGlobal
require_once MAX_PATH . '/lib/max/Plugin/Translation.php';
require_once MAX_PATH . '/www/admin/config.php';
require_once LIB_PATH . '/Plugin/ComponentGroupManager.php';
// Security check
OA_Permission::enforceAccount(OA_ACCOUNT_ADMIN, OA_ACCOUNT_MANAGER, OA_ACCOUNT_ADVERTISER, OA_ACCOUNT_TRAFFICKER);
phpAds_registerGlobal('group');
// Load the account's preferences, with additional information, into a specially named array
$GLOBALS['_MAX']['PREF_EXTRA'] = OA_Preferences::loadPreferences(true, true);
// Create a new option object for displaying the setting's page's HTML form
$oOptions = new OA_Admin_Option('preferences');
// Prepare an array for storing error messages
$aErrormessage = array();
$oComponentGroupManager = new OX_Plugin_ComponentGroupManager();
$aGroup = $oComponentGroupManager->_getComponentGroupConfiguration($group);
$enabled = $GLOBALS['_MAX']['CONF']['pluginGroupComponents'][$group];
$disabled = !$enabled && OA_Permission::getAccountType() != OA_ACCOUNT_ADMIN;
// If the settings page is a submission, deal with the form data
if (isset($_POST['submitok']) && $_POST['submitok'] == 'true') {
// Prepare an array of the HTML elements to process, and which
// of the preferences are checkboxes
$aElements = array();
foreach ($aGroup['preferences'] as $k => $v) {
$aElements[] = $group . '_' . $v['name'];
// Register the HTML element value
MAX_commonRegisterGlobalsArray(array($group . '_' . $v['name']));
}
$aCheckboxes = array();
// Validation
$valid = true;
$validationFile = MAX_PATH . $GLOBALS['_MAX']['CONF']['pluginPaths']['packages'] . $group . '/processPreferences.php';
if (file_exists($validationFile)) {
示例9: showHeader
/**
* Show page header
*
* @param int $ID
* @param OA_Admin_UI_Model_PageHeaderModel $headerModel
* @param int $imgPath deprecated
* @param bool $showSidebar Set to false if you do not wish to show the sidebar navigation
* @param bool $showContentFrame Set to false if you do not wish to show the content frame
* @param bool $showMainNavigation Set to false if you do not wish to show the main navigation
*/
function showHeader($ID = null, $oHeaderModel = null, $imgPath = "", $showSidebar = true, $showContentFrame = true, $showMainNavigation = true)
{
global $conf, $phpAds_CharSet, $phpAds_breadcrumbs_extra;
$conf = $GLOBALS['_MAX']['CONF'];
$ID = $this->getId($ID);
$this->setCurrentId($ID);
if (!defined('phpAds_installing')) {
OX_Admin_UI_Hooks::beforePageHeader($ID, $this->getLinkParams(), $oHeaderModel);
}
$pageTitle = !empty($conf['ui']['applicationName']) ? $conf['ui']['applicationName'] : MAX_PRODUCT_NAME;
$aMainNav = array();
$aLeftMenuNav = array();
$aLeftMenuSubNav = array();
$aSectionNav = array();
if ($ID !== phpAds_Login && $ID !== phpAds_Error && $ID !== phpAds_PasswordRecovery) {
//get system navigation
$oMenu = OA_Admin_Menu::singleton();
//update page title
$oCurrentSection = $oMenu->get($ID);
$this->redirectSectionToCorrectUrlIfOldUrlDetected($oCurrentSection);
if ($oCurrentSection == null) {
phpAds_Die($GLOBALS['strErrorOccurred'], 'Menu system error: <strong>' . OA_Permission::getAccountType(true) . '::' . htmlspecialchars($ID) . '</strong> not found for the current user: you might not have sufficient permission to view this page. <br/>If the problem persists, you can also try to delete the files inside your /path/to/openx/var/cache/ directory.');
}
if ($oHeaderModel == null) {
//build default model with title and name taken from nav entry
$oHeaderModel = new OA_Admin_UI_Model_PageHeaderModel($oCurrentSection->getName());
}
if ($oHeaderModel->getTitle()) {
$pageTitle .= ' - ' . $oHeaderModel->getTitle();
} else {
$pageTitle .= ' - ' . $oCurrentSection->getName();
}
// compile navigation arrays
$this->_compileMainNavigationTabBar($oCurrentSection, $oMenu, $aMainNav);
$this->_compileLeftMenuNavigation($oCurrentSection, $oMenu, $aLeftMenuNav);
$this->_compileLeftSubMenuNavigation($oCurrentSection, $oMenu, $aLeftMenuSubNav);
$this->_compileSectionTabBar($oCurrentSection, $oMenu, $aSectionNav);
} else {
// Build tabbed navigation bar
if ($ID == phpAds_Login) {
$aMainNav[] = array('title' => $GLOBALS['strAuthentification'], 'filename' => 'index.php', 'selected' => true);
} elseif ($ID == phpAds_Error) {
$aMainNav[] = array('title' => $GLOBALS['strErrorOccurred'], 'filename' => 'index.php', 'selected' => true);
} elseif ($ID == phpAds_PasswordRecovery) {
$aMainNav[] = array('title' => $GLOBALS['strPasswordRecovery'], 'filename' => 'index.php', 'selected' => true);
}
$showContentFrame = false;
}
//html header
$this->_assignLayout($pageTitle);
$this->_assignJavascriptandCSS();
//layout stuff
$this->oTpl->assign('uiPart', 'header');
$this->oTpl->assign('showContentFrame', $showContentFrame);
$this->oTpl->assign('showSidebar', $showSidebar);
$this->oTpl->assign('showMainNavigation', $showMainNavigation);
//top
$this->_assignBranding($conf['ui']);
$this->_assignSearch($ID);
$this->_assignUserAccountInfo($oCurrentSection);
$this->oTpl->assign('headerModel', $oHeaderModel);
$this->oTpl->assign('hideNavigator', $conf['ui']['hideNavigator']);
// Tabbed navigation bar and sidebar
$this->oTpl->assign('aMainTabNav', $aMainNav);
$this->oTpl->assign('aLeftMenuNav', $aLeftMenuNav);
$this->oTpl->assign('aLeftMenuSubNav', $aLeftMenuSubNav);
$this->oTpl->assign('aSectionNav', $aSectionNav);
// This is used to show banner preview
$this->oTpl->assign('breadcrumbsExtra', $phpAds_breadcrumbs_extra);
//tools and shortcuts
$this->oTpl->assign('aTools', $this->aTools);
$this->oTpl->assign('aShortcuts', $this->aShortcuts);
//additional things
$this->_assignJavascriptDefaults();
//JS validation messages and other defaults
$this->_assignAlertMPE();
//mpe xajax
$this->_assignInstalling();
//install indicator
$this->_assignMessagesAndNotifications();
//messaging system
//html header
$this->_assignJavascriptandCSS();
/* DISPLAY */
// Use gzip content compression
if (isset($conf['ui']['gzipCompression']) && $conf['ui']['gzipCompression']) {
//enable compression if it's not alredy handled by the zlib and ob_gzhandler is loaded
$zlibCompression = ini_get('zlib.output_compression');
if (!$zlibCompression && function_exists('ob_gzhandler')) {
// enable compression only if it wasn't enabled previously (e.g by widget)
//.........这里部分代码省略.........
示例10: _showStatsColumns
/**
* A private method to set the required options for column-based output
* of option items.
*
* @access private
* @param array $aItem The column option to display.
* @param array $aValue An array of the column values.
*/
function _showStatsColumns($aItem, $aValue)
{
// Get all of the preference types that exist
$aPreferenceTypes = array();
$doPreferences = OA_Dal::factoryDO('preferences');
$doPreferences->find();
if ($doPreferences->getRowCount() >= 1) {
while ($doPreferences->fetch()) {
$aPreference = $doPreferences->toArray();
$aPreferenceTypes[$aPreference['preference_name']] = array('preference_id' => $aPreference['preference_id'], 'account_type' => $aPreference['account_type']);
}
}
// Get the type of the current accout
$currentAccountType = OA_Permission::getAccountType();
global $tabindex;
$aItem['tabindex'] = $tabindex++;
foreach ($aItem['rows'] as $key => $aRow) {
if (isset($aValue[$aRow['name']]['base'])) {
$aItem['rows'][$key]['value'] = $aValue[$aRow['name']]['base'];
}
if (isset($aValue[$aRow['name']]['label'])) {
$aItem['rows'][$key]['label_value'] = $aValue[$aRow['name']]['label'];
}
if (isset($aValue[$aRow['name']]['rank'])) {
$aItem['rows'][$key]['rank_value'] = $aValue[$aRow['name']]['rank'];
}
// Has the current account got access to edit this preference?
$access = OA_Preferences::hasAccess($currentAccountType, $aPreferenceTypes[$aRow['name']]['account_type']);
if ($access == false) {
$aItem['rows'][$key]['disabled'] = true;
}
}
$this->aOption[] = array('statscolumns.html' => $aItem);
// Update the global tab index for the number of stats column rows added
$rows = count($aItem['rows']);
$tabindex += $rows * 3;
// Not an exact increment of the tab index, but close enough!
}
示例11: cachePreferenceOptions
/**
* caches hooks for enabled plugins only
* indexed by group name
*
* @return boolean
*/
function cachePreferenceOptions()
{
$oComponentGroupManager = new OX_Plugin_ComponentGroupManager();
$aComponentGroups = $GLOBALS['_MAX']['CONF']['pluginGroupComponents'] ? $GLOBALS['_MAX']['CONF']['pluginGroupComponents'] : array();
$aOptions = array();
foreach ($aComponentGroups as $name => $enabled) {
if ($enabled || OA_Permission::getAccountType() == OA_ACCOUNT_ADMIN) {
$aConfig[$name] = $oComponentGroupManager->_getComponentGroupConfiguration($name);
if (count($aConfig[$name]['preferences'])) {
$aOptions[$name] = array('name' => $name, 'text' => $aConfig[$name]['option'] ? $aConfig[$name]['option'] : $name, 'value' => 'account-preferences-plugin.php?group=' . $name, 'perm' => array(OA_ACCOUNT_ADMIN, OA_ACCOUNT_MANAGER, OA_ACCOUNT_ADVERTISER, OA_ACCOUNT_TRAFFICKER));
}
}
}
$oCache = $oComponentGroupManager->_getOA_Cache('Plugins', 'PrefOptions');
$oCache->setFileNameProtection(false);
return $oCache->save($aOptions);
}
示例12: hasPermission
/**
* A method to check if the user has specific permissions to perform
* an action on an account
*
* TODOPERM - consider caching permissions in user session so they could
* be reused across many user requests
*
* @static
* @param integer $permissionId
* @param int $accountId
* @return boolean
*/
function hasPermission($permissionId, $accountId = null, $userId = null)
{
if (empty($userId)) {
$userId = OA_Permission::getUserId();
}
if (OA_Permission::isUserLinkedToAdmin($userId)) {
return true;
}
static $aCache = array();
if (empty($accountId)) {
$accountId = OA_Permission::getAccountId();
$accountType = OA_Permission::getAccountType();
} else {
$oAccounts = OA_Dal::staticGetDO('accounts', $accountId);
if ($oAccounts) {
$accountType = $oAccounts->accountType;
} else {
// Account does not exist
Max::raiseError('No such account ID: ' . $accountId);
return false;
}
}
if (OA_Permission::isPermissionRelatedToAccountType($accountType, $permissionId)) {
$aCache[$userId][$accountId] = OA_Permission::getAccountUsersPermissions($userId, $accountId);
} else {
$aCache[$userId][$accountId][$permissionId] = true;
}
return isset($aCache[$userId][$accountId][$permissionId]) ? $aCache[$userId][$accountId][$permissionId] : false;
}