%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/custom_pages/models/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/custom_pages/models/Target.php |
<?php namespace humhub\modules\custom_pages\models; use humhub\modules\content\components\ContentContainerActiveRecord; use humhub\modules\custom_pages\helpers\Url; use humhub\modules\custom_pages\Module; use yii\base\Model; /** * Class Target defines a target of a page * @package humhub\modules\custom_pages\models */ class Target extends Model { /** * @var string */ public $id; /** * @var string */ public $name; /** * @var string */ public $contentName; /** * @var */ public $icon = Module::ICON; /** * @var ContentContainerActiveRecord */ public $container; /** * @var string */ public $editBackUrl; /** * @var array defines allowed content types for this target, if empty all types are allowed */ public $contentTypes = []; /** * @var string used to create the access url */ public $accessRoute = '/custom_pages/view'; /** * @var string defines a sublayout used when rendering an entry */ public $subLayout; /** * [ * 'sortOrder' => ['value' => 0, 'hidden' => true], * 'icon' => ['value' => 'adjust', 'readonly' => true], * 'title' => ['value'] * ] * @var array */ public $fieldSettings = []; /** * Returns the url for accessing this content. Targets can change the access url by overwriting the default * [[accessRoute]]. * @param CustomContentContainer $content * @return string */ public function getContentUrl(CustomContentContainer $content) { return $content->content->container ? $content->content->container->createUrl($this->accessRoute, ['id' => $content->id]) : Url::toRoute([$this->accessRoute, 'id' => $content->id]); } /** * @inheritdoc */ public function rules() { return [ [['id', 'name'], 'required'] ]; } public function getIcon() { return $this->icon; } public function isAllowedContentType($type) { if ($type instanceof ContentType) { $type = $type->getId(); } return empty($this->contentTypes) || in_array($type, $this->contentTypes); } /** * @param $field string * @param $setting array|bool */ public function setFieldSetting($field, $setting) { $this->fieldSettings[$field] = $setting; } /** * @param $field string * @param $setting array|bool * @return bool */ public function isAllowedField($field) { if(!isset($this->fieldSettings[$field])) { return true; } if($this->fieldSettings[$field] === false) { return false; } return true; } public function getSubLayout() { return $this->subLayout; } }