Easy HTTPS Redirection - Version 1.5

Version Description

Download this release

Release Info

Developer mra13
Plugin Icon 128x128 Easy HTTPS Redirection
Version 1.5
Comparing to
See all releases

Version 1.5

css/style.css ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * styles for settings page
3
+ */
4
+ .rewrite_info {
5
+ color: rgb(136, 136, 136);
6
+ font-size: 10px;
7
+ clear: both;
8
+ }
9
+
10
+ .rewrite_delete_item {
11
+ background: url("../images/status-icons.png") no-repeat scroll 0 0 transparent;
12
+ font-size: 11px;
13
+ padding: 0 6px 0 5px;
14
+ cursor: pointer;
15
+ }
16
+ .rewrite_select_item .rewrite_delete_select_item{
17
+ padding: 0 6px 0 6px;
18
+ }
19
+ .rewrite_add_item {
20
+ background: url("../images/status-icons.png") no-repeat scroll 0 -16px transparent;
21
+ font-size: 12px;
22
+ padding: 0 6px 0 6px;
23
+ cursor: pointer;
24
+ }
25
+ .rewrite_delete_item:hover {
26
+ background-position: -14px 0;
27
+ }
28
+ .rewrite_add_item:hover {
29
+ background-position: -15px -16px;
30
+ }
31
+
32
+ .rewrite_item_blank_error{
33
+ color: red;
34
+ display: none;
35
+ }
https-redirection-settings.php ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* Function for display htaccess settings page in the admin area */
4
+
5
+ function httpsrdrctn_settings_page() {
6
+ global $httpsrdrctn_admin_fields_enable, $httpsrdrctn_options;
7
+ //global $wp_rewrite; echo "<pre>"; var_dump($wp_rewrite);
8
+ $error = "";
9
+ /* Save data for settings page */
10
+ if (isset($_REQUEST['httpsrdrctn_form_submit']) && check_admin_referer(plugin_basename(__FILE__), 'httpsrdrctn_nonce_name')) {
11
+ $httpsrdrctn_options['https'] = isset($_REQUEST['httpsrdrctn_https']) ? $_REQUEST['httpsrdrctn_https'] : 0;
12
+ $httpsrdrctn_options['https_domain'] = isset($_REQUEST['httpsrdrctn_https_domain']) ? $_REQUEST['httpsrdrctn_https_domain'] : 0;
13
+ $httpsrdrctn_options['force_resources'] = isset($_REQUEST['httpsrdrctn_force_resources']) ? $_REQUEST['httpsrdrctn_force_resources'] : 0;
14
+
15
+ if (isset($_REQUEST['httpsrdrctn_https_pages_array'])) {
16
+ $httpsrdrctn_options['https_pages_array'] = array();
17
+ //var_dump($httpsrdrctn_options['https_pages_array']);
18
+ foreach ($_REQUEST['httpsrdrctn_https_pages_array'] as $httpsrdrctn_https_page) {
19
+ if (!empty($httpsrdrctn_https_page) && $httpsrdrctn_https_page != '') {
20
+ $httpsrdrctn_https_page = str_replace('https', 'http', $httpsrdrctn_https_page);
21
+ $httpsrdrctn_options['https_pages_array'][] = trim(str_replace(home_url(), '', $httpsrdrctn_https_page), '/');
22
+ }
23
+ }
24
+ }
25
+
26
+ if ("" == $error) {
27
+ /* Update options in the database */
28
+ update_option('httpsrdrctn_options', $httpsrdrctn_options, '', 'yes');
29
+ $message = __("Settings saved.", 'https_redirection');
30
+ $httpsrdrctn_obj = new HTTPSRDRCTN_RULES();
31
+ $httpsrdrctn_obj->write_to_htaccess();
32
+ //httpsrdrctn_generate_htaccess();
33
+ }
34
+ }
35
+ /* Display form on the setting page */
36
+ ?>
37
+ <div class="wrap">
38
+ <div class="icon32 icon32-bws" id="icon-options-general"></div>
39
+ <h2><?php _e('HTTPS Redirection Settings', 'https_redirection'); ?></h2>
40
+
41
+ <div style="background: #fff6d5; border: 1px solid #d1b655; color: #3f2502; margin: 10px 0; padding: 5px 5px 5px 10px; text-shadow: 1px 1px #ffffff;">
42
+ <p>When you enable the HTTPS redirection, the plugin will force redirect the URL to the HTTPS version of the URL.
43
+ So before enabling this plugin's feature, enter your site's HTTPS URL (example: https://yoursite.com/some-page) in the browser's address bar to make sure the page loads correctly.
44
+ Otherwise you may get locked out if your SSL certificate is not installed correctly on your site or the HTTPS URL is not working and this plugin is auto redirecting to the HTTPS URL.
45
+ </p>
46
+ </div>
47
+
48
+ <?php
49
+ if ( get_option('permalink_structure') ) {
50
+ //Pretty permalink is enabled. So allow HTTPS redirection feature.
51
+ ?>
52
+ <div id="httpsrdrctn_settings_notice" class="updated fade" style="display:none"><p><strong><?php _e("Notice:", 'https_redirection'); ?></strong> <?php _e("The plugin's settings have been changed. In order to save them please don't forget to click the 'Save Changes' button.", 'https_redirection'); ?></p></div>
53
+ <div class="updated fade" <?php if (!isset($_REQUEST['httpsrdrctn_form_submit']) || $error != "") echo "style=\"display:none\""; ?>><p><strong><?php echo $message; ?></strong></p></div>
54
+ <div class="error" <?php if ("" == $error) echo "style=\"display:none\""; ?>><p><?php echo $error; ?></p></div>
55
+ <form id="httpsrdrctn_settings_form" method="post" action="">
56
+ <table class="form-table">
57
+ <tr valign="top">
58
+ <th scope="row"><?php _e('Enable automatic redirection to the "HTTPS"', 'https_redirection'); ?></th>
59
+ <td>
60
+ <label><input type="checkbox" name="httpsrdrctn_https" value="1" <?php if ('1' == $httpsrdrctn_options['https']) echo "checked=\"checked\" "; ?>/></label><br />
61
+ <p class="description">Use this option to make your webpage(s) load in HTTPS version only. If someone enters a non-https URL in the browser's address bar then the plugin will automatically redirect to the HTTPS version of that URL.</p>
62
+
63
+ <br />
64
+ <p>You can apply a force HTTPS redirection on your entire domain or just a few pages.</p>
65
+ <label <?php if ('0' == $httpsrdrctn_options['https']) echo 'class="hidden"'; ?>><input type="radio" name="httpsrdrctn_https_domain" value="1" <?php if ('1' == $httpsrdrctn_options['https_domain']) echo "checked=\"checked\" "; ?>/> The whole domain</label><br />
66
+ <label <?php if ('0' == $httpsrdrctn_options['https']) echo 'class="hidden"'; ?>><input type="radio" name="httpsrdrctn_https_domain" value="0" <?php if ('0' == $httpsrdrctn_options['https_domain']) echo "checked=\"checked\" "; ?>/> A few pages</label><br />
67
+ <?php foreach ($httpsrdrctn_options['https_pages_array'] as $https_page) { ?>
68
+ <span class="<?php if ('1' == $httpsrdrctn_options['https_domain'] || '0' == $httpsrdrctn_options['https']) echo 'hidden'; ?>" >
69
+ <?php echo str_replace("http://", "https://", home_url()); ?>/<input type="text" name="httpsrdrctn_https_pages_array[]" value="<?php echo $https_page; ?>" /> <span class="rewrite_delete_item">&nbsp;</span> <span class="rewrite_item_blank_error"><?php _e('Please, fill field', 'list'); ?></span><br />
70
+ </span>
71
+ <?php } ?>
72
+ <span class="rewrite_new_item <?php if ('1' == $httpsrdrctn_options['https_domain'] || '0' == $httpsrdrctn_options['https']) echo 'hidden'; ?>" >
73
+ <?php echo str_replace("http://", "https://", home_url()); ?>/<input type="text" name="httpsrdrctn_https_pages_array[]" value="" /> <span class="rewrite_add_item">&nbsp;</span> <span class="rewrite_item_blank_error"><?php _e('Please, fill field', 'list'); ?></span><br />
74
+ </span>
75
+ </td>
76
+ </tr>
77
+ <tr valign="top">
78
+ <th scope="row"><?php _e('Force resources to use HTTPS URL', 'https_redirection'); ?></th>
79
+ <td>
80
+ <label><input type="checkbox" name="httpsrdrctn_force_resources" value="1" <?php if (isset($httpsrdrctn_options['force_resources']) && $httpsrdrctn_options['force_resources'] == '1') echo "checked=\"checked\" "; ?>/></label><br />
81
+ <p class="description">When checked, the plugin will force load HTTPS URL for any static resources in your content. Example: if you have have an image embedded in a post with a NON-HTTPS URL, this option will change that to a HTTPS URL.</p>
82
+ </td>
83
+ </tr>
84
+ </table>
85
+ <input type="hidden" name="httpsrdrctn_form_submit" value="submit" />
86
+ <p class="submit">
87
+ <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
88
+ </p>
89
+ <?php wp_nonce_field(plugin_basename(__FILE__), 'httpsrdrctn_nonce_name'); ?>
90
+ </form>
91
+
92
+ <div style="background: #FFEBE8; border: 1px solid #CC0000; color: #333333; margin: 10px 0; padding: 5px 5px 5px 10px;">
93
+ <p><strong><?php _e("Notice:", 'https_redirection'); ?></strong> <?php _e("It is very important to be extremely attentive when making changes to .htaccess file.", 'https_redirection'); ?></p>
94
+ <p>If after making changes your site stops functioning, do the following:</p>
95
+ <p>Step #1: Open .htaccess file in the root directory of the WordPress install and delete everything between the following two lines</p>
96
+ <p style="border: 1px solid #ccc; padding: 10px;">
97
+ # BEGIN HTTPS Redirection Plugin<br />
98
+ # END HTTPS Redirection Plugin
99
+ </p>
100
+ <p>Step #2: Save the htaccess file (this will erase any change this plugin made to that file).</p>
101
+ <p>Step #3: Deactivate the plugin or rename this plugin's folder (which will deactivate the plugin).</p>
102
+
103
+ <p>The changes will be applied immediately after saving the changes, if you are not sure - do not click the "Save changes" button.</p>
104
+ </div>
105
+
106
+ <?php
107
+ } else {
108
+ //pretty permalink is NOT enabled. This plugin can't work.
109
+ ?>
110
+ <div class="error">
111
+ <p><?php _e('HTTPS redirection only works if you have pretty permalinks enabled.', 'https_redirection'); ?></p>
112
+ <p><?php _e('To enable pretty permalinks go to <em>Settings > Permalinks</em> and select any option other than "default".', 'https_redirection'); ?></p>
113
+ <p><a href="options-permalink.php">Enable Permalinks</a></p>
114
+ </div>
115
+ <?php
116
+ }
117
+ ?>
118
+ </div>
119
+ <?php
120
+ }
https-redirection.php ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Easy HTTPS (SSL) Redirection
4
+ Plugin URI:
5
+ Description: The plugin HTTPS Redirection allows an automatic redirection to the "HTTPS" version/URL of the site.
6
+ Author: Tips and Tricks HQ
7
+ Version: 1.5
8
+ Author URI: https://www.tipsandtricks-hq.com/
9
+ License: GPLv2 or later
10
+ */
11
+
12
+ if (!defined('ABSPATH'))exit; //Exit if accessed directly
13
+
14
+ include_once('https-rules-helper.php');
15
+ include_once('https-redirection-settings.php');
16
+
17
+ function add_httpsrdrctn_admin_menu() {
18
+ add_submenu_page('options-general.php', 'HTTPS Redirection', 'HTTPS Redirection', 'manage_options', 'https-redirection', 'httpsrdrctn_settings_page', plugins_url("images/px.png", __FILE__), 1001);
19
+ }
20
+
21
+ function httpsrdrctn_plugin_init() {
22
+ global $httpsrdrctn_options;
23
+ /* Internationalization, first(!) */
24
+ load_plugin_textdomain('https_redirection', false, dirname(plugin_basename(__FILE__)) . '/languages/');
25
+ if (empty($httpsrdrctn_options)) {
26
+ $httpsrdrctn_options = get_option('httpsrdrctn_options');
27
+ }
28
+
29
+ //Do force resource embedded using HTTPS
30
+ if (isset($httpsrdrctn_options['force_resources']) && $httpsrdrctn_options['force_resources'] == '1') {
31
+ //Handle the appropriate content filters to force the static resources to use HTTPS URL
32
+ //TODO 1
33
+ add_filter( 'the_content', 'httpsrdrctn_the_content' );
34
+ add_filter( 'get_the_content', 'httpsrdrctn_the_content' );
35
+ add_filter( 'the_excerpt', 'httpsrdrctn_the_content' );
36
+ add_filter( 'get_the_excerpt', 'httpsrdrctn_the_content' );
37
+ }
38
+
39
+ }
40
+
41
+ function httpsrdrctn_plugin_admin_init() {
42
+ global $httpsrdrctn_plugin_info;
43
+
44
+ $httpsrdrctn_plugin_info = get_plugin_data(__FILE__, false);
45
+
46
+ /* Call register settings function */
47
+ if (isset($_GET['page']) && "https-redirection" == $_GET['page']){
48
+ register_httpsrdrctn_settings();
49
+ }
50
+ }
51
+
52
+ /* register settings function */
53
+ function register_httpsrdrctn_settings() {
54
+ global $wpmu, $httpsrdrctn_options, $httpsrdrctn_plugin_info;
55
+
56
+ $httpsrdrctn_option_defaults = array(
57
+ 'https' => 0,
58
+ 'https_domain' => 0,
59
+ 'https_pages_array' => array(),
60
+ 'force_resources' => 0,
61
+ 'plugin_option_version' => $httpsrdrctn_plugin_info["Version"]
62
+ );
63
+
64
+ /* Install the option defaults */
65
+ if (1 == $wpmu) {
66
+ if (!get_site_option('httpsrdrctn_options'))
67
+ add_site_option('httpsrdrctn_options', $httpsrdrctn_option_defaults, '', 'yes');
68
+ } else {
69
+ if (!get_option('httpsrdrctn_options'))
70
+ add_option('httpsrdrctn_options', $httpsrdrctn_option_defaults, '', 'yes');
71
+ }
72
+
73
+ /* Get options from the database */
74
+ if (1 == $wpmu)
75
+ $httpsrdrctn_options = get_site_option('httpsrdrctn_options');
76
+ else
77
+ $httpsrdrctn_options = get_option('httpsrdrctn_options');
78
+
79
+ /* Array merge incase this version has added new options */
80
+ if (!isset($httpsrdrctn_options['plugin_option_version']) || $httpsrdrctn_options['plugin_option_version'] != $httpsrdrctn_plugin_info["Version"]) {
81
+ $httpsrdrctn_options = array_merge($httpsrdrctn_option_defaults, $httpsrdrctn_options);
82
+ $httpsrdrctn_options['plugin_option_version'] = $httpsrdrctn_plugin_info["Version"];
83
+ update_option('httpsrdrctn_options', $httpsrdrctn_options);
84
+ }
85
+ }
86
+
87
+ function httpsrdrctn_plugin_action_links($links, $file) {
88
+ /* Static so we don't call plugin_basename on every plugin row. */
89
+ static $this_plugin;
90
+ if (!$this_plugin)
91
+ $this_plugin = plugin_basename(__FILE__);
92
+
93
+ if ($file == $this_plugin) {
94
+ $settings_link = '<a href="admin.php?page=https-redirection">' . __('Settings', 'https_redirection') . '</a>';
95
+ array_unshift($links, $settings_link);
96
+ }
97
+ return $links;
98
+ }
99
+
100
+
101
+ if (!function_exists('httpsrdrctn_register_plugin_links')) {
102
+
103
+ function httpsrdrctn_register_plugin_links($links, $file) {
104
+ $base = plugin_basename(__FILE__);
105
+ if ($file == $base) {
106
+ $links[] = '<a href="admin.php?page=https-redirection">' . __('Settings', 'https_redirection') . '</a>';
107
+ }
108
+ return $links;
109
+ }
110
+
111
+ }
112
+
113
+ /*
114
+ * Function that changes "http" embeds to "https"
115
+ * TODO - Need to make it better so it only does it for static resources like JS, CSS and Images
116
+ */
117
+ function httpsrdrctn_the_content($content) {
118
+ global $httpsrdrctn_options;
119
+ if (empty($httpsrdrctn_options)) {
120
+ $httpsrdrctn_options = get_option('httpsrdrctn_options');
121
+ }
122
+ if ($httpsrdrctn_options['force_resources'] == '1' && $httpsrdrctn_options['https'] == 1) {
123
+ if ($httpsrdrctn_options['https_domain'] == 1) {
124
+ if (strpos(home_url(), 'https') !== false) {
125
+ $http_domain = str_replace('https', 'http', home_url());
126
+ $https_domain = home_url();
127
+ } else {
128
+ $http_domain = home_url();
129
+ $https_domain = str_replace('http', 'https', home_url());
130
+ }
131
+ $content = str_replace($http_domain, $https_domain, $content);
132
+ } else if (!empty($httpsrdrctn_options['https_pages_array'])) {
133
+ foreach ($httpsrdrctn_options['https_pages_array'] as $https_page) {
134
+ if (strpos(home_url(), 'https') !== false) {
135
+ $http_domain = str_replace('https', 'http', home_url());
136
+ $https_domain = home_url();
137
+ } else {
138
+ $http_domain = home_url();
139
+ $https_domain = str_replace('http', 'https', home_url());
140
+ }
141
+ $content = str_replace($http_domain . '/' . $https_page, $https_domain . '/' . $https_page, $content);
142
+ }
143
+ }
144
+ }
145
+ return $content;
146
+ }
147
+
148
+ if (!function_exists('httpsrdrctn_admin_head')) {
149
+
150
+ function httpsrdrctn_admin_head() {
151
+ if (isset($_REQUEST['page']) && 'https-redirection' == $_REQUEST['page']) {
152
+ wp_enqueue_style('httpsrdrctn_stylesheet', plugins_url('css/style.css', __FILE__));
153
+ wp_enqueue_script('httpsrdrctn_script', plugins_url('js/script.js', __FILE__));
154
+ }
155
+ }
156
+
157
+ }
158
+
159
+ /* Function for delete delete options */
160
+ if (!function_exists('httpsrdrctn_delete_options')) {
161
+
162
+ function httpsrdrctn_delete_options() {
163
+ delete_option('httpsrdrctn_options');
164
+ delete_site_option('httpsrdrctn_options');
165
+ }
166
+
167
+ }
168
+
169
+ add_action('admin_menu', 'add_httpsrdrctn_admin_menu');
170
+ add_action('init', 'httpsrdrctn_plugin_init');
171
+ add_action('admin_init', 'httpsrdrctn_plugin_admin_init');
172
+ add_action('admin_enqueue_scripts', 'httpsrdrctn_admin_head');
173
+
174
+ /* Adds "Settings" link to the plugin action page */
175
+ add_filter('plugin_action_links', 'httpsrdrctn_plugin_action_links', 10, 2);
176
+ /* Additional links on the plugin page */
177
+ add_filter('plugin_row_meta', 'httpsrdrctn_register_plugin_links', 10, 2);
178
+ //add_filter('mod_rewrite_rules', 'httpsrdrctn_mod_rewrite_rules');//TODO 5
179
+
180
+ register_uninstall_hook(__FILE__, 'httpsrdrctn_delete_options');
https-rules-helper.php ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HTTPSRDRCTN_RULES {
4
+
5
+ function __construct() {
6
+
7
+ }
8
+
9
+ function write_to_htaccess() {
10
+ //clean up old rules first
11
+ if ($this->delete_from_htaccess() == -1) {
12
+ return -1; //unable to write to the file
13
+ }
14
+
15
+ $htaccess = ABSPATH . '.htaccess';
16
+ //get the subdirectory if it is installed in one
17
+ $siteurl = explode('/', get_option('siteurl'));
18
+ if (isset($siteurl[3])) {
19
+ $dir = '/' . $siteurl[3] . '/';
20
+ } else {
21
+ $dir = '/';
22
+ }
23
+
24
+ if (!$f = @fopen($htaccess, 'a+')) {
25
+ @chmod($htaccess, 0644);
26
+ if (!$f = @fopen($htaccess, 'a+')) {
27
+ return -1;
28
+ }
29
+ }
30
+
31
+ //backup_a_file($htaccess); //TODO - should we back up htaccess file?
32
+
33
+ @ini_set('auto_detect_line_endings', true);
34
+ $ht = explode(PHP_EOL, implode('', file($htaccess))); //parse each line of file into array
35
+
36
+ $rules = $this->getrules();
37
+ if ($rules == -1) {
38
+ return -1;
39
+ }
40
+
41
+ $rulesarray = explode(PHP_EOL, $rules);
42
+ $contents = array_merge($rulesarray, $ht);
43
+
44
+ if (!$f = @fopen($htaccess, 'w+')) {
45
+ return -1; //we can't write to the file
46
+ }
47
+
48
+ $blank = false;
49
+
50
+ //write each line to file
51
+ foreach ($contents as $insertline) {
52
+ if (trim($insertline) == '') {
53
+ if ($blank == false) {
54
+ fwrite($f, PHP_EOL . trim($insertline));
55
+ }
56
+ $blank = true;
57
+ } else {
58
+ $blank = false;
59
+ fwrite($f, PHP_EOL . trim($insertline));
60
+ }
61
+ }
62
+ @fclose($f);
63
+ return 1; //success
64
+ }
65
+
66
+ function getrules() {
67
+ @ini_set('auto_detect_line_endings', true);
68
+
69
+ //figure out what server they're using
70
+ if (strstr(strtolower(filter_var($_SERVER['SERVER_SOFTWARE'], FILTER_SANITIZE_STRING)), 'apache')) {
71
+ $server_type = 'apache';
72
+ } else if (strstr(strtolower(filter_var($_SERVER['SERVER_SOFTWARE'], FILTER_SANITIZE_STRING)), 'nginx')) {
73
+ $server_type = 'nginx';
74
+ } else if (strstr(strtolower(filter_var($_SERVER['SERVER_SOFTWARE'], FILTER_SANITIZE_STRING)), 'litespeed')) {
75
+ $server_type = 'litespeed';
76
+ } else { //unsupported server
77
+ return -1;
78
+ }
79
+
80
+ $rules = '';
81
+ $httpsrdrctn_options = get_option('httpsrdrctn_options');
82
+ $https_full_domain = $httpsrdrctn_options['https_domain'];
83
+ $auto_redirect_enabled = $httpsrdrctn_options['https'];
84
+
85
+ if($auto_redirect_enabled != '1'){
86
+ //HTTPS Redirection is NOT enabled
87
+ return $rules;
88
+ }
89
+
90
+ if($https_full_domain == '1'){//HTTPS Redirection on Full Site
91
+ $rules .= '<IfModule mod_rewrite.c>' . PHP_EOL;
92
+ $rules .= 'RewriteEngine On' . PHP_EOL;
93
+
94
+ $rules .= 'RewriteCond %{HTTPS} off' . PHP_EOL;
95
+ $rules .= 'RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]' . PHP_EOL;
96
+
97
+ $rules .= '</IfModule>' . PHP_EOL;
98
+ }
99
+ else{//HTTPS Redirection on a Few Pages ONLY
100
+
101
+ if (empty($httpsrdrctn_options['https_pages_array'])) {
102
+ //No specific page has been configured
103
+ return '';
104
+ }
105
+
106
+ $rules .= '<IfModule mod_rewrite.c>' . PHP_EOL;
107
+ $rules .= 'RewriteEngine On' . PHP_EOL;
108
+
109
+ $rules .= 'RewriteCond %{HTTPS} off' . PHP_EOL;
110
+
111
+ $count = 0;
112
+ $total_pages = count($httpsrdrctn_options['https_pages_array']);
113
+ foreach ($httpsrdrctn_options['https_pages_array'] as $https_page) {
114
+ //Add a RewriteCond line for each of the individual pages
115
+
116
+ $count ++;
117
+
118
+ if(empty($https_page)){
119
+ continue;
120
+ }
121
+
122
+ $rules .= 'RewriteCond %{REQUEST_URI} '.trim($https_page);
123
+ if($total_pages != $count){//This is not the last page so join them with an OR condition
124
+ $rules .= ' [OR]';
125
+ }
126
+ $rules .= PHP_EOL;
127
+ }
128
+
129
+ $rules .= 'RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]' . PHP_EOL;
130
+
131
+ $rules .= '</IfModule>' . PHP_EOL;
132
+ }
133
+
134
+ //Add outer markers if we have rules
135
+ if ($rules != '') {
136
+ $rules = "# BEGIN HTTPS Redirection Plugin" . PHP_EOL . $rules . "# END HTTPS Redirection Plugin" . PHP_EOL;
137
+ }
138
+
139
+ return $rules;
140
+ }
141
+
142
+ function delete_from_htaccess($section = 'HTTPS Redirection Plugin') {
143
+ $htaccess = ABSPATH . '.htaccess';
144
+
145
+ @ini_set('auto_detect_line_endings', true);
146
+ if (!file_exists($htaccess)) {
147
+ $ht = @fopen($htaccess, 'a+');
148
+ @fclose($ht);
149
+ }
150
+ $ht_contents = explode(PHP_EOL, implode('', file($htaccess))); //parse each line of file into array
151
+ if ($ht_contents) { //as long as there are lines in the file
152
+ $state = true;
153
+ if (!$f = @fopen($htaccess, 'w+')) {
154
+ @chmod($htaccess, 0644);
155
+ if (!$f = @fopen($htaccess, 'w+')) {
156
+ return -1;
157
+ }
158
+ }
159
+
160
+ foreach ($ht_contents as $n => $markerline) { //for each line in the file
161
+ if (strpos($markerline, '# BEGIN ' . $section) !== false) { //if we're at the beginning of the section
162
+ $state = false;
163
+ }
164
+ if ($state == true) { //as long as we're not in the section keep writing
165
+ fwrite($f, trim($markerline) . PHP_EOL);
166
+ }
167
+ if (strpos($markerline, '# END ' . $section) !== false) { //see if we're at the end of the section
168
+ $state = true;
169
+ }
170
+ }
171
+ @fclose($f);
172
+ return 1;
173
+ }
174
+ return 1;
175
+ }
176
+
177
+ }
178
+
https-utillity-functions.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function httpsrdrctn_force_https_embeds( $content ){
4
+ $files_to_check = array( 'jpg', 'jpeg', 'gif', 'png', 'js', 'css' );
5
+
6
+ if ( strpos( home_url(), 'https' ) !== false ) {
7
+ $http_domain = str_replace( 'https', 'http', home_url() );
8
+ } else {
9
+ $http_domain = home_url();
10
+ }
11
+
12
+ $matches = array();
13
+ $pattern = '/' . str_replace( '/', '\/', quotemeta( $http_domain ) ) . '\/[^\"\']*\.[' . implode( "|", $files_to_check ) . ']+/';
14
+
15
+ preg_match_all( $pattern, $content, $matches );
16
+
17
+ if( ! empty( $matches ) ){
18
+ foreach( $matches[0] as $match ){
19
+ $match_https = str_replace( 'http', 'https', $match );
20
+ $content = str_replace( $match, $match_https, $content );
21
+ }
22
+ }
23
+
24
+ return $content;
25
+ }
26
+
27
+ /***
28
+ * Test Code
29
+ */
30
+ /*
31
+ echo httpsrdrctn_force_https_embeds( '<img src="http://test.com/image.jpg" />
32
+ <a href="http://test.com/image.jpeg"></a>
33
+ "http://test.com/image.gif"
34
+ <img src="http://test.com/image.png" />
35
+ <link rel="javascript" type="text/javascript" href="http://test.com/somescript.js" />
36
+ <link rel="stylesheet" type="text/css" href="http://test.com/somestyles.css" />
37
+ http://test.com/somescript.bmp' );
38
+ */
images/px.png ADDED
Binary file
images/status-icons.png ADDED
Binary file
js/script.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($) {
2
+ $(document).ready( function() {
3
+ /* add notice about changing in the settings page */
4
+ $( document ).on( 'click', '.rewrite_add_item', function(){
5
+ $(this).each( function(){
6
+ if( $( this ).prev().val() != '' ){
7
+ $( this ).next().hide();
8
+ $( this ).parents( '.rewrite_new_item' ).removeClass( 'rewrite_new_item' ).clone().addClass( 'rewrite_new_item' ).appendTo( $( this ).parents( "td" ) ).find( 'input' ).val( '' );
9
+ $( this ).addClass( 'rewrite_delete_item' ).removeClass( 'rewrite_add_item' );
10
+ }
11
+ else{
12
+ $(this).next().show();
13
+ }
14
+ });
15
+ });
16
+ $( document ).on( 'click', '.rewrite_delete_item', function(){
17
+ $( this ).each( function(){
18
+ $( this ).parent().remove();
19
+ });
20
+ });
21
+ });
22
+ })(jQuery);
languages/https_redirection-ru_RU.mo ADDED
Binary file
languages/https_redirection-ru_RU.po ADDED
@@ -0,0 +1,612 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: htaccess\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2014-06-25 17:34+0200\n"
6
+ "PO-Revision-Date: 2014-06-25 17:34+0200\n"
7
+ "Last-Translator: bestwebsoft.com <plugins@bestwebsoft.com>\n"
8
+ "Language-Team: bestwebsoft.com <plugin@bestwebsoft.com>\n"
9
+ "Language: ru_RU\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Generator: Poedit 1.5.7\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+
19
+ #: https-redirection.php:66
20
+ msgid "requires"
21
+ msgstr "требует"
22
+
23
+ #: https-redirection.php:66
24
+ msgid ""
25
+ "or higher, that is why it has been deactivated! Please upgrade WordPress and "
26
+ "try again."
27
+ msgstr ""
28
+ "или выше, поэтому плагин был деактивирован! Обновите WordPress и повторите "
29
+ "попытку."
30
+
31
+ #: https-redirection.php:66
32
+ msgid "Back to the WordPress"
33
+ msgstr "Вернуться назад на WordPress"
34
+
35
+ #: https-redirection.php:66
36
+ msgid "Plugins page"
37
+ msgstr "Страницу плагинов"
38
+
39
+ #: https-redirection.php:116 https-redirection.php:128
40
+ msgid "Settings"
41
+ msgstr "Настройки"
42
+
43
+ #: https-redirection.php:155
44
+ msgid "Settings saved."
45
+ msgstr "Опции сохранены."
46
+
47
+ #: https-redirection.php:163
48
+ msgid "HTTPS Redirection Settings"
49
+ msgstr "HTTPS Redirection Настройки"
50
+
51
+ #: https-redirection.php:165 https-redirection.php:176
52
+ msgid "Notice:"
53
+ msgstr "Внимание:"
54
+
55
+ #: https-redirection.php:165
56
+ msgid ""
57
+ "It is very important to be extremely attentive when making changes to ."
58
+ "htaccess file. This functionality will work if any permalinks except the "
59
+ "default ones are set on the Settings -> Permalink page."
60
+ msgstr ""
61
+ "При внесении правок в файл .htaccess нужно быть очень аккуратными.Данный "
62
+ "функционал будет работать если у вас на странице Settings -> Permalink "
63
+ "выставлены любые пермалинки кроме дефолтных"
64
+
65
+ #: https-redirection.php:166
66
+ msgid ""
67
+ "If after making changes your site stops functioning, please open .htaccess "
68
+ "file in the root directory and delete this lines"
69
+ msgstr ""
70
+ "Если после внесения изменений сайт перестал функционировать, пожалуйста "
71
+ "откройте .htaccess fфайл в корневой директории вашего сайта и удалить эти "
72
+ "строки"
73
+
74
+ #: https-redirection.php:171
75
+ msgid "in this line may be differences"
76
+ msgstr "в данной строке могут быть отличия"
77
+
78
+ #: https-redirection.php:173
79
+ msgid "Save file. Deactivate the plugin or rename the plugin folder."
80
+ msgstr ""
81
+ "Сохраните файл. Деактивируйте плагин или измените название папки плагина"
82
+
83
+ #: https-redirection.php:174
84
+ msgid ""
85
+ "The changes will be applied immediately after saving the changes, if you are "
86
+ "not sure - do not click the \"Save changes\" button."
87
+ msgstr ""
88
+ "Изменения вступают в силу сразу после сохранения настроек, если вы не "
89
+ "уверены - не нажимайте кнопку \"Сохранить изменения\""
90
+
91
+ #: https-redirection.php:176
92
+ msgid ""
93
+ "The plugin's settings have been changed. In order to save them please don't "
94
+ "forget to click the 'Save Changes' button."
95
+ msgstr ""
96
+ "Настройки плагина были изменены. Для того, чтобы сохранить их, пожалуйста, "
97
+ "не забудьте нажать кнопку 'Сохранить изменения'."
98
+
99
+ #: https-redirection.php:182
100
+ msgid "Automatic redirection to the \"HTTPS\""
101
+ msgstr "Автоматическое перенасправление на HTTPS"
102
+
103
+ #: https-redirection.php:189 https-redirection.php:193
104
+ msgid "Please, fill field"
105
+ msgstr "Пожалуйста, заполните поле."
106
+
107
+ #: https-redirection.php:200
108
+ msgid "Save Changes"
109
+ msgstr "Сохранить изменения"
110
+
111
+ #~ msgid "Htaccess Settings"
112
+ #~ msgstr "Настройки Htaccess"
113
+
114
+ #~ msgid "Htaccess"
115
+ #~ msgstr "Htaccess"
116
+
117
+ #~ msgid "FAQ"
118
+ #~ msgstr "FAQ"
119
+
120
+ #~ msgid "Support"
121
+ #~ msgstr "Поддержка"
122
+
123
+ #~ msgid "Wrong 'Order fields'. You can enter:"
124
+ #~ msgstr "Неправильно введен 'Order fields'. Вы можете ввести:"
125
+
126
+ #~ msgid "or"
127
+ #~ msgstr "или"
128
+
129
+ #~ msgid "Order fields"
130
+ #~ msgstr "Order fields"
131
+
132
+ #~ msgid "Allow from"
133
+ #~ msgstr "Allow from"
134
+
135
+ #~ msgid "Info about the arguments to the Allow directive"
136
+ #~ msgstr "Информация об аргументах к директиве Allow"
137
+
138
+ #~ msgid "Controlling access to your website using the .htaccess"
139
+ #~ msgstr "Управление доступом к веб-сайту с помощью .htaccess"
140
+
141
+ #~ msgid "Deny from"
142
+ #~ msgstr "Deny from"
143
+
144
+ #~ msgid "Info about the arguments to the Deny directive"
145
+ #~ msgstr "Информация об аргументах к директиве Deny"
146
+
147
+ #~ msgid "If you enjoy our plugin, please give it 5 stars on WordPress"
148
+ #~ msgstr ""
149
+ #~ "Если вам понравился плагин, пожалуйста, поставте нам 5 звезд на WordPress"
150
+
151
+ #~ msgid "Rate the plugin"
152
+ #~ msgstr "Оценить плагин"
153
+
154
+ #~ msgid "If there is something wrong about it, please contact us"
155
+ #~ msgstr "Если у вас есть какие-то вопросы, обращайтесь"
156
+
157
+ #~ msgid "You can enter:"
158
+ #~ msgstr "Вы можете ввести:"
159
+
160
+ #~ msgid "or a specific IP"
161
+ #~ msgstr "или определенный IP"
162
+
163
+ #~ msgid "for a subnet"
164
+ #~ msgstr "для подсети"
165
+
166
+ #~ msgid "Not set"
167
+ #~ msgstr "Не задан"
168
+
169
+ #~ msgid "On"
170
+ #~ msgstr "Вкл"
171
+
172
+ #~ msgid "Off"
173
+ #~ msgstr "Выкл"
174
+
175
+ #~ msgid "N/A"
176
+ #~ msgstr "Неизвестно"
177
+
178
+ #~ msgid " Mb"
179
+ #~ msgstr "Mb"
180
+
181
+ #~ msgid "Yes"
182
+ #~ msgstr "Да"
183
+
184
+ #~ msgid "No"
185
+ #~ msgstr "Нет"
186
+
187
+ #~ msgid "Operating System"
188
+ #~ msgstr "Операционная система"
189
+
190
+ #~ msgid "Server"
191
+ #~ msgstr "Тип сервера"
192
+
193
+ #~ msgid "Memory usage"
194
+ #~ msgstr "Памяти использовано"
195
+
196
+ #~ msgid "MYSQL Version"
197
+ #~ msgstr "Версия MYSQL"
198
+
199
+ #~ msgid "SQL Mode"
200
+ #~ msgstr "Режим SQL"
201
+
202
+ #, fuzzy
203
+ #~ msgid "PHP Version"
204
+ #~ msgstr "Версия MYSQL"
205
+
206
+ #~ msgid "PHP Safe Mode"
207
+ #~ msgstr "PHP Safe Mode"
208
+
209
+ #~ msgid "PHP Allow URL fopen"
210
+ #~ msgstr "PHP Allow URL fopen"
211
+
212
+ #~ msgid "PHP Memory Limit"
213
+ #~ msgstr "Лимит памяти"
214
+
215
+ #~ msgid "PHP Max Upload Size"
216
+ #~ msgstr "Макс. размер загружаемого файла"
217
+
218
+ #~ msgid "PHP Max Post Size"
219
+ #~ msgstr "Макс. размер записи"
220
+
221
+ #~ msgid "PHP Max Script Execute Time"
222
+ #~ msgstr "Макс. время выполнения сценария"
223
+
224
+ #~ msgid "PHP Exif support"
225
+ #~ msgstr "Поддержка PHP Exif"
226
+
227
+ #~ msgid "PHP IPTC support"
228
+ #~ msgstr "Поддержка PHP IPTC"
229
+
230
+ #~ msgid "PHP XML support"
231
+ #~ msgstr "Поддержка PHP XML"
232
+
233
+ #~ msgid "Site URL"
234
+ #~ msgstr "Адрес сайта"
235
+
236
+ #~ msgid "Home URL"
237
+ #~ msgstr "Основной адрес сайта"
238
+
239
+ #~ msgid "WordPress Version"
240
+ #~ msgstr "Версия WordPress"
241
+
242
+ #~ msgid "WordPress DB Version"
243
+ #~ msgstr "Версия базы данных WordPress"
244
+
245
+ #~ msgid "Multisite"
246
+ #~ msgstr "Мультиблог"
247
+
248
+ #~ msgid "Active Theme"
249
+ #~ msgstr "Текущая тема"
250
+
251
+ #~ msgid "Please enter a valid email address."
252
+ #~ msgstr "Пожалуйста, введите валидный емайл."
253
+
254
+ #~ msgid "Email with system info is sent to "
255
+ #~ msgstr "E-mail с системной информацией отправлен на"
256
+
257
+ #~ msgid "Thank you for contacting us."
258
+ #~ msgstr "Спасибо что связались с нами."
259
+
260
+ #~ msgid "Sorry, email message could not be delivered."
261
+ #~ msgstr "Извините, ваш email не может быть отправлен."
262
+
263
+ #, fuzzy
264
+ #~ msgid "Pro plugins"
265
+ #~ msgstr "Бесплатные плагины"
266
+
267
+ #~ msgid "Activated plugins"
268
+ #~ msgstr "Активированные плагины"
269
+
270
+ #~ msgid "Read more"
271
+ #~ msgstr "Подробнее..."
272
+
273
+ #~ msgid "Installed plugins"
274
+ #~ msgstr "Установленные плагины"
275
+
276
+ #~ msgid "Recommended plugins"
277
+ #~ msgstr "Рекомендованные к установке плагины"
278
+
279
+ #~ msgid "Purchase"
280
+ #~ msgstr "Купить"
281
+
282
+ #~ msgid "Free plugins"
283
+ #~ msgstr "Бесплатные плагины"
284
+
285
+ #~ msgid "Download"
286
+ #~ msgstr "Скачать"
287
+
288
+ #~ msgid "Install %s"
289
+ #~ msgstr "Установлено %s"
290
+
291
+ #~ msgid "Install now from wordpress.org"
292
+ #~ msgstr "Установить с wordpress.org"
293
+
294
+ #, fuzzy
295
+ #~ msgid "Free themes"
296
+ #~ msgstr "Рекомендованные к установке плагины"
297
+
298
+ #, fuzzy
299
+ #~ msgid "Activated theme"
300
+ #~ msgstr "Текущая тема"
301
+
302
+ #, fuzzy
303
+ #~ msgid "Installed themes"
304
+ #~ msgstr "Установлено %s"
305
+
306
+ #, fuzzy
307
+ #~ msgid "Recommended themes"
308
+ #~ msgstr "Рекомендованные к установке плагины"
309
+
310
+ #~ msgid "If you have any questions, please contact us via"
311
+ #~ msgstr "Если у вас есть какие-то вопросы, обращайтесь на"
312
+
313
+ #~ msgid "System status"
314
+ #~ msgstr "Системная информация"
315
+
316
+ #~ msgid "Environment"
317
+ #~ msgstr "Системная среда"
318
+
319
+ #~ msgid "Active Plugins"
320
+ #~ msgstr "Активированные плагины"
321
+
322
+ #~ msgid "Inactive Plugins"
323
+ #~ msgstr "Неактивированные плагины"
324
+
325
+ #~ msgid "Send to support"
326
+ #~ msgstr "Отправить в тех. поддержку"
327
+
328
+ #~ msgid "Send to custom email &#187;"
329
+ #~ msgstr "Отправить на емейл &#187;"
330
+
331
+ #, fuzzy
332
+ #~ msgid "Plugins"
333
+ #~ msgstr "Бесплатные плагины"
334
+
335
+ #, fuzzy
336
+ #~ msgid "Installed"
337
+ #~ msgstr "Установлено %s"
338
+
339
+ #, fuzzy
340
+ #~ msgid "Recommended"
341
+ #~ msgstr "Рекомендованные к установке плагины"
342
+
343
+ #, fuzzy
344
+ #~ msgid "Learn more"
345
+ #~ msgstr "Подробнее..."
346
+
347
+ #, fuzzy
348
+ #~ msgid "Activate this plugin"
349
+ #~ msgstr "Активированные плагины"
350
+
351
+ #, fuzzy
352
+ #~ msgid "Activate"
353
+ #~ msgstr "Текущая тема"
354
+
355
+ #, fuzzy
356
+ #~ msgid "Install now"
357
+ #~ msgstr "Установить сейчас"
358
+
359
+ #~ msgid "Install Now"
360
+ #~ msgstr "Установить сейчас"
361
+
362
+ #~ msgid "Wrong data for setting 'Allow from'."
363
+ #~ msgstr "Неправильные данные для настройки 'Allow from'."
364
+
365
+ #~ msgid "Wrong data for setting 'Deny from'."
366
+ #~ msgstr "Неправильные данные для настройки 'Deny from'."
367
+
368
+ #~ msgid "Enable CAPTCHA for:"
369
+ #~ msgstr "Отображать КАПЧУ для:"
370
+
371
+ #~ msgid "Captcha"
372
+ #~ msgstr "КАПЧА"
373
+
374
+ #~ msgid "Login form"
375
+ #~ msgstr "Форма логина"
376
+
377
+ #~ msgid "Registration form"
378
+ #~ msgstr "Форма регистрации"
379
+
380
+ #~ msgid "Register form"
381
+ #~ msgstr "Форма регистрации"
382
+
383
+ #~ msgid "Reset Password form"
384
+ #~ msgstr "Форма восстановления пароля"
385
+
386
+ #~ msgid "Lost password form"
387
+ #~ msgstr "Форма восстановления пароля"
388
+
389
+ #~ msgid "Comments form"
390
+ #~ msgstr "Форма комментариев"
391
+
392
+ #~ msgid "Hide CAPTCHA for registered users"
393
+ #~ msgstr "Не отображать для зарегистрированных пользователей"
394
+
395
+ #~ msgid "Plus (&#43;)"
396
+ #~ msgstr "Плюс (&#43;)"
397
+
398
+ #~ msgid "Plus"
399
+ #~ msgstr "Плюс (&#43;)"
400
+
401
+ #~ msgid "Minus (&minus;)"
402
+ #~ msgstr "Минус (&minus;)"
403
+
404
+ #~ msgid "Minus"
405
+ #~ msgstr "Минус (&minus;)"
406
+
407
+ #~ msgid "Multiplication (&times;)"
408
+ #~ msgstr "Умножение (&times;)"
409
+
410
+ #~ msgid "Multiply"
411
+ #~ msgstr "Умножить"
412
+
413
+ #~ msgid "Numbers"
414
+ #~ msgstr "Цифры"
415
+
416
+ #~ msgid "Words"
417
+ #~ msgstr "Слова"
418
+
419
+ #~ msgid ""
420
+ #~ "Please select one item in the block Arithmetic and Complexity for CAPTCHA"
421
+ #~ msgstr ""
422
+ #~ "Пожалуйста, выберите 1 пункт из блока Арифметические дейтсвия и Сложность "
423
+ #~ "для КАПЧИ"
424
+
425
+ #~ msgid "Contact form"
426
+ #~ msgstr "Контактная форма"
427
+
428
+ #~ msgid "powered by"
429
+ #~ msgstr "разработано компанией"
430
+
431
+ #~ msgid "Activate contact form"
432
+ #~ msgstr "Активировать контакную форму"
433
+
434
+ #~ msgid "Download contact form"
435
+ #~ msgstr "Скачать контактную форму"
436
+
437
+ #~ msgid ""
438
+ #~ "If you would like to customize this plugin for a custom form, please see"
439
+ #~ msgstr "Если вы хотите кастомизировать плагин для кастомной формы, смотрите"
440
+
441
+ #~ msgid "\"Create a Group\" form"
442
+ #~ msgstr "Форма \"Создать группу\""
443
+
444
+ #~ msgid "Enable CAPTCHA:"
445
+ #~ msgstr "Отображать КАПЧУ:"
446
+
447
+ #~ msgid ""
448
+ #~ "This functionality is available in the Pro version of the plugin. For "
449
+ #~ "more details, please follow the link"
450
+ #~ msgstr ""
451
+ #~ "Данный функционал доступен в Про версии плагина. Для более детальной "
452
+ #~ "информации смотрите"
453
+
454
+ #~ msgid "Title for CAPTCHA in the form"
455
+ #~ msgstr "Заголовок для КАПЧИ в форме"
456
+
457
+ #~ msgid "Required symbol"
458
+ #~ msgstr "Символ, отображающий обязательное поле"
459
+
460
+ #~ msgid "Arithmetic actions for CAPTCHA"
461
+ #~ msgstr "Арифметические действия для КАПЧИ"
462
+
463
+ #~ msgid "CAPTCHA complexity level"
464
+ #~ msgstr "Уровень сложности КАПЧИ"
465
+
466
+ #~ msgid "ERROR"
467
+ #~ msgstr "Ошибка"
468
+
469
+ #~ msgid "Please enter a valid CAPTCHA value."
470
+ #~ msgstr "Пожалуйста, заполните КАПЧУ."
471
+
472
+ #~ msgid ""
473
+ #~ "Error: You have entered an incorrect CAPTCHA value. Click the BACK button "
474
+ #~ "on your browser, and try again."
475
+ #~ msgstr ""
476
+ #~ "Ошибка: Вы ввели КАПЧУ неправильно. Нажмите НАЗАД в браузере и попробуйте "
477
+ #~ "еще раз"
478
+
479
+ #~ msgid "zero"
480
+ #~ msgstr "ноль"
481
+
482
+ #~ msgid "one"
483
+ #~ msgstr "один"
484
+
485
+ #~ msgid "two"
486
+ #~ msgstr "два"
487
+
488
+ #~ msgid "three"
489
+ #~ msgstr "три"
490
+
491
+ #~ msgid "five"
492
+ #~ msgstr "пять"
493
+
494
+ #~ msgid "six"
495
+ #~ msgstr "шесть"
496
+
497
+ #~ msgid "seven"
498
+ #~ msgstr "семь"
499
+
500
+ #~ msgid "eight"
501
+ #~ msgstr "восемь"
502
+
503
+ #~ msgid "nine"
504
+ #~ msgstr "девять"
505
+
506
+ #~ msgid "eleven"
507
+ #~ msgstr "одиннадцать"
508
+
509
+ #~ msgid "twelve"
510
+ #~ msgstr "двенадать"
511
+
512
+ #~ msgid "thirteen"
513
+ #~ msgstr "тринадцать"
514
+
515
+ #~ msgid "fourteen"
516
+ #~ msgstr "четырнадать"
517
+
518
+ #~ msgid "fifteen"
519
+ #~ msgstr "пятнадцать"
520
+
521
+ #~ msgid "sixteen"
522
+ #~ msgstr "шестнадцать"
523
+
524
+ #~ msgid "seventeen"
525
+ #~ msgstr "семнадцать"
526
+
527
+ #~ msgid "eighteen"
528
+ #~ msgstr "восемнадцать"
529
+
530
+ #~ msgid "nineteen"
531
+ #~ msgstr "девятнадцать"
532
+
533
+ #~ msgid "ten"
534
+ #~ msgstr "десять"
535
+
536
+ #~ msgid "twenty"
537
+ #~ msgstr "двадцать"
538
+
539
+ #~ msgid "thirty"
540
+ #~ msgstr "тридцать"
541
+
542
+ #~ msgid "forty"
543
+ #~ msgstr "сорок"
544
+
545
+ #~ msgid "fifty"
546
+ #~ msgstr "пятьдесят"
547
+
548
+ #~ msgid "sixty"
549
+ #~ msgstr "шестьдесят"
550
+
551
+ #~ msgid "seventy"
552
+ #~ msgstr "семьдесят"
553
+
554
+ #~ msgid "eighty"
555
+ #~ msgstr "восемьдесят"
556
+
557
+ #~ msgid "ninety"
558
+ #~ msgstr "девяносто"
559
+
560
+ #~ msgid "and"
561
+ #~ msgstr "и"
562
+
563
+ #~ msgid "Encryption password is not set"
564
+ #~ msgstr "Пароль для шифрования не установлен"
565
+
566
+ #~ msgid "Decryption password is not set"
567
+ #~ msgstr "Пароль для дешифровки не установлен"
568
+
569
+ #~ msgid ""
570
+ #~ "It's time to upgrade your <strong>Captcha plugin</strong> to <strong>PRO</"
571
+ #~ "strong> version"
572
+ #~ msgstr ""
573
+ #~ "Настало время обновить ваш <strong>плагин Капча</strong> до <strong>PRO</"
574
+ #~ "strong> версии"
575
+
576
+ #~ msgid "Extend standard plugin functionality with new great options"
577
+ #~ msgstr ""
578
+ #~ "Расширение стандартного функционала плагина новыми прекрасными опциями"
579
+
580
+ #~ msgid "It's time to upgrade your"
581
+ #~ msgstr "Настало время обновить ваш"
582
+
583
+ #~ msgid "to"
584
+ #~ msgstr "до"
585
+
586
+ #~ msgid "version"
587
+ #~ msgstr "версии"
588
+
589
+ #~ msgid "(powered by bestwebsoft.com)"
590
+ #~ msgstr "(разработано компанией bestwebsoft.com)"
591
+
592
+ #~ msgid ""
593
+ #~ "If you have any questions, please contact us via plugin@bestwebsoft.com "
594
+ #~ "or fill in the contact form on our website"
595
+ #~ msgstr ""
596
+ #~ "Если у вас есть какие-то впросы, обращайтесь на plugin@bestwebsoft.com "
597
+ #~ "или заполните контактную форму на нашем сайте"
598
+
599
+ #~ msgid "The password of encryption is not set"
600
+ #~ msgstr "Пароль для шифрования не установлен"
601
+
602
+ #~ msgid "Increase"
603
+ #~ msgstr "Умножить"
604
+
605
+ #~ msgid "Difficulty for CAPTCHA"
606
+ #~ msgstr "Уровень сложности КАПЧИ"
607
+
608
+ #~ msgid "That CAPTCHA was incorrect."
609
+ #~ msgstr "КАПЧА введена некорректно"
610
+
611
+ #~ msgid "null"
612
+ #~ msgstr "ноль"
readme.txt ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Easy HTTPS Redirection ===
2
+ Contributors: Tips and Tricks HQ
3
+ Donate link: http://www.tipsandtricks-hq.com/development-center
4
+ Tags: redirection, https, automatic redirection, htaccess, ssl, https redirection, ssl certificate, secure page, secure, force ssl, force https
5
+ Requires at least: 3.5
6
+ Tested up to: 4.7
7
+ Stable tag: 1.5
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ The plugin allows an automatic redirection to the "HTTPS" version/URL of the site. Make your site SSL compatible.
12
+
13
+ == Description ==
14
+
15
+ = Only use this plugin if you have installed SSL certificate on your site and HTTPS is working correctly =
16
+
17
+ After you install SSL certificate on your site, you should use the "HTTPS" URL of your webpages.
18
+
19
+ You want to force search engines to index your HTTPS version of the webpage(s).
20
+
21
+ This plugin will help you automatically setup a redirection to the https version of an URL when anyone tries to access the non-https version.
22
+
23
+ Lets say for example, you want to use HTTPS URL for the following page on your site:
24
+
25
+ example.com/checkout
26
+
27
+ This plugin will enforce that so if anyone uses an URL like the following in the browser's address bar:
28
+ http://www.example.com/checkout
29
+
30
+ It will automatically redirect to the following HTTPS version of the page:
31
+ https://www.example.com/checkout
32
+
33
+ So you are always forcing the visitor to view the HTTPS version of the page or site in question.
34
+
35
+ You can force your entire domain to be auto redirected to the HTTPS URL or selectively choose a few pages to be re-directed.
36
+
37
+ = Force Load Static Files Using HTTPS =
38
+
39
+ If you started using SSL from day 1 of your site then all your static files are already embedded using HTTPS URL. You have no issue there.
40
+
41
+ However, if you have an existing website where you have a lot of static files that are embedded in your posts and pages using NON-HTTPS URL then you will need to change those. Otherwise, the browser will show an SSL warning to your visitors.
42
+
43
+ This plugin has an option that will allow you to force load those static files using HTTPS URL dynamically.
44
+
45
+ This will help you make the webpage fully compatible with SSL.
46
+
47
+ = Features =
48
+
49
+ * Actions: Do an auto redirect for the whole domain. So every URL will be redirected to the HTTPS version automatically.
50
+ * Actions: Do an auto redirect for a few pages. The user can enter the URLs that will be auto redirected to the HTTPS version.
51
+ * Force load static files (images, js, css etc) using a HTTPS URL.
52
+
53
+ == Installation ==
54
+
55
+ 1. Upload `https-redirection` folder to the `/wp-content/plugins/` directory.
56
+ 2. Activate the plugin through the 'Plugins' menu in WordPress.
57
+ 3. Plugin settings are located in 'Settings', 'HTTPS Redirection'.
58
+
59
+ == Frequently Asked Questions ==
60
+
61
+ = How will the plugin work with the existing .htaccess file?=
62
+
63
+ If the file exists, the plugin will update existing .htaccess file.
64
+
65
+ = What should I do if the .htaccess file does not exist? =
66
+
67
+ The plugin will store the settings in the database and add all the necessary conditions to the settings of WordPress automatically.
68
+
69
+ = What should I do if after making changes in the .htaccess file with the help of the plugin my site stops working? =
70
+
71
+ The.htaccess is located in the site root. With your FTP program or via Сpanel go to the site root, open the .htaccess file and delete the necessary strings manually.
72
+ Please make use of the following information: http://codex.wordpress.org/FTP_Clients
73
+
74
+ = How to use the other language files with the HTTPS Redirection? =
75
+
76
+ Here is an example for German language files.
77
+
78
+ 1. In order to use another language for WordPress it is necessary to set the WP version to the required language and in configuration wp file - `wp-config.php` in the line `define('WPLANG', '');` write `define('WPLANG', 'de_DE');`. If everything is done properly the admin panel will be in German.
79
+
80
+ 2. Make sure that there are files `de_DE.po` and `de_DE.mo` in the plugin (the folder languages in the root of the plugin).
81
+
82
+ 3. If there are no such files it will be necessary to copy other files from this folder (for example, for Russian or Italian language) and rename them (you should write `de_DE` instead of `ru_RU` in the both files).
83
+
84
+ 4. The files are edited with the help of the program Poedit - http://www.poedit.net/download.php - please load this program, install it, open the file with the help of this program (the required language file) and for each line in English you should write translation in German.
85
+
86
+ 5. If everything has been done properly all the lines will be in German in the admin panel and on frontend.
87
+
88
+ == Screenshots ==
89
+
90
+ 1. Plugin settings page.
91
+
92
+ == Changelog ==
93
+
94
+ = v1.5 =
95
+ - WordPress 4.6 compatibility.
96
+
97
+ = v1.4 =
98
+ - Improved the settings area to only show the options if pretty permalink feature is enabled.
99
+
100
+ = v1.3 =
101
+ - Updated the htaccess rules for HTTPS redirection to be more robust to prevent errors on some servers.
102
+
103
+ = v1.2 =
104
+ - Added a new option to automatically force load static files using HTTPS URL.
105
+
106
+ = v1.1 =
107
+ - Fixed a bug with the settings page.
108
+
109
+ = v1.0 =
110
+ * First commit to WordPress repository
111
+
112
+ == Upgrade Notice ==
113
+
114
+ None
screenshot-1.png ADDED
Binary file