예제 #1
0
function theme_integration_shortcode($atts)
{
    $current_mode = get_real_integration_mode();
    if (current_user_can("delete_private_products") && !is_advanced_mode_forced()) {
        $args = shortcode_atts(array('class' => 'relative-box'), $atts);
        $class = esc_attr($args['class']);
        $box_content = '<h4>' . __('Advanced Mode Test', 'al-ecommerce-product-catalog') . '</h4>';
        $box_content .= '<script>jQuery(window).scroll( function() { if (isScrolledIntoView(".relative-box")) {jQuery(".fixed-box").hide("slow");}
else {jQuery(".fixed-box").show("slow");}});
function isScrolledIntoView(elem)
{
    var docViewTop = jQuery(window).scrollTop();
    var docViewBottom = docViewTop + jQuery(window).height();
    var elemTop = jQuery(elem).offset().top;
    var elemBottom = elemTop + jQuery(elem).height();
    return ((docViewTop < elemTop) && (docViewBottom > elemBottom));
//    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}</script>';
        if (!isset($_GET['test_advanced'])) {
            $box_content .= '<p>' . __('eCommerce Product Catalog is currently running in Simple Mode.', 'al-ecommerce-product-catalog') . '</p>';
            $box_content .= '<p>' . __('In Simple Mode the product listing, product search and category pages are disabled (please read this Sample Product Page to fully understand the difference).', 'al-ecommerce-product-catalog') . '</p>';
            $box_content .= '<p>' . __('Please use the button below to check out how the product page looks in Automatic Advanced Mode.', 'al-ecommerce-product-catalog') . '</p>';
            $box_content .= '<p class="wp-core-ui"><a href="' . add_query_arg('test_advanced', '1') . '" class="button-primary">' . __('Start Advanced Mode Test', 'al-ecommerce-product-catalog') . '</a><a href="' . add_query_arg('test_advanced', 'simple') . '" class="button-secondary">' . __('Use Simple Mode', 'al-ecommerce-product-catalog') . '</a></p>';
            if ($current_mode == 'simple') {
                return '<div class="' . $class . '">' . implecode_info($box_content, 0) . '</div>';
            }
        } else {
            if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 1) {
                $box_content .= '<p>' . __('Advanced Mode is temporary enabled for this page now.', 'al-ecommerce-product-catalog') . '</p>';
                $box_content .= '<p>' . __('Please use the buttons below to let the script know if the Automatic Advanced Integration is done right.', 'al-ecommerce-product-catalog') . '</p>';
                $box_content .= '<p>' . __('Is everything looking fine, without design break and correct sidebar position?', 'al-ecommerce-product-catalog') . '</p>';
                $box_content .= '<p class="wp-core-ui"><a href="' . add_query_arg('test_advanced', 'ok') . '" class="button-primary">' . __('It\'s Fine', 'al-ecommerce-product-catalog') . '</a><a href="' . add_query_arg('test_advanced', 'bad') . '" class="button-secondary">' . __('It\'s Broken', 'al-ecommerce-product-catalog') . '</a></p>';
                return '<div class="' . $class . '">' . implecode_info($box_content, 0) . '</div>';
            } else {
                if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 'bad') {
                    $box_content .= '<p>' . __('It seems that Manual Theme Integration is needed in order to use Advanced Mode with your current theme.', 'al-ecommerce-product-catalog') . '</p>';
                    $box_content .= '<h4>' . __('You Have 3 choices', 'al-ecommerce-product-catalog') . ':</h4>';
                    $box_content .= '<ol>';
                    $box_content .= '<li>' . __('Get the Manual Theme Integration done.', 'al-ecommerce-product-catalog') . '</li>';
                    $box_content .= '<li>' . __('Keep using Simple Mode which is still functional.', 'al-ecommerce-product-catalog') . '</li>';
                    $box_content .= '<li>' . __('Switch the theme.', 'al-ecommerce-product-catalog') . '</li>';
                    $box_content .= '</ol>';
                    $box_content .= '<p>' . __('Please make your choice below or switch the theme.', 'al-ecommerce-product-catalog') . '</p>';
                    $box_content .= '<p class="wp-core-ui"><a target="_blank" href="http://implecode.com/wordpress/product-catalog/theme-integration-guide/#cam=simple-mode&key=integration-advanced-fail" class="button-primary">' . __('Free Theme Integration Guide', 'al-ecommerce-product-catalog') . '</a><a href="' . add_query_arg('test_advanced', 'simple') . '" class="button-secondary">' . __('Use Simple Mode', 'al-ecommerce-product-catalog') . '</a></p>';
                    enable_simple_mode();
                    return '<div class="' . $class . '">' . implecode_warning($box_content, 0) . '</div>';
                } else {
                    if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 'ok') {
                        $box_content .= '<p>' . __('Congratulations! eCommerce Product Catalog is working on Advanced Mode now. You can go to admin and add the products to the catalog.', 'al-ecommerce-product-catalog') . '</p>';
                        $box_content .= '<p>' . __('If you are a developer or would like to have full control on the product pages templates we still recommend to proceed with manual integration.', 'al-ecommerce-product-catalog') . '</p>';
                        $box_content .= '<p>' . __('You can switch between modes at any time in Product Settings.', 'al-ecommerce-product-catalog') . '</p>';
                        $box_content .= '<p class="wp-core-ui"><a href="' . admin_url() . '" class="button-primary">' . __('Go to Admin', 'al-ecommerce-product-catalog') . '</a><a target="_blank" href="http://implecode.com/wordpress/product-catalog/theme-integration-guide/#cam=advanced-mode&key=integration-advanced-success" class="button-secondary">' . __('Free Theme Integration Guide', 'al-ecommerce-product-catalog') . '</a></p>';
                        enable_advanced_mode();
                        return '<div class="' . $class . '">' . implecode_success($box_content, 0) . '</div>';
                    } else {
                        if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 'simple') {
                            $box_content .= '<p>' . __('You are using simple mode now.', 'al-ecommerce-product-catalog') . '</p>';
                            $box_content .= '<p>' . __('You can switch between modes at any time in Product Settings.', 'al-ecommerce-product-catalog') . '</p>';
                            $box_content .= '<p>' . __('Use the buttons below to try the advanced integration again or go to admin and start adding your products.', 'al-ecommerce-product-catalog') . '</p>';
                            $box_content .= '<p class="wp-core-ui"><a href="' . admin_url() . '" class="button-primary">' . __('Go to Admin', 'al-ecommerce-product-catalog') . '</a><a href="' . add_query_arg('test_advanced', '1') . '" class="button-secondary">' . __('Restart Advanced Mode Test', 'al-ecommerce-product-catalog') . '</a></p>';
                            enable_simple_mode();
                            return '<div class="' . $class . '">' . implecode_success($box_content, 0) . '</div>';
                        }
                    }
                }
            }
        }
    }
}
예제 #2
0
/**
 * Shows theme intagration wizard
 *
 * @param type $atts
 */
function theme_integration_wizard($atts)
{
    $current_mode = get_real_integration_mode();
    if (is_ic_integration_wizard_page()) {
        $args = shortcode_atts(array('class' => 'fixed-box'), $atts);
        $class = esc_attr($args['class']);
        $box_content = '<h4>' . __('Advanced Mode Test', 'ecommerce-product-catalog') . '</h4>';
        /* $box_content .= '<script>jQuery(window).scroll( function() { if (isScrolledIntoView(".relative-box")) {jQuery(".fixed-box").hide("slow");}
        	  else {jQuery(".fixed-box").show("slow");}});
        	  function isScrolledIntoView(elem)
        	  {
        	  var docViewTop = jQuery(window).scrollTop();
        	  var docViewBottom = docViewTop + jQuery(window).height();
        	  var elemTop = jQuery(elem).offset().top;
        	  var elemBottom = elemTop + jQuery(elem).height();
        	  return ((docViewTop < elemTop) && (docViewBottom > elemBottom));
        	  //    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
        	  }</script>'; */
        if (!isset($_GET['test_advanced'])) {
            $box_content .= '<p>' . __('eCommerce Product Catalog is currently running in Simple Mode.', 'ecommerce-product-catalog') . '</p>';
            $box_content .= '<p>' . __('In Simple Mode the product listing, product search and category pages are disabled (please read this Sample Product Page to fully understand the difference).', 'ecommerce-product-catalog') . '</p>';
            $box_content .= '<p>' . __('Please use the button below to check out how the product page looks in Automatic Advanced Mode.', 'ecommerce-product-catalog') . '</p>';
            $box_content .= '<p class="wp-core-ui"><a href="' . esc_url(add_query_arg('test_advanced', '1')) . '" class="button-primary">' . __('Start Advanced Mode Test', 'ecommerce-product-catalog') . '</a><a href="' . esc_url(add_query_arg('test_advanced', 'simple')) . '" class="button-secondary">' . __('Use Simple Mode', 'ecommerce-product-catalog') . '</a></p>';
            if ($current_mode == 'simple') {
                echo '<div id="integration_wizard" class="' . $class . '">' . implecode_info($box_content, 0) . '</div>';
            }
        } else {
            if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 1) {
                $box_content .= '<style>#integration_wizard.fixed-box {opacity: 0.8;}#integration_wizard.fixed-box:hover {opacity: 1;}</style>';
                $box_content .= '<p>' . __('Advanced Mode is temporary enabled for this page now.', 'ecommerce-product-catalog') . '</p>';
                //$box_content .= '<p>' . __( 'Please use the buttons below to let the script know if the Automatic Advanced Integration is done right.', 'ecommerce-product-catalog' ) . '</p>';
                $box_content .= '<p style="margin-bottom: 0">' . __('Make some adjustments if necessary (you can change it at any time later)', 'ecommerce-product-catalog') . ':</p>';
                $box_content .= '<table class="styling-adjustments">';
                $integration_settings = get_integration_settings();
                $box_content .= implecode_settings_number(__('Width', 'ecommerce-product-catalog'), 'container_width', $integration_settings['container_width'], '%', 0, null, null, 0);
                $box_content .= implecode_settings_text_color(__('Background', 'ecommerce-product-catalog'), 'container_bg', $integration_settings['container_bg'], null, 0, null, '{change: function(event, ui){ var hexcolor = jQuery( this ).wpColorPicker( "color" ); jQuery("#container").css("background", hexcolor); jQuery("#container").css("overflow", "hidden"); jQuery("#container").css("width", jQuery("input[name=\\"container_width\\"]").val()+"%");}}');
                $box_content .= implecode_settings_number(__('Padding', 'ecommerce-product-catalog'), 'container_padding', $integration_settings['container_padding'], 'px', 0, null, null, 0);
                if (!defined('AL_SIDEBAR_PLUGIN_BASE_PATH')) {
                    $box_content .= implecode_settings_radio(__('Default Sidebar', 'ecommerce-product-catalog'), 'default_sidebar', $integration_settings['default_sidebar'], array('none' => __('Disabled', 'ecommerce-product-catalog'), 'left' => __('Left', 'ecommerce-product-catalog'), 'right' => __('Right', 'ecommerce-product-catalog')), 0);
                    if ($integration_settings['default_sidebar'] == 'none') {
                        $box_content .= '<style>#catalog_sidebar {display: none;}</style>';
                    }
                }
                $box_content .= implecode_settings_checkbox(__('Disable breadcrumbs', 'ecommerce-product-catalog'), 'disable_breadcrumbs', $integration_settings['disable_breadcrumbs'], 0);
                $box_content .= implecode_settings_checkbox(__('Disable Name', 'ecommerce-product-catalog'), 'disable_name', $integration_settings['disable_name'], 0);
                $box_content .= implecode_settings_checkbox(__('Disable Image', 'ecommerce-product-catalog'), 'disable_image', $integration_settings['disable_image'], 0);
                $box_content .= implecode_settings_checkbox(__('Disable Price', 'ecommerce-product-catalog'), 'disable_price', $integration_settings['disable_price'], 0);
                $box_content .= implecode_settings_checkbox(__('Disable Shipping', 'ecommerce-product-catalog'), 'disable_shipping', $integration_settings['disable_shipping'], 0);
                $box_content .= implecode_settings_checkbox(__('Disable Attributes', 'ecommerce-product-catalog'), 'disable_attributes', $integration_settings['disable_attributes'], 0);
                $box_content .= '</table>';
                $box_content .= '<style>#integration_wizard .al-box table tbody, #integration_wizard .al-box table tr, #integration_wizard .al-box table td {border: 0; background: transparent;} #integration_wizard .al-box table.styling-adjustments td {vertical-align: middle;font-size: 14px; color: rgb(136, 136, 136); text-align: left;} #integration_wizard .wp-picker-container {padding-top: 5px;}html #integration_wizard.fixed-box .al-box table input.wp-picker-clear {background: #ededed; transition: none; padding: 1px 6px; border: 1px solid #000; color: #000; margin: 0; margin-left: 6px;}#integration_wizard .wp-picker-holder{position: absolute;}</style>';
                $box_content .= '<script>jQuery("input[name=\\"container_width\\"]").change(function() { jQuery("#container").css("width", jQuery(this).val()+"%");jQuery("#container").css("margin", "0 auto");});';
                $box_content .= 'jQuery("input[name=\\"container_padding\\"]").change(function() { jQuery("#container #content").css("padding", jQuery(this).val()+"px");jQuery("#container").css("box-sizing", "border-box");jQuery("#container #catalog_sidebar").css("padding", jQuery(this).val()+"px");});';
                $box_content .= 'jQuery("input[name=\\"disable_breadcrumbs\\"]").change(function() { if (jQuery(this).is(":checked")) { jQuery("p#breadcrumbs").hide();} else {jQuery("p#breadcrumbs").show();}});';
                $box_content .= 'jQuery("input[name=\\"disable_name\\"]").change(function() { if (jQuery(this).is(":checked")) { jQuery("h1.product-name").hide();} else {jQuery("h1.product-name").show();}});';
                $box_content .= 'jQuery("input[name=\\"disable_image\\"]").change(function() { if (jQuery(this).is(":checked")) { jQuery("div.product-image").hide();jQuery("#product_details").addClass("no-image");} else {jQuery("div.product-image").show();jQuery("#product_details").removeClass("no-image");}});';
                $box_content .= 'jQuery("input[name=\\"disable_price\\"]").change(function() { if (jQuery(this).is(":checked")) { jQuery("table.price-table").hide();} else {jQuery("table.price-table").show();}});';
                $box_content .= 'jQuery("input[name=\\"disable_shipping\\"]").change(function() { if (jQuery(this).is(":checked")) { jQuery("table.shipping-table").hide();} else {jQuery("table.shipping-table").show();}});';
                $box_content .= 'jQuery("input[name=\\"disable_attributes\\"]").change(function() { if (jQuery(this).is(":checked")) { jQuery("#product_features").hide();} else {jQuery("#product_features").show();}});';
                $box_content .= 'jQuery("input[name=\\"default_sidebar\\"]").change(function() { if (jQuery(this).is(":checked")) { sidebar = jQuery(this).val();if (sidebar == "left") {jQuery("#catalog_sidebar").show();jQuery("#catalog_sidebar").css("float","left");jQuery(".product-catalog #content").css("width","70%");jQuery(".product-catalog #content").css("float","right");} else if (sidebar == "right") {jQuery("#catalog_sidebar").show();jQuery("#catalog_sidebar").css("float","right");jQuery(".product-catalog #content").css("width","70%");jQuery(".product-catalog #content").css("float","left");} else {jQuery("#catalog_sidebar").hide();jQuery(".product-catalog #content").css("width","100%");jQuery(".product-catalog #content").css("float","none");}}});';
                $box_content .= '</script>';
                //$box_content .= '<script>jQuery("input[name=\"container_bg\"]").change(function() { jQuery("#container").css("background", jQuery(this).val());});</script>';
                $box_content .= '<p>' . __('Is everything looking fine now?', 'ecommerce-product-catalog') . '</p>';
                $box_content .= '<script>jQuery(document).ready(function() {
    jQuery("a.integration-ok").click(function(e) {
	clicked = jQuery(this).attr("href");
	e.preventDefault();
	var breadcrumbs = 0;
	if (jQuery("input[name=\\"disable_breadcrumbs\\"]").is(":checked")) {
		breadcrumbs = 1;
	}
	var name = 0;
	if (jQuery("input[name=\\"disable_name\\"]").is(":checked")) {
		name = 1;
	}
	var image = 0;
	if (jQuery("input[name=\\"disable_image\\"]").is(":checked")) {
		image = 1;
	}
	var price = 0;
	if (jQuery("input[name=\\"disable_price\\"]").is(":checked")) {
		price = 1;
	}
	var shipping = 0;
	if (jQuery("input[name=\\"disable_shipping\\"]").is(":checked")) {
		shipping = 1;
	}
	var attributes = 0;
	if (jQuery("input[name=\\"disable_attributes\\"]").is(":checked")) {
		attributes = 1;
	}
	default_sidebar = jQuery("input[name=\\"default_sidebar\\"]:checked").val();
		var data = {
			"action": "save_wizard",
			"container_width": jQuery("input[name=\\"container_width\\"]").val(),
			"container_padding": jQuery("input[name=\\"container_padding\\"]").val(),
			"container_bg": jQuery("input[name=\\"container_bg\\"]").val(),
			"disable_breadcrumbs": breadcrumbs,
			"disable_name": name,
			"disable_image": image,
			"disable_price": price,
			"disable_shipping": shipping,
			"disable_attributes": attributes,
			"default_sidebar": default_sidebar
		};

		jQuery.post("' . admin_url('admin-ajax.php') . '", data, function(response) {
			window.location.href = clicked;
		});
	}); });
</script>';
                $box_content .= '<p class="wp-core-ui"><a href="' . esc_url(add_query_arg('test_advanced', 'ok')) . '" class="button-primary integration-ok">' . __('It\'s Fine', 'ecommerce-product-catalog') . '</a><a href="' . esc_url(add_query_arg('test_advanced', 'bad')) . '" class="button-secondary">' . __('It\'s Broken', 'ecommerce-product-catalog') . '</a></p>';
                echo '<div id="integration_wizard" class="' . $class . '">' . implecode_info($box_content, 0) . '</div>';
            } else {
                if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 'bad') {
                    $box_content .= '<p>' . __('It seems that Manual Theme Integration is needed in order to use Advanced Mode with your current theme.', 'ecommerce-product-catalog') . '</p>';
                    $box_content .= '<h4>' . __('You Have 3 choices', 'ecommerce-product-catalog') . ':</h4>';
                    $box_content .= '<ol>';
                    $box_content .= '<li>' . __('Get the Manual Theme Integration done.', 'ecommerce-product-catalog') . '</li>';
                    $box_content .= '<li>' . __('Keep using Simple Mode which is still functional.', 'ecommerce-product-catalog') . '</li>';
                    $box_content .= '<li>' . __('Switch the theme.', 'ecommerce-product-catalog') . '</li>';
                    $box_content .= '</ol>';
                    $box_content .= '<p>' . __('Please make your choice below or switch the theme.', 'ecommerce-product-catalog') . '</p>';
                    $box_content .= '<p class="wp-core-ui"><a target="_blank" href="https://implecode.com/wordpress/product-catalog/theme-integration-guide/#cam=simple-mode&key=integration-advanced-fail" class="button-primary">' . __('Free Theme Integration Guide', 'ecommerce-product-catalog') . '</a><a href="' . esc_url(add_query_arg('test_advanced', 'simple')) . '" class="button-secondary">' . __('Use Simple Mode', 'ecommerce-product-catalog') . '</a></p>';
                    enable_simple_mode();
                    echo '<div id="integration_wizard" class="' . $class . '">' . implecode_warning($box_content, 0) . '</div>';
                } else {
                    if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 'ok') {
                        $box_content .= '<p>' . __('Congratulations! eCommerce Product Catalog is working on Advanced Mode now. You can go to admin and add the products to the catalog.', 'ecommerce-product-catalog') . '</p>';
                        $box_content .= '<p>' . __('If you are a developer or would like to have full control on the product pages templates we still recommend to proceed with manual integration.', 'ecommerce-product-catalog') . '</p>';
                        $box_content .= '<p>' . __('You can switch between modes at any time in Product Settings.', 'ecommerce-product-catalog') . '</p>';
                        $box_content .= '<p class="wp-core-ui"><a href="' . admin_url('edit.php?post_type=al_product') . '" class="button-primary">' . __('Go to Admin', 'ecommerce-product-catalog') . '</a><a target="_blank" href="https://implecode.com/wordpress/product-catalog/theme-integration-guide/#cam=advanced-mode&key=integration-advanced-success" class="button-secondary">' . __('Free Theme Integration Guide', 'ecommerce-product-catalog') . '</a></p>';
                        enable_advanced_mode();
                        echo '<div id="integration_wizard" class="' . $class . '">' . implecode_success($box_content, 0) . '</div>';
                    } else {
                        if (isset($_GET['test_advanced']) && $_GET['test_advanced'] == 'simple') {
                            $box_content .= '<p>' . __('You are using simple mode now.', 'ecommerce-product-catalog') . '</p>';
                            $box_content .= '<p>' . __('You can switch between modes at any time in Product Settings.', 'ecommerce-product-catalog') . '</p>';
                            $box_content .= '<p>' . __('Use the buttons below to try the advanced integration again or go to admin and start adding your products.', 'ecommerce-product-catalog') . '</p>';
                            $box_content .= '<p class="wp-core-ui"><a href="' . admin_url('edit.php?post_type=al_product') . '" class="button-primary">' . __('Go to Admin', 'ecommerce-product-catalog') . '</a><a href="' . esc_url(add_query_arg('test_advanced', '1')) . '" class="button-secondary">' . __('Restart Advanced Mode Test', 'ecommerce-product-catalog') . '</a></p>';
                            enable_simple_mode();
                            echo '<div id="integration_wizard" class="' . $class . '">' . implecode_success($box_content, 0) . '</div>';
                        }
                    }
                }
            }
        }
    }
}
예제 #3
0
function ecommerce_product_catalog_upgrade()
{
    if (is_admin()) {
        $plugin_data = get_plugin_data(AL_PLUGIN_MAIN_FILE);
        $plugin_version = $plugin_data["Version"];
        $database_plugin_version = get_option('ecommerce_product_catalog_ver', $plugin_version);
        if ($database_plugin_version != $plugin_version) {
            update_option('ecommerce_product_catalog_ver', $plugin_version);
            $first_version = (string) get_option('first_activation_version', $plugin_version);
            if (version_compare($first_version, '1.9.0') < 0 && version_compare($database_plugin_version, '2.2.4') < 0) {
                $hide_info = 0;
                enable_advanced_mode($hide_info);
            }
            if (version_compare($first_version, '2.0.0') < 0 && version_compare($database_plugin_version, '2.2.4') < 0) {
                $archive_multiple_settings = get_multiple_settings();
                $archive_multiple_settings['product_listing_cats'] = 'off';
                $archive_multiple_settings['cat_template'] = 'link';
                update_option('archive_multiple_settings', $archive_multiple_settings);
            }
            if (version_compare($first_version, '2.0.1') < 0 && version_compare($database_plugin_version, '2.2.4') < 0) {
                add_product_caps();
            }
            if (version_compare($first_version, '2.0.4') < 0 && version_compare($database_plugin_version, '2.2.4') < 0) {
                delete_transient('implecode_extensions_data');
            }
            if (version_compare($first_version, '2.2.5') < 0 && version_compare($database_plugin_version, '2.2.5') < 0) {
                $archive_names = get_option('archive_names');
                $archive_names['all_main_categories'] = '';
                $archive_names['all_products'] = '';
                $archive_names['all_subcategories'] = '';
                update_option('archive_names', $archive_names);
            }
            if (version_compare($first_version, '2.3.6') < 0 && version_compare($database_plugin_version, '2.3.6') < 0) {
                $archive_multiple_settings = get_multiple_settings();
                $archive_multiple_settings['default_sidebar'] = 1;
                update_option('archive_multiple_settings', $archive_multiple_settings);
            }
            if (version_compare($first_version, '2.4.0') < 0 && version_compare($database_plugin_version, '2.4.0') < 0) {
                $archive_multiple_settings = get_multiple_settings();
                $archive_multiple_settings['related'] = 'categories';
                update_option('archive_multiple_settings', $archive_multiple_settings);
                update_option('old_sort_bar', 1);
            }
            flush_rewrite_rules();
        }
    }
}