Esempio n. 1
0
 protected function _loadTranslationData($data = null, $locale, array $options = array())
 {
     $list = new Translation_Website_List();
     $list->load();
     foreach ($list->getTranslations() as $translation) {
         if ($translation instanceof Translation_Abstract) {
             foreach ($translation->getTranslations() as $language => $text) {
                 $this->_translate[$language][$translation->getKey()] = Pimcore_Tool_Text::removeLineBreaks($text);
             }
         }
     }
     $availableLanguages = (array) Pimcore_Tool::getValidLanguages();
     foreach ($availableLanguages as $language) {
         if (!array_key_exists($language, $this->_translate) || empty($this->_translate[$language])) {
             $this->_translate[$language] = array("__pimcore_dummy" => "only_a_dummy");
         }
     }
     return $this->_translate;
 }
Esempio n. 2
0
 /**
  * @return string
  */
 public function getTitle()
 {
     return Pimcore_Tool_Text::removeLineBreaks($this->title);
 }
Esempio n. 3
0
 public function translationsExportAction()
 {
     $admin = $this->_getParam("admin");
     if ($this->getUser()->isAllowed("translations")) {
         // clear translation cache
         Pimcore_Model_Cache::clearTag("translator");
         if ($admin) {
             $list = new Translation_Admin_List();
         } else {
             $list = new Translation_Website_List();
         }
         $list->setOrder("asc");
         $list->setOrderKey("key");
         $list->load();
         $translations = array();
         foreach ($list->getTranslations() as $t) {
             $translations[] = array_merge(array("key" => $t->getKey(), "date" => $t->getDate()), $t->getTranslations());
         }
         $languages = Pimcore_Tool::getValidLanguages();
         //header column
         $columns = array_keys($translations[0]);
         //add language columns which have no translations yet
         foreach ($languages as $l) {
             if (!in_array($l, $columns)) {
                 $columns[] = $l;
             }
         }
         $headerRow = array();
         foreach ($columns as $key => $value) {
             $headerRow[] = '"' . $value . '"';
         }
         $csv = implode(";", $headerRow) . "\r\n";
         foreach ($translations as $t) {
             $tempRow = array();
             foreach ($columns as $key) {
                 $value = $t[$key];
                 //clean value of evil stuff such as " and linebreaks
                 if (is_string($value)) {
                     $value = Pimcore_Tool_Text::removeLineBreaks($value);
                     $value = str_replace('"', '"', $value);
                     $tempRow[$key] = '"' . $value . '"';
                 } else {
                     $tempRow[$key] = "";
                 }
             }
             $csv .= implode(";", $tempRow) . "\r\n";
         }
         header("Content-type: text/csv");
         header("Content-Disposition: attachment; filename=\"export.csv\"");
         echo $csv;
         die;
     } else {
         Logger::err("user [" . $this->getUser()->getId() . "] attempted to export translations csv, but has no permission to do so.");
         die;
     }
 }