/home/techb158/ileadtechnology.com/SSM/app/Repositories/frontend
NameSizeModeActions
BlockRepository.php77150644editdlrm
FrontendRepository.php81310644editdlrm
MenuRepository.php94610644editdlrm
PageRepository.php89040644editdlrm
Edit: /home/techb158/ileadtechnology.com/SSM/app/Repositories/frontend/FrontendRepository.php (8131B)
article_type = $article_type; $this->menu = $menu; $this->block = $block; $this->article = $article; $this->event = $event; $this->designation = $designation; $this->employee = $employee; $this->holiday = $holiday; $this->academic_session = $academic_session; $this->course_group = $course_group; $this->custom_field = $custom_field; } /** * Get all menu list ordered by position. * * @return Menu */ public function listMenu() { return $this->menu->info()->mainMenu()->headerOrFooterMenu()->orderBy('position', 'asc')->get(); } /** * Find page with given slug or throw an error. * * @param string $slug * @return Page */ public function getPageContent($slug, $field = 'message') { $menu = $this->menu->filterBySlug($slug)->first(); if (!$menu) { throw ValidationException::withMessages([$field => trans('frontend.could_not_find_page')]); } $page = $menu->Page; if (!$page || optional($page)->is_draft) { throw ValidationException::withMessages([$field => trans('frontend.could_not_find_page')]); } return $page; } /** * Get all block list order by position * * @return Block */ public function listBlock() { return $this->block->info()->filterByIsDraft(0)->orderBy('position', 'asc')->get(); } /** * Get block. * * @return Block */ public function getBlock($uuid) { $block = $this->block->filterByUuid($uuid)->filterByIsDraft(0)->first(); if (!$block) { throw ValidationException::withMessages(['message' => trans('post.could_not_find_block')]); } return $block; } /** * Get article list. * * @return Array */ public function paginateArticle($params = array()) { $page_length = gv($params, 'page_length', config('config.page_length')); $article_type_id = gv($params, 'article_type_id'); return $this->article->with(['user:id', 'user.employee:id,user_id,first_name,middle_name,last_name,photo', 'user.employee.employeeDesignations:id,employee_id,designation_id,date_effective,date_end', 'user.employee.employeeDesignations.designation:id,name,employee_category_id', 'user.employee.employeeDesignations.designation.employeeCategory:id,name', 'articleType'])->filterByArticleTypeId($article_type_id)->filterByPublic()->orderBy('date_of_article', 'desc')->paginate($page_length); } /** * Get article type list. * * @return Array */ public function listArticleTypes() { return $this->article_type->all()->pluck('name', 'id')->all(); } /** * Get article list. * * @return Array */ public function listArticle() { $article_types = $this->article_type->get(); $articles = array(); foreach ($article_types as $article_type) { $articles[$article_type->name] = $this->article->with('articleType')->filterByArticleTypeId($article_type->id)->filterByPublic()->latest()->take(5)->get(); } return $articles; } /** * Get article. * * @return Article */ public function getArticle($uuid) { // $page = $this->getPageContent('articles'); $article = $this->article->with(['user:id', 'user.employee:id,user_id,first_name,middle_name,last_name,photo', 'user.employee.employeeDesignations:id,employee_id,designation_id,date_effective,date_end', 'user.employee.employeeDesignations.designation:id,name,employee_category_id', 'user.employee.employeeDesignations.designation.employeeCategory:id,name', 'articleType'])->filterByUuid($uuid)->filterByPublic()->first(); if (!$article) { throw ValidationException::withMessages(['message' => trans('post.could_not_find_article')]); } return $article; } /** * Get event list. * * @return Event */ public function listEvent() { return $this->event->with('eventType')->filterByAudience('everyone')->upcomingAndLive()->orderBy('start_date','asc')->take(5)->get(); } /** * Get event list. * * @return Array */ public function paginateEvent($params = array()) { $page_length = gv($params, 'page_length', config('config.page_length')); return $this->event->with('eventType')->upcomingAndLive()->orderBy('start_date', 'asc')->paginate($page_length); } /** * Get event. * * @return Event */ public function getEvent($uuid) { // $page = $this->getPageContent('events'); $query = $this->event->info()->filterByUuid($uuid)->upcomingAndLive(); if (!\Auth::check()) { $query->filterByAudience('everyone'); } $event = $query->first(); if (!$event) { throw ValidationException::withMessages(['message' => trans('calendar.could_not_find_event')]); } return $event; } /** * Get teacher list. * * @return Employee */ public function listTeacher() { $page = $this->getPageContent('teachers'); $designations = $this->designation->filterByIsTeachingEmployee(1)->get(); $columns = ['id', 'first_name', 'middle_name', 'last_name', 'photo']; if (config('config.show_teacher_contact_number')) { array_push($columns, 'contact_number'); } if (config('config.show_teacher_email')) { array_push($columns, 'email'); } $teachers = array(); foreach ($designations as $designation) { $query = $this->employee->select($columns)->with('employeeDesignations:id,employee_id,designation_id,date_effective,date_end', 'employeeDesignations.designation:id,name,employee_category_id', 'employeeDesignations.designation.employeeCategory:id,name', 'employeeTerms:id,date_of_joining,employee_id'); $query->whereHas('employeeDesignations', function ($q) use ($designation) { $q->where('date_effective', '<=', date('Y-m-d'))->where(function ($q1) { $q1->where('date_end', '=', null)->orWhere(function ($q2) { $q2->where('date_end', '!=', null)->where('date_end', '>=', date('Y-m-d')); }); })->where('designation_id', $designation->id); }); $teachers[$designation->name] = $query->get(); } return compact('teachers'); } /** * Get calendar event list. * * @return Array */ public function getCalendarEvent() { $holidays = $this->holiday->all(); $events = $this->event->filterByAudience('everyone')->get(); return compact('holidays', 'events'); } /** * Get online registration pre requisite * @return array */ public function getOnlineRegistrationPreRequisite() { $academic_session = $this->academic_session->whereIsDefault(1)->first(); $list = getVar('list'); $genders = generateTranslatedSelectOption(isset($list['gender']) ? $list['gender'] : []); $guardian_relations = generateTranslatedSelectOption(isset($list['relations']) ? $list['relations'] : []); if (!$academic_session) { $courses = array(); return compact('courses', 'genders','guardian_relations'); } $courses = $this->course_group->getCourseOptionWithDetail($academic_session->id); $custom_fields = $this->custom_field->listAllByForm('student_online_registration'); return compact('courses', 'genders', 'custom_fields', 'guardian_relations'); } }