public function getByLabel($label) { $theme = \Theme::where('label', '=', $label)->first(); if (!empty($theme)) { return $theme->toArray(); } return $theme; }
public function installTheme($name) { $is_installed = Theme::where('name', '=', $name)->get() == NULL; if ($is_installed) { return Redirect::back()->with(['notice' => 'Theme is already installed']); } $theme = new Theme(); $theme->name = $name; $theme->path = "assets/themes/{$name}"; $theme->active = false; $theme->save(); return Redirect::back()->with(['notice' => 'Bootstrap Theme Updated']); }
public static function activeTheme() { return Theme::where('active', '=', '1')->first(); }
/** * post All Option in base * * @return Response */ public function postOption() { //Making adaptive rules for site_name $site_name_rules = array(); $site_name_locales = array(); foreach (Input::all() as $k => $v) { if (strpos($k, 'site_name_') !== false) { $site_name_rules[$k] = Config::get('validator.admin.option_site_name'); $site_name_locales[] = mb_substr($k, strlen('site_name_'), strlen($k) - strpos($k, 'site_name_')); } } //Making adaptive rules for social_title $social_title_rules = array(); $social_title_locales = array(); foreach (Input::all() as $k => $v) { if (strpos($k, 'social_title_') !== false) { $social_title_rules[$k] = Config::get('validator.admin.option_social_title'); $social_title_locales[] = mb_substr($k, strlen('social_title_'), strlen($k) - strpos($k, 'social_title_')); } } //Making adaptive rules for social_description $social_description_rules = array(); $social_description_locales = array(); foreach (Input::all() as $k => $v) { if (strpos($k, 'social_description_') !== false) { $social_description_rules[$k] = Config::get('validator.admin.option_social_description'); $social_description_locales[] = mb_substr($k, strlen('social_description_'), strlen($k) - strpos($k, 'social_description_')); } } $rules = array_merge($site_name_rules, $social_title_locales, $social_description_locales, Config::get('validator.admin.option')); // Validate the inputs $validator = Validator::make(Input::all(), $rules); // Check if the form validates with success if ($validator->passes()) { //Themes $activeThemePublic = Theme::where('type', 'public')->where('active', 1)->first(); $activeThemeAdmin = Theme::where('type', 'admin')->where('active', 1)->first(); //Change or not? if ($activeThemePublic->id != Input::get('theme_public')) { $activeThemePublic->active = false; $activeThemePublic->save(); $newThemePublic = Theme::find(Input::get('theme_public')); $newThemePublic->active = true; $newThemePublic->save(); } if ($activeThemeAdmin->id != Input::get('theme_admin')) { $activeThemeAdmin->active = false; $activeThemeAdmin->save(); $newThemeAdmin = Theme::find(Input::get('theme_public')); $newThemeAdmin->active = true; $newThemeAdmin->save(); } //Delete Cache Cache::forget('DB_ThemeByType'); //Options $options = Option::all(); foreach ($options as $option) { if ($option->key == "site_url") { $option->value = Input::get('site_url'); } if ($option->key == "cover_path") { $option->value = Input::get('cover_path'); } if ($option->key == "admin_email") { $option->value = Input::get('admin_email'); } if ($option->key == "analytics") { $option->value = Input::get('analytics'); } if ($option->key == "i18n_site_name") { //Update translations foreach ($site_name_locales as $locale) { if (!I18n::find($option->value)->updateText($locale, Input::get('site_name_' . $locale))) { return Redirect::to('admin/option')->with('error', Lang::get('admin.option_site_name_update_error')); } } } if ($option->key == "i18n_social_title") { //Update translations foreach ($social_title_locales as $locale) { if (!I18n::find($option->value)->updateText($locale, Input::get('social_title_' . $locale))) { return Redirect::to('admin/option')->with('error', Lang::get('admin.option_social_title_update_error')); } } } if ($option->key == "i18n_social_description") { //Update translations foreach ($social_description_locales as $locale) { if (!I18n::find($option->value)->updateText($locale, Input::get('social_description_' . $locale))) { return Redirect::to('admin/option')->with('error', Lang::get('admin.option_social_description_update_error')); } } } $option->save(); } // Clear cache Cache::forget('options'); //track user parent::track('update', 'Option', null); return Redirect::to('admin/option')->with('success', Lang::get('admin.option_success')); } // Show the page return Redirect::to('/admin/option')->withInput()->withErrors($validator); }