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