110 lines
3.9 KiB
PHP
110 lines
3.9 KiB
PHP
<?php
|
|
|
|
// nov, poenoten nacin progress bara
|
|
if (isset($_GET['getProgress']) && $_GET['getProgress'] == 'true') {
|
|
|
|
$anketa = $_REQUEST['anketa'];
|
|
|
|
$return = array();
|
|
|
|
session_start();
|
|
|
|
if (isset($_SESSION['progressBar'][$anketa])) {
|
|
|
|
$return['status'] = $_SESSION['progressBar'][$anketa]['status'];
|
|
$return['total'] = $_SESSION['progressBar'][$anketa]['total'];
|
|
$return['current'] = $_SESSION['progressBar'][$anketa]['current'];
|
|
|
|
if ($_SESSION['progressBar'][$anketa]['status'] == 'end') {
|
|
unset($_SESSION['progressBar'][$anketa]);
|
|
}
|
|
|
|
} else {
|
|
|
|
$return['status'] = 'null';
|
|
|
|
}
|
|
|
|
session_commit();
|
|
|
|
echo json_encode($return);
|
|
|
|
// star nacin progresbara v podatkih in analizah
|
|
} else {
|
|
# izrisujemo progress bar z ajax-om
|
|
if (isset($_GET['ajaxTimer']) && $_GET['ajaxTimer'] == 'true') {
|
|
/*
|
|
$actions = array(
|
|
1=>'Inicializacija...',
|
|
2=>'Obdelujem datoteke s strukturo...',
|
|
3=>'Obdelujem datoteke s podatki...',
|
|
9=>'Končano...',
|
|
-1=>'Napaka...',
|
|
);
|
|
*/
|
|
session_start();
|
|
#time
|
|
$return['t'] = ($_SESSION['PMD']['start_time'] != null && (strtotime("now") - $_SESSION['PMD']['start_time']) > 0 )
|
|
? date('i:s', (strtotime("now") - $_SESSION['PMD']['start_time']))
|
|
: '00:00' ;
|
|
#id
|
|
$return['id'] = $_SESSION['PMD']['actID'];
|
|
# skupni procenti
|
|
$return['pa'] = ($_SESSION['PMD']['all'] == 0)
|
|
? number_format(100, 0, '', '')
|
|
: number_format((($_SESSION['PMD']['current'] / $_SESSION['PMD']['all']) * 100), 0, '', '');
|
|
# procenti headerja
|
|
if ($_SESSION['PMD']['actID'] == 2) {
|
|
$return['ph'] = ($_SESSION['PMD']['allHead'] == 0 || $_SESSION['PMD']['current'] >= $_SESSION['PMD']['allHead'])
|
|
? number_format(100, 0, '', '')
|
|
: number_format((($_SESSION['PMD']['current'] / $_SESSION['PMD']['allHead']) * 100), 0, '', '');
|
|
# trenutni zapis
|
|
$return['nr'] = $_SESSION['PMD']['nrRow'];
|
|
$return['cr'] = $_SESSION['PMD']['current'] .'/'. $_SESSION['PMD']['allHead'];
|
|
}
|
|
if ($_SESSION['PMD']['actID'] == 3) {
|
|
$curent_data = $_SESSION['PMD']['current']-$_SESSION['PMD']['allHead'] < 0 ? 0 : $_SESSION['PMD']['current']-$_SESSION['PMD']['allHead'];
|
|
# procenti data
|
|
$return['pd'] = ($_SESSION['PMD']['all'] == 0)
|
|
? number_format(100, 0, '', '')
|
|
: number_format((($_SESSION['PMD']['all'] > 0) ? ( $curent_data / $_SESSION['PMD']['all']) * 100 : 100), 0, '', '');
|
|
$return['cd'] = $curent_data .' / ' .$_SESSION['PMD']['all'];
|
|
}
|
|
# procent trenutnega zapisa
|
|
if ($_SESSION['PMD']['actID'] == 3) {
|
|
# prikazuejemo samo za status 3
|
|
$return['pr'] = number_format($_SESSION['PMD']['percentRow'], 0, '', ''); # procent trenutnega zapisa
|
|
$return['nr'] = $_SESSION['PMD']['nrRow']; # trenutni zapis
|
|
|
|
}
|
|
echo json_encode($return);
|
|
|
|
} else { # star način za podatke
|
|
|
|
define('EXPORT_FOLDER', 'tmp', true);
|
|
|
|
include($_SERVER['DOCUMENT_ROOT'].'/function.php');
|
|
include_once $_SERVER['DOCUMENT_ROOT'].'/admin/survey/definition.php';
|
|
|
|
$folder = $site_path . EXPORT_FOLDER.'/';
|
|
|
|
$anketa = $_POST['anketa'];
|
|
|
|
$_qry_all = sisplet_query('SELECT count(*) FROM srv_user AS u WHERE u.ank_id = \''.$anketa.'\'');
|
|
$_allCount = mysqli_fetch_row($_qry_all);
|
|
$allCount = $_allCount[0];
|
|
|
|
$str_qry_users = 'SELECT IF(UNIX_TIMESTAMP(MAX(time_edit)) = 0,UNIX_TIMESTAMP(MAX(time_insert)),UNIX_TIMESTAMP(MAX(time_edit))) AS DATE FROM srv_user WHERE ank_id = \''.$anketa.'\'';
|
|
$qry_users = sisplet_query($str_qry_users) or die(mysqli_error($GLOBALS['connect_db']));
|
|
if (mysqli_num_rows($qry_users)) {
|
|
$row_users = mysqli_fetch_row($qry_users);
|
|
$timestamp = $row_users[0];
|
|
}
|
|
$_dataFileName = $folder.'export_data_'.$anketa.'_'.$timestamp.'.dat';
|
|
|
|
#preberemo št vrstic v fajlu
|
|
$recCount = exec('wc -l '.$_dataFileName)+1;
|
|
echo '<div class="anl_red_ba body_anketa anl_ac"><br/>Obdelujemo zapis '.(int)$recCount.' od '.(int)$allCount.'!<br/><br/></div>';
|
|
}
|
|
}
|
|
?>
|