本文整理汇总了PHP中Zend_Acl_Resource_Interface::getServiceProviderId方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Acl_Resource_Interface::getServiceProviderId方法的具体用法?PHP Zend_Acl_Resource_Interface::getServiceProviderId怎么用?PHP Zend_Acl_Resource_Interface::getServiceProviderId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Acl_Resource_Interface
的用法示例。
在下文中一共展示了Zend_Acl_Resource_Interface::getServiceProviderId方法的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');
}