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

View File

@ -358,7 +358,7 @@ class HeaderController extends Controller
// Ce gre za prvo nastavimo na default vrednost, drugace beremo iz post-a // Ce gre za prvo nastavimo na default vrednost, drugace beremo iz post-a
$sp = new SurveyPanel(get('anketa')); $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.'">'; echo ' <input type="hidden" id="panel_status" name="panel_status" value="'.$panel_status.'">';
} }

View File

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

View File

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

View File

@ -63,11 +63,15 @@ class SaveSurvey extends Model
* @param mixed $preskocena_stran v primeru, da stran preskocimo, to zapisemo v bazo v srv_user_grupa * @param mixed $preskocena_stran v primeru, da stran preskocimo, to zapisemo v bazo v srv_user_grupa
* @param mixed $spr_id podamo v primeru, da shranjujemo samo 1 spremenljivko (in ne celo stran), uporablja se pri urejanju podatkov * @param mixed $spr_id podamo v primeru, da shranjujemo samo 1 spremenljivko (in ne celo stran), uporablja se pri urejanju podatkov
*/ */
public function posted($preskocena = 0, $spr_id = 0) public function posted($preskocena = 0, $spr_id = 0){
{
global $lang; global $lang;
global $admin_type; global $admin_type;
// Modul panel - status - shranimo v cookie, ker drugace se vcasih ne ohrani do konca ce so strani preskocene
if(isset($_POST['panel_status']) && $_POST['panel_status'] != ''){
setcookie('panel_status', $_POST['panel_status'], 0, '/');
}
Check::getInstance()->check_captcha(); Check::getInstance()->check_captcha();
# če smo samo v predogledu uporabnika ne shranjujemo # če smo samo v predogledu uporabnika ne shranjujemo
@ -79,9 +83,7 @@ class SaveSurvey extends Model
$rowa = SurveyInfo::getInstance()->getSurveyRow(); $rowa = SurveyInfo::getInstance()->getSurveyRow();
// podatke shranimo samo, ce je anketa aktivna // podatke shranimo v vsakem primeru, ker jih v neaktivni ali predogledu potem na koncu zbrisemo!!!
// -- podatke shranimo v vsakem primeru, ker jih v neaktivni ali predogledu potem na koncu zbrisemo!!!
if (/*$rowa['active'] == 1 or*/ true) {
// updatamo, ce ne gre za preskoceno stran. pri preskoceni strani, pa updatamo samo prvic // updatamo, ce ne gre za preskoceno stran. pri preskoceni strani, pa updatamo samo prvic
if ($preskocena == 0 || get('preskocena_first') == 1) { if ($preskocena == 0 || get('preskocena_first') == 1) {
@ -1337,8 +1339,6 @@ class SaveSurvey extends Model
$this->posted_commit(); $this->posted_commit();
// pri preskoceni strani podatke shranimo z posted_commit(), ki se klice izven te funkcije, kjer loopamo cez strani // pri preskoceni strani podatke shranimo z posted_commit(), ki se klice izven te funkcije, kjer loopamo cez strani
}
} }
/** /**