Exemplo n.º 1
0
/**
 * Get custom styles and store them in custom.css file or use inline css fallback
 * This function will be called by masterslider save handler
 *
 * @return void
 */
function msp_save_custom_styles()
{
    $uploads = wp_upload_dir();
    $css_dir = apply_filters('masterslider_custom_css_dir', $uploads['basedir'] . '/' . MSWP_SLUG);
    $css_file = $css_dir . '/custom.css';
    $css_terms = "/*\n===============================================================\n # CUSTOM CSS\n - Please do not edit this file. this file is generated by server-side code\n - Every changes here will be overwritten\n===============================================================*/\n\n";
    // Get all custom css styles
    $css = msp_get_all_custom_css();
    /**
     * Initialize the WP_Filesystem
     */
    global $wp_filesystem;
    if (empty($wp_filesystem)) {
        require_once ABSPATH . '/wp-admin/includes/file.php';
        WP_Filesystem();
    }
    if (wp_mkdir_p($css_dir) && !$wp_filesystem->put_contents($css_file, $css_terms . $css, 0644)) {
        // if the directory is not writable, try inline css fallback
        msp_update_option('custom_inline_style', $css);
        // save css rules as option to print as inline css
    } else {
        $custom_css_ver = msp_get_option('masterslider_custom_css_ver', '1.0');
        $custom_css_ver = (double) $custom_css_ver + 0.1;
        msp_update_option('masterslider_custom_css_ver', $custom_css_ver);
        // disable inline css output
        msp_update_option('custom_inline_style', '');
    }
}
 /**
  * Print custom styles in page header if inline custom css is set.
  */
 function inline_css_fallback()
 {
     $inline_css = msp_get_option('custom_inline_style', '');
     // if custom.css is not writable, print css styles in page header
     if (!empty($inline_css)) {
         if (current_user_can('manage_options')) {
             printf("<!-- Note for admin: The custom.css file in [%s] is not writeable, so masterslider uses inline css callback instead. -->\n", MSWP_AVERTA_URL . '/assets/custom.css');
         }
         printf("<style>%s</style>\n", $inline_css);
     }
     printf("<script>var ms_grabbing_curosr = '%s', ms_grab_curosr = '%s';</script>\n", MSWP_AVERTA_URL . '/public/assets/css/common/grabbing.cur', MSWP_AVERTA_URL . '/public/assets/css/common/grab.cur');
 }
Exemplo n.º 3
0
 /**
  * Print required variable for master slider panel
  */
 public function add_panel_variables()
 {
     $slider_skins = array(array('class' => 'ms-skin-default', 'label' => 'Default'), array('class' => 'ms-skin-light-2', 'label' => 'Light 2'), array('class' => 'ms-skin-light-3', 'label' => 'Light 3'), array('class' => 'ms-skin-light-4', 'label' => 'Light 4'), array('class' => 'ms-skin-light-5', 'label' => 'Light 5'), array('class' => 'ms-skin-light-6', 'label' => 'Light 6'), array('class' => 'ms-skin-light-6 round-skin', 'label' => 'Light 6 Round'), array('class' => 'ms-skin-contrast', 'label' => 'Contrast'), array('class' => 'ms-skin-black-1', 'label' => 'Black 1'), array('class' => 'ms-skin-black-2', 'label' => 'Black 2'), array('class' => 'ms-skin-black-2 round-skin', 'label' => 'Black 2 Round'), array('class' => 'ms-skin-metro', 'label' => 'Metro'));
     wp_localize_script('jquery', '__MSP_SKINS', apply_filters('masterslider_skins', $slider_skins));
     // get and print slider id
     if (isset($_REQUEST['slider_id'])) {
         $slider_id = $_REQUEST['slider_id'];
     } else {
         global $mspdb;
         $slider_id = 0;
         if (isset($_REQUEST['action']) && 'add' == $_REQUEST['action']) {
             $slider_id = $mspdb->add_slider(array('status' => 'draft'));
             wp_localize_script('jquery', '__MSP_SLIDER_ID', (string) $slider_id);
         }
     }
     // Get and print panel data
     if ($slider_id) {
         global $mspdb;
         $slider_data = $mspdb->get_slider($slider_id);
         $slider_type = isset($slider_data['type']) ? $slider_data['type'] : 'custom';
         $slider_type = empty($slider_type) ? 'custom' : $slider_type;
         $msp_data = isset($slider_data['params']) ? $slider_data['params'] : NULL;
         $msp_data = empty($slider_data['params']) ? NULL : $slider_data['params'];
         $msp_preset_style = msp_get_option('preset_style', NULL);
         $msp_preset_effect = msp_get_option('preset_effect', NULL);
         $msp_buttons_style = msp_get_option('buttons_style', NULL);
         $msp_preset_style = empty($msp_preset_style) ? NULL : $msp_preset_style;
         $msp_preset_effect = empty($msp_preset_effect) ? NULL : $msp_preset_effect;
         $msp_buttons_style = empty($msp_buttons_style) ? NULL : $msp_buttons_style;
         wp_localize_script('jquery', '__MSP_DATA', $msp_data);
         wp_localize_script('jquery', '__MSP_PRESET_STYLE', $msp_preset_style);
         wp_localize_script('jquery', '__MSP_PRESET_EFFECT', $msp_preset_effect);
         wp_localize_script('jquery', '__MSP_TYPE', $slider_type);
         wp_localize_script('jquery', '__MSP_PRESET_BUTTON', $msp_buttons_style);
     }
     // define panel directory path
     wp_localize_script('jquery', '__MSP_PATH', MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/');
     $slider_panel_default_setting = array('width' => 1000, 'height' => 500, 'autoCrop' => false, 'autoplay' => false, 'layout' => 'boxed', 'autoHeight' => false, 'transition' => 'basic', 'speed' => 20, 'className' => '', 'start' => 1, 'space' => 0, 'grabCursor' => true, 'swipe' => true, 'wheel' => false, 'mouse' => true, 'loop' => false, 'shuffle' => false, 'preload' => '-1', 'overPause' => true, 'endPause' => false, 'hideLayers' => false, 'dir' => 'h', 'parallaxMode' => 'swipe', 'centerControls' => true, 'instantShowLayers' => false, 'skin' => 'ms-skin-default', 'duration' => 3, 'slideFillMode' => 'fill', 'sliderVideoFillMode' => 'fill', 'slideVideoLoop' => true, 'slideVideoMute' => true, 'slideVideoAutopause' => false, 'layerContent' => 'Lorem Ipsum');
     wp_localize_script('jquery', '__MSP_DEF_OPTIONS', apply_filters('masterslider_panel_default_setting', $slider_panel_default_setting));
     do_action('masterslider_admin_add_panel_variables', $slider_type);
 }
 /**
  * Print required variable for master slider panel
  */
 public function add_panel_variables()
 {
     wp_localize_script('jquery', '__MSP_SKINS', msp_get_skins());
     global $mspdb;
     $slider_alias = '';
     // get and print slider id
     if (isset($_REQUEST['slider_id'])) {
         $slider_id = $_REQUEST['slider_id'];
     } else {
         $slider_id = 0;
         if (isset($_REQUEST['action']) && 'add' == $_REQUEST['action']) {
             $slider_id = $mspdb->add_slider(array('status' => 'draft'));
             wp_localize_script('jquery', '__MSP_SLIDER_ID', (string) $slider_id);
             $slider_alias = $mspdb->generate_slider_alias($slider_id);
             wp_localize_script('jquery', '__MSP_SLIDER_ALIAS', $slider_alias);
         }
     }
     // Get and print panel data
     if ($slider_id) {
         $slider_data = $mspdb->get_slider($slider_id);
         $slider_type = isset($slider_data['type']) ? $slider_data['type'] : 'custom';
         $slider_type = empty($slider_type) ? 'custom' : $slider_type;
         $msp_data = isset($slider_data['params']) ? $slider_data['params'] : NULL;
         $msp_data = empty($slider_data['params']) ? NULL : $slider_data['params'];
         $msp_preset_style = msp_get_option('preset_style', NULL);
         $msp_preset_effect = msp_get_option('preset_effect', NULL);
         $msp_buttons_style = msp_get_option('buttons_style', NULL);
         $msp_preset_style = empty($msp_preset_style) ? NULL : $msp_preset_style;
         $msp_preset_effect = empty($msp_preset_effect) ? NULL : $msp_preset_effect;
         $msp_buttons_style = empty($msp_buttons_style) ? NULL : $msp_buttons_style;
         if (empty($slider_alias)) {
             $slider_alias = isset($slider_data['alias']) && !empty($slider_data['alias']) ? $slider_data['alias'] : $mspdb->generate_slider_alias($slider_id);
             wp_localize_script('jquery', '__MSP_SLIDER_ALIAS', $slider_alias);
         }
         wp_localize_script('jquery', '__MSP_DATA', $msp_data);
         wp_localize_script('jquery', '__MSP_PRESET_STYLE', $msp_preset_style);
         wp_localize_script('jquery', '__MSP_PRESET_EFFECT', $msp_preset_effect);
         wp_localize_script('jquery', '__MSP_TYPE', $slider_type);
         wp_localize_script('jquery', '__MSP_PRESET_BUTTON', $msp_buttons_style);
     }
     // print essential variables (types, taxs, terms, template tags) for post slider in admin panel
     // since version 1.7
     if (isset($slider_type) && 'post' == $slider_type) {
         $defined_tags = msp_get_general_post_template_tags();
         $tags = array();
         foreach ($defined_tags as $defined_tag) {
             $tag_type = '_general' == $defined_tag['type'] ? 'general' : $defined_tag['type'];
             $tags[$tag_type][] = array('name' => $defined_tag['name'], 'label' => $defined_tag['label']);
         }
         // -- get post types, taxes and terms --
         $PS = msp_get_post_slider_class();
         $terms = $PS->get_tax_term_dictionary();
         // -------------------------------------
         //
         $js_data = array('types_taxs_terms' => $terms, 'content_tags' => $tags);
         wp_localize_script('jquery', '__MSP_POST', apply_filters('masterslider_post_slider_init_data', $js_data));
     }
     // print essential variables (types, taxs, terms, template tags) for woocommerce sliders in admin panel
     // since version 1.8
     if (isset($slider_type) && 'wc-product' == $slider_type) {
         // if woocommerce is installed and actived
         if (msp_is_plugin_active('woocommerce/woocommerce.php')) {
             // -- template tags --------------------
             $defined_tags = msp_get_general_post_template_tags();
             $woocomm_tags = msp_get_woocommerce_template_tags();
             $defined_tags = array_merge($defined_tags, $woocomm_tags);
             $tags = array();
             foreach ($defined_tags as $defined_tag) {
                 $tag_type = '_general' == $defined_tag['type'] ? 'general' : $defined_tag['type'];
                 $tags[$tag_type][] = array('name' => $defined_tag['name'], 'label' => $defined_tag['label']);
             }
             // -- get post types, taxes and terms --
             $WCS = msp_get_wc_slider_class();
             $terms = $WCS->get_tax_term_dictionary();
             // -------------------------------------
             $js_data = array('types_taxs_terms' => $terms, 'content_tags' => $tags);
             // if woocommerce is not activated
         } else {
             $js_data = null;
             $wc_installation_url = admin_url('plugin-install.php?tab=plugin-information&plugin=woocommerce&TB_iframe=true&width=600&height=550');
             wp_localize_script('jquery', '__WC_INSTALL_URL', $wc_installation_url);
         }
         wp_localize_script('jquery', '__MSP_POST', apply_filters('masterslider_wc_product_slider_init_data', $js_data));
     }
     // define panel directory path
     wp_localize_script('jquery', '__MSP_PATH', MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/');
     $slider_panel_default_setting = array('width' => 1000, 'height' => 500, 'autoCrop' => false, 'autoplay' => false, 'layout' => 'boxed', 'autoHeight' => false, 'transition' => 'basic', 'speed' => 20, 'className' => '', 'start' => 1, 'space' => 0, 'grabCursor' => true, 'swipe' => true, 'wheel' => false, 'mouse' => true, 'loop' => false, 'shuffle' => false, 'preload' => '-1', 'overPause' => true, 'endPause' => false, 'hideLayers' => false, 'dir' => 'h', 'parallaxMode' => 'swipe', 'centerControls' => true, 'instantShowLayers' => false, 'skin' => 'ms-skin-default', 'duration' => 3, 'slideFillMode' => 'fill', 'sliderVideoFillMode' => 'fill', 'slideVideoLoop' => true, 'slideVideoMute' => true, 'slideVideoAutopause' => false, 'layerContent' => 'Lorem Ipsum');
     wp_localize_script('jquery', '__MSP_DEF_OPTIONS', apply_filters('masterslider_panel_default_setting', $slider_panel_default_setting));
     do_action('masterslider_admin_add_panel_variables', $slider_type);
 }
Exemplo n.º 5
0
 /**
  * Get slider export data
  *
  * @param  int|array  $slider_id  the slider id(s)
  * @param  array      The other options that should be included in export data ( preset_styles, preset_effects )
  * @param  bool       $base64     encode output data to base64 or not
  * @return string     the slider export data
  */
 function get_slider_export_data($slider_ids = array(), $args = null, $base64 = true)
 {
     $slider_ids = (array) $slider_ids;
     $args = (array) $args;
     // stores export data
     $export_data = array();
     $export_data['sliders_data'] = array();
     // loop through selected sliders and store in sliders_data
     foreach ($slider_ids as $slider_id) {
         if (is_numeric($slider_id)) {
             global $mspdb;
             $slider_title = $mspdb->get_slider_field_val($slider_id, 'title');
             $slider_alias = $mspdb->get_slider_field_val($slider_id, 'alias');
             $slider_params = $mspdb->get_slider_field_val($slider_id, 'params');
             $slider_type = $mspdb->get_slider_field_val($slider_id, 'type');
             $slides_num = $mspdb->get_slider_field_val($slider_id, 'slides_num');
             $export_data['sliders_data'][$slider_id] = array('title' => $slider_title, 'alias' => $slider_alias, 'params' => $slider_params, 'type' => $slider_type, 'slides_num' => $slides_num);
         }
     }
     // add origin_uploads_url to export data - this helps us to fetch images from origin domian
     // if you need to bundle sample sliders in your theme you can change the origin_uploads_url
     // by default origin_uploads_url is the uploads baseurl on domain you exported the sliders from (e.g www.domain.com/wp-content/uploads)
     // when you decide to import data to new domain, importer will use the origin_uploads_url to fetch images from.
     // you can change origin_uploads_url by using 'masterslider_export_origin_uploads_url' filter
     // if you change origin_uploads_url to something else, importer will import slider images
     // from your custom origin_uploads_url instead of default origin_uploads_url
     $custom_export_origin_uploads_url = apply_filters('masterslider_export_origin_uploads_url', null);
     // if filter passed empty string, origin_uploads_url will be plugins/masterslider/samples folder
     if ('' === $custom_export_origin_uploads_url) {
         $export_data['origin_uploads_url'] = '{{masterslider}}/samples';
         // if filter passed a string with our special tags :
     } elseif (false !== strpos($custom_export_origin_uploads_url, '{{masterslider}}') || false !== strpos($custom_export_origin_uploads_url, '{{theme_dir}}') || false !== strpos($custom_export_origin_uploads_url, '{{child_theme_dir}}')) {
         $export_data['origin_uploads_url'] = $custom_export_origin_uploads_url;
         // if filter value not changed use upload baseurl for current domain
     } else {
         $uploads = wp_upload_dir();
         $export_data['origin_uploads_url'] = $uploads['baseurl'];
     }
     $export_data['preset_styles'] = in_array('preset_styles', $args) ? msp_get_option('preset_style', '') : '';
     $export_data['preset_effects'] = in_array('preset_effects', $args) ? msp_get_option('preset_effect', '') : '';
     $export_data['buttons_style'] = in_array('buttons_style', $args) ? msp_get_option('buttons_style', '') : '';
     $export_json_data = json_encode($export_data);
     $export_b64_data = base64_encode($export_json_data);
     if ($base64) {
         return $export_b64_data;
     }
     return $export_data;
 }