Пример #1
0
 /**
  *
  * @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;
 }
Пример #2
0
/**
 * 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');
    }
}