diff --git a/integration/shareyourcart/class.shareyourcart-wp.php b/integration/shareyourcart/class.shareyourcart-wp.php deleted file mode 100755 index dc98cc6c279..00000000000 --- a/integration/shareyourcart/class.shareyourcart-wp.php +++ /dev/null @@ -1,383 +0,0 @@ -canLoad()) return; - - //make sure we add this instance - self::$_INSTANCES []= $this; - $this->_PLUGIN_PATH = WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__), "", plugin_basename(__FILE__)); - - //setup the hooks - register_activation_hook(self::getPluginFile(), array(&$this, 'activateHook')); - register_deactivation_hook(self::getPluginFile(), array(&$this, 'deactivateHook')); - - //perform the rest of the loading AFTER all plugins have been loaded - add_action('plugins_loaded', array(&$this, 'pluginsLoadedHook')); - } - - /** - * Abstract isCartActive - * @param null - * @return boolean - */ - protected abstract function isCartActive(); - - /** - * - * Get the plugin version. - * @return an integer - * - */ - protected function getPluginVersion() { - - return self::$_VERSION; - } - - /** - * - * Return the project's URL - * - */ - protected function getDomain() { - - return get_bloginfo('url'); - } - - /** - * - * Return the admin's email - * - */ - protected function getAdminEmail() { - - return get_option('admin_email'); - } - - /** - * - * Set the field value - * - */ - protected function setConfigValue($field, $value) { - update_option('_shareyourcart_'.$field, $value); - } - - /** - * - * Get the field value - * - */ - protected function getConfigValue($field) { - return get_option('_shareyourcart_'.$field); - } - - /** - * - * Get the path to the main file of the plugin - * - */ - public static function getPluginFile() { - global $plugin; - - return $plugin; - } - - /** - * - * Get the upload directory - * - */ - public function getUploadDir() { - $dir = wp_upload_dir(); - - return !empty($dir['path']) ? $dir['path'] : parent::getUploadDir(); - } - - /** - * - * Execute the SQL statement - * - */ - protected function executeNonQuery($sql) { - - if (substr($sql, 0, 12) == "CREATE TABLE") { - - require_once ABSPATH . 'wp-admin/includes/upgrade.php'; - - //if this is a create table command, use the special function which compares tables - dbDelta($sql); - - } else { - - global $wpdb; - - //use the normal query - $wpdb->query($sql); - } - } - - /** - * - * Get the row returned from the SQL - * - * @return an associative array containing the data of the row OR NULL - * if there is none - */ - protected function getRow($sql) { - - global $wpdb; - - //get the row as an associative array - return $wpdb->get_row($sql, ARRAY_A); - } - - /** - * - * Get the table name based on the key - * - */ - protected function getTableName($key) { - global $wpdb; - - return $wpdb->base_prefix.$key; - } - - /** - * - * Insert the row into the specified table - * - */ - protected function insertRow($tableName, $data) { - global $wpdb; - - $wpdb->insert($tableName, $data); - } - - /** - * - * Create url for the specified file. The file must be specified in relative path - * to the base of the plugin - */ - protected function createUrl($file) { - //get the real file path - $file = realpath($file); - - //calculate the relative path from this file - $file = SyC::relativepath(dirname(__FILE__), $file); - - //append the relative path to the current file's URL - return WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__), "", plugin_basename(__FILE__)).$file; - } - - /** - * - * Part of the initialization process, this is used to check if the cart is - * really active - * - */ - public function pluginsLoadedHook() { - - //if the cart is not loaded, do not load this plugin further - if (!$this->isCartActive()) return; - //if(!$this->existsTable($this->getTableName('shareyourcart_coupons'))) throw new Exception('abc'); - add_action('wp_head', array(&$this, 'showPageHeader')); - add_action('admin_menu', array(&$this, 'showAdminMenu')); - - //add the shortcodes ONLY if they where not added before, by another plugin - global $shortcode_tags; - if (!array_key_exists('shareyourcart', $shortcode_tags)) { - add_shortcode('shareyourcart', array(&$this, 'getButton')); - add_shortcode('shareyourcart_button', array(&$this, 'getButton')); - } - } - - /** - * - * This is the activate hook called by WordPress. It is used for both install and activate - * - */ - public function activateHook() { - - if (!$this->isCartActive()) return; - - $message = ''; - - //the db version is old, so install it again - if (version_compare($this->getConfigValue('db_version'), self::$_DB_VERSION)!=0) { - - $this->install($message); - } else { //if the version are equal, simply activate the plugin - - $this->activate($message); - } - - //TODO: perhaps we can show the message somehow to the user. For now, just log it - error_log($message); - } - - /** - * - * This is the deactivate hook called by WordPress. - * - */ - public function deactivateHook() { - - if (!$this->isCartActive()) return; - - $message = ''; - - $this->deactivate($message); - - //TODO: perhaps we can show the message somehow to the user. For now, just log it - error_log($message); - } - - /** - * - * When installing the new wordpress plugin, make sure to move the old data - * - */ - public function install(&$message = null) { - - global $wpdb; - - $old_table_name = $this->getTableName('shareyourcart_settings'); - if ($wpdb->get_var("show tables like '$old_table_name'") == $old_table_name) { - - //get the old app_key and client_id - $settings = $wpdb->get_row("SELECT app_key, client_id FROM ".$wpdb->base_prefix."shareyourcart_settings LIMIT 1"); - if ($settings) { - - $this->setConfigValue('appKey', $settings->app_key); - $this->setConfigValue('clientId', $settings->client_id); - } - - //remove the old table - $wpdb->query("DROP TABLE $old_table_name"); - } - - parent::install($message); - } - - /** - * - * This is the deactivate hook called by WordPress. - * - */ - public static function uninstallHook() { - - //this hook is required by WordPress to be static - //so call uninstall on the first instance - if (!empty(self::$_INSTANCES)) { - - self::$_INSTANCES[0]->uninstall(); - } else { - - //log the error - error_log("There is no instance created when calling uninstall hook"); - } - } - - /** - * show the admin menu - * @param null - * @return boolean - */ - public function showAdminMenu() { - - //this is a single call function - if (!$this->isFirstCall(__FUNCTION__)) return; - - //first, check the SDK status - $this->checkSDKStatus(); - - //see if we need to show the update notification - $notification = null; - if ($this->hasNewerVersion()) - $notification = "" . number_format_i18n(1) . ""; - - $page = add_menu_page( - __('Share your cart settings'), - __('ShareYourCart').$notification, - 'manage_options', - basename(__FILE__), - array(&$this, 'showAdminPage'), - $this->_PLUGIN_PATH .'sdk/img/shareyourcart.png' - ); - add_action( 'admin_head-'.$page, array(&$this, 'showAdminHeader')); - - if ($this->isActive()) { - //show the rest of the menu ONLY if the plugin is active - $page = add_submenu_page( - basename(__FILE__), - __('Button'), - __('Customize Button'), - 'manage_options', - basename(__FILE__).'-button', - array(&$this, 'showButtonCustomizationPage')); - add_action( 'admin_head-'. $page, array(&$this, 'showAdminHeader')); - - $page = add_submenu_page( - basename(__FILE__), - __('Documentation'), - __('Documentation'), - 'manage_options', - basename(__FILE__).'-documentation', - array(&$this, 'showDocumentationPage')); - add_action( 'admin_head-'. $page, array(&$this, 'showAdminHeader')); - } - } - - /* - * - * Called when a new coupon is generated - * - */ - public function couponCallback() { - - //since there are a lot of plugins for wordpress, first make sure this plugin - //is active - if (!$this->isCartActive()) { - - header("HTTP/1.0 403"); - echo "Shopping Cart is not active"; - exit; - } - - parent::couponCallback(); - - //since this is actually an API, exit - exit; - } - } - -} //END IF -?> \ No newline at end of file