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']); } }
/** * @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'); }
/** * 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]); }
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]; }
/** * 概要 * @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]); }
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]); }
/** * 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]); } }
/** * @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']); }
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]); }
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]); }
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]); }
/** * 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')]); }
/** * 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; }
/** * 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); }
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; }
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]); }
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)]); }
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]); }
/** * @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; }
/** * 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; }
/** * 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; }
/** * 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; }
/** * @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; }