Advertisements

populate_options

Definition:
function populate_options() {}

Create WordPress options and set the default values.

Defined actions

  • populate_options
    do_action('populate_options');

Source code

function populate_options() {

	global $wpdb, $wp_db_version, $current_site;



	$guessurl = wp_guess_url();



	do_action('populate_options');



	if ( ini_get('safe_mode') ) {

		// Safe mode can break mkdir() so use a flat structure by default.

		$uploads_use_yearmonth_folders = 0;

	} else {

		$uploads_use_yearmonth_folders = 1;

	}



	$options = array(

	'siteurl' => $guessurl,

	'blogname' => __('My Site'),

	/* translators: blog tagline */

	'blogdescription' => __('Just another WordPress site'),

	'users_can_register' => 0,

	'admin_email' => 'you@example.com',

	'start_of_week' => 1,

	'use_balanceTags' => 0,

	'use_smilies' => 1,

	'require_name_email' => 1,

	'comments_notify' => 1,

	'posts_per_rss' => 10,

	'rss_use_excerpt' => 0,

	'mailserver_url' => 'mail.example.com',

	'mailserver_login' => 'login@example.com',

	'mailserver_pass' => 'password',

	'mailserver_port' => 110,

	'default_category' => 1,

	'default_comment_status' => 'open',

	'default_ping_status' => 'open',

	'default_pingback_flag' => 1,

	'default_post_edit_rows' => 20,

	'posts_per_page' => 10,

	/* translators: default date format, see http://php.net/date */

	'date_format' => __('F j, Y'),

	/* translators: default time format, see http://php.net/date */

	'time_format' => __('g:i a'),

	/* translators: links last updated date format, see http://php.net/date */

	'links_updated_date_format' => __('F j, Y g:i a'),

	'links_recently_updated_prepend' => '<em>',

	'links_recently_updated_append' => '</em>',

	'links_recently_updated_time' => 120,

	'comment_moderation' => 0,

	'moderation_notify' => 1,

	'permalink_structure' => '',

	'gzipcompression' => 0,

	'hack_file' => 0,

	'blog_charset' => 'UTF-8',

	'moderation_keys' => '',

	'active_plugins' => array(),

	'home' => $guessurl,

	'category_base' => '',

	'ping_sites' => 'http://rpc.pingomatic.com/',

	'advanced_edit' => 0,

	'comment_max_links' => 2,

	'gmt_offset' => date('Z') / 3600,



	// 1.5

	'default_email_category' => 1,

	'recently_edited' => '',

	'template' => WP_DEFAULT_THEME,

	'stylesheet' => WP_DEFAULT_THEME,

	'comment_whitelist' => 1,

	'blacklist_keys' => '',

	'comment_registration' => 0,

	'rss_language' => 'en',

	'html_type' => 'text/html',



	// 1.5.1

	'use_trackback' => 0,



	// 2.0

	'default_role' => 'subscriber',

	'db_version' => $wp_db_version,



	// 2.0.1

	'uploads_use_yearmonth_folders' => $uploads_use_yearmonth_folders,

	'upload_path' => '',



	// 2.1

	'blog_public' => '1',

	'default_link_category' => 2,

	'show_on_front' => 'posts',



	// 2.2

	'tag_base' => '',



	// 2.5

	'show_avatars' => '1',

	'avatar_rating' => 'G',

	'upload_url_path' => '',

	'thumbnail_size_w' => 150,

	'thumbnail_size_h' => 150,

	'thumbnail_crop' => 1,

	'medium_size_w' => 300,

	'medium_size_h' => 300,



	// 2.6

	'avatar_default' => 'mystery',

	'enable_app' => 0,

	'enable_xmlrpc' => 0,



	// 2.7

	'large_size_w' => 1024,

	'large_size_h' => 1024,

	'image_default_link_type' => 'file',

	'image_default_size' => '',

	'image_default_align' => '',

	'close_comments_for_old_posts' => 0,

	'close_comments_days_old' => 14,

	'thread_comments' => 1,

	'thread_comments_depth' => 5,

	'page_comments' => 0,

	'comments_per_page' => 50,

	'default_comments_page' => 'newest',

	'comment_order' => 'asc',

	'sticky_posts' => array(),

	'widget_categories' => array(),

	'widget_text' => array(),

	'widget_rss' => array(),



	// 2.8

	'timezone_string' => '',



	// 2.9

	'embed_autourls' => 1,

	'embed_size_w' => '',

	'embed_size_h' => 600,



	// 3.0

	'page_for_posts' => 0,

	'page_on_front' => 0,



	// 3.1

	'default_post_format' => 0,

	);



	// 3.0 multisite

	if ( is_multisite() ) {

		/* translators: blog tagline */

		$options[ 'blogdescription' ] = sprintf(__('Just another %s site'), $current_site->site_name );

		$options[ 'permalink_structure' ] = '/%year%/%monthnum%/%day%/%postname%/';

	}



	// Set autoload to no for these options

	$fat_options = array( 'moderation_keys', 'recently_edited', 'blacklist_keys' );



	$existing_options = $wpdb->get_col("SELECT option_name FROM $wpdb->options");



	$insert = '';

	foreach ( $options as $option => $value ) {

		if ( in_array($option, $existing_options) )

			continue;

		if ( in_array($option, $fat_options) )

			$autoload = 'no';

		else

			$autoload = 'yes';



		$option = $wpdb->escape($option);

		if ( is_array($value) )

			$value = serialize($value);

		$value = $wpdb->escape($value);

		if ( !empty($insert) )

			$insert .= ', ';

		$insert .= "('$option', '$value', '$autoload')";

	}



	if ( !empty($insert) )

		$wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES " . $insert);



	// in case it is set, but blank, update "home"

	if ( !__get_option('home') ) update_option('home', $guessurl);



	// Delete unused options

	$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins', 'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page', 'wporg_popular_tags', 'what_to_show');

	foreach ( $unusedoptions as $option )

		delete_option($option);



	// delete obsolete magpie stuff

	$wpdb->query("DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'");

}

2525

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: