コード例 #1
0
ファイル: ContentSet.php プロジェクト: vincentaubert/BackBee
 /**
  * {@inheritdoc}
  */
 public function setParam($key, $value = null)
 {
     parent::setParam($key, $value);
     if ('accept' === $key && is_array($value)) {
         $value = self::getShortClassname($value);
         if (null !== $this->getDraft()) {
             $this->getDraft()->setAccept($value);
         } else {
             $this->setAccept($value);
         }
     }
 }
コード例 #2
0
 /**
  * Executes commit action on content and its draft.
  *
  * @param  AbstractClassContent $content
  * @param  Revision      $draft
  * @return self
  */
 private function executeCommit(AbstractClassContent $content, Revision $draft)
 {
     $content->setDraft(null);
     if ($content instanceof ContentSet) {
         $content->clear();
         while ($subcontent = $draft->next()) {
             if ($subcontent instanceof AbstractClassContent) {
                 $subcontent = $this->em->getRepository(ClassUtils::getRealClass($subcontent))->load($subcontent);
                 if (null !== $subcontent) {
                     $content->push($subcontent);
                 }
             }
         }
     } else {
         foreach ($draft->getData() as $key => $values) {
             $values = is_array($values) ? $values : [$values];
             foreach ($values as &$subcontent) {
                 if ($subcontent instanceof AbstractClassContent) {
                     $subcontent = $this->em->getRepository(ClassUtils::getRealClass($subcontent))->load($subcontent);
                 }
             }
             $content->{$key} = $values;
         }
     }
     $draft->commit();
     $content->setLabel($draft->getLabel());
     foreach ($draft->getAllParams() as $key => $params) {
         $content->setParam($key, $params['value']);
     }
     $content->setRevision($draft->getRevision())->setState(AbstractClassContent::STATE_NORMAL)->addRevision($draft);
     return $this;
 }
コード例 #3
0
 /**
  * Updates provided content's parameters.
  *
  * @param  AbstractClassContent $content
  * @param  array                $paramsData
  *
  * @return ClassContentManager
  */
 private function updateParameters(AbstractClassContent $content, array $paramsData)
 {
     foreach ($paramsData as $key => $param) {
         $content->setParam($key, $param);
     }
     return $this;
 }
コード例 #4
0
 /**
  * Update image with the new data
  *
  * @param AbstractClassContent|Revision $object
  * @param string $path
  * @param string $fullPath
  *
  * @return void
  */
 protected function updateObject(&$object, $path, $fullPath)
 {
     $object->__set('path', $path);
     $object->setParam('width', $this->request->get('cropNewW'));
     $object->setParam('height', $this->request->get('cropNewH'));
     $object->setParam('stat', json_encode(stat($fullPath)));
 }