X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/699231ae09f7057a4d0000cdf32e50a3df6a04ca..e9d988989fe37ab8c5f903e47fbe36e6e00dc51f:/wp-admin/includes/misc.php diff --git a/wp-admin/includes/misc.php b/wp-admin/includes/misc.php index 1ecb3a05..d8ab0fca 100644 --- a/wp-admin/includes/misc.php +++ b/wp-admin/includes/misc.php @@ -9,7 +9,7 @@ /** * {@internal Missing Short Description}} * - * @since unknown + * @since 2.0.0 * * @return unknown */ @@ -21,7 +21,7 @@ function got_mod_rewrite() { /** * {@internal Missing Short Description}} * - * @since unknown + * @since 1.5.0 * * @param unknown_type $filename * @param unknown_type $marker @@ -57,7 +57,7 @@ function extract_from_markers( $filename, $marker ) { * BEGIN and END markers. Replaces existing marked info. Retains surrounding * data. Creates file if none exists. * - * @since unknown + * @since 1.5.0 * * @param unknown_type $filename * @param unknown_type $marker @@ -117,7 +117,7 @@ function insert_with_markers( $filename, $marker, $insertion ) { * Always writes to the file if it exists and is writable to ensure that we * blank out old rules. * - * @since unknown + * @since 1.5.0 */ function save_mod_rewrite_rules() { if ( is_multisite() ) @@ -149,20 +149,21 @@ function save_mod_rewrite_rules() { * @return bool True if web.config was updated successfully */ function iis7_save_url_rewrite_rules(){ + if ( is_multisite() ) + return; + global $wp_rewrite; $home_path = get_home_path(); $web_config_file = $home_path . 'web.config'; // Using win_is_writable() instead of is_writable() because of a bug in Windows PHP - if ( ( ! file_exists($web_config_file) && win_is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks() ) || win_is_writable($web_config_file) ) { - if ( iis7_supports_permalinks() ) { - $rule = $wp_rewrite->iis7_url_rewrite_rules(false, '', ''); - if ( ! empty($rule) ) { - return iis7_add_rewrite_rule($web_config_file, $rule); - } else { - return iis7_delete_rewrite_rule($web_config_file); - } + if ( iis7_supports_permalinks() && ( ( ! file_exists($web_config_file) && win_is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks() ) || win_is_writable($web_config_file) ) ) { + $rule = $wp_rewrite->iis7_url_rewrite_rules(false, '', ''); + if ( ! empty($rule) ) { + return iis7_add_rewrite_rule($web_config_file, $rule); + } else { + return iis7_delete_rewrite_rule($web_config_file); } } return false; @@ -171,7 +172,7 @@ function iis7_save_url_rewrite_rules(){ /** * {@internal Missing Short Description}} * - * @since unknown + * @since 1.5.0 * * @param unknown_type $file */ @@ -193,7 +194,7 @@ function update_recently_edited( $file ) { /** * If siteurl or home changed, flush rewrite rules. * - * @since unknown + * @since 2.1.0 * * @param unknown_type $old_value * @param unknown_type $value @@ -212,12 +213,12 @@ add_action( 'update_option_home', 'update_home_siteurl', 10, 2 ); add_action( 'update_option_siteurl', 'update_home_siteurl', 10, 2 ); /** - * {@internal Missing Short Description}} + * Shorten an URL, to be used as link text * - * @since unknown + * @since 1.2.1 * - * @param unknown_type $url - * @return unknown + * @param string $url + * @return string */ function url_shorten( $url ) { $short_url = str_replace( 'http://', '', stripslashes( $url )); @@ -236,7 +237,7 @@ function url_shorten( $url ) { * in the $vars array to the value of $_POST[$var] or $_GET[$var] or '' * if neither is defined. * - * @since unknown + * @since 2.0.0 * * @param array $vars An array of globals to reset. */ @@ -259,7 +260,7 @@ function wp_reset_vars( $vars ) { /** * {@internal Missing Short Description}} * - * @since unknown + * @since 2.1.0 * * @param unknown_type $message */ @@ -343,12 +344,18 @@ function set_screen_options() { switch ( $map_option ) { case 'edit_per_page': - case 'ms_sites_per_page': - case 'ms_users_per_page': + case 'users_per_page': case 'edit_comments_per_page': case 'upload_per_page': case 'edit_tags_per_page': case 'plugins_per_page': + // Network admin + case 'sites_network_per_page': + case 'users_network_per_page': + case 'site_users_network_per_page': + case 'plugins_network_per_page': + case 'themes_network_per_page': + case 'site_themes_network_per_page': $value = (int) $value; if ( $value < 1 || $value > 999 ) return; @@ -374,34 +381,6 @@ function wp_menu_unfold() { } } -/** - * Check if IIS 7 supports pretty permalinks - * - * @since 2.8.0 - * - * @return bool - */ -function iis7_supports_permalinks() { - global $is_iis7; - - $supports_permalinks = false; - if ( $is_iis7 ) { - /* First we check if the DOMDocument class exists. If it does not exist, - * which is the case for PHP 4.X, then we cannot easily update the xml configuration file, - * hence we just bail out and tell user that pretty permalinks cannot be used. - * This is not a big issue because PHP 4.X is going to be depricated and for IIS it - * is recommended to use PHP 5.X NTS. - * Next we check if the URL Rewrite Module 1.1 is loaded and enabled for the web site. When - * URL Rewrite 1.1 is loaded it always sets a server variable called 'IIS_UrlRewriteModule'. - * Lastly we make sure that PHP is running via FastCGI. This is important because if it runs - * via ISAPI then pretty permalinks will not work. - */ - $supports_permalinks = class_exists('DOMDocument') && isset($_SERVER['IIS_UrlRewriteModule']) && ( php_sapi_name() == 'cgi-fcgi' ); - } - - return apply_filters('iis7_supports_permalinks', $supports_permalinks); -} - /** * Check if rewrite rule for WordPress already exists in the IIS 7 configuration file * @@ -561,29 +540,29 @@ function saveDomDocument($doc, $filename) { * * @since 2.8.0 * - * @param object $path + * @param string $path * @return bool */ -function win_is_writable($path) { +function win_is_writable( $path ) { /* will work in despite of Windows ACLs bug * NOTE: use a trailing slash for folders!!! * see http://bugs.php.net/bug.php?id=27609 * see http://bugs.php.net/bug.php?id=30931 */ - if ( $path{strlen($path)-1} == '/' ) // recursively return a temporary file path - return win_is_writable($path . uniqid(mt_rand()) . '.tmp'); - else if ( is_dir($path) ) - return win_is_writable($path . '/' . uniqid(mt_rand()) . '.tmp'); - // check tmp file for read/write capabilities - $rm = file_exists($path); - $f = @fopen($path, 'a'); - if ($f===false) - return false; - fclose($f); - if ( ! $rm ) - unlink($path); - return true; + if ( $path[strlen( $path ) - 1] == '/' ) // recursively return a temporary file path + return win_is_writable( $path . uniqid( mt_rand() ) . '.tmp'); + else if ( is_dir( $path ) ) + return win_is_writable( $path . '/' . uniqid( mt_rand() ) . '.tmp' ); + // check tmp file for read/write capabilities + $should_delete_tmp_file = !file_exists( $path ); + $f = @fopen( $path, 'a' ); + if ( $f === false ) + return false; + fclose( $f ); + if ( $should_delete_tmp_file ) + unlink( $path ); + return true; } /**