298 lines
9.5 KiB
PHP
298 lines
9.5 KiB
PHP
<?php
|
|
/**
|
|
* Izvozimo CSV datoteko z anketami
|
|
*
|
|
* za vse paradata izvoze izvazamo iz tabel:
|
|
* srv_anketa
|
|
* srv_grupa
|
|
* srv_spremenljivka
|
|
* srv_grid
|
|
* srv_grid_multiple
|
|
* srv_vrednost
|
|
*
|
|
* srv_user
|
|
* srv_password
|
|
* srv_invitations_recipients
|
|
* srv_user_grupa
|
|
* srv_user_grupa_active
|
|
*
|
|
* srv_data_vrednost
|
|
* srv_data_vrednost_active
|
|
* srv_data_text
|
|
* srv_data_text_active
|
|
* srv_data_textgrid
|
|
* srv_data_textgrid_active
|
|
* srv_data_checkgrid
|
|
* srv_data_checkgrid_active
|
|
* srv_data_grid
|
|
* srv_data_grid_active
|
|
* srv_data_rating
|
|
*
|
|
*/
|
|
|
|
$handle = fopen($site_path."utils/ParadataExport/data/paradata_anketa.csv", "a");
|
|
|
|
$header = array(
|
|
'anketa_id',
|
|
'naslov',
|
|
'jezik',
|
|
'ustvarjena',
|
|
'st. strani',
|
|
'st. vprasanj',
|
|
'st. spremenljivk',
|
|
//'predvideno trajanje',
|
|
'st. mehkih opomnikov',
|
|
'st. trdih opomnikov',
|
|
'geslo',
|
|
'st. poslanih vabil',
|
|
'prvi_vnos',
|
|
'zadnji_vnos',
|
|
'VSI',
|
|
'status 6',
|
|
'status 5',
|
|
'status 6l',
|
|
'status 5l',
|
|
'status 4',
|
|
'status 3',
|
|
'status 2',
|
|
'status 1',
|
|
'status 0',
|
|
'status -1'
|
|
);
|
|
|
|
// Zapisemo header
|
|
fputcsv($handle, $header, ';');
|
|
|
|
// Izvoz za vse ankete med podanimi id-ji
|
|
/*$start = (isset($_GET['start']) && $_GET['start'] > 0) ? $_GET['start'] : '1';
|
|
$stop = (isset($_GET['stop']) && $_GET['stop'] > 0) ? $_GET['stop'] : '100';
|
|
$sql = sisplet_query("SELECT id, naslov, email FROM srv_anketa WHERE id BETWEEN '".$start."' AND '".$stop."'");*/
|
|
|
|
// Naknaden izvoz samo za specificne ankete
|
|
$sql = sisplet_query("SELECT id, naslov FROM srv_anketa WHERE id IN (".$survey_list_string.")");
|
|
|
|
if (!$sql) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
while($row = mysqli_fetch_array($sql)){
|
|
|
|
SurveyInfo :: getInstance()->SurveyInit($row['id']);
|
|
|
|
$data = array();
|
|
|
|
|
|
// ID
|
|
$data[] = $row['id'];
|
|
|
|
// NASLOV
|
|
$data[] = $row['naslov'];
|
|
|
|
// JEZIK
|
|
$data[] = SurveyInfo::getRespondentLanguage();
|
|
|
|
// DATUM USTVARJANJA
|
|
if (SurveyInfo::getSurveyInsertDate() && SurveyInfo::getSurveyInsertDate() != "00.00.0000")
|
|
$data[] = date('j.n.y',strtotime(SurveyInfo::getSurveyInsertDate()));
|
|
else
|
|
$data[] = '00.00.0000';
|
|
|
|
|
|
$pagesCount = 0;
|
|
$vprasanjeCount = 0;
|
|
$var_count = 0;
|
|
$hard_reminder = 0;
|
|
$soft_reminder = 0;
|
|
$sqlG = sisplet_query("SELECT id FROM srv_grupa WHERE ank_id='".$row['id']."'");
|
|
while($rowG = mysqli_fetch_array($sqlG)){
|
|
|
|
$pagesCount++;
|
|
|
|
$sqlS = sisplet_query("SELECT id, gru_id, tip, size, reminder FROM srv_spremenljivka WHERE gru_id='".$rowG['id']."'");
|
|
while($rowS = mysqli_fetch_array($sqlS)){
|
|
|
|
$vprasanjeCount++;
|
|
|
|
if($rowS['reminder'] == 1)
|
|
$soft_reminder++;
|
|
elseif($rowS['reminder'] == 2)
|
|
$hard_reminder++;
|
|
|
|
// STEVILO SPREMENLJIVK
|
|
switch($rowS['tip']){
|
|
case 1: // radio
|
|
case 3: // dropdown
|
|
$var_count++;
|
|
$sqlV = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id='".$rowS['id']."' AND other='1'");
|
|
if(mysqli_num_rows($sqlV) > 0)
|
|
$var_count++; // za text polje
|
|
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']."'");
|
|
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
|
|
}
|
|
}
|
|
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']."'");
|
|
//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++;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
// STEVILO STRANI
|
|
$data[] = $pagesCount;
|
|
|
|
// STEVILO VPRASANJ
|
|
$data[] = $vprasanjeCount;
|
|
|
|
// STEVILO SPREMENLJIVK
|
|
$data[] = $var_count;
|
|
|
|
|
|
// PREDVIDENO TRAJANJE
|
|
/*$sas = new SurveyAdminSettings($action=0, $anketa=$row['id']);
|
|
$dejanski_cas = ($sas->testiranje_cas(1) == null) ? '-' : $sas->testiranje_cas(1);
|
|
$data[] = $dejanski_cas;*/
|
|
|
|
// STEVILO MEHKIH OP.
|
|
$data[] = $soft_reminder;
|
|
|
|
// STEVILO TRDIH OP.
|
|
$data[] = $hard_reminder;
|
|
|
|
// OMEJEN DOSTOP (geslo)
|
|
$sqlp = sisplet_query("SELECT * FROM srv_password WHERE ank_id='".$row['id']."'");
|
|
if (mysqli_num_rows($sqlp) > 0)
|
|
$data[] = 'Da';
|
|
else
|
|
$data[] = 'Ne';
|
|
|
|
|
|
// ST. POSLANIH VABIL
|
|
$invitations = 0;
|
|
$sqlI = sisplet_query("SELECT count(id) FROM srv_invitations_recipients WHERE ank_id='".$row['id']."' AND sent='1'");
|
|
$rowI = mysqli_fetch_array($sqlI);
|
|
if($rowI['count(id)'] > 0)
|
|
$invitations = $rowI['count(id)'];
|
|
$data[] = $invitations;
|
|
|
|
|
|
|
|
// VNOSI - pvi / zadnji vnos
|
|
$prvi_vnos_date = SurveyInfo::getSurveyFirstEntryDate();
|
|
|
|
if ($prvi_vnos_date != null)
|
|
$data[] = date('j.n.y',strtotime($prvi_vnos_date));
|
|
else
|
|
$data[] = '00.00.0000';
|
|
|
|
$zadnji_vnos_date = SurveyInfo::getSurveyLastEntryDate();
|
|
if ($zadnji_vnos_date != null)
|
|
$data[] = date('j.n.y',strtotime($zadnji_vnos_date));
|
|
else
|
|
$data[] = '00.00.0000';
|
|
|
|
|
|
// VSI
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' ");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 6
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='6' AND lurker='0'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 5
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='5' AND lurker='0'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 6l
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='6' AND lurker='1'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 5l
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='5' AND lurker='1'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 4
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='4'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 3
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='3'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 2
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='2'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 1
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='1'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS 0
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='0'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
// STATUS -1
|
|
$qry_all_users = sisplet_query("SELECT count(u.id) AS user_count FROM srv_user AS u " . "WHERE u.ank_id = '".$row['id']."' AND preview = '0' AND deleted='0' AND last_status='-1'");
|
|
$row_all_users = mysqli_fetch_assoc($qry_all_users);
|
|
$allUserCount = $row_all_users['user_count']>0 ? $row_all_users['user_count'] : 0;
|
|
$data[] = $allUserCount;
|
|
|
|
|
|
// Zapisemo vrstico
|
|
fputcsv($handle, $data, ';');
|
|
}
|
|
|
|
// Zapremo csv
|
|
fclose($handle);
|
|
|
|
?>
|