'.$this->l('The following module(s) were not installed successfully:').'
';
foreach ($module_errors AS $module_error)
echo '
'.$module_error.'
';
echo '
';
}
}
if ($return)
Tools::redirectAdmin($currentIndex.'&conf='.$return.'&token='.$this->token);
}
}
function extractArchive($file)
{
global $currentIndex;
$success = false;
if (substr($file, -4) == '.zip')
{
if (class_exists('ZipArchive', false))
{
$zip = new ZipArchive();
if ($zip->open($file) === true AND $zip->extractTo(_PS_MODULE_DIR_) AND $zip->close())
$success = true;
else
$this->_errors[] = Tools::displayError('error while extracting module (file may be corrupted)');
}
else
$this->_errors[] = Tools::displayError('zip is not installed on your server. Ask your host for further information.');
}
else
{
$archive = new Archive_Tar($file);
if ($archive->extract(_PS_MODULE_DIR_))
$success = true;
else
$this->_errors[] = Tools::displayError('error while extracting module (file may be corrupted)');
}
@unlink($file);
if ($success)
Tools::redirectAdmin($currentIndex.'&conf=8'.'&token='.$this->token);
}
public function display()
{
if (!isset($_GET['configure']) OR sizeof($this->_errors))
$this->displayList();
}
public function displayJavascript()
{
global $currentIndex;
echo '
';
}
public function displayList()
{
global $currentIndex, $cookie;
$serialModules = '';
$modules = Module::getModulesOnDisk();
foreach ($modules AS $module)
$serialModules .= $module->name.' '.$module->version.'-'.($module->active ? 'a' : 'i')."\n";
$serialModules = urlencode($serialModules);
$this->displayJavascript();
$linkToSettings = 'index.php?tab=AdminPreferences&token='.Tools::getAdminToken('AdminPreferences'.intval(Tab::getIdFromClassName('AdminPreferences')).intval($cookie->id_employee));
echo ' '.$this->l('Add a new module').'';
if (Configuration::get('PRESTASTORE_LIVE') AND @ini_get('allow_url_fopen'))
echo '
'.$this->l('PrestaStore').' ('.$this->l('disable').')';
echo '
';
if (Configuration::get('PRESTASTORE_LIVE'))
echo '
';
echo '
';
/* Scan modules directories and load modules classes */
$warnings = array();
$orderModule = array();
$irow = 0;
foreach ($modules AS $module)
$orderModule[(isset($module->tab) AND !empty($module->tab)) ? $module->tab : $this->l('Not specified')][] = $module;
asort($orderModule);
foreach ($orderModule AS $tabModule)
foreach ($tabModule AS $module)
if ($module->active AND $module->warning)
$this->displayWarning(''.$module->displayName.' - '.stripslashes(pSQL($module->warning)));
$nameCountryDefault = Country::getNameById($cookie->id_lang, Configuration::get('PS_COUNTRY_DEFAULT'));
echo '
';
$showAllModules = Configuration::get('PS_SHOW_ALL_MODULES');
$isoCountryDefault = Country::getIsoById(Configuration::get('PS_COUNTRY_DEFAULT'));
echo '
';
/* Browse modules by tab type */
foreach ($orderModule AS $tab => $tabModule)
{
echo '