From 19985dbb8c0aa66dc4bf7905abc1148de909097d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Tue, 11 Jan 2022 12:35:47 +0100 Subject: prvi-commit --- utils/SurveySyncMergeImport.php | 145 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 utils/SurveySyncMergeImport.php (limited to 'utils/SurveySyncMergeImport.php') diff --git a/utils/SurveySyncMergeImport.php b/utils/SurveySyncMergeImport.php new file mode 100644 index 0000000..3ed8eb5 --- /dev/null +++ b/utils/SurveySyncMergeImport.php @@ -0,0 +1,145 @@ + 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'); +} + -- cgit v1.2.3