1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
<?php
// tekstovna vsebina
// V SETTINGS.PHP DODAJ SYNC_SERVER_PATH!!!!!
include_once ('../function.php');
include_once ('../admin/survey/definition.php');
include_once ('../vendor/autoload.php');
include_once ('../settings.php');
$struktura = array();
$podatki = array(
'srv_user' => array(),
'srv_data_checkgrid_archive1' => array(),
'srv_data_checkgrid_archive2' => array(),
'srv_data_checkgrid_active' => array(),
'srv_data_glasovanje' => array(),
'srv_data_grid_archive1' => array(),
'srv_data_grid_archive2' => array(),
'srv_data_grid_active' => array(),
'srv_data_rating' => array(),
'srv_data_text_archive1' => array(),
'srv_data_text_archive2' => array(),
'srv_data_text_active' => array(),
'srv_data_textgrid_archive1' => array(),
'srv_data_textgrid_archive2' => array(),
'srv_data_textgrid_active' => array(),
'srv_data_upload' => array(),
'srv_data_vrednost_archive1' => array(),
'srv_data_vrednost_archive2' => array(),
'srv_data_vrednost_active' => array(),
'srv_user_grupa_archive1' => array(),
'srv_user_grupa_archive2' => array(),
'srv_user_grupa_active' => array());
// You can use the desired folder to check and comment the others.
// foreach (glob("../downloads/*") as $path) { // lists all files in sub-folder called "downloads"
$obdelani = array();
$uvozeno = false;
if ($handle = opendir($sync_server_path)) {
foreach (glob($sync_server_path ."*.1ka") as $path) { // lists all files in folder called "test"
$datoteke[$path] = filectime($path);
} arsort($datoteke);
foreach ($datoteke as $file => $timestamp) {
$raw = file_get_contents($file);
$vsebina = unserialize($raw);
$num = 0;
foreach ($vsebina as $machine_ID => $kljuc) {
// imam ime in secret v machine_id.
$terminal = explode ("||~||", $machine_ID);
// preverim, če sem to anketo + ta računalnik že delal - če nisem, grem delati.
if (!in_array($terminal[0] ."-" .$kljuc['srv_anketa'][0]['id'], $obdelani)) {
array_push($obdelani, $terminal[0] ."-" .$kljuc['srv_anketa'][0]['id']);
// Porihtaj naslov tako da bo "Fieldwork: anketa datum URA";
// preverim če je secret OK...
$result = sisplet_query ("SELECT sid_server, id FROM srv_fieldwork WHERE secret='" .$terminal[1] ."' AND terminal_id='" .$terminal[0] ."' AND sid_terminal='" .$kljuc['srv_anketa'][0]['id'] ."' AND sid_server='" .$_GET['srv_id'] ."'");
if ($r = mysqli_fetch_row ($result)) {
if (count($struktura) == 0) {
$num = substr_count($raw, '"recnum"');
mysql_query ("UPDATE srv_fieldwork SET lastnum='$num' WHERE id='" .$r[1] ."'");
// $struktura['version'] = $kljuc['version'];
$struktura['version'] = time();
$struktura['srv_anketa'] = $kljuc['srv_anketa'];
// tole pa popravi (naslov)
$struktura['srv_anketa'][0]['naslov'] = "Fieldwork: " .$kljuc['srv_anketa'][0]['naslov'] .' ' .date('H:i:s');
$struktura['srv_alert'] = $kljuc['srv_alert'];
$struktura['srv_call_setting'] = $kljuc['srv_call_setting'];
$struktura['srv_dostop'] = $kljuc['srv_dostop'];
$struktura['srv_dostop_language'] = $kljuc['srv_dostop_language'];
$struktura['srv_language'] = $kljuc['srv_language'];
$struktura['srv_grupa'] = $kljuc['srv_grupa'];
$struktura['srv_spremenljivka'] = $kljuc['srv_spremenljivka'];
$struktura['srv_vrednost'] = $kljuc['srv_vrednost'];
$struktura['srv_grid'] = $kljuc['srv_grid'];
$struktura['srv_grid_multiple'] = $kljuc['srv_grid_multiple'];
$struktura['srv_language_spremenljivka'] = $kljuc['srv_language_spremenljivka'];
$struktura['srv_language_vrednost'] = $kljuc['srv_language_vrednost'];
$struktura['srv_language_grid'] = $kljuc['srv_language_grid'];
$struktura['srv_missing_values'] = $kljuc['srv_missing_values'];
$struktura['srv_calculation'] = $kljuc['srv_calculation'];
$struktura['srv_survey_misc'] = $kljuc['srv_survey_misc'];
$struktura['srv_glasovanje'] = $kljuc['srv_glasovanje'];
$struktura['srv_if'] = $kljuc['srv_if'];
$struktura['srv_condition'] = $kljuc['srv_condition'];
$struktura['srv_condition_grid'] = $kljuc['srv_condition_grid'];
$struktura['srv_condition_vre'] = $kljuc['srv_condition_vre'];
$struktura['srv_loop'] = $kljuc['srv_loop'];
$struktura['srv_loop_vre'] = $kljuc['srv_loop_vre'];
$struktura['srv_loop_data'] = $kljuc['srv_loop_data'];
$struktura['srv_branching'] = $kljuc['srv_branching'];
$struktura['data'] = true;
}
$podatki['srv_user'] = array_merge($podatki['srv_user'], $kljuc['srv_user']);
$podatki['srv_data_checkgrid_archive1'] = array_merge($podatki['srv_data_checkgrid_archive1'], $kljuc['srv_data_checkgrid_archive1']);
$podatki['srv_data_checkgrid_archive2'] = array_merge($podatki['srv_data_checkgrid_archive2'], $kljuc['srv_data_checkgrid_archive2']);
$podatki['srv_data_checkgrid_active'] = array_merge($podatki['srv_data_checkgrid_active'], $kljuc['srv_data_checkgrid_active']);
$podatki['srv_data_glasovanje'] = array_merge($podatki['srv_data_glasovanje'], $kljuc['srv_data_glasovanje']);
$podatki['srv_data_grid_archive1'] = array_merge($podatki['srv_data_grid_archive1'], $kljuc['srv_data_grid_archive1']);
$podatki['srv_data_grid_archive2'] = array_merge($podatki['srv_data_grid_archive2'], $kljuc['srv_data_grid_archive2']);
$podatki['srv_data_grid_active'] = array_merge($podatki['srv_data_grid_active'], $kljuc['srv_data_grid_active']);
$podatki['srv_data_rating'] = array_merge($podatki['srv_data_rating'], $kljuc['srv_data_rating']);
$podatki['srv_data_text_archive1'] = array_merge($podatki['srv_data_text_archive1'], $kljuc['srv_data_text_archive1']);
$podatki['srv_data_text_archive2'] = array_merge($podatki['srv_data_text_archive2'], $kljuc['srv_data_text_archive2']);
$podatki['srv_data_text_active'] = array_merge($podatki['srv_data_text_active'], $kljuc['srv_data_text_active']);
$podatki['srv_data_textgrid_archive1'] = array_merge($podatki['srv_data_textgrid_archive1'], $kljuc['srv_data_textgrid_archive1']);
$podatki['srv_data_textgrid_archive2'] = array_merge($podatki['srv_data_textgrid_archive2'], $kljuc['srv_data_textgrid_archive2']);
$podatki['srv_data_textgrid_active'] = array_merge($podatki['srv_data_textgrid_active'], $kljuc['srv_data_textgrid_active']);
$podatki['srv_data_upload'] = array_merge($podatki['srv_data_upload'], $kljuc['srv_data_upload']);
$podatki['srv_data_vrednost_archive1'] = array_merge($podatki['srv_data_vrednost_archive1'], $kljuc['srv_data_vrednost_archive1']);
$podatki['srv_data_vrednost_archive2'] = array_merge($podatki['srv_data_vrednost_archive2'], $kljuc['srv_data_vrednost_archive2']);
$podatki['srv_data_vrednost_active'] = array_merge($podatki['srv_data_vrednost_active'], $kljuc['srv_data_vrednost_active']);
$podatki['srv_user_grupa_archive1'] = array_merge($podatki['srv_user_grupa_archive1'], $kljuc['srv_user_grupa_archive1']);
$podatki['srv_user_grupa_archive2'] = array_merge($podatki['srv_user_grupa_archive2'], $kljuc['srv_user_grupa_archive2']);
$podatki['srv_user_grupa_active'] = array_merge($podatki['srv_user_grupa_active'], $kljuc['srv_user_grupa_active']);
$uvozeno = true;
}
}
}
}
}
if ($uvozeno == true) {
$skupno = array_merge ($struktura, $podatki);
SurveyCopy::setSrcSurvey(-1);
SurveyCopy::setSrcConectDb($connect_db);
SurveyCopy::setDestSite(0);
SurveyCopy::setSourceArray($skupno);
$new_srv_id = SurveyCopy::doCopy();
header ('location: ' .$site_url .'admin/survey/index.php?anketa=' .$_GET['srv_id'] .'&a=fieldwork&n=' .$new_srv_id);
}
else {
header ('location: ' .$site_url .'admin/survey/index.php?anketa=' .$_GET['srv_id'] .'&a=fieldwork&n=0');
}
|