// Merge -> revision 8507

This commit is contained in:
rMalie
2011-09-12 16:17:37 +00:00
parent b404900911
commit a1bdb7b35e
67 changed files with 1938 additions and 1509 deletions
+120 -2
View File
@@ -415,14 +415,17 @@ abstract class AdminSelfTab
*/
protected function l($string, $class = 'AdminTab', $addslashes = FALSE, $htmlentities = TRUE)
{
global $_LANGADM;
if(empty($_LANGADM))
$_LANGADM = array();
// if the class is extended by a module, use modules/[module_name]/xx.php lang file
$currentClass = get_class($this);
if (class_exists('Module') AND method_exists('Module','getModuleNameFromClass'))
if (Module::getModuleNameFromClass($currentClass))
{
$string = str_replace('\'', '\\\'', $string);
return Module::findTranslation(Module::$classInModule[$currentClass], $string, $currentClass);
}
global $_LANGADM;
if ($class == __CLASS__)
$class = 'AdminTab';
@@ -1294,7 +1297,15 @@ abstract class AdminSelfTab
</script>
<div class="warn">';
if (!is_array($warn))
$str_output .= '<img src="../img/admin/warn2.png" />'.$warn;
{
if (file_exists(__PS_BASE_URI__.'img/admin/warn2.png'))
$str_output .= '<img src="'.__PS_BASE_URI__.'img/admin/warn2.png" />';
else
$str_output .= '<img src="'.__PS_BASE_URI__.'img/admin/warning.gif" />';
$str_output .= $warn;
}
else
{ $str_output .= '<span style="float:right"><a id="hideWarn" href=""><img alt="X" src="../img/admin/close.png" /></a></span><img src="../img/admin/warn2.png" />'.
(count($warn) > 1 ? $this->l('There are') : $this->l('There is')).' '.count($warn).' '.(count($warn) > 1 ? $this->l('warnings') : $this->l('warning'))
@@ -2141,5 +2152,112 @@ abstract class AdminSelfTab
<a href="index.php?tab=AdminMeta&token='.Tools14::getAdminTokenLite('AdminMeta').'#SEO%20%26%20URLs">'.
$this->l('Click here if you want to modify the main shop domain name').'</a>');
}
/*
* from 1.4 AdminPreferences
*/
protected function _postConfig($fields)
{
global $currentIndex, $smarty;
$languages = Language::getLanguages(false);
if (function_exists('Tools','clearCache'))
Tools::clearCache($smarty);
/* Check required fields */
foreach ($fields AS $field => $values)
if (isset($values['required']) AND $values['required'])
if (isset($values['type']) AND $values['type'] == 'textLang')
{
foreach ($languages as $language)
if (($value = Tools::getValue($field.'_'.$language['id_lang'])) == false AND (string)$value != '0')
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is required.');
}
elseif (($value = Tools::getValue($field)) == false AND (string)$value != '0')
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is required.');
/* Check fields validity */
foreach ($fields AS $field => $values)
if (isset($values['type']) AND $values['type'] == 'textLang')
{
foreach ($languages as $language)
if (Tools::getValue($field.'_'.$language['id_lang']) AND isset($values['validation']))
if (!Validate::$values['validation'](Tools::getValue($field.'_'.$language['id_lang'])))
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is invalid.');
}
elseif (Tools::getValue($field) AND isset($values['validation']))
if (!Validate::$values['validation'](Tools::getValue($field)))
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is invalid.');
/* Default value if null */
foreach ($fields AS $field => $values)
if (!Tools::getValue($field) AND isset($values['default']))
$_POST[$field] = $values['default'];
/* Save process */
if (!sizeof($this->_errors))
{
if (Tools::isSubmit('submitAppearanceconfiguration'))
{
if (isset($_FILES['PS_LOGO']['tmp_name']) AND $_FILES['PS_LOGO']['tmp_name'])
{
if ($error = checkImage($_FILES['PS_LOGO'], 300000))
$this->_errors[] = $error;
if (!$tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS') OR !move_uploaded_file($_FILES['PS_LOGO']['tmp_name'], $tmpName))
return false;
elseif (!@imageResize($tmpName, _PS_IMG_DIR_.'logo.jpg'))
$this->_errors[] = 'an error occurred during logo copy';
unlink($tmpName);
}
if (isset($_FILES['PS_LOGO_MAIL']['tmp_name']) AND $_FILES['PS_LOGO_MAIL']['tmp_name'])
{
if ($error = checkImage($_FILES['PS_LOGO_MAIL'], 300000))
$this->_errors[] = $error;
if (!$tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS_MAIL') OR !move_uploaded_file($_FILES['PS_LOGO_MAIL']['tmp_name'], $tmpName))
return false;
elseif (!@imageResize($tmpName, _PS_IMG_DIR_.'logo_mail.jpg'))
$this->_errors[] = 'an error occurred during logo copy';
unlink($tmpName);
}
if (isset($_FILES['PS_LOGO_INVOICE']['tmp_name']) AND $_FILES['PS_LOGO_INVOICE']['tmp_name'])
{
if ($error = checkImage($_FILES['PS_LOGO_INVOICE'], 300000))
$this->_errors[] = $error;
if (!$tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS_INVOICE') OR !move_uploaded_file($_FILES['PS_LOGO_INVOICE']['tmp_name'], $tmpName))
return false;
elseif (!@imageResize($tmpName, _PS_IMG_DIR_.'logo_invoice.jpg'))
$this->_errors[] = 'an error occurred during logo copy';
unlink($tmpName);
}
if (isset($_FILES['PS_STORES_ICON']['tmp_name']) AND $_FILES['PS_STORES_ICON']['tmp_name'])
{
if ($error = checkImage($_FILES['PS_STORES_ICON'], 300000))
$this->_errors[] = $error;
if (!$tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS_STORES_ICON') OR !move_uploaded_file($_FILES['PS_STORES_ICON']['tmp_name'], $tmpName))
return false;
elseif (!@imageResize($tmpName, _PS_IMG_DIR_.'logo_stores.gif'))
$this->_errors[] = 'an error occurred during logo copy';
unlink($tmpName);
}
$this->uploadIco('PS_FAVICON', _PS_IMG_DIR_.'favicon.ico');
}
/* Update settings in database */
if (!sizeof($this->_errors))
{
foreach ($fields AS $field => $values)
{
unset($val);
if (isset($values['type']) AND $values['type'] == 'textLang')
foreach ($languages as $language)
$val[$language['id_lang']] = isset($values['cast']) ? $values['cast'](Tools::getValue($field.'_'.$language['id_lang'])) : Tools::getValue($field.'_'.$language['id_lang']);
else
$val = isset($values['cast']) ? $values['cast'](Tools::getValue($field)) : Tools::getValue($field);
Configuration::updateValue($field, $val);
}
Tools::redirectAdmin($currentIndex.'&conf=6'.'&token='.$this->token);
}
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

+134 -104
View File
@@ -31,6 +31,9 @@ if(!defined('_PS_USE_SQL_SLAVE_'))
if(empty($_POST['action']) OR !in_array($_POST['action'],array('upgradeDb')))
{
if(!defined('_PS_CACHE_ENABLED_'))
define('_PS_CACHE_ENABLED_',false);
if(!defined('PS_ORDER_PROCESS_STANDARD'))
define('PS_ORDER_PROCESS_STANDARD',true);
if(!defined('PS_ORDER_PROCESS_OPC'))
@@ -40,24 +43,22 @@ if(empty($_POST['action']) OR !in_array($_POST['action'],array('upgradeDb')))
}
require_once(dirname(__FILE__).'/AdminSelfTab.php');
require_once(dirname(__FILE__).'/SelfModule.php');
if(file_exists(_PS_ROOT_DIR_.'/classes/Upgrader.php'))
{
// Add Upgrader class
if(!version_compare(_PS_VERSION_,'1.4.5.0','<') AND file_exists(_PS_ROOT_DIR_.'/classes/Upgrader.php'))
require_once(_PS_ROOT_DIR_.'/classes/Upgrader.php');
}
else
require_once(dirname(__FILE__).'/Upgrader.php');
if(!class_exists('Upgrader',false))
{
if(file_exists(_PS_ROOT_DIR_.'/override/classes/Upgrader.php'))
{
require_once(_PS_ROOT_DIR_.'/override/classes/Upgrader.php');
}
else
{
eval('class Upgrader extends UpgraderCore{}');
}
}
require_once(dirname(__FILE__).'/Tools14.php');
if(!class_exists('Tools',false))
@@ -68,6 +69,9 @@ class AdminSelfUpgrade extends AdminSelfTab
public $nextResponseType = 'json'; // json, xml
public $next = 'N/A';
public $upgrader = null;
public $standalone = true;
/**
* set to false if the current step is a loop
*
@@ -111,8 +115,8 @@ class AdminSelfUpgrade extends AdminSelfTab
public $rootWritable = false;
public $svnDir = 'svn';
public $destDownloadFilename = 'prestashop.zip';
public $toUpgradeFileList = array();
public $backupFileList = array();
public $toUpgradeFileList = 'filesToUpgrade.list';
public $toBackupFileList = 'filesToBackup.list';
public $sampleFileList = array();
private $backupIgnoreFiles = array();
private $backupIgnoreAbsoluteFiles = array();
@@ -165,7 +169,7 @@ class AdminSelfUpgrade extends AdminSelfTab
global $cookie;
$id_employee = $cookie->id_employee;
$cookiePath = __PS_BASE_URI__.str_replace($this->prodRootDir,'',trim($this->adminDir,'/'));
$cookiePath = __PS_BASE_URI__.str_replace($this->prodRootDir,'',trim($this->adminDir,DIRECTORY_SEPARATOR));
setcookie('id_employee', $id_employee, time()+3600, $cookiePath);
setcookie('id_tab', $this->id, time()+3600, $cookiePath);
setcookie('autoupgrade', $this->encrypt($id_employee), time()+3600, $cookiePath);
@@ -221,7 +225,7 @@ class AdminSelfUpgrade extends AdminSelfTab
private function _setFields()
{
$this->_fieldsAutoUpgrade['PS_AUTOUP_DONT_SAVE_IMAGES'] = array(
'title' => $this->l('Don\'t save images'), 'cast' => 'intval', 'validation' => 'isBool',
'title' => $this->l('Also save images'), 'cast' => 'intval', 'validation' => 'isBool',
'type' => 'bool', 'desc'=>$this->l('You can exclude the image directory from backup if you already saved it by another method (not recommended)'),
);
@@ -259,6 +263,7 @@ class AdminSelfUpgrade extends AdminSelfTab
{
$allowed = (ConfigurationTest::test_fopen() && $this->rootWritable);
$allowed &= !Configuration::get('PS_SHOP_ENABLE');
$allowed &= (Configuration::get('PS_AUTOUP_KEEP_TRAD') !== false);
return $allowed;
}
@@ -272,7 +277,7 @@ class AdminSelfUpgrade extends AdminSelfTab
$allowed = (ConfigurationTest::test_fopen() && $this->rootWritable);
if (!defined('_PS_MODE_DEV_') OR !_PS_MODE_DEV_)
$allowed &= $this->upgrader->autoupgrade;
$allowed &= $this->upgrader->autoupgrade_module;
return $allowed;
}
@@ -289,8 +294,11 @@ class AdminSelfUpgrade extends AdminSelfTab
$this->prodRootDir = _PS_ROOT_DIR_;
$this->adminDir = _PS_ADMIN_DIR_;
// from $_POST or $_GET
$this->action = empty($_REQUEST['action'])?null:$_REQUEST['action'];
$this->currentParams = empty($_REQUEST['params'])?null:$_REQUEST['params'];
// test writable recursively
if(version_compare(_PS_VERSION_,'1.4.4.0','<'))
if(version_compare(_PS_VERSION_,'1.4.5.0','<'))
{
require_once('ConfigurationTest.php');
if(!class_exists('ConfigurationTest', false) AND class_exists('ConfigurationTestCore'))
@@ -299,25 +307,28 @@ class AdminSelfUpgrade extends AdminSelfTab
if (ConfigurationTest::test_dir($this->prodRootDir,true))
$this->rootWritable = true;
if (!in_array($this->action,array('upgradeFile', 'upgradeDb', 'upgradeComplete','rollback','restoreFiles','restoreDb')))
{
// checkPSVersion will be not
$this->upgrader = new Upgrader(true);
$this->upgrader = new Upgrader();
$this->upgrader->checkPSVersion();
if (version_compare(_PS_VERSION_,'1.4.4.0','<') OR $this->upgrader->need_standalone)
$this->currentParams['install_version'] = $this->upgrader->version_num;
if ($this->upgrader->autoupgrade_module)
$this->standalone = true;
else
$this->standalone = false;
$this->standalone = true;
}
// If you have defined this somewhere, you know what you do
if (defined('_PS_ALLOW_UPGRADE_UNSTABLE_') AND _PS_ALLOW_UPGRADE_UNSTABLE_ AND function_exists('svn_checkout'))
{
if(version_compare(_PS_VERSION_,'1.4.4.0','<') OR class_exists('Configuration',false))
if(version_compare(_PS_VERSION_,'1.4.5.0','<') OR class_exists('Configuration',false))
$this->useSvn = Configuration::get('PS_AUTOUP_USE_SVN');
}
else
$this->useSvn = false;
// from $_POST or $_GET
$this->action = empty($_REQUEST['action'])?null:$_REQUEST['action'];
$this->currentParams = empty($_REQUEST['params'])?null:$_REQUEST['params'];
// If not exists in this sessions, "create"
// session handling : from current to next params
@@ -327,6 +338,18 @@ class AdminSelfUpgrade extends AdminSelfTab
if (isset($this->currentParams['filesToUpgrade']))
$this->nextParams['filesToUpgrade'] = $this->currentParams['filesToUpgrade'];
// set autoupgradePath, to be used in backupFiles and backupDb config values
$this->autoupgradePath = $this->adminDir.DIRECTORY_SEPARATOR.$this->autoupgradeDir;
if (!file_exists($this->autoupgradePath))
if (!@mkdir($this->autoupgradePath,0777))
$this->_errors[] = Tools::displayError(sprintf($this->l('unable to create directory %s'),$this->autoupgradePath));
$latest = $this->autoupgradePath.DIRECTORY_SEPARATOR.'latest';
if (!file_exists($latest))
if (!@mkdir($latest,0777))
$this->_errors[] = Tools::displayError(sprintf($this->l('unable to create directory %s'),$latest));
if (class_exists('Configuration',false))
{
$time = time();
@@ -351,26 +374,16 @@ class AdminSelfUpgrade extends AdminSelfTab
// backupFilesFilename should never etc.
$this->backupFilesFilename = $this->currentParams['backupFilesFilename'];
}
$this->autoupgradePath = $this->adminDir.DIRECTORY_SEPARATOR.$this->autoupgradeDir;
if (!file_exists($this->autoupgradePath))
if (!@mkdir($this->autoupgradePath,0777))
$this->_errors[] = Tools::displayError(sprintf($this->l('unable to create directory %s'),$this->autoupgradePath));
$latest = $this->autoupgradePath.DIRECTORY_SEPARATOR.'latest';
if (!file_exists($latest))
if (!@mkdir($latest,0777))
$this->_errors[] = Tools::displayError(sprintf($this->l('unable to create directory %s'),$latest));
$this->latestRootDir = $latest.DIRECTORY_SEPARATOR.'prestashop';
$this->adminDir = str_replace($this->prodRootDir,'',$this->adminDir);
// @TODO future option
// @TODO future option "install in test dir"
// $this->testRootDir = $this->autoupgradePath.DIRECTORY_SEPARATOR.'test';
/* option */
if (class_exists('Configuration',false))
{
$this->dontBackupImages = Configuration::get('PS_AUTOUP_DONT_SAVE_IMAGES');
$this->dontBackupImages = !Configuration::get('PS_AUTOUP_DONT_SAVE_IMAGES');
$this->keepDefaultTheme = Configuration::get('PS_AUTOUP_KEEP_DEFAULT_THEME');
$this->keepTrad = Configuration::get('PS_AUTOUP_KEEP_TRAD');
$this->manualMode = Configuration::get('PS_AUTOUP_MANUAL_MODE');
@@ -382,7 +395,7 @@ class AdminSelfUpgrade extends AdminSelfTab
$this->keepDefaultTheme = $this->currentParams['keepDefaultTheme'];
$this->keepTrad = $this->currentParams['keepTrad'];
$this->manualMode = $this->currentParams['manualMode'];
$this->desactivateCustomModule = $this->current['desactivateCustomModule'];
$this->desactivateCustomModule = $this->currentParams['desactivateCustomModule'];
}
// We can add any file or directory in the exclude dir : theses files will be not removed or overwritten
// @TODO cache should be ignored recursively, but we have to reconstruct it after upgrade
@@ -398,6 +411,7 @@ class AdminSelfUpgrade extends AdminSelfTab
$this->excludeFilesFromUpgrade[] = '.svn';
$this->excludeFilesFromUpgrade[] = 'install';
$this->excludeFilesFromUpgrade[] = 'settings.inc.php';
// this will exclude autoupgrade dir from admin, and autoupgrade from modules
$this->excludeFilesFromUpgrade[] = 'autoupgrade';
$this->backupIgnoreFiles[] = '.';
$this->backupIgnoreFiles[] = '..';
@@ -493,7 +507,7 @@ class AdminSelfUpgrade extends AdminSelfTab
}
public function ajaxProcessUnzip(){
if(version_compare(_PS_VERSION_,'1.4.4.0','<')
if(version_compare(_PS_VERSION_,'1.4.5.0','<')
AND !class_exists('Tools',false)
)
require_once('Tools.php');
@@ -556,9 +570,12 @@ class AdminSelfUpgrade extends AdminSelfTab
public function _listBackupFiles($dir)
{
static $list = array();
$allFiles = scandir($dir);
foreach ($allFiles as $file)
{
if ($file[0] != '.')
{
$fullPath = $dir.DIRECTORY_SEPARATOR.$file;
if (!$this->_skipFile($file, $fullPath,'backup'))
@@ -566,16 +583,18 @@ class AdminSelfUpgrade extends AdminSelfTab
if (is_dir($fullPath))
$this->_listBackupFiles($fullPath);
else
$this->backupFileList[] = $fullPath;
$list[] = $fullPath;
}
else
$this->backupIgnoreFiles[] = $fullPath;
$list[] = $fullPath;
}
}
file_put_contents($this->autoupgradePath.DIRECTORY_SEPARATOR.$this->toBackupFileList,serialize($list));
}
public function _listFilesToUpgrade($dir)
{
static $list = array();
$allFiles = scandir($dir);
foreach ($allFiles as $file)
{
@@ -583,20 +602,15 @@ class AdminSelfUpgrade extends AdminSelfTab
if (!$this->_skipFile($file, $fullPath, "upgrade"))
{
$list[] = $fullPath;
// if is_dir, we will create it :)
if (is_dir($fullPath))
{
// if is_dir, we will create it :)e it :)
$this->toUpgradeFileList[] = $fullPath;
if (strpos($dir.DIRECTORY_SEPARATOR.$file, 'install') === false)
{
$this->_listFilesToUpgrade($fullPath);
}
}
else
$this->toUpgradeFileList[] = $fullPath;
}
}
file_put_contents($this->autoupgradePath.DIRECTORY_SEPARATOR.$this->toUpgradeFileList,serialize($list));
$this->nextParams['filesToUpgrade'] = $this->toUpgradeFileList;
}
@@ -615,9 +629,9 @@ class AdminSelfUpgrade extends AdminSelfTab
// @TODO :
// foreach files in latest, copy
$this->next = 'upgradeFiles';
if (!is_array($this->nextParams['filesToUpgrade']))
$filesToUpgrade = @unserialize(file_get_contents($this->nextParams['filesToUpgrade']));
if (!is_array($filesToUpgrade))
{
error($this->nextParams);
$this->next = 'error';
$this->nextDesc = $this->l('filesToUpgrade is not an array');
$this->nextQuickInfo[] = $this->l('filesToUpgrade is not an array');
@@ -627,29 +641,31 @@ class AdminSelfUpgrade extends AdminSelfTab
// @TODO : does not upgrade files in modules, translations if they have not a correct md5 (or crc32, or whatever) from previous version
for ($i=0;$i<self::$loopUpgradeFiles;$i++)
{
if (sizeof($this->nextParams['filesToUpgrade'])<=0)
if (sizeof($filesToUpgrade)<=0)
{
$this->next = 'upgradeDb';
unlink($this->nextParams['filesToUpgrade']);
$this->nextDesc = $this->l('All files upgraded. Now upgrading database');
$this->nextResponseType = 'xml';
break;
}
//$file = array_shift($this->nextParams['filesToUpgrade']);
$file = array_shift($this->nextParams['filesToUpgrade']);
$file = array_shift($filesToUpgrade);
if (!$this->upgradeThisFile($file))
{
// put the file back to the begin of the list
$totalFiles = array_unshift($this->nextParams['filesToUpgrade'],$file);
$totalFiles = array_unshift($filesToUpgrade,$file);
$this->next = 'error';
$this->nextQuickInfo[] = sprintf($this->l('error when trying to upgrade %s'),$file);
break;
}
else{
$this->nextQuickInfo[] = sprintf($this->l('copied %1$s. %2$s files left to upgrade.'),$file, sizeof($filesToUpgrade));
// @TODO : maybe put several files at the same times ?
$this->nextDesc = sprintf($this->l('%2$s files left to upgrade.'),$file,sizeof($this->nextParams['filesToUpgrade']));
$this->nextDesc = sprintf($this->l('%2$s files left to upgrade.'),$file,sizeof($filesToUpgrade));
}
}
file_put_contents($this->nextParams['filesToUpgrade'],serialize($filesToUpgrade));
}
/**
@@ -692,10 +708,14 @@ class AdminSelfUpgrade extends AdminSelfTab
///////////////////////
// Copy from model.php
///////////////////////
if (!is_object($this->upgrader))
$this->upgrader = new Upgrader();
$upgrader = $this->upgrader;
$upgrader->checkPSVersion();
define('INSTALL_VERSION', $upgrader->version_num);
define('INSTALL_VERSION', $this->currentParams['install_version']);
// now the install dir to use is in a subdirectory of the admin dir
define('INSTALL_PATH', realpath($this->latestRootDir.DIRECTORY_SEPARATOR.'install'));
@@ -733,14 +753,12 @@ class AdminSelfUpgrade extends AdminSelfTab
// 2) confirm config is correct (r/w rights)
// install/model.php?method=checkConfig&firsttime=0
// later
// 3) save current activated modules in nextParams, or don't desactivate them ?
// @TODO
// 4) upgrade
// install/model.php?_=1309193641470&method=doUpgrade&customModule=desactivate
if (!empty($this->currentParams['desactivateCustomModule']))
$_GET['customModule'] = 'desactivate';
if (!$this->_modelDoUpgrade())
{
$this->next = 'error';
@@ -775,13 +793,14 @@ class AdminSelfUpgrade extends AdminSelfTab
if (is_dir($file))
{
// if $dest is not a directory (that can happen), just remove that file
if (!is_dir($dest) AND file_exists($dest))
unlink($dest);
if (!file_exists($dest))
{
if (@mkdir($dest))
{
$this->nextQuickInfo[] = sprintf($this->l('created dir %2$s. %3$s files left to upgrade.'),$file, $dest, sizeof($this->nextParams['filesToUpgrade']));
return true;
}
else
{
$this->next = 'error';
@@ -791,18 +810,13 @@ class AdminSelfUpgrade extends AdminSelfTab
}
}
else
{
// directory already exists
return true;
}
}
else
{
if (copy($file,$dest))
{
$this->nextQuickInfo[] = sprintf($this->l('copied %1$s in %2$s. %3$s files left to upgrade.'),$file, $dest, sizeof($this->nextParams['filesToUpgrade']));
return true;
}
else
{
$this->next = 'error';
@@ -824,7 +838,7 @@ class AdminSelfUpgrade extends AdminSelfTab
{
$this->next = 'restoreFiles';
$this->status = 'ok';
$this->nextDesc = $this->l('Files restored, now restoring database.');
$this->nextDesc = $this->l('Restoring files...');
}
else
{
@@ -832,7 +846,7 @@ class AdminSelfUpgrade extends AdminSelfTab
{
$this->next = 'restoreDb';
$this->status = 'ok';
$this->nextDesc = $this->l('Database restored');
$this->nextDesc = $this->l('restoring Database ...');
}
else
{
@@ -841,6 +855,9 @@ class AdminSelfUpgrade extends AdminSelfTab
// all theses cases are handled by the method ajaxRequestRollback()
$this->next = ''; // next is empty : nothing next :)
$this->status = 'ok';
if (isset($this->currentParams['firstTime']))
$this->nextDesc = $this->l('Nothing has to be restored');
else
$this->nextDesc = $this->l('All your site is restored... ');
}
}
@@ -866,19 +883,18 @@ class AdminSelfUpgrade extends AdminSelfTab
$filepath = $this->backupFilesFilename;
$destExtract = $this->prodRootDir;
if (self::ZipExtract($filepath, $destExtract))
{
// once it's restored, delete the file !
unlink($this->backupFilesFilename);
Configuration::updateValue('UPGRADER_BACKUPFILES_FILENAME', '');
if (!empty($this->backupDbFilename))
// once it's restored, do not delete the archive file. This has to be done manually
if (!empty($this->backupDbFilename) AND file_exists($this->backupDbFilename) )
{
$this->nextDesc = $this->l('Files restored. No database backup found. Restoration done.');
$this->next = '';
$this->next = 'rollback';
}
else
{
$this->nextDesc = $this->l('Files restored.');
$this->nextDesc = $this->l('Files restored. No database backup found. Restoration done.');
$this->next = 'rollback';
}
return true;
@@ -906,6 +922,8 @@ class AdminSelfUpgrade extends AdminSelfTab
*/
public function ajaxProcessRestoreDb()
{
$this->_loadDbRelatedClasses();
$exts = explode('.', $this->backupDbFilename);
$fileext = $exts[count($exts)-1];
$requests = array();
@@ -947,12 +965,12 @@ class AdminSelfUpgrade extends AdminSelfTab
// This way we avoid extra blank lines
// option s (PCRE_DOTALL) added
// @TODO need to check if a ";" in description could block that (I suppose it can at the end of a line)
preg_match_all('/.*;[\n]\+/s', $content, $requests);
preg_match_all('/(.*;)[\n\r]+/Usm', $content, $requests);
/* @TODO maybe improve regex pattern ... */
$db = Db::getInstance();
if (count($requests)>0)
if (count($requests[0])>0)
{
foreach ($requests as $request)
foreach ($requests[1] as $request)
if (!empty($request))
if (!$db->Execute($request))
$this->nextQuickInfo[] = $db->getMsgError();
@@ -968,8 +986,9 @@ class AdminSelfUpgrade extends AdminSelfTab
$this->nextDesc = 'Database restore done.';
}
public function ajaxProcessBackupDb()
private function _loadDbRelatedClasses()
{
// Manual inclusion of all classes used
if(!class_exists('ObjectModel',false))
{
require_once(_PS_ROOT_DIR_.'/classes/ObjectModel.php');
@@ -983,12 +1002,6 @@ class AdminSelfUpgrade extends AdminSelfTab
if(!class_exists('Language',false))
eval('Class Language extends LanguageCore{}');
}
if(!class_exists('Validate',false))
{
require_once(_PS_ROOT_DIR_.'/classes/Validate.php');
if(!class_exists('Validate',false))
eval('Class Validate extends ValidateCore{}');
}
if(!class_exists('Db',false))
{
require_once(_PS_ROOT_DIR_.'/classes/Db.php');
@@ -1001,6 +1014,13 @@ class AdminSelfUpgrade extends AdminSelfTab
if(!class_exists('MySQL',false))
eval('Class MySQL extends MySQLCore{}');
}
if(!class_exists('Validate',false))
{
require_once(_PS_ROOT_DIR_.'/classes/Validate.php');
if(!class_exists('Validate',false))
eval('Class Validate extends ValidateCore{}');
}
if(!class_exists('Configuration',false))
{
require_once(_PS_ROOT_DIR_.'/classes/Configuration.php');
@@ -1021,6 +1041,11 @@ class AdminSelfUpgrade extends AdminSelfTab
define('_PS_MAGIC_QUOTES_GPC_', get_magic_quotes_gpc());
if(!defined('_PS_MYSQL_REAL_ESCAPE_STRING_'))
define('_PS_MYSQL_REAL_ESCAPE_STRING_', function_exists('mysql_real_escape_string'));
Configuration::loadConfiguration();
}
public function ajaxProcessBackupDb()
{
$this->_loadDbRelatedClasses();
$backup = new Backup();
// for backup db, use autoupgrade directory
@@ -1050,8 +1075,8 @@ class AdminSelfUpgrade extends AdminSelfTab
if (!isset($this->nextParams['filesForBackup']))
{
$list = $this->_listBackupFiles($this->prodRootDir);
$this->nextQuickInfo[] = sprintf($this->l('%s Files to backup.'), sizeof($this->backupFileList));
$this->nextParams['filesForBackup'] = $this->backupFileList;
$this->nextQuickInfo[] = sprintf($this->l('%s Files to backup.'), sizeof($this->toBackupFileList));
$this->nextParams['filesForBackup'] = $this->toBackupFileList;
// delete old backup, create new
if (file_exists($this->backupFilesFilename))
@@ -1059,12 +1084,13 @@ class AdminSelfUpgrade extends AdminSelfTab
$this->nextQuickInfo[] = sprintf($this->l('backup files initialized in %s'), $this->backupFilesFilename);
}
$filesToBackup = unserialize(file_get_contents($this->toBackupFileList));
/////////////////////
$this->next = 'backupFiles';
// @TODO : display % instead of this
$this->nextDesc = sprintf($this->l('Backup files in progress. %s files left'), sizeof($this->nextParams['filesForBackup']));
if (is_array($this->nextParams['filesForBackup']))
$this->nextDesc = sprintf($this->l('Backup files in progress. %s files left'), sizeof($filesToBackup));
if (is_array($filesToBackup))
{
// @TODO later
// 1) calculate crc32 of next file
@@ -1089,7 +1115,7 @@ class AdminSelfUpgrade extends AdminSelfTab
// @TODO min(self::$loopBackupFiles, sizeof())
for($i=0;$i<self::$loopBackupFiles;$i++)
{
if (sizeof($this->nextParams['filesForBackup'])<=0)
if (sizeof($filesToBackup)<=0)
{
$this->stepok = true;
$this->status = 'ok';
@@ -1099,11 +1125,11 @@ class AdminSelfUpgrade extends AdminSelfTab
break;
}
// filesForBackup already contains all the correct files
$file = array_shift($this->nextParams['filesForBackup']);
$archiveFilename = str_replace($this->prodRootDir,'',$file);
$file = array_shift($filesToBackup);
$archiveFilename = ltrim(str_replace($this->prodRootDir,'',$file),DIRECTORY_SEPARATOR);
// @TODO : maybe put several files at the same times ?
if ($zip->addFile($file,$archiveFilename))
$this->nextQuickInfo[] = sprintf($this->l('%1$s added to archive. %2$s left.'),$file, sizeof($this->nextParams['filesForBackup']));
$this->nextQuickInfo[] = sprintf($this->l('%1$s added to archive. %2$s left.'),$file, sizeof($filesToBackup));
else
{
// if an error occur, it's more safe to delete the corrupted backup
@@ -1115,6 +1141,7 @@ class AdminSelfUpgrade extends AdminSelfTab
}
}
$zip->close();
file_put_contents($this->autoupgradePath.DIRECTORY_SEPARATOR.$this->toBackupFileList,serialize($filesToBackup));
return true;
}
else{
@@ -1157,7 +1184,6 @@ class AdminSelfUpgrade extends AdminSelfTab
public function ajaxProcessRemoveSamples(){
$this->stepDone = false;
// @TODO : list exaustive list of files to remove :
// all images from img dir exept admin ?
// all images like logo, favicon, ?.
// all custom image from modules ?
@@ -1306,8 +1332,8 @@ class AdminSelfUpgrade extends AdminSelfTab
{
if(!$this->standalone)
{
if (version_compare(_PS_VERSION_,'1.4.4.0','<') AND false)
$this->_errors[] = Tools::displayError('This class depends of several files modified in 1.4.4.0 version and should not be used in an older version');
if (version_compare(_PS_VERSION_,'1.4.5.0','<') AND false)
$this->_errors[] = Tools::displayError('This class depends of several files modified in 1.4.5.0 version and should not be used in an older version');
}
parent::displayConf();
@@ -1336,7 +1362,7 @@ class AdminSelfUpgrade extends AdminSelfTab
}
}
if ($this->apacheModExists('mod_evasive'))
if ($this->apacheModExists('evasive'))
sleep(1);
}
/**
@@ -1357,9 +1383,11 @@ class AdminSelfUpgrade extends AdminSelfTab
// we need strpos (example can be evasive20
foreach($apacheModuleList as $module)
if (strpos($name, $module)!==false)
{
if (strpos($module, $name)!==false)
return true;
}
}
else{
// If apache_get_modules does not exists,
// one solution should be parsing httpd.conf,
@@ -1377,7 +1405,7 @@ class AdminSelfUpgrade extends AdminSelfTab
private function _getJsErrorMsgs()
{
$INSTALL_VERSION = $this->upgrader->version_num;
$INSTALL_VERSION = $this->currentParams['install_version'];
$ret = '
var txtError = new Array();
txtError[0] = "'.$this->l('Required field').'";
@@ -1501,11 +1529,11 @@ txtError[37] = "'.$this->l('The config/defines.inc.php file was not found. Where
$srcExecTime = '../img/admin/warning.gif';
echo '<b>'.$this->l('PHP time limit').' : </b>'.'<img src="'.$srcExecTime.'" />'.($max_exec_time == 0?$this->l('disabled'):$max_exec_time.' '.$this->l('seconds')).' <br/><br/>';
if ($this->rootWritable)
$srcRootWritable = '../img/admin/enabled.gif';
if (($testConfigDone = Configuration::get('PS_AUTOUP_DONT_SAVE_IMAGES')) !== false)
$configurationDone = '../img/admin/enabled.gif';
else
$srcRootWritable = '../img/admin/disabled.gif';
echo '<b>'.$this->l('Root directory').' : </b>'.'<img src="'.$srcRootWritable.'" /> '.($this->rootWritable?$this->l('writable recursively'):$this->l('not writable recursively')).'. <br/><br/>';
$configurationDone = '../img/admin/disabled.gif';
echo '<b>'.$this->l('Options chosen').' : </b>'.'<img src="'.$configurationDone.'" /> '.($testConfigDone?$this->l('autoupgrade configuration ok'):$this->l('Please configure autoupgrade options')).'<br/><br/>';
echo '<a class="button" id="scrollToOptions" href="#options">'.$this->l('Modify your options').'</a>';
echo '</fieldset>';
@@ -1556,7 +1584,7 @@ txtError[37] = "'.$this->l('The config/defines.inc.php file was not found. Where
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_)
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_ AND $this->manualMode)
{
echo '<br class="clear"/>';
echo '<fieldset class="autoupgradeSteps"><legend>'.$this->l('Step').'</legend>';
@@ -1623,6 +1651,7 @@ echo '</script>';
#upgradeNow {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;}
.button-autoupgrade {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;}
.processing {border:2px outset grey;margin-top:1px;overflow: auto;}
#dbResultCheck{ padding-left:20px;}
</style>';
$this->displayWarning($this->l('This function is experimental. It\'s highly recommended to make a backup of your files and database before starting the upgrade process.'));
@@ -1716,6 +1745,7 @@ function addQuickInfo(arrQuickInfo){
$js .= '
var firstTimeParams = '.$this->buildAjaxResult().';
firstTimeParams = firstTimeParams.nextParams;
firstTimeParams.firstTime = "1";
$(document).ready(function(){
$(".upgradestep").click(function(e)
@@ -1757,7 +1787,7 @@ function parseXMLResult(xmlRet)
$("#dbCreateResultCheck")
.hide("slow");
// difference with the original function
// as xml is only after upgradeDb, the next step is always upgradeComplete
ret = {next:"upgradeComplete",nextParams:{typeResult:"json"},status:"ok"};
}
@@ -1812,12 +1842,14 @@ function afterBackupFiles()
}
function doAjaxRequest(action, nextParams){
// myNext, used when json is not available but response is correct
myNext = nextParams;
req = $.ajax({
type:"POST",
url : "'.($this->standalone? __PS_BASE_URI__ . trim($this->adminDir,'/').'/autoupgrade/ajax-upgradetab.php' : str_replace('index','ajax-tab',$currentIndex)).'",
url : "'.($this->standalone? __PS_BASE_URI__ . trim($this->adminDir,DIRECTORY_SEPARATOR).'/autoupgrade/ajax-upgradetab.php' : str_replace('index','ajax-tab',$currentIndex)).'",
async: true,
data : {
dir:"'.trim($this->adminDir,'/').'",
dir:"'.trim($this->adminDir,DIRECTORY_SEPARATOR).'",
ajaxMode : "1",
token : "'.$this->token.'",
tab : "'.get_class($this).'",
@@ -1912,8 +1944,6 @@ function doAjaxRequest(action, nextParams){
*/
function prepareNextButton(button_selector, nextParams)
{
// myNext;
myNext = nextParams;
$(button_selector).unbind();
$(button_selector).click(function(e){
e.preventDefault();
+1
View File
@@ -49,6 +49,7 @@ class BackupCore
if ($filename)
$this->id = $this->getRealBackupPath($filename);
Configuration::loadConfiguration();
$psBackupAll = Configuration::get('PS_BACKUP_ALL');
$psBackupDropTable = Configuration::get('PS_BACKUP_DROP_TABLE');
$this->psBackupAll = $psBackupAll !== false ? $psBackupAll : true;
+11
View File
@@ -40,6 +40,7 @@ class UpgraderCore{
public $version_num;
public $link;
public $autoupgrade;
public $autoupgrade_module;
public $changelog;
public $md5;
@@ -95,7 +96,10 @@ class UpgraderCore{
{
if (empty($this->link))
{
if (class_exists('Configuration'))
$lastCheck = Configuration::get('PS_LAST_VERSION_CHECK');
else
$lastCheck = 0;
// if we use the autoupgrade process, we will never refresh it
// except if no check has been done before
if ($force OR ($lastCheck < time() - (3600 * Upgrader::DEFAULT_CHECK_VERSION_DELAY_HOURS)) )
@@ -103,12 +107,14 @@ class UpgraderCore{
libxml_set_streams_context(stream_context_create(array('http' => array('timeout' => 3))));
if ($feed = @simplexml_load_file($this->rss_version_link))
{
$this->version_name = (string)$feed->version->name;
$this->version_num = (string)$feed->version->num;
$this->link = (string)$feed->download->link;
$this->md5 = (string)$feed->download->md5;
$this->changelog = (string)$feed->download->changelog;
$this->autoupgrade = (int)$feed->autoupgrade;
$this->autoupgrade_module = (int)$feed->autoupgrade_module;
$this->desc = (string)$feed->desc ;
$configLastVersion = array(
'name' => $this->version_name,
@@ -116,13 +122,17 @@ class UpgraderCore{
'link' => $this->link,
'md5' => $this->md5,
'autoupgrade' => $this->autoupgrade,
'autoupgrade_module' => $this->autoupgrade_module,
'changelog' => $this->changelog,
'desc' => $this->desc
);
if (class_exists('Configuration'))
{
Configuration::updateValue('PS_LAST_VERSION',serialize($configLastVersion));
Configuration::updateValue('PS_LAST_VERSION_CHECK',time());
}
}
}
else
{
$lastVersionCheck = @unserialize(Configuration::get('PS_LAST_VERSION'));
@@ -130,6 +140,7 @@ class UpgraderCore{
$this->version_num = $lastVersionCheck['num'];
$this->link = $lastVersionCheck['link'];
$this->autoupgrade = $lastVersionCheck['autoupgrade'];
$this->autoupgrade_module = $lastVersionCheck['autoupgrade_module'];
$this->md5 = $lastVersionCheck['md5'];
$this->desc = $lastVersionCheck['desc'];
$this->changelog = $lastVersionCheck['changelog'];
+8 -5
View File
@@ -28,19 +28,22 @@
if($_POST['action'] == 'upgradeDb')
require_once(dirname(__FILE__).'/../../config/config.inc.php');
// require('Tools.php');
// require('../../config/config.autoupgrade.inc.php');
// ajax-upgrade-tab is located in admin/autoupgrade directory
if(!defined('_PS_ROOT_DIR_'))
define('_PS_ROOT_DIR_', dirname(__FILE__).'/../../');
define('_PS_ROOT_DIR_', realpath(dirname(__FILE__).'/../../'));
require_once(_PS_ROOT_DIR_.'/config/settings.inc.php');
if(!defined('_PS_MODULE_DIR_'))
define('_PS_MODULE_DIR_', _PS_ROOT_DIR_ .'modules/');
define('_PS_MODULE_DIR_', _PS_ROOT_DIR_ .'/modules/');
define('AUTOUPGRADE_MODULE_DIR', _PS_MODULE_DIR_.'autoupgrade/');
require_once(AUTOUPGRADE_MODULE_DIR.'functions.php');
if(!defined('_PS_USE_SQL_SLAVE_'))
define('_PS_USE_SQL_SLAVE_',0);
// dir = admin-dev
define('_PS_ADMIN_DIR_', _PS_ROOT_DIR_.'/'.$_POST['dir']);
if ( _PS_ROOT_DIR_.DIRECTORY_SEPARATOR.$_POST['dir'] !== realpath(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.$_POST['dir']))
die('not allowed');
define('_PS_ADMIN_DIR_', _PS_ROOT_DIR_.DIRECTORY_SEPARATOR.$_POST['dir']);
define('PS_ADMIN_DIR', _PS_ADMIN_DIR_); // Retro-compatibility
//require(_PS_ADMIN_DIR_.'/functions.php');
include(AUTOUPGRADE_MODULE_DIR.'init.php');
+2 -8
View File
@@ -26,14 +26,9 @@ class Autoupgrade extends Module
}
function install()
{
$autoupgradeCanWork = true;
if (!$autoupgradeCanWork)
return false;
$res = true;
// before adding AdminSelfUpgrade, we should remove AdminUpgrade
if (version_compare(_PS_VERSION_,'1.4.4.0','==') OR version_compare(_PS_VERSION_,'1.4.4.1','=='))
{
$idTab = Tab::getIdFromClassName('AdminUpgrade');
if ($idTab)
@@ -41,7 +36,6 @@ class Autoupgrade extends Module
$tab = new Tab($idTab);
$res &= $tab->delete();
}
}
$idTab = Tab::getIdFromClassName('AdminSelfUpgrade');
// Then we add AdminSelfUpgrade only if not exists
@@ -55,9 +49,7 @@ class Autoupgrade extends Module
$res &= $tab->save();
}
else
{
$tab = new Tab($idTab);
}
Configuration::updateValue('PS_AUTOUPDATE_MODULE_IDTAB',$tab->id);
$autoupgradeDir = _PS_ADMIN_DIR_.DIRECTORY_SEPARATOR.'autoupgrade';
@@ -68,6 +60,7 @@ class Autoupgrade extends Module
$path = dirname(__FILE__).'/';
$res &= copy($path.'ajax-upgradetab.php',$autoupgradeDir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php');
$res &= copy($path.'logo.gif',_PS_ROOT_DIR_. DIRECTORY_SEPARATOR . 'img/t/AdminSelfUpgrade.gif');
if (!$res
OR !Tab::getIdFromClassName('AdminSelfUpgrade')
@@ -94,6 +87,7 @@ class Autoupgrade extends Module
$res = $tab->save();
}
if (file_exists(_PS_ADMIN_DIR_.DIRECTORY_SEPARATOR.'autoupgrade'.DIRECTORY_SEPARATOR.'ajax-upgradetab.php'))
$res &= @unlink(_PS_ADMIN_DIR_.DIRECTORY_SEPARATOR.'autoupgrade'.DIRECTORY_SEPARATOR.'ajax-upgradetab.php');
if($res OR !parent::uninstall())
return false;
+53 -53
View File
@@ -1,56 +1,56 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_19f823c6453c2b1ffd09cb715214813d'] = 'Pflichtfelder';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_760c4026bc5a0bd5378e6efc3f1370b4'] = 'Zu lang!';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_4f2e28904946a09d8c7f36dd3ee72457'] = 'Die Felder sind unterschiedlich!';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_43b01d1a6c5065545c65f42003b0ab5c'] = 'Falsche Adresse!';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_2e170dfd78c2171a25605ececc0950a4'] = 'Kann E-Mail nicht senden!';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_6deee80e4bdb8894331994116818558e'] = 'Fehler beim Erstellen der Konfigurationsdatei, wenn die Datei /config/ settings.inc.php existiert, geben Sie ihr bitte die offiziellen Schreibrechte, ansonsten erstellen Sie bitte eine Datei settings.inc.php im Konfigurationsverzeichnis (/config/)';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_aa946cb00b1c23ff6553b6f9e05da151'] = 'Die Settings-Datei konnte nicht geschrieben werden, erstellen Sie bitte eine Datei namens settings.inc.php in Ihrem Konfigurationsverzeichnis.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_e930e2474c664a3a7e89ecfb8793694b'] = 'Kann Datei nicht senden!';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_774fc7a0f56391abc5d8856f2436ca07'] = 'Die Integrität der Daten ist nicht bestätigt.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_8fd007bf08e0717537825a3e91cb4fcc'] = 'Kann den Inhalt einer *.sql-Datei nicht lesen.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_c71e825f6873f64b91efc26313614eab'] = 'Kann nicht auf den Inhalt einer *.sql-Datei zugreifen.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_3d5c8f1d29b1a1dc4ea0673122e0d277'] = 'Fehler beim Einfügen in die Datenbank:';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_17e1581d01152347bfaacd153b961379'] = 'Falsches Kennwort (alpha-numerischer String aus mindestens 8 Zeichen)';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_9b9f3b2f8a4dffcad9188c8fc4b468c8'] = 'Eine PrestaShop Datenbank existiert bereits mit diesem Präfix, Sie müssen sie manuell löschen oder das Präfix ändern.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_bc5e1163a15106f9e941a7603124709d'] = 'Dies ist kein gültiger Name.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_a9d82945b8603f0c8807958d7db9a24d'] = 'Dies ist kein gültiges Bild.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_b37eef07b764ea58eec9afe624e20a40'] = 'Fehler beim Erstellen der Datei /config/settings.inc.php.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_3d9f514d46849760ef1b1412e314fd99'] = 'Fehler:';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_504053ab4c6d648edf11624f1bea4bb4'] = 'Diese PrestaShop-Datenbank existiert schon, bitte bestätigen Sie der Datenbank erneut Ihre Kennungen.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_d7a99f61bb284d096ea4f221784af85a'] = 'Bei der Änderung des Bildmaßstabs ist ein Fehler aufgetreten.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_428c933bafbf262d693fbf1c22c03e5d'] = 'Die Datenbank wurde gefunden!';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_76bd190129b7aefb90fdf42f09ec3ec7'] = 'Der Datenbank-Server steht zur Verfügung, aber die Datenbank wurde nicht gefunden';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_045f4b5c3f990e5a26e2837495d68259'] = 'Der Datenbank-Server wurde nicht gefunden, bitte prüfen Sie Ihren Benutzernamen oder den Server-Namen.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_757fc72e8d69106dd2cf9da22cc7adb1'] = 'Beim Senden der E-Mail ist ein Fehler aufgetreten, bitte prüfen Sie Ihre Einstellungen.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_d18ad19290b3bfc3cd0d7badbb6cb6a3'] = 'Kann Bild /img/logo.jpg nicht schreiben. Falls es bereits existiert, löschen Sie es bitte manuell.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_2368e33e3e01d53abb9b60061ab83903'] = 'Die gesendete Datei überschreitet die maximal zulässige Größe.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_a10ef376d9f4c877ac86d8e4350116bf'] = 'Die gesendete Datei überschreitet die maximal zulässige Größe.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_f8fe8cba1625eaf8e5c253b041d57dbd'] = 'Die Datei wurde teilweise gesendet.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_8c9067e52e4440d8a20e74fdc745b0c6'] = 'Es ist keine Datei gesandt worden';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_2384d693d9af53b4727c092af7570a19'] = 'Der temporäre Ordner Ihrer empfangenen Dateisendungen fehlt. Bitte wenden Sie sich an Ihren Systemadministrator.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_f5985b2c059d5cc36968baab7585baba'] = 'Kann die Datei nicht auf die Festplatte schreiben';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_9e54dfe54e03b0010c1fe70bd65cd5e6'] = 'Datei Senden unterbrochen aufgrund falscher Erweiterung';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_32af3a59b50e98d254d6c03c5b320a94'] = 'Kann die Daten aus Ihrer Datenbank nicht in UTF-8 zu konvertieren.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_989a45a4ca01ee222f4370172bf8850d'] = 'Ungültiger Shopname';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_68499acecfba9d3bf0ca8711f300d3ed'] = 'Ihr Vorname enthält ungültige Zeichen';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_2399cf4ca7b49f2706f6e147a32efa78'] = 'Ihr Nachname enthält ungültige Zeichen';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_7d72600fcff52fb3a2d2f73572117311'] = 'Ihr Datenbank-Server unterstützt keinen UTF-8-Zeichensatz.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_5b9bbadcf96f15e7f112c13a9e5f076e'] = 'Diese Datenbank-Engine wird nicht unterstützt, bitte wählen Sie eine andere als MyISAM';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_24b481455c1b72b0c2539e7d516b9582'] = 'Die Datei /img/logo.jpg kann nicht geschrieben werden, bitte ändern Sie die Dateirechte mit CHMOD 755 oder CHMOD 777';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_5746b74663148afffd1350c97d4fcdfe'] = 'Feld Katalog-Modus ungültig';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_dafe44b99256a7783bc37f4f949da373'] = 'Der Installer ist zu alt.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_37ce0f29c7377c827e7247fe5645a782'] = 'Sie besitzen bereits die Version. %s';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_89928a14f2090aec4fd7aff9ea983f95'] = 'Keine frühere Version erkannt. Haben Sie die Datei settings.inc.php aus dem Ordner config gelöscht oder umbenannt?';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_5276a8cbd9e3e467396089b267564f51'] = 'Die Datei config/settings.inc.php wurde nicht gefunden. Haben Sie sie gelöscht oder umbenannt?';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_24784d9e80638781b74c017b33d8ca0c'] = 'Kann eine der SQL-Update-Dateien nicht finden. Bitte stellen Sie sicher, dass der Ordner /install/sql/upgrade nicht leer ist.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_580e4b216e324f675f0237cdb34b6c2d'] = 'Kein Update verfügbar';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_f15e7e7292b0c72894cf45a893e0d497'] = 'Fehler beim Öffnen der SQL-Datei';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_b8286438fbb6c7df9129fadc5316c19f'] = 'Fehler beim Einfügen in die Datenbank';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_229ee8046cafc09ddaf46fb9db710e91'] = 'Leider';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_e805a556799b7cef40e9760c81d99218'] = 'Es sind SQL-Fehler aufgetreten.';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_5627353fd6ac678497af3ece05087068'] = 'Die Datei config/defines.inc.php wurde nicht gefunden. Wo ist sie?';
$_MODULE['<{autoupgrade}prestashop>AdminSelfUpgrade_783e8e29e6a8c3e22baa58a19420eb4f'] = 'Sekunden';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_19f823c6453c2b1ffd09cb715214813d'] = 'Pflichtfelder';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_760c4026bc5a0bd5378e6efc3f1370b4'] = 'Zu lang!';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_4f2e28904946a09d8c7f36dd3ee72457'] = 'Die Felder sind unterschiedlich!';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_43b01d1a6c5065545c65f42003b0ab5c'] = 'Falsche Adresse!';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_2e170dfd78c2171a25605ececc0950a4'] = 'Kann E-Mail nicht senden!';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_6deee80e4bdb8894331994116818558e'] = 'Fehler beim Erstellen der Konfigurationsdatei, wenn die Datei /config/ settings.inc.php existiert, geben Sie ihr bitte die offiziellen Schreibrechte, ansonsten erstellen Sie bitte eine Datei settings.inc.php im Konfigurationsverzeichnis (/config/)';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_aa946cb00b1c23ff6553b6f9e05da151'] = 'Die Settings-Datei konnte nicht geschrieben werden, erstellen Sie bitte eine Datei namens settings.inc.php in Ihrem Konfigurationsverzeichnis.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_e930e2474c664a3a7e89ecfb8793694b'] = 'Kann Datei nicht senden!';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_774fc7a0f56391abc5d8856f2436ca07'] = 'Die Integrität der Daten ist nicht bestätigt.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_8fd007bf08e0717537825a3e91cb4fcc'] = 'Kann den Inhalt einer *.sql-Datei nicht lesen.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_c71e825f6873f64b91efc26313614eab'] = 'Kann nicht auf den Inhalt einer *.sql-Datei zugreifen.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_3d5c8f1d29b1a1dc4ea0673122e0d277'] = 'Fehler beim Einfügen in die Datenbank:';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_17e1581d01152347bfaacd153b961379'] = 'Falsches Kennwort (alpha-numerischer String aus mindestens 8 Zeichen)';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_9b9f3b2f8a4dffcad9188c8fc4b468c8'] = 'Eine PrestaShop Datenbank existiert bereits mit diesem Präfix, Sie müssen sie manuell löschen oder das Präfix ändern.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_bc5e1163a15106f9e941a7603124709d'] = 'Dies ist kein gültiger Name.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_a9d82945b8603f0c8807958d7db9a24d'] = 'Dies ist kein gültiges Bild.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_b37eef07b764ea58eec9afe624e20a40'] = 'Fehler beim Erstellen der Datei /config/settings.inc.php.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_3d9f514d46849760ef1b1412e314fd99'] = 'Fehler:';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_504053ab4c6d648edf11624f1bea4bb4'] = 'Diese PrestaShop-Datenbank existiert schon, bitte bestätigen Sie der Datenbank erneut Ihre Kennungen.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_d7a99f61bb284d096ea4f221784af85a'] = 'Bei der Änderung des Bildmaßstabs ist ein Fehler aufgetreten.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_428c933bafbf262d693fbf1c22c03e5d'] = 'Die Datenbank wurde gefunden!';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_76bd190129b7aefb90fdf42f09ec3ec7'] = 'Der Datenbank-Server steht zur Verfügung, aber die Datenbank wurde nicht gefunden';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_045f4b5c3f990e5a26e2837495d68259'] = 'Der Datenbank-Server wurde nicht gefunden, bitte prüfen Sie Ihren Benutzernamen oder den Server-Namen.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_757fc72e8d69106dd2cf9da22cc7adb1'] = 'Beim Senden der E-Mail ist ein Fehler aufgetreten, bitte prüfen Sie Ihre Einstellungen.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_d18ad19290b3bfc3cd0d7badbb6cb6a3'] = 'Kann Bild /img/logo.jpg nicht schreiben. Falls es bereits existiert, löschen Sie es bitte manuell.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_2368e33e3e01d53abb9b60061ab83903'] = 'Die gesendete Datei überschreitet die maximal zulässige Größe.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_a10ef376d9f4c877ac86d8e4350116bf'] = 'Die gesendete Datei überschreitet die maximal zulässige Größe.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_f8fe8cba1625eaf8e5c253b041d57dbd'] = 'Die Datei wurde teilweise gesendet.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_8c9067e52e4440d8a20e74fdc745b0c6'] = 'Es ist keine Datei gesandt worden';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_2384d693d9af53b4727c092af7570a19'] = 'Der temporäre Ordner Ihrer empfangenen Dateisendungen fehlt. Bitte wenden Sie sich an Ihren Systemadministrator.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_f5985b2c059d5cc36968baab7585baba'] = 'Kann die Datei nicht auf die Festplatte schreiben';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_9e54dfe54e03b0010c1fe70bd65cd5e6'] = 'Datei Senden unterbrochen aufgrund falscher Erweiterung';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_32af3a59b50e98d254d6c03c5b320a94'] = 'Kann die Daten aus Ihrer Datenbank nicht in UTF-8 zu konvertieren.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_989a45a4ca01ee222f4370172bf8850d'] = 'Ungültiger Shopname';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_68499acecfba9d3bf0ca8711f300d3ed'] = 'Ihr Vorname enthält ungültige Zeichen';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_2399cf4ca7b49f2706f6e147a32efa78'] = 'Ihr Nachname enthält ungültige Zeichen';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_7d72600fcff52fb3a2d2f73572117311'] = 'Ihr Datenbank-Server unterstützt keinen UTF-8-Zeichensatz.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_5b9bbadcf96f15e7f112c13a9e5f076e'] = 'Diese Datenbank-Engine wird nicht unterstützt, bitte wählen Sie eine andere als MyISAM';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_24b481455c1b72b0c2539e7d516b9582'] = 'Die Datei /img/logo.jpg kann nicht geschrieben werden, bitte ändern Sie die Dateirechte mit CHMOD 755 oder CHMOD 777';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_5746b74663148afffd1350c97d4fcdfe'] = 'Feld Katalog-Modus ungültig';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_dafe44b99256a7783bc37f4f949da373'] = 'Der Installer ist zu alt.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_37ce0f29c7377c827e7247fe5645a782'] = 'Sie besitzen bereits die Version. %s';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_89928a14f2090aec4fd7aff9ea983f95'] = 'Keine frühere Version erkannt. Haben Sie die Datei settings.inc.php aus dem Ordner config gelöscht oder umbenannt?';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_5276a8cbd9e3e467396089b267564f51'] = 'Die Datei config/settings.inc.php wurde nicht gefunden. Haben Sie sie gelöscht oder umbenannt?';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_24784d9e80638781b74c017b33d8ca0c'] = 'Kann eine der SQL-Update-Dateien nicht finden. Bitte stellen Sie sicher, dass der Ordner /install/sql/upgrade nicht leer ist.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_580e4b216e324f675f0237cdb34b6c2d'] = 'Kein Update verfügbar';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_f15e7e7292b0c72894cf45a893e0d497'] = 'Fehler beim Öffnen der SQL-Datei';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_b8286438fbb6c7df9129fadc5316c19f'] = 'Fehler beim Einfügen in die Datenbank';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_229ee8046cafc09ddaf46fb9db710e91'] = 'Leider';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_e805a556799b7cef40e9760c81d99218'] = 'Es sind SQL-Fehler aufgetreten.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_5627353fd6ac678497af3ece05087068'] = 'Die Datei config/defines.inc.php wurde nicht gefunden. Wo ist sie?';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_783e8e29e6a8c3e22baa58a19420eb4f'] = 'Sekunden';
-4
View File
@@ -2,7 +2,6 @@
global $_MODULE;
$_MODULE = array();
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_875b8a59022d232837491c0fdfacb4ab'] = 'Ne pas sauver les images';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_a8d6c6734da0083021561b23f2fa88cc'] = 'Vous pouvez exclure le dossier image de la sauvegarde si vous l\'avez déjà sauvegardé d\'une autre manière (non recommandé)';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_af98608eaedd4ba7ffd47a0204e84b23'] = 'Conserver le thème \"prestashop\" actuel';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_4ea56ca1a757e426911ff20889c0e93c'] = 'Si vous avez personnalisé le thème par défaut de PrestaShop, vous pouvez le protéger de la mise à niveau (non recommandé)';
@@ -31,12 +30,9 @@ $_MODULE['<{autoupgrade}prestashop>adminselfupgrade_63ded4905ba41ac4bf00373df273
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_11978affb3b0dbb16c50d571fd05de6d'] = 'erreur lors de la création du répertoire %s';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_1b854285afc1988b6f83414fde5943ab'] = '%1$s copié dans %2$s. encore %3$s fichiers à mettre à jour.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_0e06ce0972ad338e1d96e8589dc21b9c'] = 'erreur lors de la copie de %1$s vers %2$s';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_0511620a3a1d6036d3fbe47b131d7c4b'] = 'Fichiers restorés. Restauration de la base de données.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_791403f158965a3e19f8627c7b744126'] = 'Base de données restaurée.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_5f7f50973696d0a42c1efcc07f7820a0'] = 'Votre site est maintenant restauré.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_28517b8a291c50d80aa53a078407065b'] = 'Répertoire racine nettoyée.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_bb71892737d721949538d6e1c4d3d22d'] = 'Fichiers restaurés. Sauvegarde de la base de données non trouvée. Restauration terminée.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_cb7dce5f6a1934d54c0d3335c7ffe841'] = 'Fichiers restaurés.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_8efc36d230f76fbfd9e4d758964e9414'] = 'impossible d\'extraire %1$ s dans%2$s.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_d7624db09c15d46cd37d7709ae05e44b'] = 'aucune sauvegarde trouvée. Il n\'y a rien à restaurer.';
$_MODULE['<{autoupgrade}prestashop>adminselfupgrade_09a362e2dd3800f8fbc55d3446513f65'] = 'Rien à restaurer (aucune requête trouvée)';