Beispiel #1
0
 /**
  * Get label translation with translate language
  *
  * @param \XLite\Model\LanguageLabel $label Label
  *
  * @return string
  */
 public function getTranslation(\XLite\Model\LanguageLabel $label)
 {
     return $this->getTranslatedLanguage() ? $label->getTranslation($this->getTranslatedLanguage()->code)->getLabel() : '';
 }
 /**
  * {@inheritDoc}
  */
 public function prepareEntityBeforeCommit($type)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'prepareEntityBeforeCommit', array($type));
     return parent::prepareEntityBeforeCommit($type);
 }
Beispiel #3
0
 /**
  * Get languages list for label translations availability
  *
  * @param \XLite\Model\LanguageLabel $entity
  *
  * @return array
  */
 protected function getLanguageMarks($entity)
 {
     $result = array();
     $languages = \XLite\Core\Database::getRepo('XLite\\Model\\Language')->findAddedLanguages();
     $translations = $entity->getTranslations();
     foreach ($languages as $l) {
         $code = $l->getCode();
         $found = false;
         foreach ($translations as $t) {
             if ($t->getCode() == $code) {
                 $found = true;
                 break;
             }
         }
         $result[strtoupper($code)] = array('status' => $found ? 'set' : 'unset');
     }
     return $result;
 }