WordPress.org

Make WordPress Core

Ticket #6278: 6278-1.diff

File 6278-1.diff, 2.3 KB (added by andy, 14 years ago)

new apache mod detection

  • wp-includes/functions.php

     
    17131713        $server_parts[1] = isset( $server_parts[1] )? $server_parts[1] : '';
    17141714        return  'lighttpd' == $server_parts[0] && -1 == version_compare( $server_parts[1], '1.5.0' );
    17151715}
     1716
     1717/**
     1718 * apache_mod_loaded() - Does the specified module exist in the apache config?
     1719 *
     1720 * @param string $mod e.g. mod_rewrite
     1721 * @return bool
     1722 */
     1723function apache_mod_loaded($mod) {
     1724        global $is_apache;
     1725
     1726        if ( !$is_apache )
     1727                return false;
     1728
     1729        if ( function_exists('apache_get_modules') ) {
     1730                $mods = apache_get_modules();
     1731                if ( in_array($mod, $mods) )
     1732                        return true;
     1733        } else {
     1734                        ob_start();
     1735                        phpinfo(8);
     1736                        $phpinfo = ob_get_clean();
     1737                        if ( false !== strpos($phpinfo, $mod) )
     1738                                return true;
     1739        }
     1740        return false;
     1741}
     1742
    17161743?>
  • wp-admin/includes/misc.php

     
    11<?php
    22
    33function got_mod_rewrite() {
    4         global $is_apache;
    5 
    6         // take 3 educated guesses as to whether or not mod_rewrite is available
    7         if ( !$is_apache )
    8                 return false;
    9 
    10         if ( function_exists( 'apache_get_modules' ) ) {
    11                 if ( !in_array( 'mod_rewrite', apache_get_modules() ) )
    12                         return false;
    13         }
    14 
    15         return true;
     4        return apache_mod_loaded('mod_rewrite');
    165}
    176
    187// Returns an array of strings from a file (.htaccess ) from between BEGIN
  • wp-admin/includes/media.php

     
    779779        $flash_action_url = get_option('siteurl') . "/wp-admin/async-upload.php";
    780780
    781781        // If Mac and mod_security, no Flash. :(
    782         if ( function_exists('apache_getenv') && false !== strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'mac') && 'on' == strtolower(apache_getenv('MODSEC_ENABLE')) )
     782        $flash = true;
     783        if ( false !== strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'mac') && apache_mod_loaded('mod_security') )
    783784                $flash = false;
    784         else
    785                 $flash = true;
    786785
    787786        $post_id = intval($_REQUEST['post_id']);
    788787