Really Simple SSL - Version 3.2.3

Version Description

  • Added right-to-left text support
  • Show a plusone behind the notice that generated it
  • Added a dismiss text link to dismissible notices
  • Added highlighting to .htaccess redirect option after clicking on dashboard link
  • Added option to dismiss all notices
  • Added site health notice
Download this release

Release Info

Developer RogierLankhorst
Plugin Icon 128x128 Really Simple SSL
Version 3.2.3
Comparing to
See all releases

Code changes from version 3.2.2 to 3.2.3

class-admin.php CHANGED
@@ -62,7 +62,7 @@ class rsssl_admin extends rsssl_front_end
62
 
63
  register_deactivation_hook(dirname(__FILE__) . "/" . $this->plugin_filename, array($this, 'deactivate'));
64
 
65
- add_action('admin_init', array($this, 'add_privacy_info'));
66
 
67
  }
68
 
@@ -176,6 +176,11 @@ class rsssl_admin extends rsssl_front_end
176
  add_action('admin_init', array($this, 'create_form'), 40);
177
  add_action('admin_init', array($this, 'listen_for_deactivation'), 40);
178
 
 
 
 
 
 
179
  $plugin = rsssl_plugin;
180
  add_filter("plugin_action_links_$plugin", array($this, 'plugin_settings_link'));
181
 
@@ -562,7 +567,8 @@ class rsssl_admin extends rsssl_front_end
562
  $this->do_not_edit_htaccess = isset($options['do_not_edit_htaccess']) ? $options['do_not_edit_htaccess'] : FALSE;
563
  $this->htaccess_redirect = isset($options['htaccess_redirect']) ? $options['htaccess_redirect'] : FALSE;
564
  $this->switch_mixed_content_fixer_hook = isset($options['switch_mixed_content_fixer_hook']) ? $options['switch_mixed_content_fixer_hook'] : FALSE;
565
- $this->debug_log = isset($options['debug_log']) ? $options['debug_log'] : $this->debug_log;
 
566
  }
567
 
568
  if (is_multisite()) {
@@ -1167,6 +1173,8 @@ class rsssl_admin extends rsssl_front_end
1167
  'javascript_redirect' => $this->javascript_redirect,
1168
  'wp_redirect' => $this->wp_redirect,
1169
  'switch_mixed_content_fixer_hook' => $this->switch_mixed_content_fixer_hook,
 
 
1170
  );
1171
 
1172
  update_option('rlrsssl_options', $options);
@@ -1214,8 +1222,10 @@ class rsssl_admin extends rsssl_front_end
1214
  $this->wp_redirect = FALSE;
1215
  $this->ssl_enabled = FALSE;
1216
  $this->switch_mixed_content_fixer_hook = FALSE;
 
1217
 
1218
- $this->save_options();
 
1219
 
1220
  //when on multisite, per site activation, recreate domain list for htaccess and wpconfig rewrite actions
1221
  if (is_multisite()) {
@@ -1551,10 +1561,7 @@ class rsssl_admin extends rsssl_front_end
1551
  return $version;
1552
  }
1553
  }
1554
-
1555
-
1556
- /* deprecated */
1557
-
1558
  function htaccess_redirect_allowed()
1559
  {
1560
  if (is_multisite() && RSSSL()->rsssl_multisite->is_per_site_activated_multisite_subfolder_install()) {
@@ -2232,8 +2239,8 @@ class rsssl_admin extends rsssl_front_end
2232
 
2233
  ?>
2234
  <script type='text/javascript'>
2235
- jQuery(document).ready(function ($) {
2236
- $(".rsssl-dashboard-dismiss").on("click", ".rsssl-close-warning",function (event) {
2237
  var type = $(this).closest('.rsssl-dashboard-dismiss').data('dismiss_type');
2238
  var data = {
2239
  'action': 'rsssl_dismiss_settings_notice',
@@ -2243,8 +2250,6 @@ class rsssl_admin extends rsssl_front_end
2243
  $.post(ajaxurl, data, function (response) {});
2244
  $(this).closest('tr').remove();
2245
  });
2246
-
2247
-
2248
  });
2249
  </script>
2250
  <?php
@@ -2301,9 +2306,11 @@ class rsssl_admin extends rsssl_front_end
2301
  if (!current_user_can($this->capability) ) return;
2302
 
2303
  check_ajax_referer('really-simple-ssl', 'security');
2304
- $dismiss_type = sanitize_title($_POST['type']);
2305
- update_option("rsssl_".$dismiss_type."_dismissed", true);
2306
- delete_transient('rsssl_plusone_count');
 
 
2307
  wp_die(); // this is required to terminate immediately and return a proper response
2308
  }
2309
 
@@ -2397,7 +2404,6 @@ class rsssl_admin extends rsssl_front_end
2397
  $update_count = "";
2398
  }
2399
  $menu[80][0] = str_replace(__("Settings"), __("Settings") . $update_count, $menu[80][0]);
2400
-
2401
  }
2402
 
2403
  /**
@@ -2493,7 +2499,11 @@ class rsssl_admin extends rsssl_front_end
2493
  'callback' => false,
2494
  );
2495
 
2496
- $notices = array(
 
 
 
 
2497
  'ssl_enabled' => array(
2498
  'callback' => 'rsssl_ssl_enabled',
2499
  'output' => array(
@@ -2517,14 +2527,18 @@ class rsssl_admin extends rsssl_front_end
2517
  'icon' => 'success'
2518
  ),
2519
  'no-response' => array(
2520
- 'msg' => sprintf(__('Really Simple SSL has received no response from the webpage. See our knowledge base for %sinstructions on how to fix this warning%s', 'really-simple-ssl'),'<a target="_blank" href="https://really-simple-ssl.com/knowledge-base/how-to-fix-no-response-from-webpage-warning/">','</a>'),
 
 
 
2521
  'icon' => 'error',
2522
  'dismissible' => true,
2523
  'plusone' => true
2524
  ),
2525
  'not-found' => array(
2526
  'msg' => sprintf(__('The mixed content fixer is active, but was not detected on the frontpage. Please follow %sthese steps%s to check if the mixed content fixer is working.', "really-simple-ssl"),'<a target="_blank" href="https://www.really-simple-ssl.com/knowledge-base/how-to-check-if-the-mixed-content-fixer-is-active/">', '</a>' ),
2527
- 'icon' => 'error'
 
2528
  ),
2529
  ),
2530
  ),
@@ -2547,42 +2561,55 @@ class rsssl_admin extends rsssl_front_end
2547
  ),
2548
  ),
2549
 
 
2550
  'check_redirect' => array(
2551
  'callback' => 'rsssl_check_redirect',
 
2552
  'output' => array(
2553
  'htaccess-redirect-set' => array(
2554
  'msg' =>__('301 redirect to https set: .htaccess redirect.', 'really-simple-ssl'),
2555
- 'icon' => 'success'
 
2556
  ),
2557
  '301-wp-redirect' => array(
2558
  'msg' => __('301 redirect to https set: WordPress redirect.', 'really-simple-ssl'),
2559
- 'icon' => 'success'
 
2560
  ),
2561
  'wp-redirect-to-htaccess' => array(
2562
- 'msg' => __('WordPress 301 redirect enabled. We recommend to enable the .htaccess redirect option on your specific setup.', 'really-simple-ssl'),
 
 
 
 
2563
  'icon' => 'warning',
2564
  'plusone' => true,
2565
- 'dismissible' => true,
2566
  ),
2567
  'no-redirect-enabled' => array(
2568
  'msg' => __('Enable a .htaccess redirect or WordPress redirect in the settings to create a 301 redirect.', 'really-simple-ssl'),
2569
- 'icon' => 'warning'
 
2570
  ),
2571
  'htaccess-not-writeable' => array(
2572
  'msg' => __('.htaccess is not writable. Set 301 WordPress redirect, or set the .htaccess manually if you want to redirect in .htaccess.', 'really-simple-ssl'),
2573
- 'icon' => 'warning'
 
2574
  ),
2575
  'htaccess-cannot-be-set' => array(
2576
  'msg' => __('Https redirect cannot be set in the .htaccess. Set the .htaccess redirect manually or enable WordPress redirect in the settings.', 'really-simple-ssl'),
2577
- 'icon' => 'warning'
 
2578
  ),
2579
  'default' => array(
2580
  'msg' => __('No 301 redirect is set. Enable the WordPress 301 redirect in the settings to get a 301 permanent redirect.', 'really-simple-ssl'),
2581
- 'icon' => 'warning'
 
2582
  ),
2583
  ),
2584
  ),
2585
 
 
2586
  'hsts_enabled' => array(
2587
  'callback' => 'rsssl_hsts_enabled',
2588
  'output' => array(
@@ -2597,6 +2624,7 @@ class rsssl_admin extends rsssl_front_end
2597
  ),
2598
  ),
2599
 
 
2600
  'secure_cookies_set' => array(
2601
  'callback' => 'rsssl_secure_cookies_set',
2602
  'output' => array(
@@ -2630,7 +2658,6 @@ class rsssl_admin extends rsssl_front_end
2630
  return $notices;
2631
  }
2632
 
2633
- // $notices['check-redirect'] = array()
2634
 
2635
  private function notice_row($id, $notice){
2636
  if (!current_user_can('manage_options')) return;
@@ -2681,6 +2708,8 @@ class rsssl_admin extends rsssl_front_end
2681
  if (!$count) {
2682
  $count = 0;
2683
 
 
 
2684
  $notices = $this->get_notices_list();
2685
  foreach ($notices as $id => $notice) {
2686
 
@@ -2694,7 +2723,12 @@ class rsssl_admin extends rsssl_front_end
2694
 
2695
  $func = $notice['callback'];
2696
  $output = $func();
2697
- $success = ($notice['output'][$output]['icon'] === 'success') ? true : false;
 
 
 
 
 
2698
 
2699
  //&& notice not dismissed
2700
  if (!$success && isset($notice['output'][$output]['plusone']) && $notice['output'][$output]['plusone']) {
@@ -2940,7 +2974,6 @@ class rsssl_admin extends rsssl_front_end
2940
  <?php }
2941
  ?>
2942
 
2943
-
2944
  </div><!-- end container -->
2945
  <?php
2946
  }
@@ -3036,7 +3069,11 @@ class rsssl_admin extends rsssl_front_end
3036
  if ((!is_network_admin() && ($hook != $rsssl_admin_page)) && $this->ssl_enabled)
3037
  return;
3038
 
3039
- wp_register_style('rlrsssl-css', trailingslashit(rsssl_url) . 'css/main.css', "", rsssl_version);
 
 
 
 
3040
  wp_enqueue_style('rlrsssl-css');
3041
  }
3042
 
@@ -3051,6 +3088,10 @@ class rsssl_admin extends rsssl_front_end
3051
 
3052
  public function create_form()
3053
  {
 
 
 
 
3054
  register_setting('rlrsssl_options', 'rlrsssl_options', array($this, 'options_validate'));
3055
  add_settings_section('rlrsssl_settings', __("Settings", "really-simple-ssl"), array($this, 'section_text'), 'rlrsssl');
3056
  add_settings_field('id_autoreplace_insecure_links', __("Mixed content fixer", "really-simple-ssl"), array($this, 'get_option_autoreplace_insecure_links'), 'rlrsssl', 'rlrsssl_settings');
@@ -3074,6 +3115,7 @@ class rsssl_admin extends rsssl_front_end
3074
  }
3075
 
3076
  add_settings_field('id_switch_mixed_content_fixer_hook', __("Use alternative method to fix mixed content", "really-simple-ssl"), array($this, 'get_option_switch_mixed_content_fixer_hook'), 'rlrsssl', 'rlrsssl_settings');
 
3077
 
3078
  add_settings_field('id_deactivate_keep_ssl', __("Deactivate plugin and keep SSL", "really-simple-ssl"), array($this, 'get_option_deactivate_keep_ssl'), 'rlrsssl', 'rlrsssl_settings');
3079
 
@@ -3160,6 +3202,12 @@ class rsssl_admin extends rsssl_front_end
3160
  $newinput['switch_mixed_content_fixer_hook'] = FALSE;
3161
  }
3162
 
 
 
 
 
 
 
3163
  if (!empty($input['htaccess_redirect']) && $input['htaccess_redirect'] == '1') {
3164
  $newinput['htaccess_redirect'] = TRUE;
3165
  } else {
@@ -3286,7 +3334,7 @@ class rsssl_admin extends rsssl_front_end
3286
  }
3287
 
3288
  ?>
3289
- <label class="rsssl-switch">
3290
  <input id="rlrsssl_options" name="rlrsssl_options[htaccess_redirect]" size="40" value="1"
3291
  type="checkbox" <?php checked(1, $this->htaccess_redirect, true) ?> />
3292
  <span class="rsssl-slider rsssl-round"></span>
@@ -3368,7 +3416,6 @@ class rsssl_admin extends rsssl_front_end
3368
 
3369
  public function get_option_switch_mixed_content_fixer_hook()
3370
  {
3371
-
3372
  ?>
3373
  <label class="rsssl-switch">
3374
  <input id="rlrsssl_options" name="rlrsssl_options[switch_mixed_content_fixer_hook]" size="40" value="1"
@@ -3379,6 +3426,18 @@ class rsssl_admin extends rsssl_front_end
3379
  RSSSL()->rsssl_help->get_help_tip(__("If this option is set to true, the mixed content fixer will fire on the init hook instead of the template_redirect hook. Only use this option when you experience problems with the mixed content fixer.", "really-simple-ssl"));
3380
  }
3381
 
 
 
 
 
 
 
 
 
 
 
 
 
3382
  /**
3383
  *
3384
  * Add a button and thickbox to deactivate the plugin while keeping SSL
@@ -3654,10 +3713,38 @@ class rsssl_admin extends rsssl_front_end
3654
  return $htaccess_file;
3655
  }
3656
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3657
  } //class closure
3658
 
3659
  /**
3660
- * Wrapper function for mixed_content_fixer_detected()
3661
  * @return string
3662
  */
3663
 
@@ -3733,3 +3820,8 @@ function rsssl_scan_upsell()
3733
  {
3734
  return 'upsell';
3735
  }
 
 
 
 
 
62
 
63
  register_deactivation_hook(dirname(__FILE__) . "/" . $this->plugin_filename, array($this, 'deactivate'));
64
 
65
+ add_action('admin_init', array($this, 'add_privacy_info'));
66
 
67
  }
68
 
176
  add_action('admin_init', array($this, 'create_form'), 40);
177
  add_action('admin_init', array($this, 'listen_for_deactivation'), 40);
178
 
179
+ //Only redirect while on own settings page, otherwise deactivate link in plugins overview will break.
180
+ //if ($this->is_settings_page()) {
181
+ add_action( 'update_option_rlrsssl_options', array( $this, 'maybe_remove_highlight_from_url' ) );
182
+ //}
183
+
184
  $plugin = rsssl_plugin;
185
  add_filter("plugin_action_links_$plugin", array($this, 'plugin_settings_link'));
186
 
567
  $this->do_not_edit_htaccess = isset($options['do_not_edit_htaccess']) ? $options['do_not_edit_htaccess'] : FALSE;
568
  $this->htaccess_redirect = isset($options['htaccess_redirect']) ? $options['htaccess_redirect'] : FALSE;
569
  $this->switch_mixed_content_fixer_hook = isset($options['switch_mixed_content_fixer_hook']) ? $options['switch_mixed_content_fixer_hook'] : FALSE;
570
+ $this->dismiss_all_notices = isset($options['dismiss_all_notices']) ? $options['dismiss_all_notices'] : FALSE;
571
+ $this->debug_log = isset($options['debug_log']) ? $options['debug_log'] : $this->debug_log;
572
  }
573
 
574
  if (is_multisite()) {
1173
  'javascript_redirect' => $this->javascript_redirect,
1174
  'wp_redirect' => $this->wp_redirect,
1175
  'switch_mixed_content_fixer_hook' => $this->switch_mixed_content_fixer_hook,
1176
+ 'dismiss_all_notices' => $this->dismiss_all_notices,
1177
+
1178
  );
1179
 
1180
  update_option('rlrsssl_options', $options);
1222
  $this->wp_redirect = FALSE;
1223
  $this->ssl_enabled = FALSE;
1224
  $this->switch_mixed_content_fixer_hook = FALSE;
1225
+ $this->dismiss_all_notices = FALSE;
1226
 
1227
+
1228
+ $this->save_options();
1229
 
1230
  //when on multisite, per site activation, recreate domain list for htaccess and wpconfig rewrite actions
1231
  if (is_multisite()) {
1561
  return $version;
1562
  }
1563
  }
1564
+
 
 
 
1565
  function htaccess_redirect_allowed()
1566
  {
1567
  if (is_multisite() && RSSSL()->rsssl_multisite->is_per_site_activated_multisite_subfolder_install()) {
2239
 
2240
  ?>
2241
  <script type='text/javascript'>
2242
+ jQuery(document).ready(function ($) {
2243
+ $(".rsssl-dashboard-dismiss").on("click", ".rsssl-close-warning",function (event) {
2244
  var type = $(this).closest('.rsssl-dashboard-dismiss').data('dismiss_type');
2245
  var data = {
2246
  'action': 'rsssl_dismiss_settings_notice',
2250
  $.post(ajaxurl, data, function (response) {});
2251
  $(this).closest('tr').remove();
2252
  });
 
 
2253
  });
2254
  </script>
2255
  <?php
2306
  if (!current_user_can($this->capability) ) return;
2307
 
2308
  check_ajax_referer('really-simple-ssl', 'security');
2309
+ if (isset($_POST['type'])) {
2310
+ $dismiss_type = sanitize_title( $_POST['type'] );
2311
+ update_option( "rsssl_".$dismiss_type."_dismissed", true );
2312
+ delete_transient( 'rsssl_plusone_count' );
2313
+ }
2314
  wp_die(); // this is required to terminate immediately and return a proper response
2315
  }
2316
 
2404
  $update_count = "";
2405
  }
2406
  $menu[80][0] = str_replace(__("Settings"), __("Settings") . $update_count, $menu[80][0]);
 
2407
  }
2408
 
2409
  /**
2499
  'callback' => false,
2500
  );
2501
 
2502
+ $enable = __("Enable", "really-simple-ssl");
2503
+ $dismiss = __("dismiss", "really-simple-ssl");
2504
+ $enable_link = add_query_arg(array("page"=>"rlrsssl_really_simple_ssl", "tab"=>"settings", "highlight"=>"1"),admin_url("options-general.php"));
2505
+
2506
+ $notices = array(
2507
  'ssl_enabled' => array(
2508
  'callback' => 'rsssl_ssl_enabled',
2509
  'output' => array(
2527
  'icon' => 'success'
2528
  ),
2529
  'no-response' => array(
2530
+ 'msg' => sprintf(__('Really Simple SSL has received no response from the webpage. See our knowledge base for %sinstructions on how to fix this warning%s', 'really-simple-ssl'),'<a target="_blank" href="https://really-simple-ssl.com/knowledge-base/how-to-fix-no-response-from-webpage-warning/">','</a>') . " "
2531
+ . __("or", "really-simple-ssl")
2532
+ . "<span class='rsssl-dashboard-dismiss' data-dismiss_type='mixed_content_fixer_detected'><a href='#' class='rsssl-dismiss-text rsssl-close-warning'>$dismiss</a></span>"
2533
+ . "<span class='rsssl-dashboard-plusone update-plugins rsssl-update-count'><span class='update-count'>1</span></span>",
2534
  'icon' => 'error',
2535
  'dismissible' => true,
2536
  'plusone' => true
2537
  ),
2538
  'not-found' => array(
2539
  'msg' => sprintf(__('The mixed content fixer is active, but was not detected on the frontpage. Please follow %sthese steps%s to check if the mixed content fixer is working.', "really-simple-ssl"),'<a target="_blank" href="https://www.really-simple-ssl.com/knowledge-base/how-to-check-if-the-mixed-content-fixer-is-active/">', '</a>' ),
2540
+ 'icon' => 'warning',
2541
+ 'dismissible' => true
2542
  ),
2543
  ),
2544
  ),
2561
  ),
2562
  ),
2563
 
2564
+
2565
  'check_redirect' => array(
2566
  'callback' => 'rsssl_check_redirect',
2567
+ 'condition' => array('rsssl_htaccess_redirect_allowed'),
2568
  'output' => array(
2569
  'htaccess-redirect-set' => array(
2570
  'msg' =>__('301 redirect to https set: .htaccess redirect.', 'really-simple-ssl'),
2571
+ 'icon' => 'success',
2572
+ 'dismissible' => true
2573
  ),
2574
  '301-wp-redirect' => array(
2575
  'msg' => __('301 redirect to https set: WordPress redirect.', 'really-simple-ssl'),
2576
+ 'icon' => 'success',
2577
+ 'dismissible' => true
2578
  ),
2579
  'wp-redirect-to-htaccess' => array(
2580
+ 'msg' => __('WordPress 301 redirect enabled. We recommend to enable the 301 .htaccess redirect option on your specific setup.', 'really-simple-ssl') . " "
2581
+ . "<span><a href='$enable_link'>$enable</a></span>" . " "
2582
+ . __("or", "really-simple-ssl")
2583
+ . "<span class='rsssl-dashboard-dismiss' data-dismiss_type='check_redirect'><a href='#' class='rsssl-dismiss-text rsssl-close-warning'>$dismiss</a></span>"
2584
+ . "<span class='rsssl-dashboard-plusone update-plugins rsssl-update-count'><span class='update-count'>1</span></span>",
2585
  'icon' => 'warning',
2586
  'plusone' => true,
2587
+ 'dismissible' => true
2588
  ),
2589
  'no-redirect-enabled' => array(
2590
  'msg' => __('Enable a .htaccess redirect or WordPress redirect in the settings to create a 301 redirect.', 'really-simple-ssl'),
2591
+ 'icon' => 'warning',
2592
+ 'dismissible' => true
2593
  ),
2594
  'htaccess-not-writeable' => array(
2595
  'msg' => __('.htaccess is not writable. Set 301 WordPress redirect, or set the .htaccess manually if you want to redirect in .htaccess.', 'really-simple-ssl'),
2596
+ 'icon' => 'warning',
2597
+ 'dismissible' => true
2598
  ),
2599
  'htaccess-cannot-be-set' => array(
2600
  'msg' => __('Https redirect cannot be set in the .htaccess. Set the .htaccess redirect manually or enable WordPress redirect in the settings.', 'really-simple-ssl'),
2601
+ 'icon' => 'warning',
2602
+ 'dismissible' => true
2603
  ),
2604
  'default' => array(
2605
  'msg' => __('No 301 redirect is set. Enable the WordPress 301 redirect in the settings to get a 301 permanent redirect.', 'really-simple-ssl'),
2606
+ 'icon' => 'warning',
2607
+ 'dismissible' => true
2608
  ),
2609
  ),
2610
  ),
2611
 
2612
+
2613
  'hsts_enabled' => array(
2614
  'callback' => 'rsssl_hsts_enabled',
2615
  'output' => array(
2624
  ),
2625
  ),
2626
 
2627
+
2628
  'secure_cookies_set' => array(
2629
  'callback' => 'rsssl_secure_cookies_set',
2630
  'output' => array(
2658
  return $notices;
2659
  }
2660
 
 
2661
 
2662
  private function notice_row($id, $notice){
2663
  if (!current_user_can('manage_options')) return;
2708
  if (!$count) {
2709
  $count = 0;
2710
 
2711
+ $options = get_option('rlrsssl_options');
2712
+
2713
  $notices = $this->get_notices_list();
2714
  foreach ($notices as $id => $notice) {
2715
 
2723
 
2724
  $func = $notice['callback'];
2725
  $output = $func();
2726
+ $success = (isset($notice['output'][$output]['icon']) && ($notice['output'][$output]['icon'] === 'success')) ? true : false;
2727
+
2728
+ if ( (isset($notice['output'][$output]['dismissible']) && $notice['output'][$output]['dismissible'] && ($options['dismiss_all_notices'] !== false) ) ) {
2729
+ update_option('rsssl_'.$id.'_dismissed', true);
2730
+ continue;
2731
+ }
2732
 
2733
  //&& notice not dismissed
2734
  if (!$success && isset($notice['output'][$output]['plusone']) && $notice['output'][$output]['plusone']) {
2974
  <?php }
2975
  ?>
2976
 
 
2977
  </div><!-- end container -->
2978
  <?php
2979
  }
3069
  if ((!is_network_admin() && ($hook != $rsssl_admin_page)) && $this->ssl_enabled)
3070
  return;
3071
 
3072
+ if (is_rtl()) {
3073
+ wp_register_style('rlrsssl-css', trailingslashit(rsssl_url) . 'css/main-rtl.min.css', "", rsssl_version);
3074
+ } else {
3075
+ wp_register_style('rlrsssl-css', trailingslashit(rsssl_url) . 'css/main.min.css', "", rsssl_version);
3076
+ }
3077
  wp_enqueue_style('rlrsssl-css');
3078
  }
3079
 
3088
 
3089
  public function create_form()
3090
  {
3091
+ if ($this->is_settings_page()) {
3092
+ add_action( 'admin_head', array( $this, 'highlight_js' ) );
3093
+ }
3094
+
3095
  register_setting('rlrsssl_options', 'rlrsssl_options', array($this, 'options_validate'));
3096
  add_settings_section('rlrsssl_settings', __("Settings", "really-simple-ssl"), array($this, 'section_text'), 'rlrsssl');
3097
  add_settings_field('id_autoreplace_insecure_links', __("Mixed content fixer", "really-simple-ssl"), array($this, 'get_option_autoreplace_insecure_links'), 'rlrsssl', 'rlrsssl_settings');
3115
  }
3116
 
3117
  add_settings_field('id_switch_mixed_content_fixer_hook', __("Use alternative method to fix mixed content", "really-simple-ssl"), array($this, 'get_option_switch_mixed_content_fixer_hook'), 'rlrsssl', 'rlrsssl_settings');
3118
+ add_settings_field('id_dismiss_all_notices', __("Dismiss all Really Simple SSL notices", "really-simple-ssl"), array($this, 'get_option_dismiss_all_notices'), 'rlrsssl', 'rlrsssl_settings');
3119
 
3120
  add_settings_field('id_deactivate_keep_ssl', __("Deactivate plugin and keep SSL", "really-simple-ssl"), array($this, 'get_option_deactivate_keep_ssl'), 'rlrsssl', 'rlrsssl_settings');
3121
 
3202
  $newinput['switch_mixed_content_fixer_hook'] = FALSE;
3203
  }
3204
 
3205
+ if (!empty($input['dismiss_all_notices']) && $input['dismiss_all_notices'] == '1') {
3206
+ $newinput['dismiss_all_notices'] = TRUE;
3207
+ } else {
3208
+ $newinput['dismiss_all_notices'] = FALSE;
3209
+ }
3210
+
3211
  if (!empty($input['htaccess_redirect']) && $input['htaccess_redirect'] == '1') {
3212
  $newinput['htaccess_redirect'] = TRUE;
3213
  } else {
3334
  }
3335
 
3336
  ?>
3337
+ <label class="rsssl-switch" id="rsssl-maybe-highlight">
3338
  <input id="rlrsssl_options" name="rlrsssl_options[htaccess_redirect]" size="40" value="1"
3339
  type="checkbox" <?php checked(1, $this->htaccess_redirect, true) ?> />
3340
  <span class="rsssl-slider rsssl-round"></span>
3416
 
3417
  public function get_option_switch_mixed_content_fixer_hook()
3418
  {
 
3419
  ?>
3420
  <label class="rsssl-switch">
3421
  <input id="rlrsssl_options" name="rlrsssl_options[switch_mixed_content_fixer_hook]" size="40" value="1"
3426
  RSSSL()->rsssl_help->get_help_tip(__("If this option is set to true, the mixed content fixer will fire on the init hook instead of the template_redirect hook. Only use this option when you experience problems with the mixed content fixer.", "really-simple-ssl"));
3427
  }
3428
 
3429
+ public function get_option_dismiss_all_notices()
3430
+ {
3431
+ ?>
3432
+ <label class="rsssl-switch">
3433
+ <input id="rlrsssl_options" name="rlrsssl_options[dismiss_all_notices]" size="40" value="1"
3434
+ type="checkbox" <?php checked(1, $this->dismiss_all_notices, true) ?> />
3435
+ <span class="rsssl-slider rsssl-round"></span>
3436
+ </label>
3437
+ <?php
3438
+ RSSSL()->rsssl_help->get_help_tip(__("Enable this option to dismiss all +1 notices in the Configuration tab", "really-simple-ssl"));
3439
+ }
3440
+
3441
  /**
3442
  *
3443
  * Add a button and thickbox to deactivate the plugin while keeping SSL
3713
  return $htaccess_file;
3714
  }
3715
 
3716
+ public function highlight_js(){
3717
+ ?>
3718
+ <script>
3719
+ jQuery(document).ready(function ($) {
3720
+ 'use strict';
3721
+ $(function() {
3722
+ if (document.location.href.indexOf('&highlight') > -1 ) {
3723
+ $('#rsssl-maybe-highlight').closest('tr').addClass('rsssl-highlight');
3724
+ }
3725
+ });
3726
+ });
3727
+ </script>
3728
+ <?php
3729
+ }
3730
+
3731
+ public function maybe_remove_highlight_from_url() {
3732
+
3733
+ $http_referrer = isset($_POST['_wp_http_referer']) ? $_POST['_wp_http_referer'] : false;
3734
+ if ($http_referrer && strpos( $http_referrer, "&highlight=" ) ) {
3735
+ $url = add_query_arg( array(
3736
+ "page" => "rlrsssl_really_simple_ssl",
3737
+ "tab" => "settings"
3738
+ ), admin_url( "options-general.php" ) );
3739
+ wp_safe_redirect( $url );
3740
+ exit;
3741
+ }
3742
+ }
3743
+
3744
  } //class closure
3745
 
3746
  /**
3747
+ * Wrapper functions for dashboard notices()
3748
  * @return string
3749
  */
3750
 
3820
  {
3821
  return 'upsell';
3822
  }
3823
+
3824
+ function rsssl_htaccess_redirect_allowed()
3825
+ {
3826
+ return RSSSL()->really_simple_ssl->htaccess_redirect_allowed();
3827
+ }
class-site-health.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('ABSPATH') or die("you do not have access to this page!");
3
+
4
+ if (!class_exists("rsssl_site_health")) {
5
+ class rsssl_site_health {
6
+
7
+ private static $_this;
8
+
9
+ function __construct() {
10
+
11
+ if ( isset( self::$_this ) ) {
12
+ wp_die( sprintf( __( '%s is a singleton class and you cannot create a second instance.', 'really-simple-ssl' ), get_class( $this ) ) );
13
+
14
+ }
15
+
16
+ add_filter( 'site_status_tests', array($this, 'rsssl_hsts_check' ) );
17
+
18
+ self::$_this = $this;
19
+ }
20
+
21
+ static function this() {
22
+ return self::$_this;
23
+ }
24
+
25
+ public function rsssl_hsts_check( $tests ) {
26
+ $tests['direct']['really-simple-ssl'] = array(
27
+ 'label' => __( 'Really Simple SSL HSTS test' ),
28
+ 'test' => array($this, "rsssl_hsts_test"),
29
+ );
30
+
31
+ return $tests;
32
+ }
33
+
34
+ public function rsssl_hsts_test() {
35
+ $result = array(
36
+ 'label' => __( '301 SSL redirect enabled', 'really-simple-ssl' ),
37
+ 'status' => 'good',
38
+ 'badge' => array(
39
+ 'label' => __( 'SSL' ),
40
+ 'color' => 'blue',
41
+ ),
42
+ 'description' => sprintf(
43
+ '<p>%s</p>',
44
+ __( 'You have set a 301 redirect to SSL. This is important for SEO purposes', 'really-simple-ssl' )
45
+ ),
46
+ 'actions' => '',
47
+ 'test' => 'really-simple-ssl',
48
+ );
49
+
50
+ if (RSSSL()->really_simple_ssl->has_301_redirect() && RSSSL()->really_simple_ssl->wp_redirect && RSSSL()->rsssl_server->uses_htaccess() && !RSSSL()->really_simple_ssl->htaccess_redirect) {
51
+ $result['status'] = 'recommended';
52
+ $result['label'] = __( '301 .htaccess redirect is not enabled.' , 'really-simple-ssl' );
53
+ $result['description'] = sprintf(
54
+ '<p>%s</p>',
55
+ __( 'The 301 .htaccess redirect is often the fastest and most reliable redirect option.' )
56
+ );
57
+ $result['actions'] .= sprintf(
58
+ '<p><a href="%s">%s</a></p>',
59
+ esc_url( admin_url("options-general.php?page=rlrsssl_really_simple_ssl&tab=settings") ),
60
+ __( 'Enable 301 .htaccess redirect', 'really-simple-ssl' )
61
+ );
62
+ }
63
+
64
+ return $result;
65
+
66
+ }
67
+ }
68
+ }
css/main-rtl.css ADDED
@@ -0,0 +1,600 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ direction: rtl;
3
+ unicode-bidi: embed;
4
+ }
5
+
6
+ .rsssl-notice {
7
+ background-color: #fff;
8
+ border-right: 4px solid green;
9
+ padding: 1px 15px;
10
+ }
11
+
12
+ .rsssl-main {
13
+ flex: 1;
14
+ width: 80%;
15
+ float:right;
16
+ }
17
+
18
+ .rsssl-sidebar img {
19
+ max-width:100%;
20
+ /*height:inherit;*/
21
+ }
22
+ #message.updated.notice.activate-ssl {
23
+ padding-top: 10px;
24
+ }
25
+ .activate-ssl ul, .rsssl-result ul, .rsssl_bullets {
26
+ list-style-type: square;
27
+ margin-right:30px;
28
+ }
29
+
30
+ .activate-ssl .button {
31
+ margin-bottom:20px;
32
+ }
33
+
34
+ .really-simple-ssl-table {
35
+ display: flex;
36
+ flex-direction: column;
37
+ max-width: 1140px;
38
+ }
39
+
40
+ .rsssl-table-td-main-content {
41
+ width: 100%;
42
+ }
43
+
44
+ .really-simple-ssl-table tr:first-child {
45
+ border-top-right-radius: .55rem;
46
+ border-top-left-radius: .55rem;
47
+ }
48
+
49
+ .really-simple-ssl-table tr:last-child {
50
+ margin-bottom: 0;
51
+ border-bottom-right-radius: .55rem;
52
+ border-bottom-left-radius: .55rem;
53
+ }
54
+
55
+ .really-simple-ssl-table tr {
56
+ position: relative;
57
+ display: block;
58
+ padding: .75rem 1.25rem;
59
+ margin-bottom: -1px;
60
+ background-color: #fff;
61
+ border: 1px solid rgba(0,0,0,.125);
62
+ }
63
+
64
+ .debug-log {
65
+ background-color: #fff;
66
+ padding:15px;
67
+ border:1px solid black;
68
+ }
69
+
70
+ .rsssl-icons {
71
+ width:15px;
72
+ height:15px;
73
+ }
74
+
75
+ .rsssl-update-count {
76
+ margin-right: 4px !important;
77
+ display: inline-block;
78
+ vertical-align: top;
79
+ box-sizing: border-box;
80
+ margin: 1px 2px -1px 0;
81
+ padding: 0 5px;
82
+ min-width: 18px;
83
+ height: 18px;
84
+ border-radius: 9px;
85
+ background-color: #ca4a1f;
86
+ color: #fff;
87
+ font-size: 11px;
88
+ line-height: 1.6;
89
+ text-align: center;
90
+ z-index: 26
91
+ }
92
+
93
+ /* rsssl-rsssl-tooltip for settings page */
94
+ /* Base styles for the element that has a rsssl-tooltip */
95
+ [data-rsssl-tooltip],
96
+ .rsssl-tooltip {
97
+ position: relative;
98
+ cursor: pointer;
99
+ }
100
+
101
+ /* Base styles for the entire tooltip */
102
+ [data-rsssl-tooltip]:before,
103
+ [data-rsssl-tooltip]:after,
104
+ .rsssl-tooltip:before,
105
+ .rsssl-tooltip:after {
106
+ position: absolute;
107
+ visibility: hidden;
108
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
109
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
110
+ opacity: 0;
111
+ -webkit-transition:
112
+ opacity 0.2s ease-in-out,
113
+ visibility 0.2s ease-in-out,
114
+ -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
115
+ -moz-transition:
116
+ opacity 0.2s ease-in-out,
117
+ visibility 0.2s ease-in-out,
118
+ -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
119
+ transition:
120
+ opacity 0.2s ease-in-out,
121
+ visibility 0.2s ease-in-out,
122
+ transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
123
+ -webkit-transform: translate3d(0, 0, 0);
124
+ -moz-transform: translate3d(0, 0, 0);
125
+ transform: translate3d(0, 0, 0);
126
+ pointer-events: none;
127
+ }
128
+
129
+ /* Show the entire rsssl-tooltip on hover and focus */
130
+ [data-rsssl-tooltip]:hover:before,
131
+ [data-rsssl-tooltip]:hover:after,
132
+ [data-rsssl-tooltip]:focus:before,
133
+ [data-rsssl-tooltip]:focus:after,
134
+ .rsssl-tooltip:hover:before,
135
+ .rsssl-tooltip:hover:after,
136
+ .rsssl-tooltip:focus:before,
137
+ .rsssl-tooltip:focus:after {
138
+ visibility: visible;
139
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
140
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
141
+ opacity: 1;
142
+ }
143
+
144
+ /* Base styles for the rsssl-tooltip's directional arrow */
145
+ .rsssl-tooltip:before,
146
+ [data-rsssl-tooltip]:before {
147
+ z-index: 1001;
148
+ border: 6px solid transparent;
149
+ background: transparent;
150
+ content: "";
151
+ }
152
+
153
+ /* Base styles for the rsssl-tooltip's content area */
154
+ .rsssl-tooltip:after,
155
+ [data-rsssl-tooltip]:after {
156
+ z-index: 1000;
157
+ padding: 8px;
158
+ width: 160px;
159
+ background-color: #000;
160
+ background-color: hsla(0, 0%, 20%, 0.9);
161
+ color: #fff;
162
+ content: attr(data-rsssl-tooltip);
163
+ font-size: 14px;
164
+ line-height: 1.2;
165
+ }
166
+
167
+ /* Directions */
168
+
169
+ /* Top (default) */
170
+ [data-rsssl-tooltip]:before,
171
+ [data-rsssl-tooltip]:after,
172
+ .rsssl-tooltip:before,
173
+ .rsssl-tooltip:after,
174
+ .rsssl-tooltip-top:before,
175
+ .rsssl-tooltip-top:after {
176
+ bottom: 100%;
177
+ right: 50%;
178
+ }
179
+
180
+ [data-rsssl-tooltip]:before,
181
+ .rsssl-tooltip:before,
182
+ .rsssl-tooltip-top:before {
183
+ margin-right: -6px;
184
+ margin-bottom: -12px;
185
+ border-top-color: #000;
186
+ border-top-color: hsla(0, 0%, 20%, 0.9);
187
+ }
188
+
189
+ /* Horizontally align top/bottom rsssl-tooltips */
190
+ [data-rsssl-tooltip]:after,
191
+ .rsssl-tooltip:after,
192
+ .rsssl-tooltip-top:after {
193
+ margin-right: -80px;
194
+ }
195
+
196
+ [data-rsssl-tooltip]:hover:before,
197
+ [data-rsssl-tooltip]:hover:after,
198
+ [data-rsssl-tooltip]:focus:before,
199
+ [data-rsssl-tooltip]:focus:after,
200
+ .rsssl-tooltip:hover:before,
201
+ .rsssl-tooltip:hover:after,
202
+ .rsssl-tooltip:focus:before,
203
+ .rsssl-tooltip:focus:after,
204
+ .rsssl-tooltip-top:hover:before,
205
+ .rsssl-tooltip-top:hover:after,
206
+ .rsssl-tooltip-top:focus:before,
207
+ .rsssl-tooltip-top:focus:after {
208
+ -webkit-transform: translateY(-12px);
209
+ -moz-transform: translateY(-12px);
210
+ transform: translateY(-12px);
211
+ }
212
+
213
+ /* Left */
214
+ .rsssl-tooltip-left:before,
215
+ .rsssl-tooltip-left:after {
216
+ left: 100%;
217
+ bottom: 50%;
218
+ right: auto;
219
+ }
220
+
221
+ .rsssl-tooltip-left:before {
222
+ margin-right: 0;
223
+ margin-left: -12px;
224
+ margin-bottom: 0;
225
+ border-top-color: transparent;
226
+ border-right-color: #000;
227
+ border-right-color: hsla(0, 0%, 20%, 0.9);
228
+ }
229
+
230
+ .rsssl-tooltip-left:hover:before,
231
+ .rsssl-tooltip-left:hover:after,
232
+ .rsssl-tooltip-left:focus:before,
233
+ .rsssl-tooltip-left:focus:after {
234
+ -webkit-transform: translateX(12px);
235
+ -moz-transform: translateX(12px);
236
+ transform: translateX(12px);
237
+ }
238
+
239
+ /* Bottom */
240
+ .rsssl-tooltip-bottom:before,
241
+ .rsssl-tooltip-bottom:after {
242
+ top: 100%;
243
+ bottom: auto;
244
+ right: 50%;
245
+ }
246
+
247
+ .rsssl-tooltip-bottom:before {
248
+ margin-top: -12px;
249
+ margin-bottom: 0;
250
+ border-top-color: transparent;
251
+ border-bottom-color: #000;
252
+ border-bottom-color: hsla(0, 0%, 20%, 0.9);
253
+ }
254
+
255
+ .rsssl-tooltip-bottom:hover:before,
256
+ .rsssl-tooltip-bottom:hover:after,
257
+ .rsssl-tooltip-bottom:focus:before,
258
+ .rsssl-tooltip-bottom:focus:after {
259
+ -webkit-transform: translateY(12px);
260
+ -moz-transform: translateY(12px);
261
+ transform: translateY(12px);
262
+ }
263
+
264
+ /* Right */
265
+ .rsssl-tooltip-right:before,
266
+ .rsssl-tooltip-right:after {
267
+ bottom: 50%;
268
+ right: 100%;
269
+ }
270
+
271
+ .rsssl-tooltip-right:before {
272
+ margin-bottom: 0;
273
+ margin-right: -12px;
274
+ border-top-color: transparent;
275
+ border-left-color: #000;
276
+ border-left-color: hsla(0, 0%, 20%, 0.9);
277
+ }
278
+
279
+ .rsssl-tooltip-right:hover:before,
280
+ .rsssl-tooltip-right:hover:after,
281
+ .rsssl-tooltip-right:focus:before,
282
+ .rsssl-tooltip-right:focus:after {
283
+ -webkit-transform: translateX(-12px);
284
+ -moz-transform: translateX(-12px);
285
+ transform: translateX(-12px);
286
+ }
287
+
288
+ /* Move directional arrows down a bit for left/right rsssl-tooltips */
289
+ .rsssl-tooltip-left:before,
290
+ .rsssl-tooltip-right:before {
291
+ top: 3px;
292
+ }
293
+
294
+ /* Vertically center rsssl-tooltip content for left/right rsssl-tooltips */
295
+ .rsssl-tooltip-left:after,
296
+ .rsssl-tooltip-right:after {
297
+ margin-right: 0;
298
+ margin-bottom: -16px;
299
+ }
300
+
301
+ /* Styling for the sidebar in the admin tab of the free plugin */
302
+
303
+ .rsssl-really-simple-plugins-logo {
304
+ background-color: #DCDCDC;
305
+ margin-right: -15px;
306
+ margin-left: -15px;
307
+ }
308
+
309
+ .rsssl-sidebar {
310
+ width: 240px;
311
+ margin-top: 20px;
312
+ padding-right: 15px;
313
+ padding-left: 15px;
314
+ margin-left: 15px;
315
+ padding-bottom: 15px;
316
+ background-color: #ECECEC;
317
+ }
318
+
319
+ .rsssl-sidebar-single-content-container {
320
+ min-height: 125px;
321
+ padding-bottom: 35px;
322
+ margin-bottom: 10px;
323
+ background-color: #DCDCDC;
324
+ width: 100%;
325
+ border-radius: 3%;
326
+ }
327
+
328
+ .rsssl-sidebar-single-content-container-pro {
329
+ min-height: 125px;
330
+ padding-bottom: 35px;
331
+ margin-bottom: 10px;
332
+ background-color: #DCDCDC;
333
+ width: 100%;
334
+ border-radius: 3%;
335
+ }
336
+
337
+ .rsssl-sidebar-title h3 {
338
+ font-size: 0.9em;
339
+ }
340
+
341
+ .rsssl-sidebar-text-content-pro {
342
+ font-weight: 700;
343
+ font-size: 0.8em;
344
+ width: 90%;
345
+ /*min-height: 100px;*/
346
+ margin: auto;
347
+ }
348
+
349
+ .rsssl-sidebar-text-content {
350
+ width: 45%;
351
+ padding-top: 5px;
352
+ padding-left: 7px;
353
+ font-weight: 700;
354
+ font-size: 0.8em;
355
+ float: left;
356
+ margin: 10px auto;
357
+ }
358
+
359
+ .rsssl-pro-image {
360
+ height: 30px;
361
+ margin-top: 6px;
362
+ }
363
+
364
+ .rsssl-sidebar-image-pro {
365
+ width: 90%;
366
+ margin: 10px;
367
+ }
368
+
369
+ .rsssl-sidebar-image {
370
+ width: 100px;
371
+ float: right;
372
+ padding: 10px;
373
+ height: 100px;
374
+ }
375
+
376
+ @media screen and (max-width: 1024px) and (min-width: 541px) {
377
+ /* Let the main container be 100% width again */
378
+ .rsssl-main {
379
+ width: 100%;
380
+ }
381
+
382
+ .rsssl-sidebar-title {
383
+ /*margin: auto;*/
384
+ text-align: center;
385
+ }
386
+
387
+ .rsssl-container {
388
+ flex-direction: column;
389
+ }
390
+ .rsssl-sidebar {
391
+ width: 100%;
392
+ /*padding-left: 10%;*/
393
+ }
394
+ .rsssl-really-simple-plugins-logo {
395
+ width: 40%;
396
+ }
397
+ .rsssl-sidebar-single-content-container {
398
+ width: 40%;
399
+ padding-right: 25px;
400
+ float: right;
401
+ margin-left: 25px;
402
+ }
403
+
404
+ .rsssl-sidebar-single-content-container-pro {
405
+ width: 40%;
406
+ padding-right: 25px;
407
+ margin: auto auto 25px;
408
+ }
409
+
410
+ .rsssl-sidebar-um-text-content {
411
+ width: 40%;
412
+ }
413
+ .rsssl-pro-image {
414
+ display: none;
415
+ }
416
+ }
417
+
418
+ @media screen and (max-width: 540px) {
419
+ .rsssl-main {
420
+ width: 100%;
421
+ }
422
+ .rsssl-container {
423
+ flex-direction: column;
424
+ }
425
+ .rsssl-sidebar {
426
+ display: grid;
427
+ text-align: -webkit-center;
428
+ width: 70%;
429
+ }
430
+ .rsssl-sidebar-um-text-content {
431
+ width: 45%;
432
+ }
433
+ .rsssl-sidebar-single-content-container-pro {
434
+ padding-bottom: 10px;
435
+ }
436
+ .rsssl-sidebar-single-content-container {
437
+ padding-bottom: 10px;
438
+ }
439
+ }
440
+
441
+ .rsssl-sidebar h4 {
442
+ font-size:14px;
443
+ font-style:italic;
444
+ }
445
+
446
+ .rsssl-wrapper {
447
+ padding: 30px;
448
+ }
449
+
450
+ .rsssl-sidebar-list {
451
+ font-size: 0.9em;
452
+ }
453
+
454
+ #rsssl-premium-button-pro {
455
+ display: inline-table;
456
+ width: 40%;
457
+ text-align: center;
458
+ float: left;
459
+ font-size: inherit;
460
+ height: 25px;
461
+ -webkit-border-radius: 12px;
462
+ -moz-border-radius: 12px;
463
+ border-radius: 12px;
464
+ background-color: #7BD561;
465
+ color: white;
466
+ margin-left: 5px;
467
+ }
468
+
469
+ .rsssl-sidebar-content {
470
+ float: right;
471
+ padding-bottom: 10px;
472
+ }
473
+
474
+ hr {
475
+ display: block;
476
+ height: 1px;
477
+ border: 0;
478
+ border-top: 1px solid #ccc;
479
+ margin: 1em 0;
480
+ padding: 0;
481
+ }
482
+
483
+ .rsssl-container {
484
+ display: flex;
485
+ }
486
+
487
+ #rsssl-premium-button {
488
+ display: inline-table;
489
+ width: 40%;
490
+ text-align: center;
491
+ float: left;
492
+ font-size: inherit;
493
+ height: 25px;
494
+ -webkit-border-radius: 12px;
495
+ -moz-border-radius: 12px;
496
+ border-radius: 12px;
497
+ background-color: #017FAF;
498
+ color: white;
499
+ margin-left: 5px;
500
+ }
501
+
502
+ .rsssl-more-info-button {
503
+ clear: both;
504
+ }
505
+
506
+ #TB_ajaxContent {
507
+ text-align: center !important;
508
+ }
509
+
510
+ #TB_window {
511
+ height: 370px !important;
512
+ }
513
+
514
+ .rsssl-button-deactivate-keep-ssl {
515
+ margin-left: 15px;
516
+ }
517
+
518
+ .rsssl-scan-button{
519
+ float: right;
520
+ margin-top: 17px;
521
+ margin-left: 5px;
522
+ }
523
+
524
+ /*
525
+ cool checkbox sliders
526
+ */
527
+ .rsssl-switch {
528
+ position: relative;
529
+ display: inline-block;
530
+ width: 40px;
531
+ height: 21px;
532
+ }
533
+ .rsssl-switch input {
534
+ display: none;
535
+ }
536
+ .rsssl-slider {
537
+ position: absolute;
538
+ cursor: pointer;
539
+ top: 0;
540
+ right: 0;
541
+ left: 0;
542
+ bottom: 0;
543
+ background-color: #ccc;
544
+ -webkit-transition: .4s;
545
+ transition: .4s;
546
+ }
547
+ .rsssl-slider:before {
548
+ position: absolute;
549
+ content: "";
550
+ height: 15px;
551
+ width: 15px;
552
+ right: 4px;
553
+ bottom: 3px;
554
+ background-color: white;
555
+ -webkit-transition: .4s;
556
+ transition: .4s;
557
+ }
558
+ .rsssl-slider.rsssl-round {
559
+ border-radius: 20px;
560
+ }
561
+ .rsssl-slider.rsssl-round:before {
562
+ border-radius: 50%;
563
+ }
564
+ input:checked + .rsssl-slider {
565
+ background-color: #2DAAE1;
566
+ }
567
+ input:checked + .rsssl-slider:before {
568
+ -webkit-transform: translateX(-17px);
569
+ -ms-transform: translateX(-17px);
570
+ transform: translateX(-17px);
571
+ }
572
+ input:disabled + .rsssl-slider {
573
+ background-color: #b3e0f4;
574
+ }
575
+ input:focus + .rsssl-slider {
576
+ box-shadow: 0 0 1px #2DAAE1;
577
+ }
578
+
579
+ .debug-log {
580
+ width: 90%;
581
+ }
582
+
583
+ .rsssl-close-warning {
584
+ color: black;
585
+ font-size: 1.3em;
586
+ }
587
+
588
+ .rsssl-close-warning:hover {
589
+ cursor: pointer;
590
+ }
591
+
592
+ .rsssl-dismiss-text {
593
+ font-size: 1em;
594
+ color: #0073aa;
595
+ margin-right: 6px;
596
+ }
597
+
598
+ .rsssl-dashboard-plusone {
599
+ margin-right: 8px;
600
+ }
css/main-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ body{direction:rtl;unicode-bidi:embed}.rsssl-notice{background-color:#fff;border-right:4px solid green;padding:1px 15px}.rsssl-main{flex:1;width:80%;float:right}.rsssl-sidebar img{max-width:100%}#message.updated.notice.activate-ssl{padding-top:10px}.activate-ssl ul,.rsssl-result ul,.rsssl_bullets{list-style-type:square;margin-right:30px}.activate-ssl .button{margin-bottom:20px}.really-simple-ssl-table{display:flex;flex-direction:column;max-width:1140px}.rsssl-table-td-main-content{width:100%}.really-simple-ssl-table tr:first-child{border-top-right-radius:.55rem;border-top-left-radius:.55rem}.really-simple-ssl-table tr:last-child{margin-bottom:0;border-bottom-right-radius:.55rem;border-bottom-left-radius:.55rem}.really-simple-ssl-table tr{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.debug-log{background-color:#fff;padding:15px;border:1px solid black}.rsssl-icons{width:15px;height:15px}.rsssl-update-count{margin-right:4px !important;display:inline-block;vertical-align:top;box-sizing:border-box;margin:1px 2px -1px 0;padding:0 5px;min-width:18px;height:18px;border-radius:9px;background-color:#ca4a1f;color:#fff;font-size:11px;line-height:1.6;text-align:center;z-index:26}[data-rsssl-tooltip],.rsssl-tooltip{position:relative;cursor:pointer}[data-rsssl-tooltip]:before,[data-rsssl-tooltip]:after,.rsssl-tooltip:before,.rsssl-tooltip:after{position:absolute;visibility:hidden;-ms-filter:"alpha(opacity=0)";filter:alpha(opacity=0);opacity:0;-webkit-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-webkit-transform .2s cubic-bezier(0.71,1.7,0.77,1.24);-moz-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-moz-transform .2s cubic-bezier(0.71,1.7,0.77,1.24);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s cubic-bezier(0.71,1.7,0.77,1.24);-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);pointer-events:none}[data-rsssl-tooltip]:hover:before,[data-rsssl-tooltip]:hover:after,[data-rsssl-tooltip]:focus:before,[data-rsssl-tooltip]:focus:after,.rsssl-tooltip:hover:before,.rsssl-tooltip:hover:after,.rsssl-tooltip:focus:before,.rsssl-tooltip:focus:after{visibility:visible;-ms-filter:"alpha(opacity=100)";filter:alpha(opacity=100);opacity:1}.rsssl-tooltip:before,[data-rsssl-tooltip]:before{z-index:1001;border:6px solid transparent;background:transparent;content:""}.rsssl-tooltip:after,[data-rsssl-tooltip]:after{z-index:1000;padding:8px;width:160px;background-color:#000;background-color:hsla(0,0,20%,0.9);color:#fff;content:attr(data-rsssl-tooltip);font-size:14px;line-height:1.2}[data-rsssl-tooltip]:before,[data-rsssl-tooltip]:after,.rsssl-tooltip:before,.rsssl-tooltip:after,.rsssl-tooltip-top:before,.rsssl-tooltip-top:after{bottom:100%;right:50%}[data-rsssl-tooltip]:before,.rsssl-tooltip:before,.rsssl-tooltip-top:before{margin-right:-6px;margin-bottom:-12px;border-top-color:#000;border-top-color:hsla(0,0,20%,0.9)}[data-rsssl-tooltip]:after,.rsssl-tooltip:after,.rsssl-tooltip-top:after{margin-right:-80px}[data-rsssl-tooltip]:hover:before,[data-rsssl-tooltip]:hover:after,[data-rsssl-tooltip]:focus:before,[data-rsssl-tooltip]:focus:after,.rsssl-tooltip:hover:before,.rsssl-tooltip:hover:after,.rsssl-tooltip:focus:before,.rsssl-tooltip:focus:after,.rsssl-tooltip-top:hover:before,.rsssl-tooltip-top:hover:after,.rsssl-tooltip-top:focus:before,.rsssl-tooltip-top:focus:after{-webkit-transform:translateY(-12px);-moz-transform:translateY(-12px);transform:translateY(-12px)}.rsssl-tooltip-left:before,.rsssl-tooltip-left:after{left:100%;bottom:50%;right:auto}.rsssl-tooltip-left:before{margin-right:0;margin-left:-12px;margin-bottom:0;border-top-color:transparent;border-right-color:#000;border-right-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-left:hover:before,.rsssl-tooltip-left:hover:after,.rsssl-tooltip-left:focus:before,.rsssl-tooltip-left:focus:after{-webkit-transform:translateX(12px);-moz-transform:translateX(12px);transform:translateX(12px)}.rsssl-tooltip-bottom:before,.rsssl-tooltip-bottom:after{top:100%;bottom:auto;right:50%}.rsssl-tooltip-bottom:before{margin-top:-12px;margin-bottom:0;border-top-color:transparent;border-bottom-color:#000;border-bottom-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-bottom:hover:before,.rsssl-tooltip-bottom:hover:after,.rsssl-tooltip-bottom:focus:before,.rsssl-tooltip-bottom:focus:after{-webkit-transform:translateY(12px);-moz-transform:translateY(12px);transform:translateY(12px)}.rsssl-tooltip-right:before,.rsssl-tooltip-right:after{bottom:50%;right:100%}.rsssl-tooltip-right:before{margin-bottom:0;margin-right:-12px;border-top-color:transparent;border-left-color:#000;border-left-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-right:hover:before,.rsssl-tooltip-right:hover:after,.rsssl-tooltip-right:focus:before,.rsssl-tooltip-right:focus:after{-webkit-transform:translateX(-12px);-moz-transform:translateX(-12px);transform:translateX(-12px)}.rsssl-tooltip-left:before,.rsssl-tooltip-right:before{top:3px}.rsssl-tooltip-left:after,.rsssl-tooltip-right:after{margin-right:0;margin-bottom:-16px}.rsssl-really-simple-plugins-logo{background-color:#dcdcdc;margin-right:-15px;margin-left:-15px}.rsssl-sidebar{width:240px;margin-top:20px;padding-right:15px;padding-left:15px;margin-left:15px;padding-bottom:15px;background-color:#ececec}.rsssl-sidebar-single-content-container{min-height:125px;padding-bottom:35px;margin-bottom:10px;background-color:#dcdcdc;width:100%;border-radius:3%}.rsssl-sidebar-single-content-container-pro{min-height:125px;padding-bottom:35px;margin-bottom:10px;background-color:#dcdcdc;width:100%;border-radius:3%}.rsssl-sidebar-title h3{font-size:.9em}.rsssl-sidebar-text-content-pro{font-weight:700;font-size:.8em;width:90%;margin:auto}.rsssl-sidebar-text-content{width:45%;padding-top:5px;padding-left:7px;font-weight:700;font-size:.8em;float:left;margin:10px auto}.rsssl-pro-image{height:30px;margin-top:6px}.rsssl-sidebar-image-pro{width:90%;margin:10px}.rsssl-sidebar-image{width:100px;float:right;padding:10px;height:100px}@media screen and (max-width:1024px) and (min-width:541px){.rsssl-main{width:100%}.rsssl-sidebar-title{text-align:center}.rsssl-container{flex-direction:column}.rsssl-sidebar{width:100%}.rsssl-really-simple-plugins-logo{width:40%}.rsssl-sidebar-single-content-container{width:40%;padding-right:25px;float:right;margin-left:25px}.rsssl-sidebar-single-content-container-pro{width:40%;padding-right:25px;margin:auto auto 25px}.rsssl-sidebar-um-text-content{width:40%}.rsssl-pro-image{display:none}}@media screen and (max-width:540px){.rsssl-main{width:100%}.rsssl-container{flex-direction:column}.rsssl-sidebar{display:grid;text-align:-webkit-center;width:70%}.rsssl-sidebar-um-text-content{width:45%}.rsssl-sidebar-single-content-container-pro{padding-bottom:10px}.rsssl-sidebar-single-content-container{padding-bottom:10px}}.rsssl-sidebar h4{font-size:14px;font-style:italic}.rsssl-wrapper{padding:30px}.rsssl-sidebar-list{font-size:.9em}#rsssl-premium-button-pro{display:inline-table;width:40%;text-align:center;float:left;font-size:inherit;height:25px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:#7bd561;color:white;margin-left:5px}.rsssl-sidebar-content{float:right;padding-bottom:10px}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.rsssl-container{display:flex}#rsssl-premium-button{display:inline-table;width:40%;text-align:center;float:left;font-size:inherit;height:25px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:#017faf;color:white;margin-left:5px}.rsssl-more-info-button{clear:both}#TB_ajaxContent{text-align:center !important}#TB_window{height:370px !important}.rsssl-button-deactivate-keep-ssl{margin-left:15px}.rsssl-scan-button{float:right;margin-top:17px;margin-left:5px}.rsssl-switch{position:relative;display:inline-block;width:40px;height:21px}.rsssl-switch input{display:none}.rsssl-slider{position:absolute;cursor:pointer;top:0;right:0;left:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.rsssl-slider:before{position:absolute;content:"";height:15px;width:15px;right:4px;bottom:3px;background-color:white;-webkit-transition:.4s;transition:.4s}.rsssl-slider.rsssl-round{border-radius:20px}.rsssl-slider.rsssl-round:before{border-radius:50%}input:checked+.rsssl-slider{background-color:#2daae1}input:checked+.rsssl-slider:before{-webkit-transform:translateX(-17px);-ms-transform:translateX(-17px);transform:translateX(-17px)}input:disabled+.rsssl-slider{background-color:#b3e0f4}input:focus+.rsssl-slider{box-shadow:0 0 1px #2daae1}.debug-log{width:90%}.rsssl-close-warning{color:black;font-size:1.3em}.rsssl-close-warning:hover{cursor:pointer}.rsssl-dismiss-text{font-size:1em;color:#0073aa;margin-right:6px}.rsssl-dashboard-plusone{margin-right:8px}
css/main.css CHANGED
@@ -69,6 +69,20 @@
69
 
70
  .rsssl-update-count {
71
  margin-left: 4px !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  }
73
 
74
  /* rsssl-rsssl-tooltip for settings page */
@@ -561,7 +575,55 @@ input:focus + .rsssl-slider {
561
  width: 90%;
562
  }
563
 
564
- .rsssl-close-warning {
565
- color: black;
566
- font-size: 1.3em;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
567
  }
69
 
70
  .rsssl-update-count {
71
  margin-left: 4px !important;
72
+ display: inline-block;
73
+ vertical-align: top;
74
+ box-sizing: border-box;
75
+ margin: 1px 0 -1px 2px;
76
+ padding: 0 5px;
77
+ min-width: 18px;
78
+ height: 18px;
79
+ border-radius: 9px;
80
+ background-color: #ca4a1f;
81
+ color: #fff;
82
+ font-size: 11px;
83
+ line-height: 1.6;
84
+ text-align: center;
85
+ z-index: 26
86
  }
87
 
88
  /* rsssl-rsssl-tooltip for settings page */
575
  width: 90%;
576
  }
577
 
578
+ .rsssl-dismiss-text {
579
+ font-size: 1em;
580
+ color: #0073aa;
581
+ margin-left: 6px;
582
+ }
583
+
584
+ .rsssl-dashboard-plusone {
585
+ margin-left: 8px;
586
+ }
587
+
588
+ .rsssl-highlight {
589
+ border-left: 4px solid #46B450;
590
+ box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
591
+ background-image:none !important;
592
+ -o-animation: fadeIt 5s ease-in-out;
593
+ animation: fadeIt 5s ease-in-out;}
594
+
595
+ @-o-keyframes fadeIt {
596
+ 0% { background-color: #FFFFFF; }
597
+ 30% { background-color: #d6efd6; }
598
+ 100% { background-color: inherit; }
599
+ }
600
+ @keyframes fadeIt {
601
+ 0% { background-color: #FFFFFF; }
602
+ 30% { background-color: #d6efd6; }
603
+ 100% { background-color: inherit; }
604
+ }
605
+
606
+ .form-table th {
607
+ padding-left: 10px;
608
+ }
609
+
610
+ /*Reset the bootstrap styling to make dashboard dismiss buttons identical*/
611
+
612
+ button {
613
+ all: initial;
614
+ }
615
+
616
+ .rsssl-dashboard-dismiss .close {
617
+ all: initial;
618
+ }
619
+
620
+ .rsssl-dashboard-dismiss span {
621
+ font-size: 1.5em;
622
+ color: darkgrey;
623
+ font-family: sans-serif;
624
+ }
625
+
626
+ .rsssl-dashboard-dismiss span:hover {
627
+ cursor: pointer;
628
+ color: grey;
629
  }
css/main.min.css CHANGED
@@ -1 +1 @@
1
- .rsssl-notice{background-color:#fff;border-left:4px solid green;padding:1px 15px}.rsssl-main{flex:1;width:80%;float:left}.rsssl-sidebar img{max-width:100%}#message.updated.notice.activate-ssl{padding-top:10px}.activate-ssl ul,.rsssl-result ul,.rsssl_bullets{list-style-type:square;margin-left:30px}.activate-ssl .button{margin-bottom:20px}.really-simple-ssl-table{display:flex;flex-direction:column;max-width:1140px}.rsssl-table-td-main-content{width:100%}.really-simple-ssl-table tr:first-child{border-top-left-radius:.55rem;border-top-right-radius:.55rem}.really-simple-ssl-table tr:last-child{margin-bottom:0;border-bottom-left-radius:.55rem;border-bottom-right-radius:.55rem}.really-simple-ssl-table tr{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.debug-log{background-color:#fff;padding:15px;border:1px solid black}.rsssl-icons{width:15px;height:15px}.rsssl-update-count{margin-left:4px !important}[data-rsssl-tooltip],.rsssl-tooltip{position:relative;cursor:pointer}[data-rsssl-tooltip]:before,[data-rsssl-tooltip]:after,.rsssl-tooltip:before,.rsssl-tooltip:after{position:absolute;visibility:hidden;-ms-filter:"alpha(opacity=0)";filter:alpha(opacity=0);opacity:0;-webkit-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-webkit-transform .2s cubic-bezier(0.71,1.7,0.77,1.24);-moz-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-moz-transform .2s cubic-bezier(0.71,1.7,0.77,1.24);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s cubic-bezier(0.71,1.7,0.77,1.24);-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);pointer-events:none}[data-rsssl-tooltip]:hover:before,[data-rsssl-tooltip]:hover:after,[data-rsssl-tooltip]:focus:before,[data-rsssl-tooltip]:focus:after,.rsssl-tooltip:hover:before,.rsssl-tooltip:hover:after,.rsssl-tooltip:focus:before,.rsssl-tooltip:focus:after{visibility:visible;-ms-filter:"alpha(opacity=100)";filter:alpha(opacity=100);opacity:1}.rsssl-tooltip:before,[data-rsssl-tooltip]:before{z-index:1001;border:6px solid transparent;background:transparent;content:""}.rsssl-tooltip:after,[data-rsssl-tooltip]:after{z-index:1000;padding:8px;width:160px;background-color:#000;background-color:hsla(0,0,20%,0.9);color:#fff;content:attr(data-rsssl-tooltip);font-size:14px;line-height:1.2}[data-rsssl-tooltip]:before,[data-rsssl-tooltip]:after,.rsssl-tooltip:before,.rsssl-tooltip:after,.rsssl-tooltip-top:before,.rsssl-tooltip-top:after{bottom:100%;left:50%}[data-rsssl-tooltip]:before,.rsssl-tooltip:before,.rsssl-tooltip-top:before{margin-left:-6px;margin-bottom:-12px;border-top-color:#000;border-top-color:hsla(0,0,20%,0.9)}[data-rsssl-tooltip]:after,.rsssl-tooltip:after,.rsssl-tooltip-top:after{margin-left:-80px}[data-rsssl-tooltip]:hover:before,[data-rsssl-tooltip]:hover:after,[data-rsssl-tooltip]:focus:before,[data-rsssl-tooltip]:focus:after,.rsssl-tooltip:hover:before,.rsssl-tooltip:hover:after,.rsssl-tooltip:focus:before,.rsssl-tooltip:focus:after,.rsssl-tooltip-top:hover:before,.rsssl-tooltip-top:hover:after,.rsssl-tooltip-top:focus:before,.rsssl-tooltip-top:focus:after{-webkit-transform:translateY(-12px);-moz-transform:translateY(-12px);transform:translateY(-12px)}.rsssl-tooltip-left:before,.rsssl-tooltip-left:after{right:100%;bottom:50%;left:auto}.rsssl-tooltip-left:before{margin-left:0;margin-right:-12px;margin-bottom:0;border-top-color:transparent;border-left-color:#000;border-left-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-left:hover:before,.rsssl-tooltip-left:hover:after,.rsssl-tooltip-left:focus:before,.rsssl-tooltip-left:focus:after{-webkit-transform:translateX(-12px);-moz-transform:translateX(-12px);transform:translateX(-12px)}.rsssl-tooltip-bottom:before,.rsssl-tooltip-bottom:after{top:100%;bottom:auto;left:50%}.rsssl-tooltip-bottom:before{margin-top:-12px;margin-bottom:0;border-top-color:transparent;border-bottom-color:#000;border-bottom-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-bottom:hover:before,.rsssl-tooltip-bottom:hover:after,.rsssl-tooltip-bottom:focus:before,.rsssl-tooltip-bottom:focus:after{-webkit-transform:translateY(12px);-moz-transform:translateY(12px);transform:translateY(12px)}.rsssl-tooltip-right:before,.rsssl-tooltip-right:after{bottom:50%;left:100%}.rsssl-tooltip-right:before{margin-bottom:0;margin-left:-12px;border-top-color:transparent;border-right-color:#000;border-right-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-right:hover:before,.rsssl-tooltip-right:hover:after,.rsssl-tooltip-right:focus:before,.rsssl-tooltip-right:focus:after{-webkit-transform:translateX(12px);-moz-transform:translateX(12px);transform:translateX(12px)}.rsssl-tooltip-left:before,.rsssl-tooltip-right:before{top:3px}.rsssl-tooltip-left:after,.rsssl-tooltip-right:after{margin-left:0;margin-bottom:-16px}.rsssl-really-simple-plugins-logo{background-color:#dcdcdc;margin-left:-15px;margin-right:-15px}.rsssl-sidebar{width:240px;margin-top:20px;padding-left:15px;padding-right:15px;margin-right:15px;padding-bottom:15px;background-color:#ececec}.rsssl-sidebar-single-content-container{min-height:125px;padding-bottom:35px;margin-bottom:10px;background-color:#dcdcdc;width:100%;border-radius:3%}.rsssl-sidebar-single-content-container-pro{min-height:125px;padding-bottom:35px;margin-bottom:10px;background-color:#dcdcdc;width:100%;border-radius:3%}.rsssl-sidebar-title h3{font-size:.9em}.rsssl-sidebar-text-content-pro{font-weight:700;font-size:.8em;width:90%;margin:auto}.rsssl-sidebar-text-content{width:45%;padding-top:5px;padding-right:7px;font-weight:700;font-size:.8em;float:right;margin:10px auto}.rsssl-pro-image{height:30px;margin-top:6px}.rsssl-sidebar-image-pro{width:90%;margin:10px}.rsssl-sidebar-image{width:100px;float:left;padding:10px;height:100px}@media screen and (max-width:1024px) and (min-width:541px){.rsssl-main{width:100%}.rsssl-sidebar-title{text-align:center}.rsssl-container{flex-direction:column}.rsssl-sidebar{width:100%}.rsssl-really-simple-plugins-logo{width:40%}.rsssl-sidebar-single-content-container{width:40%;padding-left:25px;float:left;margin-right:25px}.rsssl-sidebar-single-content-container-pro{width:40%;padding-left:25px;margin:auto auto 25px}.rsssl-sidebar-um-text-content{width:40%}.rsssl-pro-image{display:none}}@media screen and (max-width:540px){.rsssl-main{width:100%}.rsssl-container{flex-direction:column}.rsssl-sidebar{display:grid;text-align:-webkit-center;width:70%}.rsssl-sidebar-um-text-content{width:45%}.rsssl-sidebar-single-content-container-pro{padding-bottom:10px}.rsssl-sidebar-single-content-container{padding-bottom:10px}}.rsssl-sidebar h4{font-size:14px;font-style:italic}.rsssl-wrapper{padding:30px}.rsssl-sidebar-list{font-size:.9em}#rsssl-premium-button-pro{display:inline-table;width:40%;text-align:center;float:right;font-size:inherit;height:25px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:#7bd561;color:white;margin-right:5px}.rsssl-sidebar-content{float:left;padding-bottom:10px}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.rsssl-container{display:flex}#rsssl-premium-button{display:inline-table;width:40%;text-align:center;float:right;font-size:inherit;height:25px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:#017faf;color:white;margin-right:5px}.rsssl-more-info-button{clear:both}#TB_ajaxContent{text-align:center !important}#TB_window{height:370px !important}.rsssl-button-deactivate-keep-ssl{margin-right:15px}.rsssl-scan-button{float:left;margin-top:17px;margin-right:5px}.rsssl-switch{position:relative;display:inline-block;width:40px;height:21px}.rsssl-switch input{display:none}.rsssl-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.rsssl-slider:before{position:absolute;content:"";height:15px;width:15px;left:4px;bottom:3px;background-color:white;-webkit-transition:.4s;transition:.4s}.rsssl-slider.rsssl-round{border-radius:20px}.rsssl-slider.rsssl-round:before{border-radius:50%}input:checked+.rsssl-slider{background-color:#2daae1}input:checked+.rsssl-slider:before{-webkit-transform:translateX(17px);-ms-transform:translateX(17px);transform:translateX(17px)}input:disabled+.rsssl-slider{background-color:#b3e0f4}input:focus+.rsssl-slider{box-shadow:0 0 1px #2daae1}.debug-log{width:90%}.rsssl-close-warning{color:black;font-size:1.3em}
1
+ .rsssl-notice{background-color:#fff;border-left:4px solid green;padding:1px 15px}.rsssl-main{flex:1;width:80%;float:left}.rsssl-sidebar img{max-width:100%}#message.updated.notice.activate-ssl{padding-top:10px}.activate-ssl ul,.rsssl-result ul,.rsssl_bullets{list-style-type:square;margin-left:30px}.activate-ssl .button{margin-bottom:20px}.really-simple-ssl-table{display:flex;flex-direction:column;max-width:1140px}.rsssl-table-td-main-content{width:100%}.really-simple-ssl-table tr:first-child{border-top-left-radius:.55rem;border-top-right-radius:.55rem}.really-simple-ssl-table tr:last-child{margin-bottom:0;border-bottom-left-radius:.55rem;border-bottom-right-radius:.55rem}.really-simple-ssl-table tr{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.debug-log{background-color:#fff;padding:15px;border:1px solid black}.rsssl-icons{width:15px;height:15px}.rsssl-update-count{margin-left:4px !important;display:inline-block;vertical-align:top;box-sizing:border-box;margin:1px 0 -1px 2px;padding:0 5px;min-width:18px;height:18px;border-radius:9px;background-color:#ca4a1f;color:#fff;font-size:11px;line-height:1.6;text-align:center;z-index:26}[data-rsssl-tooltip],.rsssl-tooltip{position:relative;cursor:pointer}[data-rsssl-tooltip]:before,[data-rsssl-tooltip]:after,.rsssl-tooltip:before,.rsssl-tooltip:after{position:absolute;visibility:hidden;-ms-filter:"alpha(opacity=0)";filter:alpha(opacity=0);opacity:0;-webkit-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-webkit-transform .2s cubic-bezier(0.71,1.7,0.77,1.24);-moz-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-moz-transform .2s cubic-bezier(0.71,1.7,0.77,1.24);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s cubic-bezier(0.71,1.7,0.77,1.24);-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);pointer-events:none}[data-rsssl-tooltip]:hover:before,[data-rsssl-tooltip]:hover:after,[data-rsssl-tooltip]:focus:before,[data-rsssl-tooltip]:focus:after,.rsssl-tooltip:hover:before,.rsssl-tooltip:hover:after,.rsssl-tooltip:focus:before,.rsssl-tooltip:focus:after{visibility:visible;-ms-filter:"alpha(opacity=100)";filter:alpha(opacity=100);opacity:1}.rsssl-tooltip:before,[data-rsssl-tooltip]:before{z-index:1001;border:6px solid transparent;background:transparent;content:""}.rsssl-tooltip:after,[data-rsssl-tooltip]:after{z-index:1000;padding:8px;width:160px;background-color:#000;background-color:hsla(0,0,20%,0.9);color:#fff;content:attr(data-rsssl-tooltip);font-size:14px;line-height:1.2}[data-rsssl-tooltip]:before,[data-rsssl-tooltip]:after,.rsssl-tooltip:before,.rsssl-tooltip:after,.rsssl-tooltip-top:before,.rsssl-tooltip-top:after{bottom:100%;left:50%}[data-rsssl-tooltip]:before,.rsssl-tooltip:before,.rsssl-tooltip-top:before{margin-left:-6px;margin-bottom:-12px;border-top-color:#000;border-top-color:hsla(0,0,20%,0.9)}[data-rsssl-tooltip]:after,.rsssl-tooltip:after,.rsssl-tooltip-top:after{margin-left:-80px}[data-rsssl-tooltip]:hover:before,[data-rsssl-tooltip]:hover:after,[data-rsssl-tooltip]:focus:before,[data-rsssl-tooltip]:focus:after,.rsssl-tooltip:hover:before,.rsssl-tooltip:hover:after,.rsssl-tooltip:focus:before,.rsssl-tooltip:focus:after,.rsssl-tooltip-top:hover:before,.rsssl-tooltip-top:hover:after,.rsssl-tooltip-top:focus:before,.rsssl-tooltip-top:focus:after{-webkit-transform:translateY(-12px);-moz-transform:translateY(-12px);transform:translateY(-12px)}.rsssl-tooltip-left:before,.rsssl-tooltip-left:after{right:100%;bottom:50%;left:auto}.rsssl-tooltip-left:before{margin-left:0;margin-right:-12px;margin-bottom:0;border-top-color:transparent;border-left-color:#000;border-left-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-left:hover:before,.rsssl-tooltip-left:hover:after,.rsssl-tooltip-left:focus:before,.rsssl-tooltip-left:focus:after{-webkit-transform:translateX(-12px);-moz-transform:translateX(-12px);transform:translateX(-12px)}.rsssl-tooltip-bottom:before,.rsssl-tooltip-bottom:after{top:100%;bottom:auto;left:50%}.rsssl-tooltip-bottom:before{margin-top:-12px;margin-bottom:0;border-top-color:transparent;border-bottom-color:#000;border-bottom-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-bottom:hover:before,.rsssl-tooltip-bottom:hover:after,.rsssl-tooltip-bottom:focus:before,.rsssl-tooltip-bottom:focus:after{-webkit-transform:translateY(12px);-moz-transform:translateY(12px);transform:translateY(12px)}.rsssl-tooltip-right:before,.rsssl-tooltip-right:after{bottom:50%;left:100%}.rsssl-tooltip-right:before{margin-bottom:0;margin-left:-12px;border-top-color:transparent;border-right-color:#000;border-right-color:hsla(0,0,20%,0.9)}.rsssl-tooltip-right:hover:before,.rsssl-tooltip-right:hover:after,.rsssl-tooltip-right:focus:before,.rsssl-tooltip-right:focus:after{-webkit-transform:translateX(12px);-moz-transform:translateX(12px);transform:translateX(12px)}.rsssl-tooltip-left:before,.rsssl-tooltip-right:before{top:3px}.rsssl-tooltip-left:after,.rsssl-tooltip-right:after{margin-left:0;margin-bottom:-16px}.rsssl-really-simple-plugins-logo{background-color:#dcdcdc;margin-left:-15px;margin-right:-15px}.rsssl-sidebar{width:240px;margin-top:20px;padding-left:15px;padding-right:15px;margin-right:15px;padding-bottom:15px;background-color:#ececec}.rsssl-sidebar-single-content-container{min-height:125px;padding-bottom:35px;margin-bottom:10px;background-color:#dcdcdc;width:100%;border-radius:3%}.rsssl-sidebar-single-content-container-pro{min-height:125px;padding-bottom:35px;margin-bottom:10px;background-color:#dcdcdc;width:100%;border-radius:3%}.rsssl-sidebar-title h3{font-size:.9em}.rsssl-sidebar-text-content-pro{font-weight:700;font-size:.8em;width:90%;margin:auto}.rsssl-sidebar-text-content{width:45%;padding-top:5px;padding-right:7px;font-weight:700;font-size:.8em;float:right;margin:10px auto}.rsssl-pro-image{height:30px;margin-top:6px}.rsssl-sidebar-image-pro{width:90%;margin:10px}.rsssl-sidebar-image{width:100px;float:left;padding:10px;height:100px}@media screen and (max-width:1024px) and (min-width:541px){.rsssl-main{width:100%}.rsssl-sidebar-title{text-align:center}.rsssl-container{flex-direction:column}.rsssl-sidebar{width:100%}.rsssl-really-simple-plugins-logo{width:40%}.rsssl-sidebar-single-content-container{width:40%;padding-left:25px;float:left;margin-right:25px}.rsssl-sidebar-single-content-container-pro{width:40%;padding-left:25px;margin:auto auto 25px}.rsssl-sidebar-um-text-content{width:40%}.rsssl-pro-image{display:none}}@media screen and (max-width:540px){.rsssl-main{width:100%}.rsssl-container{flex-direction:column}.rsssl-sidebar{display:grid;text-align:-webkit-center;width:70%}.rsssl-sidebar-um-text-content{width:45%}.rsssl-sidebar-single-content-container-pro{padding-bottom:10px}.rsssl-sidebar-single-content-container{padding-bottom:10px}}.rsssl-sidebar h4{font-size:14px;font-style:italic}.rsssl-wrapper{padding:30px}.rsssl-sidebar-list{font-size:.9em}#rsssl-premium-button-pro{display:inline-table;width:40%;text-align:center;float:right;font-size:inherit;height:25px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:#7bd561;color:white;margin-right:5px}.rsssl-sidebar-content{float:left;padding-bottom:10px}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.rsssl-container{display:flex}#rsssl-premium-button{display:inline-table;width:40%;text-align:center;float:right;font-size:inherit;height:25px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:#017faf;color:white;margin-right:5px}.rsssl-more-info-button{clear:both}#TB_ajaxContent{text-align:center !important}#TB_window{height:370px !important}.rsssl-button-deactivate-keep-ssl{margin-right:15px}.rsssl-scan-button{float:left;margin-top:17px;margin-right:5px}.rsssl-switch{position:relative;display:inline-block;width:40px;height:21px}.rsssl-switch input{display:none}.rsssl-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.rsssl-slider:before{position:absolute;content:"";height:15px;width:15px;left:4px;bottom:3px;background-color:white;-webkit-transition:.4s;transition:.4s}.rsssl-slider.rsssl-round{border-radius:20px}.rsssl-slider.rsssl-round:before{border-radius:50%}input:checked+.rsssl-slider{background-color:#2daae1}input:checked+.rsssl-slider:before{-webkit-transform:translateX(17px);-ms-transform:translateX(17px);transform:translateX(17px)}input:disabled+.rsssl-slider{background-color:#b3e0f4}input:focus+.rsssl-slider{box-shadow:0 0 1px #2daae1}.debug-log{width:90%}.rsssl-dismiss-text{font-size:1em;color:#0073aa;margin-left:6px}.rsssl-dashboard-plusone{margin-left:8px}.rsssl-highlight{border-left:4px solid #46b450;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);background-image:none !important;-o-animation:fadeIt 5s ease-in-out;animation:fadeIt 5s ease-in-out}@-o-keyframes fadeIt{0{background-color:#fff}30%{background-color:#d6efd6}100%{background-color:inherit}}@keyframes fadeIt{0{background-color:#fff}30%{background-color:#d6efd6}100%{background-color:inherit}}.form-table th{padding-left:10px}button{all:initial}.rsssl-dashboard-dismiss .close{all:initial}.rsssl-dashboard-dismiss span{font-size:1.5em;color:darkgrey;font-family:sans-serif}.rsssl-dashboard-dismiss span:hover{cursor:pointer;color:grey}
readme.txt CHANGED
@@ -6,7 +6,7 @@ Requires at least: 4.6
6
  License: GPL2
7
  Tested up to: 5.2
8
  Requires PHP: 5.4
9
- Stable tag: 3.2.2
10
 
11
  No setup required! You only need an SSL certificate, and this plugin will do the rest.
12
 
@@ -81,6 +81,14 @@ If you are experiencing redirect loops on your site, try these [instructions](ht
81
  Yes. There is a dedicated network settings page where you can switch between network activated SSL and per page SSL. In the dedicated pro for multisite plugin, you can override all site settings for SSL on the network level, and can activate and deactivate SSL in the network menu for each site.
82
 
83
  == Changelog ==
 
 
 
 
 
 
 
 
84
  = 3.2.2 =
85
  * Fix: some single sites setup were having issues with multisite files being include.
86
 
6
  License: GPL2
7
  Tested up to: 5.2
8
  Requires PHP: 5.4
9
+ Stable tag: 3.2.3
10
 
11
  No setup required! You only need an SSL certificate, and this plugin will do the rest.
12
 
81
  Yes. There is a dedicated network settings page where you can switch between network activated SSL and per page SSL. In the dedicated pro for multisite plugin, you can override all site settings for SSL on the network level, and can activate and deactivate SSL in the network menu for each site.
82
 
83
  == Changelog ==
84
+ = 3.2.3 =
85
+ * Added right-to-left text support
86
+ * Show a plusone behind the notice that generated it
87
+ * Added a dismiss text link to dismissible notices
88
+ * Added highlighting to .htaccess redirect option after clicking on dashboard link
89
+ * Added option to dismiss all notices
90
+ * Added site health notice
91
+
92
  = 3.2.2 =
93
  * Fix: some single sites setup were having issues with multisite files being include.
94
 
rlrsssl-really-simple-ssl.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Really Simple SSL
4
  * Plugin URI: https://www.really-simple-ssl.com
5
  * Description: Lightweight plugin without any setup to make your site SSL proof
6
- * Version: 3.2.2
7
  * Text Domain: really-simple-ssl
8
  * Domain Path: /languages
9
  * Author: Rogier Lankhorst, Mark Wolters
@@ -66,7 +66,9 @@ class REALLY_SIMPLE_SSL
66
  self::$instance->really_simple_ssl = new rsssl_admin();
67
  self::$instance->rsssl_help = new rsssl_help();
68
  self::$instance->rsssl_certificate = new rsssl_certificate();
69
- // Backwards compatibility for add-ons
 
 
70
  global $rsssl_cache, $rsssl_server, $really_simple_ssl, $rsssl_help;
71
  $rsssl_cache = self::$instance->rsssl_cache;
72
  $rsssl_server = self::$instance->rsssl_server;
@@ -97,7 +99,8 @@ class REALLY_SIMPLE_SSL
97
  {
98
  require_once(rsssl_path . 'class-front-end.php');
99
  require_once(rsssl_path . 'class-mixed-content-fixer.php');
100
- $wpcli = defined( 'WP_CLI' ) && WP_CLI;
 
101
 
102
  if ( $wpcli ) {
103
  require_once(rsssl_path . 'class-rsssl-wp-cli.php');
@@ -108,11 +111,12 @@ class REALLY_SIMPLE_SSL
108
  require_once(rsssl_path . 'class-multisite.php');
109
  require_once(rsssl_path . 'multisite-cron.php');
110
  }
111
- require_once(rsssl_path . 'class-admin.php');
112
  require_once(rsssl_path . 'class-cache.php');
113
  require_once(rsssl_path . 'class-server.php');
114
  require_once(rsssl_path . 'class-help.php');
115
  require_once(rsssl_path . 'class-certificate.php');
 
116
  }
117
  }
118
 
3
  * Plugin Name: Really Simple SSL
4
  * Plugin URI: https://www.really-simple-ssl.com
5
  * Description: Lightweight plugin without any setup to make your site SSL proof
6
+ * Version: 3.2.3
7
  * Text Domain: really-simple-ssl
8
  * Domain Path: /languages
9
  * Author: Rogier Lankhorst, Mark Wolters
66
  self::$instance->really_simple_ssl = new rsssl_admin();
67
  self::$instance->rsssl_help = new rsssl_help();
68
  self::$instance->rsssl_certificate = new rsssl_certificate();
69
+ self::$instance->rsssl_site_health = new rsssl_site_health();
70
+
71
+ // Backwards compatibility for add-ons
72
  global $rsssl_cache, $rsssl_server, $really_simple_ssl, $rsssl_help;
73
  $rsssl_cache = self::$instance->rsssl_cache;
74
  $rsssl_server = self::$instance->rsssl_server;
99
  {
100
  require_once(rsssl_path . 'class-front-end.php');
101
  require_once(rsssl_path . 'class-mixed-content-fixer.php');
102
+
103
+ $wpcli = defined( 'WP_CLI' ) && WP_CLI;
104
 
105
  if ( $wpcli ) {
106
  require_once(rsssl_path . 'class-rsssl-wp-cli.php');
111
  require_once(rsssl_path . 'class-multisite.php');
112
  require_once(rsssl_path . 'multisite-cron.php');
113
  }
114
+ require_once(rsssl_path . 'class-admin.php');
115
  require_once(rsssl_path . 'class-cache.php');
116
  require_once(rsssl_path . 'class-server.php');
117
  require_once(rsssl_path . 'class-help.php');
118
  require_once(rsssl_path . 'class-certificate.php');
119
+ require_once(rsssl_path . 'class-site-health.php');
120
  }
121
  }
122