Popravek posiljanja vabil - vsak respondent se aktivira posebej po vsakem posiljanju (in ne vec vsi naenkrat na koncu)
This commit is contained in:
parent
ad50ebbd9b
commit
e755d13e08
@ -3651,11 +3651,6 @@ class SurveyInvitationsNew {
|
||||
$dont_send_duplicated = true;
|
||||
}
|
||||
|
||||
#echo '<div id="inv_send_mail_finish">';
|
||||
|
||||
#$send_type = (int)$_POST['send_type'];
|
||||
#$checkboxes = explode(',',$_POST['checkboxes']);
|
||||
|
||||
$rids = $_POST['rids'];
|
||||
|
||||
$return = array();
|
||||
@ -3672,20 +3667,23 @@ class SurveyInvitationsNew {
|
||||
echo '<span class="inv_error_note">';
|
||||
echo $lang['srv_invitation_note6'];
|
||||
echo '</span>';
|
||||
exit();
|
||||
} else {
|
||||
# polovimo sporočilo in prejemnike
|
||||
$sql_string_m = "SELECT id, subject_text, body_text, reply_to, isdefault, comment, naslov, url FROM srv_invitations_messages WHERE ank_id = '$this->sid' AND isdefault='1'";
|
||||
|
||||
$sql_query_m = sisplet_query($sql_string_m);
|
||||
if (mysqli_num_rows($sql_query_m) > 0 ) {
|
||||
|
||||
exit();
|
||||
}
|
||||
else {
|
||||
// polovimo sporočilo in prejemnike
|
||||
$sql_query_m = sisplet_query("SELECT id, subject_text, body_text, reply_to, isdefault, comment, naslov, url FROM srv_invitations_messages WHERE ank_id = '$this->sid' AND isdefault='1'");
|
||||
|
||||
if (mysqli_num_rows($sql_query_m) > 0 ) {
|
||||
$sql_row_m = mysqli_fetch_assoc($sql_query_m);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
#nimamo še vsebine sporočila skreiramo privzeto.
|
||||
echo '<span class="inv_error_note">';
|
||||
echo $lang['srv_invitation_note6'];
|
||||
echo '</span>';
|
||||
exit();
|
||||
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
@ -3694,29 +3692,41 @@ class SurveyInvitationsNew {
|
||||
$body_text = $sql_row_m['body_text'];
|
||||
$msg_url = $sql_row_m['url'];
|
||||
|
||||
$message_naslov = $sql_row_m['naslov'];
|
||||
# naslov za odgovor je avtor ankete
|
||||
$message_naslov = $sql_row_m['naslov'];
|
||||
|
||||
// naslov za odgovor je avtor ankete
|
||||
if ($this->validEmail($sql_row_m['reply_to'])) {
|
||||
$reply_to = $sql_row_m['reply_to'];
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
$reply_to = Common::getInstance()->getReplyToEmail();
|
||||
}
|
||||
# prejeminki besedila
|
||||
$sql_string = "SELECT id,firstname, lastname, email, password, password, cookie, phone, salutation, custom, relation FROM srv_invitations_recipients WHERE ank_id = '".$this->sid."' AND deleted='0' AND id IN(".implode(',',$rids).") order by id";
|
||||
$sql_query = sisplet_query($sql_string);
|
||||
}
|
||||
|
||||
// prejeminki besedila
|
||||
$sql_query = sisplet_query("SELECT id, firstname, lastname, email, password, password, cookie, phone, salutation, custom, relation
|
||||
FROM srv_invitations_recipients
|
||||
WHERE ank_id = '".$this->sid."' AND deleted='0' AND id IN (".implode(',',$rids).")
|
||||
ORDER BY id
|
||||
");
|
||||
|
||||
# polovimo sistemske spremenljivke z vrednostmi
|
||||
$strSistemske = "SELECT s.id, s.naslov, s.variable FROM srv_spremenljivka s, srv_grupa g WHERE s.sistem='1' AND s.gru_id=g.id AND g.ank_id='".$this->sid."' AND variable IN("."'" . implode("','",$this->inv_variables)."') ORDER BY g.vrstni_red, s.vrstni_red";
|
||||
$qrySistemske = sisplet_query($strSistemske);
|
||||
// polovimo sistemske spremenljivke z vrednostmi
|
||||
$qrySistemske = sisplet_query("SELECT s.id, s.naslov, s.variable
|
||||
FROM srv_spremenljivka s, srv_grupa g
|
||||
WHERE s.sistem='1' AND s.gru_id=g.id AND g.ank_id='".$this->sid."' AND variable IN ("."'" . implode("','",$this->inv_variables)."')
|
||||
ORDER BY g.vrstni_red, s.vrstni_red
|
||||
");
|
||||
$sys_vars = array();
|
||||
$sys_vars_ids = array();
|
||||
while ($row = mysqli_fetch_assoc($qrySistemske)) {
|
||||
|
||||
while ($row = mysqli_fetch_assoc($qrySistemske)) {
|
||||
$sys_vars[$row['id']] = array('id'=>$row['id'], 'variable'=>$row['variable'],'naslov'=>$row['naslov']);
|
||||
$sys_vars_ids[] = $row['id'];
|
||||
}
|
||||
$sqlVrednost = sisplet_query("SELECT spr_id, id AS vre_id, vrstni_red, variable FROM srv_vrednost WHERE spr_id IN(".implode(',',$sys_vars_ids).") ORDER BY vrstni_red ASC ");
|
||||
|
||||
$sqlVrednost = sisplet_query("SELECT spr_id, id AS vre_id, vrstni_red, variable FROM srv_vrednost WHERE spr_id IN(".implode(',',$sys_vars_ids).") ORDER BY vrstni_red ASC ");
|
||||
while ($row = mysqli_fetch_assoc($sqlVrednost)) {
|
||||
// Ce gre za odnos imamo radio
|
||||
|
||||
// Ce gre za odnos imamo radio
|
||||
if($sys_vars[$row['spr_id']]['variable'] == 'odnos'){
|
||||
if(!isset($sys_vars[$row['spr_id']]['vre_id'][$row['vrstni_red']]))
|
||||
$sys_vars[$row['spr_id']]['vre_id'][$row['variable']] = $row['vre_id'];
|
||||
@ -3728,13 +3738,13 @@ class SurveyInvitationsNew {
|
||||
|
||||
# zakeširamo user_id za datapiping
|
||||
$arryDataPiping = array();
|
||||
$strDataPiping = "SELECT id,inv_res_id FROM srv_user WHERE ank_id='$this->sid' AND inv_res_id IS NOT NULL";
|
||||
$qryDataPiping = sisplet_query($strDataPiping);
|
||||
$qryDataPiping = sisplet_query("SELECT id,inv_res_id FROM srv_user WHERE ank_id='$this->sid' AND inv_res_id IS NOT NULL");
|
||||
while (list($dpUid,$dpInvResId) = mysqli_fetch_row($qryDataPiping)) {
|
||||
if ((int)$dpInvResId > 0 && (int)$dpUid > 0) {
|
||||
$arryDataPiping[$dpInvResId] = (int)$dpUid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# array za rezultate
|
||||
$send_ok = array();
|
||||
$send_ok_ids = array();
|
||||
@ -3756,62 +3766,64 @@ class SurveyInvitationsNew {
|
||||
if (!Common::checkModule('gorenje')){
|
||||
global $site_url, $global_user_id;
|
||||
|
||||
$sqlinfo_string = "SELECT email, name, surname FROM users WHERE id = '".$global_user_id."'";
|
||||
$sqlinfo_query = sisplet_query($sqlinfo_string);
|
||||
$sqlinfo_query = sisplet_query("SELECT email, name, surname FROM users WHERE id = '".$global_user_id."'");
|
||||
list($infoEmail,$infoName,$infoSurname) = mysqli_fetch_row($sqlinfo_query);
|
||||
$infourl = '<a href="'.$site_url.'admin/survey/index.php?anketa='.$this->sid.'">anketi</a>';
|
||||
|
||||
$infourl = '<a href="'.$site_url.'admin/survey/index.php?anketa='.$this->sid.'">anketi</a>';
|
||||
$format = $lang['srv_inv_send_finish_note'];
|
||||
|
||||
$info1ka_mass_email_note = sprintf($format, $infoName, $infoSurname, $infoEmail, $infourl, $numRows);
|
||||
|
||||
try
|
||||
{
|
||||
try{
|
||||
$MA = new MailAdapter($this->sid, $type='admin');
|
||||
$MA->addRecipients('info@1ka.si');
|
||||
$resultX = $MA->sendMail($info1ka_mass_email_note, 'Masovno pošiljanje vabil (poslanih več kot '.NOTIFY_INFO1KA.')');
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
catch (Exception $e){
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Pripravimo arhiv pošiljanj, da dobimo arch_id
|
||||
$sql_string_all = "SELECT count(*) FROM srv_invitations_recipients WHERE ank_id = '".$this->sid."' AND deleted = '0'";
|
||||
$sql_query_all = sisplet_query($sql_string_all);
|
||||
// Pripravimo arhiv pošiljanj, da dobimo arch_id
|
||||
$sql_query_all = sisplet_query("SELECT count(*) FROM srv_invitations_recipients WHERE ank_id = '".$this->sid."' AND deleted = '0'");
|
||||
list($count_all) = mysqli_fetch_row($sql_query_all);
|
||||
|
||||
$archive_naslov = 'mailing_'.date("d.m.Y").', '.date("H:i:s");
|
||||
$sqlString = "INSERT INTO srv_invitations_archive (id, ank_id, date_send, subject_text, body_text, uid, comment, naslov, rec_in_db)"
|
||||
." VALUES (NULL , '$this->sid', '$date_sent', '".addslashes($subject_text)."', '".addslashes($body_text)."', '$global_user_id','$comment','$archive_naslov','$count_all')";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
$sqlQuery = sisplet_query("INSERT INTO srv_invitations_archive
|
||||
(id, ank_id, date_send, subject_text, body_text, uid, comment, naslov, rec_in_db)
|
||||
VALUES
|
||||
(NULL , '$this->sid', '$date_sent', '".addslashes($subject_text)."', '".addslashes($body_text)."', '$global_user_id','$comment','$archive_naslov','$count_all')
|
||||
");
|
||||
|
||||
$arch_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
$duplicated = array();
|
||||
|
||||
while ($sql_row = mysqli_fetch_assoc($sql_query)) {
|
||||
#password == code
|
||||
|
||||
$password = $sql_row['password'];
|
||||
|
||||
$email = $sql_row['email'];
|
||||
if ($dont_send_duplicated == true && isset($duplicated[$email])) {
|
||||
$duplicated[$email] ++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$duplicated[$email] = 1;
|
||||
$individual = (int)$this->surveySettings['individual_invitation'];
|
||||
if (($individual == 1 && trim($email) != '' && trim($password) != '')
|
||||
|| ($individual == 0 && trim($email) != '' )){
|
||||
$individual = (int)$this->surveySettings['individual_invitation'];
|
||||
|
||||
if ( ($individual == 1 && trim($email) != '' && trim($password) != '') || ($individual == 0 && trim($email) != '') ){
|
||||
|
||||
# odvisno ali imamo url za jezik.
|
||||
// odvisno ali imamo url za jezik.
|
||||
if ($msg_url != null && trim($msg_url) != '' ) {
|
||||
$url = $msg_url . ($individual == 1 ? '?code='.$password : '');
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
$url = $nice_url . ($individual == 1 ? '&code='.$password : '');
|
||||
}
|
||||
|
||||
$url .= '&ai='.(int)$arch_id;
|
||||
#odjava
|
||||
|
||||
// odjava
|
||||
$unsubscribe = $site_url . 'admin/survey/unsubscribe.php?anketa=' . $this->sid . '&code='.$password;
|
||||
|
||||
$user_body_text = str_replace(
|
||||
@ -3847,21 +3859,19 @@ class SurveyInvitationsNew {
|
||||
);
|
||||
|
||||
|
||||
# naredimo DataPiping;
|
||||
// naredimo DataPiping;
|
||||
if (isset($arryDataPiping[$sql_row['id']])) {
|
||||
$user_body_text = Common::getInstance()->dataPiping($user_body_text, $arryDataPiping[$sql_row['id']], 0);
|
||||
}
|
||||
$resultX = null;
|
||||
|
||||
try
|
||||
{
|
||||
try{
|
||||
$MA = new MailAdapter($this->sid, $type='invitation');
|
||||
$MA->addRecipients($email);
|
||||
$resultX = $MA->sendMail($user_body_text, $subject_text);
|
||||
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
catch (Exception $e){
|
||||
// todo fajn bi bilo zalogirat kaj se dogaja
|
||||
$__error = $e->getMessage();
|
||||
$__errStack = $e->getTraceAsString();
|
||||
@ -3873,54 +3883,108 @@ class SurveyInvitationsNew {
|
||||
$send_ok_ids[] = $sql_row['id'];
|
||||
$_user_data['status'] = 1;
|
||||
# poslalo ok
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
// ni poslalo
|
||||
$send_error[] = $email;
|
||||
$send_error_ids[] = $sql_row['id'];
|
||||
$_user_data['status'] = 2;
|
||||
}
|
||||
|
||||
$send_users_data[] = $_user_data;
|
||||
$send_users_data[] = $_user_data;
|
||||
|
||||
|
||||
// updejtamo userja da mu je bilo poslano - PO NOVEM TO DELAMO SPROTI
|
||||
if ( count($send_ok_ids) > 0) {
|
||||
|
||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients SET sent = '1', date_sent = '".$date_sent."' WHERE id IN (".implode(',',$send_ok_ids).")");
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
|
||||
// statuse popravimo samo če vabilo še ni bilo poslano ali je bila napaka
|
||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients SET last_status = '1' WHERE id IN (".implode(',',$send_ok_ids).") AND last_status IN ('0','2')");
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
}
|
||||
|
||||
# updejtamo status za errorje
|
||||
if ( count($send_error_ids) > 0) {
|
||||
|
||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients SET last_status = GREATEST(last_status,2) WHERE id IN (".implode(',',$send_error_ids).") AND last_status IN ('0')");
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// če mamo personalizirana email vabila, userje dodamo v bazo
|
||||
if ($individual == 1) {
|
||||
|
||||
// dodamo še userja v srv_user da je kompatibilno s staro logiko
|
||||
$strInsertDataText = array();
|
||||
$strInsertDataVrednost = array();
|
||||
|
||||
$_r = sisplet_query("INSERT INTO srv_user
|
||||
(ank_id, email, cookie, pass, last_status, time_insert, inv_res_id)
|
||||
VALUES
|
||||
('".$this->sid."', '".$_user_data['email']."', '".$_user_data['cookie']."', '".$_user_data['password']."', '".$_user_data['status']."', NOW(), '".$_user_data['id']."') ON DUPLICATE KEY UPDATE cookie = '".$_user_data['cookie']."', pass='".$_user_data['password']."'
|
||||
");
|
||||
$usr_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
|
||||
if ($usr_id) {
|
||||
|
||||
// dodamo še srv_userbase in srv userstatus
|
||||
sisplet_query("INSERT INTO srv_userbase (usr_id, tip, datetime, admin_id) VALUES ('".$usr_id."','0',NOW(),'".$global_user_id."')");
|
||||
sisplet_query("INSERT INTO srv_userstatus (usr_id, tip, status, datetime) VALUES ('".$usr_id."', '0', '0', NOW())");
|
||||
|
||||
// dodamo še podatke za posameznega userja za sistemske spremenljivke
|
||||
foreach ($sys_vars AS $sid => $spremenljivka) {
|
||||
|
||||
$_user_variable = $this->inv_variables_link[$spremenljivka['variable']];
|
||||
|
||||
if (trim($_user_data[$_user_variable]) != '' && $_user_data[$_user_variable] != null) {
|
||||
if($spremenljivka['variable'] == 'odnos')
|
||||
$strInsertDataVrednost[] = "('".$sid."','".$spremenljivka['vre_id'][trim($_user_data[$_user_variable])]."','".$usr_id."')";
|
||||
else
|
||||
$strInsertDataText[] = "('".$sid."','".$spremenljivka['vre_id']."','".trim($_user_data[$_user_variable])."','".$usr_id."')";
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// lahko da user že obstaja in je šlo za duplicated keys
|
||||
}
|
||||
|
||||
// vstavimo v srv_data_text
|
||||
if (count($strInsertDataText) > 0) {
|
||||
$strInsert = "INSERT INTO srv_data_text".$this->db_table." (spr_id, vre_id, text, usr_id) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertDataText);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
// vstavimo v srv_data_vrednost
|
||||
if (count($strInsertDataVrednost) > 0) {
|
||||
$strInsert = "INSERT INTO srv_data_vrednost".$this->db_table." (spr_id, vre_id, usr_id) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertDataVrednost);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# updejtamo userja da mu je bilo poslano
|
||||
if ( count($send_ok_ids) > 0) {
|
||||
$sqlString = "UPDATE srv_invitations_recipients SET sent = '1', date_sent = '".$date_sent."' WHERE id IN (".implode(',',$send_ok_ids).")";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
#statuse popravimo samo če vabilo še ni bilo poslano ali je bila napaka
|
||||
$sqlString = "UPDATE srv_invitations_recipients SET last_status = '1' WHERE id IN (".implode(',',$send_ok_ids).") AND last_status IN ('0','2')";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
}
|
||||
|
||||
# updejtamo status za errorje
|
||||
if ( count($send_error_ids) > 0) {
|
||||
$sqlString = "UPDATE srv_invitations_recipients SET last_status = GREATEST(last_status,2) WHERE id IN (".implode(',',$send_error_ids).") AND last_status IN ('0')";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
}
|
||||
$comment = $_POST['comment'];
|
||||
|
||||
#dodajmo še userje v povezovalno tabelo
|
||||
// dodajmo še userje v povezovalno tabelo (arhiv)
|
||||
if ($arch_id > 0) {
|
||||
# updejtamo še tabelo arhivov
|
||||
$sqlString = "UPDATE srv_invitations_archive SET cnt_succsess='".count($send_ok_ids)."', cnt_error='".count($send_error_ids)."' WHERE id ='$arch_id'";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
|
||||
// updejtamo še tabelo arhivov
|
||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_archive SET cnt_succsess='".count($send_ok_ids)."', cnt_error='".count($send_error_ids)."' WHERE id ='$arch_id'");
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
|
||||
# za arhive
|
||||
// za arhive
|
||||
$_archive_recipients = array();
|
||||
# za tracking
|
||||
// za tracking
|
||||
$_tracking = array();
|
||||
|
||||
if (count($send_ok_ids) > 0) {
|
||||
@ -3929,7 +3993,8 @@ class SurveyInvitationsNew {
|
||||
#status 1=pošta poslana
|
||||
$_tracking[] = "('$arch_id',NOW(),'$id','1')";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (count($send_error_ids) > 0) {
|
||||
foreach ( $send_error_ids AS $id) {
|
||||
$_archive_recipients[] = "('$arch_id','$id','0')";
|
||||
@ -3942,7 +4007,8 @@ class SurveyInvitationsNew {
|
||||
$sqlString = 'INSERT INTO srv_invitations_archive_recipients (arch_id,rec_id,success) VALUES ';
|
||||
$sqlString .= implode(', ', $_archive_recipients);
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($_tracking) > 0) {
|
||||
$sqlStrTracking = "INSERT INTO srv_invitations_tracking (inv_arch_id, time_insert, res_id, status) VALUES ";
|
||||
$sqlStrTracking .= implode(', ', $_tracking);
|
||||
@ -3950,88 +4016,29 @@ class SurveyInvitationsNew {
|
||||
}
|
||||
}
|
||||
|
||||
sisplet_query("COMMIT");
|
||||
|
||||
# če mamo personalizirana email vabila, userje dodamo v bazo
|
||||
if ($individual == 1 && count($send_users_data) > 0) {
|
||||
# dodamo še userja v srv_user da je kompatibilno s staro logiko
|
||||
$strInsertDataText = array();
|
||||
$strInsertUserbase = array();
|
||||
$strInsertUserstatus = array();
|
||||
|
||||
foreach ($send_users_data AS $user_data) {
|
||||
#spodnji query nekako ni dobro naredil updejta ker je zamenjal last_status, po novem po potrebi samo zamenjamo kodo.
|
||||
#$strInsert = "INSERT INTO srv_user (ank_id, email, cookie, pass, last_status, time_insert, inv_res_id) VALUES ('".$this->sid."', '".$user_data['email']."', '".$user_data['cookie']."', '".$user_data['password']."', '".$user_data['status']."', NOW(), '".$user_data['id']."') ON DUPLICATE KEY UPDATE last_status=VALUES(last_status), inv_res_id=VALUES(inv_res_id)";
|
||||
$strInsert = "INSERT INTO srv_user (ank_id, email, cookie, pass, last_status, time_insert, inv_res_id) VALUES ('".$this->sid."', '".$user_data['email']."', '".$user_data['cookie']."', '".$user_data['password']."', '".$user_data['status']."', NOW(), '".$user_data['id']."') ON DUPLICATE KEY UPDATE cookie = '".$user_data['cookie']."', pass='".$user_data['password']."'";
|
||||
$_r = sisplet_query($strInsert);
|
||||
$usr_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
sisplet_query("COMMIT");
|
||||
|
||||
if ($usr_id) {
|
||||
# dodamo še srv_userbase in srv userstatus
|
||||
$strInsertUserbase[] = "('".$usr_id."','0',NOW(),'".$global_user_id."')";
|
||||
$strInsertUserstatus[] = "('".$usr_id."', '0', '0', NOW())";
|
||||
|
||||
# dodamo še podatke za posameznega userja za sistemske spremenljivke
|
||||
foreach ($sys_vars AS $sid => $spremenljivka) {
|
||||
$_user_variable = $this->inv_variables_link[$spremenljivka['variable']];
|
||||
if (trim($user_data[$_user_variable]) != '' && $user_data[$_user_variable] != null) {
|
||||
if($spremenljivka['variable'] == 'odnos')
|
||||
$strInsertDataVrednost[] = "('".$sid."','".$spremenljivka['vre_id'][trim($user_data[$_user_variable])]."','".$usr_id."')";
|
||||
else
|
||||
$strInsertDataText[] = "('".$sid."','".$spremenljivka['vre_id']."','".trim($user_data[$_user_variable])."','".$usr_id."')";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// lahko da user že obstaja in je šlo za duplicated keys
|
||||
}
|
||||
}
|
||||
|
||||
# vstavimo v srv_userbase
|
||||
if (count($strInsertUserbase) > 0) {
|
||||
$strInsert = "INSERT INTO srv_userbase (usr_id, tip, datetime, admin_id) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertUserbase);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
# vstavimo v srv_userstatus
|
||||
if (count($strInsertUserstatus) > 0) {
|
||||
$strInsert = "INSERT INTO srv_userstatus (usr_id, tip, status, datetime) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertUserstatus);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
# vstavimo v srv_data_text
|
||||
if (count($strInsertDataText) > 0) {
|
||||
$strInsert = "INSERT INTO srv_data_text".$this->db_table." (spr_id, vre_id, text, usr_id) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertDataText);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
# vstavimo v srv_data_vrednost
|
||||
if (count($strInsertDataVrednost) > 0) {
|
||||
$strInsert = "INSERT INTO srv_data_vrednost".$this->db_table." (spr_id, vre_id, usr_id) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertDataVrednost);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
|
||||
sisplet_query("COMMIT");
|
||||
}
|
||||
|
||||
|
||||
// Izpis rezultatov - errors and successes
|
||||
if (count($send_error) > 0 ) {
|
||||
$return['error'] = '1';
|
||||
|
||||
$return['msg'] = '<div class="inv_send_message">'.$lang['srv_invitation_note7'].count($send_error).'</div>';
|
||||
} else if (count($send_ok) > 0 ) {
|
||||
list($name,$surname,$email) = mysqli_fetch_row(sisplet_query("SELECT name, surname,email FROM users WHERE id='$global_user_id'"));
|
||||
}
|
||||
else if (count($send_ok) > 0 ) {
|
||||
|
||||
list($name,$surname,$email) = mysqli_fetch_row(sisplet_query("SELECT name, surname,email FROM users WHERE id='$global_user_id'"));
|
||||
$who='';
|
||||
if (trim($name) != '') {
|
||||
|
||||
if (trim($name) != '') {
|
||||
$who = $name;
|
||||
}
|
||||
}
|
||||
|
||||
if (trim($surname) != '') {
|
||||
if ($who != '') {
|
||||
$who .=' ';
|
||||
}
|
||||
$who .= $surname;
|
||||
}
|
||||
}
|
||||
|
||||
if ($email != '') {
|
||||
if ($who != '') {
|
||||
$who .=' ('.$email.')';
|
||||
@ -4069,10 +4076,12 @@ class SurveyInvitationsNew {
|
||||
|
||||
// Seznam mailov na katere je bilo uspesno poslano
|
||||
if (count($send_ok) > 0) {
|
||||
$return['msg'] .= '<div class="inv_send_message">';
|
||||
$return['msg'] .= '<div class="inv_send_message">';
|
||||
|
||||
foreach ($send_ok AS $email) {
|
||||
$return['msg'] .= ' '.$email.'<br/>';
|
||||
}
|
||||
}
|
||||
|
||||
$return['msg'] .= '</div>';
|
||||
}
|
||||
}
|
||||
@ -4113,7 +4122,8 @@ class SurveyInvitationsNew {
|
||||
&& isset($_POST['_token'])
|
||||
&& $_SESSION['snd_inv_token'][$this->sid] != null
|
||||
&& $_SESSION['snd_inv_token'][$this->sid] == isset($_POST['_token'])) {
|
||||
# na send smo kliknili samo 1x
|
||||
|
||||
# na send smo kliknili samo 1x
|
||||
unset($_SESSION['snd_inv_token'][$this->sid]);
|
||||
|
||||
session_commit();
|
||||
@ -4137,26 +4147,22 @@ class SurveyInvitationsNew {
|
||||
}
|
||||
|
||||
// Preberemo tip posiljanja (navadna posta, sms...)
|
||||
//$noMail_type = (isset($_POST['noMailType'])) ? $_POST['noMailType'] : '1';
|
||||
$noMail_type = SurveySession::get('inv_noEmailing_type');
|
||||
|
||||
#Pripravimo arhiv pošiljanj, da dobimo arch_id
|
||||
$sql_string_all = "SELECT count(*) FROM srv_invitations_recipients WHERE ank_id = '".$this->sid."' AND deleted = '0'";
|
||||
$sql_query_all = sisplet_query($sql_string_all);
|
||||
// Pripravimo arhiv pošiljanj, da dobimo arch_id
|
||||
$sql_query_all = sisplet_query("SELECT count(*) FROM srv_invitations_recipients WHERE ank_id = '".$this->sid."' AND deleted = '0'");
|
||||
list($count_all) = mysqli_fetch_row($sql_query_all);
|
||||
|
||||
$date_sent = date ("Y-m-d H:i:s");
|
||||
$archive_naslov = 'mailing_'.date("d.m.Y").', '.date("H:i:s");
|
||||
|
||||
// Naslov in body
|
||||
//$subject_text = $lang['srv_inv_message_noemailing_subject'];
|
||||
//$body_text = '';
|
||||
# polovimo sporočilo in prejemnike
|
||||
$sql_string_m = "SELECT id, subject_text, body_text, reply_to, isdefault, comment, naslov, url FROM srv_invitations_messages WHERE ank_id = '$this->sid' AND isdefault='1'";
|
||||
$sql_query_m = sisplet_query($sql_string_m);
|
||||
// polovimo sporočilo in prejemnike
|
||||
$sql_query_m = sisplet_query("SELECT id, subject_text, body_text, reply_to, isdefault, comment, naslov, url FROM srv_invitations_messages WHERE ank_id = '$this->sid' AND isdefault='1'");
|
||||
if (mysqli_num_rows($sql_query_m) > 0 ) {
|
||||
$sql_row_m = mysqli_fetch_assoc($sql_query_m);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
$subject_text = $lang['srv_inv_message_noemailing_subject'];
|
||||
$body_text = '';
|
||||
}
|
||||
@ -4166,26 +4172,33 @@ class SurveyInvitationsNew {
|
||||
$msg_url = $sql_row_m['url'];
|
||||
|
||||
// Vstavimo podatke v arhiv
|
||||
$sqlString = "INSERT INTO srv_invitations_archive (id, ank_id, date_send, subject_text, body_text, tip, uid, comment, naslov, rec_in_db)"
|
||||
." VALUES (NULL , '$this->sid', '$date_sent', '".addslashes($subject_text)."', '".addslashes($body_text)."', '$noMail_type', '$global_user_id', '$comment', '$archive_naslov', '$count_all')";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
$sqlQuery = sisplet_query("INSERT INTO srv_invitations_archive
|
||||
(id, ank_id, date_send, subject_text, body_text, tip, uid, comment, naslov, rec_in_db)
|
||||
VALUES
|
||||
(NULL , '$this->sid', '$date_sent', '".addslashes($subject_text)."', '".addslashes($body_text)."', '$noMail_type', '$global_user_id', '$comment', '$archive_naslov', '$count_all')
|
||||
");
|
||||
|
||||
$arch_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
$duplicated = array();
|
||||
|
||||
|
||||
# polovimo sistemske spremenljivke z vrednostmi
|
||||
$strSistemske = "SELECT s.id, s.naslov, s.variable FROM srv_spremenljivka s, srv_grupa g WHERE s.sistem='1' AND s.gru_id=g.id AND g.ank_id='".$this->sid."' AND variable IN("."'" . implode("','",$this->inv_variables)."') ORDER BY g.vrstni_red, s.vrstni_red";
|
||||
$qrySistemske = sisplet_query($strSistemske);
|
||||
// polovimo sistemske spremenljivke z vrednostmi
|
||||
$qrySistemske = sisplet_query("SELECT s.id, s.naslov, s.variable
|
||||
FROM srv_spremenljivka s, srv_grupa g
|
||||
WHERE s.sistem='1' AND s.gru_id=g.id AND g.ank_id='".$this->sid."' AND variable IN ("."'" . implode("','",$this->inv_variables)."')
|
||||
ORDER BY g.vrstni_red, s.vrstni_red
|
||||
");
|
||||
$sys_vars = array();
|
||||
$sys_vars_ids = array();
|
||||
while ($row = mysqli_fetch_assoc($qrySistemske)) {
|
||||
$sys_vars[$row['id']] = array('id'=>$row['id'], 'variable'=>$row['variable'],'naslov'=>$row['naslov']);
|
||||
$sys_vars_ids[] = $row['id'];
|
||||
}
|
||||
}
|
||||
|
||||
$sqlVrednost = sisplet_query("SELECT spr_id, id AS vre_id, vrstni_red, variable FROM srv_vrednost WHERE spr_id IN(".implode(',',$sys_vars_ids).") ORDER BY vrstni_red ASC ");
|
||||
while ($row = mysqli_fetch_assoc($sqlVrednost)) {
|
||||
// Ce gre za odnos imamo radio
|
||||
|
||||
// Ce gre za odnos imamo radio
|
||||
if($sys_vars[$row['spr_id']]['variable'] == 'odnos'){
|
||||
if(!isset($sys_vars[$row['spr_id']]['vre_id'][$row['vrstni_red']]))
|
||||
$sys_vars[$row['spr_id']]['vre_id'][$row['variable']] = $row['vre_id'];
|
||||
@ -4196,11 +4209,14 @@ class SurveyInvitationsNew {
|
||||
}
|
||||
|
||||
|
||||
# prejeminki besedila
|
||||
$sql_string = "SELECT id,firstname, lastname, email, password, cookie, phone, salutation, custom, relation FROM srv_invitations_recipients WHERE ank_id = '".$this->sid."' AND deleted='0' AND id IN(".implode(',',$rids).") order by id";
|
||||
$sql_query = sisplet_query($sql_string);
|
||||
// prejeminki besedila
|
||||
$sql_query = sisplet_query("SELECT id, firstname, lastname, email, password, cookie, phone, salutation, custom, relation
|
||||
FROM srv_invitations_recipients
|
||||
WHERE ank_id = '".$this->sid."' AND deleted='0' AND id IN (".implode(',',$rids).")
|
||||
ORDER BY id
|
||||
");
|
||||
while ($sql_row = mysqli_fetch_assoc($sql_query)) {
|
||||
#password == code
|
||||
|
||||
$password = $sql_row['password'];
|
||||
|
||||
$email = $sql_row['email'];
|
||||
@ -4221,16 +4237,16 @@ class SurveyInvitationsNew {
|
||||
$send_users_data[] = $_user_data;
|
||||
}
|
||||
|
||||
# updejtamo userja da mu je bilo poslano
|
||||
// updejtamo userja da mu je bilo poslano
|
||||
if ( count($send_ok_ids) > 0) {
|
||||
$sqlString = "UPDATE srv_invitations_recipients SET sent = '1', date_sent = '".$date_sent."' WHERE id IN (".implode(',',$send_ok_ids).")";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
|
||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients SET sent = '1', date_sent = '".$date_sent."' WHERE id IN (".implode(',',$send_ok_ids).")");
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
#statuse popravimo samo če vabilo še ni bilo poslano ali je bila napaka
|
||||
$sqlString = "UPDATE srv_invitations_recipients SET last_status = '1' WHERE id IN (".implode(',',$send_ok_ids).") AND last_status IN ('0','2')";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
}
|
||||
|
||||
// statuse popravimo samo če vabilo še ni bilo poslano ali je bila napaka
|
||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients SET last_status = '1' WHERE id IN (".implode(',',$send_ok_ids).") AND last_status IN ('0','2')");
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
@ -4238,11 +4254,11 @@ class SurveyInvitationsNew {
|
||||
|
||||
$comment = $_POST['comment'];
|
||||
|
||||
#dodajmo še userje v povezovalno tabelo
|
||||
// dodajmo še userje v povezovalno tabelo
|
||||
if ($arch_id > 0) {
|
||||
# updejtamo še tabelo arhivov
|
||||
$sqlString = "UPDATE srv_invitations_archive SET cnt_succsess='".count($send_ok_ids)."' WHERE id ='$arch_id'";
|
||||
$sqlQuery = sisplet_query($sqlString);
|
||||
|
||||
// updejtamo še tabelo arhivov
|
||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_archive SET cnt_succsess='".count($send_ok_ids)."' WHERE id ='$arch_id'");
|
||||
if (!$sqlQuery) {
|
||||
$error = mysqli_error($GLOBALS['connect_db']);
|
||||
}
|
||||
@ -4282,10 +4298,12 @@ class SurveyInvitationsNew {
|
||||
$strInsertUserstatus = array();
|
||||
|
||||
foreach ($send_users_data AS $user_data) {
|
||||
#spodnji query nekako ni dobro naredil updejta ker je zamenjal last_status, po novem po potrebi samo zamenjamo kodo.
|
||||
#$strInsert = "INSERT INTO srv_user (ank_id, email, cookie, pass, last_status, time_insert, inv_res_id) VALUES ('".$this->sid."', '".$user_data['email']."', '".$user_data['cookie']."', '".$user_data['password']."', '".$user_data['status']."', NOW(), '".$user_data['id']."') ON DUPLICATE KEY UPDATE last_status=VALUES(last_status), inv_res_id=VALUES(inv_res_id)";
|
||||
$strInsert = "INSERT INTO srv_user (ank_id, email, cookie, pass, last_status, time_insert, inv_res_id) VALUES ('".$this->sid."', '".$user_data['email']."', '".$user_data['cookie']."', '".$user_data['password']."', '".$user_data['status']."', NOW(), '".$user_data['id']."') ON DUPLICATE KEY UPDATE cookie = '".$user_data['cookie']."', pass='".$user_data['password']."'";
|
||||
$_r = sisplet_query($strInsert);
|
||||
|
||||
$_r = sisplet_query("INSERT INTO srv_user
|
||||
(ank_id, email, cookie, pass, last_status, time_insert, inv_res_id)
|
||||
VALUES
|
||||
('".$this->sid."', '".$user_data['email']."', '".$user_data['cookie']."', '".$user_data['password']."', '".$user_data['status']."', NOW(), '".$user_data['id']."') ON DUPLICATE KEY UPDATE cookie = '".$user_data['cookie']."', pass='".$user_data['password']."'
|
||||
");
|
||||
$usr_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
sisplet_query("COMMIT");
|
||||
|
||||
@ -4301,24 +4319,25 @@ class SurveyInvitationsNew {
|
||||
$strInsertDataText[] = "('".$sid."','".$spremenljivka['vre_id']."','".trim($user_data[$_user_variable])."','".$usr_id."')";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
// lahko da user že obstaja in je šlo za duplicated keys
|
||||
}
|
||||
}
|
||||
|
||||
# vstavimo v srv_userbase
|
||||
// vstavimo v srv_userbase
|
||||
if (count($strInsertUserbase) > 0) {
|
||||
$strInsert = "INSERT INTO srv_userbase (usr_id, tip, datetime, admin_id) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertUserbase);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
# vstavimo v srv_userstatus
|
||||
// vstavimo v srv_userstatus
|
||||
if (count($strInsertUserstatus) > 0) {
|
||||
$strInsert = "INSERT INTO srv_userstatus (usr_id, tip, status, datetime) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertUserstatus);
|
||||
sisplet_query($strInsert);
|
||||
}
|
||||
# vstavimo v srv_data_text
|
||||
// vstavimo v srv_data_text
|
||||
if (count($strInsertDataText) > 0) {
|
||||
$strInsert = "INSERT INTO srv_data_text".$this->db_table." (spr_id, vre_id, text, usr_id) VALUES ";
|
||||
$strInsert .= implode(',',$strInsertDataText);
|
||||
@ -4330,36 +4349,42 @@ class SurveyInvitationsNew {
|
||||
|
||||
|
||||
if (count($send_ok) > 0 ) {
|
||||
list($name,$surname,$email) = mysqli_fetch_row(sisplet_query("SELECT name, surname,email FROM users WHERE id='$global_user_id'"));
|
||||
$who='';
|
||||
|
||||
list($name,$surname,$email) = mysqli_fetch_row(sisplet_query("SELECT name, surname, email FROM users WHERE id='$global_user_id'"));
|
||||
$who='';
|
||||
|
||||
if (trim($name) != '') {
|
||||
$who = $name;
|
||||
}
|
||||
}
|
||||
|
||||
if (trim($surname) != '') {
|
||||
if ($who != '') {
|
||||
$who .=' ';
|
||||
}
|
||||
$who .= $surname;
|
||||
}
|
||||
}
|
||||
|
||||
if ($email != '') {
|
||||
if ($who != '') {
|
||||
$who .=' ('.$email.')';
|
||||
} else {
|
||||
$who = $email;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$return['error'] = '0';
|
||||
}
|
||||
else {
|
||||
$return['error'] = '0';
|
||||
$return['msg'] = '<div class="inv_send_message">'.'<strong>'.$lang['srv_invitation_note9'].'</strong></div><br/>';
|
||||
}
|
||||
|
||||
} else {
|
||||
}
|
||||
}
|
||||
else {
|
||||
#old session token
|
||||
$return['msg'] = '<div class="inv_send_message"><span class="red strong">'.$lang['srv_invitation_note13'].'</span>'.'</div>';
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
#nimamo $rids
|
||||
$return['msg'] = '<div class="inv_send_message">'.$lang['srv_invitation_note14'].'</div>';
|
||||
}
|
||||
@ -4368,7 +4393,6 @@ class SurveyInvitationsNew {
|
||||
Common::getInstance()->Init($anketa);
|
||||
Common::getInstance()->updateEditStamp();
|
||||
|
||||
#$this->viewAarchive($return['msg']);
|
||||
$this->viewSendMailFinish($return['msg']);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user