Пример #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;
 }
Пример #2
0
 /**
  * @return string
  */
 public function getTitle()
 {
     return Pimcore_Tool_Text::removeLineBreaks($this->title);
 }
Пример #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;
     }
 }
Пример #4
0
 /**
  * @param  Webservice_Data_Object_Concrete $apiElement
  * @return void
  */
 public function correctObjectRelations($apiElement, $idMapping)
 {
     if ($apiElement->elements) {
         foreach ($apiElement->elements as $el) {
             if ($el->type == "href" and $el->value["id"]) {
                 $el->value["id"] = $idMapping[$el->value["type"]][$el->value["id"]];
             } else {
                 if ($el->type == "image" and $el->value) {
                     $el->value = $idMapping["asset"][$el->value];
                 } else {
                     if ($el->type == "link" and $el->value["internal"]) {
                         $el->value["internal"] = $idMapping[$el->value["internalType"]][$el->value["internal"]];
                     } else {
                         if ($el->type == "multihref") {
                             if (is_array($el->value)) {
                                 for ($i = 0; $i < count($el->value); $i++) {
                                     $el->value[$i]["id"] = $idMapping[$el->value[$i]["type"]][$el->value[$i]["id"]];
                                 }
                             }
                         } else {
                             if ($el->type == "objects") {
                                 if (is_array($el->value)) {
                                     for ($i = 0; $i < count($el->value); $i++) {
                                         $el->value[$i]["id"] = $idMapping["object"][$el->value[$i]["id"]];
                                     }
                                 }
                             } else {
                                 if ($el->type == "wysiwyg") {
                                     $el->value = Pimcore_Tool_Text::replaceWysiwygTextRelationIds($idMapping, $el->value);
                                 } else {
                                     if ($el->type == "fieldcollections") {
                                         if ($el instanceof Webservice_Data_Object_Element and is_array($el->value)) {
                                             foreach ($el->value as $fieldCollectionEl) {
                                                 if (is_array($fieldCollectionEl->value)) {
                                                     foreach ($fieldCollectionEl->value as $collectionItem) {
                                                         if ($collectionItem->type == "image") {
                                                             $collectionItem->value = $idMapping["asset"][$collectionItem->value];
                                                         } else {
                                                             if ($collectionItem->type == "wysiwyg") {
                                                                 $collectionItem->value = Pimcore_Tool_Text::replaceWysiwygTextRelationIds($idMapping, $collectionItem->value);
                                                             } else {
                                                                 if ($collectionItem->type == "link" and $collectionItem->value["internalType"]) {
                                                                     $collectionItem->value["internal"] = $idMapping[$collectionItem->value["internalType"]][$collectionItem->value["internal"]];
                                                                 } else {
                                                                     if ($collectionItem->type == "href" and $collectionItem->value["id"]) {
                                                                         $collectionItem->value["id"] = $idMapping[$collectionItem->value["type"]][$collectionItem->value["id"]];
                                                                     } else {
                                                                         if (($collectionItem->type == "objects" or $collectionItem->type == "multihref") and is_array($collectionItem->value) and count($collectionItem->value) > 0) {
                                                                             for ($i = 0; $i < count($collectionItem->value); $i++) {
                                                                                 if ($collectionItem->value[$i]["id"]) {
                                                                                     $collectionItem->value[$i]["id"] = $idMapping[$collectionItem->value[$i]["type"]][$collectionItem->value[$i]["id"]];
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     } else {
                                         if ($el->type == "localizedfields") {
                                             if (is_array($el->value)) {
                                                 foreach ($el->value as $localizedDataEl) {
                                                     if ($localizedDataEl->type == "image") {
                                                         $localizedDataEl->value = $idMapping["asset"][$localizedDataEl->value];
                                                     } else {
                                                         if ($localizedDataEl->type == "wysiwyg") {
                                                             $localizedDataEl->value = Pimcore_Tool_Text::replaceWysiwygTextRelationIds($idMapping, $localizedDataEl->value);
                                                         } else {
                                                             if ($localizedDataEl->type == "link" and $localizedDataEl->value["internalType"]) {
                                                                 $localizedDataEl->value["internal"] = $idMapping[$localizedDataEl->value["internalType"]][$localizedDataEl->value["internal"]];
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
 public function importAction()
 {
     $data = file_get_contents($_FILES["Filedata"]["tmp_name"]);
     $encoding = Pimcore_Tool_Text::detectEncoding($data);
     if ($encoding) {
         $data = iconv($encoding, "UTF-8", $data);
     }
     if (!is_dir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/")) {
         mkdir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/");
     }
     if (!is_dir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/import/")) {
         mkdir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/import/");
     }
     $importFile = PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/import/import_" . $this->_getParam("id");
     file_put_contents($importFile, $data);
     chmod($importFile, 0766);
     $this->_helper->json(array("success" => true));
 }
Пример #6
0
 /**
  * @param $ownerDocument
  * @param array $blockedTags
  */
 public function getCacheTags($ownerDocument, $blockedTags = array())
 {
     return Pimcore_Tool_Text::getCacheTagsOfWysiwygText($this->text, $blockedTags);
 }
Пример #7
0
 /**
  * IMPORTER
  */
 public function importUploadAction()
 {
     //copy($_FILES["Filedata"]["tmp_name"],PIMCORE_SYSTEM_TEMP_DIRECTORY."/import_".$this->_getParam("id"));
     $data = file_get_contents($_FILES["Filedata"]["tmp_name"]);
     $encoding = Pimcore_Tool_Text::detectEncoding($data);
     if ($encoding) {
         $data = iconv($encoding, "UTF-8", $data);
     }
     $importFile = PIMCORE_SYSTEM_TEMP_DIRECTORY . "/import_" . $this->_getParam("id");
     file_put_contents($importFile, $data);
     chmod($importFile, 0766);
     $importFileOriginal = PIMCORE_SYSTEM_TEMP_DIRECTORY . "/import_" . $this->_getParam("id") . "_original";
     file_put_contents($importFileOriginal, $data);
     chmod($importFileOriginal, 0766);
     $this->_helper->json(array("success" => true));
 }
Пример #8
0
 /**
  * @param Object_Concrete $object
  * @return string
  */
 public function preGetData($object)
 {
     $key = $this->getName();
     return Pimcore_Tool_Text::wysiwygText($object->{$key});
 }
 public function importAction()
 {
     $data = file_get_contents($_FILES["Filedata"]["tmp_name"]);
     $encoding = Pimcore_Tool_Text::detectEncoding($data);
     if ($encoding) {
         $data = iconv($encoding, "UTF-8", $data);
     }
     if (!is_dir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/")) {
         mkdir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/");
     }
     if (!is_dir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/import/")) {
         mkdir(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/import/");
     }
     $importFile = PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/import/import_" . $this->_getParam("id");
     file_put_contents($importFile, $data);
     chmod($importFile, 0766);
     $this->disableViewAutoRender();
     $res = array();
     $res["success"] = true;
     echo \Zend_Json::encode(array("success" => true, "msg" => $res["success"] ? "Success" : "Error"));
 }