// HTML flag can be used in ObjectModel->getTranslationsFieldsChild() to keep html on language fields
This commit is contained in:
+7
-23
@@ -59,29 +59,13 @@ class CMSCore extends ObjectModel
|
||||
public function getTranslationsFieldsChild()
|
||||
{
|
||||
parent::validateFieldsLang();
|
||||
|
||||
$fieldsArray = array('meta_title', 'meta_description', 'meta_keywords', 'link_rewrite');
|
||||
$fields = array();
|
||||
$languages = Language::getLanguages(false);
|
||||
$defaultLanguage = (int)(Configuration::get('PS_LANG_DEFAULT'));
|
||||
foreach ($languages as $language)
|
||||
{
|
||||
$fields[$language['id_lang']]['id_lang'] = (int)($language['id_lang']);
|
||||
$fields[$language['id_lang']][$this->identifier] = (int)($this->id);
|
||||
$fields[$language['id_lang']]['content'] = (isset($this->content[$language['id_lang']])) ? pSQL($this->content[$language['id_lang']], true) : '';
|
||||
foreach ($fieldsArray as $field)
|
||||
{
|
||||
if (!Validate::isTableOrIdentifier($field))
|
||||
die(Tools::displayError());
|
||||
if (isset($this->{$field}[$language['id_lang']]) AND !empty($this->{$field}[$language['id_lang']]))
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']]);
|
||||
elseif (in_array($field, $this->fieldsRequiredLang))
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$defaultLanguage]);
|
||||
else
|
||||
$fields[$language['id_lang']][$field] = '';
|
||||
}
|
||||
}
|
||||
return $fields;
|
||||
return parent::getTranslationsFields(array(
|
||||
'meta_description',
|
||||
'meta_keywords',
|
||||
'meta_title',
|
||||
'link_rewrite',
|
||||
'content' => array('html' => true),
|
||||
));
|
||||
}
|
||||
|
||||
public function add($autodate = true, $nullValues = false)
|
||||
|
||||
+9
-30
@@ -150,36 +150,15 @@ class CategoryCore extends ObjectModel
|
||||
*/
|
||||
public function getTranslationsFieldsChild()
|
||||
{
|
||||
self::validateFieldsLang();
|
||||
|
||||
$fieldsArray = array('name', 'link_rewrite', 'meta_title', 'meta_keywords', 'meta_description');
|
||||
$fields = array();
|
||||
$languages = Language::getLanguages(false);
|
||||
$defaultLanguage = Configuration::get('PS_LANG_DEFAULT');
|
||||
foreach ($languages as $language)
|
||||
{
|
||||
$fields[$language['id_lang']]['id_lang'] = $language['id_lang'];
|
||||
$fields[$language['id_lang']][$this->identifier] = (int)($this->id);
|
||||
$fields[$language['id_lang']]['id_shop'] = (int)$this->id_shop; // @todo ID shop in product ???
|
||||
$fields[$language['id_lang']]['description'] = (isset($this->description[$language['id_lang']])) ? addslashes($this->description[$language['id_lang']]) : '';
|
||||
foreach ($fieldsArray as $field)
|
||||
{
|
||||
if (!Validate::isTableOrIdentifier($field))
|
||||
die(Tools::displayError());
|
||||
|
||||
/* Check fields validity */
|
||||
if (isset($this->{$field}[$language['id_lang']]) AND !empty($this->{$field}[$language['id_lang']]))
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']]);
|
||||
elseif (in_array($field, $this->fieldsRequiredLang))
|
||||
{
|
||||
if ($this->{$field} != '')
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$defaultLanguage]);
|
||||
}
|
||||
else
|
||||
$fields[$language['id_lang']][$field] = '';
|
||||
}
|
||||
}
|
||||
return $fields;
|
||||
parent::validateFieldsLang();
|
||||
return parent::getTranslationsFields(array(
|
||||
'name',
|
||||
'description' => array('html' => true),
|
||||
'link_rewrite',
|
||||
'meta_title',
|
||||
'meta_keywords',
|
||||
'meta_description',
|
||||
));
|
||||
}
|
||||
|
||||
public function add($autodate = true, $nullValues = false)
|
||||
|
||||
@@ -111,33 +111,14 @@ class ManufacturerCore extends ObjectModel
|
||||
|
||||
public function getTranslationsFieldsChild()
|
||||
{
|
||||
$fieldsArray = array('description', 'short_description', 'meta_title', 'meta_keywords', 'meta_description');
|
||||
$fields = array();
|
||||
$languages = Language::getLanguages(false);
|
||||
$defaultLanguage = Configuration::get('PS_LANG_DEFAULT');
|
||||
foreach ($languages as $language)
|
||||
{
|
||||
$fields[$language['id_lang']]['id_lang'] = $language['id_lang'];
|
||||
$fields[$language['id_lang']][$this->identifier] = (int)($this->id);
|
||||
$fields[$language['id_lang']]['description'] = (isset($this->description[$language['id_lang']])) ? pSQL($this->description[$language['id_lang']], true) : '';
|
||||
$fields[$language['id_lang']]['short_description'] = (isset($this->short_description[$language['id_lang']])) ? pSQL($this->short_description[$language['id_lang']], true) : '';
|
||||
|
||||
foreach ($fieldsArray as $field)
|
||||
{
|
||||
if (!Validate::isTableOrIdentifier($field))
|
||||
die(Tools::displayError());
|
||||
|
||||
/* Check fields validity */
|
||||
if (isset($this->{$field}[$language['id_lang']]) AND !empty($this->{$field}[$language['id_lang']]))
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']], true);
|
||||
elseif (in_array($field, $this->fieldsRequiredLang))
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$defaultLanguage]);
|
||||
else
|
||||
$fields[$language['id_lang']][$field] = '';
|
||||
|
||||
}
|
||||
}
|
||||
return $fields;
|
||||
parent::validateFieldsLang();
|
||||
return parent::getTranslationsFields(array(
|
||||
'meta_description',
|
||||
'meta_keywords',
|
||||
'meta_title',
|
||||
'description' => array('html' => true),
|
||||
'short_description' => array('html' => true),
|
||||
));
|
||||
}
|
||||
|
||||
public function delete()
|
||||
|
||||
+16
-8
@@ -424,20 +424,28 @@ abstract class ObjectModelCore
|
||||
$fields[$id_language][$this->identifier] = (int)($this->id);
|
||||
if ($this->id_shop AND $this->langMultiShop)
|
||||
$fields[$id_language]['id_shop'] = (int)$this->id_shop;
|
||||
foreach ($fieldsArray as $field)
|
||||
foreach ($fieldsArray as $k => $field)
|
||||
{
|
||||
$html = false;
|
||||
$fieldName = $field;
|
||||
if (is_array($field))
|
||||
{
|
||||
$fieldName = $k;
|
||||
$html = (isset($field['html'])) ? $field['html'] : false;
|
||||
}
|
||||
|
||||
/* Check fields validity */
|
||||
if (!Validate::isTableOrIdentifier($field))
|
||||
if (!Validate::isTableOrIdentifier($fieldName))
|
||||
die(Tools::displayError());
|
||||
|
||||
/* Copy the field, or the default language field if it's both required and empty */
|
||||
if ((!$this->id_lang AND isset($this->{$field}[$id_language]) AND !empty($this->{$field}[$id_language]))
|
||||
OR ($this->id_lang AND isset($this->$field) AND !empty($this->$field)))
|
||||
$fields[$id_language][$field] = $this->id_lang ? pSQL($this->$field) : pSQL($this->{$field}[$id_language]);
|
||||
elseif (in_array($field, $this->fieldsRequiredLang))
|
||||
$fields[$id_language][$field] = $this->id_lang ? pSQL($this->$field) : pSQL($this->{$field}[Configuration::get('PS_LANG_DEFAULT')]);
|
||||
if ((!$this->id_lang AND isset($this->{$fieldName}[$id_language]) AND !empty($this->{$fieldName}[$id_language]))
|
||||
OR ($this->id_lang AND isset($this->$fieldName) AND !empty($this->$fieldName)))
|
||||
$fields[$id_language][$fieldName] = $this->id_lang ? pSQL($this->$fieldName, $html) : pSQL($this->{$fieldName}[$id_language], $html);
|
||||
elseif (in_array($fieldName, $this->fieldsRequiredLang))
|
||||
$fields[$id_language][$fieldName] = $this->id_lang ? pSQL($this->$fieldName, $html) : pSQL($this->{$fieldName}[Configuration::get('PS_LANG_DEFAULT')], $html);
|
||||
else
|
||||
$fields[$id_language][$field] = '';
|
||||
$fields[$id_language][$fieldName] = '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-31
@@ -391,37 +391,18 @@ class ProductCore extends ObjectModel
|
||||
*/
|
||||
public function getTranslationsFieldsChild()
|
||||
{
|
||||
self::validateFieldsLang();
|
||||
|
||||
$fieldsArray = array('meta_description', 'meta_keywords', 'meta_title', 'link_rewrite', 'name', 'available_now', 'available_later');
|
||||
$fields = array();
|
||||
$languages = Language::getLanguages(false);
|
||||
$defaultLanguage = Configuration::get('PS_LANG_DEFAULT');
|
||||
foreach ($languages as $language)
|
||||
{
|
||||
$fields[$language['id_lang']]['id_lang'] = $language['id_lang'];
|
||||
$fields[$language['id_lang']][$this->identifier] = (int)($this->id);
|
||||
$fields[$language['id_lang']]['id_shop'] = (int)$this->id_shop; // @todo ID shop in product ???
|
||||
$fields[$language['id_lang']]['description'] = (isset($this->description[$language['id_lang']])) ? pSQL($this->description[$language['id_lang']], true) : '';
|
||||
$fields[$language['id_lang']]['description_short'] = (isset($this->description_short[$language['id_lang']])) ? pSQL($this->description_short[$language['id_lang']], true) : '';
|
||||
foreach ($fieldsArray as $field)
|
||||
{
|
||||
if (!Validate::isTableOrIdentifier($field))
|
||||
die(Tools::displayError());
|
||||
|
||||
/* Check fields validity */
|
||||
if (isset($this->{$field}[$language['id_lang']]) AND !empty($this->{$field}[$language['id_lang']]))
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']]);
|
||||
elseif (in_array($field, $this->fieldsRequiredLang))
|
||||
{
|
||||
if ($this->{$field} != '')
|
||||
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$defaultLanguage]);
|
||||
}
|
||||
else
|
||||
$fields[$language['id_lang']][$field] = '';
|
||||
}
|
||||
}
|
||||
return $fields;
|
||||
parent::validateFieldsLang();
|
||||
return parent::getTranslationsFields(array(
|
||||
'meta_description',
|
||||
'meta_keywords',
|
||||
'meta_title',
|
||||
'link_rewrite',
|
||||
'name',
|
||||
'available_now',
|
||||
'available_later',
|
||||
'description' => array('html' => true),
|
||||
'description_short' => array('html' => true),
|
||||
));
|
||||
}
|
||||
|
||||
public static function initPricesComputation($customer = NULL)
|
||||
|
||||
Reference in New Issue
Block a user