/** * Страница модерирования постов * @return string|Response */ public function actionModerate() { $data = Yii::$app->request->post('Moderation'); $model = Moderation::findOne((int) $data['id']); if ($model && $model->load(Yii::$app->request->post(), $model->formName()) && ($saveHtmlData = $model->text) && $model->validate()) { $post = new Post(); $post->attributes = $model->attributes; $post->text = $saveHtmlData; // сохранять HTML в обход фильтра в модели Moderation // $post->hash = md5($saveHtmlData); // оставлять прежний хеш для отслеживания уникальности записей $post->visible = true; $tags = Yii::$app->request->post($model->formName(), ['tags' => []])['tags']; if ($post->save()) { if (!empty($tags)) { foreach ($tags as $tag) { $modelTag = Tag::add($tag); if ($modelTag) { $post->link('tags', $modelTag); } } } $model->delete(); // публикация в твиттере ContentGenerator::Twitter($post); } } $posts = new ActiveDataProvider(['query' => Moderation::find()->orderBy(['created' => SORT_ASC]), 'pagination' => ['pageSize' => 10]]); return $this->render('moderate', ['posts' => $posts, 'model' => $model]); }
echo Html::encode($this->context->query); ?> " placeholder="Поиск поста по фразе или тегу..."> </form> <span class="text-nowrap"> Всего <b><?php echo \app\models\Post::find()->where('visible=1')->count(); ?> </b>, сегодня <b><?php echo \app\models\Post::find()->where('visible=1 and created like :d', [':d' => date("Y-m-d") . "%"])->count(); ?> </b>, на модерации <b><?php echo ($count = \app\models\Moderation::find()->count()) ? Html::a($count, '/moderate') : $count; ?> </b> </span> <div class="text-left"> <b>Популярные теги:</b> <?php $tagWeights = \app\models\Tag::getTagWeights(10); foreach ($tagWeights as $tag => $weight) { echo Html::a("#" . $tag, Url::toRoute(['/', 'query' => "#" . $tag]), ['style' => "display: inline-block; padding:0 4px; font-size:{$weight}pt;"]); } ?> </div> </div> <div class="col-xs-6"><?php