/** * [getMessageMDL description] * @param [type] $param [description] * @return [type] [description] */ private function getMessageMDL($param) { return BbiiMessage::find()->where(['id' => $this->getMessageID($param)])->one(); }
use sourcetoad\bbii2\models\BbiiPost; use sourcetoad\bbii2\models\BbiiMessage; use yii\bootstrap\ActiveForm; use yii\helpers\Html; use yii\widgets\ListView; /* @var $this ForumController */ /* @var $forum BbiiForum */ /* @var $dataProvider ArrayDataProvider */ /* $this->context->bbii_breadcrumbs = array( Yii::t('BbiiModule.bbii', 'Forum') => array('forum/index'), $forum->name, ); */ $this->title = Yii::t('forum', $forum->name); $this->params['breadcrumbs'][] = $this->title; $approvals = BbiiPost::find()->unapproved()->count(); $reports = BbiiMessage::find()->report()->count(); $item = array(array('label' => Yii::t('BbiiModule.bbii', 'Forum'), 'url' => array('forum/index')), array('label' => Yii::t('BbiiModule.bbii', 'Members'), 'url' => array('member/index')), array('label' => Yii::t('BbiiModule.bbii', 'Approval') . ' (' . $approvals . ')', 'url' => array('moderator/approval'), 'visible' => $this->context->isModerator()), array('label' => Yii::t('BbiiModule.bbii', 'Reports') . ' (' . $reports . ')', 'url' => array('moderator/report'), 'visible' => $this->context->isModerator())); ?> <?php foreach (\Yii::$app->session->getAllFlashes() as $key => $message) { echo '<div class="alert alert-' . $key . '">' . $message . '</div>'; } \Yii::$app->session->removeAllFlashes(); ?> <div id="bbii-wrapper" class="well clearfix"> <div class="row"> <div class="col col-md-12"> <?php echo $this->render('_header', array('item' => $item));
use yii\bootstrap\Nav; use yii\widgets\Breadcrumbs; use sourcetoad\bbii2\AppAsset; $assets = AppAsset::register($this); /* @var $this ModeratorController */ /* @var $item array */ $approvals = BbiiPost::find()->unapproved()->count(); $reports = BbiiMessage::find()->report()->count(); $item = array(array('label' => Yii::t('BbiiModule.bbii', 'Forum'), 'url' => array('forum/index')), array('label' => Yii::t('BbiiModule.bbii', 'Posts'), 'url' => array('moderator/admin'), 'visible' => $this->context->isModerator()), array('label' => Yii::t('BbiiModule.bbii', 'Send mail'), 'url' => array('moderator/sendmail'), 'visible' => $this->context->isModerator())); ?> <div id = "bbii-header"> <?php if (!\Yii::$app->user->isGuest) { ?> <?php $messages = BbiiMessage::find()->inbox()->unread()->count('sendto = ' . \Yii::$app->user->identity->id); ?> <div class = "btn-group pull-right"> <?php if ($messages) { echo Html::a(Html::img($assets->baseUrl . '/images/newmail.png', array('title' => $messages . ' ' . Yii::t('BbiiModule.bbii', 'new messages'), 'style' => 'vertical-align:bottom;')), array('message/inbox'), array('class' => 'btn btn-default')); } else { echo Html::a(Html::img($assets->baseUrl . '/images/mail.png', array('title' => Yii::t('BbiiModule.bbii', 'no new messages'), 'style' => 'vertical-align:bottom;')), array('message/inbox'), array('class' => 'btn btn-default')); } echo Html::a(Html::img($assets->baseUrl . '/images/settings.png', array('title' => Yii::t('BbiiModule.bbii', 'My settings'), 'style' => 'vertical-align:bottom;')), array('member/view', 'id' => \Yii::$app->user->identity->id), array('class' => 'btn btn-default')); echo Html::a(Html::img($assets->baseUrl . '/images/moderator.png', array('title' => Yii::t('BbiiModule.bbii', 'Moderate'), 'style' => 'vertical-align:bottom;')), array('moderator/approval'), array('class' => 'btn btn-default')); echo Html::a(Html::img($assets->baseUrl . '/images/config.png', array('title' => Yii::t('BbiiModule.bbii', 'Forum settings'), 'style' => 'vertical-align:bottom;')), array('setting/index'), array('class' => 'btn btn-default')); ?> </div> <?php }
/* @var $this ForumController */ /* @var $item array */ ?> <?php echo Html::dropDownList('bbii-jumpto', null, ArrayHelper::map(BbiiForum::getForumOptions(), 'id', 'name'), array('prompt' => 'Jump to a Forum', 'class' => 'form-control', 'onchange' => "window.location.href = '" . \Yii::$app->urlManager->createAbsoluteUrl(array('forum')) . "/forum/forum?id='+\$(this).val()")); ?> <br /> <div id = "bbii-header"> <?php if (!\Yii::$app->user->isGuest) { ?> <?php $messages = BbiiMessage::find()->where(['sendto' => \Yii::$app->user->identity->id])->inbox()->unread()->count(); ?> <div class = "btn-group pull-right"> <?php if ($messages) { echo Html::a(Html::img($assets->baseUrl . '/images/newmail.png', array('title' => $messages . ' ' . Yii::t('BbiiModule.bbii', 'new messages'), 'style' => 'vertical-align:bottom;')), array('message/inbox'), array('class' => 'btn btn-default')); } else { echo Html::a(Html::img($assets->baseUrl . '/images/mail.png', array('title' => Yii::t('BbiiModule.bbii', 'no new messages'), 'style' => 'vertical-align:bottom;')), array('message/inbox'), array('class' => 'btn btn-default')); } echo Html::a(Html::img($assets->baseUrl . '/images/settings.png', array('title' => Yii::t('BbiiModule.bbii', 'My settings'), 'style' => 'vertical-align:bottom;')), array('member/view', 'id' => \Yii::$app->user->identity->id), array('class' => 'btn btn-default')); if ($this->context->isModerator()) { echo Html::a(Html::img($assets->baseUrl . '/images/moderator.png', array('title' => Yii::t('BbiiModule.bbii', 'Moderate'), 'style' => 'vertical-align:bottom;')), array('moderator/approval'), array('class' => 'btn btn-default')); echo Html::a(Html::img($assets->baseUrl . '/images/config.png', array('title' => Yii::t('BbiiModule.bbii', 'Forum settings'), 'style' => 'vertical-align:bottom;')), array('setting/index'), array('class' => 'btn btn-default')); } ?> </div>
/** * Retrieves a list of models based on the current search/filter conditions. * * @param [type] $params [description] * @return ActiveDataProvider The data provider that can return the models based on the search/filter conditions. */ public function search($params = null) { $query = BbiiMessage::find(); $dataProvider = new ActiveDataProvider(['pagination' => false, 'query' => $query, 'sort' => ['defaultOrder' => ['create_time' => SORT_ASC, 'subject' => SORT_ASC]]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $this->addCondition('content', $this->content, true); $this->addCondition('id', $this->id, true); $this->addCondition('inbox', $this->inbox); $this->addCondition('ip', $this->ip, true); $this->addCondition('outbox', $this->outbox); $this->addCondition('post_id', $this->post_id, true); $this->addCondition('read_indicator', $this->read_indicator); $this->addCondition('sendfrom', $this->sendfrom, true); $this->addCondition('sendto', $this->sendto, true); $this->addCondition('subject', $this->subject, true); $this->addCondition('type', $this->type); $criteria->limit = 100; return $dataProvider; }
/** * Delete a post */ public function actionDelete($id = null) { if (isset(\Yii::$app->request->get()['id'])) { $id = \Yii::$app->request->get()['id']; } $post = BbiiPost::find()->where(['id' => (int) $id])->one(); if ($post === null) { throw new \yii\web\HttpException(404, Yii::t('BbiiModule.bbii', 'The requested post does not exist.')); } $forum = BbiiForum::find()->where(['id' => $post->forum_id])->one(); $topic = BbiiTopic::find()->where(['id' => $post->topic_id])->one(); // if the posters count is > 0 , reduce it by one $post->poster->posts > 0 ? $post->poster->updateCounters(array('posts' => -1)) : null; $post->delete(); if ($topic->approved == 0) { $topic->delete(); } else { $forum->updateCounters(array('num_posts' => -1)); // method since Yii 1.1.8 if ($topic->num_replies > 0) { $topic->updateCounters(array('num_replies' => -1)); // method since Yii 1.1.8 } else { $topic->delete(); $forum->updateCounters(array('num_topics' => -1)); // method since Yii 1.1.8 } } $this->resetFirstTopicPost($id); $this->resetLastPost($id); // remove messages related to the post $messageMDL = BbiiMessage::find()->where(['post_id' => $id])->all(); if ($messageMDL->id) { $messageMDL->delete(); } // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset(\Yii::$app->request->get()['ajax'])) { \Yii::$app->response->redirect(isset(\Yii::$app->request->post()['returnUrl']) ?: \Yii::$app->urlManager->createAbsoluteUrl(['forum/forum', 'id' => $forum->id])); } return false; }