Commit 5fb56c50 authored by Simonas's avatar Simonas

Merge branch 'dev'

parents 8cf7ed33 09a7a788
<?php
class importInitData {
protected $langs = ['lt', 'en', 'ru', 'de'];
protected $initTerms = [
'city' => [
2 => "Vilnius",
3 => "Kaunas",
4 => "Klaipėda",
5 => "Šiauliai",
6 => "Panevėžys",
7 => "Vokietija",
8 => "Akmenė",
9 => "Alytus",
10 => "Anykščiai",
11 => "Birštonas",
12 => "Biržai",
13 => "Druskininkai",
14 => "Elektrėnai",
15 => "Ignalina",
16 => "Jonava",
17 => "Joniškis",
18 => "Jurbarkas",
19 => "Kaišiadorys",
20 => "Kalvarija",
21 => "Kazlų Rūda",
22 => "Kėdainiai",
23 => "Kelmė",
24 => "Kretinga",
25 => "Kupiškis",
26 => "Lazdijai",
27 => "Marijampolė",
28 => "Mažeikiai",
29 => "Molėtai",
30 => "Neringa",
31 => "Pagėgiai",
32 => "Pakruojis",
33 => "Palanga",
34 => "Pasvalys",
35 => "Plungė",
36 => "Prienai",
37 => "Radviliškis",
38 => "Raseiniai",
39 => "Rietavas",
40 => "Rokiškis",
41 => "Skuodas",
42 => "Šakiai",
43 => "Šalčininkai",
44 => "Šilalė",
45 => "Šilutė",
46 => "Širvintos",
47 => "Švenčionys",
48 => "Tauragė",
49 => "Telšiai",
50 => "Trakai",
51 => "Ukmergė",
52 => "Utena",
53 => "Varėna",
54 => "Vilkaviškis",
55 => "Visaginas",
56 => "Gargždai",
57 => "Kuršėnai",
58 => "Lentvaris",
59 => "Naujoji Akmenė",
60 => "Vievis",
61 => "Zarasai",
62 => "Ariogala",
63 => "Baisiogala",
64 => "Dubingiai",
65 => "Garliava",
66 => "Grigiškės",
67 => "Karmėlava",
68 => "Kernavė",
69 => "Kybartai",
70 => "Krekenava",
71 => "Maišiagala ",
72 => "Nemenčinė",
73 => "Nemėžis",
74 => "Nida",
75 => "Pabradė",
76 => "Raudondvaris",
77 => "Riešė",
78 => "Rudamina",
79 => "Rumšiškės",
80 => "Švenčionėliai",
81 => "Trakų Vokė",
82 => "Žiežmariai",
83 => "Šventoji",
84 => "Nyderlandai",
85 => "Islandija"
]
];
protected $initPosts;
public function import()
{
foreach ($this->initTerms as $key => $data) {
foreach ($data as $term_id => $term_value) {
foreach ($this->langs as $lang) {
$slug = implode('-', [$key, $term_id, $lang]);
$data = [
'slug' => $slug,
'name' => $term_value
];
print_r($data);
$this->getTerm($key, $data, $lang);
}
}
}
}
/**
* Find and return taxonomy id, if not exist, create it
*
* @param string $key Taxonomy key name
* @param $data
* @param string $lang Taxonomy language code
*
* @return int Taxonomy id
*/
private function getTerm($key, $data, $lang)
{
$term = pods($key, $data['slug']);
if (!$term->exists()) {
try {
$termId = pods($key)->add($data);
} catch (Exception $e) {
print_r("Error while creating taxonomies ($key => $data[slug]). Error: $e->getMessage()<br>");
}
} else {
try {
$termId = $term->save($data);
} catch (Exception $e) {
print_r("Error while updating taxonomies ($key => $data[slug]). Error: $e->getMessage()<br>");
}
}
if (empty($termId)) {
return false;
}
$this->setTermLang($termId, $lang);
return $termId;
}
/**
* Set language param for given taxonomy, using Polylang library
*
* @param $termId
* @param $lang
*/
private function setTermLang($termId, $lang)
{
try {
PLL()->model->term->set_language($termId, $lang);
print_r("Set language code '$lang' for taxonomy (id: $termId). <br>");
} catch (Exception $e) {
print_r("Error while setting language code for taxonomy (id: $termId), error: $e->getMessage().<br>");
}
}
}
......@@ -11,6 +11,8 @@ set_time_limit(300);
require_once 'JsonDataCollector.php';
// Data importer: imports data to WP posts
require_once 'JobsImporter.php';
// Initial data importer
require_once 'importInitData.php';
if (function_exists('importer_admin_menu')) {
......@@ -83,10 +85,20 @@ function do_import()
// Posts (via Pods framework) creator
(new JobsImporter($ads))->import();
}
} else {
print_r("<br>There is nothing more to do.");
}
if (isset($_GET['init'])) {
print_r("<p><h3>Importing initial data:</h3>");
(new importInitData())->import();
print_r("</p>");
}
echo "</pre>";
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment