0){
$this->anketa = $anketa;
# polovimo vrsto tabel (aktivne / neaktivne)
SurveyInfo :: getInstance()->SurveyInit($this->anketa);
$this->db_table = SurveyInfo::getInstance()->getSurveyArchiveDBString();
}
else {
echo 'Invalid Survey ID!';
exit();
}
}
function displayTable(){
global $lang;
$data = $this->getData();
// Tabela z vsotami stevil znakov - po straneh in vprasanjih
echo '
';
// Header row
echo '';
echo ''.$lang['srv_text_analysis_page'].' | ';
echo ''.$lang['srv_text_analysis_question'].' | ';
echo ''.$lang['srv_text_analysis_charCount'].' | ';
echo ''.$lang['srv_text_analysis_charCountBlank'].' | ';
echo ''.$lang['srv_text_analysis_charCountHTML'].' | ';
echo ''.$lang['srv_text_analysis_wordCount'].' | ';
echo '
';
// Loop po straneh v anketi
foreach($data['grupe'] as $gru_id => $grupa){
// Loop po vprasanjih na strani
foreach($grupa['spremenljivke'] as $spr_id => $spremenljivka){
echo '';
echo ''.$grupa['naslov'].' | ';
echo ''.$spremenljivka['variable'].' | ';
echo ''.$spremenljivka['sum_char_count'].' | ';
echo ''.$spremenljivka['sum_char_count_noBlank'].' | ';
echo ''.$spremenljivka['sum_char_count_html'].' | ';
echo ''.$spremenljivka['sum_word_count'].' | ';
echo '
';
}
// Vsota znakov na strani
echo '';
echo ''.$grupa['naslov'].' | ';
echo ''.$lang['srv_text_analysis_sum'].' | ';
echo ''.$grupa['sum_char_count'].' | ';
echo ''.$grupa['sum_char_count_noBlank'].' | ';
echo ''.$grupa['sum_char_count_html'].' | ';
echo ''.$grupa['sum_word_count'].' | ';
echo '
';
}
// Vsota znakov v anketi
echo '';
echo ' | ';
echo ''.$lang['srv_text_analysis_sumSurvey'].' | ';
echo ''.$data['sum_char_count'].' | ';
echo ''.$data['sum_char_count_noBlank'].' | ';
echo ''.$data['sum_char_count_html'].' | ';
echo ''.$data['sum_word_count'].' | ';
echo '
';
echo '
';
// Tabela s podrobnostmi - stevilo znakov po posameznih vprasnajih in vrednostih
echo '';
// Header row
echo '';
echo ''.$lang['srv_text_analysis_page'].' | ';
echo ''.$lang['srv_text_analysis_question'].' | ';
echo ''.$lang['srv_text_analysis_value'].' | ';
echo ''.$lang['srv_text_analysis_text'].' | ';
echo ''.$lang['srv_text_analysis_charCount'].' | ';
echo ''.$lang['srv_text_analysis_charCountBlank'].' | ';
echo ''.$lang['srv_text_analysis_charCountHTML'].' | ';
echo ''.$lang['srv_text_analysis_wordCount'].' | ';
echo '
';
// Loop po straneh v anketi
foreach($data['grupe'] as $gru_id => $grupa){
// Loop po vprasanjih na strani
foreach($grupa['spremenljivke'] as $spr_id => $spremenljivka){
echo '';
echo ''.$grupa['naslov'].' | ';
echo ''.$spremenljivka['variable'].' | ';
echo ' | ';
$naslov = strip_tags($spremenljivka['naslov']);
$naslov = ($spremenljivka['char_count'] > 50) ? substr($naslov, 0, 47).'...' : $naslov;
echo ''.$naslov.' | ';
echo ''.$spremenljivka['char_count'].' | ';
echo ''.$spremenljivka['char_count_noBlank'].' | ';
echo ''.$spremenljivka['char_count_html'].' | ';
echo ''.$spremenljivka['word_count'].' | ';
echo '
';
// Loop po vrednostih v vprasanju
foreach($spremenljivka['vrednosti'] as $vre_id => $vrednost){
echo '';
echo ''.$grupa['naslov'].' | ';
echo ''.$spremenljivka['variable'].' | ';
echo ''.$vrednost['variable'].' | ';
$naslov = strip_tags($vrednost['naslov']);
$naslov = ($vrednost['char_count'] > 50) ? substr($naslov, 0, 47).'...' : $naslov;
echo ''.$naslov.' | ';
echo ''.$vrednost['char_count'].' | ';
echo ''.$vrednost['char_count_noBlank'].' | ';
echo ''.$vrednost['char_count_html'].' | ';
echo ''.$vrednost['word_count'].' | ';
echo '
';
}
}
}
echo '
';
}
// Preracunamo vse potrebne podatke
function getData(){
$data = array();
$data['sum_char_count'] = 0;
$data['sum_char_count_noBlank'] = 0;
$data['sum_char_count_html'] = 0;
$data['sum_word_count'] = 0;
// Loop cez vse vrednosti v vprasanjih na straneh v anketi
$sqlGrupa = sisplet_query("SELECT id, ank_id, naslov, vrstni_red FROM srv_grupa WHERE ank_id='$this->anketa' ORDER BY vrstni_red ASC");
while($rowGrupa = mysqli_fetch_array($sqlGrupa)){
$data['grupe'][$rowGrupa['id']]['naslov'] = $rowGrupa['naslov'];
$data['grupe'][$rowGrupa['id']]['sum_char_count'] = 0;
$data['grupe'][$rowGrupa['id']]['sum_char_count_noBlank'] = 0;
$data['grupe'][$rowGrupa['id']]['sum_char_count_html'] = 0;
$data['grupe'][$rowGrupa['id']]['sum_word_count'] = 0;
$sqlSpr = sisplet_query("SELECT id, naslov, variable, vrstni_red FROM srv_spremenljivka WHERE gru_id='".$rowGrupa['id']."' ORDER BY vrstni_red ASC");
while($rowSpr = mysqli_fetch_array($sqlSpr)){
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['variable'] = $rowSpr['variable'];
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['naslov'] = $rowSpr['naslov'];
$naslov = utf8_decode(html_entity_decode($rowSpr['naslov'], ENT_COMPAT, 'utf-8'));
// Stevilo znakov za naslov vprasanja
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['char_count'] = strlen(strip_tags($naslov));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['char_count_noBlank'] = strlen(strip_tags(str_replace(" ","",$naslov)));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['char_count_html'] = strlen($naslov);
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['word_count'] = count(explode(" ", strip_tags($naslov)));
// Stevilo vseh znakov v vprasanju (se sesteva z znaki v vrednostih)
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_char_count'] = strlen(strip_tags($naslov));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_char_count_noBlank'] = strlen(strip_tags(str_replace(" ","",$naslov)));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_char_count_html'] = strlen($naslov);
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_word_count'] = count(explode(" ", strip_tags($naslov)));
// Stevilo vseh znakov na strani (se sesteva z znaki v vrednostih)
$data['grupe'][$rowGrupa['id']]['sum_char_count'] += strlen(strip_tags($naslov));
$data['grupe'][$rowGrupa['id']]['sum_char_count_noBlank'] += strlen(strip_tags(str_replace(" ","",$naslov)));
$data['grupe'][$rowGrupa['id']]['sum_char_count_html'] += strlen($naslov);
$data['grupe'][$rowGrupa['id']]['sum_word_count'] += count(explode(" ", strip_tags($naslov)));
// Stevilo vseh znakov v anketi (se sesteva z znaki v vrednostih)
$data['sum_char_count'] += strlen(strip_tags($naslov));
$data['sum_char_count_noBlank'] += strlen(strip_tags(str_replace(" ","",$naslov)));
$data['sum_char_count_html'] += strlen($naslov);
$data['sum_word_count'] += count(explode(" ", strip_tags($naslov)));
$sqlVre = sisplet_query("SELECT id, naslov, variable, vrstni_red FROM srv_vrednost WHERE spr_id='".$rowSpr['id']."' ORDER BY vrstni_red ASC");
while($rowVre = mysqli_fetch_array($sqlVre)){
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['vrednosti'][$rowVre['id']]['variable'] = $rowVre['variable'];
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['vrednosti'][$rowVre['id']]['naslov'] = $rowVre['naslov'];
$naslov = utf8_decode(html_entity_decode($rowVre['naslov'], ENT_COMPAT, 'utf-8'));
// Stevilo znakov za vrednost
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['vrednosti'][$rowVre['id']]['char_count'] = strlen(strip_tags($naslov));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['vrednosti'][$rowVre['id']]['char_count_noBlank'] = strlen(strip_tags(str_replace(" ","",$naslov)));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['vrednosti'][$rowVre['id']]['char_count_html'] = strlen($naslov);
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['vrednosti'][$rowVre['id']]['word_count'] = count(explode(" ", strip_tags($naslov)));
// Stevilo vseh znakov v vprasanju (se sesteva z znaki v vrednostih)
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_char_count'] += strlen(strip_tags($naslov));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_char_count_noBlank'] += strlen(strip_tags(str_replace(" ","",$naslov)));
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_char_count_html'] += strlen($naslov);
$data['grupe'][$rowGrupa['id']]['spremenljivke'][$rowSpr['id']]['sum_word_count'] += count(explode(" ", strip_tags($naslov)));
// Stevilo vseh znakov na strani (se sesteva z znaki v vrednostih)
$data['grupe'][$rowGrupa['id']]['sum_char_count'] += strlen(strip_tags($naslov));
$data['grupe'][$rowGrupa['id']]['sum_char_count_noBlank'] += strlen(strip_tags(str_replace(" ","",$naslov)));
$data['grupe'][$rowGrupa['id']]['sum_char_count_html'] += strlen($naslov);
$data['grupe'][$rowGrupa['id']]['sum_word_count'] += count(explode(" ", strip_tags($naslov)));
// Stevilo vseh znakov v anketi (se sesteva z znaki v vrednostih)
$data['sum_char_count'] += strlen(strip_tags($naslov));
$data['sum_char_count_noBlank'] += strlen(strip_tags(str_replace(" ","",$naslov)));
$data['sum_char_count_html'] += strlen($naslov);
$data['sum_word_count'] += count(explode(" ", strip_tags($naslov)));
}
}
}
return $data;
}
function exportCSVTable($table=1){
global $lang;
$data = $this->getData();
$csvArray = array();
// Izpisemo prvo tabelo (z vsotami po vprasanjih in straneh)
if($table == 1){
// Header row
$csvRow = array();
$csvRow[] = $lang['srv_text_analysis_page'];
$csvRow[] = $lang['srv_text_analysis_question'];
$csvRow[] = $lang['srv_text_analysis_charCount'];
$csvRow[] = strip_tags($lang['srv_text_analysis_charCountBlank']);
$csvRow[] = strip_tags($lang['srv_text_analysis_charCountHTML']);
$csvRow[] = $lang['srv_text_analysis_wordCount'];
$csvArray[] = $csvRow;
// Loop po straneh v anketi
foreach($data['grupe'] as $gru_id => $grupa){
// Loop po vprasanjih na strani
foreach($grupa['spremenljivke'] as $spr_id => $spremenljivka){
$csvRow = array();
$csvRow[] = $grupa['naslov'];
$csvRow[] = $spremenljivka['variable'];
$csvRow[] = $spremenljivka['sum_char_count'];
$csvRow[] = $spremenljivka['sum_char_count_noBlank'];
$csvRow[] = $spremenljivka['sum_char_count_html'];
$csvRow[] = $spremenljivka['sum_word_count'];
$csvArray[] = $csvRow;
}
// Vsota znakov na strani
$csvRow = array();
$csvRow[] = $grupa['naslov'];
$csvRow[] = $lang['srv_text_analysis_sum'];
$csvRow[] = $grupa['sum_char_count'];
$csvRow[] = $grupa['sum_char_count_noBlank'];
$csvRow[] = $grupa['sum_char_count_html'];
$csvRow[] = $grupa['sum_word_count'];
$csvArray[] = $csvRow;
}
// Vsota znakov v anketi
$csvRow = array();
$csvRow[] = ' ';
$csvRow[] = $lang['srv_text_analysis_sumSurvey'];
$csvRow[] = $data['sum_char_count'];
$csvRow[] = $data['sum_char_count_noBlank'];
$csvRow[] = $data['sum_char_count_html'];
$csvRow[] = $data['sum_word_count'];
$csvArray[] = $csvRow;
}
// Izpisemo drugo tabelo (posamezno stevilo znakov po vprasanju in variabli)
else{
// Header row
$csvRow = array();
$csvRow[] = $lang['srv_text_analysis_page'];
$csvRow[] = $lang['srv_text_analysis_question'];
$csvRow[] = $lang['srv_text_analysis_value'];
$csvRow[] = $lang['srv_text_analysis_text'];
$csvRow[] = $lang['srv_text_analysis_charCount'];
$csvRow[] = strip_tags($lang['srv_text_analysis_charCountBlank']);
$csvRow[] = strip_tags($lang['srv_text_analysis_charCountHTML']);
$csvRow[] = $lang['srv_text_analysis_wordCount'];
$csvArray[] = $csvRow;
// Loop po straneh v anketi
foreach($data['grupe'] as $gru_id => $grupa){
// Loop po vprasanjih na strani
foreach($grupa['spremenljivke'] as $spr_id => $spremenljivka){
$csvRow = array();
$csvRow[] = $grupa['naslov'];
$csvRow[] = $spremenljivka['variable'];
$csvRow[] = ' ';
$naslov = strip_tags($spremenljivka['naslov']);
$naslov = ($spremenljivka['char_count'] > 50) ? substr($naslov, 0, 47).'...' : $naslov;
$csvRow[] = $naslov;
$csvRow[] = $spremenljivka['char_count'];
$csvRow[] = $spremenljivka['char_count_noBlank'];
$csvRow[] = $spremenljivka['char_count_html'];
$csvRow[] = $spremenljivka['word_count'];
$csvArray[] = $csvRow;
// Loop po vrednostih v vprasanju
foreach($spremenljivka['vrednosti'] as $vre_id => $vrednost){
$csvRow = array();
$csvRow[] = $grupa['naslov'];
$csvRow[] = $spremenljivka['variable'];
$csvRow[] = $vrednost['variable'];
$naslov = strip_tags($vrednost['naslov']);
$naslov = ($vrednost['char_count'] > 50) ? substr($naslov, 0, 47).'...' : $naslov;
$csvRow[] = $naslov;
$csvRow[] = $vrednost['char_count'];
$csvRow[] = $vrednost['char_count_noBlank'];
$csvRow[] = $vrednost['char_count_html'];
$csvRow[] = $vrednost['word_count'];
$csvArray[] = $csvRow;
}
}
}
}
// Izvozimo CSV
$fp = fopen('php://output', 'w');
header('Content-Type: application/csv charset=windows-1250');
header('Content-Disposition: attachement; filename="textAnalysis_'.$this->anketa.'.csv";');
foreach ($csvArray as $row) {
fputcsv($fp, $row, ';', ' ');
}
fclose($fp);
}
}