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
|
<?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' => array(),
'srv_data_checkgrid_active' => array(),
'srv_data_glasovanje' => array(),
'srv_data_grid' => array(),
'srv_data_grid_active' => array(),
'srv_data_rating' => array(),
'srv_data_text' => array(),
'srv_data_text_active' => array(),
'srv_data_textgrid' => array(),
'srv_data_textgrid_active' => array(),
'srv_data_upload' => array(),
'srv_data_vrednost' => array(),
'srv_data_vrednost_active' => array(),
'srv_user_grupa' => 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'] = array_merge($podatki['srv_data_checkgrid'], $kljuc['srv_data_checkgrid']);
$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'] = array_merge($podatki['srv_data_grid'], $kljuc['srv_data_grid']);
$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'] = array_merge($podatki['srv_data_text'], $kljuc['srv_data_text']);
$podatki['srv_data_text_active'] = array_merge($podatki['srv_data_text_active'], $kljuc['srv_data_text_active']);
$podatki['srv_data_textgrid'] = array_merge($podatki['srv_data_textgrid'], $kljuc['srv_data_textgrid']);
$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'] = array_merge($podatki['srv_data_vrednost'], $kljuc['srv_data_vrednost']);
$podatki['srv_data_vrednost_active'] = array_merge($podatki['srv_data_vrednost_active'], $kljuc['srv_data_vrednost_active']);
$podatki['srv_user_grupa'] = array_merge($podatki['srv_user_grupa'], $kljuc['srv_user_grupa']);
$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');
}
|