function wp_install($blog_title, $user_name, $user_email, $public, $deprecated = '', $user_password = '') { global $wpdb; $base = '/'; $domain = JQUERY_STAGING_PREFIX . 'jquery.com'; wp_check_mysql_version(); wp_cache_flush(); make_db_current_silent(); populate_options(); populate_roles(); $user_id = wp_create_user($user_name, trim($user_password), $user_email); $user = new WP_User($user_id); $user->set_role('administrator'); $guess_url = wp_guess_url(); foreach ($wpdb->tables('ms_global') as $table => $prefixed_table) { $wpdb->{$table} = $prefixed_table; } install_network(); populate_network(1, $domain, $user_email, 'jQuery Network', $base, false); update_site_option('site_admins', array($user->user_login)); update_site_option('allowedthemes', array()); $wpdb->insert($wpdb->blogs, array('site_id' => 1, 'domain' => $domain, 'path' => $base, 'registered' => current_time('mysql'))); $blog_id = $wpdb->insert_id; update_user_meta($user_id, 'source_domain', $domain); update_user_meta($user_id, 'primary_blog', $blog_id); if (!($upload_path = get_option('upload_path'))) { $upload_path = substr(WP_CONTENT_DIR, strlen(ABSPATH)) . '/uploads'; update_option('upload_path', $upload_path); } update_option('fileupload_url', get_option('siteurl') . '/' . $upload_path); jquery_install_remaining_sites($user); wp_new_blog_notification($blog_title, $guess_url, $user_id, $message = __('The password you chose during the install.')); wp_cache_flush(); return array('url' => $guess_url, 'user_id' => $user_id, 'password' => $user_password, 'password_message' => $message); }
/** * Installs the site. * * Runs the required functions to set up and populate the database, * including primary admin user and initial options. * * @since 2.1.0 * * @param string $blog_title Blog title. * @param string $user_name User's username. * @param string $user_email User's email. * @param bool $public Whether blog is public. * @param string $deprecated Optional. Not used. * @param string $user_password Optional. User's chosen password. Default empty (random password). * @param string $language Optional. Language chosen. Default empty. * @return array Array keys 'url', 'user_id', 'password', and 'password_message'. */ function wp_install($blog_title, $user_name, $user_email, $public, $deprecated = '', $user_password = '', $language = '') { if (!empty($deprecated)) { _deprecated_argument(__FUNCTION__, '2.6'); } wp_check_mysql_version(); wp_cache_flush(); make_db_current_silent(); populate_options(); populate_roles(); update_option('blogname', $blog_title); update_option('admin_email', $user_email); update_option('blog_public', $public); if ($language) { update_option('WPLANG', $language); } $guessurl = wp_guess_url(); update_option('siteurl', $guessurl); // If not a public blog, don't ping. if (!$public) { update_option('default_pingback_flag', 0); } /* * Create default user. If the user already exists, the user tables are * being shared among blogs. Just set the role in that case. */ $user_id = username_exists($user_name); $user_password = trim($user_password); $email_password = false; if (!$user_id && empty($user_password)) { $user_password = wp_generate_password(12, false); $message = __('<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you.'); $user_id = wp_create_user($user_name, $user_password, $user_email); update_user_option($user_id, 'default_password_nag', true, true); $email_password = true; } elseif (!$user_id) { // Password has been provided $message = '<em>' . __('Your chosen password.') . '</em>'; $user_id = wp_create_user($user_name, $user_password, $user_email); } else { $message = __('User already exists. Password inherited.'); } $user = new WP_User($user_id); $user->set_role('administrator'); wp_install_defaults($user_id); wp_install_maybe_enable_pretty_permalinks(); flush_rewrite_rules(); wp_new_blog_notification($blog_title, $guessurl, $user_id, $email_password ? $user_password : __('The password you chose during the install.')); wp_cache_flush(); /** * Fires after a site is fully installed. * * @since 3.9.0 * * @param WP_User $user The site owner. */ do_action('wp_install', $user); return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $user_password, 'password_message' => $message); }
/** * this function overrides the built in wordpress variant * * @param object $blog_title * @param object $user_name * @param object $user_email * @param object $public * @param object $deprecated [optional] * @return */ function wp_install($blog_title, $user_name, $user_email, $public, $deprecated = '') { global $wp_rewrite, $wpdb; //wp_check_mysql_version(); wp_cache_flush(); /**** changes start here ***/ switch (DB_TYPE) { case 'sqlite': require PDODIR . '/driver_sqlite/schema.php'; installdb(); break; case 'mysql': make_db_current_silent(); break; } /**** changes end ***/ $wpdb->suppress_errors(); populate_options(); populate_roles(); update_option('blogname', $blog_title); update_option('admin_email', $user_email); update_option('blog_public', $public); $guessurl = wp_guess_url(); update_option('siteurl', $guessurl); // If not a public blog, don't ping. if (!$public) { update_option('default_pingback_flag', 0); } // Create default user. If the user already exists, the user tables are // being shared among blogs. Just set the role in that case. $user_id = username_exists($user_name); if (!$user_id) { $random_password = wp_generate_password(); $message = __('<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you.<br><br>���' . $random_password); $user_id = wp_create_user($user_name, $random_password, $user_email); update_usermeta($user_id, 'default_password_nag', true); } else { $random_password = ''; $message = __('User already exists. Password inherited.'); } $user = new WP_User($user_id); $user->set_role('administrator'); wp_install_defaults($user_id); $wp_rewrite->flush_rules(); wp_new_blog_notification($blog_title, $guessurl, $user_id, $random_password); wp_cache_flush(); return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $random_password, 'password_message' => $message); }
/** * Install an empty blog. * * Creates the new blog tables and options. If calling this function * directly, be sure to use switch_to_blog() first, so that $wpdb * points to the new blog. * * @since MU * @uses make_db_current_silent() * @uses populate_roles() * * @param int $blog_id The value returned by insert_blog(). * @param string $blog_title The title of the new site. */ function install_blog($blog_id, $blog_title = '') { global $wpdb, $table_prefix, $wp_roles; $wpdb->suppress_errors(); // Cast for security $blog_id = (int) $blog_id; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; if ($wpdb->get_results("SELECT ID FROM {$wpdb->posts}")) { die(__('<h1>Already Installed</h1><p>You appear to have already installed WordPress. To reinstall please clear your old database tables first.</p>') . '</body></html>'); } $wpdb->suppress_errors(false); $url = get_blogaddress_by_id($blog_id); // Set everything up make_db_current_silent(); populate_options(); populate_roles(); $wp_roles->_init(); // fix url. update_option('siteurl', $url); update_option('home', $url); update_option('fileupload_url', $url . "files"); update_option('upload_path', UPLOADBLOGSDIR . "/{$blog_id}/files"); update_option('blogname', stripslashes($blog_title)); update_option('admin_email', ''); $wpdb->update($wpdb->options, array('option_value' => ''), array('option_name' => 'admin_email')); // remove all perms $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE meta_key = %s", $table_prefix . 'user_level')); $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE meta_key = %s", $table_prefix . 'capabilities')); $wpdb->suppress_errors(false); }
/** * Run WordPress Upgrade functions. * * {@internal Missing Long Description}} * * @since unknown * * @return null */ function wp_upgrade() { global $wp_current_db_version, $wp_db_version, $wpdb; $wp_current_db_version = __get_option('db_version'); // We are up-to-date. Nothing to do. if ($wp_db_version == $wp_current_db_version) { return; } if (!is_blog_installed()) { return; } wp_check_mysql_version(); wp_cache_flush(); pre_schema_upgrade(); make_db_current_silent(); upgrade_all(); if (is_multisite() && is_main_site()) { upgrade_network(); } wp_cache_flush(); if (is_multisite()) { if ($wpdb->get_row("SELECT blog_id FROM {$wpdb->blog_versions} WHERE blog_id = '{$wpdb->blogid}'")) { $wpdb->query("UPDATE {$wpdb->blog_versions} SET db_version = '{$wp_db_version}' WHERE blog_id = '{$wpdb->blogid}'"); } else { $wpdb->query("INSERT INTO {$wpdb->blog_versions} ( `blog_id` , `db_version` , `last_updated` ) VALUES ( '{$wpdb->blogid}', '{$wp_db_version}', NOW());"); } } }
function xpress_oninstall_base($module, $mydirname) { // transations on module install global $ret; // TODO :-D // for Cube 2.1 if (defined('XOOPS_CUBE_LEGACY')) { $root =& XCube_Root::getSingleton(); $root->mDelegateManager->add('Legacy.Admin.Event.ModuleInstall.' . ucfirst($mydirname) . '.Success', 'xpress_message_append_oninstall'); $root->mDelegateManager->add('Legacy.Admin.Event.ModuleInstall.' . ucfirst($mydirname) . '.Fail', 'xpress_message_append_oninstall_err'); $ret = array(); } else { if (!is_array($ret)) { $ret = array(); } } $db =& Database::getInstance(); $mid = $module->getVar('mid'); if (defined('XOOPS_CUBE_LEGACY')) { $ret[] = "********************************* Install Log ********************************<br />"; } else { $ret[] = '<h4 style="border-bottom: 1px dashed rgb(0, 0, 0); text-align: left; margin-bottom: 0px;">Install Log</h4>'; } //xpress global $wpdb, $wp_rewrite, $wp_queries, $table_prefix, $wp_db_version, $wp_roles, $wp_query, $wp_embed; global $xoops_config; define("WP_INSTALLING", true); define('WP_FIRST_INSTALL', true); // For WPMU2.8 $site_url = XOOPS_URL . "/modules/" . $mydirname; $mydirpath = XOOPS_ROOT_PATH . '/modules/' . $mydirname; $path = $mydirpath . '/'; $site_name = ucfirst($mydirname) . ' ' . _MI_XP2_NAME; // permission and wordpress files check require_once $path . 'include/pre_check.php'; if (!xp_permission_check($mydirname, $mydirpath)) { if (!defined('XOOPS_CUBE_LEGACY')) { $ret = $GLOBALS["err_log"]; $ret[] = "<br /><span style=\"color:#ff0000;\">The uninstallation of the module is executed now. </span><br />"; $ret[] = xoops_module_uninstall($mydirname); } return false; } // install WordPress if (file_exists($path . 'wp-load.php')) { require_once $path . 'wp-load.php'; } else { require_once $path . 'wp-config.php'; } include_once $mydirpath . '/wp-admin/upgrade-functions.php'; wp_cache_flush(); make_db_current_silent(); $ret[] = "The data base of wordpress was made by prefix {$table_prefix}.<br />"; $option_desc = __('WordPress web address'); $wpdb->query("INSERT INTO {$wpdb->options} (blog_id, option_name,option_value, autoload) VALUES ('0', 'siteurl','{$site_url}', 'yes')"); $wpdb->query("INSERT INTO {$wpdb->options} (blog_id, option_name,option_value, autoload) VALUES ('0', 'home','{$site_url}', 'yes')"); populate_options(); populate_roles(); // create XPressME table $xp_prefix = preg_replace('/wordpress/', 'wp', $mydirname); $views_table = XOOPS_DB_PREFIX . '_' . $xp_prefix . '_views'; $charset_collate = ''; if (version_compare(mysql_get_server_info(), '4.1.0', '>=')) { if (!empty($wpdb->charset)) { $charset_collate = "DEFAULT CHARACTER SET {$wpdb->charset}"; } if (!empty($wpdb->collate)) { $charset_collate .= " COLLATE {$wpdb->collate}"; } } $views_queries = "CREATE TABLE {$views_table} (\n \t\tblog_id bigint(20) unsigned NOT NULL default '0',\n \t\tpost_id bigint(20) unsigned NOT NULL default '0',\n \t\tpost_views bigint(20) unsigned NOT NULL default '0',\n \t\tKEY post_id (post_id)\n\t\t){$charset_collate};"; dbDelta($views_queries); $ret[] = "{$views_table} table of XPressME was made.<br />"; $d3forum_link = XOOPS_DB_PREFIX . '_' . $xp_prefix . '_d3forum_link'; $views_queries = "CREATE TABLE {$d3forum_link} (\n \t\tcomment_ID bigint(20) unsigned NOT NULL default '0',\n \t\tpost_id int(10) unsigned NOT NULL default '0' ,\n \t\twp_post_ID bigint(20) unsigned NOT NULL default '0',\n \t\tforum_id bigint(20) unsigned NOT NULL default '0',\n \t\tblog_id bigint(20) unsigned NOT NULL default '0',\n \t\tKEY post_id (post_id)\n\t\t){$charset_collate};"; dbDelta($views_queries); $ret[] = "{$d3forum_link} table of XPressME was made.<br />"; $group_role = XOOPS_DB_PREFIX . '_' . $xp_prefix . '_group_role'; $views_queries = "CREATE TABLE {$group_role} (\n \t\tgroupid smallint(5) unsigned NOT NULL default '0',\n \t\tblog_id bigint(20) unsigned NOT NULL default '0',\n \t\tname varchar(50) NOT NULL default '' ,\n \t\tdescription text NOT NULL default '',\n \t\tgroup_type varchar(50) NOT NULL default '' ,\n\t\trole varchar(20) NOT NULL default '' ,\n\t\tlogin_all smallint(5) unsigned NOT NULL default '0' ,\n \t\tKEY groupid (groupid)\n\t\t){$charset_collate};"; dbDelta($views_queries); $ret[] = "{$group_role} table of XPressME was made.<br />"; $notify_reserve = XOOPS_DB_PREFIX . '_' . $xp_prefix . '_notify_reserve'; $queries = "CREATE TABLE {$notify_reserve} (\n \t\tnotify_reserve_id bigint(20) NOT NULL AUTO_INCREMENT ,\n \t\tnotify_reserve_status varchar(20) NOT NULL default '' ,\n \t\tcategory text NOT NULL default '',\n \t\titem_id bigint(20) unsigned NOT NULL default '0',\n\t\tevent varchar(20) NOT NULL default '',\n\t\textra_tags_arry longtext NOT NULL default '' ,\n\t\tuser_list_arry longtext NOT NULL default '' ,\n \t\tmodule_id smallint(5) unsigned NOT NULL default '0' ,\n \t\tomit_user_id varchar(20) NOT NULL default '' ,\n \t\tKEY notify_reserve_id (notify_reserve_id)\n\t\t)ENGINE=MyISAM"; dbDelta($queries); $ret[] = "{$notify_reserve} table of XPressME was made.<br />"; $sql = "INSERT INTO {$group_role} (groupid, role) VALUES (1, 'administrator')"; $wpdb->query($sql); // make templates include_once XOOPS_ROOT_PATH . '/modules/' . $mydirname . '/include/xpress_templates_make.php'; $t_mess = xpress_templates_make($mid, $mydirname); // Admin User Data write // Change uid field $wpdb->query("ALTER TABLE {$wpdb->posts} CHANGE `post_author` `post_author` mediumint(8) NOT NULL DEFAULT '0'"); $user_name = is_object($GLOBALS["xoopsUser"]) ? $GLOBALS["xoopsUser"]->getVar("uname") : 'admin'; $email = is_object($GLOBALS["xoopsUser"]) ? $GLOBALS["xoopsUser"]->getVar("email") : '*****@*****.**'; $pass_md5 = is_object($GLOBALS["xoopsUser"]) ? $GLOBALS["xoopsUser"]->getVar("pass") : ''; add_filter('sanitize_user', "sanitize_user_multibyte", 10, 3); if (!function_exists('username_exists')) { require_once $mydirpath . '/wp-includes/registration-functions.php'; } $user_id = username_exists($user_name); if (!$user_id) { $random_password = '******'; $user_id = wp_create_user($user_name, $random_password, $email); } else { $random_password = __('User already exists. Password inherited.'); } $user = new WP_User($user_id); $user->set_role('administrator'); 'User ' . $user_name . ' of the administrator was made.'; // over write xoops md5 password $sql = "UPDATE {$wpdb->users} SET user_pass ='******' WHERE ID = {$user_id}"; $wpdb->query($sql); $ret[] = 'The password of XOOPS was copied.<br />'; // Set Default data // make WordPress Default data if (function_exists('wp_install_defaults')) { wp_install_defaults($user_id); } else { wp_install_old_defaults($user_id); } $ret[] = 'The first sample post & comment was written.<br />'; // Rewrite Option for Xpress $xoops_config_tbl = XOOPS_DB_PREFIX . '_config'; $sql = "SELECT conf_value FROM {$xoops_config_tbl} WHERE `conf_name` = 'default_TZ'"; $xoops_default_TZ = $wpdb->get_var($sql); update_option('gmt_offset', $xoops_default_TZ); if (WPLANG == 'ja_EUC') { $setup_charset = 'EUC-JP'; } elseif (WPLANG == 'ja_SJIS') { $setup_charset = 'Shift_JIS'; } else { $setup_charset = 'UTF-8'; } update_option("blog_charset", $setup_charset); update_option('blogname', $site_name); update_option('blogdescription', 'WordPress for XOOPS'); update_option("admin_email", $GLOBALS["xoopsConfig"]['adminmail']); update_option("ping_sites", "http://rpc.pingomatic.com/\nhttp://ping.xoopsforge.com/"); update_option("home", $site_url); update_option("siteurl", $site_url); update_option("what_to_show", "posts"); update_option('default_pingback_flag', 0); $ret[] = 'The initial data was written in the data base of wordpress.<br />'; update_option("template", "xpress_default"); update_option("stylesheet", "xpress_default"); $ret[] = 'The default theme of wordpress was set to xpress_default.<br />'; // update_option('uploads_use_yearmonth_folders', 1); update_option('upload_path', 'wp-content/uploads'); // activate the xpressme plugin require_once dirname(__FILE__) . '/xpress_active_plugin.php'; if (xpress_pulugin_activation('xpressme/xpressme.php')) { $ret[] = 'The xpressme plug-in was activated.<br />'; } else { $GLOBALS["err_log"][] = '<span style="color:#ff0000;">failed in the activation of xpressme plug-in.</span><br />'; return false; } $ret = array_merge($ret, $t_mess); return true; }
/** * Run WordPress Upgrade functions. * * {@internal Missing Long Description}} * * @since unknown * * @return null */ function wp_upgrade() { global $wp_current_db_version, $wp_db_version; $wp_current_db_version = __get_option('db_version'); // We are up-to-date. Nothing to do. if ($wp_db_version == $wp_current_db_version) { return; } if (!is_blog_installed()) { return; } wp_check_mysql_version(); wp_cache_flush(); pre_schema_upgrade(); make_db_current_silent(); upgrade_all(); wp_cache_flush(); }
<?php switch($step) { case 0: $goback = attribute_escape(stripslashes(wp_get_referer())); ?> <p><?php _e('This file upgrades you from any previous version of WordPress to the latest. It may take a while though, so be patient.'); ?></p> <h2 class="step"><a href="upgrade.php?step=1&backto=<?php echo $goback; ?>"><?php _e('Upgrade WordPress »'); ?></a></h2> <?php break; case 1: $wp_current_db_version = __get_option('db_version'); if ( $wp_db_version != $wp_current_db_version ) { wp_cache_flush(); make_db_current_silent(); upgrade_all(); wp_cache_flush(); } if ( empty( $_GET['backto'] ) ) $backto = __get_option('home'); else $backto = attribute_escape(stripslashes($_GET['backto'])); ?> <h2><?php _e('Step 1'); ?></h2> <p><?php printf(__("There's actually only one step. So if you see this, you're done. <a href='%s'>Have fun</a>!"), $backto); ?></p> <!-- <pre> <?php printf(__('%s queries'), $wpdb->num_queries); ?>
/** * Install an empty blog. * * Creates the new blog tables and options. If calling this function * directly, be sure to use switch_to_blog() first, so that $wpdb * points to the new blog. * * @since MU * * @global wpdb $wpdb * @global WP_Roles $wp_roles * * @param int $blog_id The value returned by insert_blog(). * @param string $blog_title The title of the new site. */ function install_blog($blog_id, $blog_title = '') { global $wpdb, $wp_roles, $current_site; // Cast for security $blog_id = (int) $blog_id; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $suppress = $wpdb->suppress_errors(); if ($wpdb->get_results("DESCRIBE {$wpdb->posts}")) { die('<h1>' . __('Already Installed') . '</h1><p>' . __('You appear to have already installed WordPress. To reinstall please clear your old database tables first.') . '</p></body></html>'); } $wpdb->suppress_errors($suppress); $url = get_blogaddress_by_id($blog_id); // Set everything up make_db_current_silent('blog'); populate_options(); populate_roles(); // populate_roles() clears previous role definitions so we start over. $wp_roles = new WP_Roles(); $siteurl = $home = untrailingslashit($url); if (!is_subdomain_install()) { if ('https' === parse_url(get_network_option('siteurl'), PHP_URL_SCHEME)) { $siteurl = set_url_scheme($siteurl, 'https'); } if ('https' === parse_url(get_home_url($current_site->blog_id), PHP_URL_SCHEME)) { $home = set_url_scheme($home, 'https'); } } update_option('siteurl', $siteurl); update_option('home', $home); if (get_site_option('ms_files_rewriting')) { update_option('upload_path', UPLOADBLOGSDIR . "/{$blog_id}/files"); } else { update_option('upload_path', get_blog_option(get_current_site()->blog_id, 'upload_path')); } update_option('blogname', wp_unslash($blog_title)); update_option('admin_email', ''); // remove all perms $table_prefix = $wpdb->get_blog_prefix(); delete_metadata('user', 0, $table_prefix . 'user_level', null, true); // delete all delete_metadata('user', 0, $table_prefix . 'capabilities', null, true); // delete all }
function install_blog($blog_id, $blog_title = '') { global $wpdb, $table_prefix, $wp_roles; $wpdb->suppress_errors(); // Cast for security $blog_id = (int) $blog_id; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; if ($wpdb->get_results("SELECT ID FROM {$wpdb->posts}")) { die(__('<h1>Already Installed</h1><p>You appear to have already installed WordPress. To reinstall please clear your old database tables first.</p>') . '</body></html>'); } $wpdb->suppress_errors(false); $url = get_blogaddress_by_id($blog_id); // Set everything up make_db_current_silent(); populate_options(); populate_roles(); $wp_roles->_init(); // fix url. update_option('siteurl', $url); update_option('home', $url); update_option('fileupload_url', $url . "files"); update_option('upload_path', "wp-content/blogs.dir/" . $blog_id . "/files"); update_option('blogname', $blog_title); update_option('admin_email', ''); $wpdb->update($wpdb->options, array('option_value' => ''), array('option_name' => 'admin_email')); // Default category $wpdb->insert($wpdb->terms, array('term_id' => 1, 'name' => __('Uncategorized'), 'slug' => sanitize_title(__('Uncategorized')), 'term_group' => 0)); $wpdb->insert($wpdb->term_taxonomy, array('term_id' => 1, 'taxonomy' => 'category', 'description' => '', 'parent' => 0, 'count' => 1)); // Default link category $cat_name = __('Blogroll'); $cat_slug = sanitize_title($cat_name); $blogroll_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $cat_slug)); if ($blogroll_id == null) { $wpdb->insert($wpdb->sitecategories, array('cat_ID' => 0, 'cat_name' => $cat_name, 'category_nicename' => $cat_slug, 'last_updated' => current_time('mysql', true))); $blogroll_id = $wpdb->insert_id; } $wpdb->insert($wpdb->terms, array('term_id' => $blogroll_id, 'name' => $cat_name, 'slug' => $cat_slug, 'term_group' => 0)); $wpdb->insert($wpdb->term_taxonomy, array('term_id' => $blogroll_id, 'taxonomy' => 'link_category', 'description' => '', 'parent' => 0, 'count' => 2)); update_option('default_link_category', $blogroll_id); // remove all perms $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE meta_key = %s", $table_prefix . 'user_level')); $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE meta_key = %s", $table_prefix . 'capabilities')); $wpdb->suppress_errors(false); }
/** * Install an empty blog. * * Creates the new blog tables and options. If calling this function * directly, be sure to use switch_to_blog() first, so that $wpdb * points to the new blog. * * @since MU * @uses make_db_current_silent() * @uses populate_roles() * * @param int $blog_id The value returned by insert_blog(). * @param string $blog_title The title of the new site. */ function install_blog($blog_id, $blog_title = '') { global $wpdb, $wp_roles, $current_site; // Cast for security $blog_id = (int) $blog_id; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $wpdb->suppress_errors(); if ($wpdb->get_results("DESCRIBE {$wpdb->posts}")) { die('<h1>' . __('Already Installed') . '</h1><p>' . __('You appear to have already installed WordPress. To reinstall please clear your old database tables first.') . '</p></body></html>'); } $wpdb->suppress_errors(false); $url = get_blogaddress_by_id($blog_id); // Set everything up make_db_current_silent('blog'); populate_options(); populate_roles(); $wp_roles->_init(); $url = untrailingslashit($url); update_option('siteurl', $url); update_option('home', $url); if (get_site_option('ms_files_rewriting')) { update_option('upload_path', UPLOADBLOGSDIR . "/{$blog_id}/files"); } else { update_option('upload_path', get_blog_option($current_site->blog_id, 'upload_path')); } update_option('blogname', stripslashes($blog_title)); update_option('admin_email', ''); // remove all perms $table_prefix = $wpdb->get_blog_prefix(); delete_metadata('user', 0, $table_prefix . 'user_level', null, true); // delete all delete_metadata('user', 0, $table_prefix . 'capabilities', null, true); // delete all }
function install_blog($blog_id, $blog_title = '') { global $wpdb, $table_prefix, $wp_roles; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $wpdb->suppress_errors(); $installed = $wpdb->get_results("SELECT * FROM {$wpdb->posts}"); $wpdb->suppress_errors(false); if ($installed) { die(__('<h1>Already Installed</h1><p>You appear to have already installed WordPress. To reinstall please clear your old database tables first.</p>') . '</body></html>'); } $url = get_blogaddress_by_id($blog_id); // Set everything up make_db_current_silent(); populate_options(); populate_roles(); $wp_roles->_init(); // fix url. update_option('siteurl', $url); update_option('home', $url); update_option('fileupload_url', $url . "files"); update_option('upload_path', "wp-content/blogs.dir/" . $blog_id . "/files"); update_option('blogname', $blog_title); update_option('admin_email', ''); $wpdb->query("UPDATE {$wpdb->options} SET option_value = '' WHERE option_name = 'admin_email'"); // Default category $cat_name = $wpdb->escape(__('Uncategorized')); $cat_slug = sanitize_title(__('Uncategorized')); $wpdb->query("INSERT INTO {$wpdb->terms} (term_id, name, slug, term_group) VALUES ('1', '{$cat_name}', '{$cat_slug}', '0')"); $wpdb->query("INSERT INTO {$wpdb->term_taxonomy} (term_id, taxonomy, description, parent, count) VALUES ('1', 'category', '', '0', '1')"); // Default link category $cat_name = $wpdb->escape(__('Blogroll')); $cat_slug = sanitize_title(__('Blogroll')); $blogroll_id = $wpdb->get_var("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = '{$cat_slug}'"); if ($blogroll_id == null) { $wpdb->query("INSERT INTO " . $wpdb->sitecategories . " (cat_ID, cat_name, category_nicename, last_updated) VALUES (0, '{$cat_name}', '{$cat_slug}', NOW())"); $blogroll_id = $wpdb->insert_id; } $wpdb->query("INSERT INTO {$wpdb->terms} (term_id, name, slug, term_group) VALUES ('{$blogroll_id}', '{$cat_name}', '{$cat_slug}', '0')"); $wpdb->query("INSERT INTO {$wpdb->term_taxonomy} (term_id, taxonomy, description, parent, count) VALUES ('{$blogroll_id}', 'link_category', '', '0', '2')"); update_option('default_link_category', $blogroll_id); // remove all perms $wpdb->query("DELETE FROM " . $wpdb->usermeta . " WHERE meta_key = '" . $table_prefix . "user_level'"); $wpdb->query("DELETE FROM " . $wpdb->usermeta . " WHERE meta_key = '" . $table_prefix . "capabilities'"); wp_cache_delete('notoptions', 'options'); wp_cache_delete('alloptions', 'options'); $wpdb->suppress_errors(false); }
function wp_upgrade() { global $wp_current_db_version, $wp_db_version; $wp_current_db_version = __get_option('db_version'); // We are up-to-date. Nothing to do. if ( $wp_db_version == $wp_current_db_version ) return; wp_check_mysql_version(); wp_cache_flush(); make_db_current_silent(); upgrade_all(); wp_cache_flush(); }
/** * Runs WordPress Upgrade functions. * * Upgrades the database if needed during a site update. * * @since 2.1.0 * * @global int $wp_current_db_version * @global int $wp_db_version * @global wpdb $wpdb */ function wp_upgrade() { global $wp_current_db_version, $wp_db_version, $wpdb; $wp_current_db_version = __get_option('db_version'); // We are up-to-date. Nothing to do. if ( $wp_db_version == $wp_current_db_version ) return; if ( ! is_blog_installed() ) return; wp_check_mysql_version(); wp_cache_flush(); pre_schema_upgrade(); make_db_current_silent(); upgrade_all(); if ( is_multisite() && is_main_site() ) upgrade_network(); wp_cache_flush(); if ( is_multisite() ) { if ( $wpdb->get_row( "SELECT blog_id FROM {$wpdb->blog_versions} WHERE blog_id = '{$wpdb->blogid}'" ) ) $wpdb->query( "UPDATE {$wpdb->blog_versions} SET db_version = '{$wp_db_version}' WHERE blog_id = '{$wpdb->blogid}'" ); else $wpdb->query( "INSERT INTO {$wpdb->blog_versions} ( `blog_id` , `db_version` , `last_updated` ) VALUES ( '{$wpdb->blogid}', '{$wp_db_version}', NOW());" ); } /** * Fires after a site is fully upgraded. * * @since 3.9.0 * * @param int $wp_db_version The new $wp_db_version. * @param int $wp_current_db_version The old (current) $wp_db_version. */ do_action( 'wp_upgrade', $wp_db_version, $wp_current_db_version ); }
/** * Runs WordPress Upgrade functions. * * Upgrades the database if needed during a site update. * * @since 2.1.0 * * @global int $wp_current_db_version * @global int $wp_db_version * @global wpdb $wpdb WordPress database abstraction object. */ function wp_upgrade() { global $wp_current_db_version, $wp_db_version, $wpdb; $wp_current_db_version = __get_option('db_version'); // We are up-to-date. Nothing to do. if ($wp_db_version == $wp_current_db_version) { return; } if (!is_blog_installed()) { return; } wp_check_mysql_version(); wp_cache_flush(); pre_schema_upgrade(); make_db_current_silent(); upgrade_all(); wp_cache_flush(); /** * Fires after a site is fully upgraded. * * @since 3.9.0 * * @param int $wp_db_version The new $wp_db_version. * @param int $wp_current_db_version The old (current) $wp_db_version. */ do_action('wp_upgrade', $wp_db_version, $wp_current_db_version); }