Esempio n. 1
0
 public function init()
 {
     $newPosts = Post::find()->selectNoText()->recentPublished(3)->all();
     foreach ($newPosts as $post) {
         $this->_htmlStr .= Html::tag('div', Html::a($post->title, ['site/post', 'id' => $post->cid], ['class' => 'post-title']) . Html::tag('div', \Yii::$app->formatter->asDate($post->created), ['class' => 'date']), ['class' => 'recent-single-post']);
     }
 }
Esempio n. 2
0
 /**
  * @return string
  */
 public function actionIndex()
 {
     /* @var $postType PostType */
     /* @var $post Post */
     /* @var $taxonomies Taxonomy[] */
     /* @var $taxonomy Taxonomy */
     /* @var $lastMedia Media */
     $response = Yii::$app->response;
     $response->headers->set('Content-Type', 'text/xml; charset=UTF-8');
     $response->format = $response::FORMAT_RAW;
     $postTypes = PostType::find()->select(['id', 'post_type_slug'])->all();
     $taxonomies = Taxonomy::find()->select(['id', 'taxonomy_slug'])->all();
     $items = [];
     foreach ($postTypes as $postType) {
         if (!isset($this->_option['post_type'][$postType->id]['enable']) || !$this->_option['post_type'][$postType->id]['enable']) {
             continue;
         }
         if ($post = $postType->getPosts()->andWhere(['post_status' => 'publish'])->orderBy(['id' => SORT_DESC])->one()) {
             $lastmod = new \DateTime($post->post_modified, new \DateTimeZone(Option::get('time_zone')));
             $query = $postType->getPosts()->andWhere(['post_status' => 'publish']);
             $countQuery = clone $query;
             $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $this->_option['entries_per_page']]);
             for ($i = 1; $i <= $pages->pageCount; $i++) {
                 $items[] = ['loc' => Yii::$app->urlManager->hostInfo . Url::to(['view', 'type' => 'p', 'slug' => $postType->post_type_slug, 'page' => $i]), 'lastmod' => $lastmod->format('r')];
             }
         }
     }
     foreach ($taxonomies as $taxonomy) {
         if (!isset($this->_option['taxonomy'][$taxonomy->id]['enable']) || !$this->_option['taxonomy'][$taxonomy->id]['enable']) {
             continue;
         }
         if ($terms = $taxonomy->terms) {
             $post = Post::find()->from(['post' => Post::tableName()])->innerJoinWith(['terms' => function ($query) {
                 /* @var $query \yii\db\ActiveQuery */
                 $query->from(['term' => Term::tableName()]);
             }])->where(['IN', 'term.id', ArrayHelper::getColumn($terms, 'id')])->andWhere(['post.post_status' => 'publish'])->orderBy(['post.id' => SORT_DESC])->one();
             if ($post) {
                 $query = $taxonomy->getTerms();
                 $lastmod = new \DateTime($post->post_modified, new \DateTimeZone(Option::get('time_zone')));
                 $countQuery = clone $query;
                 $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $this->_option['entries_per_page']]);
                 for ($i = 1; $i <= $pages->pageCount; $i++) {
                     $items[] = ['loc' => Yii::$app->urlManager->hostInfo . Url::to(['view', 'type' => 'c', 'slug' => $taxonomy->taxonomy_slug, 'page' => $i]), 'lastmod' => $lastmod->format('r')];
                 }
             }
         }
     }
     if (isset($this->_option['media']['enable']) && $this->_option['media']['enable']) {
         $query = Media::find();
         $countQuery = clone $query;
         $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $this->_option['entries_per_page']]);
         if ($lastMedia = $query->orderBy(['id' => SORT_DESC])->one()) {
             $lastmod = new \DateTime($lastMedia->media_modified, new \DateTimeZone(Option::get('time_zone')));
             for ($i = 1; $i <= $pages->pageCount; $i++) {
                 $items[] = ['loc' => Yii::$app->urlManager->hostInfo . Url::to(['view', 'type' => 'm', 'slug' => 'media', 'page' => $i]), 'lastmod' => $lastmod->format('r')];
             }
         }
     }
     return $this->renderPartial('index', ['items' => $items]);
 }
 /**
  * @return array
  */
 protected function getMenu()
 {
     $menu = Post::find()->with(['currentTranslate' => function (ActiveQuery $q) {
         $q->select(['post_id', 'lang_id', 'title'])->asArray();
     }])->orderBy(['slug' => SORT_ASC])->all();
     return ArrayHelper::map($menu, 'slug', 'title');
 }
Esempio n. 4
0
 /**
  * Displays a model.
  * @param string $id the primary key of the model.
  * @return \yii\db\ActiveRecordInterface the model being displayed
  */
 public function run($id)
 {
     Yii::$app->response->format = Response::FORMAT_JSON;
     $model = $this->findModel($id);
     $result = \common\models\Post::find()->where(['category_id' => $id])->all();
     return $result;
 }
 public function actionIndex()
 {
     echo "Sending letters to subscribers begin...\n";
     $currentDayTime = time() - 60 * 60 * 24;
     $currentDay = date("Y-m-d H:i:s", $currentDayTime);
     $importantPosts = Post::find()->where(['is_public' => 1, 'is_index' => 1])->andWhere(['>', 'created_at', $currentDay])->orderBy(['created_at' => SORT_DESC])->limit(3)->all();
     $ids = [];
     foreach ($importantPosts as $post) {
         $ids[] = $post->id;
     }
     $maxCommentsPosts = Post::find()->where(['is_public' => 1])->andWhere(['>', 'created_at', $currentDay])->andWhere(['not in', "id", $ids])->orderBy(['id' => SORT_DESC])->limit(3)->all();
     $posts = array_merge($importantPosts, $maxCommentsPosts);
     // sending
     $subscribings = Subscribing::find()->all();
     $count = 0;
     foreach ($subscribings as $subscribing) {
         if (!filter_var($subscribing->email, FILTER_VALIDATE_EMAIL)) {
             echo "Email is not correct: " . $subscribing->email . "\n";
             $subscribing->delete();
             continue;
         }
         $unsubscribeKey = md5($subscribing->id . $subscribing->email);
         $message = Yii::$app->mailer->compose('subscribe-view-html', compact('posts', 'unsubscribeKey'))->setTo($subscribing->email)->setSubject('Новости Динамо');
         $send = $message->send();
         if ($send) {
             $count++;
         }
     }
     echo "Posted {$count} letters. \n";
     echo "Sending letters to subscribers end.\n";
 }
 public function run()
 {
     parent::run();
     // TODO: Change the autogenerated stub
     $nodes = Post::find()->where(['status' => 10])->limit(3)->all();
     return $this->render('PostBottomTopWidget', ['nodes' => $nodes]);
 }
Esempio n. 7
0
 public function actionPost($id)
 {
     $post = Post::find()->andWhere(['cid' => $id])->published()->one();
     if (!$post) {
         throw new NotFoundHttpException('页面不存在');
     }
     return $this->render('post', ['post' => $post]);
 }
 private static function getPost($categoryID)
 {
     $postModel = Post::find()->where(['category_id' => $categoryID]);
     $count = $postModel->count();
     $pagination = new Pagination(['totalCount' => $count]);
     $nodes = $postModel->offset($pagination->offset)->limit($pagination->limit)->all();
     return ['nodes' => $nodes, 'pagination' => $pagination];
 }
Esempio n. 9
0
 /**
  * 概要
  * @return string
  */
 public function actionIndex()
 {
     $recentPublishedPost = Post::find()->selectNoText()->recentPublished()->all();
     $postCount = Post::find()->published()->count();
     $categoryCount = Category::find()->count();
     //todo: 评论数量 最新回复
     return $this->render('index', ['recentPublishedPost' => $recentPublishedPost, 'postCount' => $postCount, 'categoryCount' => $categoryCount]);
 }
Esempio n. 10
0
 public function run()
 {
     parent::run();
     // TODO: Change the autogenerated stub
     $post = new Post();
     $dataPartner = $post->find('image')->where(['category_id' => 18])->all();
     return $this->render('widget/partner', ['nodes' => $dataPartner]);
 }
Esempio n. 11
0
 /**
  * Updates an existing Post model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($tahun, $judul)
 {
     $model = Post::find()->where("tahun='" . $tahun . "' and title='" . $judul . "'")->one();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'tahun' => $model->tahun, 'judul' => $model->title]);
     } else {
         return $this->render('update', ['model' => $model]);
     }
 }
Esempio n. 12
0
 /**
  * @return string
  */
 public function actionIndex()
 {
     /* @var $lastPost \common\models\Post */
     $response = Yii::$app->response;
     $response->headers->set('Content-Type', 'text/xml; charset=UTF-8');
     $response->format = $response::FORMAT_RAW;
     $lastPost = Post::find()->where(['post_status' => 'publish'])->orderBy(['id' => SORT_DESC])->one();
     return $this->renderPartial('index', ['title' => Option::get('sitetitle'), 'description' => Option::get('tagline'), 'link' => Yii::$app->request->absoluteUrl, 'lastBuildDate' => new \DateTime($lastPost->post_date, new \DateTimeZone(Option::get('time_zone'))), 'postTypes' => PostType::find()->all(), 'language' => Yii::$app->language, 'generator' => 'http://www.writesdown.com']);
 }
Esempio n. 13
0
 public function actionIndex()
 {
     $topics = Post::find()->limit(20)->where(['status' => 2])->orderBy(['created_at' => SORT_DESC])->all();
     $users = UserService::findActiveUser(12);
     $statistics = array();
     $statistics['post_count'] = Post::find()->count();
     $statistics['comment_count'] = PostComment::find()->count();
     $statistics['online_count'] = Session::find()->where(['>', 'expire', time()])->count();
     return $this->render('index', ['topics' => $topics, 'users' => $users, 'statistics' => $statistics]);
 }
Esempio n. 14
0
 public function actionRenderpage($url)
 {
     $category = Category::findOne(['link' => $url]);
     if (empty($category)) {
         return $this->run('site/error');
     }
     $subcategories = Category::findAll(['parent' => $category->id]);
     $posts = Post::findAll(['category' => $category->id]);
     return $this->render('category', ['category' => $category, 'subcategories' => $subcategories, 'postsCount' => sizeof($posts), 'posts' => $posts, 'premiumPosts' => \common\models\Post::find()->where(['>', 'premium', date('d-m-Y H:i:s')])->andWhere(['category' => $category->id])->all()]);
 }
 public function actionIndex($page = 1)
 {
     $query = Post::find()->where('state_index = 1')->orderBy('created_datetime DESC');
     $countQuery = clone $query;
     $pages = new Pagination(['totalCount' => $countQuery->count(), 'defaultPageSize' => 5, 'pageSize' => 5]);
     $allPosts = $query->offset($pages->offset)->limit($pages->limit)->all();
     $query = Post::find()->where('state_index = 1 AND main_flag = 1')->orderBy('created_datetime DESC');
     $mainPosts = $query->offset(0)->limit(2)->all();
     return $this->render('index', ['all_posts' => $allPosts, 'main_posts' => $mainPosts, 'pages' => $pages]);
 }
Esempio n. 16
0
 public function actionShowAll()
 {
     if (Yii::$app->user->isGuest) {
         $this->redirect(Url::to(['/site/login']));
     }
     $query = Post::find()->where(['user_id' => Yii::$app->user->getId()]);
     $pagination = new Pagination(['defaultPageSize' => 4, 'totalCount' => $query->count()]);
     $list_post = $query->orderBy('id')->offset($pagination->offset)->limit($pagination->limit)->asArray()->all();
     return $this->render('show', ['model' => $list_post, 'pagination' => $pagination]);
 }
Esempio n. 17
0
 /**
  * Displaying feed.
  *
  * @return string
  */
 public function actionIndex()
 {
     /* @var $lastPost \common\models\Post */
     $response = Yii::$app->response;
     $response->headers->set('Content-Type', 'text/xml; charset=UTF-8');
     $response->format = $response::FORMAT_RAW;
     // Get first post and all posts
     $lastPost = Post::find()->where(['status' => Post::STATUS_PUBLISH])->andWhere(['<=', 'date', date('Y-m-d H:i:s')])->orderBy(['id' => SORT_DESC])->one();
     $posts = Post::find()->where(['status' => Post::STATUS_PUBLISH])->andWhere(['<=', 'date', date('Y-m-d H:i:s')])->limit(Option::get('posts_per_rss'))->orderBy(['id' => SORT_DESC])->all();
     return $this->renderPartial('index', ['title' => Option::get('sitetitle'), 'description' => Option::get('tagline'), 'link' => Yii::$app->request->absoluteUrl, 'lastBuildDate' => new \DateTime($lastPost->date, new \DateTimeZone(Option::get('time_zone'))), 'language' => Yii::$app->language, 'generator' => 'http://www.writesdown.com', 'posts' => $posts, 'rssUseExcerpt' => Option::get('rss_use_excerpt')]);
 }
Esempio n. 18
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params, $conditions = [])
 {
     $query = Post::find()->where($conditions);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 20], 'sort' => ['defaultOrder' => ['order' => SORT_ASC, 'created_at' => SORT_DESC]]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'post_meta_id' => $this->post_meta_id, 'user_id' => $this->user_id, 'view_count' => $this->view_count, 'comment_count' => $this->comment_count, 'favorite_count' => $this->favorite_count, 'like_count' => $this->like_count, 'thanks_count' => $this->thanks_count, 'hate_count' => $this->hate_count, 'status' => $this->status, 'order' => $this->order, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'type', $this->type])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'author', $this->author])->andFilterWhere(['like', 'excerpt', $this->excerpt])->andFilterWhere(['like', 'image', $this->image])->andFilterWhere(['like', 'content', $this->content])->andFilterWhere(['like', 'tags', $this->tags]);
     return $dataProvider;
 }
Esempio n. 19
0
 /**
  * Displays a single Thread model.
  * @param integer $id
  * @return mixed
  */
 public function actionView($id)
 {
     $thread = $this->findModel($id);
     $thread->updateCounters(['views' => 1]);
     $query = Post::find()->where(['thread_id' => $thread['id']]);
     $locals = YiiForum::getPagedRows($query, ['order' => 'create_time asc', 'pageSize' => 10]);
     $locals['currentBoard'] = $this->getBoard($thread['board_id']);
     $locals['thread'] = $thread;
     $locals['newPost'] = new Post();
     return $this->render('view', $locals);
 }
Esempio n. 20
0
 public function search($params)
 {
     $query = Post::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'thread_id' => $this->thread_id, 'user_id' => $this->user_id, 'create_time' => $this->create_time, 'modify_time' => $this->modify_time, 'supports' => $this->supports, 'againsts' => $this->againsts, 'floor' => $this->floor]);
     $query->andFilterWhere(['like', 'user_name', $this->user_name])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'body', $this->body])->andFilterWhere(['like', 'note', $this->note]);
     return $dataProvider;
 }
 public function search($params)
 {
     $query = Post::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'user_id' => $this->user_id, 'category_id' => $this->category_id, 'state_index' => $this->state_index, 'main_flag' => $this->main_flag, 'created_datetime' => $this->created_datetime, 'start_date' => $this->start_date, 'noforeign_id' => $this->noforeign_id]);
     $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'intro', $this->intro])->andFilterWhere(['like', 'body', $this->body])->andFilterWhere(['like', 'start_time', $this->start_time])->andFilterWhere(['like', 'preview_image', $this->preview_image])->andFilterWhere(['like', 'doc_file', $this->doc_file])->andFilterWhere(['like', 'my_image', $this->my_image])->andFilterWhere(['like', 'contest_image', $this->contest_image]);
     return $dataProvider;
 }
Esempio n. 22
0
 public function actionIndex()
 {
     $lastPosts = Post::find()->orderBy('created_at desc')->limit(10)->all();
     $featured = Post::featured();
     $drafts = Post::drafts();
     $mostPopularCategory = Category::find()->joinWith('posts')->select('category.id, post.category_id, count(distinct post.title) as qty, category.title')->groupBy('post.category_id')->orderBy('qty desc')->one();
     $mostPopularTag = Tag::find()->joinWith('posts')->select('tags.id, posts_tags.tag_id, count(distinct posts_tags.post_id) as qty, tags.title')->groupBy('posts_tags.tag_id')->orderBy('qty desc')->one();
     $postsCount = Post::find()->where('active = 1')->count();
     $categoryCount = Category::find()->count();
     return $this->render('index', ['lastPosts' => $lastPosts, 'featured' => $featured, 'drafts' => $drafts, 'mostPopularCategory' => $mostPopularCategory, 'mostPopularTag' => $mostPopularTag, 'postsCount' => $postsCount, 'categoryCount' => $categoryCount]);
 }
Esempio n. 23
0
 public function actionIndex()
 {
     $topics = Post::find()->limit(20)->where(['status' => 2])->orderBy(['created_at' => SORT_DESC])->all();
     $users = UserService::findActiveUser(12);
     $headline = Arr::getColumn(RightLink::find()->where(['type' => RightLink::RIGHT_LINK_TYPE_HEADLINE])->all(), 'content');
     $statistics = [];
     $statistics['post_count'] = Post::find()->count();
     $statistics['comment_count'] = PostComment::find()->count();
     $statistics['online_count'] = Session::find()->where(['>', 'expire', time()])->count();
     return $this->render('index', ['topics' => $topics, 'users' => $users, 'statistics' => $statistics, 'headline' => Arr::arrayRandomAssoc($headline)]);
 }
Esempio n. 24
0
 public function actionSearch()
 {
     $search = Yii::$app->request->post('query');
     $trans_search = Utils::encodestring($search);
     $query = Post::find()->joinWith('tags')->where(['like', 'post.content', $search])->orWhere(['like', 'post.content', $trans_search])->orWhere(['like', 'post.title', $search])->orWhere(['like', 'post.title', $trans_search])->orWhere(['like', 'tags.title', $search])->orWhere(['like', 'tags.title', $trans_search]);
     //->all();
     $countQuery = clone $query;
     $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => 10]);
     $pages->pageSizeParam = false;
     $posts = $query->offset($pages->offset)->limit($pages->limit)->orderBy('id desc')->all();
     return $this->render('category', ['category' => 'Пошук: "' . $search . '"', 'posts' => $posts, 'pagination' => $pages, 'search_query' => $search]);
 }
 public function actionView($slug)
 {
     $model = new CategoryPost();
     $category = $model->findOne(['slug' => $slug]);
     if (empty($category)) {
         throw new NotFoundHttpException('Không tìm thấy nội dung theo yêu cầu.');
     }
     $posts = Post::find()->where(['category_id' => $category->id, 'published' => 10]);
     $count = $posts->count();
     $pagination = new Pagination(['totalCount' => $count]);
     $nodes = $posts->offset($pagination->offset)->limit(10)->orderBy(['id' => SORT_DESC])->all();
     return $this->render('view', ['category_title' => $category->title, 'nodes' => $nodes, 'pagination' => $pagination]);
 }
Esempio n. 26
0
 /**
  * @param $params
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Post::find()->joinWith(['category', 'user']);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 20], 'sort' => ['defaultOrder' => ['order' => SORT_ASC, 'updated_at' => SORT_DESC]]]);
     $dataProvider->sort->attributes['category_name'] = ['asc' => ['name' => SORT_ASC], 'desc' => ['name' => SORT_DESC]];
     $dataProvider->sort->attributes['username'] = ['asc' => ['username' => SORT_ASC], 'desc' => ['username' => SORT_DESC]];
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'post_meta_id' => $this->post_meta_id, 'user_id' => $this->user_id, 'view_count' => $this->view_count, 'comment_count' => $this->comment_count, 'favorite_count' => $this->favorite_count, 'like_count' => $this->like_count, 'thanks_count' => $this->thanks_count, 'hate_count' => $this->hate_count, Post::tableName() . '.status' => $this->status, 'order' => $this->order, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', Post::tableName() . '.type', $this->type])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'author', $this->author])->andFilterWhere(['like', 'excerpt', $this->excerpt])->andFilterWhere(['like', 'image', $this->image])->andFilterWhere(['like', 'content', $this->content])->andFilterWhere(['like', 'tags', $this->tags])->andFilterWhere(['like', 'name', $this->category_name])->andFilterWhere(['like', 'username', $this->username]);
     return $dataProvider;
 }
Esempio n. 27
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Post::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'category_id' => $this->category_id, 'status' => $this->status, 'created_by' => $this->created_by, 'updated_by' => $this->updated_by, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'slug', $this->slug])->andFilterWhere(['like', 'image', $this->image])->andFilterWhere(['like', 'content', $this->content])->andFilterWhere(['like', 'meta_title', $this->meta_title])->andFilterWhere(['like', 'meta_keywords', $this->meta_keywords])->andFilterWhere(['like', 'meta_description', $this->meta_description]);
     return $dataProvider;
 }
Esempio n. 28
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = PostModel::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'status' => $this->status, 'create_time' => $this->create_time, 'update_time' => $this->update_time, 'user_id' => $this->user_id]);
     $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'content', $this->content])->andFilterWhere(['like', 'tags', $this->tags]);
     return $dataProvider;
 }
Esempio n. 29
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Post::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'user_id' => $this->user_id, 'is_lts' => $this->is_lts, 'published_at' => $this->published_at, 'indexed_at' => $this->indexed_at, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'body', $this->body])->andFilterWhere(['like', 'keyword', $this->keyword])->andFilterWhere(['like', 'description', $this->description]);
     return $dataProvider;
 }
Esempio n. 30
0
 /**
  * @param $params
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Post::find();
     // 如果有无人区节点 帖子列表过滤无人区节点的帖子
     if (PostMeta::noManLandId() && (empty($params['PostSearch']['post_meta_id']) || $params['PostSearch']['post_meta_id'] != PostMeta::noManLandId())) {
         $query->andWhere(['!=', 'post_meta_id', PostMeta::noManLandId()]);
     }
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 20], 'sort' => ['defaultOrder' => ['order' => SORT_ASC, 'last_comment_time' => SORT_DESC, 'created_at' => SORT_DESC]]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'post_meta_id' => $this->post_meta_id, 'user_id' => $this->user_id, 'view_count' => $this->view_count, 'comment_count' => $this->comment_count, 'favorite_count' => $this->favorite_count, 'like_count' => $this->like_count, 'thanks_count' => $this->thanks_count, 'hate_count' => $this->hate_count, 'status' => $this->status, 'order' => $this->order, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'type', $this->type])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'author', $this->author])->andFilterWhere(['like', 'excerpt', $this->excerpt])->andFilterWhere(['like', 'image', $this->image])->andFilterWhere(['like', 'content', $this->content])->andFilterWhere(['like', 'tags', $this->tags]);
     return $dataProvider;
 }