]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/includes/misc.php
Wordpress 3.2
[autoinstalls/wordpress.git] / wp-admin / includes / misc.php
index 1ecb3a05ca07830cac491bc1fff7d650b8dac2ab..a0db0ad05456b4794e75f6ba5e1ffdfed11de207 100644 (file)
@@ -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;
@@ -366,42 +373,6 @@ function set_screen_options() {
        }
 }
 
-function wp_menu_unfold() {
-       if ( isset($_GET['unfoldmenu']) ) {
-               delete_user_setting('mfold');
-               wp_redirect( remove_query_arg( 'unfoldmenu', stripslashes($_SERVER['REQUEST_URI']) ) );
-               exit;
-       }
-}
-
-/**
- * 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 +532,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;
 }
 
 /**