Exemplo n.º 1
0
 /**
  * @param DocumentInterface $document
  * @param mixed $value
  *
  * @return mixed
  */
 public function onGetHeadlineValue(DocumentInterface $document, $value)
 {
     $documents = $document->getAttribute($this->getRelationName())->map(function (DocumentInterface $doc) {
         return \HTML::link($doc->getEditLink(), $doc->getTitle(), ['class' => 'popup']);
     })->all();
     return !empty($documents) ? implode(', ', $documents) : null;
 }
Exemplo n.º 2
0
 /**
  * @param DocumentInterface $document
  * @param                   $value
  *
  * TODO: реализовать фильтрацию тегов
  */
 public function onDocumentUpdating(DocumentInterface $document, $value)
 {
     if ($this->isFilterHTML()) {
         $value = $value;
     }
     $document->setAttribute($this->getDBKey(), $value);
     $document->setAttribute($this->getDBFilteredColumnKey(), WYSIWYG::applyFilter($this->getWysiwyg(), $value));
 }
Exemplo n.º 3
0
 /**
  * @param DocumentInterface $document
  * @param                   $value
  *
  * TODO: реализовать фильтрацию тегов
  */
 public function onDocumentUpdating(DocumentInterface $document, $value)
 {
     if (!$this->isAllowHTML()) {
         $value = strip_tags($value);
     } elseif ($this->isFilterHTML()) {
         $value = $value;
     }
     $document->setAttribute($this->getDBKey(), $value);
 }
Exemplo n.º 4
0
 /**
  * @param DocumentInterface $document
  * @param mixed             $value
  */
 public function onDocumentFill(DocumentInterface $document, $value)
 {
     $documentIds = [];
     $section = $this->getRelatedSection();
     Model::unguard();
     foreach ($value as $file) {
         if (is_null($file)) {
             continue;
         }
         if ($file instanceof UploadedFile) {
             $imageDocument = $section->getEmptyDocument();
             $imageDocument->fill(['header' => $document->getTitle(), 'image' => $file])->save();
             $documentIds[] = $imageDocument->getId();
         }
     }
     Model::reguard();
     $this->deletingDocuments = (array) Request::get($this->getDBKey() . '_remove');
     $this->selectedDocuments = array_unique(array_merge($documentIds, (array) Request::get($this->getDBKey() . '_selected')));
 }
Exemplo n.º 5
0
 /**
  * @param DocumentInterface $document
  *
  * @return array
  */
 protected function fetchDocumentTemplateValues(DocumentInterface $document)
 {
     return ['value' => $document->getFormValue($this->getDBKey()), 'document' => $document, 'section' => $document->getSection()];
 }
Exemplo n.º 6
0
 /**
  * @param DocumentInterface $document
  * @param WidgetInterface $widget
  * @param mixed $value
  *
  * @return mixed
  */
 public function onGetWidgetValue(DocumentInterface $document, WidgetInterface $widget, $value)
 {
     return !is_null($related = $document->getAttribute($this->getRelationName())) ? $related->toArray() : $value;
 }
 /**
  * @param DocumentInterface $document
  * @param mixed             $value
  *
  * @return mixed
  */
 public function onGetHeadlineValue(DocumentInterface $document, $value)
 {
     return !is_null($relatedDocument = $document->getAttribute($this->getRelationName())) ? \HTML::link($relatedDocument->getEditLink(), $relatedDocument->getTitle(), ['class' => 'popup']) : null;
 }
Exemplo n.º 8
0
 /**
  * @param DocumentInterface $document
  * @param mixed             $value
  *
  * @return void
  */
 public function onDocumentFill(DocumentInterface $document, $value)
 {
     $value = is_null($value) ? $document->getOriginal($this->key) : $value;
     parent::onDocumentFill($document, $value);
     if ($value instanceof UploadedFile and !empty($this->getSelectedSameImageFields())) {
         $fields = $this->getSection()->getFields();
         foreach ($this->getSelectedSameImageFields() as $sameField) {
             if ($fields->offsetExists($sameField) and !is_null($field = $fields->offsetGet($sameField)) and !$document->{$sameField} instanceof UploadedFile) {
                 if ($filePath = $field->copyImageFile($document->{$this->getDBKey()})) {
                     $document->{$sameField} = $filePath;
                 }
             }
         }
     }
 }
Exemplo n.º 9
0
 /**
  * @param DocumentInterface $document
  * @param mixed             $value
  *
  * @return mixed
  */
 public function onSetDocumentAttribute(DocumentInterface $document, $value)
 {
     $value = (int) (is_null($value) ? $this->getSetting('default_value') : $value);
     return $document->setAttribute($this->getDBKey(), $value);
 }
Exemplo n.º 10
0
 /**
  * @param DocumentInterface $document
  * @param mixed             $value
  *
  * @return mixed
  */
 public function onGetHeadlineValue(DocumentInterface $document, $value)
 {
     return !is_null($user = $document->getAttribute($this->getRelationName())) ? link_to_route('backend.user.edit', $user->username, $user, ['class' => 'popup']) : null;
 }
Exemplo n.º 11
0
 /**
  * @param DocumentInterface $document
  */
 public function onRelatedDocumentDeleted(DocumentInterface $document)
 {
     $document->{$this->getRelatedField()->getRelationName()}()->detach($document->getId());
 }