/home/techb158/immovalet.com/platform/plugins/blog/src/Http/Controllers
NameSizeModeActions
API/-0755rm
CategoryController.php91780644editdlrm
PostController.php65970644editdlrm
PublicController.php31810644editdlrm
TagController.php46770644editdlrm
Edit: /home/techb158/immovalet.com/platform/plugins/blog/src/Http/Controllers/PostController.php (6597B)
postRepository = $postRepository; $this->tagRepository = $tagRepository; $this->categoryRepository = $categoryRepository; } /** * @param PostTable $dataTable * @return Factory|View * @throws Throwable */ public function index(PostTable $dataTable) { page_title()->setTitle(trans('plugins/blog::posts.menu_name')); return $dataTable->renderTable(); } /** * @param FormBuilder $formBuilder * @return string */ public function create(FormBuilder $formBuilder) { page_title()->setTitle(trans('plugins/blog::posts.create')); return $formBuilder->create(PostForm::class)->renderForm(); } /** * @param PostRequest $request * @param StoreTagService $tagService * @param StoreCategoryService $categoryService * @param BaseHttpResponse $response * @return BaseHttpResponse */ public function store( PostRequest $request, StoreTagService $tagService, StoreCategoryService $categoryService, BaseHttpResponse $response ) { /** * @var Post $post */ $post = $this->postRepository->createOrUpdate(array_merge($request->input(), [ 'author_id' => Auth::id(), 'author_type' => User::class, ])); event(new CreatedContentEvent(POST_MODULE_SCREEN_NAME, $request, $post)); $tagService->execute($request, $post); $categoryService->execute($request, $post); return $response ->setPreviousUrl(route('posts.index')) ->setNextUrl(route('posts.edit', $post->id)) ->setMessage(trans('core/base::notices.create_success_message')); } /** * @param int $id * @param FormBuilder $formBuilder * @param Request $request * @return string */ public function edit($id, FormBuilder $formBuilder, Request $request) { $post = $this->postRepository->findOrFail($id); event(new BeforeEditContentEvent($request, $post)); page_title()->setTitle(trans('plugins/blog::posts.edit') . ' "' . $post->name . '"'); return $formBuilder->create(PostForm::class, ['model' => $post])->renderForm(); } /** * @param int $id * @param PostRequest $request * @param StoreTagService $tagService * @param StoreCategoryService $categoryService * @param BaseHttpResponse $response * @return BaseHttpResponse */ public function update( $id, PostRequest $request, StoreTagService $tagService, StoreCategoryService $categoryService, BaseHttpResponse $response ) { $post = $this->postRepository->findOrFail($id); $post->fill($request->input()); $this->postRepository->createOrUpdate($post); event(new UpdatedContentEvent(POST_MODULE_SCREEN_NAME, $request, $post)); $tagService->execute($request, $post); $categoryService->execute($request, $post); return $response ->setPreviousUrl(route('posts.index')) ->setMessage(trans('core/base::notices.update_success_message')); } /** * @param int $id * @param Request $request * @return BaseHttpResponse */ public function destroy($id, Request $request, BaseHttpResponse $response) { try { $post = $this->postRepository->findOrFail($id); $this->postRepository->delete($post); event(new DeletedContentEvent(POST_MODULE_SCREEN_NAME, $request, $post)); return $response ->setMessage(trans('core/base::notices.delete_success_message')); } catch (Exception $exception) { return $response ->setError() ->setMessage($exception->getMessage()); } } /** * @param Request $request * @param BaseHttpResponse $response * @return BaseHttpResponse * @throws Exception */ public function deletes(Request $request, BaseHttpResponse $response) { return $this->executeDeleteItems($request, $response, $this->postRepository, POST_MODULE_SCREEN_NAME); } /** * @param Request $request * @param BaseHttpResponse $response * @return BaseHttpResponse * @throws Throwable */ public function getWidgetRecentPosts(Request $request, BaseHttpResponse $response) { $limit = (int)$request->input('paginate', 10); $posts = $this->postRepository->advancedGet([ 'with' => ['slugable'], 'order_by' => ['created_at' => 'desc'], 'paginate' => [ 'per_page' => $limit, 'current_paged' => (int)$request->input('page'), ], ]); return $response ->setData(view('plugins/blog::posts.widgets.posts', compact('posts', 'limit'))->render()); } }