get(); $res = []; foreach ($all as $row) { $res[$row->name] = $row->val; } return $res; } public static function item($item, $default = false) { //$value = Cache::rememberForever('setting_' . $item, function () use ($item ,$default) { $val = Settings::where('name', $item)->first(); return ($val and $val['val'] != null) ? $val['val'] : $default; //}); //return $value; } public static function store($key,$data){ $check = Settings::where('name', $key)->first(); if($check){ $check->val = $data; $check->save(); }else{ $check = new self(); $check->val = $data; $check->name = $key; $check->save(); } Cache::forget('setting_' . $key); } public static function getSettingPages(){ $allSettings = [ 'company'=>[ "id" => "company", "title" => "Company Settings", "position" => 30, "view" => "Company::admin.settings.company", "keys" => [ "company_page_search_title", "company_list_layout", "single_company_layout", "company_sidebar_search_fields", "company_location_search_style", "company_page_list_seo_title", "company_page_list_seo_desc", "company_page_list_seo_image", "company_page_list_seo_share", "company_sidebar_cta", "enable_hide_email_company", "company_role", "company_auto_approved" ], "html_keys" => [] ], "job" => [ "id" => "job", "title" => "Job Settings", "position" => 30, "view" => "Job::admin.settings.job", "keys" => [ "job_page_search_title", "jobs_list_layout", "job_single_layout", "job_sidebar_search_fields", "job_banner_search_fields", "job_location_search_style", "job_page_list_seo_title", "job_page_list_seo_desc", "job_page_list_seo_image", "job_page_list_seo_share", "job_sidebar_cta", "job_require_plan", "job_hide_expired_jobs", "job_need_approve", "job_hide_job_apply", "job_company_max_post_jobs", ], "html_keys" => [] ], "candidate" => [ "id" => "candidate", "title" => "Candidate Settings", "position" => 30, "view" => "Candidate::admin.settings.candidate", "keys" => [ "candidate_page_search_title", "candidate_download_cv_required_login", "candidate_public_policy", "candidate_limit_apply_by", "candidate_maximum_job_apply", "candidates_list_layout", "single_candidate_layout", "candidate_sidebar_search_fields", "candidate_location_search_style", "candidate_page_list_seo_title", "candidate_page_list_seo_desc", "candidate_page_list_seo_image", "candidate_page_list_seo_share", "candidate_sidebar_cta", "candidate_single_layout", "candidate_list_layout" ], "html_keys" => [] ], 'email' => [ 'id' => 'email', 'title' => __("Email Settings"), 'position'=>50, 'view'=>"Email::admin.settings.email", "keys"=>[ 'email_driver', 'email_host', 'email_port', 'email_encryption', 'email_username', 'email_password', 'email_mailgun_domain', 'email_mailgun_secret', 'email_mailgun_endpoint', 'email_postmark_token', 'email_ses_key', 'email_ses_secret', 'email_ses_region', 'email_sparkpost_secret', 'email_footer', 'email_header', 'content_email_apply_job_submit', 'content_email_change_applicants_status', 'admin_email', 'email_from_name', 'email_from_address', ], 'html_keys'=>[ ] ], 'payout'=> [ 'id' => 'payout', 'title' => __("Payout Settings"), 'position' => 30, 'view'=>"Payout::admin.settings.payout", "keys"=>[ 'vendor_payout_methods', 'disable_payout', ], 'html_keys'=>[ ] ], 'advance'=>[ 'id' => 'advance', 'title' => __("Advance Settings"), 'position'=>80, 'view' => "Core::admin.settings.groups.advance", "keys" => [ 'map_provider', 'map_gmap_key', 'recaptcha_enable', 'recaptcha_api_key', 'recaptcha_api_secret' ] ], ]; //@todo Sort items by Position $allSettings = array_values(\Illuminate\Support\Arr::sort($allSettings, function ($value) { return $value['position'] ?? 0; })); if(!empty($allSettings)){ foreach ($allSettings as &$item) { $item['url'] = 'admin/jobportal/settings/index/'.$item['id']; $item['name'] = $item['title'] ?? $item['id']; $item['icon'] = $item['icon'] ?? ''; } } return $allSettings; } public static function clearCustomCssCache(){ $langs = Language::getActive(); if(!empty($langs)){ foreach ($langs as $lang) { Cache::forget("custom_css_".$lang->locale); } } } }