Exemple #1
0
 /**
  * Add label
  *
  * @return void
  */
 protected function doActionAdd()
 {
     $name = substr(\XLite\Core\Request::getInstance()->name, 0, 255);
     $label = \XLite\Core\Request::getInstance()->label;
     $codeDefault = $codeInterface = static::getDefaultLanguage();
     if (!$name) {
         \XLite\Core\TopMessage::addError('The text label has not been added, because its name has not been specified');
     } elseif (\XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->findOneByName($name)) {
         \XLite\Core\TopMessage::addError('The text label has not been added, because such a text label already exists');
     } elseif (!isset($label[$codeDefault]) || !$label[$codeDefault]) {
         \XLite\Core\TopMessage::addError('The text label has not been added, because its translation to the default application language has not been specified');
     } elseif (!isset($label[$codeInterface]) || !$label[$codeInterface]) {
         \XLite\Core\TopMessage::addError('The text label has not been added, because its translation to the default interface language has not been specified');
     } else {
         $lbl = new \XLite\Model\LanguageLabel();
         $lbl->setName($name);
         foreach ($label as $code => $text) {
             if (!empty($text)) {
                 $lbl->setEditLanguage($code)->setLabel($text);
             }
         }
         \XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->insert($lbl);
         \XLite\Core\Translation::getInstance()->reset();
         \XLite\Core\TopMessage::addInfo('The text label has been added successfully');
     }
 }
Exemple #2
0
 /**
  * Add label
  *
  * @return void
  */
 protected function doActionAdd()
 {
     $requestData = \XLite\Core\Request::getInstance()->getNonFilteredData();
     $name = substr($requestData['name'], 0, 255);
     $label = $requestData['label'];
     if (!$name) {
         $this->valid = false;
         \XLite\Core\TopMessage::addError('The text label has not been added, because its name has not been specified');
     } elseif (\XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->findOneByName($name)) {
         $this->valid = false;
         \XLite\Core\TopMessage::addError('The text label has not been added, because such a text label already exists');
     } else {
         $lbl = new \XLite\Model\LanguageLabel();
         $lbl->setName($name);
         foreach ($label as $code => $text) {
             if (!empty($text)) {
                 $lbl->setEditLanguage($code)->setLabel($text);
             }
         }
         $lbl = \XLite\Core\Database::getRepo('\\XLite\\Model\\LanguageLabel')->insert($lbl);
         if ($lbl && $lbl->getLabelId()) {
             // Save added label ID in session
             $addedLabels = \XLite\Core\Session::getInstance()->added_labels;
             if (is_array($addedLabels)) {
                 array_push($addedLabels, $lbl->getLabelId());
             } else {
                 $addedLabels = array($lbl->getLabelId());
             }
             \XLite\Core\Session::getInstance()->added_labels = $addedLabels;
             $this->setHardRedirect();
         }
         \XLite\Core\Translation::getInstance()->reset();
         \XLite\Core\TopMessage::addInfo('The text label has been added successfully');
     }
 }