Popravek statusa panela (modula panel) - status se shrani v cookie, ker drugace se izgubi ce gre za preskok strani, pobrisana nepotrebna koda

This commit is contained in:
pero1203 2020-09-30 22:15:21 +02:00
parent dd75be0d77
commit 874ebd2d6d
5 changed files with 1129 additions and 1124 deletions

View File

@ -850,7 +850,7 @@ class BodyController extends Controller
}
// Pridobimo koncen status panelista (ce ni bil nikjer nastavljen uporabimo default)
$panel_status = (isset($_POST['panel_status']) && $_POST['panel_status'] != '') ? $_POST['panel_status'] : $panel_settings['status_default'];
$panel_status = (isset($_COOKIE['panel_status']) && $_COOKIE['panel_status'] != '') ? $_COOKIE['panel_status'] : $panel_settings['status_default'];
// Nastavimo koncen url za redirect
$finishUrl = 'http://survey.ipanel.co.il/mrIWeb/mrIWeb.dll?';
@ -866,7 +866,7 @@ class BodyController extends Controller
$panelist_id = $rowP['text'];
// Pridobimo koncen status panelista (ce ni bil nikjer nastavljen uporabimo default)
$panel_status = (isset($_POST['panel_status']) && $_POST['panel_status'] != '') ? $_POST['panel_status'] : $panel_settings['status_default'];
$panel_status = (isset($_COOKIE['panel_status']) && $_COOKIE['panel_status'] != '') ? $_COOKIE['panel_status'] : $panel_settings['status_default'];
// Nastavimo koncen url za redirect
$finishUrl = $row['url'].'?'.$panel_settings['user_id_name'].'='.$panelist_id.'&'.$panel_settings['status_name'].'='.$panel_status;
@ -1757,15 +1757,13 @@ class BodyController extends Controller
/**
* @desc prikaze trenutno grupo
*/
public function displayGrupa()
{
public function displayGrupa(){
// Ce imamo vklopljene napredne parapodatke zabelezimo id-strani
if(SurveyAdvancedParadataLog::getInstance()->paradataEnabled()){
SurveyAdvancedParadataLog::getInstance()->displayGrupa(get('grupa'));
}
//$up_id = uniqid();
$sql = sisplet_query("SELECT naslov, vrstni_red FROM srv_grupa WHERE id = '" . get('grupa') . "'");
$row = mysqli_fetch_array($sql);
if (!get('printPreview')) {
@ -1779,7 +1777,6 @@ class BodyController extends Controller
SurveySetting::getInstance()->Init(get('anketa'));
$rowa = SurveyInfo::getInstance()->getSurveyRow();
// izbira jezika za respondenta - Ce nimamo prikazanega uvoda, prikazemo izbiro na prvi strani
if (SurveySetting::getInstance()->getSurveyMiscSetting('resp_change_lang') == 1 && $rowa['multilang'] == 1 && $rowa['show_intro'] == 0 && $row['vrstni_red'] == 1) {

View File

@ -358,10 +358,10 @@ class HeaderController extends Controller
// Ce gre za prvo nastavimo na default vrednost, drugace beremo iz post-a
$sp = new SurveyPanel(get('anketa'));
$panel_status = (isset($_POST['panel_status']) && $_POST['panel_status'] != '') ? $_POST['panel_status'] : $sp->getPanelSettings('status_default');
$panel_status = (isset($_COOKIE['panel_status']) && $_COOKIE['panel_status'] != '') ? $_COOKIE['panel_status'] : $sp->getPanelSettings('status_default');
echo ' <input type="hidden" id="panel_status" name="panel_status" value="'.$panel_status.'">';
}
}
// Spremenljivke, ki se rabijo v JS
echo ' <script> ' . "\n";

View File

@ -291,15 +291,21 @@ class InitClass extends Controller
Body::getInstance()->displayKonec();
} elseif (get('displayAllPages')) {
}
elseif (get('displayAllPages')) {
Body::getInstance()->displayAllPages();
// prikazemo ustrezno stran / grupo
} elseif (get('grupa') > 0) {
}
// prikazemo ustrezno stran / grupo
elseif (get('grupa') > 0) {
$preskok = false;
// pogledamo ce preskocimo kaksno stran zaradi branchinga
while (!Check::getInstance()->checkGrupa() && get('grupa') > 0 && $_GET['disableif'] != 1) {
SaveSurvey::getInstance()->posted(1);
save('grupa', Find::getInstance()->findNextGrupa());
$preskok = true;
@ -320,15 +326,11 @@ class InitClass extends Controller
// nastavimo status -- kliknil je na anketo
$this->set_userstatus(3);
// nastavimo statuse -3 pri checkboxih in multicheckboksih
//ta funkcija ne obstaja in je bila odstranjena
// $this->set_userdatastatus(3);
Body::getInstance()->displayIntroduction();
}
// poslani so bili odgovori
} else {
}
}
// poslani so bili odgovori
else {
save('grupa', $_GET['grupa']);
@ -352,7 +354,8 @@ class InitClass extends Controller
Body::getInstance()->displayKonec();
} else {
}
else {
// ce je nastavljena grupa (se pravi ni prva stran) in ce nismo v predogledu ankete
if (get('grupa') > 0 || get('displayAllPages')) {
// nastavimo status -- izpolnjuje anketo
@ -370,9 +373,11 @@ class InitClass extends Controller
if (get('loop_AW') == 0 && get('loop_id') == null) {
$grupa = Find::getInstance()->findNextGrupa();
} elseif (get('loop_AW') == 1) {
}
elseif (get('loop_AW') == 1) {
$grupa = get('grupa');
} elseif (get('loop_id') != null) {
}
elseif (get('loop_id') != null) {
$grupa = get('grupa');
save('loop_id', Find::getInstance()->findNextLoopId(), 1);
if (get('loop_id') == null)
@ -389,7 +394,8 @@ class InitClass extends Controller
echo ' document.location.href=\'https://www.1ka.si/\';' . "\n";
echo ' </script>' . "\n";
} elseif ($grupa > 0) {
}
elseif ($grupa > 0) {
save('grupa', $grupa);
@ -400,7 +406,8 @@ class InitClass extends Controller
elseif (get('loop_id') != null)
header('Location: ' . SurveyInfo::getSurveyLink(false, false) . '&grupa=' . get('grupa') . '&loop_id=' . get('loop_id') . Header::getSurveyParams() . get('cookie_url') . '');
} else {
}
else {
// nastavimo status -- anketo je izpolnil do konca
$this->set_userstatus(6);
@ -420,7 +427,6 @@ class InitClass extends Controller
// prisli smo cez vse silne procedure in redirecte, lahko pobrisemo cookie za referer, ker ga (upam) ne rabimo vec
setcookie('ref', '', time() - 5000); // pobrisemo cookie
}
/**

View File

@ -97,21 +97,22 @@ class VprasanjaController extends Controller
/**
* @desc prikaze spremenljivke v trenutni grupi
*/
public function displaySpremenljivke()
{
public function displaySpremenljivke(){
if (!get('printPreview')) {
// poiscemo vprasanja s prejsnje strani, ki imajo vklopljeno statistiko
Statistic::displayStatistika();
// zgeneriramo sistemske spremenljivke
Header::getInstance()->displaySistemske();;
Header::getInstance()->displaySistemske();
// prikazemo skrita ze odgovorjena vprasanja
Vprasanja::getInstance()->displaySpremenljivkeHidden();
}
$offset = 0;
$zaporedna = 1;
if (SurveyInfo::getInstance()->getSurveyCountType() > 0) {
// Preštejemo koliko vprašanj je bilo do sedaj
$sqlg = sisplet_query("SELECT vrstni_red FROM srv_grupa WHERE id='" . get('grupa') . "'");
@ -127,7 +128,8 @@ class VprasanjaController extends Controller
// če imamo pri posamezni spremenljivki nastavljeno da jo prikazujemo na začetku vsake strani
if (get('displayAllPages')) {
$sql = sisplet_query("SELECT s.id FROM srv_spremenljivka AS s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id='" . get('anketa') . "' ORDER BY g.vrstni_red, s.vrstni_red ASC");
} else {
}
else {
// Optimizirano
$sql = sisplet_query("SELECT s.id FROM srv_spremenljivka AS s, srv_grupa g WHERE ((s.gru_id='" . get('grupa') . "' AND s.visible='1' AND g.ank_id='" . get('anketa') . "') OR (s.showOnAllPages = '1' AND s.visible='1' AND g.ank_id='" . get('anketa') . "')) AND s.gru_id=g.id ORDER BY g.vrstni_red, s.vrstni_red ASC");
}

File diff suppressed because it is too large Load Diff