コード例 #1
0
 /**
  * (non-PHPdoc)
  * @see taoTests_models_classes_TestModel::onTestModelSet()
  */
 public function deleteContent(core_kernel_classes_Resource $test)
 {
     $content = $test->getOnePropertyValue(new core_kernel_classes_Property(TEST_TESTCONTENT_PROP));
     if (!is_null($content)) {
         $content->delete();
         $test->removePropertyValue(new core_kernel_classes_Property(TEST_TESTCONTENT_PROP), $content);
     }
 }
コード例 #2
0
 /**
  * Assign deliveries to groups
  *
  * @param \core_kernel_classes_Resource $delivery Delivery or RepeatedDelivery instance
  * @param array $values List of groups (uri)
  * @return boolean
  */
 public function saveGroups(\core_kernel_classes_Resource $delivery, $values)
 {
     $property = new \core_kernel_classes_Property(PROPERTY_GROUP_DELVIERY);
     $currentValues = array();
     foreach ($property->getDomain() as $domain) {
         $instances = $domain->searchInstances(array($property->getUri() => $delivery), array('recursive' => true, 'like' => false));
         $currentValues = array_merge($currentValues, array_keys($instances));
     }
     $toAdd = array_diff($values, $currentValues);
     $toRemove = array_diff($currentValues, $values);
     $success = true;
     foreach ($toAdd as $uri) {
         $subject = new \core_kernel_classes_Resource($uri);
         $success = $success && $subject->setPropertyValue($property, $delivery);
     }
     foreach ($toRemove as $uri) {
         $subject = new \core_kernel_classes_Resource($uri);
         $success = $success && $subject->removePropertyValue($property, $delivery);
     }
     return $success;
 }
コード例 #3
0
 /**
  * Delete the content of a QTI test
  * @param core_kernel_classes_Resource $test
  * @throws common_exception_Error
  */
 public function deleteContent(core_kernel_classes_Resource $test)
 {
     $content = $test->getOnePropertyValue(new core_kernel_classes_Property(TEST_TESTCONTENT_PROP));
     if (!is_null($content)) {
         $file = new core_kernel_file_File($content);
         try {
             $path = $file->getAbsolutePath();
             if (is_dir($path)) {
                 if (!tao_helpers_File::delTree($path)) {
                     throw new common_exception_Error("Unable to remove test content directory located at '" . $file->getAbsolutePath() . "'.");
                 }
             }
         } catch (common_Exception $e) {
             // Empty file...
         }
         $file->delete();
         $test->removePropertyValue(new core_kernel_classes_Property(TEST_TESTCONTENT_PROP), $file);
     }
 }
コード例 #4
0
 public function removeUser(\core_kernel_classes_Resource $user, core_kernel_classes_Resource $group)
 {
     return $user->removePropertyValue(new core_kernel_classes_Property(self::PROPERTY_MEMBERS_URI), $group);
 }
コード例 #5
0
 /**
  * Short description of method deleteActualParameters
  *
  * @access public
  * @author Joel Bout, <*****@*****.**>
  * @param  Resource callOfService
  * @return boolean
  */
 public function deleteActualParameters(core_kernel_classes_Resource $callOfService)
 {
     $propActualParamIn = new core_kernel_classes_Property(PROPERTY_CALLOFSERVICES_ACTUALPARAMETERIN);
     $propActualParamOut = new core_kernel_classes_Property(PROPERTY_CALLOFSERVICES_ACTUALPARAMETEROUT);
     foreach ($callOfService->getPropertyValuesCollection($propActualParamIn)->getIterator() as $actualParam) {
         $actualParam->delete();
         $callOfService->removePropertyValue($propActualParamIn, $actualParam);
     }
     foreach ($callOfService->getPropertyValuesCollection($propActualParamOut)->getIterator() as $actualParam) {
         $actualParam->delete();
         $callOfService->removePropertyValue($propActualParamOut, $actualParam);
     }
     return true;
 }
コード例 #6
0
 public function setReverseValues()
 {
     if (!tao_helpers_Request::isAjax()) {
         throw new common_exception_IsAjaxAction(__FUNCTION__);
     }
     $values = tao_helpers_form_GenerisTreeForm::getSelectedInstancesFromPost();
     $resource = new core_kernel_classes_Resource($this->getRequestParameter('resourceUri'));
     $property = new core_kernel_classes_Property($this->getRequestParameter('propertyUri'));
     $currentValues = array();
     foreach ($property->getDomain() as $domain) {
         $instances = $domain->searchInstances(array($property->getUri() => $resource), array('recursive' => true, 'like' => false));
         $currentValues = array_merge($currentValues, array_keys($instances));
     }
     $toAdd = array_diff($values, $currentValues);
     $toRemove = array_diff($currentValues, $values);
     $success = true;
     foreach ($toAdd as $uri) {
         $subject = new core_kernel_classes_Resource($uri);
         $success = $success && $subject->setPropertyValue($property, $resource);
     }
     foreach ($toRemove as $uri) {
         $subject = new core_kernel_classes_Resource($uri);
         $success = $success && $subject->removePropertyValue($property, $resource);
     }
     echo json_encode(array('saved' => $success));
 }
コード例 #7
0
 /**
  * Delete the content of a QTI test
  * @param core_kernel_classes_Resource $test
  * @throws common_exception_Error
  */
 public function deleteContent(core_kernel_classes_Resource $test)
 {
     $content = $test->getOnePropertyValue($this->getProperty(TEST_TESTCONTENT_PROP));
     if (!is_null($content)) {
         $dir = $this->getFileReferenceSerializer()->unserialize($content);
         $dir->deleteSelf();
         $this->getFileReferenceSerializer()->cleanUp($content);
         $test->removePropertyValue($this->getProperty(TEST_TESTCONTENT_PROP), $content);
     }
 }