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 '

'.$lang['srv_text_analysis_title1'].'

'; echo ''; // Header row echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; 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 ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } // Vsota znakov na strani echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } // Vsota znakov v anketi echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.$lang['srv_text_analysis_page'].''.$lang['srv_text_analysis_question'].''.$lang['srv_text_analysis_charCount'].''.$lang['srv_text_analysis_charCountBlank'].''.$lang['srv_text_analysis_charCountHTML'].''.$lang['srv_text_analysis_wordCount'].'
'.$grupa['naslov'].''.$spremenljivka['variable'].''.$spremenljivka['sum_char_count'].''.$spremenljivka['sum_char_count_noBlank'].''.$spremenljivka['sum_char_count_html'].''.$spremenljivka['sum_word_count'].'
'.$grupa['naslov'].''.$lang['srv_text_analysis_sum'].''.$grupa['sum_char_count'].''.$grupa['sum_char_count_noBlank'].''.$grupa['sum_char_count_html'].''.$grupa['sum_word_count'].'
'.$lang['srv_text_analysis_sumSurvey'].''.$data['sum_char_count'].''.$data['sum_char_count_noBlank'].''.$data['sum_char_count_html'].''.$data['sum_word_count'].'
'; // Tabela s podrobnostmi - stevilo znakov po posameznih vprasnajih in vrednostih echo '

'.$lang['srv_text_analysis_title2'].'

'; echo ''; // Header row echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; 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 ''; echo ''; echo ''; $naslov = strip_tags($spremenljivka['naslov']); $naslov = ($spremenljivka['char_count'] > 50) ? substr($naslov, 0, 47).'...' : $naslov; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // Loop po vrednostih v vprasanju foreach($spremenljivka['vrednosti'] as $vre_id => $vrednost){ echo ''; echo ''; echo ''; echo ''; $naslov = strip_tags($vrednost['naslov']); $naslov = ($vrednost['char_count'] > 50) ? substr($naslov, 0, 47).'...' : $naslov; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } } } echo '
'.$lang['srv_text_analysis_page'].''.$lang['srv_text_analysis_question'].''.$lang['srv_text_analysis_value'].''.$lang['srv_text_analysis_text'].''.$lang['srv_text_analysis_charCount'].''.$lang['srv_text_analysis_charCountBlank'].''.$lang['srv_text_analysis_charCountHTML'].''.$lang['srv_text_analysis_wordCount'].'
'.$grupa['naslov'].''.$spremenljivka['variable'].''.$naslov.''.$spremenljivka['char_count'].''.$spremenljivka['char_count_noBlank'].''.$spremenljivka['char_count_html'].''.$spremenljivka['word_count'].'
'.$grupa['naslov'].''.$spremenljivka['variable'].''.$vrednost['variable'].''.$naslov.''.$vrednost['char_count'].''.$vrednost['char_count_noBlank'].''.$vrednost['char_count_html'].''.$vrednost['word_count'].'
'; } // 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); } }