/** * Skin Generator */ function spyropress_skin_generator() { // Security check_ajax_referer('skin_generator_form', 'skin_generator_nonce'); $name = $_POST['skin_name']; $color = $_POST['skin_color']; $gradient = $_POST['skin_gradient']; if (empty($name) || empty($color)) { die; } // generate filename $filename = spyropress_uglify($name); $skin = template_path() . 'assets/less/skin.less'; $css = template_path() . 'assets/css/skins/' . $filename . '.css'; // Delte previous file if (file_exists($css)) { unlink($css); } // LESS require framework_classes() . 'class-lessc.php'; $less = new lessc(); $less->setFormatter('compressed'); $less->setVariables(array('skinColor' => spyropress_validate_setting($color, 'colorpicker', 'skin_color', array()), 'gradient' => $gradient)); $result = $less->compileFile($skin, $css); if ($result) { $skins = get_option('_spyropress_porto_skins'); $skins = $skins ? $skins : array(); $skins[$filename] = array('name' => $name, 'color' => $color, 'gradient' => $gradient); update_option('_spyropress_porto_skins', $skins); } // Refresh page echo 'window.location = "' . $_SERVER['HTTP_REFERER'] . '";'; // Exit die; }
/** * Add MetaBoxes to the post type */ public function add_meta_box($id, $title = '', $fields = array(), $meta_key = false, $build_tabs = true, $context = 'normal', $priority = 'default') { // checks if (empty($id)) { return; } $title = empty($title) ? $id : $title; // Meta variables $box_id = spyropress_uglify($id); $box_title = spyropress_beautify($title); $box_context = $context; $box_priority = $priority; $args = array('id' => $box_id, 'title' => $box_title, 'context' => $context, 'priority' => $priority, 'meta_key' => $meta_key, 'build_tabs' => $build_tabs, 'post_type_slug' => $this->slug, 'fields' => $fields); $this->meta_boxes[$id] = $args; }