query_vars['acos_css'] ) ) { $this->print_css(); exit; } } public function print_css(){ $colors = self::get_custom_colors(); if (empty($colors)) { exit; } if (isset($_GET['template']) && $_GET['template'] === 'true') { $colors = array('$1', '$2', '$3', '$4', '$5', '$6', '$7'); } $color_replacements = []; $counter = 0; $default_colors = self::get_default_colors(); foreach ((array)$default_colors as $dc) { $color_replacements[$dc] = $colors[$counter]; $counter++; } $input_css = ABSPATH . 'wp-admin/css/colors/blue/colors.min.css'; $css = file_get_contents($input_css); foreach ($color_replacements as $search => $replace) { $css = str_replace($search, $replace, $css); } header('Content-Type: text/css; charset=utf-8'); header('Cache-Control: public, max-age=31536000'); // 1 year cache echo wp_kses_post($css); } /** * Get the default colors from 'blue' color scheme * * $scheme-name: "blue"; * $base-color: #52accc; * $icon-color: #e5f8ff; * $highlight-color: #096484; * $notification-color: #e1a948; * $button-color: #e1a948; * * $menu-submenu-text: #e2ecf1; * $menu-submenu-focus-text: #fff; * $menu-submenu-background: #4796b3; * @return string[] */ public static function get_default_colors() { return array('#52accc', '#e5f8ff', '#096484', '#e1a948', '#e3af55', '#e2ecf1', '#4796b3'); } public function get_acos_css_url(){ return site_url() . '?acos_css'; } public function enqueue_dynamic_script() { if (!is_user_logged_in()) { return; } $userId = get_current_user_id(); if (!empty($userId)) { $version = get_user_meta($userId, self::$version_meta_key, true); if (!empty($version)) { wp_enqueue_style('acos-dynamic', $this->get_acos_css_url(), array(), $userId . '-' . $version); } } } public function enqueue_scripts($hook) { if ('profile.php' !== $hook && 'user-edit.php' !== $hook) return; wp_enqueue_style('wp-color-picker'); wp_enqueue_style('acos', plugin_dir_url(__FILE__) . 'css/acos.css', array(), self::$version); wp_enqueue_script('wp-color-picker'); wp_enqueue_script('acos', plugin_dir_url(__FILE__) . 'js/acos.js', array('jquery', 'wp-color-picker'), self::$version, true); wp_localize_script('acos', 'acos_data', array( 'security' => wp_create_nonce(self::$nonce_action), 'acos_css_template_url' => $this->get_acos_css_url() . '&template=true&v=' . self::$version, )); } public function add_color_scheme_field($user) { $color_scheme = get_user_meta($user->ID, self::$colors_meta_key, true); $has_custom_scheme = !empty($color_scheme); $colors = json_decode($color_scheme, true); if (!is_array($colors)) { $colors = ['', '', '', '', '', '', '']; } ?>