/** * Setup and Initiate Pods * * @return \PodsInit * * @license http://www.gnu.org/licenses/gpl-2.0.html * @since 1.8.9 */ function __construct() { self::$version = get_option('pods_framework_version'); self::$version_last = get_option('pods_framework_version_last'); self::$db_version = get_option('pods_framework_db_version'); self::$upgraded = (int) get_option('pods_framework_upgraded_1_x'); if (empty(self::$version_last) && 0 < strlen(get_option('pods_version'))) { $old_version = get_option('pods_version'); if (!empty($old_version)) { if (false === strpos($old_version, '.')) { $old_version = pods_version_to_point($old_version); } update_option('pods_framework_version_last', $old_version); self::$version_last = $old_version; } } self::$upgrade_needed = $this->needs_upgrade(); add_action('plugins_loaded', array($this, 'plugins_loaded')); add_action('init', array($this, 'activate_install'), 9); add_action('wp_loaded', array($this, 'flush_rewrite_rules')); if (!empty(self::$version)) { $this->run(); } }
/** * Setup and Initiate Pods * * @return \PodsInit * * @license http://www.gnu.org/licenses/gpl-2.0.html * @since 1.8.9 */ function __construct() { self::$version = get_option('pods_framework_version'); self::$version_last = get_option('pods_framework_version_last'); self::$db_version = get_option('pods_framework_db_version'); self::$upgraded = (int) get_option('pods_framework_upgraded_1_x'); if (empty(self::$version_last) && 0 < strlen(get_option('pods_version'))) { $old_version = get_option('pods_version'); if (!empty($old_version)) { if (false === strpos($old_version, '.')) { $old_version = pods_version_to_point($old_version); } update_option('pods_framework_version_last', $old_version); self::$version_last = $old_version; } } self::$upgrade_needed = $this->needs_upgrade(); add_action('plugins_loaded', array($this, 'plugins_loaded')); add_action('init', array($this, 'activate_install'), 9); if (!empty(self::$version)) { add_action('plugins_loaded', array($this, 'load_components'), 11); add_action('setup_theme', array($this, 'load_meta'), 14); add_action('init', array($this, 'core'), 11); add_action('init', array($this, 'setup_content_types'), 11); add_filter('post_updated_messages', array($this, 'setup_updated_messages'), 10, 1); add_action('delete_attachment', array($this, 'delete_attachment')); if (is_admin()) { add_action('init', array($this, 'admin_init'), 12); } // Register widgets add_action('widgets_init', array($this, 'register_widgets')); // Show admin bar links add_action('admin_bar_menu', array($this, 'admin_bar_links'), 81); } }
/** * @param null $_blog_id */ public function setup($_blog_id = null) { global $wpdb; // Switch DB table prefixes if (null !== $_blog_id && $_blog_id != $wpdb->blogid) { switch_to_blog(pods_absint($_blog_id)); } else { $_blog_id = null; } // Setup DB tables $pods_version = get_option('pods_framework_version'); $pods_version_last = get_option('pods_framework_version_last'); // Install Pods if (empty($pods_version)) { pods_upgrade()->install($_blog_id); $old_version = get_option('pods_version'); if (!empty($old_version)) { if (false === strpos($old_version, '.')) { $old_version = pods_version_to_point($old_version); } delete_option('pods_framework_version_last'); add_option('pods_framework_version_last', $pods_version, '', 'yes'); self::$version_last = $old_version; } } elseif ($this->needs_upgrade($pods_version, $pods_version_last)) { // Do not do anything return; } elseif (version_compare($pods_version, PODS_VERSION, '<=')) { if (false !== apply_filters('pods_update_run', null, PODS_VERSION, $pods_version, $_blog_id) && !isset($_GET['pods_bypass_update'])) { do_action('pods_update', PODS_VERSION, $pods_version, $_blog_id); // Update 2.0 alpha / beta sites if (version_compare('2.0.0-a-1', $pods_version, '<=') && version_compare($pods_version, '2.0.0-b-15', '<=')) { include PODS_DIR . 'sql/update-2.0-beta.php'; } if (version_compare($pods_version, PODS_DB_VERSION, '<=')) { include PODS_DIR . 'sql/update.php'; } do_action('pods_update_post', PODS_VERSION, $pods_version, $_blog_id); } delete_option('pods_framework_version_last'); add_option('pods_framework_version_last', $pods_version, '', 'yes'); self::$version_last = $pods_version; } delete_option('pods_framework_version'); add_option('pods_framework_version', PODS_VERSION, '', 'yes'); delete_option('pods_framework_db_version'); add_option('pods_framework_db_version', PODS_DB_VERSION, '', 'yes'); self::$version = PODS_VERSION; self::$db_version = PODS_DB_VERSION; pods_api()->cache_flush_pods(); // Restore DB table prefix (if switched) if (null !== $_blog_id) { restore_current_blog(); } }