Skip to content

Commit

Permalink
Merge pull request #525 from shreesh-webkul/module-update-issue
Browse files Browse the repository at this point in the history
Fixed:  Download module error showing when checking for update on manage module page
  • Loading branch information
rohit053 authored Feb 11, 2023
2 parents c0ee468 + 940f73c commit f3c984d
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 25 deletions.
60 changes: 46 additions & 14 deletions classes/module/Module.php
Original file line number Diff line number Diff line change
Expand Up @@ -1766,8 +1766,12 @@ public static function getModulesInstalled($position = 0)
public static function refreshModuleList($force_reload_cache = false)
{
$status = false;
if (!Tools::isFresh(Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST, _TIME_1_DAY_) || $force_reload_cache) {
if (file_put_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST, Tools::addonsRequest('native'))) {

if (!Tools::isFresh(Module::CACHE_FILE_MODULES_LIST, _TIME_1_DAY_) || $force_reload_cache) {
$xml_modules_list = _QLO_API_DOMAIN_.'/xml/'.str_replace('.', '', _QLOAPPS_VERSION_).'.xml';
if (Tools::refresh(Module::CACHE_FILE_MODULES_LIST, 'https://'.$xml_modules_list)) {
$status = 'refresh';
} elseif (Tools::refresh(Module::CACHE_FILE_MODULES_LIST, 'http://'.$xml_modules_list)) {
$status = 'refresh';
} else {
$status = 'error';
Expand All @@ -1776,24 +1780,52 @@ public static function refreshModuleList($force_reload_cache = false)
$status = 'cache';
}

if (!Tools::isFresh(Module::CACHE_FILE_MUST_HAVE_MODULES_LIST, _TIME_1_DAY_) || $force_reload_cache) {
if (file_put_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_MUST_HAVE_MODULES_LIST, Tools::addonsRequest('must-have'))) {
$status = 'refresh';
if ($status != 'error') {
if (!Tools::isFresh(Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST, _TIME_1_DAY_) || $force_reload_cache) {
if (file_put_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST, Tools::addonsRequest('native'))) {
$status = 'refresh';
} else {
$status = 'error';
}
} else {
$status = 'error';
$status = 'cache';
}
} else {
$status = 'cache';
}

if (!Tools::isFresh(Module::CACHE_FILE_TAB_MODULES_LIST, _TIME_1_WEEK_)) {
if (Tools::refresh(Module::CACHE_FILE_TAB_MODULES_LIST, _QLO_TAB_MODULE_LIST_URL_)) {
$status = 'refresh';
if ($status != 'error') {
if (!Tools::isFresh(Module::CACHE_FILE_MUST_HAVE_MODULES_LIST, _TIME_1_DAY_) || $force_reload_cache) {
if (file_put_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_MUST_HAVE_MODULES_LIST, Tools::addonsRequest('must-have'))) {
$status = 'refresh';
} else {
$status = 'error';
}
} else {
$status = 'error';
$status = 'cache';
}
}

if ($status != 'error') {
if (!Tools::isFresh(Module::CACHE_FILE_ADDONS_MODULES_LIST, _TIME_1_DAY_) || $force_reload_cache) {
if (file_put_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_ADDONS_MODULES_LIST, Tools::addonsRequest('addons-modules'))) {
$status = 'refresh';
} else {
$status = 'error';
}
} else {
$status = 'cache';
}
}

if ($status != 'error') {
if (!Tools::isFresh(Module::CACHE_FILE_TAB_MODULES_LIST, _TIME_1_WEEK_)) {
if (Tools::refresh(Module::CACHE_FILE_TAB_MODULES_LIST, _QLO_TAB_MODULE_LIST_URL_)) {
$status = 'refresh';
} else {
$status = 'error';
}
} else {
$status = 'cache';
}
} else {
$status = 'cache';
}

return $status;
Expand Down
15 changes: 4 additions & 11 deletions controllers/admin/AdminModulesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -206,16 +206,6 @@ public function ajaxProcessRefreshModuleList($force_reload_cache = false)
} else {
$this->status = 'cache';
}

if (!Tools::isFresh(Module::CACHE_FILE_MUST_HAVE_MODULES_LIST, _TIME_1_DAY_) || $force_reload_cache) {
if (file_put_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_MUST_HAVE_MODULES_LIST, Tools::addonsRequest('must-have'))) {
$this->status = 'refresh';
} else {
$this->status = 'error';
}
} else {
$this->status = 'cache';
}
}

// If logged to Addons Webservices, refresh customer modules list every 5 minutes
Expand Down Expand Up @@ -736,7 +726,10 @@ public function postProcessCallback()
return;
}

if ($key == 'checkAndUpdate') {
if ($key == 'check') {
$this->ajaxProcessRefreshModuleList(true);
} elseif ($key == 'checkAndUpdate') {
$this->ajaxProcessRefreshModuleList(true);
$modules = array();
$modules_on_disk = Module::getModulesOnDisk(true, $this->logged_on_addons, $this->id_employee, true);

Expand Down

0 comments on commit f3c984d

Please sign in to comment.