/** * * @return Multi_Rating */ public static function instance() { if (!isset(self::$instance) && !self::$instance instanceof Multi_Rating) { self::$instance = new Multi_Rating(); add_action('admin_enqueue_scripts', array(self::$instance, 'assets')); if (is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX)) { add_action('admin_menu', array(self::$instance, 'add_admin_menus')); add_action('admin_enqueue_scripts', array(self::$instance, 'admin_assets')); add_action('admin_init', array(self::$instance, 'redirect_about_page')); } else { add_action('wp_enqueue_scripts', array(self::$instance, 'assets')); } add_action('wp_head', array(self::$instance, 'add_custom_css')); add_action('init', array(self::$instance, 'load_textdomain')); self::$instance->includes(); self::$instance->settings = new MR_Settings(); if (is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX)) { self::$instance->post_metabox = new MR_Post_Metabox(); add_filter('hidden_meta_boxes', array(self::$instance, 'default_hidden_meta_boxes'), 10, 2); add_action('delete_user', array(self::$instance, 'delete_user'), 11, 2); add_action('deleted_post', array(self::$instance, 'deleted_post')); } self::$instance->add_ajax_callbacks(); } return Multi_Rating::$instance; }
/** * Upgrade from 3.0.x to 3.1 */ function mr_upgrade_from_3_0_to_3_1() { // activate plugin and db updates will occur Multi_Rating::activate_plugin(); // replace username with user ID global $wpdb; $num_column_exists = $wpdb->query('SHOW COLUMNS FROM ' . $wpdb->prefix . Multi_Rating::RATING_ITEM_ENTRY_TBL_NAME . ' LIKE "username"'); if ($num_column_exists > 0) { // if username column exists $query = 'SELECT username, rating_item_entry_id FROM ' . $wpdb->prefix . Multi_Rating::RATING_ITEM_ENTRY_TBL_NAME . ' WHERE username != ""'; $rows = $wpdb->get_results($query); foreach ($rows as $row) { $query = 'SELECT ID FROM ' . $wpdb->users . ' WHERE user_login = "******"'; $user_id = $wpdb->get_var($query); if ($user_id) { $wpdb->update($wpdb->prefix . Multi_Rating::RATING_ITEM_ENTRY_TBL_NAME, array('user_id' => $user_id), array('rating_item_entry_id' => $row->rating_item_entry_id)); } } $wpdb->query('ALTER TABLE ' . $wpdb->prefix . Multi_Rating::RATING_ITEM_ENTRY_TBL_NAME . ' DROP COLUMN username'); } }