public function postChangefeed() { User::onlyHas('feed-edit'); $id = Input::get('id'); $fields = Input::get('addfields'); $exists = []; foreach (FeedField::get_($id) as $field) { $exists[$field->id] = $field; } // Insert inexistent fields foreach ($fields as $fieldId) { if (isset($exists[$fieldId]) == FALSE) { $newField = new FeedRel(); $newField->feed_id = $id; $newField->feed_field_id = $fieldId; $newField->save(); } } // Delete Existent fields foreach ($exists as $field) { if (in_array($field->id, $fields) == FALSE) { FeedRel::where('feed_field_id', $field->id)->where('feed_id', $id)->delete(); FeedFieldValue::where('feed_field_id', $field->id)->whereIn('post_id', function ($query) use($id) { $query->select(FeedPost::getField('post_id'))->from(FeedPost::getTableName())->where('feed_id', $id); })->delete(); } } return Illuminate\Support\Facades\Redirect::back(); }
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; }