Make WordPress Core

Changeset 12978


Ignore:
Timestamp:
02/05/2010 09:49:19 PM (15 years ago)
Author:
ryan
Message:

Introduce get_home_url(), get_site_url(), and get_admin_url() for fetching urls by blog id. see #12119

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/ms-edit.php

    r12946 r12978  
    208208
    209209        if ( $_POST['update_home_url'] == 'update' ) {
    210             if ( get_option( 'siteurl' ) != 'http://' . $_POST['blog']['domain'] . $_POST['blog']['path'] )
    211                 update_option( 'siteurl', 'http://' . $_POST['blog']['domain'] . $_POST['blog']['path'] );
    212 
    213             if ( get_option( 'home' ) != 'http://' . $_POST['blog']['domain'] . $_POST['blog']['path'] )
    214                 update_option( 'home', 'http://' . $_POST['blog']['domain'] . $_POST['blog']['path'] );
     210            $blog_address = get_blogaddress_by_domain($_POST['blog']['domain'], $_POST['blog']['path']);
     211            if ( get_option( 'siteurl' ) !=  $blog_address )
     212                update_option( 'siteurl', $blog_address);
     213
     214            if ( get_option( 'home' ) != $blog_address )
     215                update_option( 'home', $blog_address );
    215216        }
    216217
  • trunk/wp-admin/ms-options.php

    r12946 r12978  
    3939                <th scope="row"><?php _e('Site Admin Email') ?></th>
    4040                <td>
    41                     <input name="admin_email" type="text" id="admin_email" style="width: 95%" value="<?php echo esc_attr( stripslashes( get_site_option('admin_email') ) ) ?>" size="45" />
     41                    <input name="admin_email" type="text" id="admin_email" style="width: 95%" value="<?php echo esc_attr( get_site_option('admin_email') ) ?>" size="45" />
    4242                    <br />
    4343                    <?php printf( __( 'Registration and support mails will come from this address. Make it generic like "support@%s"' ), $current_site->domain ); ?>
  • trunk/wp-admin/ms-sites.php

    r12949 r12978  
    8383        <div class="wrap">
    8484        <?php screen_icon(); ?>
    85         <h2><?php _e('Edit Site'); ?> - <a href='http://<?php echo $details->domain . $details->path; ?>'>http://<?php echo $details->domain . $details->path; ?></a></h2>
     85        <h2><?php _e('Edit Site'); ?> - <a href='<?php echo get_home_url($id); ?>'><?php echo get_home_url($id); ?></a></h2>
    8686        <form method="post" action="ms-edit.php?action=updateblog">
    8787            <?php wp_nonce_field('editblog'); ?>
     
    9494                            <tr class="form-field form-required">
    9595                                <th scope="row"><?php _e('Domain') ?></th>
    96                                 <td>http://<input name="blog[domain]" type="text" id="domain" value="<?php echo $details->domain ?>" size="33" /></td>
     96                                <td>http://<input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr($details->domain) ?>" size="33" /></td>
    9797                            </tr>
    9898                            <tr class="form-field form-required">
    9999                                <th scope="row"><?php _e('Path') ?></th>
    100100                                <td><input name="blog[path]" type="text" id="path" value="<?php echo esc_attr($details->path) ?>" size="40" style='margin-bottom:5px;' />
    101                                 <br /><input type='checkbox' style='width:20px;' name='update_home_url' value='update' <?php if ( get_blog_option( $id, 'siteurl' ) == preg_replace('|/+$|', '', 'http://' . $details->domain . $details->path) || get_blog_option( $id, 'home' ) == preg_replace('|/+$|', '', 'http://' . $details->domain . $details->path) ) echo 'checked="checked"'; ?> /> <?php _e( "Update 'siteurl' and 'home' as well." ); ?></td>
     101                                <br /><input type='checkbox' style='width:20px;' name='update_home_url' value='update' <?php if ( get_blog_option( $id, 'siteurl' ) == untrailingslashit( get_blogaddress_by_id($id) ) || get_blog_option( $id, 'home' ) == untrailingslashit( get_blogaddress_by_id($id) ) ) echo 'checked="checked"'; ?> /> <?php _e( "Update 'siteurl' and 'home' as well." ); ?></td>
    102102                            </tr>
    103103                            <tr class="form-field">
     
    447447            if ( $blog_list ) {
    448448                $status_list = array( 'archived' => array( 'site-archived', __('Archived') ), 'spam' => array( 'site-spammed', __('Spam') ), 'deleted' => array( 'site-deleted', __('Deleted') ) );
     449                $class = '';
    449450                foreach ( $blog_list as $blog ) {
    450451                    $class = ('alternate' == $class) ? '' : 'alternate';
     
    491492                                    $actions    = array();
    492493                                    $actions[]  = '<a href="ms-sites.php?action=editblog&amp;id=' . $blog['blog_id'] . '" class="edit">' . __('Edit') . '</a>';
    493                                     $actions[]  = "<a href='{$protocol}{$blog['domain']}{$blog['path']}wp-admin/' class='edit'>" . __('Backend') . '</a>';
     494                                    $actions[]  = "<a href='" . get_admin_url($blog['blog_id']) . "' class='edit'>" . __('Backend') . '</a>';
    494495
    495496                                    if ( get_blog_status( $blog['blog_id'], "deleted" ) == '1' )
     
    510511                                    $actions[]  = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=deleteblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to delete the blog %s" ), $blogname ) ) . '">' . __("Delete") . '</a>';
    511512
    512                                     $actions[]  = "<a href='http://{$blog['domain']}{$blog['path']}' rel='permalink'>" . __('Visit') . '</a>';
     513                                    $actions[]  = "<a href='" . get_home_url($blog['blog_id']) . "' rel='permalink'>" . __('Visit') . '</a>';
    513514                                    ?>
    514515
     
    543544                                        if ( count( $blogusers ) > 5 ) {
    544545                                            $blogusers = array_slice( $blogusers, 0, 5 );
    545                                             $blogusers_warning = __( 'Only showing first 5 users.' ) . ' <a href="' . $protocol . $blog[ 'domain' ] . $blog[ 'path' ] . 'wp-admin/users.php">' . __( 'More' ) . '</a>';
     546                                            $blogusers_warning = __( 'Only showing first 5 users.' ) . ' <a href="' . get_admin_url($blog['blog_id'], 'users.php') . '">' . __( 'More' ) . '</a>';
    546547                                        }
    547548                                        foreach ( $blogusers as $key => $val )
  • trunk/wp-includes/link-template.php

    r12971 r12978  
    17331733
    17341734/**
    1735  * Retrieve the home url.
     1735 * Retrieve the home url for the current site.
    17361736 *
    17371737 * Returns the 'home' option with the appropriate protocol,  'https' if
     
    17401740 *
    17411741 * @package WordPress
    1742  * @since 3.0
     1742 * @since 3.0.0
     1743 *
     1744 * @uses get_home_url()
    17431745 *
    17441746 * @param  string $path   (optional) Path relative to the home url.
     
    17471749*/
    17481750function home_url( $path = '', $scheme = null ) {
     1751    return get_home_url(null, $path, $scheme);
     1752}
     1753
     1754/**
     1755 * Retrieve the home url for a given site.
     1756 *
     1757 * Returns the 'home' option with the appropriate protocol,  'https' if
     1758 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
     1759 * overridden.
     1760 *
     1761 * @package WordPress
     1762 * @since 3.0.0
     1763 *
     1764 * @param  int $blog_id   (optional) Blog ID. Defaults to current blog.
     1765 * @param  string $path   (optional) Path relative to the home url.
     1766 * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http','https'
     1767 * @return string Home url link with optional path appended.
     1768*/
     1769function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
    17491770    $orig_scheme = $scheme;
    17501771    $scheme      = is_ssl() && !is_admin() ? 'https' : 'http';
    1751     $url = str_replace( 'http://', "$scheme://", get_option('home') );
     1772
     1773    if ( empty($blog_id) || !is_multisite() )
     1774        $home = get_option('home');
     1775    else
     1776        $home = untrailingslashit(get_blogaddress_by_id($blog_id));
     1777
     1778    $url = str_replace( 'http://', "$scheme://", $home );
    17521779
    17531780    if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
    17541781        $url .= '/' . ltrim( $path, '/' );
    17551782
    1756     return apply_filters( 'home_url', $url, $path, $orig_scheme );
    1757 }
    1758 
    1759 /**
    1760  * Retrieve the site url.
     1783    return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id );
     1784}
     1785
     1786/**
     1787 * Retrieve the site url for the current site.
    17611788 *
    17621789 * Returns the 'site_url' option with the appropriate protocol,  'https' if
     
    17661793 * @package WordPress
    17671794 * @since 2.6.0
     1795 *
     1796 * @uses get_site_url()
    17681797 *
    17691798 * @param string $path Optional. Path relative to the site url.
     
    17711800 * @return string Site url link with optional path appended.
    17721801*/
    1773 function site_url($path = '', $scheme = null) {
     1802function site_url( $path = '', $scheme = null ) {
     1803    return get_site_url(null, $path, $scheme);
     1804}
     1805
     1806/**
     1807 * Retrieve the site url for a given site.
     1808 *
     1809 * Returns the 'site_url' option with the appropriate protocol,  'https' if
     1810 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
     1811 * overridden.
     1812 *
     1813 * @package WordPress
     1814 * @since 3.0.0
     1815 *
     1816 * @param int $blog_id (optional) Blog ID. Defaults to current blog.
     1817 * @param string $path Optional. Path relative to the site url.
     1818 * @param string $scheme Optional. Scheme to give the site url context. Currently 'http','https', 'login', 'login_post', or 'admin'.
     1819 * @return string Site url link with optional path appended.
     1820*/
     1821function get_site_url( $blog_id = null, $path = '', $scheme = null ) {
    17741822    // should the list of allowed schemes be maintained elsewhere?
    17751823    $orig_scheme = $scheme;
     
    17851833    }
    17861834
    1787     $url = str_replace( 'http://', "{$scheme}://", get_option('siteurl') );
     1835    if ( empty($blog_id) || !is_multisite() )
     1836        $url = get_option('siteurl');
     1837    else
     1838        $url = untrailingslashit(get_blogaddress_by_id($blog_id));
     1839
     1840    $url = str_replace( 'http://', "{$scheme}://", $url );
    17881841
    17891842    if ( !empty($path) && is_string($path) && strpos($path, '..') === false )
    17901843        $url .= '/' . ltrim($path, '/');
    17911844
    1792     return apply_filters('site_url', $url, $path, $orig_scheme);
    1793 }
    1794 
    1795 /**
    1796  * Retrieve the url to the admin area.
     1845    return apply_filters('site_url', $url, $path, $orig_scheme, $blog_id);
     1846}
     1847
     1848/**
     1849 * Retrieve the url to the admin area for the current site.
    17971850 *
    17981851 * @package WordPress
     
    18021855 * @return string Admin url link with optional path appended
    18031856*/
    1804 function admin_url($path = '') {
    1805     $url = site_url('wp-admin/', 'admin');
     1857function admin_url( $path = '' ) {
     1858    return get_admin_url(null, $path);
     1859}
     1860
     1861/**
     1862 * Retrieve the url to the admin area for a given site.
     1863 *
     1864 * @package WordPress
     1865 * @since 3.0.0
     1866 *
     1867 * @param int $blog_id (optional) Blog ID. Defaults to current blog.
     1868 * @param string $path Optional path relative to the admin url
     1869 * @return string Admin url link with optional path appended
     1870*/
     1871function get_admin_url( $blog_id = null, $path = '' ) {
     1872    $url = get_site_url($blog_id, 'wp-admin/', 'admin');
    18061873
    18071874    if ( !empty($path) && is_string($path) && strpos($path, '..') === false )
    18081875        $url .= ltrim($path, '/');
    18091876
    1810     return apply_filters('admin_url', $url, $path);
     1877    return apply_filters('admin_url', $url, $path, $blog_id);
    18111878}
    18121879
Note: See TracChangeset for help on using the changeset viewer.