Squalo vabila - v grobem zakljucena
This commit is contained in:
parent
b428afd40b
commit
f24bb5c298
@ -849,12 +849,33 @@ class SurveyAdminAjax {
|
|||||||
$this->anketa = $_POST['anketa'];
|
$this->anketa = $_POST['anketa'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$MA = new MailAdapter($this->anketa, $type='alert');
|
// Squalo vklopljen
|
||||||
|
if(isset($_POST['squalo_mode'])){
|
||||||
|
|
||||||
|
// Squalo vklopljen
|
||||||
|
if($_POST['squalo_mode'] == '1'){echo $_POST['squalo_mode'];
|
||||||
|
sisplet_query("UPDATE srv_anketa_module SET vrednost='2' WHERE ank_id='".$this->anketa."' AND modul='email'");
|
||||||
|
}
|
||||||
|
// Squalo izklopljen
|
||||||
|
else{
|
||||||
|
sisplet_query("UPDATE srv_anketa_module SET vrednost='1' WHERE ank_id='".$this->anketa."' AND modul='email'");
|
||||||
|
|
||||||
|
$MA = new MailAdapter($this->anketa, $type='alert');
|
||||||
|
|
||||||
$settings = $MA->getSettingsFromRequest($_REQUEST);
|
$settings = $MA->getSettingsFromRequest($_REQUEST);
|
||||||
$mode = $_REQUEST['SMTPMailMode'];
|
$mode = $_REQUEST['SMTPMailMode'];
|
||||||
|
|
||||||
|
$MA->setSettings($mode, $settings);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$MA = new MailAdapter($this->anketa, $type='alert');
|
||||||
|
|
||||||
$MA->setSettings($mode, $settings);
|
$settings = $MA->getSettingsFromRequest($_REQUEST);
|
||||||
|
$mode = $_REQUEST['SMTPMailMode'];
|
||||||
|
|
||||||
|
$MA->setSettings($mode, $settings);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} elseif ($_GET['m'] == 'predvidenicasi') { // predvideni casi
|
} elseif ($_GET['m'] == 'predvidenicasi') { // predvideni casi
|
||||||
foreach($_POST AS $key => $val) {
|
foreach($_POST AS $key => $val) {
|
||||||
|
@ -485,8 +485,7 @@ class SurveyCopy {
|
|||||||
'edit_time' => "NOW()",
|
'edit_time' => "NOW()",
|
||||||
'folder' => "'1'",
|
'folder' => "'1'",
|
||||||
'forum' => "'0'",
|
'forum' => "'0'",
|
||||||
'thread' => "'0'",
|
'thread' => "'0'");
|
||||||
'old_email_style' => "'0'");
|
|
||||||
|
|
||||||
# user_id ni enak če je anketa na drugem strežniku zato v tem primeru damo -1 da na drugem strežniku vemo da je to kopija od drugod
|
# user_id ni enak če je anketa na drugem strežniku zato v tem primeru damo -1 da na drugem strežniku vemo da je to kopija od drugod
|
||||||
if (self::$destSite != 0) {
|
if (self::$destSite != 0) {
|
||||||
|
85
admin/survey/classes/mobile/class.MobileSurveyAdmin.php
Normal file
85
admin/survey/classes/mobile/class.MobileSurveyAdmin.php
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class, ki skrbi za mobile izris admin vmesnika
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class MobileSurveyAdmin extends SurveyAdmin{
|
||||||
|
|
||||||
|
|
||||||
|
function __construct(){
|
||||||
|
global $site_url;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Izris glave z menijem
|
||||||
|
public function displayMobileHeader(){
|
||||||
|
|
||||||
|
echo '<div class="mobile_header">';
|
||||||
|
|
||||||
|
// Meni
|
||||||
|
$this->displayMobileMenu();
|
||||||
|
|
||||||
|
// Logo
|
||||||
|
echo '<div class="mobile_logo"></div>';
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Izris menija
|
||||||
|
private function displayMobileMenu(){
|
||||||
|
|
||||||
|
echo '<div class="mobile_menu">';
|
||||||
|
|
||||||
|
// Izris uporabniških podatkov v dropdownu
|
||||||
|
$this->displayMobileMenuUser();
|
||||||
|
|
||||||
|
// Izris glavne navigacije v dropdownu
|
||||||
|
$this->displayMobileMenuNavigation();
|
||||||
|
|
||||||
|
// Izris akcij za anketo (kopiraj, brisi...) v dropdownu
|
||||||
|
$this->displayMobileMenuActions();
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Izris uporabniških podatkov v dropdownu
|
||||||
|
private function displayMobileMenuUser(){
|
||||||
|
|
||||||
|
echo '<div class="mobile_menu_user">';
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Izris glavne navigacije v dropdownu
|
||||||
|
private function displayMobileMenuNavigation(){
|
||||||
|
|
||||||
|
echo '<div class="mobile_menu_navigation">';
|
||||||
|
|
||||||
|
echo '<span class="">Urejanje</span>';
|
||||||
|
echo '<span class="">Testiranje</span>';
|
||||||
|
echo '<span class="">Objava</span>';
|
||||||
|
echo '<span class="">Podatki</span>';
|
||||||
|
echo '<span class="">Analiza</span>';
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Izris akcij za anketo (kopiraj, brisi...) v dropdownu
|
||||||
|
private function displayMobileMenuActions(){
|
||||||
|
|
||||||
|
echo '<div class="mobile_menu_actions">';
|
||||||
|
|
||||||
|
echo '<span class="">Kopiraj anketo</span>';
|
||||||
|
echo '<span class="">Brisi anketo</span>';
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -13,6 +13,7 @@ define('GROUP_PAGINATE', 4); # po kolko strani grupira pri paginaciji
|
|||||||
define('REC_ON_PAGE', 10); # kolko zapisov na stran pri urejanju respondentov
|
define('REC_ON_PAGE', 10); # kolko zapisov na stran pri urejanju respondentov
|
||||||
define('REC_ON_SEND_PAGE', 20); # kolko zapisov na stran pri pošiljanju
|
define('REC_ON_SEND_PAGE', 20); # kolko zapisov na stran pri pošiljanju
|
||||||
define('NOTIFY_INFO1KA', 5); # Nad koliko emaili obveščamo info@1ka.si
|
define('NOTIFY_INFO1KA', 5); # Nad koliko emaili obveščamo info@1ka.si
|
||||||
|
|
||||||
set_time_limit(2400); # 30 minut
|
set_time_limit(2400); # 30 minut
|
||||||
|
|
||||||
class SurveyInvitationsNew {
|
class SurveyInvitationsNew {
|
||||||
@ -3884,7 +3885,7 @@ class SurveyInvitationsNew {
|
|||||||
|
|
||||||
// Loop po prejemnikih in posiljanje mailov
|
// Loop po prejemnikih in posiljanje mailov
|
||||||
$squalo = new SurveyInvitationsSqualo($this->sid);
|
$squalo = new SurveyInvitationsSqualo($this->sid);
|
||||||
if($squalo->squaloActive()){
|
if($squalo->getSqualoActive()){
|
||||||
$sending_results = $squalo->sendSqualoInvitations($sql_query, $sending_data);
|
$sending_results = $squalo->sendSqualoInvitations($sql_query, $sending_data);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -5931,32 +5932,22 @@ class SurveyInvitationsNew {
|
|||||||
$delimit = $convertTypes['delimit'];
|
$delimit = $convertTypes['delimit'];
|
||||||
}
|
}
|
||||||
|
|
||||||
#echo $delimit.$lang['srv_inv_recipients_count_inv'];
|
|
||||||
echo $convertTypes['newLine'];
|
echo $convertTypes['newLine'];
|
||||||
|
|
||||||
$sqlString = "SELECT sir.*, IF(sirp.name IS NULL, '".$lang['srv_invitation_new_templist_author']."', sirp.name) AS list_name "
|
$sqlString = "SELECT sir.*, IF(sirp.name IS NULL, '".$lang['srv_invitation_new_templist_author']."', sirp.name) AS list_name "
|
||||||
." FROM srv_invitations_recipients AS sir"
|
." FROM srv_invitations_recipients AS sir"
|
||||||
." LEFT JOIN srv_invitations_recipients_profiles AS sirp ON (sir.list_id = sirp.pid)"
|
." LEFT JOIN srv_invitations_recipients_profiles AS sirp ON (sir.list_id = sirp.pid)"
|
||||||
#." LEFT JOIN srv_invitations_archive_recipients AS siar ON (sir.id = siar.rec_id)"
|
|
||||||
|
|
||||||
." WHERE sir.ank_id = '$this->sid' AND deleted='0' ORDER BY id";
|
." WHERE sir.ank_id = '$this->sid' AND deleted='0' ORDER BY id";
|
||||||
|
|
||||||
/*
|
|
||||||
." FROM srv_invitations_recipients AS sir"
|
|
||||||
." LEFT JOIN srv_invitations_recipients_profiles AS sirp ON (sir.list_id = sirp.pid)"
|
|
||||||
." LEFT JOIN srv_invitations_archive_recipients AS siar ON (sir.id = siar.rec_id)"
|
|
||||||
." WHERE sir.ank_id = '$this->sid' AND deleted='0' GROUP BY siar.rec_id ORDER BY id";
|
|
||||||
*/
|
|
||||||
#$sqlString = "SELECT * FROM srv_invitations_recipients WHERE ank_id = '$this->sid' AND deleted='0' ORDER BY id";
|
|
||||||
|
|
||||||
$sqlQuery = sisplet_query($sqlString);
|
$sqlQuery = sisplet_query($sqlString);
|
||||||
if (mysqli_num_rows($sqlQuery)) {
|
if (mysqli_num_rows($sqlQuery)) {
|
||||||
|
|
||||||
while ($sql_row = mysqli_fetch_assoc($sqlQuery)) {
|
while ($sql_row = mysqli_fetch_assoc($sqlQuery)) {
|
||||||
|
|
||||||
foreach ($this->inv_variables_excel AS $vkey => $inv_variable) {
|
foreach ($this->inv_variables_excel AS $vkey => $inv_variable) {
|
||||||
echo $sql_row[$inv_variable].$convertTypes['delimit'];
|
echo $sql_row[$inv_variable].$convertTypes['delimit'];
|
||||||
}
|
}
|
||||||
|
|
||||||
#echo $sql_row['count_inv'];
|
|
||||||
echo $convertTypes['newLine'];
|
echo $convertTypes['newLine'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -10314,21 +10305,22 @@ class SurveyInvitationsNew {
|
|||||||
|
|
||||||
// Squalo
|
// Squalo
|
||||||
$squalo = new SurveyInvitationsSqualo($this->sid);
|
$squalo = new SurveyInvitationsSqualo($this->sid);
|
||||||
if($squalo->squaloEnabled()){
|
if($squalo->getSqualoEnabled()){
|
||||||
|
|
||||||
// Vklop squalo
|
// Vklop squalo
|
||||||
echo '<div class="squalo_switch">';
|
echo '<div class="squalo_switch"><p>';
|
||||||
|
|
||||||
echo '<span class="bold">'.$lang['srv_squalo'].':</span> ';
|
echo '<span class="bold">'.$lang['srv_squalo'].':</span> ';
|
||||||
|
|
||||||
echo '<label><input type="checkbox" name="SqualoMode" value="1" '.($squalo->squaloActive() ? 'checked ="checked" ' : '').' style="vertical-align:-2px;" onclick="$(\'#send_mail_mode0, #send_mail_mode1\').hide(); $(\'#send_mail_mode2\').show();">';
|
echo '<input type="hidden" name="squalo_mode" value="0">';
|
||||||
|
echo '<label><input type="checkbox" name="squalo_mode" id="squalo_mode" value="1" '.($squalo->getSqualoActive() ? 'checked ="checked" ' : '').' style="vertical-align:-2px;" onclick="squaloSwitch();">';
|
||||||
echo $lang['srv_squalo_sending'].' </label>';
|
echo $lang['srv_squalo_sending'].' </label>';
|
||||||
|
|
||||||
echo '</div>';
|
echo '</p></div>';
|
||||||
|
|
||||||
|
|
||||||
// Squalo nastavitve...
|
// Squalo nastavitve...
|
||||||
echo '<div class="squalo_settings '.(!$squalo->squaloActive() ? ' displayNone' : '').'">';
|
echo '<div class="squalo_settings '.(!$squalo->getSqualoActive() ? ' displayNone' : '').'">';
|
||||||
|
|
||||||
echo $lang['srv_squalo_active'];
|
echo $lang['srv_squalo_active'];
|
||||||
|
|
||||||
@ -10337,7 +10329,7 @@ class SurveyInvitationsNew {
|
|||||||
|
|
||||||
|
|
||||||
// Izbira streznika
|
// Izbira streznika
|
||||||
echo '<div class="mail_mode_switch '.($squalo->squaloActive() ? ' displayNone' : '').'">';
|
echo '<div class="mail_mode_switch '.($squalo->getSqualoActive() ? ' displayNone' : '').'">';
|
||||||
|
|
||||||
// Opozorilo, ce imamo vklopljena vabila, da gre za iste nastavitve
|
// Opozorilo, ce imamo vklopljena vabila, da gre za iste nastavitve
|
||||||
echo '<p class="red bold">'.$lang['srv_email_server_settings_warning'].'</p>';
|
echo '<p class="red bold">'.$lang['srv_email_server_settings_warning'].'</p>';
|
||||||
@ -10372,7 +10364,7 @@ class SurveyInvitationsNew {
|
|||||||
|
|
||||||
#1KA
|
#1KA
|
||||||
$enkaSettings = $MA->get1KASettings($raziskave=true);
|
$enkaSettings = $MA->get1KASettings($raziskave=true);
|
||||||
echo '<div id="send_mail_mode0" '.(!$MA->is1KA() || $squalo->squaloActive() ? ' class="displayNone"' : '').'>';
|
echo '<div id="send_mail_mode0" '.(!$MA->is1KA() || $squalo->getSqualoActive() ? ' class="displayNone"' : '').'>';
|
||||||
echo '<br /><span class="bold">'.$lang['srv_email_setting_settings'].'</span>';
|
echo '<br /><span class="bold">'.$lang['srv_email_setting_settings'].'</span>';
|
||||||
echo '<br />';
|
echo '<br />';
|
||||||
# from
|
# from
|
||||||
@ -10403,7 +10395,7 @@ class SurveyInvitationsNew {
|
|||||||
|
|
||||||
#GMAIL - Google
|
#GMAIL - Google
|
||||||
$enkaSettings = $MA->getGoogleSettings();
|
$enkaSettings = $MA->getGoogleSettings();
|
||||||
echo '<div id="send_mail_mode1" '.(!$MA->isGoogle() || $squalo->squaloActive() ? ' class="displayNone"' : '').'>';
|
echo '<div id="send_mail_mode1" '.(!$MA->isGoogle() || $squalo->getSqualoActive() ? ' class="displayNone"' : '').'>';
|
||||||
echo '<br /><span class="italic">'.$lang['srv_email_setting_adapter1_note'].'</span><br />';
|
echo '<br /><span class="italic">'.$lang['srv_email_setting_adapter1_note'].'</span><br />';
|
||||||
echo '<br /><span class="bold">'.$lang['srv_email_setting_settings'].'</span><br />';
|
echo '<br /><span class="bold">'.$lang['srv_email_setting_settings'].'</span><br />';
|
||||||
# from
|
# from
|
||||||
@ -10419,7 +10411,7 @@ class SurveyInvitationsNew {
|
|||||||
|
|
||||||
#SMTP
|
#SMTP
|
||||||
$enkaSettings = $MA->getSMTPSettings();
|
$enkaSettings = $MA->getSMTPSettings();
|
||||||
echo '<div id="send_mail_mode2" '.(!$MA->isSMTP() || $squalo->squaloActive() ? ' class="displayNone"' : '').'>';
|
echo '<div id="send_mail_mode2" '.(!$MA->isSMTP() || $squalo->getSqualoActive() ? ' class="displayNone"' : '').'>';
|
||||||
echo '<br /><span class="italic">'.$lang['srv_email_setting_adapter2_note'].'</span><br />';
|
echo '<br /><span class="italic">'.$lang['srv_email_setting_adapter2_note'].'</span><br />';
|
||||||
echo '<br /><span class="bold">'.$lang['srv_email_setting_settings'].'</span><br />';
|
echo '<br /><span class="bold">'.$lang['srv_email_setting_settings'].'</span><br />';
|
||||||
# from - NICE
|
# from - NICE
|
||||||
|
@ -26,11 +26,11 @@ class SurveyInvitationsSqualo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function squaloEnabled(){
|
public function getSqualoEnabled(){
|
||||||
return $this->squaloEnabled;
|
return $this->squaloEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function squaloActive(){
|
public function getSqualoActive(){
|
||||||
return $this->squaloActive;
|
return $this->squaloActive;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,12 +53,19 @@ class SurveyInvitationsSqualo {
|
|||||||
if(!isset($squalo_user) || $squalo_user == '' || !isset($squalo_key) || $squalo_key == '')
|
if(!isset($squalo_user) || $squalo_user == '' || !isset($squalo_key) || $squalo_key == '')
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Preverimo ce je squalo vklopljen na anketi
|
// Preverimo ce je squalo vklopljen na anketi
|
||||||
private function checkSqualoActive(){
|
private function checkSqualoActive(){
|
||||||
|
|
||||||
|
$vabila_type = SurveyInfo::getSurveyModules('email');
|
||||||
|
|
||||||
|
// Vklopljen squalo
|
||||||
|
if($vabila_type === '2'){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,11 +79,12 @@ class SurveyInvitationsSqualo {
|
|||||||
// Preverimo ce je vklopljen modul za volitve
|
// Preverimo ce je vklopljen modul za volitve
|
||||||
$voting = SurveyInfo::getInstance()->checkSurveyModule('voting');
|
$voting = SurveyInfo::getInstance()->checkSurveyModule('voting');
|
||||||
|
|
||||||
# če mamo SEO
|
// Ce mamo SEO
|
||||||
$nice_url = SurveyInfo::getSurveyLink();
|
$nice_url = SurveyInfo::getSurveyLink();
|
||||||
|
|
||||||
// Polovimo sistemske spremenljivke
|
// Ali imamo individualizirana vabila s kodo
|
||||||
$sys_vars = $this->getSystemVars();
|
$surveySettings = SurveyInfo::getInstance()->getSurveyRow();
|
||||||
|
$individual = (int)$surveySettings['individual_invitation'];
|
||||||
|
|
||||||
# zakeširamo user_id za datapiping
|
# zakeširamo user_id za datapiping
|
||||||
$arryDataPiping = array();
|
$arryDataPiping = array();
|
||||||
@ -113,7 +121,7 @@ class SurveyInvitationsSqualo {
|
|||||||
|
|
||||||
$duplicated[$email] = 1;
|
$duplicated[$email] = 1;
|
||||||
|
|
||||||
$individual = (int)$this->surveySettings['individual_invitation'];
|
|
||||||
|
|
||||||
if ( ($individual == 1 && trim($email) != '' && trim($password) != '') || ($individual == 0 && trim($email) != '') ){
|
if ( ($individual == 1 && trim($email) != '' && trim($password) != '') || ($individual == 0 && trim($email) != '') ){
|
||||||
|
|
||||||
@ -135,7 +143,7 @@ class SurveyInvitationsSqualo {
|
|||||||
'urllink' => $url,
|
'urllink' => $url,
|
||||||
'firstname' => $sql_row['firstname'],
|
'firstname' => $sql_row['firstname'],
|
||||||
'lastname' => $sql_row['lastname'],
|
'lastname' => $sql_row['lastname'],
|
||||||
'email' => $sql_row['email'],
|
//'email' => $sql_row['email'],
|
||||||
'code' => $sql_row['password'],
|
'code' => $sql_row['password'],
|
||||||
'password' => $sql_row['password'],
|
'password' => $sql_row['password'],
|
||||||
'phone' => $sql_row['phone'],
|
'phone' => $sql_row['phone'],
|
||||||
@ -145,8 +153,16 @@ class SurveyInvitationsSqualo {
|
|||||||
|
|
||||||
$recipients[] = array(
|
$recipients[] = array(
|
||||||
'email' => $sql_row['email'],
|
'email' => $sql_row['email'],
|
||||||
|
'name' => $sql_row['firstname'],
|
||||||
|
'surname' => $sql_row['lastname'],
|
||||||
'custom_attributes' => $custom_attributes
|
'custom_attributes' => $custom_attributes
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$_user_data = $sql_row;
|
||||||
|
$send_users_data[] = $_user_data;
|
||||||
|
|
||||||
|
$send_emails[] = $email;
|
||||||
|
$send_ids[] = $sql_row['id'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,21 +172,25 @@ class SurveyInvitationsSqualo {
|
|||||||
$list_id = $this->createList($list_name, $recipients);
|
$list_id = $this->createList($list_name, $recipients);
|
||||||
|
|
||||||
|
|
||||||
// Ustvarimo mail in posljemo
|
// Ce so vsi prejemniki ok dodani na seznam, ustvarimo mail in posljemo
|
||||||
$squalo_sending_result = $this->sendEmail($sending_data['subject_text'], $sending_data['body_text'], $list_id, $sending_data['from_email'], $sending_data['from_name'], $sending_data['reply_to_email']);
|
if($list_id != false)
|
||||||
|
$squalo_sending_result = $this->sendEmail($sending_data['subject_text'], $sending_data['body_text'], $list_id, $sending_data['from_email'], $sending_data['from_name'], $sending_data['reply_to_email']);
|
||||||
|
|
||||||
|
|
||||||
|
// Napaka pri squalo posiljanju oz. dodajanju - zabelezimo kot da ni noben ok poslan
|
||||||
|
if(!$squalo_sending_result || !$list_id){
|
||||||
|
|
||||||
// Napaka pri squalo posiljanju - zabelezimo kot da ni noben ok poslan
|
$send_error = $send_emails;
|
||||||
if(!$squalo_sending_result){
|
$send_error_ids = $send_ids;
|
||||||
|
|
||||||
|
foreach($send_users_data as $key => $val){
|
||||||
|
$val['status'] = 2;
|
||||||
|
$send_users_data[$key] = $val;
|
||||||
|
}
|
||||||
|
|
||||||
$send_ok = array();
|
$send_ok = array();
|
||||||
$send_ok_ids = array();
|
$send_ok_ids = array();
|
||||||
|
|
||||||
$send_users_data = array();
|
|
||||||
|
|
||||||
$send_error = array();
|
|
||||||
$send_error_ids = array();
|
|
||||||
|
|
||||||
# updejtamo status za errorje
|
# updejtamo status za errorje
|
||||||
if (count($send_error_ids) > 0) {
|
if (count($send_error_ids) > 0) {
|
||||||
|
|
||||||
@ -180,113 +200,133 @@ class SurveyInvitationsSqualo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$results = array(
|
||||||
|
'send_ok' => $send_ok,
|
||||||
|
'send_ok_ids' => $send_ok_ids,
|
||||||
|
'send_users_data' => $send_users_data,
|
||||||
|
'send_error' => $send_error,
|
||||||
|
'send_error_ids' => $send_error_ids,
|
||||||
|
);
|
||||||
|
|
||||||
|
return $results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Ok squalo posiljanje - zabelezimo da so bili vsi ok poslani
|
// Ok squalo posiljanje - zabelezimo da so bili vsi ok poslani
|
||||||
else{
|
$send_ok = $send_emails;
|
||||||
|
$send_ok_ids = $send_ids;
|
||||||
|
|
||||||
$send_ok = array();
|
foreach($send_users_data as $key => $val){
|
||||||
$send_ok_ids = array();
|
$val['status'] = 1;
|
||||||
|
$send_users_data[$key] = $val;
|
||||||
|
}
|
||||||
|
|
||||||
$send_users_data = array();
|
$send_error = array();
|
||||||
|
$send_error_ids = array();
|
||||||
|
|
||||||
$send_error = array();
|
// updejtamo userja da mu je bilo poslano - SQUALO je vedno vse ok
|
||||||
$send_error_ids = array();
|
if (count($send_ok_ids) > 0) {
|
||||||
|
|
||||||
|
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients SET sent='1', date_sent='".$sending_data['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 userja da mu je bilo poslano - SQUALO je vedno vse ok
|
// Pri volitvah za sabo pobrisemo podatke preko katerih bi lahko povezali prejemnike z responsi
|
||||||
if ( count($send_ok_ids) > 0) {
|
if($voting){
|
||||||
|
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients
|
||||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients SET sent='1', date_sent='".$sending_data['date_sent']."' WHERE id IN (".implode(',',$send_ok_ids).")");
|
SET cookie='', password=''
|
||||||
|
WHERE id IN (".implode(',',$send_ok_ids).") AND sent='1' AND last_status='1' AND ank_id='".$this->anketa."'
|
||||||
|
");
|
||||||
if (!$sqlQuery) {
|
if (!$sqlQuery) {
|
||||||
$error = mysqli_error($GLOBALS['connect_db']);
|
$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']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pri volitvah za sabo pobrisemo podatke preko katerih bi lahko povezali prejemnike z responsi
|
|
||||||
if($voting){
|
|
||||||
$sqlQuery = sisplet_query("UPDATE srv_invitations_recipients
|
|
||||||
SET cookie='', password=''
|
|
||||||
WHERE id IN (".implode(',',$send_ok_ids).") AND sent='1' AND last_status='1' AND ank_id='".$this->anketa."'
|
|
||||||
");
|
|
||||||
if (!$sqlQuery) {
|
|
||||||
$error = mysqli_error($GLOBALS['connect_db']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// če mamo personalizirana email vabila, userje dodamo v bazo
|
// če mamo personalizirana email vabila, userje dodamo v bazo
|
||||||
/*if ($individual == 1) {
|
if ($individual == 1) {
|
||||||
|
|
||||||
|
if (SurveyInfo::getInstance()->getSurveyColumn('db_table') == 1)
|
||||||
|
$db_table = '_active';
|
||||||
|
|
||||||
|
$inv_variables_link = array('email'=>'email','geslo'=>'password','ime'=>'firstname','priimek'=>'lastname','naziv'=>'salutation','telefon'=>'phone','drugo'=>'custom','odnos'=>'relation','last_status'=>'last_status','sent'=>'sent','responded'=>'responded','unsubscribed'=>'unsubscribed');
|
||||||
|
|
||||||
|
$sys_vars = $this->getSystemVars();
|
||||||
|
|
||||||
|
foreach($send_users_data as $_user_data){
|
||||||
|
|
||||||
|
// dodamo še userja v srv_user da je kompatibilno s staro logiko
|
||||||
|
$strInsertDataText = array();
|
||||||
|
$strInsertDataVrednost = array();
|
||||||
|
|
||||||
|
// Pri volitvah zaradi anonimizacije ignoriramo vse identifikatorje
|
||||||
|
if($voting){
|
||||||
|
$_r = sisplet_query("INSERT INTO srv_user
|
||||||
|
(ank_id, cookie, pass, last_status, inv_res_id)
|
||||||
|
VALUES
|
||||||
|
('".$this->anketa."', '".$_user_data['cookie']."', '".$_user_data['password']."', '".$_user_data['status']."', '-1') ON DUPLICATE KEY UPDATE cookie = '".$_user_data['cookie']."', pass='".$_user_data['password']."'
|
||||||
|
");
|
||||||
|
|
||||||
|
// Ce ne belezimo parapodatka za cas responsa, anonimno zabelezimo cas zadnjega responsa
|
||||||
|
sisplet_query("UPDATE srv_anketa SET last_response_time=NOW() WHERE id='".$this->anketa."'");
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$_r = sisplet_query("INSERT INTO srv_user
|
||||||
|
(ank_id, email, cookie, pass, last_status, time_insert, inv_res_id)
|
||||||
|
VALUES
|
||||||
|
('".$this->anketa."', '".$_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 = $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."')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// dodamo še userja v srv_user da je kompatibilno s staro logiko
|
// Pri volitvah zaradi anonimizacije ne vsatvimo nicesar v sistemske spremenljivke
|
||||||
$strInsertDataText = array();
|
if(!$voting){
|
||||||
$strInsertDataVrednost = array();
|
|
||||||
|
|
||||||
// Pri volitvah zaradi anonimizacije ignoriramo vse identifikatorje
|
|
||||||
if($voting){
|
|
||||||
$_r = sisplet_query("INSERT INTO srv_user
|
|
||||||
(ank_id, cookie, pass, last_status, inv_res_id)
|
|
||||||
VALUES
|
|
||||||
('".$this->anketa."', '".$_user_data['cookie']."', '".$_user_data['password']."', '".$_user_data['status']."', '-1') ON DUPLICATE KEY UPDATE cookie = '".$_user_data['cookie']."', pass='".$_user_data['password']."'
|
|
||||||
");
|
|
||||||
|
|
||||||
// Ce ne belezimo parapodatka za cas responsa, anonimno zabelezimo cas zadnjega responsa
|
|
||||||
sisplet_query("UPDATE srv_anketa SET last_response_time=NOW() WHERE id='".$this->anketa."'");
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$_r = sisplet_query("INSERT INTO srv_user
|
|
||||||
(ank_id, email, cookie, pass, last_status, time_insert, inv_res_id)
|
|
||||||
VALUES
|
|
||||||
('".$this->anketa."', '".$_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
|
// vstavimo v srv_data_text
|
||||||
foreach ($sys_vars AS $sid => $spremenljivka) {
|
if (count($strInsertDataText) > 0) {
|
||||||
|
$strInsert = "INSERT INTO srv_data_text".$db_table." (spr_id, vre_id, text, usr_id) VALUES ";
|
||||||
$_user_variable = $this->inv_variables_link[$spremenljivka['variable']];
|
$strInsert .= implode(',',$strInsertDataText);
|
||||||
|
sisplet_query($strInsert);
|
||||||
if (trim($_user_data[$_user_variable]) != '' && $_user_data[$_user_variable] != null) {
|
}
|
||||||
if($spremenljivka['variable'] == 'odnos')
|
// vstavimo v srv_data_vrednost
|
||||||
$strInsertDataVrednost[] = "('".$sid."','".$spremenljivka['vre_id'][trim($_user_data[$_user_variable])]."','".$usr_id."')";
|
if (count($strInsertDataVrednost) > 0) {
|
||||||
else
|
$strInsert = "INSERT INTO srv_data_vrednost".$db_table." (spr_id, vre_id, usr_id) VALUES ";
|
||||||
$strInsertDataText[] = "('".$sid."','".$spremenljivka['vre_id']."','".trim($_user_data[$_user_variable])."','".$usr_id."')";
|
$strInsert .= implode(',',$strInsertDataVrednost);
|
||||||
|
sisplet_query($strInsert);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
}
|
||||||
// lahko da user že obstaja in je šlo za duplicated keys
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pri volitvah zaradi anonimizacije ne vsatvimo nicesar v sistemske spremenljivke
|
|
||||||
if(!$voting){
|
|
||||||
|
|
||||||
// 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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
$results = array(
|
$results = array(
|
||||||
@ -327,6 +367,7 @@ class SurveyInvitationsSqualo {
|
|||||||
// Napaka pri ustvarjanju seznama
|
// Napaka pri ustvarjanju seznama
|
||||||
if($recipient_id == '0'){
|
if($recipient_id == '0'){
|
||||||
echo 'Napaka pri dodajanju prejemnika '.$email.' na Squalo seznam.';
|
echo 'Napaka pri dodajanju prejemnika '.$email.' na Squalo seznam.';
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,6 +406,7 @@ class SurveyInvitationsSqualo {
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static function squaloDatapiping($text){
|
private static function squaloDatapiping($text){
|
||||||
|
|
||||||
$text_fixed = str_replace(
|
$text_fixed = str_replace(
|
||||||
@ -400,4 +442,39 @@ class SurveyInvitationsSqualo {
|
|||||||
|
|
||||||
return $text_fixed;
|
return $text_fixed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getSystemVars(){
|
||||||
|
|
||||||
|
$inv_variables = array('email','password','ime','priimek','naziv','telefon','drugo','odnos');
|
||||||
|
|
||||||
|
// 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->anketa."' AND variable IN ("."'" . implode("','",$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
|
||||||
|
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'];
|
||||||
|
}
|
||||||
|
elseif (!isset($sys_vars[$row['spr_id']]['vre_id'])) {
|
||||||
|
$sys_vars[$row['spr_id']]['vre_id'] = $row['vre_id'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $sys_vars;
|
||||||
|
}
|
||||||
}
|
}
|
@ -1745,3 +1745,18 @@ function smtpAAIAccept(){
|
|||||||
else
|
else
|
||||||
$('#aai_smtp_button').hide();
|
$('#aai_smtp_button').hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// SQUALO
|
||||||
|
function squaloSwitch(){
|
||||||
|
|
||||||
|
if($('#squalo_mode').prop('checked')){
|
||||||
|
$('#send_mail_mode0, #send_mail_mode1, #send_mail_mode2, .mail_mode_switch').hide();
|
||||||
|
//$('.squalo_settings').show();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$('.squalo_settings').hide();
|
||||||
|
$('#send_mail_mode2, .mail_mode_switch').show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -9487,3 +9487,7 @@ UPDATE misc SET value='21.03.17' WHERE what="version";
|
|||||||
ALTER TABLE srv_anketa ADD last_response_time DATETIME NOT NULL AFTER edit_time;
|
ALTER TABLE srv_anketa ADD last_response_time DATETIME NOT NULL AFTER edit_time;
|
||||||
|
|
||||||
UPDATE misc SET value='21.03.30' WHERE what="version";
|
UPDATE misc SET value='21.03.30' WHERE what="version";
|
||||||
|
|
||||||
|
ALTER TABLE srv_anketa DROP COLUMN old_email_style;
|
||||||
|
|
||||||
|
UPDATE misc SET value='21.03.30' WHERE what="version";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user