isDot()) continue; $filename = $fileInfo->getFilename(); if (strpos($filename,'.class')) { $params = AreteX_plugin::ParamsFromComments($fileInfo->getPathname()); $feature_name = $params['FeatureName']; if (empty($feature_name)) continue; global $wpdb; $table_name = $wpdb->prefix .'aretex_features'; $rows = $wpdb->get_results( "SELECT * FROM $table_name WHERE feature_name='$feature_name'", ARRAY_A ); if (empty($rows[0]['feature_name'])) { $data = array(); $data['feature_name'] = $feature_name; $data['feature_class'] = $params['FeatureClass']; $data['description'] = $params['Description']; $data['feature_path'] = $fileInfo->getPathname(); $data['menu_path']= $params['AreteXMenuPath']; $data['parameters'] = serialize($params); $data['load_feature'] = $params['LoadFeature']; $data['feature_version'] = $params['FeatureVersion']; $data['aretex_server_version'] = $params['AretexServerVersion']; $data['replacement_for'] = $params['ReplacementFor']; $wpdb->replace( $table_name, $data, null ); } else { $data = $rows[0]; $data['feature_path'] = $fileInfo->getPathname(); $wpdb->replace( $table_name, $data, null ); } } } } public static function deactivate() { // delete_option( 'option'); } /** * AreteX_plugin::on_queue_admin_scripts() * Register and enqueue the javascripts /css for the admin UI. * - jQuery * - jQuery UI * - Responsive Grid System * - Tree View * @return void */ public function on_queue_admin_scripts(){ // jQuery, jQuery UI wp_enqueue_script('json2'); wp_enqueue_script('jquery'); wp_enqueue_script( 'jquery-ui-core' ); wp_enqueue_script( 'jquery-ui-widget' ); wp_enqueue_script( 'jquery-ui-position' ); wp_enqueue_script( 'jquery-ui-menu' ); wp_enqueue_script( 'jquery-ui-progressbar' ); wp_enqueue_script( 'jquery-ui-mouse' ); wp_enqueue_script( 'jquery-ui-accordion' ); wp_enqueue_script( 'jquery-ui-autocomplete' ); wp_enqueue_script( 'jquery-ui-slider' ); wp_enqueue_script( 'jquery-ui-tabs' ); wp_enqueue_script( 'jquery-ui-sortable' ); wp_enqueue_script( 'jquery-ui-draggable' ); wp_enqueue_script( 'jquery-ui-droppable' ); wp_enqueue_script( 'jquery-ui-datepicker' ); wp_enqueue_script( 'jquery-ui-resize' ); wp_enqueue_script( 'jquery-ui-dialog' ); wp_enqueue_script( 'jquery-ui-button' ); wp_enqueue_script( 'jquery-ui-resizable' ); wp_enqueue_script( 'jquery-ui-selectable' ); wp_enqueue_script( 'jquery-ui-spinner' ); wp_enqueue_script( 'jquery-ui-tooltip' ); wp_register_style('jquery-ui', plugins_url( 'css/jquery-ui-1.9.2.custom.min.css', __FILE__ )); wp_enqueue_style( 'jquery-ui' ); // Responsive Grid System // Credit: http://www.responsivegridsystem.com/ wp_register_style('rg-col', plugins_url( 'css/col.css', __FILE__ )); wp_register_style('c2-col', plugins_url( 'css/2cols.css', __FILE__ )); wp_register_style('c3-col', plugins_url( 'css/3cols.css', __FILE__ )); wp_register_style('c4-col', plugins_url( 'css/4cols.css', __FILE__ )); wp_register_style('c5-col', plugins_url( 'css/5cols.css', __FILE__ )); wp_register_style('c12-col', plugins_url( 'css/12cols.css', __FILE__ )); wp_register_style('c10-col', plugins_url( 'css/10cols.css', __FILE__ )); wp_enqueue_style('rg-col' ); wp_enqueue_style('c2-col'); wp_enqueue_style('c3-col'); wp_enqueue_style('c4-col'); wp_enqueue_style('c5-col'); wp_enqueue_style('c12-col'); wp_enqueue_style('c10-col'); } public function on_init() { if (!session_id()) session_start(); } public function on_queue_scripts(){ // jQuery, jQuery UI wp_enqueue_script('json2'); wp_enqueue_script('jquery'); // Need jQuery UI wp_enqueue_script( 'jquery-ui-core' ); wp_enqueue_script( 'jquery-ui-widget' ); wp_enqueue_script( 'jquery-ui-position' ); wp_enqueue_script( 'jquery-ui-menu' ); wp_enqueue_script( 'jquery-ui-progressbar' ); wp_enqueue_script( 'jquery-ui-mouse' ); wp_enqueue_script( 'jquery-ui-accordion' ); wp_enqueue_script( 'jquery-ui-autocomplete' ); wp_enqueue_script( 'jquery-ui-slider' ); wp_enqueue_script( 'jquery-ui-tabs' ); wp_enqueue_script( 'jquery-ui-sortable' ); wp_enqueue_script( 'jquery-ui-draggable' ); wp_enqueue_script( 'jquery-ui-droppable' ); wp_enqueue_script( 'jquery-ui-datepicker' ); wp_enqueue_script( 'jquery-ui-resize' ); wp_enqueue_script( 'jquery-ui-dialog' ); wp_enqueue_script( 'jquery-ui-button' ); wp_enqueue_script( 'jquery-ui-resizable' ); wp_enqueue_script( 'jquery-ui-selectable' ); wp_enqueue_script( 'jquery-ui-spinner' ); wp_enqueue_script( 'jquery-ui-tooltip' ); wp_enqueue_script('aretex-cart-js',plugins_url('js/aretex_cart.js', __FILE__ ),array('jquery','jquery-ui-dialog','aretex-core-js')); // Need some settings in here for jquery ui style ... wp_enqueue_style('aretex_cart-front-ui-css', '//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css', false, '1.00.00a', false); } public function on_load() { // Do "Self Check" include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $aretex_core_path = get_option('aretex_core_path'); $folders = explode(DIRECTORY_SEPARATOR,$aretex_core_path); $len = count($folders); $path = $folders[$len-3]; if ( is_plugin_active( $path.'/ecommerce-services.php' ) ) { //plugin is activated if (! class_exists('AreteX_plugin')) { require_once($aretex_core_path.'AreteX_plugin.class.php'); } } else { add_action( 'admin_notices', array('AreteXCart','core_failure_notice') ); return; } } public function admin_head(){ echo $str; } public function admin_menu(){ $aretex_core_path = get_option('aretex_core_path'); $folders = explode(DIRECTORY_SEPARATOR,$aretex_core_path); $len = count($folders); $path = $folders[$len-3]; if ( is_plugin_active( $path.'/ecommerce-services.php' ) ) { add_submenu_page('AreteX_Main_Admin_Menu', 'AreteX™ eCommerce Services Shopping Cart', 'Shopping Cart', 'manage_options', 'AreteX_Shopping_Cart',array('AreteXCart','admin_page') ); } } /** * AreteX_plugin::admin_page() * * Display main plugin page, or registration if AreteX license not valid. * * @return void */ public static function admin_page() { include(plugin_dir_path( __FILE__ ) . 'pages/admin_main.php'); } } } // Credit: http://www.wpexplorer.com/create-widget-plugin-wordpress/ if (! class_exists('AreteXCartSummaryWidget')) { class AreteXCartSummaryWidget extends WP_Widget { // constructor public function __construct() { parent::WP_Widget(false, $name = __('AreteX Cart Summary', 'AreteXCartSummaryWidget') ); if (!session_id()) session_start(); } // widget form creation public function form($instance) { // Check values if( $instance) { $title = esc_attr($instance['title']); $detail_link = esc_attr($instance['detail_link']); $button_text = esc_attr($instance['button_text']); } else { $title = 'Shopping Cart'; $detail_link = 'show-cart'; $button_text = 'Show Cart'; } ?>

'; // Check if title is set if ( $title ) { echo $before_title . $title . $after_title; } // Check if text is set $aretex_core_path = get_option('aretex_core_path'); if (!session_id()) { session_start(); } if (file_exists($aretex_core_path .'AreteXClientEngine/Checkout.class.php')) { require_once($aretex_core_path .'AreteXClientEngine/Checkout.class.php'); require_once($aretex_core_path.'AreteXClientEngine/Crypton/Crypton.php'); require_once($aretex_core_path .'AreteX_WPI.class.php'); require_once(plugin_dir_path( __FILE__ ).'features/AreteXWP_Cart.php'); } AreteX_shopping_cart::fixObject($_SESSION['aretex_shopping_cart']); if (is_object($_SESSION['aretex_shopping_cart'])) { $total_items = 0; if (is_array($_SESSION['aretex_shopping_cart']->items)) { foreach($_SESSION['aretex_shopping_cart']->items as $item) { $total_items += $item->qty; } } echo ''; echo 'Items: '.$total_items.'
'; echo 'Total: $'.number_format($_SESSION['aretex_shopping_cart']->total_due,2).'

'; echo '
'; } else { echo ''; echo 'Items: 0
'; echo 'Total: $0.00

'; echo '
'; } if(! $button_text ) { $button_text = 'Show Cart'; } $output =<< CART_BOX2; echo $output; echo ''; echo $after_widget; } } } ?>