Пример #1
0
 /**
  * Update the reference name for this Function.
  *
  * WARNING: NOT IN OSID
  * 
  * @param string $referenceName
  * 
  * @throws object AuthorizationException An exception with
  *		   one of the following messages defined in
  *		   org.osid.authorization.AuthorizationException may be thrown:
  *		   {@link
  *		   org.osid.authorization.AuthorizationException#OPERATION_FAILED
  *		   OPERATION_FAILED}, {@link
  *		   org.osid.authorization.AuthorizationException#PERMISSION_DENIED
  *		   PERMISSION_DENIED}, {@link
  *		   org.osid.authorization.AuthorizationException#CONFIGURATION_ERROR
  *		   CONFIGURATION_ERROR}, {@link
  *		   org.osid.authorization.AuthorizationException#UNIMPLEMENTED
  *		   UNIMPLEMENTED}, {@link
  *		   org.osid.authorization.AuthorizationException#NULL_ARGUMENT
  *		   NULL_ARGUMENT}
  * 
  * @access public
  */
 function updateReferenceName($referenceName)
 {
     // ** parameter validation
     $stringRule = StringValidatorRule::getRule();
     ArgumentValidator::validate($referenceName, $stringRule, true);
     // ** end of parameter validation
     if ($this->_referenceName == $referenceName) {
         return;
     }
     // nothing to update
     // update the object
     $this->_referenceName = $referenceName;
     // update the database
     $dbHandler = Services::getService("DatabaseManager");
     $query = new UpdateQuery();
     $query->setTable("az_function");
     $query->addWhereEqual("function_id", $this->getId()->getIdString());
     $query->addValue("function_reference_name", $referenceName);
     $queryResult = $dbHandler->query($query, $this->_dbIndex);
     if ($queryResult->getNumberOfRows() == 0) {
         throwError(new Error(AuthorizationExeption::OPERATION_FAILED(), "AuthorizationFunction", true));
     }
     if ($queryResult->getNumberOfRows() > 1) {
         throwError(new Error(AuthorizationExeption::OPERATION_FAILED(), "AuthorizationFunction", true));
     }
 }
Пример #2
0
 /**
  * Get the date when this Authorization was modified.
  *	
  * @return int
  * 
  * @throws object AuthorizationException An exception with
  *		   one of the following messages defined in
  *		   org.osid.authorization.AuthorizationException may be thrown:
  *		   {@link
  *		   org.osid.authorization.AuthorizationException#OPERATION_FAILED
  *		   OPERATION_FAILED}, {@link
  *		   org.osid.authorization.AuthorizationException#PERMISSION_DENIED
  *		   PERMISSION_DENIED}, {@link
  *		   org.osid.authorization.AuthorizationException#CONFIGURATION_ERROR
  *		   CONFIGURATION_ERROR}, {@link
  *		   org.osid.authorization.AuthorizationException#UNIMPLEMENTED
  *		   UNIMPLEMENTED}
  * 
  * @access public
  */
 function getModifiedDate()
 {
     throwError(new Error(AuthorizationExeption::UNIMPLEMENTED(), "Authorization", true));
 }
 /**
  * Given an implicit returns the matching explicit user Authorizations.
  * Explicit Authorizations can be modified.	 A null argument will be
  * treated as a wildcard.
  * 
  * @param object Authorization $implicitAuthorization
  *	
  * @return object AuthorizationIterator
  * 
  * @throws object AuthorizationException An exception with
  *		   one of the following messages defined in
  *		   org.osid.authorization.AuthorizationException may be thrown:
  *		   {@link
  *		   org.osid.authorization.AuthorizationException#OPERATION_FAILED
  *		   OPERATION_FAILED}, {@link
  *		   org.osid.authorization.AuthorizationException#PERMISSION_DENIED
  *		   PERMISSION_DENIED}, {@link
  *		   org.osid.authorization.AuthorizationException#CONFIGURATION_ERROR
  *		   CONFIGURATION_ERROR}, {@link
  *		   org.osid.authorization.AuthorizationException#UNIMPLEMENTED
  *		   UNIMPLEMENTED}, {@link
  *		   org.osid.authorization.AuthorizationException#NULL_ARGUMENT
  *		   NULL_ARGUMENT}, {@link
  *		   org.osid.authorization.AuthorizationException#UNKNOWN_ID
  *		   UNKNOWN_ID}, {@link
  *		   org.osid.authorization.AuthorizationException#UNKNOWN_TYPE
  *		   UNKNOWN_TYPE}
  * 
  * @access public
  */
 function getExplicitUserAZsForImplicitAZ(Authorization $implicitAuthorization)
 {
     if ($implicitAuthorization->isExplicit()) {
         // "The Authorization must be implicit."
         throwError(new Error(AuthorizationExeption::OPERATION_FAILED(), "AuthorizationManager", true));
     }
     return new HarmoniIterator(array($implicitAuthorization->getExplicitAZ()));
 }
 /**
  * Given an implicit returns the matching explicit user Authorizations.
  * Explicit Authorizations can be modified.	 A null argument will be
  * treated as a wildcard.
  * 
  * @param object Authorization $implicitAuthorization
  *	
  * @return object AuthorizationIterator
  * 
  * @throws object AuthorizationException An exception with
  *		   one of the following messages defined in
  *		   org.osid.authorization.AuthorizationException may be thrown:
  *		   {@link
  *		   org.osid.authorization.AuthorizationException#OPERATION_FAILED
  *		   OPERATION_FAILED}, {@link
  *		   org.osid.authorization.AuthorizationException#PERMISSION_DENIED
  *		   PERMISSION_DENIED}, {@link
  *		   org.osid.authorization.AuthorizationException#CONFIGURATION_ERROR
  *		   CONFIGURATION_ERROR}, {@link
  *		   org.osid.authorization.AuthorizationException#UNIMPLEMENTED
  *		   UNIMPLEMENTED}, {@link
  *		   org.osid.authorization.AuthorizationException#NULL_ARGUMENT
  *		   NULL_ARGUMENT}, {@link
  *		   org.osid.authorization.AuthorizationException#UNKNOWN_ID
  *		   UNKNOWN_ID}, {@link
  *		   org.osid.authorization.AuthorizationException#UNKNOWN_TYPE
  *		   UNKNOWN_TYPE}
  * 
  * @access public
  */
 function getExplicitUserAZsForImplicitAZ(Authorization $implicitAuthorization)
 {
     if ($implicitAuthorization->isExplicit()) {
         // "The Authorization must be implicit."
         throwError(new Error(AuthorizationExeption::OPERATION_FAILED(), "AuthorizationManager", true));
     }
     $agentId = $implicitAuthorization->getAgentId();
     $function = $implicitAuthorization->getFunction();
     $functionId = $function->getId();
     $qualifier = $implicitAuthorization->getQualifier();
     $qualifierId = $qualifier->getId();
     $authorizations = $this->_cache->getAZs($agentId->getIdString(), $functionId->getIdString(), $qualifierId->getIdString(), null, true, true, $implicitAuthorization->isActiveNow(), $this->_getContainingGroupIdStrings($agentId));
     // isActiveNow
     // Make sure that we are only returning explicit AZs for implicit
     // AZs, not other explicit AZs at this node. This means, only return
     // AZs where the agentId or the qualifier Id are different from those
     // of the implicit AZ
     $explicitForImplicit = array();
     foreach (array_keys($authorizations) as $key) {
         $az = $authorizations[$key];
         $aId = $az->getAgentId();
         $q = $az->getQualifier();
         $qId = $q->getId();
         if ($agentId->isEqual($aId) && $qualifierId->isEqual($qId)) {
             continue;
         } else {
             $explicitForImplicit[] = $az;
         }
     }
     $i = new HarmoniAuthorizationIterator($explicitForImplicit);
     return $i;
 }