/** * @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; }
/** * @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)); }
/** * @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); }
/** * @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'))); }
/** * @param DocumentInterface $document * * @return array */ protected function fetchDocumentTemplateValues(DocumentInterface $document) { return ['value' => $document->getFormValue($this->getDBKey()), 'document' => $document, 'section' => $document->getSection()]; }
/** * @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; }
/** * @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; } } } } }
/** * @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); }
/** * @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; }
/** * @param DocumentInterface $document */ public function onRelatedDocumentDeleted(DocumentInterface $document) { $document->{$this->getRelatedField()->getRelationName()}()->detach($document->getId()); }