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; }
/** * @return string */ public function getTitle() { return Pimcore_Tool_Text::removeLineBreaks($this->title); }
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; } }
/** * @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)); }
/** * @param $ownerDocument * @param array $blockedTags */ public function getCacheTags($ownerDocument, $blockedTags = array()) { return Pimcore_Tool_Text::getCacheTagsOfWysiwygText($this->text, $blockedTags); }
/** * 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)); }
/** * @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")); }