Exemplo n.º 1
0
function ic_system_status()
{
    if (current_user_can('manage_product_settings')) {
        if (isset($_GET['reset_product_settings'])) {
            if (isset($_GET['reset_product_settings_confirm'])) {
                foreach (all_ic_options('options') as $option) {
                    delete_option($option);
                }
                implecode_success(__('Product Settings successfully reset to default!', 'ecommerce-product-catalog'));
            } else {
                echo '<h3>' . __('All products settings will be reset to defaults. Would you like to proceed?', 'ecommerce-product-catalog') . '</h3>';
                echo '<a class="button" href="' . esc_url(add_query_arg('reset_product_settings_confirm', 1)) . '">' . __('Yes', 'ecommerce-product-catalog') . '</a> <a class="button" href="' . esc_url(remove_query_arg('reset_product_settings')) . '">' . __('No', 'ecommerce-product-catalog') . '</a>';
            }
        } else {
            if (isset($_GET['delete_all_products'])) {
                if (isset($_GET['delete_all_products_confirm'])) {
                    global $wpdb;
                    $wpdb->query("DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'al_product' );");
                    $wpdb->query("DELETE meta FROM {$wpdb->postmeta} meta LEFT JOIN {$wpdb->posts} posts ON posts.ID = meta.post_id WHERE posts.ID IS NULL;");
                    implecode_success(__('Product Settings successfully reset to default!', 'ecommerce-product-catalog'));
                } else {
                    echo '<h3>' . __('All products will be permanently deleted. Would you like to proceed?', 'ecommerce-product-catalog') . '</h3>';
                    echo '<a class="button" href="' . esc_url(add_query_arg('delete_all_products_confirm', 1)) . '">' . __('Yes', 'ecommerce-product-catalog') . '</a> <a class="button" href="' . esc_url(remove_query_arg('delete_all_products')) . '">' . __('No', 'ecommerce-product-catalog') . '</a>';
                }
            } else {
                if (isset($_GET['delete_all_product_categories'])) {
                    if (isset($_GET['delete_all_product_categories_confirm'])) {
                        global $wpdb;
                        $taxonomy = 'al_product-cat';
                        $terms = $wpdb->get_results($wpdb->prepare("SELECT t.*, tt.* FROM {$wpdb->terms} AS t INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('%s') ORDER BY t.name ASC", $taxonomy));
                        // Delete Terms
                        if ($terms) {
                            foreach ($terms as $term) {
                                $wpdb->delete($wpdb->term_taxonomy, array('term_taxonomy_id' => $term->term_taxonomy_id));
                                $wpdb->delete($wpdb->term_relationships, array('term_taxonomy_id' => $term->term_taxonomy_id));
                                $wpdb->delete($wpdb->terms, array('term_id' => $term->term_id));
                                delete_option('al_product_cat_image_' . $term->term_id);
                            }
                        }
                        // Delete Taxonomy
                        $wpdb->delete($wpdb->term_taxonomy, array('taxonomy' => $taxonomy), array('%s'));
                        implecode_success(__('All Product Categories successfully deleted!', 'ecommerce-product-catalog'));
                    } else {
                        echo '<h3>' . __('All product categories will be permanently deleted. Would you like to proceed?', 'ecommerce-product-catalog') . '</h3>';
                        echo '<a class="button" href="' . esc_url(add_query_arg('delete_all_product_categories_confirm', 1)) . '">' . __('Yes', 'ecommerce-product-catalog') . '</a> <a class="button" href="' . esc_url(remove_query_arg('delete_all_product_categories')) . '">' . __('No', 'ecommerce-product-catalog') . '</a>';
                    }
                } else {
                    if (isset($_GET['delete_old_filters_bar'])) {
                        if (isset($_GET['delete_old_filters_bar_confirm'])) {
                            delete_option('old_sort_bar');
                            implecode_success(__('Filters bar is now empty by default!', 'ecommerce-product-catalog'));
                        } else {
                            echo '<h3>' . __('Default filters bar will become empty.', 'ecommerce-product-catalog') . '</h3>';
                            echo '<a class="button" href="' . esc_url(add_query_arg('delete_old_filters_bar_confirm', 1)) . '">' . __('OK', 'ecommerce-product-catalog') . '</a> <a class="button" href="' . esc_url(remove_query_arg('delete_old_filters_bar')) . '">' . __('Cancel', 'ecommerce-product-catalog') . '</a>';
                        }
                    } else {
                        ?>
			<style>table.widefat {width: 95%}table tbody tr td:first-child {width: 350px } table tbody tr:nth-child(even) {background: #fafafa;}</style>
			<p></p>
			<table class="widefat" cellspacing="0" id="ic_tools">
				<thead>
					<tr>
						<th colspan="2"><?php 
                        _e('impleCode Tools', 'ecommerce-product-catalog');
                        ?>
</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td><?php 
                        _e('Reset product settings', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><a class="button" href="<?php 
                        echo esc_url(add_query_arg('reset_product_settings', 1));
                        ?>
"><?php 
                        _e('Reset Product Settings', 'ecommerce-product-catalog');
                        ?>
</a></td>
					</tr>
					<tr>
						<td><?php 
                        _e('Delete all products', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><a class="button" href="<?php 
                        echo esc_url(add_query_arg('delete_all_products', 1));
                        ?>
"><?php 
                        _e('Delete all Products', 'ecommerce-product-catalog');
                        ?>
</a></td>
					</tr>
					<tr>
						<td><?php 
                        _e('Delete all product categories', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><a class="button" href="<?php 
                        echo esc_url(add_query_arg('delete_all_product_categories', 1));
                        ?>
"><?php 
                        _e('Delete all Product Categories', 'ecommerce-product-catalog');
                        ?>
</a></td>
					</tr>
					<?php 
                        if (get_option('old_sort_bar') == 1) {
                            ?>
						<tr>
							<td><?php 
                            _e('Make default filters bar empty.', 'ecommerce-product-catalog');
                            ?>
:</td>
							<td><a class="button" href="<?php 
                            echo esc_url(add_query_arg('delete_old_filters_bar', 1));
                            ?>
"><?php 
                            _e('Empty Default Filters Bar', 'ecommerce-product-catalog');
                            ?>
</a></td>
						</tr>
					<?php 
                        }
                        ?>
					<tr>
						<td><?php 
                        _e('Delete all products and categories on uninstall', 'ecommerce-product-catalog');
                        ?>
:</td>
						<?php 
                        $checked = get_option('ic_delete_products_uninstall', 0);
                        ?>
						<td><input type="checkbox" name="delete_products_uninstall" <?php 
                        checked(1, $checked);
                        ?>
 /></td>
					</tr>
				</tbody>
			</table>
			<p></p>
			<table class="widefat" cellspacing="0" id="status">
				<thead>
					<tr>
						<th colspan="2"><?php 
                        _e('WordPress Environment', 'ecommerce-product-catalog');
                        ?>
</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td><?php 
                        _e('Home URL', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo home_url();
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('Site URL', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo site_url();
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('eCommerce Product Catalog Version', 'ecommerce-product-catalog');
                        ?>
:
						</td>
						<td>
							<?php 
                        $plugin_data = get_plugin_data(AL_PLUGIN_MAIN_FILE);
                        $plugin_version = $plugin_data["Version"];
                        echo $plugin_version;
                        ?>
						</td>
					</tr>
					<tr>
						<td><?php 
                        _e('eCommerce Product Catalog Database Version', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo get_option('ecommerce_product_catalog_ver', $plugin_version);
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('WP Version', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        bloginfo('version');
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('WP Multisite', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        if (is_multisite()) {
                            echo '&#10004;';
                        } else {
                            echo '&ndash;';
                        }
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('WP Memory Limit', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        $memory = WP_MEMORY_LIMIT;
                        echo size_format($memory);
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('WP Debug Mode', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        if (defined('WP_DEBUG') && WP_DEBUG) {
                            echo '&#10004;';
                        } else {
                            echo '&ndash;';
                        }
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('Language', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo get_locale();
                        ?>
</td>
					</tr>
				</tbody>
			</table>
			<p></p>
			<table class="widefat" cellspacing="0" id="status">
				<thead>
					<tr>
						<th colspan="2"><?php 
                        _e('Server Environment', 'ecommerce-product-catalog');
                        ?>
</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td><?php 
                        _e('Server Info', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo esc_html($_SERVER['SERVER_SOFTWARE']);
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('PHP Version', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        if (function_exists('phpversion')) {
                            echo esc_html(phpversion());
                        }
                        ?>
</td>
					</tr>
					<?php 
                        if (function_exists('ini_get')) {
                            ?>
						<tr>
							<td><?php 
                            _e('PHP Post Max Size', 'ecommerce-product-catalog');
                            ?>
:</td>
							<td><?php 
                            echo size_format(ini_get('post_max_size'));
                            ?>
</td>
						</tr>
						<tr>
							<td><?php 
                            _e('PHP Time Limit', 'ecommerce-product-catalog');
                            ?>
:</td>
							<td><?php 
                            echo ini_get('max_execution_time');
                            ?>
</td>
						</tr>
						<tr>
							<td><?php 
                            _e('PHP Max Input Vars', 'ecommerce-product-catalog');
                            ?>
:</td>
							<td><?php 
                            echo ini_get('max_input_vars');
                            ?>
</td>
						</tr>
					<?php 
                        }
                        ?>
					<tr>
						<td><?php 
                        _e('MySQL Version', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td>
							<?php 
                        /** @global wpdb $wpdb */
                        global $wpdb;
                        echo $wpdb->db_version();
                        ?>
						</td>
					</tr>
					<tr>
						<td><?php 
                        _e('Max Upload Size', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo size_format(wp_max_upload_size());
                        ?>
</td>
					</tr>
				</tbody>
			</table>
			<p></p>
			<table class="widefat" cellspacing="0" id="status">
				<thead>
					<tr>
						<th colspan="2"><?php 
                        _e('Server Locale', 'ecommerce-product-catalog');
                        ?>
</th>
					</tr>
				</thead>
				<tbody>
					<?php 
                        $locale = localeconv();
                        foreach ($locale as $key => $val) {
                            if (in_array($key, array('decimal_point', 'mon_decimal_point', 'thousands_sep', 'mon_thousands_sep'))) {
                                echo '<tr><td>' . $key . ':</td><td>' . ($val ? $val : __('N/A', 'ecommerce-product-catalog')) . '</td></tr>';
                            }
                        }
                        ?>
				</tbody>
			</table>
			<p></p>
			<table class="widefat" cellspacing="0" id="status">
				<thead>
					<tr>
						<th colspan="2"><?php 
                        _e('Active Plugins', 'ecommerce-product-catalog');
                        ?>
 (<?php 
                        echo count((array) get_option('active_plugins'));
                        ?>
)</th>
					</tr>
				</thead>
				<tbody>
					<?php 
                        $active_plugins = (array) get_option('active_plugins', array());
                        if (is_multisite()) {
                            $active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array()));
                        }
                        foreach ($active_plugins as $plugin) {
                            $plugin_data = @get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin);
                            $dirname = dirname($plugin);
                            $version_string = '';
                            $network_string = '';
                            if (!empty($plugin_data['Name'])) {
                                // link the plugin name to the plugin url if available
                                $plugin_name = esc_html($plugin_data['Name']);
                                if (!empty($plugin_data['PluginURI'])) {
                                    $plugin_name = '<a href="' . esc_url($plugin_data['PluginURI']) . '" title="' . __('Visit plugin homepage', 'ecommerce-product-catalog') . '">' . $plugin_name . '</a>';
                                }
                                ?>
							<tr>
								<td><?php 
                                echo $plugin_name;
                                ?>
</td>
								<td><?php 
                                echo sprintf(_x('by %s', 'by author', 'ecommerce-product-catalog'), $plugin_data['Author']) . ' &ndash; ' . esc_html($plugin_data['Version']) . $version_string . $network_string;
                                ?>
</td>
							</tr>
							<?php 
                            }
                        }
                        ?>
				</tbody>
			</table>
			<p></p>
			<table class="widefat" cellspacing="0">
				<thead>
					<tr>
						<th colspan="2"><?php 
                        _e('Theme', 'ecommerce-product-catalog');
                        ?>
</th>
					</tr>
				</thead>
				<?php 
                        $active_theme = wp_get_theme();
                        ?>
				<tbody>
					<tr>
						<td><?php 
                        _e('Name', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo $active_theme->Name;
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('Version', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo $active_theme->Version;
                        if (!empty($theme_version_data['version']) && version_compare($theme_version_data['version'], $active_theme->Version, '!=')) {
                            echo ' &ndash; <strong style="color:red;">' . $theme_version_data['version'] . ' ' . __('is available', 'ecommerce-product-catalog') . '</strong>';
                        }
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('Author URL', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo $active_theme->{'Author URI'};
                        ?>
</td>
					</tr>
					<tr>
						<td><?php 
                        _e('Child Theme', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        echo is_child_theme() ? '<mark class="yes">' . '&#10004;' . '</mark>' : '&#10005; &ndash; ' . sprintf(__('If you\'re modifying eCommerce Product Catalog or a parent theme you didn\'t build personally we recommend using a child theme. See: <a href="%s" target="_blank">How to create a child theme</a>', 'ecommerce-product-catalog'), 'http://codex.wordpress.org/Child_Themes');
                        ?>
</td>
					</tr>
					<?php 
                        if (is_child_theme()) {
                            $parent_theme = wp_get_theme($active_theme->Template);
                            ?>
						<tr>
							<td><?php 
                            _e('Parent Theme Name', 'ecommerce-product-catalog');
                            ?>
:</td>
							<td><?php 
                            echo $parent_theme->Name;
                            ?>
</td>
						</tr>
						<tr>
							<td><?php 
                            _e('Parent Theme Version', 'ecommerce-product-catalog');
                            ?>
:</td>
							<td><?php 
                            echo $parent_theme->Version;
                            ?>
</td>
						</tr>
						<tr>
							<td><?php 
                            _e('Parent Theme Author URL', 'ecommerce-product-catalog');
                            ?>
:</td>
							<td><?php 
                            echo $parent_theme->{'Author URI'};
                            ?>
</td>
						</tr>
					<?php 
                        }
                        ?>
					<tr>
						<td><?php 
                        _e('eCommerce Product Catalog Support', 'ecommerce-product-catalog');
                        ?>
:</td>
						<td><?php 
                        if (!is_theme_implecode_supported()) {
                            _e('Not Declared', 'ecommerce-product-catalog');
                        } else {
                            echo '&#10004;';
                        }
                        ?>
</td>
					</tr>
				</tbody>
			</table>
			<script>
				jQuery( document ).ready( function () {
					jQuery( "input[type='checkbox']" ).change( function () {
						checkbox = jQuery( this );
						if ( checkbox.is( ":checked" ) ) {
							checked = 1;
						} else {
							checked = 0;
						}
						data = {
							action: "save_implecode_tools",
							field: checkbox.attr( 'name' ) + "|" + checked
						};
						jQuery.post( "<?php 
                        echo admin_url('admin-ajax.php');
                        ?>
", data, function ( response ) {
							checkbox.after( "<span class='saved'>Saved!</span>" );
							jQuery( ".saved" ).delay( 2000 ).fadeOut( 300, function () {
								jQuery( this ).remove();
							} );
						} );
					} );
				} );
			</script>
			<?php 
                    }
                }
            }
        }
    }
}
Exemplo n.º 2
0
            }
        }
        // Delete Taxonomy
        $wpdb->delete($wpdb->term_taxonomy, array('taxonomy' => $taxonomy), array('%s'));
    }
    if (!function_exists('all_ic_options')) {
        /**
         * Returns all eCommerce Product Catalog option names
         * (needs optimisation)
         * @return type
         */
        function all_ic_options($which = 'all')
        {
            $options = array('product_attributes_number', 'al_display_attributes', 'product_attribute', 'product_attribute_label', 'product_attribute_unit', 'archive_template', 'modern_grid_settings', 'classic_grid_settings', 'catalog_lightbox', 'multi_single_options', 'default_product_thumbnail', 'design_schemes', 'archive_names', 'single_names', 'product_listing_url', 'product_currency', 'product_currency_settings', 'product_archive', 'enable_product_listing', 'archive_multiple_settings', 'product_shipping_options_number', 'display_shipping', 'product_shipping_cost', 'product_shipping_label');
            $tools = array('ic_delete_products_uninstall', 'ecommerce_product_catalog_ver', 'sample_product_id', 'al_permalink_options_update', 'custom_license_code', 'implecode_license_owner', 'no_implecode_license_error', 'license_active_plugins', 'product_adder_theme_support_check', 'implecode_hide_plugin_review_info_count', 'hide_empty_bar_message', 'old_sort_bar', 'first_activation_version', 'product_archive_page_id');
            if ($which == 'all') {
                return array_merge($options, $tools);
            } else {
                if ($which == 'tools') {
                    return $tools;
                } else {
                    return $options;
                }
            }
        }
    }
    $all_options = all_ic_options();
    foreach ($all_options as $option) {
        delete_option($option);
    }
}