Version Description
- Fix: save field settings
Download this release
Release Info
| Developer | quadlayers |
| Plugin | |
| Version | 4.7.0 |
| Comparing to | |
| See all releases | |
Code changes from version 4.6.9 to 4.7.0
- assets/backend/img/quadlayers.jpg +0 -0
- includes/class-wooccm-admin.php +4 -26
- includes/class-wooccm-suggestions-list-table.php +132 -0
- includes/class-wooccm.php +1 -0
- includes/controller/class-wooccm-advanced.php +7 -2
- includes/controller/class-wooccm-checkout.php +9 -3
- includes/controller/class-wooccm-field.php +1 -1
- includes/controller/class-wooccm-order.php +6 -1
- includes/controller/class-wooccm-premium.php +20 -16
- includes/controller/class-wooccm-suggestions.php +62 -0
- includes/view/backend/pages/additional.php +1 -1
- includes/view/backend/pages/advanced.php +1 -1
- includes/view/backend/pages/billing.php +1 -1
- includes/view/backend/pages/checkout.php +1 -1
- includes/view/backend/pages/order.php +1 -1
- includes/view/backend/pages/parts/header.php +47 -5
- includes/view/backend/pages/parts/tabs.php +6 -0
- includes/view/backend/pages/premium.php +4 -4
- includes/view/backend/pages/shipping.php +1 -1
- includes/view/backend/pages/suggestions.php +13 -0
- readme.txt +4 -1
- woocommerce-checkout-manager.php +2 -2
assets/backend/img/quadlayers.jpg
ADDED
|
Binary file
|
includes/class-wooccm-admin.php
CHANGED
|
@@ -62,7 +62,7 @@ class WOOCCM_Field_Admin {
|
|
| 62 |
}
|
| 63 |
}
|
| 64 |
|
| 65 |
-
function enqueue_scripts() {
|
| 66 |
|
| 67 |
$screen = get_current_screen();
|
| 68 |
|
|
@@ -80,40 +80,18 @@ class WOOCCM_Field_Admin {
|
|
| 80 |
}
|
| 81 |
}
|
| 82 |
|
| 83 |
-
function
|
| 84 |
-
?>
|
| 85 |
-
<style>
|
| 86 |
-
body #adminmenu #toplevel_page_woocommerce a[href="<?php echo admin_url('admin.php?page=wc-settings&tab=' . sanitize_title(WOOCCM_PREFIX)); ?>"]:before {
|
| 87 |
-
content: 'BETA';
|
| 88 |
-
color: #fff;
|
| 89 |
-
background-color: #21c2f8;
|
| 90 |
-
padding: 1px 7px;
|
| 91 |
-
font-size: 9px;
|
| 92 |
-
font-weight: 700;
|
| 93 |
-
border-radius: 10px;
|
| 94 |
-
position: absolute;
|
| 95 |
-
right: 15px;
|
| 96 |
-
line-height: 16px;
|
| 97 |
-
font-style: italic;
|
| 98 |
-
}
|
| 99 |
-
</style>
|
| 100 |
-
<?php
|
| 101 |
-
}
|
| 102 |
-
|
| 103 |
-
function add_tab($settings_tabs) {
|
| 104 |
$settings_tabs[WOOCCM_PREFIX] = esc_html__('Checkout', 'woocommerce-checkout-manager');
|
| 105 |
return $settings_tabs;
|
| 106 |
}
|
| 107 |
|
| 108 |
-
function add_menu_page() {
|
| 109 |
add_submenu_page('woocommerce', esc_html__('Checkout', 'woocommerce-checkout-manager'), esc_html__('Checkout', 'woocommerce-checkout-manager'), 'manage_woocommerce', admin_url('admin.php?page=wc-settings&tab=' . sanitize_title(WOOCCM_PREFIX)));
|
| 110 |
}
|
| 111 |
|
| 112 |
-
function init() {
|
| 113 |
add_action('wp_ajax_wooccm_select_search_products', array($this, 'ajax_select_search_products'));
|
| 114 |
-
|
| 115 |
add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
|
| 116 |
-
add_action('admin_head', array($this, 'add_beta_badge'));
|
| 117 |
add_action('admin_menu', array($this, 'add_menu_page'));
|
| 118 |
add_filter('woocommerce_settings_tabs_array', array($this, 'add_tab'), 50);
|
| 119 |
}
|
| 62 |
}
|
| 63 |
}
|
| 64 |
|
| 65 |
+
public function enqueue_scripts() {
|
| 66 |
|
| 67 |
$screen = get_current_screen();
|
| 68 |
|
| 80 |
}
|
| 81 |
}
|
| 82 |
|
| 83 |
+
public function add_tab($settings_tabs) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
$settings_tabs[WOOCCM_PREFIX] = esc_html__('Checkout', 'woocommerce-checkout-manager');
|
| 85 |
return $settings_tabs;
|
| 86 |
}
|
| 87 |
|
| 88 |
+
public function add_menu_page() {
|
| 89 |
add_submenu_page('woocommerce', esc_html__('Checkout', 'woocommerce-checkout-manager'), esc_html__('Checkout', 'woocommerce-checkout-manager'), 'manage_woocommerce', admin_url('admin.php?page=wc-settings&tab=' . sanitize_title(WOOCCM_PREFIX)));
|
| 90 |
}
|
| 91 |
|
| 92 |
+
public function init() {
|
| 93 |
add_action('wp_ajax_wooccm_select_search_products', array($this, 'ajax_select_search_products'));
|
|
|
|
| 94 |
add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
|
|
|
|
| 95 |
add_action('admin_menu', array($this, 'add_menu_page'));
|
| 96 |
add_filter('woocommerce_settings_tabs_array', array($this, 'add_tab'), 50);
|
| 97 |
}
|
includes/class-wooccm-suggestions-list-table.php
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
require_once( ABSPATH . 'wp-admin/includes/class-wp-plugin-install-list-table.php' );
|
| 4 |
+
|
| 5 |
+
class WOOCCM_Suggestions_List_Table extends WP_Plugin_Install_List_Table {
|
| 6 |
+
|
| 7 |
+
public $promote = array(
|
| 8 |
+
'wp-menu-icons',
|
| 9 |
+
'wp-whatsapp-chat',
|
| 10 |
+
'insta-gallery',
|
| 11 |
+
'quadmenu',
|
| 12 |
+
'woocommerce-checkout-manager',
|
| 13 |
+
'woocommerce-direct-checkout',
|
| 14 |
+
);
|
| 15 |
+
|
| 16 |
+
private function remove_plugins($plugins) {
|
| 17 |
+
|
| 18 |
+
$promote = array();
|
| 19 |
+
|
| 20 |
+
foreach ($this->promote as $order => $slug) {
|
| 21 |
+
|
| 22 |
+
if ($id = @max(array_keys(array_column($plugins, 'slug'), $slug))) {
|
| 23 |
+
|
| 24 |
+
$promote[] = $plugins[$id];
|
| 25 |
+
}
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
return $promote;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
public function self_admin_url($url, $path) {
|
| 32 |
+
|
| 33 |
+
if (strpos($url, 'tab=plugin-information') !== false) {
|
| 34 |
+
$url = network_admin_url($path);
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
return $url;
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
public function network_admin_url($url, $path) {
|
| 41 |
+
|
| 42 |
+
if (strpos($url, 'plugins.php') !== false) {
|
| 43 |
+
$url = self_admin_url($path);
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
return $url;
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
public function display_rows() {
|
| 50 |
+
add_filter('self_admin_url', array($this, 'self_admin_url'), 10, 2);
|
| 51 |
+
add_filter('network_admin_url', array($this, 'network_admin_url'), 10, 2);
|
| 52 |
+
parent::display_rows();
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
public function is_connected() {
|
| 56 |
+
|
| 57 |
+
global $wp_version;
|
| 58 |
+
|
| 59 |
+
$http_args = array(
|
| 60 |
+
'timeout' => 15,
|
| 61 |
+
'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'),
|
| 62 |
+
);
|
| 63 |
+
|
| 64 |
+
return is_wp_error(wp_remote_get('http://api.wordpress.org/plugins/info/1.2/', $http_args));
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
public function get_plugins() {
|
| 68 |
+
|
| 69 |
+
$plugins = get_transient('ql_suggestions_plugins');
|
| 70 |
+
|
| 71 |
+
if ($plugins === false) {
|
| 72 |
+
|
| 73 |
+
$args = array(
|
| 74 |
+
'per_page' => 36,
|
| 75 |
+
'author' => 'quadlayers',
|
| 76 |
+
'locale' => get_user_locale(),
|
| 77 |
+
);
|
| 78 |
+
|
| 79 |
+
$api = plugins_api('query_plugins', $args);
|
| 80 |
+
|
| 81 |
+
if (!is_wp_error($api)) {
|
| 82 |
+
|
| 83 |
+
$plugins = $this->remove_plugins($api->plugins);
|
| 84 |
+
|
| 85 |
+
set_transient('ql_suggestions_plugins', $plugins, 24 * HOUR_IN_SECONDS);
|
| 86 |
+
}
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
return $plugins;
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
public function prepare_items() {
|
| 93 |
+
|
| 94 |
+
include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
|
| 95 |
+
|
| 96 |
+
global $tabs, $tab;
|
| 97 |
+
|
| 98 |
+
wp_enqueue_style('thickbox');
|
| 99 |
+
wp_enqueue_script('plugin-install');
|
| 100 |
+
wp_enqueue_script('thickbox');
|
| 101 |
+
wp_enqueue_script('updates');
|
| 102 |
+
|
| 103 |
+
wp_reset_vars(array('tab'));
|
| 104 |
+
|
| 105 |
+
$tabs = array();
|
| 106 |
+
|
| 107 |
+
if ('search' === $tab) {
|
| 108 |
+
$tabs['search'] = __('Search Results');
|
| 109 |
+
}
|
| 110 |
+
if ($tab === 'beta' || false !== strpos(get_bloginfo('version'), '-')) {
|
| 111 |
+
$tabs['beta'] = _x('Beta Testing', 'Plugin Installer');
|
| 112 |
+
}
|
| 113 |
+
$tabs['featured'] = _x('Featured', 'Plugin Installer');
|
| 114 |
+
$tabs['popular'] = _x('Popular', 'Plugin Installer');
|
| 115 |
+
$tabs['recommended'] = _x('Recommended', 'Plugin Installer');
|
| 116 |
+
$tabs['favorites'] = _x('Favorites', 'Plugin Installer');
|
| 117 |
+
|
| 118 |
+
$nonmenu_tabs = array('plugin-information'); // Valid actions to perform which do not have a Menu item.
|
| 119 |
+
|
| 120 |
+
$tabs = apply_filters('install_plugins_tabs', $tabs);
|
| 121 |
+
|
| 122 |
+
$nonmenu_tabs = apply_filters('install_plugins_nonmenu_tabs', $nonmenu_tabs);
|
| 123 |
+
|
| 124 |
+
// If a non-valid menu tab has been selected, And it's not a non-menu action.
|
| 125 |
+
if (empty($tab) || (!isset($tabs[$tab]) && !in_array($tab, (array) $nonmenu_tabs) )) {
|
| 126 |
+
$tab = key($tabs);
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
+
$this->items = $this->get_plugins();
|
| 130 |
+
}
|
| 131 |
+
|
| 132 |
+
}
|
includes/class-wooccm.php
CHANGED
|
@@ -43,6 +43,7 @@ final class WOOCCM {
|
|
| 43 |
include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-order.php' );
|
| 44 |
include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-advanced.php' );
|
| 45 |
include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-premium.php' );
|
|
|
|
| 46 |
}
|
| 47 |
|
| 48 |
public function register_scripts() {
|
| 43 |
include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-order.php' );
|
| 44 |
include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-advanced.php' );
|
| 45 |
include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-premium.php' );
|
| 46 |
+
include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-suggestions.php' );
|
| 47 |
}
|
| 48 |
|
| 49 |
public function register_scripts() {
|
includes/controller/class-wooccm-advanced.php
CHANGED
|
@@ -19,7 +19,7 @@ class WOOCCM_Checkout_Advanced_Controller {
|
|
| 19 |
|
| 20 |
if ($css = get_option('wooccm_advanced_custom_css', false)) {
|
| 21 |
?>
|
| 22 |
-
<style
|
| 23 |
<?php echo $css; ?>
|
| 24 |
</style>
|
| 25 |
<?php
|
|
@@ -82,7 +82,12 @@ class WOOCCM_Checkout_Advanced_Controller {
|
|
| 82 |
}
|
| 83 |
|
| 84 |
public function save_settings() {
|
| 85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
}
|
| 87 |
|
| 88 |
public function custom_css_w($value) {
|
| 19 |
|
| 20 |
if ($css = get_option('wooccm_advanced_custom_css', false)) {
|
| 21 |
?>
|
| 22 |
+
<style>
|
| 23 |
<?php echo $css; ?>
|
| 24 |
</style>
|
| 25 |
<?php
|
| 82 |
}
|
| 83 |
|
| 84 |
public function save_settings() {
|
| 85 |
+
|
| 86 |
+
global $current_section;
|
| 87 |
+
|
| 88 |
+
if ('advanced' == $current_section) {
|
| 89 |
+
woocommerce_update_options($this->get_settings());
|
| 90 |
+
}
|
| 91 |
}
|
| 92 |
|
| 93 |
public function custom_css_w($value) {
|
includes/controller/class-wooccm-checkout.php
CHANGED
|
@@ -64,7 +64,7 @@ class WOOCCM_Checkout_Controller {
|
|
| 64 |
|
| 65 |
if (get_option('wooccm_checkout_force_shipping_address', 'no') == 'yes') {
|
| 66 |
?>
|
| 67 |
-
<style
|
| 68 |
.woocommerce-shipping-fields h3:first-child input {
|
| 69 |
display: none!important;
|
| 70 |
}
|
|
@@ -77,7 +77,7 @@ class WOOCCM_Checkout_Controller {
|
|
| 77 |
|
| 78 |
if (get_option('wooccm_checkout_force_create_account', 'no') == 'yes') {
|
| 79 |
?>
|
| 80 |
-
<style
|
| 81 |
.create-account {
|
| 82 |
display:none;
|
| 83 |
}
|
|
@@ -270,7 +270,13 @@ class WOOCCM_Checkout_Controller {
|
|
| 270 |
}
|
| 271 |
|
| 272 |
public function save_settings() {
|
| 273 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 274 |
}
|
| 275 |
|
| 276 |
// Compatibility
|
| 64 |
|
| 65 |
if (get_option('wooccm_checkout_force_shipping_address', 'no') == 'yes') {
|
| 66 |
?>
|
| 67 |
+
<style>
|
| 68 |
.woocommerce-shipping-fields h3:first-child input {
|
| 69 |
display: none!important;
|
| 70 |
}
|
| 77 |
|
| 78 |
if (get_option('wooccm_checkout_force_create_account', 'no') == 'yes') {
|
| 79 |
?>
|
| 80 |
+
<style>
|
| 81 |
.create-account {
|
| 82 |
display:none;
|
| 83 |
}
|
| 270 |
}
|
| 271 |
|
| 272 |
public function save_settings() {
|
| 273 |
+
|
| 274 |
+
global $current_section;
|
| 275 |
+
|
| 276 |
+
if ('' == $current_section) {
|
| 277 |
+
|
| 278 |
+
woocommerce_update_options($this->get_settings());
|
| 279 |
+
}
|
| 280 |
}
|
| 281 |
|
| 282 |
// Compatibility
|
includes/controller/class-wooccm-field.php
CHANGED
|
@@ -318,7 +318,7 @@ class WOOCCM_Field_Controller {
|
|
| 318 |
|
| 319 |
global $current_section;
|
| 320 |
|
| 321 |
-
if ($current_section) {
|
| 322 |
|
| 323 |
$section = wc_clean(wp_unslash($current_section));
|
| 324 |
|
| 318 |
|
| 319 |
global $current_section;
|
| 320 |
|
| 321 |
+
if (in_array($current_section, array('billing', 'shipping', 'additional'))) {
|
| 322 |
|
| 323 |
$section = wc_clean(wp_unslash($current_section));
|
| 324 |
|
includes/controller/class-wooccm-order.php
CHANGED
|
@@ -252,7 +252,12 @@ class WOOCCM_Order_Controller extends WOOCCM_Upload {
|
|
| 252 |
}
|
| 253 |
|
| 254 |
public function save_settings() {
|
| 255 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 256 |
}
|
| 257 |
|
| 258 |
// Compatibility
|
| 252 |
}
|
| 253 |
|
| 254 |
public function save_settings() {
|
| 255 |
+
|
| 256 |
+
global $current_section;
|
| 257 |
+
|
| 258 |
+
if ('order' == $current_section) {
|
| 259 |
+
woocommerce_update_options($this->get_settings());
|
| 260 |
+
}
|
| 261 |
}
|
| 262 |
|
| 263 |
// Compatibility
|
includes/controller/class-wooccm-premium.php
CHANGED
|
@@ -14,31 +14,35 @@ class WOOCCM_Checkout_Premium_Controller {
|
|
| 14 |
}
|
| 15 |
return self::$_instance;
|
| 16 |
}
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
public function add_header() {
|
| 22 |
-
global $current_section;
|
| 23 |
?>
|
| 24 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
<?php
|
| 26 |
}
|
| 27 |
|
| 28 |
-
|
|
|
|
| 29 |
|
| 30 |
-
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
}
|
| 36 |
}
|
| 37 |
|
| 38 |
public function init() {
|
| 39 |
-
|
| 40 |
-
add_action('
|
| 41 |
-
add_action('woocommerce_sections_' . WOOCCM_PREFIX, array($this, 'add_section'));
|
| 42 |
}
|
| 43 |
|
| 44 |
}
|
| 14 |
}
|
| 15 |
return self::$_instance;
|
| 16 |
}
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
function remove_menu() {
|
|
|
|
|
|
|
|
|
|
| 20 |
?>
|
| 21 |
+
<style>
|
| 22 |
+
|
| 23 |
+
li.toplevel_page_wooccm {
|
| 24 |
+
display:none;
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
</style>
|
| 28 |
<?php
|
| 29 |
}
|
| 30 |
|
| 31 |
+
// Admin
|
| 32 |
+
// -------------------------------------------------------------------------
|
| 33 |
|
| 34 |
+
public function add_page() {
|
| 35 |
+
include_once( WOOCCM_PLUGIN_DIR . 'includes/view/backend/pages/premium.php' );
|
| 36 |
+
}
|
| 37 |
|
| 38 |
+
function add_menu() {
|
| 39 |
+
add_menu_page(WOOCCM_PLUGIN_NAME, WOOCCM_PLUGIN_NAME, 'manage_woocommerce', WOOCCM_PREFIX, array($this, 'add_page'));
|
| 40 |
+
add_submenu_page(WOOCCM_PREFIX, esc_html__('Premium', 'woocommerce-checkout-manager'), esc_html__('Premium', 'woocommerce-checkout-manager'), 'manage_woocommerce', WOOCCM_PREFIX, array($this, 'add_page'));
|
|
|
|
| 41 |
}
|
| 42 |
|
| 43 |
public function init() {
|
| 44 |
+
add_action('admin_menu', array($this, 'add_menu'));
|
| 45 |
+
add_action('admin_head', array($this, 'remove_menu'));
|
|
|
|
| 46 |
}
|
| 47 |
|
| 48 |
}
|
includes/controller/class-wooccm-suggestions.php
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
class WOOCCM_Checkout_Suggestions_Controller {
|
| 4 |
+
|
| 5 |
+
protected static $_instance;
|
| 6 |
+
|
| 7 |
+
public function __construct() {
|
| 8 |
+
$this->init();
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
public static function instance() {
|
| 12 |
+
if (is_null(self::$_instance)) {
|
| 13 |
+
self::$_instance = new self();
|
| 14 |
+
}
|
| 15 |
+
return self::$_instance;
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
// Admin
|
| 19 |
+
// -------------------------------------------------------------------------
|
| 20 |
+
|
| 21 |
+
public function add_page() {
|
| 22 |
+
include_once( WOOCCM_PLUGIN_DIR . 'includes/class-wooccm-suggestions-list-table.php' );
|
| 23 |
+
include_once( WOOCCM_PLUGIN_DIR . 'includes/view/backend/pages/suggestions.php' );
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
public function add_menu() {
|
| 27 |
+
add_submenu_page(WOOCCM_PREFIX, __('Suggestions', 'woocommerce-checkout-manager'), __('Suggestions', 'woocommerce-checkout-manager'), 'manage_woocommerce', WOOCCM_PREFIX . '_suggestions', array($this, 'add_page'));
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
// fix for activateUrl on install now button
|
| 31 |
+
public function network_admin_url($url, $path) {
|
| 32 |
+
|
| 33 |
+
if (wp_doing_ajax() && !is_network_admin()) {
|
| 34 |
+
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'install-plugin') {
|
| 35 |
+
if (strpos($url, 'plugins.php') !== false) {
|
| 36 |
+
$url = self_admin_url($path);
|
| 37 |
+
}
|
| 38 |
+
}
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
return $url;
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
public function add_redirect() {
|
| 45 |
+
|
| 46 |
+
if (isset($_REQUEST['activate']) && $_REQUEST['activate'] == 'true') {
|
| 47 |
+
if (wp_get_referer() == admin_url('admin.php?page=' . WOOCCM_PREFIX . '_suggestions')) {
|
| 48 |
+
wp_redirect(admin_url('admin.php?page=' . WOOCCM_PREFIX . '_suggestions'));
|
| 49 |
+
}
|
| 50 |
+
}
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
public function init() {
|
| 54 |
+
add_action('admin_menu', array($this, 'add_menu'));
|
| 55 |
+
add_action('admin_init', array($this, 'add_redirect'));
|
| 56 |
+
add_filter('network_admin_url', array($this, 'network_admin_url'), 10, 2);
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
WOOCCM_Checkout_Suggestions_Controller::instance();
|
| 62 |
+
|
includes/view/backend/pages/additional.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php include_once( 'parts/
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Additional', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Additional fields', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
| 1 |
+
<?php include_once( 'parts/tabs.php' ); ?>
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Additional', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Additional fields', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
includes/view/backend/pages/advanced.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php include_once( 'parts/
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Advanced', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Advanced settings', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<!--<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
| 1 |
+
<?php include_once( 'parts/tabs.php' ); ?>
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Advanced', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Advanced settings', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<!--<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
includes/view/backend/pages/billing.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php include_once( 'parts/
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Billing', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Billing fields', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
| 1 |
+
<?php include_once( 'parts/tabs.php' ); ?>
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Billing', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Billing fields', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
includes/view/backend/pages/checkout.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php include_once( 'parts/
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Checkout', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Checkout settings', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
| 1 |
+
<?php include_once( 'parts/tabs.php' ); ?>
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Checkout', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Checkout settings', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
includes/view/backend/pages/order.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php include_once( 'parts/
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Order', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Order settings', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
| 1 |
+
<?php include_once( 'parts/tabs.php' ); ?>
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Order', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Order settings', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
includes/view/backend/pages/parts/header.php
CHANGED
|
@@ -1,6 +1,48 @@
|
|
| 1 |
-
<
|
| 2 |
-
<?php do_action('wooccm_sections_header'); ?>
|
| 3 |
-
<li><a target="_blank" href="<?php echo WOOCCM_DOCUMENTATION_URL; ?>"><?php echo esc_html__('Documentation', 'woocommerce-checkout-manager'); ?></a></li>
|
| 4 |
-
</ul>
|
| 5 |
-
<br class="clear" />
|
| 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<div class="wrap about-wrap full-width-layout">
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
+
<h1><?php esc_html_e('Suggestions', 'woocommerce-checkout-manager'); ?></h1>
|
| 4 |
+
|
| 5 |
+
<p class="about-text"><?php printf(esc_html__('Thanks for using our product! We recommend these extensions that will add new features to stand out your business and improve your sales.', 'woocommerce-checkout-manager'), WOOCCM_PLUGIN_NAME); ?></p>
|
| 6 |
+
|
| 7 |
+
<p class="about-text">
|
| 8 |
+
<?php printf('<a href="%s" target="_blank">%s</a>', WOOCCM_PURCHASE_URL, esc_html__('Purchase', 'woocommerce-checkout-manager')); ?></a> |
|
| 9 |
+
<?php printf('<a href="%s" target="_blank">%s</a>', WOOCCM_DOCUMENTATION_URL, esc_html__('Documentation', 'woocommerce-checkout-manager')); ?></a>
|
| 10 |
+
</p>
|
| 11 |
+
|
| 12 |
+
<?php printf('<a href="%s" target="_blank"><div style="
|
| 13 |
+
background: #006bff url(%s) no-repeat;
|
| 14 |
+
background-position: top center;
|
| 15 |
+
background-size: 130px 130px;
|
| 16 |
+
color: #fff;
|
| 17 |
+
font-size: 14px;
|
| 18 |
+
text-align: center;
|
| 19 |
+
font-weight: 600;
|
| 20 |
+
margin: 5px 0 0;
|
| 21 |
+
padding-top: 120px;
|
| 22 |
+
height: 40px;
|
| 23 |
+
display: inline-block;
|
| 24 |
+
width: 140px;
|
| 25 |
+
" class="wp-badge">%s</div></a>', 'https://quadlayers.com/?utm_source=qlwapp_admin', plugins_url('/assets/backend/img/quadlayers.jpg', WOOCCM_PLUGIN_FILE), esc_html__('QuadLayers', 'woocommerce-checkout-manager')); ?>
|
| 26 |
+
|
| 27 |
+
</div>
|
| 28 |
+
|
| 29 |
+
<?php
|
| 30 |
+
if (isset($GLOBALS['submenu'][WOOCCM_PREFIX])) {
|
| 31 |
+
if (is_array($GLOBALS['submenu'][WOOCCM_PREFIX])) {
|
| 32 |
+
?>
|
| 33 |
+
<div class="wrap about-wrap full-width-layout qlwrap">
|
| 34 |
+
<h2 class="nav-tab-wrapper">
|
| 35 |
+
<?php
|
| 36 |
+
foreach ($GLOBALS['submenu'][WOOCCM_PREFIX] as $tab) {
|
| 37 |
+
if (strpos($tab[2], '.php') !== false)
|
| 38 |
+
continue;
|
| 39 |
+
?>
|
| 40 |
+
<a href="<?php echo admin_url('admin.php?page=' . esc_attr($tab[2])); ?>" class="nav-tab<?php echo (isset($_GET['page']) && $_GET['page'] == $tab[2]) ? ' nav-tab-active' : ''; ?>"><?php echo $tab[0]; ?></a>
|
| 41 |
+
<?php
|
| 42 |
+
}
|
| 43 |
+
?>
|
| 44 |
+
</h2>
|
| 45 |
+
</div>
|
| 46 |
+
<?php
|
| 47 |
+
}
|
| 48 |
+
}
|
includes/view/backend/pages/parts/tabs.php
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<ul class="subsubsub">
|
| 2 |
+
<?php do_action('wooccm_sections_header'); ?>
|
| 3 |
+
<li><a target="_blank" href="<?php echo WOOCCM_DOCUMENTATION_URL; ?>"><?php echo esc_html__('Documentation', 'woocommerce-checkout-manager'); ?></a></li> |
|
| 4 |
+
<li><a href="<?php echo admin_url('admin.php?page=' . WOOCCM_PREFIX); ?>"><?php echo esc_html__('Premium', 'woocommerce-checkout-manager'); ?></a></li>
|
| 5 |
+
</ul>
|
| 6 |
+
<br class="clear" />
|
includes/view/backend/pages/premium.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php include_once(
|
| 2 |
<div class="wrap about-wrap full-width-layout">
|
| 3 |
<div class="has-2-columns is-wider-left" style="max-width: 100%">
|
| 4 |
<div class="column">
|
|
@@ -37,6 +37,9 @@
|
|
| 37 |
</div>
|
| 38 |
<hr/>
|
| 39 |
<div class="has-2-columns" style="max-width: 100%">
|
|
|
|
|
|
|
|
|
|
| 40 |
<div class="column">
|
| 41 |
<div class="feature-section" style="padding: 10px 0;">
|
| 42 |
<h3><?php esc_html_e('Display on admin list orders', 'woocommerce-checkout-manager'); ?></h3>
|
|
@@ -57,8 +60,5 @@
|
|
| 57 |
</p>
|
| 58 |
</div>
|
| 59 |
</div>
|
| 60 |
-
<div class="column">
|
| 61 |
-
<img style="margin-top: -30px" src="<?php echo plugins_url('/assets/backend/img/admin.png', WOOCCM_PLUGIN_FILE); ?>">
|
| 62 |
-
</div>
|
| 63 |
</div>
|
| 64 |
</div>
|
| 1 |
+
<?php include_once('parts/header.php' ); ?>
|
| 2 |
<div class="wrap about-wrap full-width-layout">
|
| 3 |
<div class="has-2-columns is-wider-left" style="max-width: 100%">
|
| 4 |
<div class="column">
|
| 37 |
</div>
|
| 38 |
<hr/>
|
| 39 |
<div class="has-2-columns" style="max-width: 100%">
|
| 40 |
+
<div class="column">
|
| 41 |
+
<img style="margin-top: -30px" src="<?php echo plugins_url('/assets/backend/img/admin.png', WOOCCM_PLUGIN_FILE); ?>">
|
| 42 |
+
</div>
|
| 43 |
<div class="column">
|
| 44 |
<div class="feature-section" style="padding: 10px 0;">
|
| 45 |
<h3><?php esc_html_e('Display on admin list orders', 'woocommerce-checkout-manager'); ?></h3>
|
| 60 |
</p>
|
| 61 |
</div>
|
| 62 |
</div>
|
|
|
|
|
|
|
|
|
|
| 63 |
</div>
|
| 64 |
</div>
|
includes/view/backend/pages/shipping.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php include_once( 'parts/
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Shipping', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Shipping fields', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
| 1 |
+
<?php include_once( 'parts/tabs.php' ); ?>
|
| 2 |
<h1 class="screen-reader-text"><?php esc_html_e('Shipping', 'woocommerce-checkout-manager'); ?></h1>
|
| 3 |
<h2><?php esc_html_e('Shipping fields', 'woocommerce-checkout-manager'); ?></h2>
|
| 4 |
<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
|
includes/view/backend/pages/suggestions.php
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php include_once('parts/header.php' ); ?>
|
| 2 |
+
<div class="wrap" style="
|
| 3 |
+
position: relative;
|
| 4 |
+
margin: 25px 40px 0 20px;
|
| 5 |
+
max-width: 1200px;">
|
| 6 |
+
<?php
|
| 7 |
+
$wp_list_table = new WOOCCM_Suggestions_List_Table();
|
| 8 |
+
$wp_list_table->prepare_items();
|
| 9 |
+
?>
|
| 10 |
+
<form id="plugin-filter" method="post" class="importer-item">
|
| 11 |
+
<?php $wp_list_table->display(); ?>
|
| 12 |
+
</form>
|
| 13 |
+
</div>
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Donate link: https://quadlayers.com/
|
|
| 4 |
Tags: woocommerce, woocommerce checkout, field manager, checkout editor, checkout field, shipping field, billing field, order field, additional field
|
| 5 |
Requires at least: 3.0
|
| 6 |
Tested up to: 5.2.4
|
| 7 |
-
Stable tag: 4.
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
|
@@ -99,6 +99,9 @@ Your Order data can be reviewed in each order within the default WooCommerce Ord
|
|
| 99 |
|
| 100 |
== Changelog ==
|
| 101 |
|
|
|
|
|
|
|
|
|
|
| 102 |
= 4.6.9 =
|
| 103 |
* Fix: fix wpml compatibility
|
| 104 |
|
| 4 |
Tags: woocommerce, woocommerce checkout, field manager, checkout editor, checkout field, shipping field, billing field, order field, additional field
|
| 5 |
Requires at least: 3.0
|
| 6 |
Tested up to: 5.2.4
|
| 7 |
+
Stable tag: 4.7.0
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
| 99 |
|
| 100 |
== Changelog ==
|
| 101 |
|
| 102 |
+
= 4.7.0 =
|
| 103 |
+
* Fix: save field settings
|
| 104 |
+
|
| 105 |
= 4.6.9 =
|
| 106 |
* Fix: fix wpml compatibility
|
| 107 |
|
woocommerce-checkout-manager.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
/**
|
| 4 |
* Plugin Name: WooCommerce Checkout Manager
|
| 5 |
* Description: Manages WooCommerce Checkout, the advanced way.
|
| 6 |
-
* Version: 4.
|
| 7 |
* Author: QuadLayers
|
| 8 |
* Author URI: https://www.quadlayers.com
|
| 9 |
* Copyright: 2019 QuadLayers (https://www.quadlayers.com)
|
|
@@ -17,7 +17,7 @@ if (!defined('WOOCCM_PLUGIN_NAME')) {
|
|
| 17 |
define('WOOCCM_PLUGIN_NAME', 'WooCommerce Checkout Manager');
|
| 18 |
}
|
| 19 |
if (!defined('WOOCCM_PLUGIN_VERSION')) {
|
| 20 |
-
define('WOOCCM_PLUGIN_VERSION', '4.
|
| 21 |
}
|
| 22 |
if (!defined('WOOCCM_PLUGIN_FILE')) {
|
| 23 |
define('WOOCCM_PLUGIN_FILE', __FILE__);
|
| 3 |
/**
|
| 4 |
* Plugin Name: WooCommerce Checkout Manager
|
| 5 |
* Description: Manages WooCommerce Checkout, the advanced way.
|
| 6 |
+
* Version: 4.7.0
|
| 7 |
* Author: QuadLayers
|
| 8 |
* Author URI: https://www.quadlayers.com
|
| 9 |
* Copyright: 2019 QuadLayers (https://www.quadlayers.com)
|
| 17 |
define('WOOCCM_PLUGIN_NAME', 'WooCommerce Checkout Manager');
|
| 18 |
}
|
| 19 |
if (!defined('WOOCCM_PLUGIN_VERSION')) {
|
| 20 |
+
define('WOOCCM_PLUGIN_VERSION', '4.7.0');
|
| 21 |
}
|
| 22 |
if (!defined('WOOCCM_PLUGIN_FILE')) {
|
| 23 |
define('WOOCCM_PLUGIN_FILE', __FILE__);
|
