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>'; } } } } } } }
/** * 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>'; } } } } } } }
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(); } } }