[-] BO : Bug Fixed #PSCFV-1475 - Multishop themes pictures not configurable

This commit is contained in:
fBrignoli
2012-05-07 10:02:56 +00:00
parent 6b4175b869
commit c5eab7a391
+31 -72
View File
@@ -481,27 +481,7 @@ class AdminThemesControllerCore extends AdminController
*/ */
public function updateOptionPsLogo() public function updateOptionPsLogo()
{ {
$id_shop = Context::getContext()->shop->id; $this->updateLogo('PS_LOGO', 'logo');
if (isset($_FILES['PS_LOGO']['tmp_name']) && $_FILES['PS_LOGO']['tmp_name'])
{
if ($error = ImageManager::validateUpload($_FILES['PS_LOGO'], 300000))
$this->errors[] = $error;
$tmp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS');
if (!$tmp_name || !move_uploaded_file($_FILES['PS_LOGO']['tmp_name'], $tmp_name))
return false;
$logo_name = 'logo-'.(int)$id_shop.'.jpg';
if (($id_shop == Configuration::get('PS_SHOP_DEFAULT') || $id_shop == 0))
$logo_name = 'logo.jpg';
if (!@ImageManager::resize($tmp_name, _PS_IMG_DIR_.$logo_name))
$this->errors[] = Tools::displayError('An error occurred during logo copy.');
Configuration::updateValue('PS_LOGO', $logo_name);
unlink($tmp_name);
}
} }
/** /**
@@ -509,25 +489,7 @@ class AdminThemesControllerCore extends AdminController
*/ */
public function updateOptionPsLogoMail() public function updateOptionPsLogoMail()
{ {
$id_shop = Context::getContext()->shop->id; $this->updateLogo('PS_LOGO_MAIL', 'logo_mail');
if (isset($_FILES['PS_LOGO_MAIL']['tmp_name']) && $_FILES['PS_LOGO_MAIL']['tmp_name'])
{
if ($error = ImageManager::validateUpload($_FILES['PS_LOGO_MAIL'], 300000))
$this->errors[] = $error;
$tmp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS_MAIL');
if (!$tmp_name || !move_uploaded_file($_FILES['PS_LOGO_MAIL']['tmp_name'], $tmp_name))
return false;
if ($id_shop == Configuration::get('PS_SHOP_DEFAULT') && !@ImageManager::resize($tmp_name, _PS_IMG_DIR_.'logo_mail.jpg'))
$this->errors[] = Tools::displayError('An error occurred during logo copy.');
if (!@ImageManager::resize($tmp_name, _PS_IMG_DIR_.'logo_mail-'.(int)$id_shop.'.jpg'))
$this->errors[] = Tools::displayError('An error occurred during logo copy.');
else
Configuration::updateValue('PS_LOGO_MAIL', 'logo_mail-'.(int)$id_shop.'.jpg');
Configuration::updateGlobalValue('PS_LOGO_MAIL', 'logo_mail.jpg');
unlink($tmp_name);
}
} }
/** /**
@@ -535,53 +497,50 @@ class AdminThemesControllerCore extends AdminController
*/ */
public function updateOptionPsLogoInvoice() public function updateOptionPsLogoInvoice()
{ {
$id_shop = Context::getContext()->shop->id; $this->updateLogo('PS_LOGO_INVOICE', 'logo_invoice');
if (isset($_FILES['PS_LOGO_INVOICE']['tmp_name']) && $_FILES['PS_LOGO_INVOICE']['tmp_name'])
{
if ($error = ImageManager::validateUpload($_FILES['PS_LOGO_INVOICE'], 300000))
$this->errors[] = $error;
$tmp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS_INVOICE');
if (!$tmp_name || !move_uploaded_file($_FILES['PS_LOGO_INVOICE']['tmp_name'], $tmp_name))
return false;
if ($id_shop == Configuration::get('PS_SHOP_DEFAULT') && !@ImageManager::resize($tmp_name, _PS_IMG_DIR_.'logo_invoice.jpg'))
$this->errors[] = Tools::displayError('An error occurred during logo copy.');
if (!@ImageManager::resize($tmp_name, _PS_IMG_DIR_.'logo_invoice-'.(int)$id_shop.'.jpg'))
$this->errors[] = Tools::displayError('An error occurred during logo copy.');
else
Configuration::updateValue('PS_LOGO_INVOICE', 'logo_invoice-'.(int)$id_shop.'.jpg');
Configuration::updateGlobalValue('PS_LOGO_INVOICE', 'logo_invoice.jpg');
unlink($tmp_name);
}
} }
/** /**
* Update PS_STORES_ICON * Update PS_STORES_ICON
*/ */
public function updateOptionPsStoresIcon() public function updateOptionPsStoresIcon()
{
$this->updateLogo('PS_STORES_ICON', 'logo_stores');
}
/**
* Generic function which allows logo upload
*
* @param $field_name
* @param $logo_prefix
* @return bool
*/
protected function updateLogo($field_name, $logo_prefix)
{ {
$id_shop = Context::getContext()->shop->id; $id_shop = Context::getContext()->shop->id;
if (isset($_FILES['PS_STORES_ICON']['tmp_name']) && $_FILES['PS_STORES_ICON']['tmp_name']) if (isset($_FILES[$field_name]['tmp_name']) && $_FILES[$field_name]['tmp_name'])
{ {
if ($error = ImageManager::validateUpload($_FILES['PS_STORES_ICON'], 300000)) if ($error = ImageManager::validateUpload($_FILES[$field_name], 300000))
$this->errors[] = $error; $this->errors[] = $error;
$tmp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS_STORES_ICON');
if (!$tmp_name || !move_uploaded_file($_FILES['PS_STORES_ICON']['tmp_name'], $tmp_name)) $tmp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS');
if (!$tmp_name || !move_uploaded_file($_FILES[$field_name]['tmp_name'], $tmp_name))
return false; return false;
if ($id_shop == Configuration::get('PS_SHOP_DEFAULT') && !@ImageManager::resize($tmp_name, _PS_IMG_DIR_.'logo_stores.gif'))
$logo_name = $logo_prefix.'-'.(int)$id_shop.'.jpg';
if (($id_shop == Configuration::get('PS_SHOP_DEFAULT') || $id_shop == 0))
$logo_name = $logo_prefix.'.jpg';
if (!@ImageManager::resize($tmp_name, _PS_IMG_DIR_.$logo_name))
$this->errors[] = Tools::displayError('An error occurred during logo copy.'); $this->errors[] = Tools::displayError('An error occurred during logo copy.');
if (!@ImageManager::resize($tmp_name, _PS_IMG_DIR_.'logo_stores-'.(int)$id_shop.'.gif'))
$this->errors[] = Tools::displayError('An error occurred during logo copy.'); Configuration::updateValue($field_name, $logo_name);
else $this->fields_options['appearance']['fields'][$field_name]['thumb'] = _PS_IMG_.$logo_name.'?date='.time();
Configuration::updateValue('PS_STORES_ICON', 'logo_stores-'.(int)$id_shop.'.gif');
Configuration::updateGlobalValue('PS_STORES_ICON', 'logo_stores.gif');
unlink($tmp_name); unlink($tmp_name);
} }
} }
/** /**
* Update PS_FAVICON * Update PS_FAVICON
*/ */