Dodana nastavitev za preprecevanje naknadnega izpolnjevanja ankete (npr. ce klikne uporabnik "nazaj")
This commit is contained in:
parent
77d06d6380
commit
09ebce3098
@ -319,6 +319,8 @@ class SurveyAdminAjax {
|
|||||||
$state = $_POST['state'];
|
$state = $_POST['state'];
|
||||||
if (isset ($_POST['return_finished']))
|
if (isset ($_POST['return_finished']))
|
||||||
$return_finished = $_POST['return_finished'];
|
$return_finished = $_POST['return_finished'];
|
||||||
|
if (isset ($_POST['subsequent_answers']))
|
||||||
|
$subsequent_answers = $_POST['subsequent_answers'];
|
||||||
if (isset ($_POST['cookie_continue']))
|
if (isset ($_POST['cookie_continue']))
|
||||||
$cookie_continue = $_POST['cookie_continue'];
|
$cookie_continue = $_POST['cookie_continue'];
|
||||||
if (isset ($_POST['block_ip']))
|
if (isset ($_POST['block_ip']))
|
||||||
@ -1084,6 +1086,7 @@ class SurveyAdminAjax {
|
|||||||
'cookie',
|
'cookie',
|
||||||
'cookie_return',
|
'cookie_return',
|
||||||
'return_finished',
|
'return_finished',
|
||||||
|
'subsequent_answers',
|
||||||
'cookie_continue',
|
'cookie_continue',
|
||||||
'user_from_cms',
|
'user_from_cms',
|
||||||
'user_base',
|
'user_base',
|
||||||
|
@ -496,6 +496,12 @@ class SurveyAdminSettings {
|
|||||||
echo ' <label for="return_finished_0"><input type="radio" name="return_finished" value="0" id="return_finished_0"' . ($row['return_finished'] == 0 ? ' checked="checked"' : '') . ' />' . $lang['srv_return_finished_no'] . '</label></div>' . "\n\r";
|
echo ' <label for="return_finished_0"><input type="radio" name="return_finished" value="0" id="return_finished_0"' . ($row['return_finished'] == 0 ? ' checked="checked"' : '') . ' />' . $lang['srv_return_finished_no'] . '</label></div>' . "\n\r";
|
||||||
echo '<br/>';
|
echo '<br/>';
|
||||||
|
|
||||||
|
// Nikoli ne more popravljati svojih odgovorov (tudi ce se npr. vrne na prejsnjo stran)
|
||||||
|
echo '<div class="no-subsequent-answers"><span class="nastavitveSpan3 bold" ><label>' . $lang['srv_subsequent_answers'] . Help :: display('srv_subsequent_answers') . ':</label></span>';
|
||||||
|
echo ' <label for="subsequent_answers_1"><input type="radio" name="subsequent_answers" value="1" id="subsequent_answers_1"' . ($row['subsequent_answers'] == 1 ? ' checked="checked"' : '') . ' />' . $lang['srv_subsequent_answers_yes'] . '</label>' . "\n\r";
|
||||||
|
echo ' <label for="subsequent_answers_0"><input type="radio" name="subsequent_answers" value="0" id="subsequent_answers_0"' . ($row['subsequent_answers'] == 0 ? ' checked="checked"' : '') . ' />' . $lang['srv_subsequent_answers_no'] . '</label></div>' . "\n\r";
|
||||||
|
echo '<br/>';
|
||||||
|
|
||||||
// Ce ni sprejel piskotka lahko/ne more nadaljevati
|
// Ce ni sprejel piskotka lahko/ne more nadaljevati
|
||||||
echo '<div class="no-cookie"><span class="nastavitveSpan3 bold" ><label>' . $lang['srv_cookie_continue'] . Help :: display('srv_cookie_continue') . ':</label></span>';
|
echo '<div class="no-cookie"><span class="nastavitveSpan3 bold" ><label>' . $lang['srv_cookie_continue'] . Help :: display('srv_cookie_continue') . ':</label></span>';
|
||||||
echo ' <label for="cookie_continue_1"><input type="radio" name="cookie_continue" value="1" id="cookie_continue_1"' . ($row['cookie_continue'] == 1 ? ' checked="checked"' : '') . ' />' . $lang['srv_cookie_continue_yes'] . '</label>' . "\n\r";
|
echo ' <label for="cookie_continue_1"><input type="radio" name="cookie_continue" value="1" id="cookie_continue_1"' . ($row['cookie_continue'] == 1 ? ' checked="checked"' : '') . ' />' . $lang['srv_cookie_continue_yes'] . '</label>' . "\n\r";
|
||||||
|
@ -2358,6 +2358,9 @@ $lang = array (
|
|||||||
"srv_return_finished" => "Uporabnik, ki je zaključil anketo",
|
"srv_return_finished" => "Uporabnik, ki je zaključil anketo",
|
||||||
"srv_return_finished_yes" => "Lahko kasneje ureja svoje odgovore",
|
"srv_return_finished_yes" => "Lahko kasneje ureja svoje odgovore",
|
||||||
"srv_return_finished_no" => "Ne more več urejati svojih odgovorov",
|
"srv_return_finished_no" => "Ne more več urejati svojih odgovorov",
|
||||||
|
"srv_subsequent_answers" => "Uporabnik med izpolnjevanjem",
|
||||||
|
"srv_subsequent_answers_no" => "Ne more naknadno urejati svojih odgovorov",
|
||||||
|
"srv_subsequent_answers_yes" => "Lahko naknadno ureja svoje odgovore",
|
||||||
"srv_cookie_continue" => "Uporabnik, ki ne sprejme piškotka",
|
"srv_cookie_continue" => "Uporabnik, ki ne sprejme piškotka",
|
||||||
"srv_cookie_continue_yes" => "Lahko vseeno nadaljuje z izpolnjevanjem",
|
"srv_cookie_continue_yes" => "Lahko vseeno nadaljuje z izpolnjevanjem",
|
||||||
"srv_cookie_continue_no" => "Ne more odgovarjati na anketo",
|
"srv_cookie_continue_no" => "Ne more odgovarjati na anketo",
|
||||||
|
@ -2339,6 +2339,9 @@ $lang = array (
|
|||||||
"srv_return_finished" => "User, that finished his survey",
|
"srv_return_finished" => "User, that finished his survey",
|
||||||
"srv_return_finished_yes" => "Can later edit their answers",
|
"srv_return_finished_yes" => "Can later edit their answers",
|
||||||
"srv_return_finished_no" => "Cannot edit their answers",
|
"srv_return_finished_no" => "Cannot edit their answers",
|
||||||
|
"srv_subsequent_answers" => "User during answering",
|
||||||
|
"srv_subsequent_answers_no" => "Cannot subseqently edit their answers",
|
||||||
|
"srv_subsequent_answers_yes" => "Can subseqently edit their answers",
|
||||||
"srv_cookie_continue" => "User does not accept cookies",
|
"srv_cookie_continue" => "User does not accept cookies",
|
||||||
"srv_cookie_continue_yes" => "Can still answer survey questions",
|
"srv_cookie_continue_yes" => "Can still answer survey questions",
|
||||||
"srv_cookie_continue_no" => "Cannot respond to survey",
|
"srv_cookie_continue_no" => "Cannot respond to survey",
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
namespace App\Controllers;
|
namespace App\Controllers;
|
||||||
|
|
||||||
|
use App\Controllers\CheckController as Check;
|
||||||
use App\Controllers\DisplayController as Display;
|
use App\Controllers\DisplayController as Display;
|
||||||
use App\Controllers\FindController as Find;
|
use App\Controllers\FindController as Find;
|
||||||
use App\Controllers\HeaderController as Header;
|
use App\Controllers\HeaderController as Header;
|
||||||
@ -1758,6 +1759,8 @@ class BodyController extends Controller
|
|||||||
* @desc prikaze trenutno grupo
|
* @desc prikaze trenutno grupo
|
||||||
*/
|
*/
|
||||||
public function displayGrupa(){
|
public function displayGrupa(){
|
||||||
|
global $admin_type;
|
||||||
|
|
||||||
|
|
||||||
// Ce imamo vklopljene napredne parapodatke zabelezimo id-strani
|
// Ce imamo vklopljene napredne parapodatke zabelezimo id-strani
|
||||||
if(SurveyAdvancedParadataLog::getInstance()->paradataEnabled()){
|
if(SurveyAdvancedParadataLog::getInstance()->paradataEnabled()){
|
||||||
@ -1873,6 +1876,14 @@ class BodyController extends Controller
|
|||||||
|
|
||||||
Js::getInstance()->generateBranchingJS();
|
Js::getInstance()->generateBranchingJS();
|
||||||
|
|
||||||
|
// Disable odgovorov, ce je ze izpolnjeval to stran in ima vklopljeno nastavitev, da ni dovoljeno naknadno vnasanje odogovorov
|
||||||
|
if($rowa['subsequent_answers'] == '0' && $admin_type != '0'){
|
||||||
|
|
||||||
|
// Preverimo, ce je uporabnik ze bil na strani
|
||||||
|
if(Check::getInstance()->check_subsequent_visit())
|
||||||
|
Js::getInstance()->disableSubsequentAnswers();
|
||||||
|
}
|
||||||
|
|
||||||
// nov zgornji link pri uporabnosti
|
// nov zgornji link pri uporabnosti
|
||||||
$link = SurveySetting::getInstance()->getSurveyMiscSetting('uporabnost_link_' . get('grupa'));
|
$link = SurveySetting::getInstance()->getSurveyMiscSetting('uporabnost_link_' . get('grupa'));
|
||||||
if ($link != '' && strlen($link) > 7)
|
if ($link != '' && strlen($link) > 7)
|
||||||
|
@ -730,4 +730,18 @@ class CheckController extends Controller
|
|||||||
}
|
}
|
||||||
return $missing;
|
return $missing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Preverimo, ce je uporabnik ze bil na strani
|
||||||
|
public function check_subsequent_visit(){
|
||||||
|
|
||||||
|
$sql = sisplet_query("SELECT g.id
|
||||||
|
FROM srv_user_grupa".get('db_table')." u, srv_grupa g
|
||||||
|
WHERE u.gru_id=g.id AND u.usr_id='".get('usr_id')."' AND g.id='".get('grupa')."'
|
||||||
|
");
|
||||||
|
|
||||||
|
if(mysqli_num_rows($sql) > 0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
@ -2803,4 +2803,20 @@ class JsController extends Controller
|
|||||||
|
|
||||||
return '(' . $expression . ')';
|
return '(' . $expression . ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Disable odgovorov, ce je ze izpolnjeval to stran in ima vklopljeno nastavitev, da ni dovoljeno naknadno vnasanje odogovorov
|
||||||
|
public static function disableSubsequentAnswers(){
|
||||||
|
|
||||||
|
echo '<script>';
|
||||||
|
echo ' $(":radio").prop("disabled", true);';
|
||||||
|
echo ' $(":checkbox").prop("disabled", true);';
|
||||||
|
echo ' $(":text").prop("disabled", true);';
|
||||||
|
echo ' $(":password").prop("disabled", true);';
|
||||||
|
echo ' $(":button").prop("disabled", true);';
|
||||||
|
echo ' $(":image").prop("disabled", true);';
|
||||||
|
echo ' $(":file").prop("disabled", true);';
|
||||||
|
echo '</script>';
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -67,6 +67,7 @@ class SaveSurvey extends Model
|
|||||||
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
|
// 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'] != ''){
|
if(isset($_POST['panel_status']) && $_POST['panel_status'] != ''){
|
||||||
setcookie('panel_status', $_POST['panel_status'], 0, '/');
|
setcookie('panel_status', $_POST['panel_status'], 0, '/');
|
||||||
@ -111,6 +112,16 @@ class SaveSurvey extends Model
|
|||||||
SurveySetting::getInstance()->Init(get('anketa'));
|
SurveySetting::getInstance()->Init(get('anketa'));
|
||||||
$question_resp_comment = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment');
|
$question_resp_comment = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment');
|
||||||
|
|
||||||
|
|
||||||
|
// Disable odgovorov, ce je ze izpolnjeval to stran in ima vklopljeno nastavitev, da ni dovoljeno naknadno vnasanje odogovorov
|
||||||
|
if($rowa['subsequent_answers'] == '0' && $admin_type != '0'){
|
||||||
|
|
||||||
|
// Preverimo, ce je uporabnik ze bil na strani
|
||||||
|
if(Check::getInstance()->check_subsequent_visit())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tele spremenljivke so za vse INSERTe, ki se vnasajo v tabele (z imenom spremenljivke)
|
* Tele spremenljivke so za vse INSERTe, ki se vnasajo v tabele (z imenom spremenljivke)
|
||||||
* Namen je ta, da se vnosi kesirajo in naenkrat vnesejo v bazo, kar pohitri celotno zadevo
|
* Namen je ta, da se vnosi kesirajo in naenkrat vnesejo v bazo, kar pohitri celotno zadevo
|
||||||
|
@ -9327,3 +9327,7 @@ CREATE TABLE srv_clicks (
|
|||||||
|
|
||||||
UPDATE misc SET value='20.09.21' WHERE what="version";
|
UPDATE misc SET value='20.09.21' WHERE what="version";
|
||||||
|
|
||||||
|
ALTER TABLE srv_anketa ADD subsequent_answers ENUM('0', '1') NOT NULL DEFAULT '1' AFTER return_finished;
|
||||||
|
INSERT INTO srv_help (help, what) VALUES ('Uporabnik ne more nikoli naknadno urejati svojih odgovorov (npr. s klikom nazaj)', 'srv_subsequent_answers');
|
||||||
|
|
||||||
|
UPDATE misc SET value='20.10.20' WHERE what="version";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user