static function add_content_translation() { $id = intval($_GET["object"]); $language = strval($_GET["language"]); $content = self::get_content($id); if (strval($language) == $content->get_language()) { return $content; } if ($content->get_parent()) { $translations = ORM::for_table('contents')->where_raw('(`id` = ? OR `parent` = ?)', array(intval($content->get_parent()), intval($content->get_parent())))->find_many(); } else { $translations = ORM::for_table('contents')->where('parent', intval($content->get_id()))->find_many(); } foreach ($translations as $translation) { if ($language == $translation->get("language")) { return self::get_content($translation->get("id")); } } $translated_content = MObject::create($content->get_type()); $translated_content->set_title($content->get_title() . " (" . substr($language, 0, 2) . ")"); $translated_content->set_license($content->get_license()); $translated_content->set_address($content->get_address()); $translated_content->set_lat($content->get_lat()); $translated_content->set_lng($content->get_lng()); $translated_content->set_text($content->get_text()); $content_metas = $content->get_meta(); if ($content->get_parent()) { $translated_content->set_parent(intval($content->get_parent())); } else { $translated_content->set_parent($id); } $translated_content->set_language($language); $content_categories = $content->get_categories(); $translated_content->add(); //var_dump($content_categories); //die(); foreach ($content_categories as $cat) { $category = new M_Category(intval($cat->get("id"))); $category->add_content($translated_content->get_id()); $category->update(); } foreach ($content_metas as $meta) { $translated_content->add_meta($meta->get("name"), $meta->get("value")); } return $translated_content; }
static function import_content($data) { $encdata = json_decode(base64_decode($data)); $config = $encdata->ini; $cat = $config->category; $TitleName = $config->Title; $AddressName = $config->Address; $ZipName = $config->ZIP; $CityName = $config->City; $category = new M_Category($cat); $category->set_title($cat); $category->add(); $desc_data = explode(",", $config->description); $t = 0; foreach ($encdata->xml as $place) { $content = MObject::create('place'); $TheTitle = $place->{$TitleName}; if (empty($TheTitle)) { $TheTitle = $place->{'@attributes'}->{$TitleName}; } if (empty($TheTitle)) { $TheTitle = 'Empty title ' . ++$t; } $content->set_title($TheTitle); $content->set_address($place->{$AddressName} . ", " . $place->{$ZipName} . ", " . $place->{$CityName}); $content->set_lat($place->lat); $content->set_lng($place->lng); $content->set_license(2); $text = ""; foreach ($desc_data as $desc) { if ("NL" == substr($desc, -2)) { $newline = "<br />"; } else { $newline = ", "; } $attr = array_search(strtolower(rtrim($desc, 'NL')), array_map('strtolower', (array) $config)); if (!empty($attr)) { $pre_text = $place->{$attr}; if (is_string($pre_text)) { $text .= rtrim($desc, 'NL') . ": " . $pre_text . $newline; } else { if (strtolower($desc) == 'desc_only') { $text .= $place->desc_only; } } } else { } } $content->set_text($text); $content->add(); $MetaArray = (array) $place; $MetaArray = array_filter($MetaArray); foreach ($config as $key => $value) { $key = trim($key); $value = trim($value); if (isset($MetaArray[$value]) && $value != 'desc_only') { $DescVal = trim($MetaArray[$value]); if (!empty($DescVal) && !empty($key)) { $content->add_meta($key, $DescVal); } } } $category->add_content($content->get_id()); } $category->update(); return true; }