Anti-Malware Security and Brute-Force Firewall - Version 4.19.68

Version Description

  • Updated some external links.
  • Tweaked code for better compatibility with PHP 7.4 and WordPress 5.4.
Download this release

Release Info

Developer scheeeli
Plugin Icon 128x128 Anti-Malware Security and Brute-Force Firewall
Version 4.19.68
Comparing to
See all releases

Code changes from version 4.19.50 to 4.19.68

Files changed (3) hide show
  1. images/index.php +2 -2
  2. index.php +18 -37
  3. readme.txt +10 -3
images/index.php CHANGED
@@ -622,7 +622,7 @@ if (isset($_GET["SESSION"]) && is_numeric($_GET["SESSION"]) && preg_match('|(.*?
622
  else
623
  die("/* GOTMLS SESSION TEST */\nif('undefined' != typeof stopCheckingSession && stopCheckingSession)\n\tclearTimeout(stopCheckingSession);\nstopCheckingSession = checkupdateserver('".$match[0].$_SESSION["GOTMLS_SESSION_TEST"]."', 'GOTMLS_patch_searching');");
624
  }
625
- } elseif ((isset($_SERVER["DOCUMENT_ROOT"]) && ($SCRIPT_FILE = str_replace($_SERVER["DOCUMENT_ROOT"], "", isset($_SERVER["SCRIPT_FILENAME"])?$_SERVER["SCRIPT_FILENAME"]:isset($_SERVER["SCRIPT_NAME"])?$_SERVER["SCRIPT_NAME"]:"")) && strlen($SCRIPT_FILE) > strlen("/".basename(__FILE__)) && substr(__FILE__, -1 * strlen($SCRIPT_FILE)) == substr($SCRIPT_FILE, -1 * strlen(__FILE__)))) {
626
  if (isset($_GET["page"]) && str_replace('-', '_', $_GET["page"]) == "GOTMLS_View_Quarantine" && isset($_REQUEST["GOTMLS_mt"]) && strlen($_REQUEST["GOTMLS_mt"]) == 32 && isset($GLOBALS["GOTMLS"]["tmp"]["nonce"][$_REQUEST["GOTMLS_mt"]])) {
627
  $return = (print_r( array("nonce"=>$GLOBALS["GOTMLS"]["tmp"]["nonce"][$_REQUEST["GOTMLS_mt"]],"mt"=>($_REQUEST["GOTMLS_mt"])),1));
628
  try {
@@ -1777,7 +1777,7 @@ function GOTMLS_get_URL($URL) {
1777
  }
1778
  }
1779
  $GLOBALS["GOTMLS"]["get_URL"]["$URI"]["response"] = $response;
1780
- update_option('GOTMLS_get_URL_array', $GLOBALS["GOTMLS"]["get_URL"]);
1781
  }
1782
  if (isset($_GET["GOTMLS_debug"]) && (strlen($response) == 0 || $_GET["GOTMLS_debug"] == "GOTMLS_get_URL"))
1783
  print_r(array("$method $URI:".strlen($response)=>htmlspecialchars($GLOBALS["GOTMLS"]["get_URL"]["$URI"]["time"]." ~ $min: ".count($GLOBALS["GOTMLS"]["get_URL"]))));
622
  else
623
  die("/* GOTMLS SESSION TEST */\nif('undefined' != typeof stopCheckingSession && stopCheckingSession)\n\tclearTimeout(stopCheckingSession);\nstopCheckingSession = checkupdateserver('".$match[0].$_SESSION["GOTMLS_SESSION_TEST"]."', 'GOTMLS_patch_searching');");
624
  }
625
+ } elseif ((isset($_SERVER["DOCUMENT_ROOT"]) && ($SCRIPT_FILE = str_replace($_SERVER["DOCUMENT_ROOT"], "", (isset($_SERVER["SCRIPT_FILENAME"])?$_SERVER["SCRIPT_FILENAME"]:(isset($_SERVER["SCRIPT_NAME"])?$_SERVER["SCRIPT_NAME"]:"")))) && strlen($SCRIPT_FILE) > strlen("/".basename(__FILE__)) && substr(__FILE__, -1 * strlen($SCRIPT_FILE)) == substr($SCRIPT_FILE, -1 * strlen(__FILE__)))) {
626
  if (isset($_GET["page"]) && str_replace('-', '_', $_GET["page"]) == "GOTMLS_View_Quarantine" && isset($_REQUEST["GOTMLS_mt"]) && strlen($_REQUEST["GOTMLS_mt"]) == 32 && isset($GLOBALS["GOTMLS"]["tmp"]["nonce"][$_REQUEST["GOTMLS_mt"]])) {
627
  $return = (print_r( array("nonce"=>$GLOBALS["GOTMLS"]["tmp"]["nonce"][$_REQUEST["GOTMLS_mt"]],"mt"=>($_REQUEST["GOTMLS_mt"])),1));
628
  try {
1777
  }
1778
  }
1779
  $GLOBALS["GOTMLS"]["get_URL"]["$URI"]["response"] = $response;
1780
+ update_option('GOTMLS_get_URL_array', $GLOBALS["GOTMLS"]["get_URL"], 'no');
1781
  }
1782
  if (isset($_GET["GOTMLS_debug"]) && (strlen($response) == 0 || $_GET["GOTMLS_debug"] == "GOTMLS_get_URL"))
1783
  print_r(array("$method $URI:".strlen($response)=>htmlspecialchars($GLOBALS["GOTMLS"]["get_URL"]["$URI"]["time"]." ~ $min: ".count($GLOBALS["GOTMLS"]["get_URL"]))));
index.php CHANGED
@@ -6,11 +6,11 @@ Author: Eli Scheetz
6
  Text Domain: gotmls
7
  Author URI: http://wordpress.ieonly.com/category/my-plugins/anti-malware/
8
  Contributors: scheeeli, gotmls
9
- Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QZHD8QHZ2E7PE
10
  Description: This Anti-Virus/Anti-Malware plugin searches for Malware and other Virus like threats and vulnerabilities on your server and helps you remove them. It's always growing and changing to adapt to new threats so let me know if it's not working for you.
11
- Version: 4.19.50
12
  */
13
- if (isset($_SERVER["DOCUMENT_ROOT"]) && ($SCRIPT_FILE = str_replace($_SERVER["DOCUMENT_ROOT"], "", isset($_SERVER["SCRIPT_FILENAME"])?$_SERVER["SCRIPT_FILENAME"]:isset($_SERVER["SCRIPT_NAME"])?$_SERVER["SCRIPT_NAME"]:"")) && strlen($SCRIPT_FILE) > strlen("/".basename(__FILE__)) && substr(__FILE__, -1 * strlen($SCRIPT_FILE)) == substr($SCRIPT_FILE, -1 * strlen(__FILE__)) || !(function_exists("add_action") && function_exists("load_plugin_textdomain")))
14
  include(dirname(__FILE__)."/safe-load/index.php");
15
  else
16
  require_once(dirname(__FILE__)."/images/index.php");
@@ -47,10 +47,16 @@ function GOTMLS_install() {
47
  if (version_compare(GOTMLS_wp_version, GOTMLS_require_version, "<"))
48
  die(GOTMLS_require_version_LANGUAGE.", NOT version: ".GOTMLS_wp_version);
49
  else
50
- delete_option("gotmls_definitions_blob");
51
  }
52
  register_activation_hook(__FILE__, "GOTMLS_install");
53
 
 
 
 
 
 
 
54
  function GOTMLS_menu() {
55
  $base_page = "GOTMLS-settings";
56
  $pluginTitle = "Anti-Malware";
@@ -125,7 +131,7 @@ function GOTMLS_display_header($optional_box = "") {
125
  echo GOTMLS_get_header().'
126
  <div id="admin-page-container">
127
  <div id="GOTMLS-right-sidebar" style="width: 300px;" class="metabox-holder">
128
- '.GOTMLS_box(__("Updates & Registration",'gotmls'), "<ul>$php_version<li>WordPress: <span class='GOTMLS_date'>".GOTMLS_wp_version."</span></li>\n<li>Plugin: <span class='GOTMLS_date'>".GOTMLS_Version.'</span></li>
129
  <li><div id="GOTMLS_Key" style="margin: 0;'.((!$defLatest && !$isRegistered)?' display: none;">Key: <span style="float: right;">'.GOTMLS_installation_key.'</span></div><div style="':'">Key: <span style="float: right;" onclick="showhide(\'autoUpdateForm\', true); showhide(\'registerKeyForm\', true); showhide(\'clear_updates\', true); getElementById(\'registerFormMessage\').innerHTML = \'<p>You can change your registered email here if you want.</p>\';">'.GOTMLS_installation_key.'</span></div><div style="display: none;').'"><form method="POST" action="'.admin_url('admin-ajax.php?'.$head_nonce).'" target="GOTMLS_iFrame" name="GOTMLS_Form_lognewkey"><input type="hidden" name="GOTMLS_installation_key" value="'.GOTMLS_installation_key.'"><input type="hidden" name="action" value="GOTMLS_lognewkey"><span style="color: #F00;" id="GOTMLS_No_Key">No Key! <input type="submit" style="float: right;" value="'.__("Get FREE Key!",'gotmls').'" class="button-primary" onclick="showhide(\'GOTMLS_No_Key\');showhide(\'GOTMLS_Key\', true);check_for_updates(\'Definition_Updates\');" /></span></form></div></li>
130
  <li>Definitions: <span id="GOTMLS_definitions_date" class="GOTMLS_date">'.$GLOBALS["GOTMLS"]["tmp"]["Definition"]["Latest"].'</span></li></ul>
131
  <form id="updateform" method="post" name="updateform" action="'.str_replace("GOTMLS_mt=", "GOTMLS_last_mt=", GOTMLS_script_URI).'&'.$head_nonce.'">
@@ -213,32 +219,9 @@ function GOTMLS_display_header($optional_box = "") {
213
  </script>
214
  '.GOTMLS_box(__("Resources & Links",'gotmls'), '
215
  <div id="pastDonations"></div>
216
- <form name="ppdform" id="ppdform" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
217
- <input type="hidden" name="cmd" value="_s-xclick">
218
- <input type="hidden" name="hosted_button_id" value="NKANR75NUL9WY">
219
- <input type="hidden" name="on0" value="Contribution Level">
220
- <center>
221
- <input type="radio" name="os0" value="Basic">$15
222
- <input type="radio" name="os0" value="Full" checked>$29
223
- <input type="radio" name="os0" value="Double">$52
224
- <input type="radio" name="os0" value="Elite">$100
225
- <input type="radio" name="os0" value="Ninja">$200
226
- </center>
227
- <input type="hidden" name="currency_code" value="USD">
228
- <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
229
- <input type="hidden" name="no_shipping" value="1">
230
- <input type="hidden" name="no_note" value="1">
231
- <input type="hidden" name="tax" value="0">
232
- <input type="hidden" name="lc" value="US">
233
- <input type="hidden" name="item_name" value="Donation to Eli\'s Anti-Malware Plugin">
234
- <input type="hidden" name="item_number" value="GOTMLS-key-'.GOTMLS_installation_key.'">
235
- <input type="hidden" name="custom" value="key-'.GOTMLS_installation_key.'">
236
- <input type="hidden" name="notify_url" value="'.GOTMLS_plugin_home.GOTMLS_installation_key.'/ipn">
237
- <input type="hidden" name="page_style" value="GOTMLS">
238
- <input type="hidden" name="return" value="'.GOTMLS_plugin_home.'donate/?donation-source=paid">
239
- <input type="hidden" name="cancel_return" value="'.GOTMLS_plugin_home.'donate/?donation-source=cancel">
240
- <input type="image" id="pp_button" src="'.GOTMLS_images_path.'btn_donateCC_WIDE.gif" border="0" name="submitc" alt="'.__("Make a Donation with PayPal",'gotmls').'">
241
- <div>
242
  <ul class="GOTMLS-sidebar-links">
243
  <li style="float: right;"><b>on <a target="_blank" href="https://profiles.wordpress.org/scheeeli#content-plugins">WordPress.org</a></b><ul class="GOTMLS-sidebar-links">
244
  <li><a target="_blank" href="https://wordpress.org/plugins/gotmls/faq/">Plugin FAQs</a></li>
@@ -248,10 +231,7 @@ function GOTMLS_display_header($optional_box = "") {
248
  <li><img src="//gravatar.com/avatar/5feb789dd3a292d563fea3b885f786d6?s=16" border="0" alt="Plugin site:"><b><a target="_blank" href="'.GOTMLS_plugin_home.'">GOTMLS.NET</a></b></li>
249
  <li><img src="//gravatar.com/avatar/8151cac22b3fc543d099241fd573d176?s=16" border="0" alt="Developer site:"><b><a target="_blank" href="http://wordpress.ieonly.com/category/my-plugins/anti-malware/">Eli\'s Blog</a></b></li>
250
  <li><img src="https://ssl.gstatic.com/ui/v1/icons/mail/favicon.ico" border="0" alt="mail:"><b><a target="_blank" href="mailto:eli@gotmls.net">Email Eli</a></b></li>
251
- <li><iframe allowtransparency="true" frameborder="0" scrolling="no" src="https://platform.twitter.com/widgets/follow_button.html?screen_name=GOTMLS&amp;show_count=false" style="width:125px; height:20px;"></iframe></li>
252
  </ul>
253
- </div>
254
- </form>
255
  <a target="_blank" href="https://www.google.com/transparencyreport/safebrowsing/diagnostic/index.html#url='.urlencode(GOTMLS_siteurl).'">Google Safe Browsing Diagnostic</a>', "stuffbox").//GOTMLS_box(__("Last Scan Status",'gotmls'), GOTMLS_scan_log(), "stuffbox").
256
  $optional_box.'</div>';
257
  if (isset($GLOBALS["GOTMLS"]["tmp"]["stuffbox"]) && is_array($GLOBALS["GOTMLS"]["tmp"]["stuffbox"])) {
@@ -592,6 +572,7 @@ function GOTMLS_ajax_load_update() {
592
  } elseif ($_REQUEST["UPDATE_definitions_array"] == "D" && $GOTMLS_nonce_found) {
593
  $GLOBALS["GOTMLS"]["tmp"]["definitions_array"] = array();
594
  $GOTnew_definitions = array();
 
595
  } elseif (($DEF = GOTMLS_get_URL($DEF_url)) && is_array($GOTnew_definitions = maybe_unserialize(GOTMLS_decode($DEF))) && count($GOTnew_definitions)) {
596
  if (isset($GOTnew_definitions["you"]["user_email"]) && strlen($GOTnew_definitions["you"]["user_email"]) == 32) {
597
  $toInfo = GOTMLS_get_registrant($GOTnew_definitions["you"]);
@@ -613,7 +594,7 @@ function GOTMLS_ajax_load_update() {
613
  if (serialize($GOTnew_definitions) == serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]))
614
  unset($GOTnew_definitions);
615
  else {
616
- $debug = substr(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]), 0, 9)." ".md5(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]))." ".strlen(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]))." ".substr(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]), -9)." = ".substr(serialize($GOTnew_definitions), 0, 9)." ".md5(serialize($GOTnew_definitions))." ".strlen(serialize($GOTnew_definitions)." ".substr(serialize($GOTnew_definitions), -9));
617
  $GLOBALS["GOTMLS"]["tmp"]["definitions_array"] = $GOTnew_definitions;
618
  $GLOBALS["GOTMLS"]["tmp"]["onLoad"] .= "updates_complete('New Definitions Automatically Installed :-)');";
619
  }
@@ -663,7 +644,7 @@ function GOTMLS_ajax_load_update() {
663
  $innerHTML .= "<li style=\\\"color: #0C0\\\">New Definition Updates Installed.</li>";
664
  $finJS .= "\nif (foundUpdates = document.getElementById('GOTMLS_definitions_date')) foundUpdates.innerHTML = '$new_ver';";
665
  } elseif (is_array($GOTnew_definitions) && count($GOTnew_definitions))
666
- $finJS .= "\nalert('Definition update $new_ver could not be saved because update_option Failed! $debug');";
667
  if (isset($_REQUEST["UPDATE_core"]) && ($_REQUEST["UPDATE_core"] == GOTMLS_wp_version) && isset($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]["wp_core"][GOTMLS_wp_version])) {
668
  foreach ($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]["wp_core"][$_REQUEST["UPDATE_core"]] as $file => $md5) {
669
  if (is_file(ABSPATH.$file)) {
@@ -688,7 +669,7 @@ if (foundUpdates = document.getElementById("registerKeyForm"))
688
  if (foundUpdates = document.getElementById("'.$form.'"))
689
  foundUpdates.style.display = "block";
690
  if (foundUpdates = document.getElementById("Definition_Updates"))
691
- foundUpdates.innerHTML = "<ul class=\\"sidebar-links\\">'.$innerHTML.'</ul>"+inc_form;
692
  function setDivNAtext() {
693
  var foundUpdates;
694
  '.$moreJS.$finJS.'
6
  Text Domain: gotmls
7
  Author URI: http://wordpress.ieonly.com/category/my-plugins/anti-malware/
8
  Contributors: scheeeli, gotmls
9
+ Donate link: https://gotmls.net/donate/
10
  Description: This Anti-Virus/Anti-Malware plugin searches for Malware and other Virus like threats and vulnerabilities on your server and helps you remove them. It's always growing and changing to adapt to new threats so let me know if it's not working for you.
11
+ Version: 4.19.68
12
  */
13
+ if (isset($_SERVER["DOCUMENT_ROOT"]) && ($SCRIPT_FILE = str_replace($_SERVER["DOCUMENT_ROOT"], "", (isset($_SERVER["SCRIPT_FILENAME"])?$_SERVER["SCRIPT_FILENAME"]:(isset($_SERVER["SCRIPT_NAME"])?$_SERVER["SCRIPT_NAME"]:"")))) && strlen($SCRIPT_FILE) > strlen("/".basename(__FILE__)) && substr(__FILE__, -1 * strlen($SCRIPT_FILE)) == substr($SCRIPT_FILE, -1 * strlen(__FILE__)) || !(function_exists("add_action") && function_exists("load_plugin_textdomain")))
14
  include(dirname(__FILE__)."/safe-load/index.php");
15
  else
16
  require_once(dirname(__FILE__)."/images/index.php");
47
  if (version_compare(GOTMLS_wp_version, GOTMLS_require_version, "<"))
48
  die(GOTMLS_require_version_LANGUAGE.", NOT version: ".GOTMLS_wp_version);
49
  else
50
+ delete_option("GOTMLS_definitions_array");
51
  }
52
  register_activation_hook(__FILE__, "GOTMLS_install");
53
 
54
+ function GOTMLS_uninstall() {
55
+ delete_option('GOTMLS_get_URL_array');
56
+ delete_option('GOTMLS_definitions_blob');
57
+ }
58
+ register_deactivation_hook(__FILE__, "GOTMLS_uninstall");
59
+
60
  function GOTMLS_menu() {
61
  $base_page = "GOTMLS-settings";
62
  $pluginTitle = "Anti-Malware";
131
  echo GOTMLS_get_header().'
132
  <div id="admin-page-container">
133
  <div id="GOTMLS-right-sidebar" style="width: 300px;" class="metabox-holder">
134
+ '.GOTMLS_box(__("Updates & Registration",'gotmls'), "<ul>$php_version<li>".(function_exists('classicpress_version')?"ClassicPress: <span class='GOTMLS_date' title='CP: ".classicpress_version()."\nWP: ".GOTMLS_wp_version."'>".preg_replace( '#[+-].*$#', '', classicpress_version()):"WordPress: <span class='GOTMLS_date'>".GOTMLS_wp_version)."</span></li>\n<li>Plugin: <span class='GOTMLS_date'>".GOTMLS_Version.'</span></li>
135
  <li><div id="GOTMLS_Key" style="margin: 0;'.((!$defLatest && !$isRegistered)?' display: none;">Key: <span style="float: right;">'.GOTMLS_installation_key.'</span></div><div style="':'">Key: <span style="float: right;" onclick="showhide(\'autoUpdateForm\', true); showhide(\'registerKeyForm\', true); showhide(\'clear_updates\', true); getElementById(\'registerFormMessage\').innerHTML = \'<p>You can change your registered email here if you want.</p>\';">'.GOTMLS_installation_key.'</span></div><div style="display: none;').'"><form method="POST" action="'.admin_url('admin-ajax.php?'.$head_nonce).'" target="GOTMLS_iFrame" name="GOTMLS_Form_lognewkey"><input type="hidden" name="GOTMLS_installation_key" value="'.GOTMLS_installation_key.'"><input type="hidden" name="action" value="GOTMLS_lognewkey"><span style="color: #F00;" id="GOTMLS_No_Key">No Key! <input type="submit" style="float: right;" value="'.__("Get FREE Key!",'gotmls').'" class="button-primary" onclick="showhide(\'GOTMLS_No_Key\');showhide(\'GOTMLS_Key\', true);check_for_updates(\'Definition_Updates\');" /></span></form></div></li>
136
  <li>Definitions: <span id="GOTMLS_definitions_date" class="GOTMLS_date">'.$GLOBALS["GOTMLS"]["tmp"]["Definition"]["Latest"].'</span></li></ul>
137
  <form id="updateform" method="post" name="updateform" action="'.str_replace("GOTMLS_mt=", "GOTMLS_last_mt=", GOTMLS_script_URI).'&'.$head_nonce.'">
219
  </script>
220
  '.GOTMLS_box(__("Resources & Links",'gotmls'), '
221
  <div id="pastDonations"></div>
222
+ <center>
223
+ <a target="_blank" href="https://gotmls.net/donate/?key='.GOTMLS_installation_key.'"><span style="text-decoration: none !important; font-size: 20px; height: 20px; width: 20px;" class="dashicons dashicons-heart"></span> Donate Here <span style="text-decoration: none !important; font-size: 20px; height: 20px; width: 20px;" class="dashicons dashicons-heart"></span></a>
224
+ </center>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
  <ul class="GOTMLS-sidebar-links">
226
  <li style="float: right;"><b>on <a target="_blank" href="https://profiles.wordpress.org/scheeeli#content-plugins">WordPress.org</a></b><ul class="GOTMLS-sidebar-links">
227
  <li><a target="_blank" href="https://wordpress.org/plugins/gotmls/faq/">Plugin FAQs</a></li>
231
  <li><img src="//gravatar.com/avatar/5feb789dd3a292d563fea3b885f786d6?s=16" border="0" alt="Plugin site:"><b><a target="_blank" href="'.GOTMLS_plugin_home.'">GOTMLS.NET</a></b></li>
232
  <li><img src="//gravatar.com/avatar/8151cac22b3fc543d099241fd573d176?s=16" border="0" alt="Developer site:"><b><a target="_blank" href="http://wordpress.ieonly.com/category/my-plugins/anti-malware/">Eli\'s Blog</a></b></li>
233
  <li><img src="https://ssl.gstatic.com/ui/v1/icons/mail/favicon.ico" border="0" alt="mail:"><b><a target="_blank" href="mailto:eli@gotmls.net">Email Eli</a></b></li>
 
234
  </ul>
 
 
235
  <a target="_blank" href="https://www.google.com/transparencyreport/safebrowsing/diagnostic/index.html#url='.urlencode(GOTMLS_siteurl).'">Google Safe Browsing Diagnostic</a>', "stuffbox").//GOTMLS_box(__("Last Scan Status",'gotmls'), GOTMLS_scan_log(), "stuffbox").
236
  $optional_box.'</div>';
237
  if (isset($GLOBALS["GOTMLS"]["tmp"]["stuffbox"]) && is_array($GLOBALS["GOTMLS"]["tmp"]["stuffbox"])) {
572
  } elseif ($_REQUEST["UPDATE_definitions_array"] == "D" && $GOTMLS_nonce_found) {
573
  $GLOBALS["GOTMLS"]["tmp"]["definitions_array"] = array();
574
  $GOTnew_definitions = array();
575
+ delete_option('GOTMLS_get_URL_array');
576
  } elseif (($DEF = GOTMLS_get_URL($DEF_url)) && is_array($GOTnew_definitions = maybe_unserialize(GOTMLS_decode($DEF))) && count($GOTnew_definitions)) {
577
  if (isset($GOTnew_definitions["you"]["user_email"]) && strlen($GOTnew_definitions["you"]["user_email"]) == 32) {
578
  $toInfo = GOTMLS_get_registrant($GOTnew_definitions["you"]);
594
  if (serialize($GOTnew_definitions) == serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]))
595
  unset($GOTnew_definitions);
596
  else {
597
+ $debug = substr(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]), 0, 9)." ".md5(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]))." ".strlen(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]))." ".substr(serialize($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]), -9)." != ".substr(serialize($GOTnew_definitions), 0, 9)." ".md5(serialize($GOTnew_definitions))." ".strlen(serialize($GOTnew_definitions)." ".substr(serialize($GOTnew_definitions), -9));
598
  $GLOBALS["GOTMLS"]["tmp"]["definitions_array"] = $GOTnew_definitions;
599
  $GLOBALS["GOTMLS"]["tmp"]["onLoad"] .= "updates_complete('New Definitions Automatically Installed :-)');";
600
  }
644
  $innerHTML .= "<li style=\\\"color: #0C0\\\">New Definition Updates Installed.</li>";
645
  $finJS .= "\nif (foundUpdates = document.getElementById('GOTMLS_definitions_date')) foundUpdates.innerHTML = '$new_ver';";
646
  } elseif (is_array($GOTnew_definitions) && count($GOTnew_definitions))
647
+ $finJS .= "\nalert('Definition update $new_ver could not be saved because update_option Failed! (saved=".($saved?"TRUE":"FALSE").") $debug');";
648
  if (isset($_REQUEST["UPDATE_core"]) && ($_REQUEST["UPDATE_core"] == GOTMLS_wp_version) && isset($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]["wp_core"][GOTMLS_wp_version])) {
649
  foreach ($GLOBALS["GOTMLS"]["tmp"]["definitions_array"]["wp_core"][$_REQUEST["UPDATE_core"]] as $file => $md5) {
650
  if (is_file(ABSPATH.$file)) {
669
  if (foundUpdates = document.getElementById("'.$form.'"))
670
  foundUpdates.style.display = "block";
671
  if (foundUpdates = document.getElementById("Definition_Updates"))
672
+ foundUpdates.innerHTML = "<ul class=\\"GOTMLS-sidebar-links\\">'.$innerHTML.'</ul>"+inc_form;
673
  function setDivNAtext() {
674
  var foundUpdates;
675
  '.$moreJS.$finJS.'
readme.txt CHANGED
@@ -5,10 +5,10 @@ Author URI: http://wordpress.ieonly.com/category/my-plugins/anti-malware/
5
  Contributors: scheeeli, gotmls
6
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QZHD8QHZ2E7PE
7
  Tags: security, firewall, anti-malware, scanner, automatic, repair, remove, malware, virus, threat, hacked, malicious, infection, timthumb, exploit, block, brute-force, wp-login, patch, antimalware, revslider, Revolution Slider
8
- Version: 4.19.50
9
- Stable tag: 4.19.50
10
  Requires at least: 3.3
11
- Tested up to: 5.3.1
12
 
13
  This Anti-Malware scanner searches for Malware, Viruses, and other security threats and vulnerabilities on your server and it helps you fix them.
14
 
@@ -92,6 +92,10 @@ sucuri.net caches their scan results and will not refresh the scan until you cli
92
 
93
  == Changelog ==
94
 
 
 
 
 
95
  = 4.19.50 =
96
  * Added even more error handling to the DB Scan for servers with the PHP memory_limit set too low.
97
  * Modified the Directory Scan Depth to accept 0 as a value to indicate skipping the Directory Scan (use this to focus on the DB Scan).
@@ -392,6 +396,9 @@ sucuri.net caches their scan results and will not refresh the scan until you cli
392
 
393
  == Upgrade Notice ==
394
 
 
 
 
395
  = 4.19.50 =
396
  Added even more error handling to the DB Scan for low memory_limit, modified the Directory Scan Depth to accept 0 as way to skip the Directory Scan, and added some Help tips to some of the options on the Settings page.
397
 
5
  Contributors: scheeeli, gotmls
6
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QZHD8QHZ2E7PE
7
  Tags: security, firewall, anti-malware, scanner, automatic, repair, remove, malware, virus, threat, hacked, malicious, infection, timthumb, exploit, block, brute-force, wp-login, patch, antimalware, revslider, Revolution Slider
8
+ Version: 4.19.68
9
+ Stable tag: 4.19.68
10
  Requires at least: 3.3
11
+ Tested up to: 5.4
12
 
13
  This Anti-Malware scanner searches for Malware, Viruses, and other security threats and vulnerabilities on your server and it helps you fix them.
14
 
92
 
93
  == Changelog ==
94
 
95
+ = 4.19.68 =
96
+ * Updated some external links.
97
+ * Tweaked code for better compatibility with PHP 7.4 and WordPress 5.4.
98
+
99
  = 4.19.50 =
100
  * Added even more error handling to the DB Scan for servers with the PHP memory_limit set too low.
101
  * Modified the Directory Scan Depth to accept 0 as a value to indicate skipping the Directory Scan (use this to focus on the DB Scan).
396
 
397
  == Upgrade Notice ==
398
 
399
+ = 4.19.68 =
400
+ Updated some external links and tweaked code for better compatibility with PHP 7.4 and WordPress 5.4.
401
+
402
  = 4.19.50 =
403
  Added even more error handling to the DB Scan for low memory_limit, modified the Directory Scan Depth to accept 0 as way to skip the Directory Scan, and added some Help tips to some of the options on the Settings page.
404