Example #1
0
 private function hasPermission($objectName, $action, $agentId)
 {
     switch ($action) {
         case 'add':
             return DataObject::allowedToPublishAdd($agentId, $objectName);
             break;
         case 'change':
             return DataObject::allowedToPublishChange($agentId, $objectName);
             break;
         case 'delete':
             return DataObject::allowedToPublishDelete($agentId, $objectName);
             break;
     }
 }
Example #2
0
 private function processPublishAddObjects($objectNode)
 {
     $objects = $objectNode->getElementsByTagName('SIF_Object');
     foreach ($objects as $object) {
         $objectName = $object->getAttribute('ObjectName');
         $contexts = $object->getElementsByTagName('SIF_Context');
         if (!DataObject::objectExists($objectName)) {
             ProvisionError::invalidObject($this->originalSourceId, $this->originalMsgId, $objectName);
             if (CODELEVEL != 3) {
                 exit;
             } else {
                 return false;
             }
         } else {
             if ($contexts->length != 0) {
                 foreach ($contexts as $context) {
                     $contextId = Context::getContextId($context->nodeValue);
                     if (!DataObject::allowedToPublishAdd($this->agent->agentId, $objectName, $contextId)) {
                         ProvisionError::invalidPermissionToPublishAdd($this->originalSourceId, $this->originalMsgId, $objectName);
                         if (CODELEVEL != 3) {
                             exit;
                         } else {
                             return false;
                         }
                     } else {
                         $dataObject = new DataObject($objectName);
                         $dataObject->contextId = $contextId;
                         array_push($this->publishAddObjects, $dataObject);
                     }
                     //check if allowed to publish add
                 }
             } else {
                 if (!DataObject::allowedToPublishAdd($this->agent->agentId, $objectName)) {
                     ProvisionError::invalidPermissionToPublishAdd($this->originalSourceId, $this->originalMsgId, $objectName);
                     if (CODELEVEL != 3) {
                         exit;
                     } else {
                         return false;
                     }
                 } else {
                     $dataObject = new DataObject($objectName);
                     array_push($this->publishAddObjects, $dataObject);
                 }
                 //check if allowed to publish add
             }
             //check if there are contexts
         }
         //check if object exist
     }
     //loop through objects
 }