decrypted
PrestaShopException
Call to undefined method TbUpdaterModule\ConfigurationTest::testDir()
at line 593 in file modules/tbupdater/tbupdater.php
php
588.
589. $success = false;
590. if (substr($file, -4) == '.zip') {
591. if (Tools::ZipExtract($file, $tmpFolder) && file_exists($tmpFolder.DIRECTORY_SEPARATOR.$moduleName)) {
592. if (file_exists(_PS_MODULE_DIR_.$moduleName)) {
593. => if (!ConfigurationTest::testDir(_PS_MODULE_DIR_.$moduleName, true, $swag, true)) {
594. $this->addError(sprintf($this->l('Could not update module `%s`: module directory not writable.'), $moduleName));
595.
596. return false;
597. }
598. $this->recursiveDeleteOnDisk(_PS_MODULE_DIR_.$moduleName);
- TbUpdater->extractModuleArchive - [line 462 - modules/tbupdater/tbupdater.php]
- [3 Arguments]
php
457. } catch (Exception $e) {
458. return false;
459. }
460. }
461. if (@file_exists($zipLocation)) {
462. => return $this->extractModuleArchive($moduleName, $zipLocation, false);
463. }
464.
465. return false;
466. }
467.
```Argument [0]
tbupdater
Argument [1]
/var/www/vhosts/host-thirty.com/httpdocs/modules/tbupdater.zip
Argument [2]
- **TbUpdater->downloadModuleFromLocation** - [line `431` - `modules/tbupdater/tbupdater.php`]
- [2 Arguments]php
426. $moduleInfo = $this->getModuleInfo($moduleName);
427. if (!$moduleInfo || !isset($moduleInfo['binary'])) {
428. return false;
429. }
430.
431. => if (!$this->downloadModuleFromLocation($moduleName, $moduleInfo['binary'])) {
432. return false;
433. }
434.
435. return true;
436. }
Argument [0]
tbupdater
Argument [1]
https://github.com/thirtybees/tbupdater/releases/download/1.1.3/tbupdater-v1.1.3.zip
- **TbUpdater->updateModule** - [line `1525` - `controllers/admin/AdminModulesController.php`]
- [1 Arguments]php
1520. $moduleToUpdate[$name]['displayName'] = $moduleInfo['displayName'];
1521. }
1522. }
1523.
1524. foreach ($moduleToUpdate as $name => $attr) {
1525. => if (!$tbupdater->updateModule($name)) {
1526. $this->errors[] = sprintf(Tools::displayError('Module %s cannot be upgraded: Error while extracting the latest version.'), ''.$attr['displayName'].'');
1527. } else {
1528. $moduleUpgraded[] = $name;
1529. }
1530. }
Argument [0]
tbupdater
- **AdminModulesControllerCore->postProcessCallback** - [line `1442` - `controllers/admin/AdminModulesController.php`]php
1437. }
1438. }
1439.
1440. // Call appropriate module callback
1441. if (!isset($ppmReturn)) {
1442. => $this->postProcessCallback();
1443. }
1444.
1445. if ($back = Tools::getValue('back')) {
1446. Tools::redirectAdmin($back);
1447. }
- **AdminModulesControllerCore->postProcess** - [line `379` - `classes/controller/Controller.php`]php
374. if ($this->checkAccess()) {
375. if (!$this->contentonly && ($this->displayheader || (isset($this->className) && $this->className))) {
376. $this->setMedia();
377. }
378.
379. => $this->postProcess();
380.
381. if (!empty($this->redirectafter)) {
382. $this->redirect();
383. }
384.
- **ControllerCore->run** - [line `742` - `classes/Dispatcher.php`]php
737. if (isset($paramsHookActionDispatcher)) {
738. Hook::exec('actionDispatcher', $paramsHookActionDispatcher);
739. }
740.
741. // Running controller
742. => $controller->run();
743. } catch (PrestaShopException $e) {
744. $e->displayMessage();
745. }
746. }
747.
- **DispatcherCore->dispatch** - [line `63` - `admin/index.php`]php
58. if (!isset($REQUEST['controller']) && isset($REQUEST['tab'])) {
59. $REQUEST['controller'] = strtolower($_REQUEST['tab']);
60. }
61.
62. // Prepare and trigger admin dispatcher
63. => Dispatcher::getInstance()->dispatch();
```