%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/comment/widgets/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/comment/widgets/Form.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2016 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\modules\comment\widgets; use humhub\components\Widget; use humhub\modules\comment\Module; use humhub\modules\comment\models\Comment as CommentModel; use humhub\modules\content\components\ContentActiveRecord; use humhub\modules\file\handler\FileHandlerCollection; use Yii; use yii\helpers\Url; /** * This widget is used include the comments functionality to a wall entry. * * Normally it shows a excerpt of all comments, but provides the functionality * to show all comments. * * @since 0.5 */ class Form extends Widget { /** * @var CommentModel|ContentActiveRecord */ public $object; /** * @var Comment|null can be provided if comment validation failed, otherwise a dummy model will be created */ public $model; /** * @var string */ public $mentioningUrl = '/search/mentioning/content'; /** * @var bool */ public $isHidden; /** * @inheritdoc */ public function init() { parent::init(); if ($this->isHidden === null) { // Hide the comment form for sub comments until the button is clicked $this->isHidden = ($this->object instanceof Comment); } } /** * Executes the widget. */ public function run() { if (Yii::$app->user->isGuest) { return ''; } /** @var Module $module */ $module = Yii::$app->getModule('comment'); if (!$module->canComment($this->object)) { return ''; } if (!$this->model) { $this->model = new CommentModel(); $this->model->setPolyMorphicRelation($this->object); } return $this->render('form', [ 'objectModel' => get_class($this->object), 'objectId' => $this->object->getPrimaryKey(), 'id' => $this->object->getUniqueId(), 'model' => $this->model, 'isNestedComment' => ($this->object instanceof CommentModel), 'mentioningUrl' => Url::to([$this->mentioningUrl, 'id' => $this->object->content->id]), 'isHidden' => $this->isHidden, 'fileHandlers' => FileHandlerCollection::getByType([FileHandlerCollection::TYPE_IMPORT, FileHandlerCollection::TYPE_CREATE]), ]); } }