1KA_F2F/utils/ParadataExport/1ka_paradata_export_vprasanje.php

373 lines
8.2 KiB
PHP
Raw Normal View History

2020-08-14 13:36:36 +02:00
<?php
/**
* Izvozimo CSV datoteko z vprasanji
*/
$handle = fopen($site_path."utils/ParadataExport/data/paradata_vprasanje.csv", "a");
$header = array(
'vprasanje_id',
'stran_id',
'anketa_id',
'vrstni red',
'tip',
'postavitev',
'vidno',
'sistemsko',
'opomnik',
'razvrščcanje',
'št. spremenljivk',
'manjkajoce vrednosti',
'vrednost drugo'
);
// Zapisemo header
fputcsv($handle, $header, ';');
/*$start = (isset($_GET['start']) && $_GET['start'] > 0) ? $_GET['start'] : '1';
$stop = (isset($_GET['stop']) && $_GET['stop'] > 0) ? $_GET['stop'] : '100';
$sql = sisplet_query("SELECT * FROM srv_anketa WHERE id BETWEEN '".$start."' AND '".$stop."'");*/
// Naknaden izvoz samo za specificne ankete
$sql = sisplet_query("SELECT * FROM srv_anketa WHERE id IN (".$survey_list_string.")");
if (!$sql) { echo mysqli_error($GLOBALS['connect_db']); die(); }
while($row = mysqli_fetch_array($sql)){
$sqlG = sisplet_query("SELECT id FROM srv_grupa WHERE ank_id='".$row['id']."'");
while($rowG = mysqli_fetch_array($sqlG)){
$sqlS = sisplet_query("SELECT * FROM srv_spremenljivka WHERE gru_id='".$rowG['id']."'");
while($rowS = mysqli_fetch_array($sqlS)){
/* NAJPREJ DOLOCIMO tip, podtip, stevilo variabel, ali so missingi
* radio -> tip = 1
* checkbox -> tip = 2
* select -> tip = 3
* text -> tip = 4 // ni vec v uporabi
* besedilo* -> tip = 21
* label -> tip = 5
* multigrid -> tip = 6
* multicheckbox -> tip = 16
* multitext -> tip = 19
* multinumber -> tip = 20
* number -> tip = 7
* compute -> tip = 22 // samo v naprednejših anketah (ifi ali test anketa)
* datum -> tip = 8
* ranking -> tip = 17
* vsota -> tip = 18
* grid - multiple -> tip = 24
* iz knjiznice -> tip = 23 // podtip nam pove za tip vprasanja, ki ga poiscemo glede na variablo
* SN-imena -> tip = 9*/
switch($rowS['tip']){
case 1:
$tip = 'Radio';
if($rowS['orientation'] == 0)
$postavitev = 'Vodoravno ob vprasanju';
elseif($rowS['orientation'] == 2)
$postavitev = 'Vodoravno pod vprasanjem';
elseif($rowS['orientation'] == 6)
$postavitev = 'Select box';
else
$postavitev = 'Navpicno';
break;
case 2:
$tip = 'Checkbox';
if($rowS['orientation'] == 0)
$postavitev = 'Vodoravno ob vprasanju';
elseif($rowS['orientation'] == 2)
$postavitev = 'Vodoravno pod vprasanjem';
else
$postavitev = 'Navpicno';
break;
case 3:
$tip = 'Roleta';
$postavitev = 'Navadna';
break;
case 4:
$tip = 'Besedilo';
$postavitev = 'Navadna';
break;
case 5:
$tip = 'Nagovor';
$postavitev = 'Navadna';
break;
case 6:
$tip = 'Tabela en odgovor';
if($row['enota'] == 1)
$postavitev = 'Diferencial';
elseif($row['enota'] == 2)
$postavitev = 'Roleta';
elseif($row['enota'] == 3)
$postavitev = 'Dvojna tabela';
else
$postavitev = 'Navadna';
break;
case 7:
$tip = 'Število';
if($row['ranking_k'] == 1)
$postavitev = 'Drsnik';
else
$postavitev = 'Navadna';
break;
case 8:
$tip = 'Datum';
$postavitev = 'Navadna';
break;
case 9:
$tip = 'Generator imen';
if($row['design'] == 1)
$postavitev = 'Fiksno stevilo polj';
elseif($row['design'] == 2)
$postavitev = '1 tekstovno polje';
elseif($row['design'] == 3)
$postavitev = 'Vnos stevila polj';
else
$postavitev = 'Navadna';
break;
case 16:
$tip = 'Tabela vec odgovorov';
if($row['enota'] == 1)
$postavitev = 'Diferencial';
elseif($row['enota'] == 2)
$postavitev = 'Roleta';
elseif($row['enota'] == 3)
$postavitev = 'Dvojna tabela';
else
$postavitev = 'Navadna';
break;
case 17:
$tip = 'Razvrščanje';
if($row['design'] == 1)
$postavitev = 'Ostevilcevanje';
if($row['design'] == 2)
$postavitev = 'Premikanje';
else
$postavitev = 'Prestavljanje';
break;
case 18:
$tip = 'Vsota';
$postavitev = 'Navadna';
break;
case 19:
$tip = 'Tabela besedilo';
$postavitev = 'Navadna';
break;
case 20:
$tip = 'Tabela stevilo';
if($row['ranking_k'] == 1)
$postavitev = 'Drsnik';
else
$postavitev = 'Navadna';
break;
case 21:
$tip = 'Besedilo';
if($row['orientation'] == 0)
$postavitev = 'Vodoravno ob vprasanju';
else
$postavitev = 'Vodoravno pod vprasanjem';
break;
case 22:
$tip = 'Kalkulacija';
$postavitev = 'Navadna';
break;
case 23:
$tip = 'Iz knjiznice';
$postavitev = 'Navadna';
break;
case 24:
$tip = 'Kombinirana tabela';
$postavitev = 'Navadna';
break;
default:
$tip = 'Radio';
$postavitev = 'Navadna';
}
$data = array();
// ID
$data[] = $rowS['id'];
// ID GRUPE
$data[] = $rowG['id'];
// ID ANKETE
$data[] = $row['id'];
// VRSTNI RED
$data[] = $rowS['vrstni_red'];
// TIP
$data[] = $tip;
// POSTAVITEV
$data[] = $postavitev;
// VIDNOST
$data[] = $rowS['visible'];
// SISTEMSKO
$data[] = $rowS['sistem'];
// OPOMNIK
if($rowS['reminder'] == 1)
$reminder = 'Mehko';
elseif($rowS['reminder'] == 2)
$reminder = 'Trdo';
else
$reminder = 'Ne';
$data[] = $reminder;
// RAZVRŠČANJE
if($rowS['random'] == 1)
$razvrscanje = 'Nakljucno';
elseif($rowS['random'] == 2)
$razvrscanje = 'Narascajoce';
elseif($rowS['random'] == 3)
$razvrscanje = 'Padajoce';
else
$razvrscanje = 'Fiksno';
$data[] = $razvrscanje;
$var_count = 0;
$other = 0;
$missing = 0;
// STEVILO SPREMENLJIVK
switch($rowS['tip']){
case 1: // radio
case 3: // dropdown
$var_count++;
$sqlV = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id='".$rowS['id']."' AND other!=0");
while ( $rowV = mysqli_fetch_array($sqlV) ) {
if ($rowV['other'] == 1){
$var_count++; // za text polje
$other = 1;
}
elseif($rowV['other'] != 0){
$missing = 1;
}
}
break;
case 2: // checkbox
case 6: // multigrid
case 18: // vsota
case 17: // ranking
case 21: // text*
$sqlV = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id='".$rowS['id']."'");
if($sqlV != ''){
while ( $rowV = mysqli_fetch_array($sqlV) ) {
$var_count++; // za vsako variablo
if ($rowV['other'] == 1) {
$var_count++; // za text polje (polj edrugo še ima tekstovni vnos
$other = 1;
}
elseif($rowV['other'] != 0){
$missing = 1;
}
}
}
break;
case 4: // text
case 8: // datum
case 7: // number
case 22:// compute
$var_count++;
if ( $rowS['tip'] == 7 && $rowS['size'] != 1 ) {
$var_count++;
}
break;
case 16: // multicheckbox
case 19: // multitext
case 20: // multinumber
$var_count++; // za sam header
$sqlV = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id='".$rowS['id']."'");
if($sqlV != ''){
//gridi s katerimi sestavljamo header (vrstica_grid)
while ( $rowV = mysqli_fetch_array($sqlV) ) {
//loop cez gride znotraj ene vrstice - ponovimo za vsako vrstico
$sqlGrid = sisplet_query("SELECT id FROM srv_grid WHERE spr_id='".$rowS['id']."'");
while ( $rowGrid = mysqli_fetch_array($sqlGrid) ) {
$var_count++;
}
if ($rowV['other'] == 1) {
$var_count++;
$other = 1;
}
elseif($rowV['other'] != 0){
$missing = 1;
}
}
}
break;
}
$data[] = $var_count;
// IMA MANJKAJOCE VREDNOSTI
$data[] = $missing;
// IMA OTHER VREDNOST
$data[] = $other;
// Zapisemo vrstico
fputcsv($handle, $data, ';');
}
}
}
// Zapremo csv
fclose($handle);
?>