['System\Models\File'] ]; // Pumpkin const PRIMARY_LIGHT = '#e67e22'; // Carrot const PRIMARY_DARK = '#d35400'; // Wet Asphalt const SECONDARY_LIGHT = '#34495e'; // Midnight Blue const SECONDARY_DARK = '#2b3e50'; /** * Validation rules */ public $rules = [ 'app_name' => 'required', 'app_tagline' => 'required', ]; public function initSettingsData() { $this->app_name = Lang::get('system::lang.app.name'); $this->app_tagline = Lang::get('system::lang.app.tagline'); $this->primary_color_light = self::PRIMARY_LIGHT; $this->primary_color_dark = self::PRIMARY_DARK; $this->secondary_color_light = self::SECONDARY_LIGHT; $this->secondary_color_dark = self::SECONDARY_DARK; } public function beforeValidate() { $this->rendered_css = self::renderCss(); } public static function getLogo() { $settings = self::instance(); if (!$settings->logo) { return null; } return $settings->logo->getPath(); } public static function renderCss() { $parser = new Less_Parser(['compress' => true]); $parser->ModifyVars([ 'logo-image' => "'".self::getLogo()."'", 'primary-color-light' => self::get('primary_color_light', self::PRIMARY_LIGHT), 'primary-color-dark' => self::get('primary_color_dark', self::PRIMARY_DARK), 'secondary-color-light' => self::get('secondary_color_light', self::SECONDARY_LIGHT), 'secondary-color-dark' => self::get('secondary_color_dark', self::SECONDARY_DARK), ]); $parser->parse( File::get(PATH_BASE.'/modules/backend/models/brandsettings/custom.less') . self::get('custom_css') ); $css = $parser->getCss(); return $css; } }