Plugin Directory

Changeset 1725416


Ignore:
Timestamp:
09/06/2017 09:17:14 AM (9 years ago)
Author:
rehmatworks
Message:

Updating to version 1.1

Location:
wp-ssl-redirect
Files:
3 edited
2 copied

Legend:

Unmodified
Added
Removed
  • wp-ssl-redirect/tags/1.1/trunk/readme.txt

    r1662712 r1725416  
    44Requires at least: 3.95
    55Tested up to: 4.7.5
    6 Stable tag: 1.0
     6Stable tag: 1.1
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    3131
    3232== Changelog ==
    33 none
     331.1 Added options to force www or non-www
  • wp-ssl-redirect/tags/1.1/trunk/wp-ssl-redirect.php

    r1662709 r1725416  
    44* Plugin Name: WP SSL Redirect
    55* Description: A very tiny plugin to force SSL on WordPress websites (via 301 redirects for SEO purpose).
    6 * Version: 1.0
     6* Version: 1.1
    77* Author: Rehmat Alam
    88* Author URI: https://supportivehands.net/
     
    1212defined( 'ABSPATH' ) or die(); // Prevents direct access to pluin dir
    1313
     14add_action('admin_menu', function() {
     15    add_options_page( 'WP SSL Redirect Settings', 'WP SSL Redirect', 'manage_options', 'wp-ssl-redirect', 'wp_ssl_redirect' );
     16});
     17 
     18add_action( 'admin_init', function() {
     19    register_setting( 'wp-ssl-redirect-settings', 'wp_ssl_redirect_protocol' );
     20});
     21 
     22 
     23function wp_ssl_redirect() {
     24  ?>
     25    <div class="wrap">
     26        <h3>WP SSL Redirect Options</h3>
     27        <hr>
     28      <form action="options.php" method="post">
     29 
     30        <?php
     31          settings_fields( 'wp-ssl-redirect-settings' );
     32          do_settings_sections( 'wp-ssl-redirect-settings' );
     33        ?>
     34        <table>
     35 
     36            <tr>
     37                <th>Preferred Domain</th>
     38                <td>
     39 
     40                    <select name="wp_ssl_redirect_protocol">
     41                        <option value="auto-detect" <?php echo esc_attr( get_option('wp_ssl_redirect_protocol') ) == 'auto-detect' ? 'selected="selected"' : ''; ?>>Auto-detect</option>
     42                        <option value="www" <?php echo esc_attr( get_option('wp_ssl_redirect_protocol') ) == 'www' ? 'selected="selected"' : ''; ?>>Force www version</option>
     43                        <option value="non-www" <?php echo esc_attr( get_option('wp_ssl_redirect_protocol') ) == 'non-www' ? 'selected="selected"' : ''; ?>>Force non-www version</option>
     44                    </select>
     45 
     46                </td>
     47            </tr>
     48 
     49            <tr>
     50                <td><?php submit_button(); ?></td>
     51            </tr>
     52 
     53        </table>
     54 
     55      </form>
     56    </div>
     57  <?php
     58}
     59
    1460function do_the_ssl_redirect() {
    15     if($_SERVER["HTTPS"] != "on") {
    16         http_response_code(301);
    17         header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
    18         exit();
     61    $wpsslredir_requested_url = site_url().$_SERVER[REQUEST_URI];
     62    $wpsslredir_parse_url = parse_url($wpsslredir_requested_url);
     63    if(get_option('wp_ssl_redirect_protocol') == 'www') {
     64        if(strpos($wpsslredir_parse_url['host'], 'www.') === false) {
     65            $wpsslredir_parse_url['host'] = 'www.'.$wpsslredir_parse_url['host'];
     66        }
     67    } else if(get_option('wp_ssl_redirect_protocol') == 'non-www') {
     68        if(strpos($wpsslredir_parse_url['host'], 'www.') !== false) {
     69            $wpsslredir_parse_url['host'] = str_replace('www.', '', $wpsslredir_parse_url['host']);
     70        }
     71    } else {
     72        $wpssl_site_default_url = parse_url(site_url());
     73        $wpsslredir_parse_url['host'] = $wpssl_site_default_url['host'];
     74    }
     75    $wpsslredir_url = 'https://'.$wpsslredir_parse_url['host'].$wpsslredir_parse_url['path'];
     76    $wpsslredir_new_siteurl = 'https://'.$wpsslredir_parse_url['host'];
     77    if($wpsslredir_new_siteurl !== site_url()) {
     78        update_option('siteurl', $wpsslredir_new_siteurl);
     79        update_option('home', $wpsslredir_new_siteurl);
     80    }
     81    if($wpsslredir_requested_url !== $wpsslredir_url) {
     82        header('Location: '.$wpsslredir_url, true, 301);
     83        exit;
    1984    }
    2085}
  • wp-ssl-redirect/trunk/readme.txt

    r1662712 r1725416  
    44Requires at least: 3.95
    55Tested up to: 4.7.5
    6 Stable tag: 1.0
     6Stable tag: 1.1
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    3131
    3232== Changelog ==
    33 none
     331.1 Added options to force www or non-www
Note: See TracChangeset for help on using the changeset viewer.