%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/post/widgets/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/post/widgets/Form.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2018 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\post\widgets;
use humhub\modules\content\widgets\WallCreateContentForm;
use humhub\modules\post\models\Post;
use humhub\modules\space\models\Space;
use humhub\modules\ui\form\widgets\ActiveForm;
use yii\helpers\Url;
/**
* This widget is used include the post form.
* It normally should be placed above a steam.
*
* @since 0.5
*/
class Form extends WallCreateContentForm
{
/**
* @inheritdoc
*/
public $submitUrl = '/post/post/post';
/**
* @var string
*/
public $mentioningUrl = '/search/mentioning/space';
/**
* Get params for form rendering
*
* @param array $additionalParams
* @return array
*/
public function getRenderParams(array $additionalParams = []): array
{
$post = new Post($this->contentContainer);
$canCreatePostInSpace = ($this->contentContainer instanceof Space && $post->content->canEdit());
return array_merge([
'post' => $post,
'mentioningUrl' => $canCreatePostInSpace ? Url::to([$this->mentioningUrl, 'id' => $this->contentContainer->id]) : null,
'submitUrl' => $this->submitUrl,
], $additionalParams);
}
/**
* @inheritdoc
*/
public function renderForm(): string
{
return $this->render('form', $this->getRenderParams());
}
/**
* @inheritdoc
*/
public function renderActiveForm(ActiveForm $form): string
{
return $this->render('form', $this->getRenderParams(['form' => $form]));
}
/**
* @inheritdoc
*/
public function run()
{
if (!(new Post($this->contentContainer))->content->canEdit()) {
return '';
}
return parent::run();
}
}