本文整理匯總了PHP中Zend_Acl_Resource_Interface::getMasterId方法的典型用法代碼示例。如果您正苦於以下問題:PHP Zend_Acl_Resource_Interface::getMasterId方法的具體用法?PHP Zend_Acl_Resource_Interface::getMasterId怎麽用?PHP Zend_Acl_Resource_Interface::getMasterId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Zend_Acl_Resource_Interface
的用法示例。
在下文中一共展示了Zend_Acl_Resource_Interface::getMasterId方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: assert
/**
* Returns true if and only if the assertion conditions are met
*
* This method is passed the ACL, Role, Resource, and privilege to which
* the authorization query applies. If the $role, $resource, or $privilege
* parameters are null, it means that the query applies to all Roles,
* Resources, or privileges, respectively.
*
* @param Zend_Acl $acl
* @param Zend_Acl_Role_Interface $role
* @param Zend_Acl_Resource_Interface $resource
* @param string $privilege
* @return boolean
*/
public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null)
{
// We need specific objects to check against each other
if (NULL === $role || NULL === $resource) {
return false;
}
// Ensure we're handled User models
if (!$role instanceof UserModel) {
throw new Exception('Role must be an instance of UserModel');
}
$orgId = $role->getOrganizationId();
switch (true) {
case $resource instanceof OrgModelAbstract:
return $orgId === $resource->getId();
case $resource instanceof UserModel:
case $resource instanceof TemplateModel:
return $orgId === $resource->getOrganizationId();
case $resource instanceof Async\Model\AsyncResponse:
$cOrgId = \Application\Model\Mapper\OrganizationMapper::cleanOrgId($orgId);
return $orgId === $resource->getOrganizationId() || $cOrgId === $resource->getOrganizationId();
case $resource instanceof Model\TariffPlanLifeCycleModel:
case $resource instanceof Model\TariffPlanServicesModel:
case $resource instanceof Model\RestrictionModel:
case $resource instanceof Model\ServicePackModel:
$orgType = Model\Mapper\OrganizationMapper::getTypeByOrgId($orgId);
switch ($orgType) {
case Model\Organization\OrgServiceProviderModel::ORG_TYPE:
return $orgId === $resource->getServiceProviderId();
case Model\Organization\OrgCustomerModel::ORG_TYPE:
// $spList = Service\ServicePackService::getInstance()->listAll();
// foreach ($spList->getItems() as $sp) {
// if ($sp->getId() === $resource->getId()) {
// return true;
// }
// }
/*
* There is no way to know if only one ServicePack is assigned to a customer,
* only retrieving all servicePacks assigned. It is too much slow. In Ericsson we trust.
*/
return true;
default:
return false;
}
case $resource instanceof Model\SupplServicesModel:
return $orgId === $resource->getServiceProviderId() || $orgId === $resource->getCustomerId();
case $resource instanceof Model\CommercialGroupModel:
case $resource instanceof Model\SupervisionGroupModel:
return $orgId === $resource->getCustomerId();
case $resource instanceof SimModel:
/** @var $resource \Application\Model\SimModel */
return $orgId === $resource->getMasterId() || $orgId === $resource->getServiceProviderCommercialId() || $orgId === $resource->getServiceProviderEnablerId() || $orgId === $resource->getAggregatorId() || $orgId === $resource->getCustomerId() || $orgId === $resource->getEndUserId();
case $resource instanceof Model\ReportModel:
$params = $resource->getParams();
if (isset($params['orgId']) && !empty($params['orgId'])) {
return $orgId === $params['orgId'];
} else {
return true;
}
}
throw new Exception('Resource must be an instance of OrgModelAbstract, UserModel or SimModel');
}