Prilagoditev za F2F, ostalo:
Dopolnjena opomba k nastavitvi kodne tabele za SQL. De-1KAizacija: Ukinjenih nekaj info@1ka.si emailov, odstranjenih nekaj testnih petrovih nastavitev. Tudi lastna instalacija ima pravico do obvestil o grdem početju (phishing ipd). GDPR na 1KA pošljemo samo, če NI lastna instalacija. Dopolnitve za fieldwork delo: - 1ka data izvoz - grupa glede na kodo in ne le kuki Tako lahko anketar nadaljuje z anketiranjem istega respondenta z vnosom iste kode. Prej se je grupa nastavljala le glede na kuki, kar je bilo neuporabno za fieldwork. - skok na isto, ne naslednjo stran na koncu PREJ: izpolnil si 1, 2, 3 in zaprl na 3. strani. 3. stran se ni shranila, ker nisi dal NEXT. NAslednjič ko si odprl isti link, ki nadaljeval na *naslednji* strani (4.) Tako si imel podatke za 1.; 2.; 4.,... stran. ZDAJ: izpolniš 1, 2, 3, zapreš. 3. stran se seveda ni shranila, ker si zaprl. Ko ponovno odpreš anketo, te vrže na ISTO ZADNJO stran - torej tretjo. - možen lokalni dump podatkov iz crontaba (zaščiteno s kodo) - settings.php ima dodano nastavitev kode za dump podatkov. Tega ni smiselno dati v nastavitve, ker se mora poklicati iz cron joba na SERVERJU, tako da mora itak štaufat admin, ki pripravljal laptop. Skripte za terensko združevanje so ločen modul in jih bi porinil v ločenem patchu. POZOR, preveriti je treba še BodyController (ali je bil ugly hack za narobe nastavljeno anketo, ali je bilo kaj drugega). Avtomatsko je namreč disablalo popravljanje ankete anketarjem!
This commit is contained in:
parent
3e99fccc94
commit
79fc5b7b02
1
.gitignore
vendored
1
.gitignore
vendored
@ -52,3 +52,4 @@ docker
|
||||
main/survey/skins/1045_test.css
|
||||
|
||||
/d
|
||||
/nbproject
|
||||
|
@ -67,6 +67,7 @@ define("A_IZVOZI", "izvozi");
|
||||
define("M_IZVOZI_EXCEL", "excel");
|
||||
define("M_IZVOZI_SPSS", "spss");
|
||||
define("M_IZVOZI_txt", "txt");
|
||||
define("M_IZVOZI_1ka", "1ka");
|
||||
|
||||
define("A_REPORT_VPRASALNIK_PDF", "vprasalnik_pdf");
|
||||
define("A_REPORT_VPRASALNIK_RTF", "vprasalnik_rtf");
|
||||
@ -3119,6 +3120,12 @@ class SurveyAdmin
|
||||
echo '<a href="index.php?anketa=' . $this->anketa . '&a=' . A_COLLECT_DATA_EXPORT . '&m=' . M_EXPORT_TXT . '" title="' . $lang['srv_lnk_txt'] . '"><span>' . $lang['srv_lnk_txt'] . '</span></a></li> ';
|
||||
|
||||
echo '</ul>';
|
||||
|
||||
# 1KA export
|
||||
echo '<li ' . ($_GET['m'] == M_EXPORT_1KA ? ' class="highlightLineTab"' : ' class="nonhighlight"') . '>';
|
||||
echo '<a href="index.php?anketa=' . $this->anketa . '&a=' . A_COLLECT_DATA_EXPORT . '&m=' . M_EXPORT_1KA . '" title="' . $lang['srv_lnk_1ka'] . '"><span>' . $lang['srv_lnk_1ka'] . '</span></a></li> ';
|
||||
|
||||
echo '</ul>';
|
||||
}
|
||||
|
||||
function showcalculationsLinks(){
|
||||
@ -3355,7 +3362,7 @@ class SurveyAdmin
|
||||
$user_package = $userAccess->getPackage(); // paket, ki ga ima uporabnik (1, 2 , 3)
|
||||
|
||||
$dostop_styling = "";
|
||||
if ($user_package != "")
|
||||
if ($user_package != "-1" && $user_package != "")
|
||||
$dostop_styling = "dostop_".$user_package."ka";
|
||||
|
||||
echo '<span class="menu_left-title '.$dostop_styling.'">' . $lang['srv_moduli'] . '</span>';
|
||||
@ -4481,6 +4488,7 @@ class SurveyAdmin
|
||||
echo '<a href="index.php?anketa=' . $this->anketa . '&a=export&m=spss" class="srv_ico '.(!$userAccess->checkUserAccess('data_export') ? 'user_access_locked' : '').'" user-access="data_export" title="' . $lang['srv_export_spss'] . '"><span class="hover_export_icon"><span class="basic-icon spss very_large"></span></span>' . $lang['srv_export_hover_spss'] . '</a>';
|
||||
echo '<a href="index.php?anketa=' . $this->anketa . '&a=export&m=excel_xls" class="srv_ico '.(!$userAccess->checkUserAccess('data_export') ? 'user_access_locked' : '').'" user-access="data_export" title="' . $lang['srv_export_excel'] . '"><span class="hover_export_icon"><span class="faicon xls black very_large"></span></span>' . $lang['srv_export_hover_xls'] . '</a>';
|
||||
echo '<a href="index.php?anketa=' . $this->anketa . '&a=export&m=txt" class="srv_ico '.(!$userAccess->checkUserAccess('data_export') ? 'user_access_locked' : '').'" user-access="data_export" title="' . $lang['srv_export_txt'] . '"><span class="hover_export_icon"><span class="faicon text_file"></span></span>' . $lang['srv_export_hover_txt'] . '</a>';
|
||||
echo '<a href="index.php?anketa=' . $this->anketa . '&a=export&m=1ka" class="srv_ico '.(!$userAccess->checkUserAccess('data_export') ? 'user_access_locked' : '').'" user-access="data_export" title="' . $lang['srv_export_1ka'] . '"><span class="hover_export_icon"><span class="faicon text_file"></span></span>' . $lang['srv_export_hover_1ka'] . '</a>';
|
||||
|
||||
// poseben excel izvoz za mfdps
|
||||
if(SurveyInfo::getInstance()->checkSurveyModule('mfdps')){
|
||||
|
@ -4459,6 +4459,8 @@ class SurveyAdminSettings {
|
||||
echo '<form id="export_excel_xls_form" target="_blank" action="ajax.php?t=export&anketa='.$this->anketa.'&a=doexport&m=excel_xls" method="POST">';
|
||||
} else if($_GET['m'] == 'txt') {
|
||||
echo '<form id="export_txt_form" target="_blank" action="ajax.php?t=export&anketa='.$this->anketa.'&a=doexport&m=txt" method="POST">';
|
||||
} else if($_GET['m'] == '1ka') {
|
||||
echo '<form id="export_1ka_form" target="_blank" action="ajax.php?t=export&anketa='.$this->anketa.'&a=doexport&m=1ka" method="POST">';
|
||||
} else if($_GET['m'] == 'spss') {
|
||||
echo '<form id="export_spss_form" target="_blank" action="ajax.php?t=export&anketa='.$this->anketa.'&a=doexport&m=spss" method="POST">';
|
||||
} else if($_GET['m'] == 'sav') {
|
||||
@ -4625,6 +4627,17 @@ class SurveyAdminSettings {
|
||||
|
||||
echo '</fieldset>';
|
||||
}
|
||||
elseif ($_GET['m'] == M_EXPORT_1KA) {
|
||||
|
||||
echo '<fieldset><legend>'.$lang['srv_lnk_1ka'].'</legend>';
|
||||
echo $lang['srv_izvoz_1ka_note'];
|
||||
echo '<div class="button_holder intext">';
|
||||
echo '<button class="medium blue" onclick="do1KAExport(); return false;">'.$lang['srv_izvoz_1ka_file'].'</button>';
|
||||
echo '</div>';
|
||||
|
||||
echo '</fieldset>';
|
||||
}
|
||||
|
||||
elseif ($_GET['m'] == 'export_PDF') {
|
||||
|
||||
$pageBreak = isset($_GET['pageBreak']) ? $_GET['pageBreak'] : 0;
|
||||
|
@ -57,9 +57,42 @@ $_SESSION['langX'] = $site_url .'lang/'.$lang_admin.'.php';
|
||||
$result = sisplet_query ("SELECT value FROM misc WHERE what='SurveyDostop'");
|
||||
list ($SurveyDostop) = mysqli_fetch_row ($result);
|
||||
|
||||
global $data_export_ajax_access;
|
||||
|
||||
if ( (( ($admin_type <= $SurveyDostop && $SurveyDostop<3) || ($SurveyDostop==3) ) && ($admin_type>=0)) || $_GET['a']=='comment_manage' ) {
|
||||
// ok, bo slo naprej...
|
||||
}
|
||||
|
||||
/* poseben primer za izvažanje na anketarskih laptopih (klic z wget)
|
||||
* če imaš v settings.php definirano TO anketo in posebno kodo ter dostopaš iz lokalnega IP
|
||||
* (server = klient), potem dovoli izvažanje z vnaprej definiranim userjem.
|
||||
*
|
||||
* To se izvozi v next/owncloud direktorij, zašifrira, sinhronizira na pravi server - kjer se dešifrira in merga,
|
||||
* da se na koncu skonvertira v SPSS SAV.
|
||||
*/
|
||||
else if (isset ($_REQUEST['t']) && ($_REQUEST['t'] == 'export' || $_REQUEST['a'] == 'data') && // gre za export
|
||||
isset ($_REQUEST['anketa']) && isset($data_export_ajax_access[$_REQUEST['anketa']]) && // to anketo imamo v special dostopu
|
||||
isset ($_REQUEST['secret']) && $data_export_ajax_access[$_REQUEST['anketa']][1] == $_REQUEST['secret'] && // koda je enaka, pravilna
|
||||
($_SERVER['SERVER_ADDR'] == $_SERVER['REMOTE_ADDR'] || $_SERVER['REMOTE_ADDR']=='127.0.0.1'))
|
||||
{
|
||||
$global_user_id = $data_export_ajax_access[$_REQUEST['anketa']][0];
|
||||
$admin_type = 0;
|
||||
|
||||
|
||||
Common::deletePreviewData($anketa);
|
||||
// naj še fizično izbriše z diska!!!
|
||||
|
||||
$SDF = SurveyDataFile::get_instance();
|
||||
$SDF->init($anketa);
|
||||
$SDF->prepareFiles();
|
||||
|
||||
$SDS = new SurveyDataDisplay($anketa);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
header ('location: ' .$site_url .'admin/survey/index.php');
|
||||
die();
|
||||
|
@ -94,19 +94,13 @@ function executePOST(){
|
||||
//$params .= '&ank_id='.$ank_id; // ostali parametri potrebni za klic funkcije (id ankete, vprašanja...)
|
||||
|
||||
// POST data
|
||||
// primer, sestavi po svoje.
|
||||
$post_data = array(
|
||||
"email" => "peter@1ka.si",
|
||||
"firstname" => "Peter",
|
||||
"lastname" => "Hrvatin"
|
||||
"email" => "...",
|
||||
"firstname" => "...",
|
||||
"lastname" => "..."
|
||||
);
|
||||
|
||||
/*$post_data = array(
|
||||
"email" => "BRATISLAVA.LAMAC@PLANEOELEKTRO.SK",
|
||||
"firstname" => "MONIKA",
|
||||
"lastname" => "ŽIAKOVÁ",
|
||||
"expired" => "7",
|
||||
"param_string" => "rekid=5406729&dnid=10352449&brand=MORA&ser=Žiak Pavel Žiak - GOREMO (Víglaš)&serenota=Pavel Žiak - GOREMO&sercenter=SC Slovakia&drzava=Slovakia"
|
||||
);*/
|
||||
|
||||
$post_data = array(
|
||||
"naslov_vprasalnika" => "naslovovoovvo",
|
||||
|
@ -1874,6 +1874,7 @@ class GDPR{
|
||||
$MA = new MailAdapter();
|
||||
$MA->addRecipients($survey_data['author_email']);
|
||||
|
||||
// tole ni ok, a se da v modulu nastaviti kako spremenljivko?
|
||||
if(Common::checkModule('gorenje')){
|
||||
//$MA->addRecipients('dusan.rutnik@gorenje.com');
|
||||
$MA->addRecipients('gdpr@gorenje.com');
|
||||
@ -1881,10 +1882,12 @@ class GDPR{
|
||||
elseif(AppSettings::getInstance()->getSetting('gdpr_admin_email') !== false){
|
||||
$MA->addRecipients($gdpr_admin_email);
|
||||
}
|
||||
else{
|
||||
// šele če pri instalaciji ni nič nastavljeno in ni lastna instalacija, gre na 1ka.
|
||||
// tale gmail bo treba ukiniti prej ali slej (GDPR se pošilja na gmail, WTF?!)
|
||||
elseif (!isLastnaInstalacija()) {
|
||||
$MA->addRecipients('help@1ka.si');
|
||||
$MA->addRecipients('enklikanketa@gmail.com');
|
||||
}
|
||||
}
|
||||
|
||||
$resultX = $MA->sendMail($content, $subject);
|
||||
}
|
||||
|
@ -217,10 +217,6 @@ class SurveyCheck {
|
||||
private function sendAlert($alert_type, $count=0){
|
||||
global $site_url;
|
||||
|
||||
// Alerta ne posljemo na lastnih instalacijah
|
||||
if(isLastnaInstalacija())
|
||||
return;
|
||||
|
||||
// Dobimo hash ankete
|
||||
$anketa_hash = SurveyInfo::getInstance()->getSurveyColumn('hash');
|
||||
|
||||
@ -260,10 +256,19 @@ class SurveyCheck {
|
||||
// Dodamo se link do predogleda
|
||||
$content .= '<br><br>Predogled ankete: <a href="'.$site_url.'a/'.$anketa_hash.'&preview=on">'.$site_url.'a/'.$anketa_hash.'&preview=on</a>';
|
||||
|
||||
try{
|
||||
if (!isLastnaInstalacija()) {
|
||||
$prejemnik_obvestila = 'info@1ka.si';
|
||||
}
|
||||
elseif(AppSettings::getInstance()->getSetting('gdpr_admin_email') !== false){
|
||||
$prejemnik_obvestila = AppSettings::getInstance()->getSetting('gdpr_admin_email');
|
||||
}
|
||||
else {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$MA = new MailAdapter($anketa=null, $type='admin');
|
||||
//$MA->addRecipients('peter.hrvatin@gmail.com');
|
||||
$MA->addRecipients('info@1ka.si');
|
||||
$MA->addRecipients($prejemnik_obvestila);
|
||||
$resultX = $MA->sendMail($content, $title);
|
||||
}
|
||||
catch (Exception $e){
|
||||
|
@ -832,13 +832,6 @@ class SurveyConditionProfiles
|
||||
|
||||
}
|
||||
|
||||
# static function setConditionLabel($pid,$condition_label) {
|
||||
# if ((int)$pid > 0 ) {
|
||||
# $updateString = "UPDATE srv_condition_profiles SET condition_label = '" . $condition_label . "' WHERE id = '" . $pid . "'";
|
||||
# $sqlInsert = sisplet_query($updateString);
|
||||
# }
|
||||
# }
|
||||
|
||||
static function setConditionError($pid,$condition_error) {
|
||||
if ((int)$pid > 0 ) {
|
||||
$updateString = "UPDATE srv_condition_profiles SET condition_error = '" . $condition_error . "' WHERE id = '" . $pid . "'";
|
||||
@ -846,47 +839,45 @@ class SurveyConditionProfiles
|
||||
}
|
||||
}
|
||||
|
||||
static function getConditionString($if_id = null)
|
||||
{
|
||||
static function getConditionString($if_id = null){
|
||||
global $lang;
|
||||
|
||||
# $condition_label = self::$profiles[self::$currentProfileId]['condition_label'];
|
||||
ob_start();
|
||||
$b = new Branching(self::$sid );
|
||||
|
||||
if ($if_id == null || (int)$if_id == 0)
|
||||
{
|
||||
if ($if_id == null || (int)$if_id == 0){
|
||||
$if_id = (int)self::$profiles[self :: $currentProfileId]['if_id'];
|
||||
}
|
||||
|
||||
$b->display_if_label($if_id);
|
||||
#$condition_label = mysqli_escape_string(ob_get_contents());
|
||||
$condition_label = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
|
||||
if ( $if_id > 0 && $condition_label != '') {
|
||||
|
||||
echo '<div id="conditionProfileNote">';
|
||||
#if (self::$profiles[self :: $currentProfileId]['type'] == 'inspect') {
|
||||
# echo '<span class="floatLeft">'.$lang['srv_profile_data_is_filtred_zoom'].'</span>';
|
||||
#} else {
|
||||
echo '<span class="floatLeft">'.$lang['srv_profile_data_is_filtred'].'</span>';
|
||||
#}
|
||||
echo '<span class="floatLeft spaceLeft clr_if"><b>('.self::$profiles[self :: $currentProfileId]['name'].')</b></span>';
|
||||
echo '<span class="floatLeft spaceLeft">'.$condition_label.'</span>';
|
||||
// ali imamo napake v ifu
|
||||
echo '<div id="conditionProfileNote" class="filter_box">';
|
||||
|
||||
echo ' <div class="header">';
|
||||
|
||||
echo ' <span class="semi-bold">'.self::$profiles[self :: $currentProfileId]['name'].'</span>';
|
||||
|
||||
echo ' <span class="condition">'.$condition_label.'</span>';
|
||||
|
||||
// ali imamo napake v ifu
|
||||
if ((int)self::$profiles[$if_id]['condition_error'] != 0) {
|
||||
echo '<br>';
|
||||
echo '<span style="border:1px solid #009D91; background-color: #34D0B6; padding:5px; width:auto;"><img src="img_0/error.png" /> ';
|
||||
echo '<span class="red strong">'.$lang['srv_profile_condition_has_error'].'</span>';
|
||||
echo '</span>';
|
||||
}
|
||||
echo '<span class="as_link spaceLeft" id="link_condition_edit">'.$lang['srv_profile_edit'].'</span>';
|
||||
echo '<span class="as_link spaceLeft" id="link_condition_remove">'.$lang['srv_profile_remove'].'</span>';
|
||||
#if (self::$profiles[self :: $currentProfileId]['type'] == 'inspect') {
|
||||
# echo '<span class="as_link spaceLeft" onclick="window.location=\'index.php?anketa='.self::$sid.'&a=data&m=quick_edit&quick_view=1\'">'.$lang['srv_zoom_link_whoisthis'].'</span>';
|
||||
#}
|
||||
echo ' <span class="red semi-bold">'.$lang['srv_profile_condition_has_error'].'</span>';
|
||||
}
|
||||
|
||||
echo ' <div class="icons">';
|
||||
echo ' <span class="faicon edit" id="link_condition_edit" title="'.$lang['srv_profile_edit'].'"></span>';
|
||||
echo ' <span class="faicon delete" id="link_condition_remove" title="'.$lang['srv_profile_remove'].'"></span>';
|
||||
echo ' </div>';
|
||||
|
||||
echo ' </div>';
|
||||
|
||||
echo '</div>';
|
||||
echo '<br class="clr" />';
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ class SurveyExport
|
||||
case 'sav':
|
||||
self::exportSav();
|
||||
break;
|
||||
case 'spss':
|
||||
case 'spss':
|
||||
self::exportSpss();
|
||||
break;
|
||||
case 'excel':
|
||||
@ -144,6 +144,9 @@ class SurveyExport
|
||||
case 'txt':
|
||||
self::exportText();
|
||||
break;
|
||||
case '1ka':
|
||||
self::export1KA();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -154,7 +157,7 @@ class SurveyExport
|
||||
|
||||
if ($this->_fileStatus >= 0) {
|
||||
|
||||
$this->_HEADERS = unserialize(file_get_contents($this->_headFileName));
|
||||
$this->_HEADERS = unserialize(file_get_contents($this->_headFileName));
|
||||
|
||||
$this->exportSettings = array();
|
||||
foreach ($_SESSION AS $pkey => $pvalue)
|
||||
@ -711,6 +714,110 @@ class SurveyExport
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/** naredimo izvoz za txt
|
||||
*
|
||||
*/
|
||||
function export1KA() {
|
||||
$this->_EXPORT_FULL_META = true;
|
||||
$this->_EXPORT_HIDDEN_SYSTEM = true;
|
||||
$this->_SPECIAL_EXPORT = true;
|
||||
|
||||
$this->setUpFilter();
|
||||
|
||||
global $site_path;
|
||||
|
||||
$folder = $site_path . EXPORT_FOLDER.'/';
|
||||
|
||||
// če fajl obstaja, ga briši (dodaj)
|
||||
if ($this->_fileStatus >= 0 && $this->_dataFileName !== null && $this->_dataFileName !== '' && $this->_headFileName !== null && $this->_headFileName !== '') {
|
||||
|
||||
#zapišemo v temp file
|
||||
|
||||
$file_handler = fopen($this->_dataFileName.'.1ka',"w");
|
||||
|
||||
$output1 = '';
|
||||
$output2 = '';
|
||||
|
||||
// array za labele (ce jih izpisujemo)
|
||||
$display_labels = true;
|
||||
$labels = array();
|
||||
|
||||
# naredimo header row
|
||||
foreach ($this->_HEADERS AS $spid => $spremenljivka) {
|
||||
if (isset($this->_SVP_PV[$spid])) {
|
||||
foreach ($spremenljivka['grids'] AS $gid => $grid) {
|
||||
foreach ($grid['variables'] AS $vid => $variable ){
|
||||
|
||||
// izvozimo KOMPLET VSE
|
||||
$output1 .= strip_tags($variable['variable']).'|';
|
||||
$output2 .= strip_tags($variable['naslov']).'|';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Ce izpisujemo tudi labele
|
||||
if($display_labels && isset($spremenljivka['spr_id'])){
|
||||
if(in_array($spremenljivka['tip'], array('1','3','6','16'))){
|
||||
|
||||
$sequences = array();
|
||||
$sequences = explode('_', $spremenljivka['sequences']);
|
||||
$vars = $this->getVariableLabels($spremenljivka['spr_id']);
|
||||
|
||||
foreach($sequences as $sequence){
|
||||
$labels[$sequence] = $vars;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fwrite($file_handler,$output1."\n");
|
||||
fwrite($file_handler,$output2."\n");
|
||||
fclose($file_handler);
|
||||
|
||||
# izvedemo download
|
||||
$out_file = fopen($this->_dataFileName .'.1ka',"a");
|
||||
if ($fd = fopen ($this->_dataFileName, "r")) {
|
||||
while(($line = fgets($fd)) !== false) {
|
||||
fwrite($out_file, $line);
|
||||
}
|
||||
}
|
||||
else {
|
||||
echo "Napaka";
|
||||
}
|
||||
fclose ($fd);
|
||||
fclose ($out_file);
|
||||
|
||||
if ($fd = fopen ($this->_dataFileName.'.1ka', "r")) {
|
||||
ob_clean();
|
||||
|
||||
$fsize = filesize($this->_dataFileName.'.1ka');
|
||||
$path_parts = pathinfo($this->_dataFileName.'.1ka');
|
||||
$ext = strtolower($path_parts["extension"]);
|
||||
header('Content-type: text/plain; charset='.$convertTypes[$convertType]['charSet']);
|
||||
header('Content-Disposition: attachment; filename="anketa'.$this->sid.'-'.date('Y-m-d').'.txt"');
|
||||
header('Pragma: public');
|
||||
header('Expires: 0');
|
||||
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
|
||||
header('Cache-Control: private',false);
|
||||
header('Content-Transfer-Encoding: binary');
|
||||
ob_flush();
|
||||
|
||||
while(($line = fgets($fd)) !== false) {
|
||||
echo $line;
|
||||
}
|
||||
fclose ($fd);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
echo '';
|
||||
}
|
||||
unlink ($this->_dataFileName.'.1ka');
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
// shranim SPS in A00, potem pokličem spss in je.
|
||||
private function exportSav () {
|
||||
|
||||
|
@ -698,8 +698,11 @@ class SurveyInspect {
|
||||
|
||||
function getConditionString() {
|
||||
global $lang;
|
||||
global $site_url;
|
||||
|
||||
#preverimi ali imamo nastavljen pogoj za inspect
|
||||
$if_id = (int)SurveyUserSetting :: getInstance()->getSettings('inspect_if_id');
|
||||
|
||||
if ($if_id > 0) {
|
||||
ob_start();
|
||||
$b = new Branching($this->sid);
|
||||
@ -724,7 +727,8 @@ class SurveyInspect {
|
||||
# }
|
||||
#
|
||||
session_start();
|
||||
global $site_url;
|
||||
|
||||
|
||||
if (isset($_SESSION['inspectFromPodstran'][$this->sid])) {
|
||||
$inspect_comeFrom = '\''.$site_url.'admin/survey/index.php?anketa='.$this->sid.'&a=analysis&m='.$_SESSION['inspectFromPodstran'][$this->sid].'\'';
|
||||
unset($_SESSION['inspectFromPodstran'][$this->sid]);
|
||||
@ -739,6 +743,7 @@ class SurveyInspect {
|
||||
echo '<span class="as_link spaceLeft" onclick="inspectRemoveCondition('.$inspect_comeFrom.');">'.$lang['srv_profile_remove'].'</span>';
|
||||
echo '</div>';
|
||||
echo '<br class="clr" />';
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -696,7 +696,9 @@ class SurveyTimeProfiles {
|
||||
*/
|
||||
static function printIsDefaultProfile() {
|
||||
global $lang;
|
||||
|
||||
if (self::$currentProfileId != 0) {
|
||||
|
||||
$cp_data = self::GetCurentProfileData();
|
||||
echo '<div id="timeProfileDafaultNote">';
|
||||
|
||||
|
@ -520,6 +520,7 @@ class SurveyZoom
|
||||
|
||||
if (is_countable($vars) && count($vars) > 0) {
|
||||
$conditions = self::$profiles[self::$currentProfileId]['conditions'];
|
||||
|
||||
if ($showDiv == true) {
|
||||
echo '<div id="div_zoom_condition" '.(self::$showVariables == false ? ' style="display:none"' : '').'>';
|
||||
}
|
||||
@ -557,6 +558,7 @@ class SurveyZoom
|
||||
} else {
|
||||
$row = Cache::srv_spremenljivka($spr);
|
||||
}
|
||||
|
||||
echo '<li id="zoom_var_condition_'.$_spr.'">';
|
||||
echo '<div class="zoom_short_text" title="('.strip_tags($row['variable']).') '.strip_tags($row['naslov']).'">';
|
||||
echo '(<b>'.strip_tags($row['variable']).'</b>) ';
|
||||
@ -598,7 +600,9 @@ class SurveyZoom
|
||||
echo "<br>";
|
||||
}
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
|
||||
echo '</li>';
|
||||
}
|
||||
}
|
||||
@ -942,10 +946,12 @@ class SurveyZoom
|
||||
|
||||
function doZoomFromInspect() {
|
||||
global $lang;
|
||||
|
||||
# polovimo id-je variabel iz inspect profila in nastavimo zoom profil
|
||||
$SI = new SurveyInspect(self::$sid);
|
||||
$variables_to_add = $SI->getInspectVariables();
|
||||
|
||||
|
||||
session_start();
|
||||
# shranjujenmo v sejo
|
||||
# dodamo profil in ga izberemo za privzetega
|
||||
|
@ -453,9 +453,11 @@ class SurveyAnalysis {
|
||||
} else {
|
||||
# polovimo nastavtve missing profila
|
||||
self::$missingProfileData = SurveyMissingProfiles::getProfile(self::$currentMissingProfile);
|
||||
|
||||
if (self::$podstran != M_ANALYSIS_ARCHIVE) {
|
||||
self::$_LOOPS = SurveyZankaProfiles::getFiltersForLoops();
|
||||
}
|
||||
|
||||
if (!is_countable(self::$_LOOPS) || count(self::$_LOOPS) == 0) {
|
||||
|
||||
# če nimamo zank
|
||||
@ -477,9 +479,11 @@ class SurveyAnalysis {
|
||||
self::$podstran = M_ANALYSIS_SUMMARY;
|
||||
self::Display();
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
else {
|
||||
$loop_cnt = 0;
|
||||
|
||||
# če mamo zanke
|
||||
foreach ( self::$_LOOPS AS $loop)
|
||||
{
|
||||
@ -506,7 +510,6 @@ class SurveyAnalysis {
|
||||
self::Display();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -6811,16 +6814,17 @@ class SurveyAnalysis {
|
||||
|
||||
# polovimo nastavtve missing profila
|
||||
self::$missingProfileData = SurveyMissingProfiles::getProfile(self::$currentMissingProfile);
|
||||
if (self::$podstran != M_ANALYSIS_ARCHIVE)
|
||||
{
|
||||
if (self::$podstran != M_ANALYSIS_ARCHIVE){
|
||||
self::$_LOOPS = SurveyZankaProfiles::getFiltersForLoops();
|
||||
}
|
||||
if (!is_array(self::$_LOOPS))
|
||||
{
|
||||
|
||||
if (!is_array(self::$_LOOPS)){
|
||||
self::$_LOOPS[] = array('filter'=>null,'text'=>null);
|
||||
}
|
||||
|
||||
$loop_cnt = 0;
|
||||
|
||||
|
||||
# ce mamo zanke
|
||||
foreach ( self::$_LOOPS AS $loop)
|
||||
{
|
||||
|
@ -203,6 +203,7 @@
|
||||
define('M_EXPORT_SPSS', 'spss');
|
||||
define('M_EXPORT_SAV', 'sav');
|
||||
define('M_EXPORT_TXT', 'txt');
|
||||
define('M_EXPORT_1KA', '1ka');
|
||||
|
||||
# dodatne nastavitve
|
||||
define('A_ADVANCED', 'advanced');
|
||||
|
@ -207,6 +207,7 @@ lang('srv_anketa_deleted_restore_confirm');
|
||||
lang('srv_data_deleted_restore_confirm');
|
||||
lang('more2');
|
||||
lang('less2');
|
||||
lang('srv_concl_deactivation_text_edit');
|
||||
|
||||
|
||||
//LOKACIJA
|
||||
|
@ -3763,6 +3763,15 @@ function doTxtExport() {
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
function do1KAExport() {
|
||||
$('#export_1ka_form').submit();
|
||||
/*
|
||||
var fullMeta = ( $('#fullMeta').is(':checked') ) ? '&fullMeta=1' : '';
|
||||
var hiddenSystem = ( $('#hiddenSystem').is(':checked') ) ? '&hiddenSystem=1' : '';
|
||||
window.open( 'ajax.php?t=export&a=doexport'+'&m=txt'+'&anketa=' + srv_meta_anketa_id + fullMeta+hiddenSystem);
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
function doExcelXlsExport() {
|
||||
$('#export_excel_xls_form').submit();
|
||||
@ -5392,6 +5401,7 @@ function vprasanje_jezik_save_zakljucek(id_value){
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function prikaziGoogle2faKodo(){
|
||||
$('#2fa-display').toggle();
|
||||
}
|
||||
|
@ -287,7 +287,7 @@ class ApiLogin
|
||||
|
||||
// Preveri ce je user ze logiran v 1ko in nastavi globalne spremenljivke in cookie (kopirano iz function.php)
|
||||
|
||||
public function executeAction($params, $data, $method)
|
||||
public function executeAction($params, $data, $method='')
|
||||
{
|
||||
global $site_url;
|
||||
global $global_user_id;
|
||||
|
@ -243,6 +243,7 @@ class DisplaySettings{
|
||||
echo ' <div class="what">'.$lang['install_settings_SMTPPassword'].':</div>';
|
||||
echo ' <div class="value"><input type="text" name="SMTPPassword" value="'.$email_server_settings['SMTPPassword'].'"></div>';
|
||||
echo '</div>';
|
||||
|
||||
}
|
||||
|
||||
private function displaySettingsGoogle(){
|
||||
|
@ -112,7 +112,7 @@ function executePOST(){
|
||||
"narocilo_id" => '33'
|
||||
);*/
|
||||
$post_data = array(
|
||||
"email" => 'peter@1ka.si'
|
||||
"email" => '...'
|
||||
);
|
||||
/*$post_data = array(
|
||||
"podjetje_drzava" => 'Germany',
|
||||
|
@ -59,6 +59,8 @@ if (!$connect_db = mysqli_connect($mysql_server, $mysql_username, $mysql_passwor
|
||||
}
|
||||
|
||||
// To je ostanek sispleta in verjetno ne sme biti več prisotno?
|
||||
// NAPAČNO, to je za stare instalacije, ki imajo Mario/SQL nastavljen na latin1.
|
||||
// če imaš v anketah kvake namesto ČŽŠ, odkomentiraj.
|
||||
//sisplet_query("SET character_set_results=latin1");
|
||||
|
||||
|
||||
|
@ -1583,6 +1583,7 @@ $lang = array (
|
||||
"srv_lnk_sav" => "SPSS SAV",
|
||||
"srv_lnk_PDF/RTF" => "Zaporedni izpis vseh respodentov",
|
||||
"srv_lnk_txt" => "Tekstovna datoteka",
|
||||
"srv_lnk_1ka" => "1KA oblika",
|
||||
"srv_lnk_data_view" => "Pregled",
|
||||
"srv_lnk_data_edit" => "Urejanje",
|
||||
"srv_izvoz_step1" => "1. korak:",
|
||||
@ -1610,7 +1611,9 @@ $lang = array (
|
||||
"srv_izvoz_step4_SPSS" => "Datoteko s sintakso nato poženemo z ukazom RUN ALL (najdemo ga v spustnem meniju RUN) in tako kreiramo novo datoteko - bazo podatkov (.sav), ki jo lahko shranimo.",
|
||||
"srv_izvoz_step5_SPSS" => "Po izvozu v SPSS/PASW lahko določimo tudi manjkajoče vrednosti. Postavimo se v zavihek Variable View in v stolpcu Missing označimo 'Range plus one optional discrete missing value; Low: -99; High: -1;' v 1KA so namreč manjkajoče vse negativne vrednosti s sledečimi pomeni:<br>(-1) Ni odgovoril<br>(-2) Preskok (if)<br>(-3) Prekinjeno<br>(-4) Naknadno vprašanje<br>(-97) Neustrezno<br>(-98) Zavrnil<br>(-99) Ne vem.",
|
||||
"srv_izvoz_txt_note" => "Podatke lahko izvozite v tekstovno ASCII datoteko s klikom na spodnji ukaz:",
|
||||
"srv_izvoz_1ka_note" => "Podatke lahko izvozite v specialno 1KA datoteko s klikom na spodnji ukaz:",
|
||||
"srv_izvoz_txt_file" => "Izvoz v tekstovno datoteko",
|
||||
"srv_izvoz_1ka_file" => "Izvoz v 1KA podatkovno (.1KD) datoteko",
|
||||
"srv_izvoz_SPSS_complex_note" => "Pri izvozu zelo kompleksne ankete z zankami vam v primeru kakršnih koli težav priporočamo najprej izvoz v Excel, in nato uvoz v SPSS.",
|
||||
"srv_izvoz_SPSS_faq" => "V primeru kakršnihkoli zapletov (npr. pri kompleksnih anketah z zankami, stare verzije SPSS) priporočamo izvoz v Excel, in nato uvoz v SPSS. To priporočamo še posebej pri kombiniranih tabelah. Več o izvozih v SPSS si lahko preberete v priročniku <a href='https://www.1ka.si/d/sl/pomoc/prirocniki/izvoz-spss' target=\"_blank\">Izvoz v SPSS</a>. V primeru težav kontaktirajte <a href=\"https://www.1ka.si/a/72864?Q1=5729900\" target=\"_blank\">Pomoč uporabnikom</a>.",
|
||||
"srv_izvoz_SAV_note1" => "Podatke izvozite v SPSS SAV s klikom na spodnji ukaz:",
|
||||
@ -2403,6 +2406,7 @@ $lang = array (
|
||||
"srv_concl_link_go" => "Skoči na povezavo",
|
||||
"srv_concl_link_rec" => "Rekurzivno",
|
||||
"srv_concl_deactivation_text" => "Obvestilo pri deaktivaciji",
|
||||
"srv_concl_deactivation_text_edit" => "Napredno urejanje obvestila pri deaktivaciji",
|
||||
"srv_concl_link_params" => "URL parametri",
|
||||
"srv_concl_link_usr_id" => "ID respondenta",
|
||||
"srv_concl_link_status" => "Status responedenta",
|
||||
|
@ -1571,6 +1571,7 @@ $lang = array (
|
||||
"srv_lnk_sav" => "SPSS SAV",
|
||||
"srv_lnk_PDF/RTF" => "Respondent results",
|
||||
"srv_lnk_txt" => "Text file",
|
||||
"srv_lnk_1ka" => "1KA format",
|
||||
"srv_lnk_data_view" => "Preview",
|
||||
"srv_lnk_data_edit" => "Editing",
|
||||
"srv_izvoz_step1" => "Step 1:",
|
||||
@ -1599,6 +1600,8 @@ $lang = array (
|
||||
"srv_izvoz_step5_SPSS" => "After export we can define missing values. In SPSS/PASW we open the Variable View, find the column Missing and select 'Range plus one optional discrete missing value; Low: -99; High: -1.' Default missing values in 1KA are:<br>(-1) Not answered<br>(-2) Skipped (condition)<br>(-3) Drop-out<br>(-4) Subsequently added question<br>(-97) Not applicable<br>(-98) Refused<br>(-99) Don't know.",
|
||||
"srv_izvoz_txt_note" => "Data can be exported in a text ASCII file by clicking the button below:",
|
||||
"srv_izvoz_txt_file" => "Text file export",
|
||||
"srv_izvoz_1ka_note" => "Data can be exported into a 1KA data file by clicking the button below:",
|
||||
"srv_izvoz_1ka_file" => "1KA data (.1KD) file export",
|
||||
"srv_izvoz_SPSS_complex_note" => "If you encounter any problems while exporting complex surveys with loops, we suggest you first export data to Excel and then import it into SPSS.",
|
||||
"srv_izvoz_SPSS_faq" => "In case of complications (e.g. complex surveys with loops, old SPSS versions) we suggest export to Excel and then import into SPSS. We specifically recommended for multiple tables. You can find more information about SPSS exports in the <a href=\"https://www.1ka.si/d/en/help/manuals/export-to-spss\" target=\"_blank\">SPSS Export</a> manual. In case of any problems please contact <a href=\"https://www.1ka.si/d/en/help\" target=\"_blank\">Help center</a>.",
|
||||
"srv_izvoz_SAV_note1" => "Export data in SPSS (SAV) format by clicking the button below:",
|
||||
@ -2388,6 +2391,7 @@ $lang = array (
|
||||
"srv_concl_link_go" => "Jump to link",
|
||||
"srv_concl_link_rec" => "Recursive",
|
||||
"srv_concl_deactivation_text" => "Deactivation note",
|
||||
"srv_concl_deactivation_text_edit" => "Edit deactivation note",
|
||||
"srv_concl_link_params" => "URL parameters",
|
||||
"srv_concl_link_usr_id" => "Respondent ID",
|
||||
"srv_concl_link_status" => "Respondent status",
|
||||
|
@ -1853,6 +1853,7 @@ class BodyController extends Controller
|
||||
* @desc prikaze trenutno grupo
|
||||
*/
|
||||
public function displayGrupa(){
|
||||
global $fieldwork_install;
|
||||
global $admin_type;
|
||||
|
||||
|
||||
@ -1975,7 +1976,8 @@ class BodyController extends Controller
|
||||
|
||||
// Preverimo, ce je uporabnik ze bil na strani
|
||||
if(Check::getInstance()->check_subsequent_visit()){
|
||||
echo '<script>disableSubsequentAnswers();</script>';
|
||||
// PREVERI ME!
|
||||
// echo '<script>disableSubsequentAnswers();</script>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -664,9 +664,10 @@ class CheckController extends Controller
|
||||
|
||||
save('grupa', $row1['id']);
|
||||
|
||||
$grupa = Find::getInstance()->findNextGrupa();
|
||||
$grupa = Find::getInstance()->findSameGrupa();
|
||||
|
||||
if ($grupa > 0) {
|
||||
$_GET['grupa'] = $grupa; // v primeru dostopa s kodo, po vpisu kode nastavi $_GET['grupa'] na 0. Ker se drugje v kodi preverja GET, ga nastavim tu na pravo vrednost, da deluje "nadaljuj kjer je ostal" tudi v primeru dostopa s kodo.
|
||||
setcookie('ref', get('anketa')); // cookie z referalom (da se ne sprozi redirect zaradi referala pri ?code= )
|
||||
return header("Location: " . \SurveyInfo::getSurveyLink() . "&grupa=$grupa" . (isset($_GET['language']) ? '&language=' . $_GET['language'] : '') . (isset($_GET['skupina']) ? '&skupina=' . $_GET['skupina'] : '') . get('cookie_url') . "&c");
|
||||
die();
|
||||
|
@ -286,5 +286,38 @@ class FindController extends Controller
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @desc poisce naslednjo stran - grupo, 0 pomeni konec
|
||||
*/
|
||||
public function findSameGrupa($gru_id=0)
|
||||
{
|
||||
//vrstni red trenutne grupe
|
||||
if (get('grupa') > 0) {
|
||||
$sql = sisplet_query("SELECT vrstni_red FROM srv_grupa WHERE id = '" . get('grupa') . "'");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$vrstni_red = $row['vrstni_red'];
|
||||
}
|
||||
elseif ($gru_id > 0) {
|
||||
$sql = sisplet_query("SELECT vrstni_red FROM srv_grupa WHERE id = '" . $gru_id . "'");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$vrstni_red = $row['vrstni_red'];
|
||||
}
|
||||
else {
|
||||
$vrstni_red = 0;
|
||||
}
|
||||
|
||||
$sql = sisplet_query("SELECT id FROM srv_grupa WHERE ank_id='" . get('anketa') . "' AND vrstni_red='$vrstni_red' ORDER BY vrstni_red ASC LIMIT 1");
|
||||
|
||||
// naslednja stran
|
||||
if (mysqli_num_rows($sql) > 0) {
|
||||
$row = mysqli_fetch_array($sql);
|
||||
return $row['id'];
|
||||
}
|
||||
// konec
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -24,3 +24,22 @@ $mysql_server = 'localhost';
|
||||
$mysql_username = '';
|
||||
$mysql_password = '';
|
||||
$mysql_database_name = '';
|
||||
|
||||
|
||||
/**
|
||||
* Nastavitve za F2F laptop delo
|
||||
*/
|
||||
|
||||
$fieldwork_install = false;
|
||||
|
||||
/*
|
||||
Nastavitev dostopa za export podatkov v .A00 (kao .1KD - 1ka data),
|
||||
ki se uporablja za redne izvoze in sinhronizacijo na centralni strežnik.
|
||||
|
||||
Za več preveri F2F.md!
|
||||
|
||||
data_export_ajax_access= [id_survey => [id_user, skrita_koda]]
|
||||
*/
|
||||
|
||||
$data_export_ajax_access = [];
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user