/** * Get posts for jqgrid * @return json */ public function postPosts($feed_id) { User::onlyHas('feedpost-view'); Session::put('feed_id', $feed_id); $jqgrid = new jQgrid(Post::getTableName()); $jqgrid->use_populate_count = true; echo $jqgrid->populate(function ($start, $limit) { $feed_id = Session::get('feed_id'); $list = Post::prepareAll(true)->select(Post::getField('id'), PostLang::getField('title'), Post::getField('created_at'), Post::getField('views'))->where(Post::getField('taxonomy_id'), $this->taxonomy->id)->where(FeedPost::getField('feed_id'), $feed_id)->where(Post::getField('is_trash'), 0); if ($limit) { $list = $list->skip($start)->take($limit); } return $list->get($list); }); $this->layout = null; }
public static function getPostCount($feed_id) { return Feed::join(FeedPost::getTableName(), FeedPost::getField('feed_id'), '=', Feed::getField('id'))->where(FeedPost::getField('feed_id'), '=', $feed_id)->count(); }
public static function getYears($feed_id) { return Post::join(FeedPost::getTableName(), FeedPost::getField('post_id'), '=', Post::getField('id'))->distinct()->orderBy(Post::getField('created_at'), 'desc')->select(DB::raw("YEAR(" . Post::getField('created_at') . ") as year"))->where(FeedPost::getField('feed_id'), '=', $feed_id)->get(); }
public static function findExistsDates($feed_id) { $posts = Post::prepareQuery(2)->join(FeedPost::getTableName(), Post::getField("id"), '=', FeedPost::getField("post_id"))->where(FeedPost::getField("feed_id"), $feed_id)->where(PostLang::getField('enabled'), 1)->where(Post::getField('is_trash'), 0)->orderBy(DB::raw("DATE(" . Post::getField('created_at') . ")"), 'asc')->select(DB::raw("DATE(" . Post::getField('created_at') . ") as data"))->remember(SettingsModel::one('cachelife'))->get(); $dates = ['years' => [], 'months' => []]; foreach ($posts as $post) { $tmst = strtotime($post->data); $y = (int) date("Y", $tmst); $m = (int) date("m", $tmst); $d = (int) date("d", $tmst); $dates['years'][$y] = $y; if (isset($dates['months'][$y])) { if (isset($dates['months'][$y][$m])) { $dates['months'][$y][$m]++; } else { $dates['months'][$y][$m] = 1; } } else { $dates['months'][$y] = [$m => 1]; } } return $dates; }