%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/mail/controllers/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/mail/controllers/InboxController.php |
<?php
namespace humhub\modules\mail\controllers;
use humhub\components\access\ControllerAccess;
use humhub\components\Controller;
use humhub\modules\mail\models\forms\InboxFilterForm;
use humhub\modules\mail\widgets\ConversationInbox;
use humhub\modules\mail\widgets\InboxMessagePreview;
use Yii;
/**
* MailController provides messaging actions.
*
* @package humhub.modules.mail.controllers
* @since 0.5
*/
class InboxController extends Controller
{
public function getAccessRules()
{
return [
[ControllerAccess::RULE_LOGGED_IN_ONLY]
];
}
/**
* Overview of all messages
* @param null $id
* @return string
* @throws \Exception
*/
public function actionIndex()
{
return ConversationInbox::widget([
'filter' => new InboxFilterForm()
]);
}
public function actionLoadMore()
{
$filter = new InboxFilterForm();
$userMessages = $filter->getPage();
$result = '';
foreach ($userMessages as $userMessage) {
try {
$result .= InboxMessagePreview::widget(['userMessage' => $userMessage]);
} catch(\Throwable $e) {
Yii::error($e);
}
}
return $this->asJson([
'result' => $result,
'isLast' => $filter->wasLastPage()
]);
}
public function actionUpdateEntries()
{
$filter = new InboxFilterForm();
$filter->apply();
$result = [];
foreach ($filter->query->all() as $userMessage) {
try {
$result[$userMessage->message_id] = InboxMessagePreview::widget(['userMessage' => $userMessage]);
} catch (\Throwable $e) {
Yii::error($e);
}
}
return $this->asJson([
'result' => $result,
]);
}
}