Kolektor - ustrezen url in prepoznava respondenta
This commit is contained in:
parent
6c7ceab1bb
commit
192365d216
@ -113,7 +113,7 @@ class Kolektor {
|
||||
echo ' <td>'.$response['respondent_funkcija'].'</td>';
|
||||
echo ' <td>'.date('j.n.Y H:i:s', strtotime($response['insert_time'])).'</td>';
|
||||
echo ' <td>'.$response['status'].'</td>';
|
||||
echo ' <td>Pošlji opomnik</td>';
|
||||
echo ' <td>Pošlji opomnik</td>'; // TODO
|
||||
echo ' </tr>';
|
||||
}
|
||||
|
||||
@ -182,7 +182,7 @@ class Kolektor {
|
||||
echo '</div>';
|
||||
|
||||
|
||||
// Aktivacija na daljavo - samo za anketi 5 in 6
|
||||
// Aktivacija na daljavo - samo za anketi 5 in 6 - TODO
|
||||
if(true){
|
||||
echo '<div class="kolektor_setting '.(isset($error['respondent_remote_activation']) ? 'error' : '').'">';
|
||||
echo ' Aktivacija na daljavo:';
|
||||
|
@ -33,15 +33,36 @@ class KolektorResponse {
|
||||
global $global_user_id;
|
||||
|
||||
|
||||
// Dodaj respondenta v srv_user
|
||||
$respondent_id = 20;
|
||||
// Najprej zgeneriramo kodo in cookie
|
||||
$SI = new SurveyInvitationsNew($response_data['ank_id']);
|
||||
list($code, $cookie) = $SI->generateCode();
|
||||
|
||||
// Ustvarimo respondenta v srv_user
|
||||
$sql_user = sisplet_query("INSERT INTO srv_user
|
||||
(ank_id, email, cookie, pass, last_status, time_insert)
|
||||
VALUES
|
||||
('".$response_data['ank_id']."', '".$response_data['respondent_email']."', '".$cookie."', '".$code."', '0', NOW())
|
||||
");
|
||||
$respondent_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
|
||||
|
||||
// Poslji email z vabilom na anketo
|
||||
// Url za individualiziran dostop do ankete
|
||||
$nice_url = SurveyInfo::getSurveyLink();
|
||||
$url = $nice_url.'&code='.$code;
|
||||
$url .= '&kolemail='.$response_data['respondent_email'];
|
||||
$url .= '&kolprojekt='.$response_data['respondent_projekt_id'];
|
||||
$url .= '&kolfunkc='.$response_data['respondent_funkcija'];
|
||||
$url .= '&kolactivat='.$response_data['respondent_remote_activation'];
|
||||
|
||||
// Poslji email z vabilom na anketo - TODO
|
||||
echo 'URL: '.$url;
|
||||
|
||||
// Ce vse ok, nastavimo status na e-posta - neodgovor
|
||||
$sql_user = sisplet_query("UPDATE srv_user SET last_status='1' WHERE id='".$respondent_id."'");
|
||||
|
||||
|
||||
// Dodaj respondenta v kolektor bazo
|
||||
$sql = sisplet_query("INSERT INTO kolektor_survey_response
|
||||
$sql_kolektor = sisplet_query("INSERT INTO kolektor_survey_response
|
||||
(ank_id,
|
||||
usr_id,
|
||||
insert_time,
|
||||
@ -64,7 +85,7 @@ class KolektorResponse {
|
||||
'".$response_data['respondent_remote_activation']."',
|
||||
'".$response_data['respondent_message']."')
|
||||
");
|
||||
if (!$sql){
|
||||
if (!$sql_kolektor){
|
||||
echo mysqli_error($GLOBALS['connect_db']);
|
||||
return false;
|
||||
}
|
||||
|
@ -777,8 +777,10 @@ class InitClass extends Controller
|
||||
Check::getInstance()->check_cookie_return();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
// userji iz baze
|
||||
} elseif (
|
||||
elseif (
|
||||
($rowa['user_base'] == 1) &&
|
||||
#če imamo neindividualizirana vabila - poslana preko vabil, vendar bez kode in zato brez sledenja (uporabnik se pri pošiljanju NE prenese iz srv_invitations_recipients v srv_user)
|
||||
$rowa['individual_invitation'] != 0 &&
|
||||
@ -958,7 +960,123 @@ class InitClass extends Controller
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
// Kolektor modul - respondent s kodo - poenostavljeno vabilo
|
||||
elseif(Common::checkModule('kolektor') == '1' && isset($_GET['code'])) {
|
||||
|
||||
$usercode = strtolower($_GET['code']);
|
||||
|
||||
$sql2 = sisplet_query("SELECT id, recnum, cookie FROM srv_user WHERE TRIM(pass) = '$usercode' AND ank_id='".get('anketa')."' AND deleted='0'");
|
||||
if (!$sql2) echo mysqli_error($GLOBALS['connect_db']);
|
||||
$row2 = mysqli_fetch_array($sql2);
|
||||
|
||||
// Pravilna koda
|
||||
if (mysqli_num_rows($sql2) > 0) {
|
||||
|
||||
$rand = $row2['cookie'];
|
||||
|
||||
$this->set_cookie('survey-' . get('anketa'), $rand, $this->expire);
|
||||
|
||||
save('usr_id', $row2['id']);
|
||||
|
||||
|
||||
// Preverimo ce imamo vklopljeno da uporabnik nadaljuje kjer je ostal - potem ga preusmerimo na pravo stran
|
||||
Check::getInstance()->check_cookie_return();
|
||||
|
||||
if ($row2['recnum'] == 0) {
|
||||
|
||||
if (isset($_POST['referer']))
|
||||
$referer = $_POST['referer'];
|
||||
elseif (isset($_SERVER['HTTP_REFERER']))
|
||||
$referer = $_SERVER['HTTP_REFERER'];
|
||||
else
|
||||
$referer = 0;
|
||||
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$ip = SurveySetting::getInstance()->getSurveyMiscSetting('survey_ip');
|
||||
$browser = SurveySetting::getInstance()->getSurveyMiscSetting('survey_browser');
|
||||
$referal = SurveySetting::getInstance()->getSurveyMiscSetting('survey_referal');
|
||||
$date = SurveySetting::getInstance()->getSurveyMiscSetting('survey_date');
|
||||
|
||||
if ($ip == 0) $_ip = Helper::remote_address(); else $ip = "";
|
||||
if ($date == 0) $_time_insert = "NOW()"; else $_time_insert = "''";
|
||||
if ($referal == 0) $_referer = $referer; else $_referer = '';
|
||||
if ($browser == 0) $_useragent = $_SERVER['HTTP_USER_AGENT']; else $_useragent = '';
|
||||
|
||||
// Ce dovolimo useragent in ce je instaliran browscap
|
||||
$_browser = '';
|
||||
$_device = 0;
|
||||
$_os = '';
|
||||
if ($_useragent != '' && get_cfg_var('browscap')) {
|
||||
|
||||
$browser_detect = get_browser($_useragent, true);
|
||||
$detect = New Mobile_Detect();
|
||||
$detect->setUserAgent($_useragent);
|
||||
|
||||
// Detect browserja
|
||||
if ($browser_detect['browser'] == 'Default Browser')
|
||||
$_browser = self::$lang['srv_para_graph_other'];
|
||||
else
|
||||
$_browser = $browser_detect['browser'] . ' ' . $browser_detect['version'];
|
||||
|
||||
// Detect naprave (pc, mobi, tablet, robot)
|
||||
if ($detect->isMobile()) {
|
||||
if ($detect->isTablet())
|
||||
$_device = 2;
|
||||
else
|
||||
$_device = 1;
|
||||
} elseif ($browser_detect['crawler'] == 1)
|
||||
$_device = 3;
|
||||
else
|
||||
$_device = 0;
|
||||
|
||||
// Detect operacijskega sistema
|
||||
if ($browser_detect['platform'] == 'unknown')
|
||||
$_os = self::$lang['srv_para_graph_other'];
|
||||
else
|
||||
$_os = $browser_detect['platform'];
|
||||
}
|
||||
|
||||
$recnum = 0;
|
||||
|
||||
if (isset($_GET['language'])) save('language', (int)$_GET['language']); else save('language', self::$lang['id']);
|
||||
|
||||
$s = sisplet_query("UPDATE srv_user SET recnum = MAX_RECNUM('" . get('anketa') . "'), time_insert=" . $_time_insert . ", language='" . get('language') . "', ip='" . $_ip . "', useragent='" . $_useragent . "', device='" . $_device . "', browser='" . $_browser . "', os='" . $_os . "' WHERE id = '" . get('usr_id') . "'");
|
||||
if (!$s) {
|
||||
echo 'err3432' . mysqli_error($GLOBALS['connect_db']);
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
// Preverimo, ce je ze koncal anketo (in se kasneje vrnil), ce lahko se ureja svoje odgovore
|
||||
if ($rowa['return_finished'] == 0) {
|
||||
$sqls = sisplet_query("SELECT MAX(status) AS status FROM srv_userstatus WHERE usr_id='" . get('usr_id') . "'");
|
||||
$rows = mysqli_fetch_array($sqls);
|
||||
|
||||
if ($rows['status'] == 6) { // Koncal anketo
|
||||
Header::getInstance()->header();
|
||||
Body::getInstance()->displayKonec();
|
||||
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ce ze ima kuki in ni poslana grupa pomeni, da se je vrnil se enkrat resevat anketo
|
||||
if (!isset($_GET['grupa'])) {
|
||||
Check::getInstance()->check_cookie_return();
|
||||
}
|
||||
}
|
||||
// koda ne obstaja
|
||||
else {
|
||||
// Pri Ne in Samo avtor prikazemo obvestilo, pri Da spustimo naprej in kreiramo nov cookie
|
||||
SurveySetting::getInstance()->init(get('anketa'));
|
||||
$srv_wrongcode = SurveySetting::getInstance()->getSurveyMiscSetting('srvlang_srv_wrongcode' . $_lang);
|
||||
if ($srv_wrongcode == '') $srv_wrongcode = self::$lang['srv_wrongcode'];
|
||||
|
||||
Display::getInstance()->displayNapaka($srv_wrongcode);
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
// drugace gremo kreirat nov cookie
|
||||
|
Loading…
x
Reference in New Issue
Block a user