WordPress.org

Make WordPress Core

Ticket #19268: htaccesscheckv2.diff

File htaccesscheckv2.diff, 2.7 KB (added by ldebrouwer, 4 years ago)
  • wp-admin/options-permalink.php

     
    124124else 
    125125        $usingpi = false; 
    126126 
     127if (isset($_POST['submit'])) : 
     128        $requpdate = true; 
     129        if ( ! $iis7_permalinks ) { 
     130                $content = @file_get_contents($home_path . '.htaccess'); 
     131                if ( $content && preg_match('/# BEGIN WordPress([^#]*)# END WordPress/im', $content, $matches) ) { 
     132                        if ( isset ( $matches[1] ) && ( trim( $wp_rewrite->mod_rewrite_rules() ) == trim( $matches[1] ) ) ) { 
     133                                $requpdate = false; 
     134                        } else { 
     135                                $requpdate = true; 
     136                        } 
     137                } 
     138        } 
     139endif; 
     140 
    127141$wp_rewrite->flush_rules(); 
    128142 
    129  
    130 if (isset($_POST['submit'])) : ?> 
     143if (isset($_POST['submit'])) : 
     144        if ( $requpdate ) { 
     145?> 
    131146<div id="message" class="updated"><p><?php 
    132 if ( ! is_multisite() ) { 
    133         if ( $iis7_permalinks ) { 
    134                 if ( $permalink_structure && ! $usingpi && ! $writable ) 
    135                         _e('You should update your web.config now'); 
    136                 else if ( $permalink_structure && ! $usingpi && $writable ) 
    137                         _e('Permalink structure updated. Remove write access on web.config file now!'); 
    138                 else 
    139                         _e('Permalink structure updated'); 
     147        if ( ! is_multisite() ) { 
     148                if ( $iis7_permalinks ) { 
     149                        if ( $permalink_structure && ! $usingpi && ! $writable ) 
     150                                _e('You should update your web.config now'); 
     151                        else if ( $permalink_structure && ! $usingpi && $writable ) 
     152                                _e('Permalink structure updated. Remove write access on web.config file now!'); 
     153                        else 
     154                                _e('Permalink structure updated'); 
     155                } else { 
     156                        if ( $permalink_structure && ! $usingpi && ! $writable ) 
     157                                _e('You should update your .htaccess now.'); 
     158                        else 
     159                                _e('Permalink structure updated.'); 
     160                } 
    140161        } else { 
    141                 if ( $permalink_structure && ! $usingpi && ! $writable ) 
    142                         _e('You should update your .htaccess now.'); 
    143                 else 
    144                         _e('Permalink structure updated.'); 
     162                _e('Permalink structure updated.'); 
    145163        } 
    146 } else { 
    147         _e('Permalink structure updated.'); 
    148 } 
    149164?> 
    150165</p></div> 
     166<?php } ?> 
    151167<?php endif; ?> 
    152168 
    153169<div class="wrap"> 
     
    252268                <?php endif; ?> 
    253269        <?php endif; ?> 
    254270<?php else : 
    255         if ( $permalink_structure && ! $usingpi && ! $writable ) : ?> 
     271        if ( $permalink_structure && ! $usingpi && ! $writable && $requpdate ) : ?> 
    256272<p><?php _e('If your <code>.htaccess</code> file were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so these are the mod_rewrite rules you should have in your <code>.htaccess</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all.') ?></p> 
    257273<form action="options-permalink.php" method="post"> 
    258274<?php wp_nonce_field('update-permalink') ?>