Dodana nastavitev za preprecevanje naknadnega izpolnjevanja ankete (npr. ce klikne uporabnik "nazaj")
This commit is contained in:
parent
77d06d6380
commit
09ebce3098
@ -318,7 +318,9 @@ class SurveyAdminAjax {
|
||||
if (isset ($_POST['state']))
|
||||
$state = $_POST['state'];
|
||||
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']))
|
||||
$cookie_continue = $_POST['cookie_continue'];
|
||||
if (isset ($_POST['block_ip']))
|
||||
@ -1084,6 +1086,7 @@ class SurveyAdminAjax {
|
||||
'cookie',
|
||||
'cookie_return',
|
||||
'return_finished',
|
||||
'subsequent_answers',
|
||||
'cookie_continue',
|
||||
'user_from_cms',
|
||||
'user_base',
|
||||
|
@ -494,6 +494,12 @@ class SurveyAdminSettings {
|
||||
echo '<div class="no-cookie no-cookie-return"><span class="nastavitveSpan3 bold" ><label>' . $lang['srv_return_finished'] . Help :: display('srv_return_finished') . ':</label></span>';
|
||||
echo ' <label for="return_finished_1"><input type="radio" name="return_finished" value="1" id="return_finished_1"' . ($row['return_finished'] == 1 ? ' checked="checked"' : '') . ' />' . $lang['srv_return_finished_yes'] . '</label>' . "\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/>';
|
||||
|
||||
// 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
|
||||
|
@ -2358,6 +2358,9 @@ $lang = array (
|
||||
"srv_return_finished" => "Uporabnik, ki je zaključil anketo",
|
||||
"srv_return_finished_yes" => "Lahko kasneje ureja svoje odgovore",
|
||||
"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_yes" => "Lahko vseeno nadaljuje z izpolnjevanjem",
|
||||
"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_yes" => "Can later 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_yes" => "Can still answer survey questions",
|
||||
"srv_cookie_continue_no" => "Cannot respond to survey",
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Controllers\CheckController as Check;
|
||||
use App\Controllers\DisplayController as Display;
|
||||
use App\Controllers\FindController as Find;
|
||||
use App\Controllers\HeaderController as Header;
|
||||
@ -1758,6 +1759,8 @@ class BodyController extends Controller
|
||||
* @desc prikaze trenutno grupo
|
||||
*/
|
||||
public function displayGrupa(){
|
||||
global $admin_type;
|
||||
|
||||
|
||||
// Ce imamo vklopljene napredne parapodatke zabelezimo id-strani
|
||||
if(SurveyAdvancedParadataLog::getInstance()->paradataEnabled()){
|
||||
@ -1873,6 +1876,14 @@ class BodyController extends Controller
|
||||
|
||||
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
|
||||
$link = SurveySetting::getInstance()->getSurveyMiscSetting('uporabnost_link_' . get('grupa'));
|
||||
if ($link != '' && strlen($link) > 7)
|
||||
|
@ -730,4 +730,18 @@ class CheckController extends Controller
|
||||
}
|
||||
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 . ')';
|
||||
}
|
||||
|
||||
|
||||
// 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 $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, '/');
|
||||
@ -111,6 +112,16 @@ class SaveSurvey extends Model
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$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)
|
||||
* 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";
|
||||
|
||||
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