Esempio n. 1
1
 public function updateSecondaryResources(ActivityParameters $parameters, \stdClass $stepStructure)
 {
     // Store current resources to clean removed
     $existingResources = $parameters->getSecondaryResources();
     $existingResources = $existingResources->toArray();
     // Publish new resources
     $publishedResources = array();
     if (!empty($stepStructure->resources)) {
         $i = 0;
         foreach ($stepStructure->resources as $resource) {
             $resourceNode = $this->om->getRepository('ClarolineCoreBundle:Resource\\ResourceNode')->findOneById($resource->resourceId);
             if (!empty($resourceNode)) {
                 $parameters->addSecondaryResource($resourceNode);
                 $publishedResources[] = $resourceNode;
             } else {
                 $warning = $this->translator->trans('warning_compl_resource_deleted', array('resourceId' => $resource->resourceId, 'resourceName' => $resource->name), "innova_tools");
                 $this->session->getFlashBag()->add('warning', $warning);
                 unset($stepStructure->resources[$i]);
             }
             $i++;
         }
     }
     // Clean removed resources
     foreach ($existingResources as $existingResource) {
         if (!in_array($existingResource, $publishedResources)) {
             $parameters->removeSecondaryResource($existingResource);
         }
     }
     return $this;
 }
Esempio n. 2
0
 /**
  * Copy parameters.
  *
  * @todo copy properties
  */
 public function copyParameters(Activity $resource)
 {
     $parameters = new ActivityParameters();
     foreach ($resource->getParameters()->getSecondaryResources() as $resource) {
         $parameters->getSecondaryResources()->add($resource);
     }
     return $parameters;
 }