diff --git a/autoload.inc b/autoload.inc index b6ff6c1..b6b822a 100644 --- a/autoload.inc +++ b/autoload.inc @@ -1,4 +1,4 @@ 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'));} } \ No newline at end of file diff --git a/sql/CONTACTS_SELECT.php b/sql/CONTACTS_SELECT.php index e44e0b6..07d882c 100644 --- a/sql/CONTACTS_SELECT.php +++ b/sql/CONTACTS_SELECT.php @@ -1,9 +1,9 @@ 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()); } } \ No newline at end of file diff --git a/sql/EMAILS_SELECT.php b/sql/EMAILS_SELECT.php index e44e0b6..9b22639 100644 --- a/sql/EMAILS_SELECT.php +++ b/sql/EMAILS_SELECT.php @@ -1,9 +1,9 @@ ','${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','\nEine Nachricht ist über die Website eingegangen:
\n
\n

Type: ${data_type}

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
EMail${data_email}
Name${data_vorname} ${data_nachname}
Type${data_type}
Text
${data_text}
\n

Raw Data:

\n
${data_json}
\n
\n
\n

\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

\n

\n Ihr TEAM DEMOCRACY\n

\n \"DEMOCRACY\n

\n DEMOCRACY Deutschland e.V.
\n mobil +49 176 470 40 213
\n \n contact@democracy-deutschland.de\n
\n \n https://www.democracy-deutschland.de\n
\n \n https://github.com/demokratie-live\n \n

\n
\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','\nEine Nachricht ist über die Website eingegangen:
\n
\n

Type: ${data_type}

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
EMail${data_email}
Name${data_name}
Type${data_type}
Text
${data_text}
\n

Raw Data:

\n
${data_json}
\n
\n
\n

\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

\n

\n Ihr TEAM DEMOCRACY\n

\n \"DEMOCRACY\n

\n DEMOCRACY Deutschland e.V.
\n mobil +49 176 470 40 213
\n \n contact@democracy-deutschland.de\n
\n \n https://www.democracy-deutschland.de\n
\n \n https://github.com/demokratie-live\n \n

\n
\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','\nEine Nachricht ist über die Website eingegangen:
\n
\n

Type: ${data_type}

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
EMail${data_email}
Name${data_name}
Type${data_type}
Text
${data_text}
\n

Raw Data:

\n
${data_json}
\n
\n
\n

\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

\n

\n Ihr TEAM DEMOCRACY\n

\n \"DEMOCRACY\n

\n DEMOCRACY Deutschland e.V.
\n mobil +49 176 470 40 213
\n \n contact@democracy-deutschland.de\n
\n \n https://www.democracy-deutschland.de\n
\n \n https://github.com/demokratie-live\n \n

\n
\n',1); + +INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (20,'Newsletter Subscribe','DEMOCRACY Deutschland e.V. ','${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,
\n
\nSie haben sich für unseren Newsletter eingetragen.
\n
\nUm sich wieder abzumelden folgen Sie bitte diesem Abmelde-Link
\n
\nHerzliche Grüße
\nTeam DEMOCRACY',1); + +INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (30,'Prototype Register','Prototyp | DEMOCRACY ','${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,
\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\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 (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (31,'Prototype Access Android','Prototyp | DEMOCRACY ','${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','\n \n \n \n \n
\n Hallo lieber \n Prototyp-Tester,\n
\n
\n
\n im folgenden erklären wir Dir, wie Du zur Beta-Version von DEMOCRACY gelangst.\n
\n
\n
\n Anleitung für Android\n
    \n
  1. Öffne diesen Link mit Deinem Handy: https://play.google.com/apps/testing/de.democracydeutschland.app.beta
  2. \n
  3. Drücke den Button ganz unten auf dem es heißt: Tester werden
  4. \n
  5. Eine neue Ansicht lädt, drücke nun die App DEMOCRACY bei Google Play herunterladen.
  6. \n
  7. Du wirst in den Google Play Store weitergeleitet und kannst die App dort herunter laden
  8. \n
  9. Öffne DEMOCRACY und teste – wie Du Bugs korrekt reportest, entnehme bitte der Anleitung zum Bug-Report
  10. \n
  11. 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.
  12. \n
\n
\n
\n
\n
\n Anleitung zum Bug-Report\n

\n
\n
\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
\n
\n
\n Wie Du das machst?\n
\n
\n Zunächst: Mach aus der unten stehenden Liste bitte nur das, was Dir zumutbar erscheint. Im Optimalfall:\n
\n
\n
    \n
  1. Mach einen Screenshot (in Android: An- und Leiser-Taste gleichzeitig drücken oder An-Taste drücken und Screenshot auswählen)
  2. \n
  3. Markiere die fehlerhaften Bereiche in dem Screenshot (z.B Roter Kreis um den Fehler)
  4. \n
  5. Beschreib das Problem möglichst genau in wenigen Sätzen
  6. \n
  7. Gib eine Schritt-für-Schritt-Anleitung, wie es zu dem Problem gekommen ist, und wenn es Dir für notwendig erscheint
  8. \n
  9. Klassifiziere das Problem in einen Fehlerbericht und/oder einen Verbesserungsvorschlag
  10. \n
  11. 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
  12. \n
  13. Erstelle ein Issue für das Problem und lade den Screenshot auf Github hoch https://github.com/demokratie-live/democracy-client/issues
  14. \n
\n
\n
\n \n


\n
DEMOCRACY Deutschland e.V.
\n
IBAN: DE33 5003 1000 1049 7560 00
\n
BIC: TRODDEF1
mobil  +49 176 470 40 213
\n
\n
\n \n',1); + +INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (32,'Prototype Access iOS','Prototyp | DEMOCRACY ','${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','\n \n \n \n \n
\n Hallo lieber \n Prototyp-Tester,\n
\n
\n
\n im folgenden erklären wir Dir, wie Du zur Beta-Version von DEMOCRACY gelangst.\n
\n
\n
\n Anleitung für iOS\n
    \n
  1. 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\"
  2. \n
  3. Öffne diese Mail, klicke den blauen Button View in TestFlight und folge der aufgeführten Anleitung, also
  4. \n
  5. Lade Dir TestFlight im AppStore herunter
  6. \n
  7. Öffne TestFlight und Drücke “Redeem”
  8. \n
  9. Gib den Bestätigungscode, also z.B. QJHFFNDF ein und lade Dir DEMOCRACY herunter.
  10. \n
  11. Öffne DEMOCRACY und teste – wie Du Bugs korrekt reportest, entnehme bitte der Anleitung zum Bug-Report
  12. \n
\n
\n
\n
\n
\n Anleitung zum Bug-Report\n

\n
\n
\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
\n
\n
\n Wie Du das machst?\n
\n
\n Zunächst: Mach aus der unten stehenden Liste bitte nur das, was Dir zumutbar erscheint. Im Optimalfall:\n
\n
\n
    \n
  1. Mach einen Screenshot (in iOS: Stand-by- und Home-Taste gleichzeitig drücken)
  2. \n
  3. Markiere die fehlerhaften Bereiche in dem Screenshot (z.B Roter Kreis um den Fehler)
  4. \n
  5. Beschreib das Problem möglichst genau in wenigen Sätzen
  6. \n
  7. Gib eine Schritt-für-Schritt-Anleitung, wie es zu dem Problem gekommen ist, und wenn es Dir für notwendig erscheint
  8. \n
  9. Klassifiziere das Problem in einen Fehlerbericht und/oder einen Verbesserungsvorschlag
  10. \n
  11. 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
  12. \n
  13. Erstelle ein Issue für das Problem und lade den Screenshot auf Github hoch https://github.com/demokratie-live/democracy-client/issues
  14. \n
\n
\n
\n \n


\n
DEMOCRACY Deutschland e.V.
\n
IBAN: DE33 5003 1000 1049 7560 00
\n
BIC: TRODDEF1
mobil  +49 176 470 40 213
\n
\n
\n \n',1); \ No newline at end of file diff --git a/sql/mysql/system_page.sql b/sql/mysql/system_page.sql index 6e0eabf..b529781 100644 --- a/sql/mysql/system_page.sql +++ b/sql/mysql/system_page.sql @@ -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'); \ No newline at end of file +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'); \ No newline at end of file diff --git a/tpl/menu.tpl b/tpl/menu.tpl index d928cf6..629a48d 100644 --- a/tpl/menu.tpl +++ b/tpl/menu.tpl @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/tpl/saimod_mail.tpl b/tpl/saimod_mail.tpl index f86e77a..8ccea87 100644 --- a/tpl/saimod_mail.tpl +++ b/tpl/saimod_mail.tpl @@ -1,34 +1,15 @@
-

   Donate

+

   Mail

-
- - - - - - - - - - - - - - - - - - - - - -
Paten
Value
Paten Goal
Value Goal
- -
-
-
- ${donate_box} + +
\ No newline at end of file diff --git a/tpl/saimod_mail_contact.tpl b/tpl/saimod_mail_contact.tpl new file mode 100644 index 0000000..56b54de --- /dev/null +++ b/tpl/saimod_mail_contact.tpl @@ -0,0 +1,35 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${data} + +
EMail
Sex
FirstName
LastName
UpdatedAt${updated_at}
ListsSubscribed
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_contact_new.tpl b/tpl/saimod_mail_contact_new.tpl new file mode 100644 index 0000000..25c34fe --- /dev/null +++ b/tpl/saimod_mail_contact_new.tpl @@ -0,0 +1,31 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + ${data} + +
EMail
Sex
FirstName
LastName
ListsSubscribed
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_contact_new_tr.tpl b/tpl/saimod_mail_contact_new_tr.tpl index c618891..bb92fdc 100644 --- a/tpl/saimod_mail_contact_new_tr.tpl +++ b/tpl/saimod_mail_contact_new_tr.tpl @@ -1,13 +1,4 @@ - ${used_code} - ${email} - - ${generated} -  ${redeemed_time} -  ${stored_time} -  ${emailed_time} - ${comment} - - - + ${name} + \ No newline at end of file diff --git a/tpl/saimod_mail_contact_tr.tpl b/tpl/saimod_mail_contact_tr.tpl index c618891..839e31f 100644 --- a/tpl/saimod_mail_contact_tr.tpl +++ b/tpl/saimod_mail_contact_tr.tpl @@ -1,13 +1,4 @@ - ${used_code} - ${email} - - ${generated} -  ${redeemed_time} -  ${stored_time} -  ${emailed_time} - ${comment} - - - + ${name} + \ No newline at end of file diff --git a/tpl/saimod_mail_contacts.tpl b/tpl/saimod_mail_contacts.tpl new file mode 100644 index 0000000..9104a69 --- /dev/null +++ b/tpl/saimod_mail_contacts.tpl @@ -0,0 +1,24 @@ + +
+ + + + + + + + + + + + ${data} +
EMailSexFirstNameLastNameUpdatedAt + + +
+
\ No newline at end of file diff --git a/tpl/saimod_mail_contacts_menu.tpl b/tpl/saimod_mail_contacts_menu.tpl new file mode 100644 index 0000000..ac0b23c --- /dev/null +++ b/tpl/saimod_mail_contacts_menu.tpl @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/tpl/saimod_mail_contacts_tr.tpl b/tpl/saimod_mail_contacts_tr.tpl index c618891..185d3b8 100644 --- a/tpl/saimod_mail_contacts_tr.tpl +++ b/tpl/saimod_mail_contacts_tr.tpl @@ -1,13 +1,10 @@ - ${used_code} - ${email} - - ${generated} -  ${redeemed_time} -  ${stored_time} -  ${emailed_time} - ${comment} + ${email} + ${sex} + ${name_first} + ${name_last} + ${updated_at} - + \ No newline at end of file diff --git a/tpl/saimod_mail_email.tpl b/tpl/saimod_mail_email.tpl new file mode 100644 index 0000000..ba49f2c --- /dev/null +++ b/tpl/saimod_mail_email.tpl @@ -0,0 +1,65 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${send} + +
ID
Name
From
Subject
System Lock${system_lock}
UpdatedAt${updated_at}
TXT-Template + +
HTML-Template + +
Preview
Send
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_email_new.tpl b/tpl/saimod_mail_email_new.tpl new file mode 100644 index 0000000..855cddc --- /dev/null +++ b/tpl/saimod_mail_email_new.tpl @@ -0,0 +1,48 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name
From
Subject
TXT-Template + +
HTML-Template + +
Preview
+ +
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_email_send.tpl b/tpl/saimod_mail_email_send.tpl new file mode 100644 index 0000000..e0d3d15 --- /dev/null +++ b/tpl/saimod_mail_email_send.tpl @@ -0,0 +1,6 @@ + + ${name} + + + + \ No newline at end of file diff --git a/tpl/saimod_mail_email_template_option.tpl b/tpl/saimod_mail_email_template_option.tpl new file mode 100644 index 0000000..9b6b234 --- /dev/null +++ b/tpl/saimod_mail_email_template_option.tpl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tpl/saimod_mail_emails.tpl b/tpl/saimod_mail_emails.tpl new file mode 100644 index 0000000..d115772 --- /dev/null +++ b/tpl/saimod_mail_emails.tpl @@ -0,0 +1,19 @@ +
+ + + + + + + + + + + + + ${data} +
IDNameFromSubjectSystem LockUpdatedAt + + +
+
\ No newline at end of file diff --git a/tpl/saimod_mail_emails_tr.tpl b/tpl/saimod_mail_emails_tr.tpl index c618891..d1eaa9a 100644 --- a/tpl/saimod_mail_emails_tr.tpl +++ b/tpl/saimod_mail_emails_tr.tpl @@ -1,13 +1,11 @@ - ${used_code} - ${email} - - ${generated} -  ${redeemed_time} -  ${stored_time} -  ${emailed_time} - ${comment} + ${id} + ${name} + ${sender} + ${subject} + ${system_lock} + ${updated_at} - + \ No newline at end of file diff --git a/tpl/saimod_mail_list.tpl b/tpl/saimod_mail_list.tpl new file mode 100644 index 0000000..3f9f35e --- /dev/null +++ b/tpl/saimod_mail_list.tpl @@ -0,0 +1,30 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + ${data} + +
ID
Name
System Lock${system_lock}
UpdatedAt${updated_at}
Members
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_list_new.tpl b/tpl/saimod_mail_list_new.tpl new file mode 100644 index 0000000..77ece07 --- /dev/null +++ b/tpl/saimod_mail_list_new.tpl @@ -0,0 +1,11 @@ +
+ + + + + + + +
Name
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_list_tr.tpl b/tpl/saimod_mail_list_tr.tpl index c618891..6500224 100644 --- a/tpl/saimod_mail_list_tr.tpl +++ b/tpl/saimod_mail_list_tr.tpl @@ -1,13 +1,4 @@ - ${used_code} - ${email} - - ${generated} -  ${redeemed_time} -  ${stored_time} -  ${emailed_time} - ${comment} - - - + ${name_first} ${name_last} + ${email} \ No newline at end of file diff --git a/tpl/saimod_mail_lists.tpl b/tpl/saimod_mail_lists.tpl new file mode 100644 index 0000000..6c8ee90 --- /dev/null +++ b/tpl/saimod_mail_lists.tpl @@ -0,0 +1,18 @@ +
+ + + + + + + + + + + + ${data} +
IDNameMembersSystem LockUpdatedAt + + +
+
\ No newline at end of file diff --git a/tpl/saimod_mail_lists_tr.tpl b/tpl/saimod_mail_lists_tr.tpl index c618891..ddd2d06 100644 --- a/tpl/saimod_mail_lists_tr.tpl +++ b/tpl/saimod_mail_lists_tr.tpl @@ -1,13 +1,10 @@ - - ${used_code} - ${email} - - ${generated} -  ${redeemed_time} -  ${stored_time} -  ${emailed_time} - ${comment} + + ${id} + ${name} + ${count} + ${system_lock} + ${updated_at} - + \ No newline at end of file diff --git a/tpl/saimod_mail_overview.tpl b/tpl/saimod_mail_overview.tpl new file mode 100644 index 0000000..e69de29 diff --git a/tpl/saimod_mail_template.tpl b/tpl/saimod_mail_template.tpl new file mode 100644 index 0000000..3fcb414 --- /dev/null +++ b/tpl/saimod_mail_template.tpl @@ -0,0 +1,42 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID + +
Type + +
Name + +
System Lock${system_lock}
UpdatedAt${updated_at}
Value + +
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_template_new.tpl b/tpl/saimod_mail_template_new.tpl new file mode 100644 index 0000000..e84939c --- /dev/null +++ b/tpl/saimod_mail_template_new.tpl @@ -0,0 +1,28 @@ +
+ + + + + + + + + + + + + + + +
Type + +
Name + +
Value + +
+ +
\ No newline at end of file diff --git a/tpl/saimod_mail_templates.tpl b/tpl/saimod_mail_templates.tpl new file mode 100644 index 0000000..0d66898 --- /dev/null +++ b/tpl/saimod_mail_templates.tpl @@ -0,0 +1,26 @@ + +
+ + + + + + + + + + + + ${data} +
IDNameTypeSystem LockUpdatedAt + + +
+
\ No newline at end of file diff --git a/tpl/saimod_mail_templates_tr.tpl b/tpl/saimod_mail_templates_tr.tpl index c618891..36088b2 100644 --- a/tpl/saimod_mail_templates_tr.tpl +++ b/tpl/saimod_mail_templates_tr.tpl @@ -1,13 +1,10 @@ - ${used_code} - ${email} - - ${generated} -  ${redeemed_time} -  ${stored_time} -  ${emailed_time} - ${comment} + ${id} + ${name} + ${type} + ${system_lock} + ${updated_at} - + \ No newline at end of file