Major Update#2
This commit is contained in:
parent
7f436e7fd6
commit
0e253b3957
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
require_once dirname(__FILE__).'/sql/autoload.inc';
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SAI');
|
||||
\SYSTEM\SAI\sai::register('\SAI\saimod_donate');
|
||||
\SYSTEM\SAI\sai::register('\SAI\saimod_mail');
|
||||
@ -1,21 +1,76 @@
|
||||
function init_saimod_donate() {
|
||||
$('#donate-update').click(function(){
|
||||
var paten = $('#donate-paten').val();
|
||||
var value = $('#donate-value').val();
|
||||
var paten_goal = $('#donate-paten-goal').val();
|
||||
var value_goal = $('#donate-value-goal').val();
|
||||
function init_saimod_mail() {}
|
||||
|
||||
function init_saimod_mail_overview() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_overview').addClass('active');
|
||||
};
|
||||
|
||||
function init_saimod_mail_contacts() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_contacts').addClass('active');
|
||||
|
||||
$('#btn-mail-contact-del').click(function(){
|
||||
var emails = [];
|
||||
$('.mail-contact-check:checked').each(function() {
|
||||
emails.push($(this).attr('email'));
|
||||
});
|
||||
if (confirm('Are you sure you want to delete '+emails.length+' Contacts PERMANENTLY?')) {
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'delete_contact',
|
||||
data: emails
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_contact() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_contacts').addClass('active');
|
||||
|
||||
$('#btn-contact-update').click(function(){
|
||||
var email = $('#input-contact-email').val();
|
||||
var sex = $('#input-contact-sex').val();
|
||||
var name_first = $('#input-contact-name-first').val();
|
||||
var name_last = $('#input-contact-name-last').val();
|
||||
var email_lists = [];
|
||||
$(".list-check").each(function(){
|
||||
email_lists.push({id: $(this).attr('list'), subscribed: $(this).prop('checked') === true ? 1 : 0});
|
||||
});
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_donate',
|
||||
action: 'update',
|
||||
paten: paten,
|
||||
value: value,
|
||||
paten_goal: paten_goal,
|
||||
value_goal: value_goal
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'update_contact',
|
||||
data: {
|
||||
email: email,
|
||||
sex: sex,
|
||||
name_first: name_first,
|
||||
name_last: name_last,
|
||||
email_lists: email_lists
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
@ -29,4 +84,413 @@ function init_saimod_donate() {
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
function init_saimod_mail_contact_new() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_contacts').addClass('active');
|
||||
|
||||
$('#btn-contact-new-insert').click(function(){
|
||||
var email = $('#input-contact-new-email').val();
|
||||
var sex = $('#input-contact-new-sex').val();
|
||||
var name_first = $('#input-contact-new-name-first').val();
|
||||
var name_last = $('#input-contact-new-name-last').val();
|
||||
var email_lists = [];
|
||||
$(".list-check").each(function(){
|
||||
email_lists.push({id: $(this).attr('list'), subscribed: $(this).prop('checked') === true ? 1 : 0});
|
||||
});
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'insert_contact',
|
||||
data: {
|
||||
email: email,
|
||||
sex: sex,
|
||||
name_first: name_first,
|
||||
name_last: name_last,
|
||||
email_lists: email_lists
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.load('mail(contact);email.'+email);
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_lists() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_lists').addClass('active');
|
||||
|
||||
$('#btn-mail-list-del').click(function(){
|
||||
var lists = [];
|
||||
$('.mail-list-check:checked').each(function() {
|
||||
lists.push($(this).attr('list'));
|
||||
});
|
||||
if (confirm('Are you sure you want to delete '+lists.length+' Lists PERMANENTLY?')) {
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'delete_list',
|
||||
data: lists
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_list() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_lists').addClass('active');
|
||||
|
||||
$('#btn-list-update').click(function(){
|
||||
var id = $('#input-list-id').val();
|
||||
var name = $('#input-list-name').val();
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'update_list',
|
||||
data: {
|
||||
id: id,
|
||||
name: name
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_list_new() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_lists').addClass('active');
|
||||
|
||||
$('#btn-list-new-insert').click(function(){
|
||||
var name = $('#input-list-new-name').val();
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'insert_list',
|
||||
data: {
|
||||
name: name
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.load('mail(lists)');
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_emails() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_emails').addClass('active');
|
||||
|
||||
$('#btn-mail-email-del').click(function(){
|
||||
var emails = [];
|
||||
$('.mail-email-check:checked').each(function() {
|
||||
emails.push($(this).attr('email'));
|
||||
});
|
||||
if (confirm('Are you sure you want to delete '+emails.length+' EMails PERMANENTLY?')) {
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'delete_email',
|
||||
data: emails
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_email() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_emails').addClass('active');
|
||||
|
||||
$('#btn-email-update').click(function(){
|
||||
var id = $('#input-email-id').val();
|
||||
var sender = $('#input-email-sender').val();
|
||||
var name = $('#input-email-name').val();
|
||||
var subject = $('#input-email-subject').val();
|
||||
var text_template = $('#select-email-text-template').val();
|
||||
var html_template = $('#select-email-html-template').val();
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'update_email',
|
||||
data: {
|
||||
id: id,
|
||||
sender: sender,
|
||||
name: name,
|
||||
subject: subject,
|
||||
text_template: text_template ? text_template : null,
|
||||
html_template: html_template ? html_template : null
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.btn-email-send').click(function(){
|
||||
var email = $(this).attr('email');
|
||||
var list = $(this).attr('list');
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'send_email',
|
||||
data: {
|
||||
email: email,
|
||||
list: list
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
alert('Sent EMails');
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_email_new() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_emails').addClass('active');
|
||||
|
||||
$('#btn-email-new-insert').click(function(){
|
||||
var name = $('#input-email-new-name').val();
|
||||
var sender = $('#input-email-new-sender').val();
|
||||
var subject = $('#input-email-new-subject').val();
|
||||
var text_template = $('#select-email-new-text-template').val();
|
||||
var html_template = $('#select-email-new-html-template').val();
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'insert_email',
|
||||
data: {
|
||||
name: name,
|
||||
sender: sender,
|
||||
subject: subject,
|
||||
text_template: text_template,
|
||||
html_template: html_template
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.load('mail(emails)');
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_templates() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_templates').addClass('active');
|
||||
|
||||
$('#btn-mail-template-del').click(function(){
|
||||
var templates = [];
|
||||
$('.mail-template-check:checked').each(function() {
|
||||
templates.push($(this).attr('template'));
|
||||
});
|
||||
if (confirm('Are you sure you want to delete '+templates.length+' Templates PERMANENTLY?')) {
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'delete_template',
|
||||
data: templates
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_template() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_templates').addClass('active');
|
||||
|
||||
$('#btn-template-update').click(function(){
|
||||
var id = $('#input-template-id').val();
|
||||
var type = $('#input-template-type').val();
|
||||
var name = $('#input-template-name').val();
|
||||
var value = $('#input-template-value').val();
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'update_template',
|
||||
data: {
|
||||
id: id,
|
||||
type: type,
|
||||
name: name,
|
||||
value: value
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function init_saimod_mail_template_new() {
|
||||
$('#tabs_mail li a').each(function(){
|
||||
$(this).removeClass('active');});
|
||||
$('#menu_mail_templates').addClass('active');
|
||||
|
||||
$('#btn-template-new-insert').click(function(){
|
||||
var type = $('#input-template-new-type').val();
|
||||
var name = $('#input-template-new-name').val();
|
||||
var value = $('#input-template-new-value').val();
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'GET',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_mail',
|
||||
action: 'insert_template',
|
||||
data: {
|
||||
type: type,
|
||||
name: name,
|
||||
value: value
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.load('mail(templates)');
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
364
saimod_mail.php
364
saimod_mail.php
@ -1,28 +1,360 @@
|
||||
<?php
|
||||
namespace SAI;
|
||||
class saimod_donate extends \SYSTEM\SAI\sai_module{
|
||||
public static function sai_mod__SAI_saimod_donate(){
|
||||
$vars = \SYSTEM\PAGE\text::tag('donation');
|
||||
$vars['donate_box'] = \default_donate::donate_box();
|
||||
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_donate/tpl/saimod_donate.tpl'))->SERVERPATH(),$vars);}
|
||||
class saimod_mail extends \SYSTEM\SAI\sai_module{
|
||||
|
||||
public static function sai_mod__SAI_saimod_donate_action_update($paten,$value,$paten_goal,$value_goal){
|
||||
\SYSTEM\PAGE\text::save('donation_paten', 'donation_paten', 'deDE', ['donation'], $paten);
|
||||
\SYSTEM\PAGE\text::save('donation_value', 'donation_value', 'deDE', ['donation'], $value);
|
||||
\SYSTEM\PAGE\text::save('donation_paten_goal', 'donation_paten_goal', 'deDE', ['donation'], $paten_goal);
|
||||
\SYSTEM\PAGE\text::save('donation_value_goal', 'donation_value_goal', 'deDE', ['donation'], $value_goal);
|
||||
\SYSTEM\PAGE\text::save('donation_date', 'donation_date', 'deDE', ['donation'], date('d.m.Y * H:i').' Uhr');
|
||||
const EMAIL_LIST_TEST = 1;
|
||||
const EMAIL_LIST_NEWSLETTER = 2;
|
||||
const EMAIL_LIST_PROTOTYPE = 3;
|
||||
|
||||
const EMAIL_WEBSITE_CONTACT = 10;
|
||||
const EMAIL_WEBSITE_BUGREPORT = 11;
|
||||
const EMAIL_WEBSITE_VOLUNTEER = 12;
|
||||
const EMAIL_NEWSLETTER_SUBSCRIBE = 20;
|
||||
|
||||
const EMAIL_PROTOTYPE_REGISTER = 30;
|
||||
const EMAIL_PROTOTYPE_ACCESS_ANDROID= 31;
|
||||
const EMAIL_PROTOTYPE_ACCESS_IOS = 32;
|
||||
|
||||
public static function subscribe($email,$list){
|
||||
return \SQL\SUBSCRIBE::QI(array($email,$list));
|
||||
}
|
||||
|
||||
public static function contact($email,$name_first=null,$name_last=null){
|
||||
if($name_first != null || $name_last != null){
|
||||
return \SQL\CONTACT_INSERT_EMAIL_NAME::QI(array($email,$name_first,$name_last));
|
||||
} else {
|
||||
return \SQL\CONTACT_INSERT_EMAIL::QI(array($email));
|
||||
}
|
||||
}
|
||||
|
||||
public static function send_mail($email,$email_id,$list=null,$resend=false,$data=[]){
|
||||
\LIB\lib_mail_cannon::php();
|
||||
|
||||
// Prevent Double send
|
||||
if(!$resend && $list != self::EMAIL_LIST_TEST){
|
||||
$sent = \SQL\EMAIL_SENT_IS_SENT::Q1(array($email_id,$email));
|
||||
if($sent['count'] > 0){
|
||||
return false;}
|
||||
}
|
||||
|
||||
$contact_data = \SQL\CONTACT_SELECT::Q1(array($email));
|
||||
$email_data = \SQL\EMAIL_SELECT::Q1(array($email_id));
|
||||
$template_text = \SQL\EMAIL_TEMPLATE_SELECT::Q1(array($email_data['template_text']));
|
||||
$template_html = \SQL\EMAIL_TEMPLATE_SELECT::Q1(array($email_data['template_html']));
|
||||
//TODO
|
||||
//$smtp = \SYSTEM\CONFIG\config::get(\config_ids::DEMOCRACY_EMAIL_PROTOTYPING);
|
||||
$smtp = \SYSTEM\CONFIG\config::get(\config_ids::DEMOCRACY_EMAIL_CONTACT);
|
||||
$to = $email;
|
||||
//TODO
|
||||
$replacements = [];
|
||||
$replacements['emoji_mobile'] = '📱';
|
||||
foreach($data as $k => $v){
|
||||
$replacements['data_'.$k] = $v;}
|
||||
if($list){
|
||||
$replacements['unsubscribe_link'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).
|
||||
'#!unsubscribe;token.'.
|
||||
\SYSTEM\TOKEN\token::request( 'token_democracy_unsubscribe',
|
||||
array( 'email' => $email,'list' => $list),
|
||||
true);
|
||||
}
|
||||
$from = \SYSTEM\PAGE\replace::replace($email_data['sender'],$replacements);
|
||||
$subject = \SYSTEM\PAGE\replace::replace($email_data['subject'],$replacements);
|
||||
$text = \SYSTEM\PAGE\replace::replace($template_text['value'], $replacements);
|
||||
$html = \SYSTEM\PAGE\replace::replace($template_html['value'], $replacements);
|
||||
//TODO
|
||||
$images = ["democracy_logo" => (new \PAPI('img/logo.png'))->SERVERPATH()];
|
||||
//TODO
|
||||
$attachments = [];
|
||||
|
||||
\mailcannon::send( $smtp,
|
||||
$from, $to,
|
||||
$subject, $text, $html,
|
||||
$images, $attachments);
|
||||
|
||||
if($list != self::EMAIL_LIST_TEST){
|
||||
\SQL\EMAIL_SENT_INSERT::QI(array($email_id,$email));}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function send_list($email_id,$list){
|
||||
$list_handle = \SQL\CONTACT_EMAIL_LIST_SELECT_LIST::QQ(array($list));
|
||||
while($row = $list_handle->next()){
|
||||
\set_time_limit(30);
|
||||
self::send_mail($row['email'], $email_id, $list);
|
||||
}
|
||||
return \SYSTEM\LOG\JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail(){
|
||||
$vars = array();
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_overview(){
|
||||
$vars = array();
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_overview.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_contacts($list=null){
|
||||
$vars = array();
|
||||
//menu
|
||||
$vars['menu'] = '';
|
||||
$vars['active_all'] = $list ? '' : 'active';
|
||||
$res = \SQL\EMAIL_LISTS_SELECT::QQ();
|
||||
while($row = $res->next()){
|
||||
$row['active'] = $row['id'] == $list ? 'active' : '';
|
||||
$vars['menu'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_contacts_menu.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
|
||||
//data
|
||||
$vars['data'] = '';
|
||||
if($list){
|
||||
$res = \SQL\CONTACTS_SELECT_LIST::QQ(array($list));
|
||||
} else {
|
||||
$res = \SQL\CONTACTS_SELECT::QQ();
|
||||
}
|
||||
while($row = $res->next()){
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_contacts_tr.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_contacts.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_contact($email){
|
||||
$vars = \SQL\CONTACT_SELECT::Q1(array($email));
|
||||
//data
|
||||
$vars['data'] = '';
|
||||
$res = \SQL\EMAIL_LISTS_SELECT_CONTACT::QQ(array($email));
|
||||
while($row = $res->next()){
|
||||
$row['checked'] = $row['list'] ? 'checked' : '';
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_contact_tr.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_contact.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_contact_new(){
|
||||
$vars = array();
|
||||
//data
|
||||
$vars['data'] = '';
|
||||
$res = \SQL\EMAIL_LISTS_SELECT::QQ();
|
||||
while($row = $res->next()){
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_contact_new_tr.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_contact_new.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_update_contact($data){
|
||||
\SQL\CONTACT_UPDATE::QI(array($data['sex'],$data['name_first'],$data['name_last'],$data['email']));
|
||||
foreach($data['email_lists'] as $list){
|
||||
if($list['subscribed']){
|
||||
self::subscribe($data['email'],$list['id']);
|
||||
} else {
|
||||
\SQL\UNSUBSCRIBE::QI(array($data['email'],$list['id']));
|
||||
}
|
||||
}
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_insert_contact($data){
|
||||
if($data['email'] == ''){
|
||||
throw new \SYSTEM\LOG\ERROR('Please provide an EMail');
|
||||
}
|
||||
\SQL\CONTACT_INSERT::QI(array($data['email'],$data['sex'],$data['name_first'],$data['name_last']));
|
||||
foreach($data['email_lists'] as $list){
|
||||
if($list['subscribed']){
|
||||
\SQL\SUBSCRIBE::QI(array($data['email'],$list['id']));
|
||||
} else {
|
||||
\SQL\UNSUBSCRIBE::QI(array($data['email'],$list['id']));
|
||||
}
|
||||
}
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_delete_contact($data){
|
||||
foreach($data as $email){
|
||||
\SQL\CONTACT_DELETE::QI(array($email));
|
||||
\SQL\CONTACT_EMAIL_LIST_DELETE::QI(array($email));
|
||||
\SQL\EMAIL_SENT_DELETE::QI(array($email));
|
||||
}
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_lists(){
|
||||
$vars = array();
|
||||
//data
|
||||
$vars['data'] = '';
|
||||
$res = \SQL\EMAIL_LISTS_SELECT_COUNT::QQ();
|
||||
while($row = $res->next()){
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_lists_tr.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_lists.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_list($id){
|
||||
$vars = \SQL\EMAIL_LIST_SELECT::Q1(array($id));
|
||||
//data
|
||||
$vars['data'] = '';
|
||||
$res = \SQL\CONTACT_EMAIL_LIST_CONTACT_SELECT::QQ(array($id));
|
||||
while($row = $res->next()){
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_list_tr.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_list.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_list_new(){
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_list_new.tpl'))->SERVERPATH());
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_update_list($data){
|
||||
\SQL\LIST_UPDATE::QI(array($data['name'],$data['id']));
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_insert_list($data){
|
||||
\SQL\EMAIL_LIST_INSERT::QI(array($data['name']));
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_delete_list($data){
|
||||
foreach($data as $id){
|
||||
\SQL\EMAIL_LIST_DELETE::QI(array($id));
|
||||
\SQL\CONTACT_EMAIL_LIST_DELETE_LIST::QI(array($id));
|
||||
}
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_emails(){
|
||||
$vars = array();
|
||||
//data
|
||||
$vars['data'] = '';
|
||||
$res = \SQL\EMAILS_SELECT::QQ();
|
||||
while($row = $res->next()){
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_emails_tr.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_emails.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_email($id){
|
||||
$vars = \SQL\EMAIL_SELECT::Q1(array($id));
|
||||
$vars['template_lock'] = $vars['system_lock'] ? 'disabled' : '';
|
||||
//text template
|
||||
$vars['text_options'] = '';
|
||||
$res = \SQL\EMAIL_TEMPLATES_SELECT::QQ(array(0));
|
||||
while($row = $res->next()){
|
||||
$row['selected'] = $row['id'] == $vars['template_text'] ? 'selected' : '';
|
||||
$vars['text_options'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email_template_option.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
//html template
|
||||
$vars['html_options'] = '';
|
||||
$res = \SQL\EMAIL_TEMPLATES_SELECT::QQ(array(1));
|
||||
while($row = $res->next()){
|
||||
$row['selected'] = $row['id'] == $vars['template_html'] ? 'selected' : '';
|
||||
$vars['html_options'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email_template_option.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
//send
|
||||
$vars['send'] = '';
|
||||
$res = \SQL\EMAIL_LISTS_SELECT::QQ();
|
||||
while($row = $res->next()){
|
||||
$row['disabled'] = $row['id'] == self::EMAIL_LIST_TEST ? '' : 'disabled';
|
||||
$row['btn-color'] = $row['id'] == self::EMAIL_LIST_TEST ? 'success' : 'danger';
|
||||
$row['email'] = $id;
|
||||
$vars['send'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email_send.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_email_new(){
|
||||
//text template
|
||||
$vars['text_options'] = '';
|
||||
$res = \SQL\EMAIL_TEMPLATES_SELECT::QQ(array(0));
|
||||
while($row = $res->next()){
|
||||
$row['selected'] = '';
|
||||
$vars['text_options'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email_template_option.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
//html template
|
||||
$vars['html_options'] = '';
|
||||
$res = \SQL\EMAIL_TEMPLATES_SELECT::QQ(array(1));
|
||||
while($row = $res->next()){
|
||||
$row['selected'] = '';
|
||||
$vars['html_options'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email_template_option.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email_new.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_send_email($data){
|
||||
self::send_list($data['email'],$data['list']);
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_update_email($data){
|
||||
\SQL\EMAIL_UPDATE::QI(array($data['name'],$data['sender'],$data['subject'],$data['text_template'],$data['html_template'],$data['id']));
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_insert_email($data){
|
||||
\SQL\EMAIL_INSERT::QI(array($data['name'],$data['sender'],$data['subject'],$data['text_template'],$data['html_template']));
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_delete_email($data){
|
||||
foreach($data as $id){
|
||||
\SQL\EMAIL_DELETE::QI(array($id));
|
||||
\SQL\EMAIL_SENT_DELETE_EMAIL::QI(array($id));
|
||||
}
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_templates($type=0){
|
||||
$vars = array();
|
||||
$vars['active_text'] = $type == 0 ? 'active' : '';
|
||||
$vars['active_html'] = $type == 1 ? 'active' : '';
|
||||
//data
|
||||
$vars['data'] = '';
|
||||
$res = \SQL\EMAIL_TEMPLATES_SELECT::QQ(array($type));
|
||||
while($row = $res->next()){
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_templates_tr.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_templates.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_template($id){
|
||||
$vars = \SQL\EMAIL_TEMPLATE_SELECT::Q1(array($id));
|
||||
$vars['selected_text'] = $vars['type'] == 0 ? 'selected' : '';
|
||||
$vars['selected_html'] = $vars['type'] == 1 ? 'selected' : '';
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_template.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_template_new(){
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_template_new.tpl'))->SERVERPATH());
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_update_template($data){
|
||||
\SQL\EMAIL_TEMPLATE_UPDATE::QI(array($data['type'],$data['name'],$data['value'],$data['id']));
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_insert_template($data){
|
||||
\SQL\EMAIL_TEMPLATE_INSERT::QI(array($data['type'],$data['name'],$data['value']));
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mail_action_delete_template($data){
|
||||
foreach($data as $id){
|
||||
\SQL\EMAIL_TEMPLATE_DELETE::QI(array($id));
|
||||
}
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function menu(){
|
||||
return new \SYSTEM\SAI\sai_module_menu( 100,
|
||||
return new \SYSTEM\SAI\sai_module_menu( 101,
|
||||
\SYSTEM\SAI\sai_module_menu::POISITION_LEFT,
|
||||
\SYSTEM\SAI\sai_module_menu::DIVIDER_LEFT,
|
||||
\SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_donate/tpl/menu.tpl'))->SERVERPATH()));}
|
||||
\SYSTEM\SAI\sai_module_menu::DIVIDER_NONE,
|
||||
\SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/menu.tpl'))->SERVERPATH()));}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function js(){
|
||||
return array(new \PSAI('saimod_donate/js/saimod_donate.js'));}
|
||||
return array(new \PSAI('saimod_mail/js/saimod_mail.js'));}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACTS_SELECT extends \SYSTEM\DB\QQ {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM contact;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,13 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACTS_SELECT_LIST extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM contact
|
||||
LEFT JOIN contact_email_list ON contact.email = contact_email_list.email
|
||||
WHERE list = ?;';
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_DELETE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM contact WHERE email=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,11 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_EMAIL_LIST_CONTACT_SELECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM contact_email_list
|
||||
LEFT JOIN contact ON contact_email_list.email = contact.email
|
||||
WHERE list = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_EMAIL_LIST_DELETE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM contact_email_list WHERE email=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_EMAIL_LIST_DELETE_LIST extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM contact_email_list WHERE list=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_EMAIL_LIST_SELECT_LIST extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT email FROM contact_email_list WHERE list = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_INSERT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'INSERT IGNORE INTO contact (email,sex,name_first,name_last)VALUES(?,?,?,?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_INSERT_EMAIL extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'INSERT IGNORE INTO contact (email)VALUES(?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_INSERT_EMAIL_NAME extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'REPLACE INTO contact (email,name_first,name_last)VALUES(?,?,?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_SELECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM contact WHERE email = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class CONTACT_UPDATE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'UPDATE contact SET sex=?, name_first=?, name_last=? WHERE email=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,10 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
class DATA_SAIMOD_DONATE extends \SYSTEM\DB\QI {
|
||||
class DATA_SAIMOD_MAIL extends \SYSTEM\DB\QI {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function files_mysql(){
|
||||
return array( (new \PSAI('/saimod_donate/sql/mysql/system_page.sql'))->SERVERPATH(),
|
||||
(new \PSAI('/saimod_donate/sql/mysql/system_api.sql'))->SERVERPATH());
|
||||
return array( (new \PSAI('/saimod_mail/sql/mysql/system_page.sql'))->SERVERPATH(),
|
||||
(new \PSAI('/saimod_mail/sql/mysql/system_api.sql'))->SERVERPATH(),
|
||||
(new \PSAI('/saimod_mail/sql/mysql/system_mails.sql'))->SERVERPATH());
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAILS_SELECT extends \SYSTEM\DB\QQ {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM email;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_DELETE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM email WHERE id=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_INSERT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'INSERT INTO email (name,sender,subject,template_text,template_html)VALUES(?,?,?,?,?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_LISTS_SELECT extends \SYSTEM\DB\QQ {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM email_list;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,11 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_LISTS_SELECT_CONTACT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM email_list
|
||||
LEFT JOIN (SELECT * FROM contact_email_list WHERE email = ?) cel
|
||||
ON email_list.id = cel.list;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,11 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_LISTS_SELECT_COUNT extends \SYSTEM\DB\QQ {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT email_list.*, count(email) as count FROM email_list
|
||||
LEFT JOIN contact_email_list ON email_list.id = contact_email_list.list
|
||||
GROUP BY id;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_LIST_DELETE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM email_list WHERE id=? AND system_lock IS NULL;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_LIST_INSERT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'INSERT IGNORE INTO email_list (name)VALUES(?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_LIST_SELECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM email_list WHERE id=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_SELECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM email WHERE id = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_SENT_DELETE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM email_sent WHERE email=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_SENT_DELETE_EMAIL extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM email_sent WHERE id=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_SENT_INSERT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'REPLACE INTO email_sent (id,email)VALUES(?,?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_SENT_IS_SENT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT count(*) as count FROM email_sent WHERE id = ? AND email = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_TEMPLATES_SELECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM email_template WHERE type = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_TEMPLATE_DELETE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM email_template WHERE id=? AND system_lock IS NULL;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_TEMPLATE_INSERT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'INSERT IGNORE INTO email_template (type,name,value)VALUES(?,?,?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_TEMPLATE_SELECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'SELECT * FROM email_template WHERE id = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_TEMPLATE_UPDATE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'UPDATE email_template SET type=?, name=?, value=? WHERE id=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class EMAIL_UPDATE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'UPDATE email SET name=?, sender=?, subject=?, template_text=?, template_html=? WHERE id=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class LIST_UPDATE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'UPDATE email_list SET name=? WHERE id=?;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class SUBSCRIBE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'INSERT IGNORE INTO contact_email_list (email,list)VALUES(?,?);';
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class BETA_CODES_COUNT extends \SYSTEM\DB\QQ {
|
||||
class UNSUBSCRIBE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(code) as count FROM beta_code;';
|
||||
'DELETE FROM contact_email_list WHERE email = ? AND list = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,3 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SQL');
|
||||
\SYSTEM\SQL\setup::register('SQL\\DATA_SAIMOD_DONATE');
|
||||
\SYSTEM\SQL\setup::register('SQL\\DATA_SAIMOD_MAIL');
|
||||
@ -1,5 +1,26 @@
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8000, 42, 0, 0, '_SAI_saimod_donate', 'action', NULL);
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8010, 42, 2, 8000, 'update', 'paten', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8011, 42, 2, 8000, 'update', 'value', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8012, 42, 2, 8000, 'update', 'paten_goal', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8013, 42, 2, 8000, 'update', 'value_goal', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9000, 42, 0, 0, '_SAI_saimod_mail', 'action', NULL);
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9010, 42, 2, 9000, 'send', 'email', 'UINT0');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9011, 42, 2, 9000, 'send', 'list', 'UINT0');
|
||||
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9020, 42, 3, 9000, 'contacts', 'list', 'UINT0');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9030, 42, 2, 9000, 'contact', 'email', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9035, 42, 2, 9000, 'update_contact', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9037, 42, 2, 9000, 'insert_contact', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9039, 42, 2, 9000, 'delete_contact', 'data', 'JSON');
|
||||
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9040, 42, 2, 9000, 'email', 'id', 'UINT0');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9043, 42, 2, 9000, 'send_email', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9045, 42, 2, 9000, 'update_email', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9047, 42, 2, 9000, 'insert_email', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9049, 42, 2, 9000, 'delete_email', 'data', 'JSON');
|
||||
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9050, 42, 3, 9000, 'list', 'id', 'UINT0');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9055, 42, 2, 9000, 'update_list', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9057, 42, 2, 9000, 'insert_list', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9059, 42, 2, 9000, 'delete_list', 'data', 'JSON');
|
||||
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9060, 42, 3, 9000, 'templates', 'type', 'UINT0');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9062, 42, 2, 9000, 'template', 'id', 'UINT0');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9065, 42, 2, 9000, 'update_template', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9067, 42, 2, 9000, 'insert_template', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9069, 42, 2, 9000, 'delete_template', 'data', 'JSON');
|
||||
@ -1,5 +1,31 @@
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8000, 42, 0, 0, '_SAI_saimod_donate', 'action', NULL);
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8010, 42, 2, 8000, 'update', 'paten', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8011, 42, 2, 8000, 'update', 'value', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8012, 42, 2, 8000, 'update', 'paten_goal', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (8013, 42, 2, 8000, 'update', 'value_goal', 'STRING');
|
||||
INSERT IGNORE INTO email_list (`id`,`name`,`system_lock`) VALUES (1,'Test Liste',1);
|
||||
INSERT IGNORE INTO email_list (`id`,`name`,`system_lock`) VALUES (2,'Newsletter',1);
|
||||
INSERT IGNORE INTO email_list (`id`,`name`,`system_lock`) VALUES (3,'Prototype',1);
|
||||
|
||||
INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (10,'Website Contact','${data_vorname} ${data_nachname} <${data_email}>','${emoji_mobile} DEMOCRACY Website: ${data_type} from ${data_email}',10,11,1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (10,0,'Website Contact Text','Eine Nachricht ist über die Website eingegangen:\n\n${data_json}\n\nAchtung: Diese EMail ist die einzige Kopie dieser Daten',1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (11,1,'Website Contact HTML','<style>\n table, th, td {\n border: 1px solid black;\n border-collapse: collapse;\n }\n</style>\nEine Nachricht ist über die Website eingegangen:<br>\n<br>\n<h3>Type: ${data_type}</h3>\n<table>\n <tr>\n <th>EMail</th>\n <td><a href=\"mailto:${data_email}\">${data_email}<a></td>\n </tr>\n <tr>\n <th>Name</th>\n <td>${data_vorname} ${data_nachname}</td>\n </tr>\n <tr>\n <th>Type</th>\n <td>${data_type}</td>\n </tr>\n <tr>\n <th>Text</th>\n <td><pre>${data_text}</pre></td>\n </tr>\n</table>\n<h3>Raw Data:</h3>\n<pre>${data_json}</pre>\n<br>\n<div class=\"footer\" style=\"margin-top: 3em; padding-top: 1em; border-top-width: 2px; border-top-color: #4494d3; border-top-style: solid;\">\n <p style=\"max-width: 35rem;\">\n Wir sind gespannt, welche großartigen Möglichkeiten in der Zukunft noch für unser Projekt offen stehen und verbleiben mit einem Lächeln und ganz herzlichen Grüßen,\n </p> \n <p style=\"max-width: 35rem;\">\n Ihr TEAM DEMOCRACY\n </p>\n <img class=\"logo\" alt=\"DEMOCRACY Logo\" src=\"cid:democracy_logo\" style=\"height: auto; line-height: 100%; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; border: 0 none;\" />\n <p style=\"max-width: 35rem;\">\n DEMOCRACY Deutschland e.V.<br />\n mobil +49 176 470 40 213<br />\n <a href=\"mailto:contact@democracy-deutschland.de\" style=\"color: #4f81bd; font-weight: bold;\">\n contact@democracy-deutschland.de\n </a><br />\n <a href=\"https://www.democracy-deutschland.de\" style=\"color: #4f81bd; font-weight: bold;\">\n https://www.democracy-deutschland.de\n </a><br />\n <a href=\"https://github.com/demokratie-live/\" style=\"color: #4f81bd; font-weight: bold;\">\n https://github.com/demokratie-live\n </a>\n </p>\n </div>\n',1);
|
||||
|
||||
INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (11,'Website Bugreport','${data_name} <${data_email}>','${emoji_mobile} DEMOCRACY Website: ${data_type} from ${data_email}',12,13,1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (12,0,'Website Bugreport Text','Eine Nachricht ist über die Website eingegangen:\n\n${data_json}\n\nAchtung: Diese EMail ist die einzige Kopie dieser Daten',1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (13,1,'Website Bugreport HTML','<style>\n table, th, td {\n border: 1px solid black;\n border-collapse: collapse;\n }\n</style>\nEine Nachricht ist über die Website eingegangen:<br>\n<br>\n<h3>Type: ${data_type}</h3>\n<table>\n <tr>\n <th>EMail</th>\n <td><a href=\"mailto:${data_email}\">${data_email}<a></td>\n </tr>\n <tr>\n <th>Name</th>\n <td>${data_name}</td>\n </tr>\n <tr>\n <th>Type</th>\n <td>${data_type}</td>\n </tr>\n <tr>\n <th>Text</th>\n <td><pre>${data_text}</pre></td>\n </tr>\n</table>\n<h3>Raw Data:</h3>\n<pre>${data_json}</pre>\n<br>\n<div class=\"footer\" style=\"margin-top: 3em; padding-top: 1em; border-top-width: 2px; border-top-color: #4494d3; border-top-style: solid;\">\n <p style=\"max-width: 35rem;\">\n Wir sind gespannt, welche großartigen Möglichkeiten in der Zukunft noch für unser Projekt offen stehen und verbleiben mit einem Lächeln und ganz herzlichen Grüßen,\n </p> \n <p style=\"max-width: 35rem;\">\n Ihr TEAM DEMOCRACY\n </p>\n <img class=\"logo\" alt=\"DEMOCRACY Logo\" src=\"cid:democracy_logo\" style=\"height: auto; line-height: 100%; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; border: 0 none;\" />\n <p style=\"max-width: 35rem;\">\n DEMOCRACY Deutschland e.V.<br />\n mobil +49 176 470 40 213<br />\n <a href=\"mailto:contact@democracy-deutschland.de\" style=\"color: #4f81bd; font-weight: bold;\">\n contact@democracy-deutschland.de\n </a><br />\n <a href=\"https://www.democracy-deutschland.de\" style=\"color: #4f81bd; font-weight: bold;\">\n https://www.democracy-deutschland.de\n </a><br />\n <a href=\"https://github.com/demokratie-live/\" style=\"color: #4f81bd; font-weight: bold;\">\n https://github.com/demokratie-live\n </a>\n </p>\n </div>\n',1);
|
||||
|
||||
INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (12,'Website Volunteer','${data_name} <${data_email}>','${emoji_mobile} DEMOCRACY Website: ${data_type} from ${data_email}',14,15,1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (14,0,'Website Volunteer Text','Eine Nachricht ist über die Website eingegangen:\n\n${data_json}\n\nAchtung: Diese EMail ist die einzige Kopie dieser Daten',1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (15,1,'Website Volunteer HTML','<style>\n table, th, td {\n border: 1px solid black;\n border-collapse: collapse;\n }\n</style>\nEine Nachricht ist über die Website eingegangen:<br>\n<br>\n<h3>Type: ${data_type}</h3>\n<table>\n <tr>\n <th>EMail</th>\n <td><a href=\"mailto:${data_email}\">${data_email}<a></td>\n </tr>\n <tr>\n <th>Name</th>\n <td>${data_name}</td>\n </tr>\n <tr>\n <th>Type</th>\n <td>${data_type}</td>\n </tr>\n <tr>\n <th>Text</th>\n <td><pre>${data_text}</pre></td>\n </tr>\n</table>\n<h3>Raw Data:</h3>\n<pre>${data_json}</pre>\n<br>\n<div class=\"footer\" style=\"margin-top: 3em; padding-top: 1em; border-top-width: 2px; border-top-color: #4494d3; border-top-style: solid;\">\n <p style=\"max-width: 35rem;\">\n Wir sind gespannt, welche großartigen Möglichkeiten in der Zukunft noch für unser Projekt offen stehen und verbleiben mit einem Lächeln und ganz herzlichen Grüßen,\n </p> \n <p style=\"max-width: 35rem;\">\n Ihr TEAM DEMOCRACY\n </p>\n <img class=\"logo\" alt=\"DEMOCRACY Logo\" src=\"cid:democracy_logo\" style=\"height: auto; line-height: 100%; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; border: 0 none;\" />\n <p style=\"max-width: 35rem;\">\n DEMOCRACY Deutschland e.V.<br />\n mobil +49 176 470 40 213<br />\n <a href=\"mailto:contact@democracy-deutschland.de\" style=\"color: #4f81bd; font-weight: bold;\">\n contact@democracy-deutschland.de\n </a><br />\n <a href=\"https://www.democracy-deutschland.de\" style=\"color: #4f81bd; font-weight: bold;\">\n https://www.democracy-deutschland.de\n </a><br />\n <a href=\"https://github.com/demokratie-live/\" style=\"color: #4f81bd; font-weight: bold;\">\n https://github.com/demokratie-live\n </a>\n </p>\n </div>\n',1);
|
||||
|
||||
INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (20,'Newsletter Subscribe','DEMOCRACY Deutschland e.V. <contact@democracy-deutschland.de>','${emoji_mobile} DEMOCRACY: Deine Newsletter-Anmeldung',20,21,1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (20,0,'Newsletter Subscribe Text','Hallo liebe/r Interessierte/r,\n\nSie haben sich für unseren Newsletter eingetragen.\n\nUm sich wieder abzumelden folgen Sie bitte folgendem Link:\n${unsubscribe_link}\n\nHerzliche Grüße\nTeam DEMOCRACY',1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (21,1,'Newsletter Subscribe HTML','Hallo liebe/r Interessierte/r,<br>\n<br>\nSie haben sich für unseren Newsletter eingetragen.<br>\n<br>\nUm sich wieder abzumelden folgen Sie bitte diesem <a href=\"${unsubscribe_link}\">Abmelde-Link</a><br>\n<br>\nHerzliche Grüße<br>\nTeam DEMOCRACY',1);
|
||||
|
||||
INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (30,'Prototype Register','Prototyp | DEMOCRACY <prototyping@democracy-deutschland.de>','${emoji_mobile} DEMOCRACY: Deine Prototyp Bewerbung ist eingegangen!',30,31,1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (30,0,'Prototype Register Text','Hallo liebe/r DEMOCRACY-Interessierte/r,\n\nwir freuen uns sehr über Ihr Interesse am Prototyp der DEMOCRACY App und bemühen uns, Sie so schnell wie möglich in die DEMOCRACY Beta einzuladen. Derzeit befinden Sie sich auf der Warteliste. Bitte haben Sie noch einen Moment Geduld, bis wir Sie auf die Testliste des jeweiligen Stores setzen – dies kann im Regelfall bis zu 2 Tage dauern. Wir werden Sie wieder kontaktieren, sobald Sie Zugang zur App haben.\n\nDemokratische Grüße\n\nIhr Team DEMOCRACY\n\n\nDEMOCRACY Deutschland e.V.\nIBAN: DE33 5003 1000 1049 7560 00\nBIC: TRODDEF1\nmobil +49 176 470 40 213',1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (31,1,'Prototype Register HTML','Hallo liebe/r DEMOCRACY-Interessierte/r,<br>\n<br>\nwir freuen uns sehr über Ihr Interesse am Prototyp der DEMOCRACY App und bemühen uns, Sie so schnell wie möglich in die DEMOCRACY Beta einzuladen. <strong>Derzeit befinden Sie sich auf der Warteliste</strong>. Bitte haben Sie noch einen Moment Geduld, bis wir Sie auf die Testliste des jeweiligen Stores setzen – dies kann im Regelfall bis zu 2 Tage dauern. <strong>Wir werden Sie wieder kontaktieren, sobald Sie Zugang zur App haben</strong>.<br>\n<br>\nDemokratische Grüße<br>\n<br>\nIhr Team DEMOCRACY<br>\n<br><br>\n<span><img src=\"cid:democracy_logo\"></span>\n<br><br><br>\nDEMOCRACY Deutschland e.V.<br>\nIBAN: DE33 5003 1000 1049 7560 00<br>\nBIC: TRODDEF1<br>\nmobil +49 176 470 40 213',1);
|
||||
|
||||
INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (31,'Prototype Access Android','Prototyp | DEMOCRACY <prototyping@democracy-deutschland.de>','${emoji_mobile} DEMOCRACY: Dein Prototyp Zugang',32,33,1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (32,0,'Prototype Access Android Text','Hallo lieber Prototyp-Tester,\n\nim folgenden erklären wir Dir, wie Du zur Beta-Version von DEMOCRACY gelangst.\n\nAnleitung für Android\n* Öffne diesen Link mit Deinem Handy: https://play.google.com/apps/testing/de.democracydeutschland.app.beta\n* Drücke den Button ganz unten auf dem es heißt: Tester werden\n* Eine neue Ansicht lädt, drücke nun die App DEMOCRACY bei Google Play herunterladen.\n* Du wirst in den Google Play Store weitergeleitet und kannst die App dort herunter laden\n* Öffne DEMOCRACY und teste – wie Du Bugs korrekt reportest, entnehme bitte der Anleitung zum Bug-Report\n* Solltest Du beim Öffnen des Links von Schritt 1 eine Fehlermeldung bekommen, in der es heißt App nicht verfügbar, hast Du Dich entweder mit einer anderen als uns zur Verfügung gestellten Email-Adresse angemeldet oder uns die falsche Email-Adresse zur Verfügung gestellt. Gerne kannst Du uns mit einer Mail an prototyping@democracy-deutschland.de deine richtige Adresse zur Verfügung stellen.\n\nAnleitung zum Bug-Report\n* Ein qualifiziertes Feedback ist notwendig, um Fehler zu beheben. Deshalb gib uns möglichst viele Informationen zu den von Dir gefunden Fehlern oder Verbesserungsvorschlägen.\n* Wie Du das machst?\n* Zunächst: Mach aus der unten stehenden Liste bitte nur das, was Dir zumutbar erscheint. Im Optimalfall:\n \n* Mach einen Screenshot (in Android: An- und Leiser-Taste gleichzeitig drücken oder An-Taste drücken und Screenshot auswählen)\n* Markiere die fehlerhaften Bereiche in dem Screenshot (z.B Roter Kreis um den Fehler)\n* Beschreib das Problem möglichst genau in wenigen Sätzen\n* Gib eine Schritt-für-Schritt-Anleitung, wie es zu dem Problem gekommen ist, und wenn es Dir für notwendig erscheint\n* Klassifiziere das Problem in einen Fehlerbericht und/oder einen Verbesserungsvorschlag\n* Schicke uns den (bearbeiteten) Screenshot, die Fehlerbeschreibung sowie Deine Plattform (iOS/Android) und Deine Gerätebezeichnung (z.B. iPhone SE) per E-Mail an prototyping@democracy-deutschland.de oder optional\n* Erstelle ein Issue für das Problem und lade den Screenshot auf Github hoch https://github.com/demokratie-live/democracy-client/issues\n\n\nDEMOCRACY Deutschland e.V.\nIBAN: DE33 5003 1000 1049 7560 00\nBIC: TRODDEF1\nmobil +49 176 470 40 213',1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (33,1,'Prototype Access Android HTML','<html>\n <head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n </head>\n <body style=\"font-family: \'Helvetica Neue\'; color: rgb(69, 69, 69); font-size: medium;\">\n <div>\n <span>Hallo lieber </span>\n <span style=\"font-weight: 700; \">Prototyp-Tester,</span>\n </div>\n <br>\n <div>\n <span>im folgenden erklären wir Dir, wie Du <b>zur Beta-Version von DEMOCRACY </b>gelangst.</span>\n </div>\n <br>\n <br>\n <span style=\"text-decoration: underline;\"><b>Anleitung für Android</b></span>\n <ol style=\"line-height: 2;\">\n <li>Öffne diesen Link mit Deinem Handy: <a href=\"https://play.google.com/apps/testing/de.democracydeutschland.app.beta\">https://play.google.com/apps/testing/de.democracydeutschland.app.beta</a></li>\n <li>Drücke den Button ganz unten auf dem es heißt: <i>Tester werden</i></li>\n <li>Eine neue Ansicht lädt, drücke nun die <i>App DEMOCRACY bei Google Play herunterladen</i>.</li>\n <li>Du wirst in den Google Play Store weitergeleitet und kannst die App dort herunter laden</li>\n <li>Öffne DEMOCRACY und teste – wie Du Bugs korrekt reportest, entnehme bitte der Anleitung zum Bug-Report</li>\n <li>Solltest Du beim Öffnen des Links von Schritt 1 eine Fehlermeldung bekommen, in der es heißt <i>App nicht verfügbar</i>, hast Du Dich entweder mit einer anderen als uns zur Verfügung gestellten Email-Adresse angemeldet oder uns die falsche Email-Adresse zur Verfügung gestellt. Gerne kannst Du uns mit einer Mail an <a href=\"mailto:prototyping@democracy-deutschland.de\">prototyping@democracy-deutschland.de</a> deine richtige Adresse zur Verfügung stellen.</li>\n </ol>\n <div>\n <span><br></span>\n </div>\n <div>\n <span style=\"text-decoration: underline;\"><b>Anleitung zum Bug-Report</b></span>\n <span><br><br></span>\n </div>\n <div>\n <span>Ein qualifiziertes Feedback ist notwendig, um Fehler zu beheben. Deshalb gib uns möglichst viele Informationen zu den von Dir gefunden Fehlern oder Verbesserungsvorschlägen.</span>\n </div>\n <br>\n <div>\n <span>Wie Du das machst?</span>\n </div>\n <div>\n <span>Zunächst: Mach aus der unten stehenden Liste bitte nur das, was Dir zumutbar erscheint. Im Optimalfall:</span>\n </div>\n <br>\n <ol style=\"line-height: 2;\">\n <li>Mach einen Screenshot (in Android: An- und Leiser-Taste gleichzeitig drücken oder An-Taste drücken und Screenshot auswählen)</li>\n <li>Markiere die fehlerhaften Bereiche in dem Screenshot (z.B Roter Kreis um den Fehler)</li>\n <li>Beschreib das Problem möglichst genau in wenigen Sätzen</li>\n <li>Gib eine Schritt-für-Schritt-Anleitung, wie es zu dem Problem gekommen ist, und wenn es Dir für notwendig erscheint</li>\n <li>Klassifiziere das Problem in einen Fehlerbericht und/oder einen Verbesserungsvorschlag</li>\n <li>Schicke uns den (bearbeiteten) Screenshot, die Fehlerbeschreibung sowie Deine Plattform (iOS/Android) und Deine Gerätebezeichnung (z.B. iPhone SE) per E-Mail an <a href=\"mailto:prototyping@democracy-deutschland.de\">prototyping@democracy-deutschland.de</a> oder optional</li>\n <li>Erstelle ein Issue für das Problem und lade den Screenshot auf Github hoch <a href=\"https://github.com/demokratie-live/democracy-client/issues\">https://github.com/demokratie-live/democracy-client/issues</a></li>\n </ol>\n <br>\n <div>\n <span><img src=\"cid:democracy_logo\"></span>\n <br><br><br>\n <div>DEMOCRACY Deutschland e.V.</div>\n <div>IBAN: DE33 5003 1000 1049 7560 00<br></div>\n <div>BIC: TRODDEF1<br>mobil +49 176 470 40 213</div>\n <br>\n </div>\n </body>\n</html>',1);
|
||||
|
||||
INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (32,'Prototype Access iOS','Prototyp | DEMOCRACY <prototyping@democracy-deutschland.de>','${emoji_mobile} DEMOCRACY: Dein Prototyp Zugang',34,35,1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (34,0,'Prototype Access iOS Text','Hallo lieber Prototyp-Tester,\n\nim folgenden erklären wir Dir, wie Du zur Beta-Version von DEMOCRACY gelangst.\n\nAnleitung für iOS\n* Du erhälst in den folgenden Minuten eine Email von TestFlight mit der Betreffzeile DEMOCRACY Deutschland e.V. has invited you to test \"DEMOCRACY Beta\"\n* Öffne diese Mail, klicke den blauen Button View in TestFlight und folge der aufgeführten Anleitung, also\n* Lade Dir TestFlight im AppStore herunter\n* Öffne TestFlight und Drücke “Redeem”\n* Gib den Bestätigungscode, also z.B. QJHFFNDF ein und lade Dir DEMOCRACY herunter.\n* Öffne DEMOCRACY und teste – wie Du Bugs korrekt reportest, entnehme bitte der Anleitung zum Bug-Report\n\nAnleitung zum Bug-Report\n* Ein qualifiziertes Feedback ist notwendig, um Fehler zu beheben. Deshalb gib uns möglichst viele Informationen zu den von Dir gefunden Fehlern oder Verbesserungsvorschlägen.\n* Wie Du das machst?\n* Zunächst: Mach aus der unten stehenden Liste bitte nur das, was Dir zumutbar erscheint. Im Optimalfall:\n\n* Mach einen Screenshot (in iOS: Stand-by- und Home-Taste gleichzeitig drücken)\n* Markiere die fehlerhaften Bereiche in dem Screenshot (z.B Roter Kreis um den Fehler)\n* Beschreib das Problem möglichst genau in wenigen Sätzen\n* Gib eine Schritt-für-Schritt-Anleitung, wie es zu dem Problem gekommen ist, und wenn es Dir für notwendig erscheint\n* Klassifiziere das Problem in einen Fehlerbericht und/oder einen Verbesserungsvorschlag\n* Schicke uns den (bearbeiteten) Screenshot, die Fehlerbeschreibung sowie Deine Plattform (iOS/Android) und Deine Gerätebezeichnung (z.B. iPhone SE) per E-Mail an prototyping@democracy-deutschland.de oder optional\n* Erstelle ein Issue für das Problem und lade den Screenshot auf Github hoch https://github.com/demokratie-live/democracy-client/issues\n\n\nDEMOCRACY Deutschland e.V.\nIBAN: DE33 5003 1000 1049 7560 00\nBIC: TRODDEF1\nmobil +49 176 470 40 213',1);
|
||||
INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (35,1,'Prototype Access iOS HTML','<html>\n <head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n </head>\n <body style=\"font-family: \'Helvetica Neue\'; color: rgb(69, 69, 69); font-size: medium;\">\n <div>\n <span>Hallo lieber </span>\n <span style=\"font-weight: 700; \">Prototyp-Tester,</span>\n </div>\n <br>\n <div>\n <span>im folgenden erklären wir Dir, wie Du <b>zur Beta-Version von DEMOCRACY </b>gelangst.</span>\n </div>\n <br>\n <br>\n <span style=\"text-decoration: underline;\"><b>Anleitung für iOS</b></span>\n <ol style=\"line-height: 2;\">\n <li>Du erhälst in den folgenden Minuten eine Email von TestFlight mit der Betreffzeile <i>DEMOCRACY Deutschland e.V. has invited you to test \"DEMOCRACY Beta\"</i></li>\n <li>Öffne diese Mail, klicke den blauen Button <i>View in TestFlight </i>und folge der aufgeführten Anleitung, also</li>\n <li>Lade Dir TestFlight im AppStore herunter</li>\n <li>Öffne TestFlight und Drücke “Redeem”</li>\n <li>Gib den Bestätigungscode, also z.B. QJHFFNDF ein und lade Dir DEMOCRACY herunter.</li>\n <li>Öffne DEMOCRACY und teste – wie Du Bugs korrekt reportest, entnehme bitte der Anleitung zum Bug-Report</li>\n </ol>\n <div>\n <span><br></span>\n </div>\n <div>\n <span style=\"text-decoration: underline;\"><b>Anleitung zum Bug-Report</b></span>\n <span><br><br></span>\n </div>\n <div>\n <span>Ein qualifiziertes Feedback ist notwendig, um Fehler zu beheben. Deshalb gib uns möglichst viele Informationen zu den von Dir gefunden Fehlern oder Verbesserungsvorschlägen.</span>\n </div>\n <br>\n <div>\n <span>Wie Du das machst?</span>\n </div>\n <div>\n <span>Zunächst: Mach aus der unten stehenden Liste bitte nur das, was Dir zumutbar erscheint. Im Optimalfall:</span>\n </div>\n <br>\n <ol style=\"line-height: 2;\">\n <li>Mach einen Screenshot (in iOS: Stand-by- und Home-Taste gleichzeitig drücken)</li>\n <li>Markiere die fehlerhaften Bereiche in dem Screenshot (z.B Roter Kreis um den Fehler)</li>\n <li>Beschreib das Problem möglichst genau in wenigen Sätzen</li>\n <li>Gib eine Schritt-für-Schritt-Anleitung, wie es zu dem Problem gekommen ist, und wenn es Dir für notwendig erscheint</li>\n <li>Klassifiziere das Problem in einen Fehlerbericht und/oder einen Verbesserungsvorschlag</li>\n <li>Schicke uns den (bearbeiteten) Screenshot, die Fehlerbeschreibung sowie Deine Plattform (iOS/Android) und Deine Gerätebezeichnung (z.B. iPhone SE) per E-Mail an <a href=\"mailto:prototyping@democracy-deutschland.de\">prototyping@democracy-deutschland.de</a> oder optional</li>\n <li>Erstelle ein Issue für das Problem und lade den Screenshot auf Github hoch <a href=\"https://github.com/demokratie-live/democracy-client/issues\">https://github.com/demokratie-live/democracy-client/issues</a></li>\n </ol>\n <br>\n <div>\n <span><img src=\"cid:democracy_logo\"></span>\n <br><br><br>\n <div>DEMOCRACY Deutschland e.V.</div>\n <div>IBAN: DE33 5003 1000 1049 7560 00<br></div>\n <div>BIC: TRODDEF1<br>mobil +49 176 470 40 213</div>\n <br>\n </div>\n </body>\n</html>',1);
|
||||
@ -1 +1,18 @@
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (800, 42, 'donate', 'donate', -1, 0, 0, '#content', './sai.php?sai_mod=.SAI.saimod_donate', 'init_saimod_donate', '\\SAI\\saimod_donate');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (900, 42, 'mail', 'mail', -1, 0, 0, '#content', './sai.php?sai_mod=.SAI.saimod_mail', 'init_saimod_mail', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (901, 42, 'overview', 'mail', 900, 0, 0, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=overview', 'init_saimod_mail_overview', '\\SAI\\saimod_mail');
|
||||
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (910, 42, 'contacts', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=contacts&list=${list}', 'init_saimod_mail_contacts', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (915, 42, 'contact', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=contact&email=${email}', 'init_saimod_mail_contact', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (917, 42, 'contact_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=contact_new', 'init_saimod_mail_contact_new', '\\SAI\\saimod_mail');
|
||||
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (920, 42, 'lists', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=lists', 'init_saimod_mail_lists', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (925, 42, 'list', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=list&id=${id}', 'init_saimod_mail_list', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (927, 42, 'list_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=list_new', 'init_saimod_mail_list_new', '\\SAI\\saimod_mail');
|
||||
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (930, 42, 'emails', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=emails', 'init_saimod_mail_emails', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (935, 42, 'email', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=email&id=${id}', 'init_saimod_mail_email', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (937, 42, 'email_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=email_new', 'init_saimod_mail_email_new', '\\SAI\\saimod_mail');
|
||||
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (940, 42, 'templates', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=templates&type=${type}', 'init_saimod_mail_templates', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (945, 42, 'template', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=template&id=${id}', 'init_saimod_mail_template', '\\SAI\\saimod_mail');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (947, 42, 'template_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=template_new', 'init_saimod_mail_template_new', '\\SAI\\saimod_mail');
|
||||
@ -1,7 +1,7 @@
|
||||
<li class="nav-item">
|
||||
<a id="menu_donate" class="nav-link" data-toggle="tooltip" data-placement="bottom" title="Donate" href="#!donate">
|
||||
<a id="menu_mail" class="nav-link" data-toggle="tooltip" data-placement="bottom" title="Mail" href="#!mail">
|
||||
<span class="d-md-none" style="padding-left: 15px;"></span>
|
||||
<i class="fa fa-dollar" aria-hidden="true"></i>
|
||||
<span class="d-md-none"> Donate</span>
|
||||
<i class="fa fa-envelope" aria-hidden="true"></i>
|
||||
<span class="d-md-none"> Mail</span>
|
||||
</a>
|
||||
</li>
|
||||
@ -1,34 +1,15 @@
|
||||
<div class="row">
|
||||
<div class="col-12 sai_padding_off bg-primary sai_padding_10">
|
||||
<h4 class="sai_margin_off" style="float:left;"> <span class="fa fa-check" aria-hidden="true"></span> Donate</h4>
|
||||
<h4 class="sai_margin_off" style="float:left;"> <span class="fa fa-envelope" aria-hidden="true"></span> Mail</h4>
|
||||
</div>
|
||||
<div class="col-md-8 sai_padding_off" style="padding: 15px;">
|
||||
<table class="table table-striped table-condensed" style="border: 1px solid #dee2e6;">
|
||||
<tr>
|
||||
<th>Paten</th>
|
||||
<td><input type="text" id="donate-paten" value="${donation_paten}" style="width: 100%;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<td><input type="text" id="donate-value" value="${donation_value}" style="width: 100%;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Paten Goal</th>
|
||||
<td><input type="text" id="donate-paten-goal" value="${donation_paten_goal}" style="width: 100%;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Value Goal</th>
|
||||
<td><input type="text" id="donate-value-goal" value="${donation_value_goal}" style="width: 100%;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<button id="donate-update" class="btn btn-success pull-right">Update</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-4 sai_padding_off" style="padding: 15px;">
|
||||
${donate_box}
|
||||
<div class="col-md-2 sai_padding_off">
|
||||
<ul class="nav bg-light flex-column" id="tabs_mail">
|
||||
<li class="nav-item"><a id="menu_mail_overview" class="nav-link active" href="#!mail">Overview</a></li>
|
||||
<li class="nav-item"><a id="menu_mail_contacts" class="nav-link" href="#!mail(contacts)">Contacts</a></li>
|
||||
<li class="nav-item"><a id="menu_mail_lists" class="nav-link" href="#!mail(lists)">EMail-Lists</a></li>
|
||||
<li class="nav-item"><a id="menu_mail_emails" class="nav-link" href="#!mail(emails)">EMails</a></li>
|
||||
<li class="nav-item"><a id="menu_mail_templates" class="nav-link" href="#!mail(templates)">Templates</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-10 sai_padding_off sai_border_left" id="content_mail"></div>
|
||||
</div>
|
||||
35
tpl/saimod_mail_contact.tpl
Normal file
35
tpl/saimod_mail_contact.tpl
Normal file
@ -0,0 +1,35 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_contact">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>EMail</th>
|
||||
<td><input id="input-contact-email" type="email" value="${email}" disabled style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Sex</th>
|
||||
<td><input id="input-contact-sex" type="text" value="${sex}" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>FirstName</th>
|
||||
<td><input id="input-contact-name-first" type="text" value="${name_first}" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>LastName</th>
|
||||
<td><input id="input-contact-name-last" type="text" value="${name_last}" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>UpdatedAt</th>
|
||||
<td>${updated_at}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Lists</th>
|
||||
<th>Subscribed</th>
|
||||
</tr>
|
||||
${data}
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-contact-update" style="margin: 12px;"><i class="fa fa-edit"></i> Update</button>
|
||||
</div>
|
||||
31
tpl/saimod_mail_contact_new.tpl
Normal file
31
tpl/saimod_mail_contact_new.tpl
Normal file
@ -0,0 +1,31 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_contact_new">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>EMail</th>
|
||||
<td><input id="input-contact-new-email" type="email" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Sex</th>
|
||||
<td><input id="input-contact-new-sex" type="text" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>FirstName</th>
|
||||
<td><input id="input-contact-new-name-first" type="text" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>LastName</th>
|
||||
<td><input id="input-contact-new-name-last" type="text" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Lists</th>
|
||||
<th>Subscribed</th>
|
||||
</tr>
|
||||
${data}
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-contact-new-insert" style="margin: 12px;"><i class="fa fa-save"></i> Insert</button>
|
||||
</div>
|
||||
@ -1,13 +1,4 @@
|
||||
<tr>
|
||||
<td style="color: ${valid}">${used_code}</td>
|
||||
<td>${email}</td>
|
||||
<td><i class="fa fa-${device}"></i></td>
|
||||
<td>${generated}</td>
|
||||
<td><i class="fa fa-${redeemed}"></i> ${redeemed_time}</td>
|
||||
<td><i class="fa fa-${stored}"></i> ${stored_time}</td>
|
||||
<td><i class="fa fa-${emailed}"></i> ${emailed_time}</td>
|
||||
<td>${comment}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="all-check" email="${email}"/>
|
||||
</td>
|
||||
<td>${name}</td>
|
||||
<td><input type="checkbox" class="list-check" list="${id}"/></td>
|
||||
</tr>
|
||||
@ -1,13 +1,4 @@
|
||||
<tr>
|
||||
<td style="color: ${valid}">${used_code}</td>
|
||||
<td>${email}</td>
|
||||
<td><i class="fa fa-${device}"></i></td>
|
||||
<td>${generated}</td>
|
||||
<td><i class="fa fa-${redeemed}"></i> ${redeemed_time}</td>
|
||||
<td><i class="fa fa-${stored}"></i> ${stored_time}</td>
|
||||
<td><i class="fa fa-${emailed}"></i> ${emailed_time}</td>
|
||||
<td>${comment}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="all-check" email="${email}"/>
|
||||
</td>
|
||||
<td>${name}</td>
|
||||
<td><input type="checkbox" class="list-check" list="${id}" ${checked}/></td>
|
||||
</tr>
|
||||
24
tpl/saimod_mail_contacts.tpl
Normal file
24
tpl/saimod_mail_contacts.tpl
Normal file
@ -0,0 +1,24 @@
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link ${active_all}" href="#!mail(contacts)">All</a>
|
||||
</li>
|
||||
${menu}
|
||||
</ul>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_contacts">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>EMail</th>
|
||||
<th>Sex</th>
|
||||
<th>FirstName</th>
|
||||
<th>LastName</th>
|
||||
<th>UpdatedAt</th>
|
||||
<th>
|
||||
<button type="button" id="btn-mail-contact-del" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash"></i></button>
|
||||
<button type="button" id="btn-mail-contact-new" class="btn btn-sm btn-success pull-right" onclick="system.load('mail(contact_new)')" style="margin-right: 10px;"><i class="fa fa-plus"></i></button>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>${data}</tbody>
|
||||
</table>
|
||||
</div>
|
||||
3
tpl/saimod_mail_contacts_menu.tpl
Normal file
3
tpl/saimod_mail_contacts_menu.tpl
Normal file
@ -0,0 +1,3 @@
|
||||
<li class="nav-item">
|
||||
<a class="nav-link ${active}" href="#!mail(contacts);list.${id}">${name}</a>
|
||||
</li>
|
||||
@ -1,13 +1,10 @@
|
||||
<tr>
|
||||
<td style="color: ${valid}">${used_code}</td>
|
||||
<td>${email}</td>
|
||||
<td><i class="fa fa-${device}"></i></td>
|
||||
<td>${generated}</td>
|
||||
<td><i class="fa fa-${redeemed}"></i> ${redeemed_time}</td>
|
||||
<td><i class="fa fa-${stored}"></i> ${stored_time}</td>
|
||||
<td><i class="fa fa-${emailed}"></i> ${emailed_time}</td>
|
||||
<td>${comment}</td>
|
||||
<td><a href="#!mail(contact);email.${email}">${email}</a></td>
|
||||
<td>${sex}</td>
|
||||
<td>${name_first}</td>
|
||||
<td>${name_last}</td>
|
||||
<td>${updated_at}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="all-check" email="${email}"/>
|
||||
<input type="checkbox" class="pull-right mail-contact-check" email="${email}"/>
|
||||
</td>
|
||||
</tr>
|
||||
65
tpl/saimod_mail_email.tpl
Normal file
65
tpl/saimod_mail_email.tpl
Normal file
@ -0,0 +1,65 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_email">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td><input id="input-email-id" type="text" value="${id}" disabled style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td><input id="input-email-name" type="text" value="${name}" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>From</th>
|
||||
<td><input id="input-email-sender" type="text" value="${sender}" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Subject</th>
|
||||
<td><input id="input-email-subject" type="text" value="${subject}" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>System Lock</th>
|
||||
<td>${system_lock}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>UpdatedAt</th>
|
||||
<td>${updated_at}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>TXT-Template</th>
|
||||
<td>
|
||||
<select id="select-email-text-template" ${template_lock}>
|
||||
<option value="">No Template</option>
|
||||
${text_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>HTML-Template</th>
|
||||
<td>
|
||||
<select id="select-email-html-template" ${template_lock}>
|
||||
<option value="">No Template</option>
|
||||
${html_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">Preview</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">Send</th>
|
||||
</tr>
|
||||
${send}
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-email-update" style="margin: 12px;"><i class="fa fa-edit"></i> Update</button>
|
||||
</div>
|
||||
48
tpl/saimod_mail_email_new.tpl
Normal file
48
tpl/saimod_mail_email_new.tpl
Normal file
@ -0,0 +1,48 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_email_new">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td><input id="input-email-new-name" type="text" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>From</th>
|
||||
<td><input id="input-email-new-sender" type="text" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Subject</th>
|
||||
<td><input id="input-email-new-subject" type="text" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>TXT-Template</th>
|
||||
<td>
|
||||
<select id="select-email-new-text-template">
|
||||
<option value="">No Template</option>
|
||||
${text_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>HTML-Template</th>
|
||||
<td>
|
||||
<select id="select-email-new-html-template">
|
||||
<option value="">No Template</option>
|
||||
${html_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">Preview</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-email-new-insert" style="margin: 12px;"><i class="fa fa-save"></i> Insert</button>
|
||||
</div>
|
||||
6
tpl/saimod_mail_email_send.tpl
Normal file
6
tpl/saimod_mail_email_send.tpl
Normal file
@ -0,0 +1,6 @@
|
||||
<tr>
|
||||
<td><a href="#!mail(list);id.${id}">${name}</a></td>
|
||||
<td>
|
||||
<button class="btn btn-sm btn-${btn-color} btn-email-send" ${disabled} list="${id}" email="${email}"><i class="fa fa-send"></i> Send</button>
|
||||
</td>
|
||||
</tr>
|
||||
1
tpl/saimod_mail_email_template_option.tpl
Normal file
1
tpl/saimod_mail_email_template_option.tpl
Normal file
@ -0,0 +1 @@
|
||||
<option value="${id}" ${selected}>${name}</option>
|
||||
19
tpl/saimod_mail_emails.tpl
Normal file
19
tpl/saimod_mail_emails.tpl
Normal file
@ -0,0 +1,19 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_emails">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Name</th>
|
||||
<th>From</th>
|
||||
<th>Subject</th>
|
||||
<th>System Lock</th>
|
||||
<th>UpdatedAt</th>
|
||||
<th>
|
||||
<button type="button" id="btn-mail-email-del" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash"></i></button>
|
||||
<button type="button" id="btn-mail-email-new" class="btn btn-sm btn-success pull-right" onclick="system.load('mail(email_new)')" style="margin-right: 10px;"><i class="fa fa-plus"></i></button>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>${data}</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -1,13 +1,11 @@
|
||||
<tr>
|
||||
<td style="color: ${valid}">${used_code}</td>
|
||||
<td>${email}</td>
|
||||
<td><i class="fa fa-${device}"></i></td>
|
||||
<td>${generated}</td>
|
||||
<td><i class="fa fa-${redeemed}"></i> ${redeemed_time}</td>
|
||||
<td><i class="fa fa-${stored}"></i> ${stored_time}</td>
|
||||
<td><i class="fa fa-${emailed}"></i> ${emailed_time}</td>
|
||||
<td>${comment}</td>
|
||||
<td><a href="#!mail(email);id.${id}">${id}</a></td>
|
||||
<td><a href="#!mail(email);id.${id}">${name}</a></td>
|
||||
<td>${sender}</td>
|
||||
<td>${subject}</td>
|
||||
<td>${system_lock}</td>
|
||||
<td>${updated_at}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="all-check" email="${email}"/>
|
||||
<input type="checkbox" class="pull-right mail-email-check" email="${id}"/>
|
||||
</td>
|
||||
</tr>
|
||||
30
tpl/saimod_mail_list.tpl
Normal file
30
tpl/saimod_mail_list.tpl
Normal file
@ -0,0 +1,30 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_list">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td><input id="input-list-id" type="text" value="${id}" disabled style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td><input id="input-list-name" type="text" value="${name}" style="width: 100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>System Lock</th>
|
||||
<td>${system_lock}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>UpdatedAt</th>
|
||||
<td>${updated_at}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">Members</th>
|
||||
</tr>
|
||||
${data}
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-list-update" style="margin: 12px;"><i class="fa fa-edit"></i> Update</button>
|
||||
</div>
|
||||
11
tpl/saimod_mail_list_new.tpl
Normal file
11
tpl/saimod_mail_list_new.tpl
Normal file
@ -0,0 +1,11 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_list_new">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td><input id="input-list-new-name" type="text" style="width: 100%"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-list-new-insert" style="margin: 12px;"><i class="fa fa-save"></i> Insert</button>
|
||||
</div>
|
||||
@ -1,13 +1,4 @@
|
||||
<tr>
|
||||
<td style="color: ${valid}">${used_code}</td>
|
||||
<td>${email}</td>
|
||||
<td><i class="fa fa-${device}"></i></td>
|
||||
<td>${generated}</td>
|
||||
<td><i class="fa fa-${redeemed}"></i> ${redeemed_time}</td>
|
||||
<td><i class="fa fa-${stored}"></i> ${stored_time}</td>
|
||||
<td><i class="fa fa-${emailed}"></i> ${emailed_time}</td>
|
||||
<td>${comment}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="all-check" email="${email}"/>
|
||||
</td>
|
||||
<td><a href="#!mail(contact);email.${email}">${name_first} ${name_last}</a></td>
|
||||
<td><a href="#!mail(contact);email.${email}">${email}</a></td>
|
||||
</tr>
|
||||
18
tpl/saimod_mail_lists.tpl
Normal file
18
tpl/saimod_mail_lists.tpl
Normal file
@ -0,0 +1,18 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_lists">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Name</th>
|
||||
<th>Members</th>
|
||||
<th>System Lock</th>
|
||||
<th>UpdatedAt</th>
|
||||
<th>
|
||||
<button type="button" id="btn-mail-list-del" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash"></i></button>
|
||||
<button type="button" id="btn-mail-list-new" class="btn btn-sm btn-success pull-right" onclick="system.load('mail(list_new)')" style="margin-right: 10px;"><i class="fa fa-plus"></i></button>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>${data}</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -1,13 +1,10 @@
|
||||
<tr>
|
||||
<td style="color: ${valid}">${used_code}</td>
|
||||
<td>${email}</td>
|
||||
<td><i class="fa fa-${device}"></i></td>
|
||||
<td>${generated}</td>
|
||||
<td><i class="fa fa-${redeemed}"></i> ${redeemed_time}</td>
|
||||
<td><i class="fa fa-${stored}"></i> ${stored_time}</td>
|
||||
<td><i class="fa fa-${emailed}"></i> ${emailed_time}</td>
|
||||
<td>${comment}</td>
|
||||
<tr>
|
||||
<td><a href="#!mail(list);id.${id}">${id}</id></td>
|
||||
<td><a href="#!mail(list);id.${id}">${name}</a></td>
|
||||
<td>${count}</td>
|
||||
<td>${system_lock}</td>
|
||||
<td>${updated_at}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="all-check" email="${email}"/>
|
||||
<input type="checkbox" class="pull-right mail-list-check" list="${id}"/>
|
||||
</td>
|
||||
</tr>
|
||||
0
tpl/saimod_mail_overview.tpl
Normal file
0
tpl/saimod_mail_overview.tpl
Normal file
42
tpl/saimod_mail_template.tpl
Normal file
42
tpl/saimod_mail_template.tpl
Normal file
@ -0,0 +1,42 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_template">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td>
|
||||
<input id="input-template-id" type="text" value="${id}" disabled style="width: 100%"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<td>
|
||||
<select id="input-template-type">
|
||||
<option value="0" ${selected_text}>Text</option>
|
||||
<option value="1" ${selected_html}>HTML</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td>
|
||||
<input id="input-template-name" type="text" value="${name}" style="width: 100%"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>System Lock</th>
|
||||
<td>${system_lock}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>UpdatedAt</th>
|
||||
<td>${updated_at}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<td>
|
||||
<textarea id="input-template-value" style="width: 100%; min-height: 350px;">${value}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-template-update" style="margin: 12px;"><i class="fa fa-edit"></i> Update</button>
|
||||
</div>
|
||||
28
tpl/saimod_mail_template_new.tpl
Normal file
28
tpl/saimod_mail_template_new.tpl
Normal file
@ -0,0 +1,28 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_template_new">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<td>
|
||||
<select id="input-template-new-type">
|
||||
<option value="0">Text</option>
|
||||
<option value="1">HTML</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td>
|
||||
<input id="input-template-new-name" type="text" style="width: 100%"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<td>
|
||||
<textarea id="input-template-new-value" style="width: 100%; min-height: 350px;"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="btn btn-sm btn-success" id="btn-template-new-insert" style="margin: 12px;"><i class="fa fa-save"></i> Insert</button>
|
||||
</div>
|
||||
26
tpl/saimod_mail_templates.tpl
Normal file
26
tpl/saimod_mail_templates.tpl
Normal file
@ -0,0 +1,26 @@
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link ${active_text}" href="#!mail(templates)">Text</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link ${active_html}" href="#!mail(templates);type.1">HTML</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_mail_templates">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Name</th>
|
||||
<th>Type</th>
|
||||
<th>System Lock</th>
|
||||
<th>UpdatedAt</th>
|
||||
<th>
|
||||
<button type="button" id="btn-mail-template-del" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash"></i></button>
|
||||
<button type="button" id="btn-mail-template-new" class="btn btn-sm btn-success pull-right" onclick="system.load('mail(template_new)')" style="margin-right: 10px;"><i class="fa fa-plus"></i></button>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>${data}</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -1,13 +1,10 @@
|
||||
<tr>
|
||||
<td style="color: ${valid}">${used_code}</td>
|
||||
<td>${email}</td>
|
||||
<td><i class="fa fa-${device}"></i></td>
|
||||
<td>${generated}</td>
|
||||
<td><i class="fa fa-${redeemed}"></i> ${redeemed_time}</td>
|
||||
<td><i class="fa fa-${stored}"></i> ${stored_time}</td>
|
||||
<td><i class="fa fa-${emailed}"></i> ${emailed_time}</td>
|
||||
<td>${comment}</td>
|
||||
<td><a href="#!mail(template);id.${id}">${id}</a></td>
|
||||
<td><a href="#!mail(template);id.${id}">${name}</a></td>
|
||||
<td>${type}</td>
|
||||
<td>${system_lock}</td>
|
||||
<td>${updated_at}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="all-check" email="${email}"/>
|
||||
<input type="checkbox" class="pull-right mail-template-check" template="${id}"/>
|
||||
</td>
|
||||
</tr>
|
||||
Loading…
x
Reference in New Issue
Block a user