public function check_update_custom($transient) { if (isset($_POST['action']) && ($_POST['action'] == 'update-plugin' || $_POST['action'] == 'update-selected')) { $extensions = MainWPExtensions::getExtensions(); if (defined('DOING_AJAX') && isset($_POST['plugin']) && $_POST['action'] == 'update-plugin') { $plugin_slug = $_POST['plugin']; if (isset($extensions[$plugin_slug])) { if (isset($transient->response[$plugin_slug]) && version_compare($transient->response[$plugin_slug]->new_version, $extensions[$plugin_slug]['version'], '=')) { return $transient; } $api_slug = dirname($plugin_slug); $rslt = MainWPAPISettings::getUpgradeInformationTwo($api_slug); if (!empty($rslt) && isset($rslt->latest_version) && version_compare($rslt->latest_version, $extensions[$plugin_slug]['version'], '>')) { $transient->response[$plugin_slug] = self::mapRsltObj($rslt); } return $transient; } } else { if ($_POST['action'] == 'update-selected' && isset($_POST['checked']) && is_array($_POST['checked'])) { $updated = false; foreach ($_POST['checked'] as $plugin_slug) { if (isset($extensions[$plugin_slug])) { if (isset($transient->response[$plugin_slug]) && version_compare($transient->response[$plugin_slug]->new_version, $extensions[$plugin_slug]['version'], '=')) { continue; } $api_slug = dirname($plugin_slug); $rslt = MainWPAPISettings::getUpgradeInformationTwo($api_slug); if (!empty($rslt) && isset($rslt->latest_version) && version_compare($rslt->latest_version, $extensions[$plugin_slug]['version'], '>')) { $this->upgradeVersionInfo->result[$api_slug] = $rslt; $transient->response[$plugin_slug] = self::mapRsltObj($rslt); $updated = true; } } } if ($updated) { MainWPUtility::update_option("mainwp_upgradeVersionInfo", serialize($this->upgradeVersionInfo)); } return $transient; } } } if (empty($transient->checked)) { return $transient; } if (isset($_GET['do']) && $_GET['do'] == 'checkUpgrade' && time() - $this->upgradeVersionInfo->updated > 30) { $this->checkUpgrade(); } if ($this->upgradeVersionInfo != null && property_exists($this->upgradeVersionInfo, 'result') && is_array($this->upgradeVersionInfo->result)) { foreach ($this->upgradeVersionInfo->result as $rslt) { if (!isset($rslt->slug)) { continue; } //Legacy, to support older versions. $plugin_slug = MainWPExtensions::getPluginSlug($rslt->slug); if (isset($transient->checked[$plugin_slug]) && version_compare($rslt->latest_version, $transient->checked[$plugin_slug], '>')) { $transient->response[$plugin_slug] = self::mapRsltObj($rslt); } } } return $transient; }