本文整理汇总了PHP中OA_Permission::getAccountTable方法的典型用法代码示例。如果您正苦于以下问题:PHP OA_Permission::getAccountTable方法的具体用法?PHP OA_Permission::getAccountTable怎么用?PHP OA_Permission::getAccountTable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OA_Permission
的用法示例。
在下文中一共展示了OA_Permission::getAccountTable方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: hasAccessToObject
/**
* Check if logged user has access to DataObject (defined by it's table name)
*
* @static
* @param string $entityTable Table name
* @param int $entityId Id (or empty if new is created)
* @param int $accountId Account Id (if null account from session is taken)
* @return boolean True if has access
*/
function hasAccessToObject($entityTable, $entityId, $accountId = null, $accountType = null)
{
if (empty($entityId)) {
// when a new object is created
return true;
}
// Verify that the ID is numeric
if (!preg_match('/^\\d*$/D', $entityId)) {
return false;
}
$do = OA_Dal::factoryDO($entityTable);
if (!$do) {
return false;
}
$key = $do->getFirstPrimaryKey();
if (!$key) {
return false;
}
$do->{$key} = $entityId;
$accountTable = OA_Permission::getAccountTable($accountType);
if (!$accountTable) {
return false;
}
if ($entityTable == $accountTable) {
// user has access to itself
if ($accountId === null) {
return $entityId == OA_Permission::getEntityId();
} else {
$do->account_id = OA_Permission::getAccountId();
return (bool) $do->count();
}
}
if ($accountId === null) {
$accountId = OA_Permission::getAccountId();
}
return $do->belongsToAccount($accountId);
}