Пример #1
0
 /**
  * Display the view
  *
  * @param   string $tpl Template name
  *
  * @return void
  *
  * @throws Exception
  */
 public function display($tpl = null)
 {
     $this->langs = NenoHelper::getTargetLanguages(false);
     NenoHelperBackend::addSubmenu('');
     $this->sidebar = JHtmlSidebar::render();
     parent::display($tpl);
 }
Пример #2
0
 /**
  * {@inheritdoc}
  *
  * @return boolean
  */
 public function persist()
 {
     // If the table has been marked as translatable, let's check for the content element file
     if ($this->translate) {
         $this->checkTranslatableStatusFromContentElementFile();
     }
     $result = parent::persist();
     if ($result) {
         /* @var $db NenoDatabaseDriverMysqlx */
         $db = JFactory::getDbo();
         // If the table has been marked as translated
         if ($this->translate) {
             // Creates shadow tables and copy the content on it
             $db->createShadowTables($this->tableName);
         }
         /* @var $field NenoContentElementField */
         foreach ($this->fields as $field) {
             $field->setTable($this)->setTranslate($field->isTranslatable() && $this->isTranslate())->persist();
             if ($field->getFieldName() === 'language' && $this->isTranslate()) {
                 $languages = NenoHelper::getTargetLanguages();
                 $defaultLanguage = NenoSettings::get('source_language');
                 foreach ($languages as $language) {
                     if ($language->lang_code != $defaultLanguage) {
                         $db->deleteContentElementsFromSourceTableToShadowTables($this->tableName, $language->lang_code);
                     }
                 }
             }
         }
     }
     return $result;
 }
Пример #3
0
 /**
  * Refresh the translatable tables
  *
  * @return void
  */
 public function refreshTranslatableTables()
 {
     $query = $this->getQuery(true);
     $query->select('table_name')->from('#__neno_content_element_tables')->where('translate = 1');
     $manifestTablesObjectList = $this->executeQuery($query, true, true);
     $this->manifestTables = array();
     if (!empty($manifestTablesObjectList)) {
         foreach ($manifestTablesObjectList as $object) {
             $this->manifestTables[] = $object->table_name;
         }
     }
     $this->languages = NenoHelper::getTargetLanguages();
 }