SVarlamov
9 years ago
commit
87bb4c3dd2
16 changed files with 3166 additions and 0 deletions
@ -0,0 +1,16 @@
|
||||
## mailer |
||||
|
||||
# Модуль Рассылка / Подписка v2.2.1 |
||||
|
||||
### адаптирован для AVE.CMS 3.0 v1.5 |
||||
|
||||
## Данный модуль позволяет создавать внутренние (по группам пользователей сайта), внешние (по спискам) и комбинированные рассылки. |
||||
|
||||
* Для вывода в публичной части сайта формы подписки на рассылку, используйте системный тег <strong>[mod_subscribe:XXX]</strong>, где XXX - идентификатор списка рассылки, в который будет добавлен подписчик. |
||||
|
||||
|
||||
## Перед копированием модуля в папку modules, удалите файл README.md, копируйте только корневую папку mailer со всем ее содержимым внутри! |
||||
|
||||
## Changelog: |
||||
|
||||
29.06.2014 - версия 2.2.1 |
@ -0,0 +1,211 @@
|
||||
[public] |
||||
MAILER_EMAIL = "E-mail" |
||||
MAILER_LNAME = "Фамилия" |
||||
MAILER_FNAME = "Имя" |
||||
MAILER_MNAME = "Отчество" |
||||
MAILER_SUBSCRIBE = "Подписаться" |
||||
MAILER_UNSUBSCRIBE = "Отписаться" |
||||
|
||||
MAILER_WRONG_EMAIL = "Неверный синтаксис email-а!" |
||||
MAILER_DELETED = "Получатель <a href="mailto:%email%" target="_blank">%email%</a> успешно удалён из списка рассылки!" |
||||
MAILER_DEL_NO = "Получатель <a href="mailto:%email%" target="_blank">%email%</a> отсутствует в списке рассылки!<br/>Возможно, вы уже отправляли заявку на удаление." |
||||
MAILER_SUBSCRIBED = "Получатель <a href="mailto:%email%" target="_blank">%email%</a> успешно добавлен в список рассылки!" |
||||
MAILER_SUBSCRIBE_EXIST = "Получатель <a href="mailto:%email%" target="_blank">%email%</a> уже есть в списке рассылки!<br>Возможно, вы отправляли заявку ранее. Поля ФИО были обновлены." |
||||
|
||||
[admin] |
||||
MAILER_MODULE_NAME = "Рассылка" |
||||
MAILER_MODULE_INFO = "На этой странице вы можете написать новое письмо и просмотреть список выполненных рассылок. Для отправки внешней рассылки необходимо сначала создать список рассылки в соответствующем разделе модуля." |
||||
MAILER_MANAGE_MAILS = "Управление рассылками" |
||||
MAILER_MANAGE_LISTS = "Управление списками рассылки" |
||||
MAILER_NEW_MAIL = "Создать рассылку" |
||||
MAILER_NEW_LIST = "Создать список рассылки" |
||||
MAILER_YES = "да" |
||||
MAILER_NO = "нет" |
||||
MAILER_OR = "или" |
||||
MAILER_MAILS_CTRL = "Для выбора нескольких используйте <b>Ctrl</b>" |
||||
MAILER_ADD_BTN = "Создать список рассылки" |
||||
MAILER_ADD_CONT_BTN = "Создать и продолжить (CTRL+S)" |
||||
MAILER_EDIT_BTN = "Сохранить изменения" |
||||
MAILER_EDIT_CONT_BTN = "Сохранить и продолжить (CTRL+S)" |
||||
MAILER_SAVED = "Сохранено" |
||||
MAILER_ACTIONS = "Действия" |
||||
MAILER_ACTIONS_EDIT = "Редактировать" |
||||
MAILER_ACTIONS_COPY = "Копировать" |
||||
MAILER_ACTIONS_SHOW = "Показать письмо в новой вкладке" |
||||
MAILER_ACTIONS_HOWSAVE = "Для сохранения нажмите одну из кнопок под таблицей" |
||||
MAILER_ACTIONS_DEL = "Удалить" |
||||
MAILER_ACTIONS_DOWNLOAD = "Загрузить в формате csv" |
||||
MAILER_ACTIONS_WIPE = "Очистить<br/>(удалить всех получателей)" |
||||
MAILER_ACTIONS_WIPE_2 = "Удалить всех получателей из списка" |
||||
MAILER_INPUT_ADD_ROW = "Добавить ряд" |
||||
MAILER_SAVING = "Сохранение..." |
||||
MAILER_SENDING = "Отправка..." |
||||
MAILER_DELETING = "Удаление..." |
||||
MAILER_SHOWING = "Просмотр..." |
||||
MAILER_ADDING = "Добавление..." |
||||
MAILER_SENDING_TEST = "Тестовая отправка..." |
||||
MAILER_WIPING = "Очистка..." |
||||
MAILER_SHOW_AUTHOR_TIT = "Просмотреть учётную запись пользователя" |
||||
MAILER_WRITE_EMAIL = "Написать письмо" |
||||
MAILER_LOOK = "Посмотреть" |
||||
MAILER_LOOK_LIST = "Посмотреть список" |
||||
MAILER_ER_EMAIL_SYN = "Неверный синтаксис email-а!" |
||||
MAILS_SAVED = "Сохранено" |
||||
MAILER_EMAIL_OK = "Правильный email" |
||||
MAILER_SENT_OK = "Рассылка успешно отправлена" |
||||
MAILER_SENT_OK_TEXT = "Рассылка была успешно отправлена и сохранена в список 'Выполненных рассылок'." |
||||
MAILER_SENT_OK_LINK = "Вернуться к рассылкам" |
||||
MAILER_NOFILE = "Файл не найден!" |
||||
|
||||
MAILER_MAILS_HEAD = "Выполненные рассылки" |
||||
MAILER_MAILS_TPL_H = "Сохранённые рассылки (черновики)" |
||||
MAILER_MAILS_AUTHOR = "Автор" |
||||
MAILER_MAILS_SUBJECT = "Тема" |
||||
MAILER_MAILS_DATE = "Дата отправки" |
||||
MAILER_MAILS_CREATED = "Дата создания" |
||||
MAILER_MAILS_FROM = "Отправитель" |
||||
MAILER_MAILS_FORMAT = "Формат" |
||||
MAILER_MAILS_REC_ADD = "Дополнительные получатели" |
||||
MAILER_MAILS_REC_ADD_I = "Здесь можно через <b>точку с запятой</b> указать дополнительные email-ы только для этой рассылки" |
||||
MAILER_MAILS_RECIEVERS = "Получатели" |
||||
MAILER_MAILS_ATTACHS = "Прикреплённые файлы" |
||||
MAILER_MAILS_NOITEMS = "Нет выполненных рассылок" |
||||
MAILER_MAILS_TPL_NO = "Нет сохранённых рассылок" |
||||
MAILER_MAILS_ADD_TITLE = "Создание рассылки" |
||||
MAILER_MAILS_EDIT_TITLE = "Редактирование рассылки" |
||||
MAILER_MAILS_NEW_TITLE = "Новая рассылка" |
||||
MAILER_MAILS_HEAD_MAIL = "Параметры письма" |
||||
MAILER_MAILS_HEAD_SET = "Параметры отправки" |
||||
MAILER_MAILS_REC_GROUPS = "группы пользователей сайта" |
||||
MAILER_MAILS_REC_LISTS = "списки рассылки" |
||||
MAILER_MAILS_FROM_NAME = "Имя отправителя" |
||||
MAILER_MAILS_FROM_EMAIL = "Адрес отправителя" |
||||
MAILER_MAILS_FROM_COPY = "Поставить отправителя в копию" |
||||
MAILER_MAILS_APPEAL = "Обращение к получателю" |
||||
MAILER_MAILS_APPEAL_I = "Подставляется в %NAME%, если ФИО пустое" |
||||
MAILER_MAILS_APPEAL_D = "уважаемый клиент" |
||||
MAILER_MAILS_TEXT = "Текст" |
||||
MAILER_MAILS_TEXT_I = "Шаблоны:<br /><b>%NAME%</b> = ФИО<br /><b>%ID%</b> = {№ рассылки} {C|G|L|A} {id получателя},<br />где C - сам отправитель, G - из группы, L - из списка, A - доп. получатель<br /><b>%SHOW%</b> = ссылка для просмотра письма в браузере при неправильном отображении" |
||||
MAILER_MAILS_TEXT_D = "Здравствуйте, %NAME%!" |
||||
MAILER_MAILS_ATTACH = "Прикрепить файлы" |
||||
MAILER_MAILS_ATTACH_A = "Добавить файл" |
||||
MAILER_MAILS_ATTACH_I = "Прикрепляйте файлы только если собираетесь отправить эту рассылку прямо сейчас" |
||||
MAILER_MAILS_SAVEATTACH = "Сохранить файлы после отправки?" |
||||
MAILER_MAILS_TEST_BTN = "Тестовая отправка" |
||||
MAILER_MAILS_SEND_BTN = "Отправить" |
||||
MAILER_MAILS_SAVE_BTN = "Сохранить черновик" |
||||
MAILER_MAILS_SAVE_BTN_C = "Сохранить и продолжить (Ctrl+S)" |
||||
MAILER_MAILS_SEND_Q = "Вы уверены, что расслылка готова к отправке?" |
||||
MAILER_MAILS_SEND_TEST = "Отправить тестовое письмо на следующие адреса<br/>(разделяйте <b>точкой с запятой</b>)" |
||||
MAILER_MAILS_TEST_OK = "Тестовое письмо было успешно отправлено адресатам:" |
||||
MAILER_MAILS_FINAL_REC = "Финальный список рассылки" |
||||
MAILER_MAILS_FINAL_TXT = "Сохраните черновик перед просмотром Ctrl+S" |
||||
MAILER_MAILS_MAKE_FIN = "Просмотреть" |
||||
MAILER_MAILS_FIN_INFO = "Список откроется во всплывающем окне (разблокируйте)" |
||||
MAILER_MAILS_DEL_Q = "Удалить черновик рассылки" |
||||
MAILER_MAILS_SHOW = "Показать письмо в новой вкладке (%SHOW%)" |
||||
MAILER_MAILS_SHOW_ALERT = "Сохраните рассылку первый раз перед просмотром!" |
||||
MAILER_MAILS_TIMING = "Способ отправки" |
||||
MAILER_MAILS_TIM_ALL = "Все сразу" |
||||
MAILER_MAILS_TIM_100 = "По 100 писем в час" |
||||
MAILER_MAILS_TIM_200 = "По 200 писем в час" |
||||
MAILER_MAILS_TIM_300 = "По 300 писем в час" |
||||
MAILER_MAILS_DELAY = "Задержка <strong>1 час</strong>, отправка следующей порции писем: <strong id="delay_time"></strong>. Чтобы продолжить прямо сейчас, нажмите <strong>Ctrl+G</strong>" |
||||
MAILER_MAILS_STOP = "Чтобы остановить процесс отправки, нажмите <strong>Ctrl+Q</strong>" |
||||
|
||||
MAILER_MAILS_SEARCH = "Найти" |
||||
MAILER_SEARCHING = "Поиск..." |
||||
MAILER_MAILS_FIND = "Поиск выполненных рассылок по полям:" |
||||
MAILER_MAILS_FIND_NO = "Ничего не найдено" |
||||
MAILER_MAILS_FIND_IN = "Введите слово или фрагмент текста для поиска" |
||||
MAILER_ERR_SEACRH_WORDS = "Введите слово для поиска!" |
||||
MAILER_ERR_SEACRH = "Выберите хотя бы одно поле!" |
||||
MAILER_SEARCH_FROM_E = "Email отправителя" |
||||
MAILER_SEARCH_FROM_N = "Имя отправителя" |
||||
MAILER_SEARCH_SUB = "Тема" |
||||
MAILER_SEARCH_BODY = "Текст" |
||||
MAILER_SEARCH_REC = "Получатели (только по email-ам)" |
||||
|
||||
MAILER_ERR_FROM_NAME = "Введите имя отправителя!" |
||||
MAILER_ERR_FROM_EMAIL = "Укажите правильный email отправителя!" |
||||
MAILER_ERR_TO = "Выберите хотя бы один список рассылки или группу получателей,<br />либо укажите дополнительные email-ы!" |
||||
MAILER_ERR_TO_ADD = "Проверьте правильность введённых email-ов!" |
||||
MAILER_ERR_SUBJECT = "Укажите тему рассылки!" |
||||
MAILER_ERR_BODY = "Введите текст письма!" |
||||
MAILER_ALERT_ATTACH = "Выбранные Вами файлы вложений сохранены не будут.<br />Указывайте вложения только перед отправкой письма!" |
||||
|
||||
MAILER_LISTS_INFO = "В этом разделе выводятся все списки рассылки" |
||||
MAILER_LISTS_EDIT_INFO = "Здесь вы можете отредактировать и дополнить список рассылки. Чтобы добавить сразу несколько получателей, нажмите крестик справа от полей для ввода информации. Добавление/изменение получателей осуществляется по нажатию кнопок сохранения; удаление выполняется без перезагрузки страницы.<br/>Для массового добавления получателей в список используйте раздел 'Импорт получателей'." |
||||
MAILER_LISTS_HEAD = "Списки рассылки" |
||||
MAILER_LIST_HEAD = "Список" |
||||
MAILER_LISTS_TITLE = "Название" |
||||
MAILER_LISTS_DESCR = "Описание" |
||||
MAILER_LISTS_AUTHOR = "Автор" |
||||
MAILER_LISTS_DATE = "Дата создания" |
||||
MAILER_LISTS_NUMBER = "Кол-во" |
||||
MAILER_LISTS_NUMBER_F = "Кол-во получателей в списке" |
||||
MAILER_LISTS_DELCHECK = "Удалить выбранные" |
||||
MAILER_LISTS_NOITEMS = "Нет списков рассылки" |
||||
|
||||
MAILER_LISTS_ADD = "Добавить список" |
||||
MAILER_LISTS_ADD_NAME = "Название списка рассылки" |
||||
MAILER_LISTS_CREATE = "Создать список рассылки" |
||||
MAILER_LISTS_CREATE_T = "Новый список" |
||||
MAILER_LISTS_CREATE_MES = "Укажите название списка рассылки!" |
||||
MAILER_LISTS_FIND = "Найти список" |
||||
|
||||
MAILER_LISTS_ADD_TITLE = "Создание списка рассылки" |
||||
MAILER_LISTS_EDIT_TITLE = "Редактирование списка рассылки" |
||||
MAILER_LISTS_SET_COM = "Общие настройки списка рассылки" |
||||
MAILER_LISTS_SET_REC = "Получатели" |
||||
MAILER_LISTS_DESCR_INFO = "Напишите, пожалуйста, подробное описание списка рассылки" |
||||
MAILER_LISTS_NOTITLE = "Укажите название списка рассылки!" |
||||
|
||||
MAILER_LISTS_IMPORT = "Импорт получателей" |
||||
MAILER_LISTS_IMPORT_T = "Прямой ввод" |
||||
MAILER_LISTS_IMPORT_T_1 = "Разделитель получателей:" |
||||
MAILER_LISTS_IMPORT_T_2 = "Разделителей полей:" |
||||
MAILER_LISTS_IMPORT_T_H = "Если разделитель - новая строка, используйте \r\n" |
||||
MAILER_LISTS_IMPORT_F = "Импорт из файла CSV" |
||||
MAILER_LISTS_IMPORT_F_I = "Возможен импорт из файлов CSV кодировок cp1251 и UTF-8." |
||||
MAILER_LISTS_IMPORT_F_H = "Внимание! Некоторые версии MS Excel сохраняют csv с разделителем <b>;</b> независимо от выбранного формата.<br/>Перед импортом проверяйте файл в блокноте." |
||||
MAILER_LISTS_IMPORT_F_D = "Разделитель столбцов:" |
||||
|
||||
MAILER_REC_STATUS_I = "Письмо получат только отмеченные получатели. Сняв флажок, Вы можете временно отключить адресата от рассылки.<br/>Если чекбокс запрещён, это означает, что подписчик отказался от рассылки" |
||||
MAILER_REC_STATUS_I2 = "Письмо получат только отмеченные получатели. Сняв флажок, Вы можете временно отключить адресата от рассылки." |
||||
MAILER_REC_EMAIL = "Email" |
||||
MAILER_REC_LASTN = "Фамилия" |
||||
MAILER_REC_FIRSTN = "Имя" |
||||
MAILER_REC_MIDN = "Отчество" |
||||
MAILER_REC_COMMENTS = "Комментарии" |
||||
MAILER_REC_NOITEMS = "Список получателей пуст" |
||||
MAILER_REC_EMAIL_OK = "Данный email можно добавить в список" |
||||
MAILER_REC_EMAIL_NO = "Ошибка! Данный email уже есть в текущем списке рассылки" |
||||
MAILER_REC_DEL = "Удалить получателя" |
||||
MAILER_REC_DELETED = "Получатель был успешно удалён из списка рассылки" |
||||
MAILER_REC_REFUSED = "Получатель отказался от рассылки" |
||||
MAILER_REC_UNCHECKED = "Получатель был исключён из списка рассылки вручную" |
||||
MAILER_REC_DATE_ADD = "Добавлен:" |
||||
|
||||
MAILER_MULTI_HINT = "Позволяет за раз добавить нескольких получателей в несколько списков" |
||||
MAILER_MULTI_INFO = "Здесь Вы можете за один раз добавить нескольких получателей в несколько списков" |
||||
MAILER_MULTI_TITLE = "Мульти-добавление получателей" |
||||
MAILER_MULTI_LISTS = "Списки" |
||||
MAILER_MULTI_TITLE2 = "Мульти-добавление адресатов в списки" |
||||
MAILER_MULTI_BTN = "Добавить получателей" |
||||
MAILER_MULTI_BTN_CTRL = "Добавить и продолжить (CTRL+S)" |
||||
MAILER_MULTI_NOLIST = "Выберите хотя бы один список!" |
||||
MAILER_MULTI_EMAIL_OK = "Правильный синтаксис email-а" |
||||
|
||||
MAILER_COUNT_TITLE = "Просмотр финального списка получателей рассылки" |
||||
MAILER_GROUPS = "Группы" |
||||
MAILER_GROUP = "Группа" |
||||
MAILER_LOGIN = "Логин" |
||||
MAILER_COUNT_INFO = "Если строка получателя выделена красным, значит, он по каким-то причинам не попадёт в финальный список рассылки" |
||||
MAILER_COUNT_ER_REPEAT = "Получатель с таким email-ом уже вошёл в фиальный список. См. таблицу выше." |
||||
MAILER_COUNT_NOLISTS = "Отсутствуют получатели из списков рассылки" |
||||
MAILER_COUNT_NOGROUPS = "Отсутствуют получатели из групп пользователей сайта" |
||||
MAILER_COUNT_NOADD = "Отсутствуют дополнительные получатели" |
||||
MAILER_COUNT_SUM = "Итого" |
||||
MAILER_COUNT_ALL = "Всего получателей" |
||||
MAILER_COUNT_ALL_INFO = "За вычетом красных строк" |
@ -0,0 +1,196 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* AVE.cms - Модуль Рассылки |
||||
* |
||||
* @package AVE.cms |
||||
* @subpackage module_mailer |
||||
* @filesource |
||||
*/ |
||||
|
||||
if (!defined('BASE_DIR')) exit; |
||||
|
||||
if (defined('ACP')) |
||||
{ |
||||
$modul['ModuleName'] = 'Рассылка / Подписка'; |
||||
$modul['ModuleSysName'] = 'mailer'; |
||||
$modul['ModuleVersion'] = '2.2.1'; |
||||
$modul['ModuleDescription'] = 'Данный модуль позволяет создавать внутренние (по группам пользователей сайта), внешние (по спискам) и комбинированные рассылки. Для вывода в публичной части сайта формы подписки на рассылку, используйте системный тег <strong>[mod_subscribe:XXX]</strong>, где XXX - идентификатор списка рассылки, в который будет добавлен подписчик.'; |
||||
$modul['ModuleAutor'] = 'val005'; |
||||
$modul['ModuleCopyright'] = '© 2007-2013 AVE.CMS'; |
||||
$modul['ModuleIsFunction'] = 1; |
||||
$modul['ModuleTemplate'] = 1; |
||||
$modul['ModuleAdminEdit'] = 1; |
||||
$modul['ModuleFunction'] = 'mod_subscribe'; |
||||
$modul['ModuleTag'] = '[mod_subscribe:XXX]'; |
||||
$modul['ModuleTagLink'] = null; |
||||
$modul['ModuleAveTag'] = '#\\\[mod_subscribe:(\\\d+)]#'; |
||||
$modul['ModulePHPTag'] = "<?php mod_subscribe(''$1''); ?>";
|
||||
} |
||||
|
||||
/** |
||||
* Обработка тега модуля |
||||
* |
||||
* @param int $list_id идентификатор списка рассылки |
||||
*/ |
||||
function mod_subscribe($list_id) |
||||
{ |
||||
include_once(BASE_DIR . '/modules/mailer/class.mailer.php'); |
||||
$mailer = new mailer; |
||||
$mailer->tpl_dir = BASE_DIR . '/modules/mailer/templates/'; |
||||
|
||||
global $AVE_Template; |
||||
$lang_file = BASE_DIR . '/modules/mailer/lang/' . $_SESSION['user_language'] . '.txt'; |
||||
$AVE_Template->config_load($lang_file, 'public'); |
||||
|
||||
$list_id = (int)preg_replace('/\D/', '', $list_id); |
||||
$_POST['email'] = trim($_POST['email']); |
||||
|
||||
switch ($_POST['action']) |
||||
{ |
||||
case 'subscribe': |
||||
$result = $mailer->mailerSubscribe(); |
||||
switch ($result) |
||||
{ |
||||
case 0: |
||||
$mes = $AVE_Template->get_config_vars('MAILER_WRONG_EMAIL'); |
||||
break; |
||||
|
||||
case 1: |
||||
$mes = str_replace('%email%',$_POST['email'],$AVE_Template->get_config_vars('MAILER_SUBSCRIBED')); |
||||
$AVE_Template->assign('hide_sub',true); |
||||
break; |
||||
|
||||
case 2: |
||||
$mes = str_replace('%email%',$_POST['email'],$AVE_Template->get_config_vars('MAILER_SUBSCRIBE_EXIST')); |
||||
$AVE_Template->assign('hide_sub',true); |
||||
break; |
||||
} |
||||
break; |
||||
|
||||
case 'unsubscribe': |
||||
$result = $mailer->mailerUnsubscribe(); |
||||
switch ($result) |
||||
{ |
||||
case 0: |
||||
$mes = str_replace('%email%',$_POST['email'],$AVE_Template->get_config_vars('MAILER_DEL_NO')); break; |
||||
case 1: |
||||
$mes = str_replace('%email%',$_POST['email'],$AVE_Template->get_config_vars('MAILER_DELETED')); break; |
||||
} |
||||
$AVE_Template->assign('hide_unsub',true); |
||||
break; |
||||
} |
||||
$AVE_Template->assign('message', $mes); |
||||
$AVE_Template->assign('action', $_POST['action']); |
||||
$AVE_Template->assign('list_id', $list_id); |
||||
$AVE_Template->display($mailer->tpl_dir . 'public_form.tpl'); |
||||
} |
||||
|
||||
/** |
||||
* Внешнее обращение |
||||
*/ |
||||
if (!defined('ACP') && $_REQUEST['module'] == 'mailer') |
||||
{ |
||||
global $AVE_DB; |
||||
switch ($_REQUEST['action']) |
||||
{ |
||||
case 'show': |
||||
$mail = $AVE_DB->Query(" |
||||
SELECT body, appeal, type |
||||
FROM " . PREFIX . "_module_mailer_mails |
||||
WHERE id = " . $_REQUEST['id'] |
||||
)->FetchRow(); |
||||
$body = str_replace( |
||||
array('%NAME%' ,'%SHOW%'), |
||||
array($mail->appeal ,'#'), |
||||
$mail->body); |
||||
echo ($mail -> type == 'text') ? '<pre>'.$body.'</pre>' : $body; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Админка |
||||
*/ |
||||
if (defined('ACP') && $_REQUEST['mod'] == 'mailer') |
||||
{ |
||||
include_once(BASE_DIR . '/modules/mailer/class.mailer.php'); |
||||
$mailer = new mailer; |
||||
$mailer->tpl_dir = BASE_DIR . '/modules/mailer/templates/'; |
||||
|
||||
$lang_file = BASE_DIR . '/modules/mailer/lang/' . $_SESSION['admin_language'] . '.txt'; |
||||
$AVE_Template->config_load($lang_file, 'admin'); |
||||
|
||||
switch ($_REQUEST['moduleaction']) |
||||
{ |
||||
// Вывод списка рассылок |
||||
case '': |
||||
case '1': |
||||
$mailer->mailerShowMails(); |
||||
break; |
||||
|
||||
// Загрузка вложения из отправленной рассылки |
||||
case 'getfile': |
||||
if (file_exists($_REQUEST['file'])) |
||||
{ |
||||
if ($_REQUEST['check']) exit('1'); |
||||
else $mailer->_mailerGetFile($_REQUEST['file']); |
||||
} |
||||
exit; |
||||
|
||||
// Вывод списка рассылок |
||||
case 'editmail': |
||||
include_once(BASE_DIR . '/class/class.user.php'); |
||||
$AVE_User = new AVE_User; |
||||
$mailer->mailerEditMail(); |
||||
break; |
||||
|
||||
case 'savemail': |
||||
include_once(BASE_DIR . '/class/class.user.php'); |
||||
$AVE_User = new AVE_User; |
||||
$mailer->mailerSaveMail($_REQUEST['id'],$_REQUEST['act']); |
||||
break; |
||||
|
||||
case 'countmail': |
||||
$mailer->mailerCountMail($_REQUEST['id']); |
||||
break; |
||||
|
||||
case 'testsend': |
||||
$emails = $mailer->mailerTestSend($_REQUEST['id'],$_REQUEST['emails']); |
||||
echo implode(', ',$emails); |
||||
exit; |
||||
|
||||
case 'sendmail': |
||||
$mailer->mailerSendMail(); |
||||
break; |
||||
|
||||
case 'showlists': |
||||
$mailer->mailerShowLists(); |
||||
break; |
||||
|
||||
case 'editlist': |
||||
$mailer->mailerEditList(); |
||||
break; |
||||
|
||||
case 'savelist': |
||||
$mailer->mailerSaveList(); |
||||
break; |
||||
|
||||
case 'multiadd': |
||||
$mailer->mailerMultiAdd(); |
||||
break; |
||||
|
||||
case 'multisave': |
||||
$mailer->mailerMultiSave(); |
||||
break; |
||||
|
||||
case 'delreceiver': |
||||
$mailer->_mailerDelReceiver($_REQUEST['rec_id']); |
||||
break; |
||||
|
||||
case 'checkemail': |
||||
echo $mailer->_mailerCheckEmail(trim($_REQUEST['email']),(int)trim($_REQUEST['list_id'])); |
||||
exit; |
||||
} |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,101 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* AVE.cms - Модуль Внутренней Рассылки |
||||
* |
||||
* @package AVE.cms |
||||
* @subpackage module_mailer |
||||
* @author Arcanum, val005 |
||||
* @since 2.01 |
||||
* @filesource |
||||
*/ |
||||
|
||||
/** |
||||
* mySQL-запросы для установки, обновления и удаления модуля |
||||
*/ |
||||
|
||||
$module_sql_install = array(); |
||||
$module_sql_deinstall = array(); |
||||
|
||||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS CPPREFIX_module_mailer_mails"; |
||||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS CPPREFIX_module_mailer_lists"; |
||||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS CPPREFIX_module_mailer_receivers"; |
||||
|
||||
$module_sql_install[] = "CREATE TABLE CPPREFIX_module_mailer_mails ( |
||||
id int(10) unsigned NOT NULL auto_increment, |
||||
author_id int(10) unsigned NOT NULL, |
||||
date int(10) unsigned default NULL, |
||||
from_name varchar(255) NOT NULL default '', |
||||
from_email varchar(255) NOT NULL default '', |
||||
from_copy enum('0','1') NOT NULL default '0', |
||||
to_groups text NOT NULL default '', |
||||
to_lists text NOT NULL default '', |
||||
to_add text NOT NULL default '', |
||||
subject varchar(255) NOT NULL default '', |
||||
type varchar(255) NOT NULL default '', |
||||
appeal varchar(255) NOT NULL default '', |
||||
body longtext NOT NULL default '', |
||||
attach text NOT NULL default '', |
||||
saveattach enum('0','1') NOT NULL default '1', |
||||
timing varchar(255) NOT NULL default '', |
||||
sent enum('0','1') NOT NULL default '0', |
||||
done longtext NOT NULL default '', |
||||
PRIMARY KEY (id) |
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; |
||||
|
||||
$module_sql_install[] = "CREATE TABLE CPPREFIX_module_mailer_lists ( |
||||
id int(10) unsigned NOT NULL auto_increment, |
||||
title varchar(255) NOT NULL default '', |
||||
descr longtext NOT NULL default '', |
||||
author_id int(10) unsigned NOT NULL, |
||||
date int(10) unsigned default NULL, |
||||
PRIMARY KEY (id) |
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; |
||||
|
||||
$module_sql_install[] = "CREATE TABLE CPPREFIX_module_mailer_receivers ( |
||||
id int(10) unsigned NOT NULL auto_increment, |
||||
list_id int(10) unsigned NOT NULL, |
||||
status enum('0','1','2') NOT NULL default '1', |
||||
email varchar(255) NOT NULL default '', |
||||
lastname varchar(255) NOT NULL default '', |
||||
firstname varchar(255) NOT NULL default '', |
||||
middlename varchar(255) NOT NULL default '', |
||||
comments text NOT NULL default '', |
||||
date int(10) unsigned default NULL, |
||||
PRIMARY KEY (`id`) |
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; |
||||
|
||||
// Обновление модуля |
||||
$module_sql_update[] = " |
||||
UPDATE |
||||
`CPPREFIX_module` |
||||
SET |
||||
ModuleAveTag = '" . $modul['ModuleAveTag'] . "', |
||||
ModulePHPTag = '" . $modul['ModulePHPTag'] . "', |
||||
ModuleVersion = '" . $modul['ModuleVersion'] . "' |
||||
WHERE |
||||
ModuleSysName = '" . $modul['ModuleSysName'] . "' |
||||
LIMIT 1; |
||||
"; |
||||
|
||||
$module_sql_update[] = " |
||||
RENAME TABLE |
||||
`CPPREFIX_modul_mailer_mails` |
||||
TO |
||||
`CPPREFIX_module_mailer_mails` |
||||
"; |
||||
|
||||
$module_sql_update[] = " |
||||
RENAME TABLE |
||||
`CPPREFIX_modul_mailer_lists` |
||||
TO |
||||
`CPPREFIX_module_mailer_lists` |
||||
"; |
||||
|
||||
$module_sql_update[] = " |
||||
RENAME TABLE |
||||
`CPPREFIX_modul_mailer_receivers` |
||||
TO |
||||
`CPPREFIX_module_mailer_receivers` |
||||
"; |
||||
?> |
@ -0,0 +1,136 @@
|
||||
<div class="title" style="margin-top:25px"> |
||||
<h5>{#MAILER_COUNT_TITLE#} '{$count_mail.title}'</h5> |
||||
</div> |
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_LISTS_HEAD#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="34" /> |
||||
<col width="150" /> |
||||
<col width="1" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td align="center"><div align="center"><a href="javascript:void(0);" class="help rightDir icon_sprite ico_info" title="{#MAILER_COUNT_INFO#}"></a></div></td> |
||||
<td>{#MAILER_LIST_HEAD#}</td> |
||||
<td>{#MAILER_REC_EMAIL#}</td> |
||||
<td>{#MAILER_REC_LASTN#}</td> |
||||
<td>{#MAILER_REC_FIRSTN#}</td> |
||||
<td>{#MAILER_REC_COMMENTS#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{foreach from=$count_mail.lists key=title item=list} |
||||
{foreach from=$list item=rec} |
||||
<tr class="{if $rec->s}red{/if}"> |
||||
<td>{if $rec->s}<a class="help rightDir icon_sprite ico_info" href="javascript:void(0);" title="{if $rec->status == 0}{#MAILER_REC_UNCHECKED#}{elseif $rec->status == 2}{#MAILER_REC_REFUSED#}{else}{#MAILER_COUNT_ER_REPEAT#}{/if}"></a>{/if}</td> |
||||
<td>{$title|escape}</td> |
||||
<td><a href="mailto:{$rec->email|escape}" target="_blank">{$rec->email}</a></td> |
||||
<td>{$rec->lastname|escape}</td> |
||||
<td>{$rec->firstname|escape}</td> |
||||
<td>{$rec->comments|escape}</td> |
||||
</tr> |
||||
{/foreach} |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$count_mail.lists} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_COUNT_NOLISTS#}</li> |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
</div> |
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_GROUPS#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="34" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td align="center"><div align="center"><a href="javascript:void(0);" class="help rightDir icon_sprite ico_info" title="{#MAILER_COUNT_INFO#}"></a></div></td> |
||||
<td>{#MAILER_GROUP#}</td> |
||||
<td>{#MAILER_REC_EMAIL#}</td> |
||||
<td>{#MAILER_LOGIN#}</td> |
||||
<td>{#MAILER_REC_LASTN#}</td> |
||||
<td>{#MAILER_REC_FIRSTN#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{foreach from=$count_mail.groups key=title item=group} |
||||
{foreach from=$group item=rec} |
||||
<tr{if $rec->s} class="red"{/if}> |
||||
<td>{if $rec->s}<a class="help rightDir icon_sprite ico_info" href="javascript:void(0);" title="{#MAILER_COUNT_ER_REPEAT#}"></a>{/if}</td> |
||||
<td>{$title|escape}</td> |
||||
<td><a href="mailto:{$rec->email|escape}" target="_blank">{$rec->email}</a></td> |
||||
<td>{$rec->user_name|escape}</td> |
||||
<td>{$rec->lastname|escape}</td> |
||||
<td>{$rec->firstname|escape}</td> |
||||
</tr> |
||||
{/foreach} |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$count_mail.groups} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_COUNT_NOGROUPS#}</li> |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
</div> |
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_MAILS_REC_ADD#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="34" /> |
||||
<col /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td align="center"><div align="center"><a href="javascript:void(0);" class="help rightDir icon_sprite ico_info" title="{#MAILER_COUNT_INFO#}"></a></div></td> |
||||
<td>{#MAILER_REC_EMAIL#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{foreach from=$count_mail.add item=rec} |
||||
<tr{if $rec.s} class="red"{/if}> |
||||
<td>{if $rec.s}<a class="help rightDir icon_sprite ico_info" href="javascript:void(0);" title="{if $rec.s == 1}{#MAILER_COUNT_ER_REPEAT#}{elseif $rec.s == 2}{#MAILER_ER_EMAIL_SYN#}{/if}"></a>{/if}</td> |
||||
<td><a {if $rec.s == 2}style="text-decoration:line-through"{/if} href="mailto:{$rec.email|escape}" target="_blank">{$rec.email}</a>{if $rec.from} ({#MAILER_MAILS_FROM#}){/if}</td> |
||||
</tr> |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$count_mail.add} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_COUNT_NOADD#}</li> |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
</div> |
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_COUNT_SUM#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<tr class="noborder"> |
||||
<td width="250">{#MAILER_COUNT_ALL#}<br /><small>{#MAILER_COUNT_ALL_INFO#}</small></td> |
||||
<td> |
||||
<div class="pr12"> |
||||
{$count_mail.number} |
||||
</div> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
</div> |
@ -0,0 +1,276 @@
|
||||
<div class="title"> |
||||
<h5>{if !$smarty.request.id}{#MAILER_LISTS_ADD_TITLE#}{else}{#MAILER_LISTS_EDIT_TITLE#}{/if}</h5> |
||||
</div> |
||||
<div class="widget" style="margin-top: 0px;"> |
||||
<div class="body"> |
||||
{#MAILER_LISTS_EDIT_INFO#} |
||||
</div> |
||||
</div> |
||||
<div class="breadCrumbHolder module"> |
||||
<div class="breadCrumb module"> |
||||
<ul> |
||||
<li class="firstB"> |
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=1&cp={$sess}">{#MAILER_MODULE_NAME#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=showlists&cp={$sess}">{#MAILER_MANAGE_LISTS#}</a> |
||||
</li> |
||||
<li>{if !$smarty.request.id}{#MAILER_LISTS_ADD_TITLE#}{else}{#MAILER_LISTS_EDIT_TITLE#}{/if}</li> |
||||
<li><strong class="code">{if !$smarty.request.id}{#MAILER_LISTS_CREATE_T#}{else}{$list->title|escape}{/if}</strong></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<form action="index.php?do=modules&action=modedit&mod=mailer&moduleaction=savelist&id={$smarty.request.id}&return=1&cp={$sess}" method="post" class="mainForm" enctype="multipart/form-data"> |
||||
<div class="widget first"> |
||||
<div class="head{if $smarty.request.id != ''} closed{/if}"> |
||||
<h5 class="iFrames">{#MAILER_LISTS_SET_COM#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic" id="list_com_set"> |
||||
<tr class="noborder"> |
||||
<td width="250">{#MAILER_LISTS_TITLE#}</td> |
||||
<td><div class="pr12"> |
||||
<input id="list_title" class="mousetrap" type="text" value="{$list->title|escape}" name="title" placeholder="{#MAILER_LISTS_TITLE#}" style="width:250px;" /> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td width="250">{#MAILER_LISTS_DESCR#}</td> |
||||
<td><div class="pr12"> |
||||
<textarea class="mousetrap" name="descr" style="width:300px;height:50px" placeholder="{#MAILER_LISTS_DESCR_INFO#}">{$list->descr}</textarea> |
||||
</div></td> |
||||
</tr> |
||||
</table> |
||||
<div class="rowElem"> |
||||
<input type="submit" class="basicBtn" value="{if !$smarty.request.id}{#MAILER_ADD_BTN#} {else}{#MAILER_EDIT_BTN#}{/if}" formaction="index.php?do=modules&action=modedit&mod=mailer&moduleaction=savelist&id={$smarty.request.id}&cp={$sess}" /> |
||||
|
||||
<input type="submit" class="blackBtn" value="{if !$smarty.request.id}{#MAILER_ADD_CONT_BTN#} {else}{#MAILER_EDIT_CONT_BTN#}{/if}" /> |
||||
</div> |
||||
</div> |
||||
|
||||
{if $page_nav} |
||||
<div class="pagination" style="margin-top:26px;"> |
||||
<ul class="pages"> |
||||
{$page_nav} |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
|
||||
<div class="widget first" id="receivers_list"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_LISTS_SET_REC#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="34" /> |
||||
<col width="34" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col /> |
||||
<col width="20" /> |
||||
<col width="20" /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td></td> |
||||
<td align="center"><div align="center"><a href="javascript:void(0);" class="help rightDir icon_sprite ico_info" title="{#MAILER_REC_STATUS_I#}"></a></div></td> |
||||
<td>{#MAILER_REC_EMAIL#}</td> |
||||
<td>{#MAILER_REC_LASTN#}</td> |
||||
<td>{#MAILER_REC_FIRSTN#}</td> |
||||
<td>{#MAILER_REC_MIDN#}</td> |
||||
<td>{#MAILER_REC_COMMENTS#}</td> |
||||
<td colspan="2">{#MAILER_ACTIONS#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody id="receivers_list_body"> |
||||
<tr id="input_row_0"> |
||||
<td></td> |
||||
<td><input type="checkbox" class="mousetrap status" value="1" name="new[0][status]" checked="checked"/></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][email]" placeholder="{#MAILER_REC_EMAIL#}" style="width:90%" onchange="if($(this).val()) checkemail($(this).val());" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][lastn]" placeholder="{#MAILER_REC_LASTN#}" style="width:90%" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][firstn]" placeholder="{#MAILER_REC_FIRSTN#}" style="width:90%" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][midn]" placeholder="{#MAILER_REC_MIDN#}" style="width:90%" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][comments]" placeholder="{#MAILER_REC_COMMENTS#}" style="width:95%" /></td> |
||||
<td colspan="2" align="center"> |
||||
<input onclick="input_addrow($(this));" type="button" class="topleftDir basicBtn addrow_btn" value="+" style="padding:2px 6px;" title="{#MAILER_INPUT_ADD_ROW#}" /> |
||||
<a class="icon_sprite ico_delete" style="cursor:pointer;display:none" onClick="$(this).parent().parent().remove();"></a></td> |
||||
</tr> |
||||
{foreach from=$receivers item=rec} |
||||
<tr id="rec_{$rec->id}"> |
||||
<td><a class="rightDir icon_sprite ico_info help" href="javascript:void(0);" title="{#MAILER_REC_DATE_ADD#} {$rec->date|date_format:$TIME_FORMAT|pretty_date}"></a></td> |
||||
<td> |
||||
<input type="hidden" name="status[{$rec->id}]" value="{if $rec->status=="2"}2{else}0{/if}"/> |
||||
<input type="checkbox" class="toprightDir" name="status[{$rec->id}]" value="1" {if $rec->status=="1"}checked="checked"{elseif $rec->status=="2"} disabled="disabled" title="{#MAILER_REC_REFUSED#}"{/if}/></td> |
||||
<td><a href="mailto:{$rec->email|escape}" target="_blank">{$rec->email}</a></td> |
||||
<td class="lastn">{$rec->lastname|escape}</td> |
||||
<td class="firstn">{$rec->firstname|escape}</td> |
||||
<td class="midn">{$rec->middlename|escape}</td> |
||||
<td class="comments">{$rec->comments|escape}</td> |
||||
<td align="center"><a id="rec_btn_{$rec->id}" class="topleftDir icon_sprite ico_edit" style="cursor:pointer" onclick="edit_string({$rec->id});" title="{#MAILER_ACTIONS_EDIT#}"></a></td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_delete" onClick="del_receiver({$rec->id},'{$rec->email|escape}')" title="{#MAILER_ACTIONS_DEL#}" style="cursor:pointer"></a></td> |
||||
</tr> |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$receivers} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_REC_NOITEMS#}</li> |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
</div> |
||||
|
||||
{if $page_nav} |
||||
<div class="pagination" style="margin-top:26px;"> |
||||
<ul class="pages"> |
||||
{$page_nav} |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
|
||||
<div class="widget first"> |
||||
<div class="head closed"> |
||||
<h5 class="iFrames">{#MAILER_LISTS_IMPORT#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<tr class="noborder"> |
||||
<td width="250">{#MAILER_LISTS_IMPORT_T#}<br /><small>{#MAILER_LISTS_IMPORT_T_I#}</small></td> |
||||
<td> |
||||
<div class="pr12"> |
||||
<textarea class="mousetrap" name="import" style="width:100%; height:200px;" ></textarea> |
||||
</div> |
||||
<div class="pr12" style="margin-top:10px;"> |
||||
<label style="float:left;padding-left:0;">{#MAILER_LISTS_IMPORT_T_1#}</label><input class="mousetrap" type="text" autocomplete="off" name="import_delim_1" style="width:30px;float:left;text-align:center;" value="{if $smarty.session.mailer.list_import_delim_1}{$smarty.session.mailer.list_import_delim_1|stripslashes}{else};{/if}" /> |
||||
<label style="float:left">{#MAILER_LISTS_IMPORT_T_2#}</label><input class="mousetrap" type="text" autocomplete="off" name="import_delim_2" style="width:30px;float:left;text-align:center;" value="{if $smarty.session.mailer.list_import_delim_2}{$smarty.session.mailer.list_import_delim_2|stripslashes}{else},{/if}" /> |
||||
</div> |
||||
<div class="pr12" style="clear:both;"> |
||||
<small>{#MAILER_LISTS_IMPORT_T_H#}</small> |
||||
</div> |
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td width="250">{#MAILER_LISTS_IMPORT_F#}<br /><small>{#MAILER_LISTS_IMPORT_F_I#}</small></td> |
||||
<td> |
||||
<div class="pr12"> |
||||
<input type="file" name="import_file" class="fileInput" /> |
||||
</div> |
||||
<div class="pr12" style="margin-top:10px;"> |
||||
<label style="float:left;padding-left:0">{#MAILER_LISTS_IMPORT_F_D#}</label><input class="mousetrap" type="text" autocomplete="off" name="import_file_delim" style="width:30px;float:left;text-align:center;" value="{if $smarty.session.mailer.list_import_delim_csv}{$smarty.session.mailer.list_import_delim_csv|stripslashes}{else};{/if}" /> |
||||
</div> |
||||
<div class="pr12" style="clear:both;"> |
||||
<small>{#MAILER_LISTS_IMPORT_F_H#}</small> |
||||
</div> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
<div class="rowElem"> |
||||
<input type="submit" class="basicBtn" value="{if !$smarty.request.id}{#MAILER_ADD_BTN#} {else}{#MAILER_EDIT_BTN#}{/if}" formaction="index.php?do=modules&action=modedit&mod=mailer&moduleaction=savelist&id={$smarty.request.id}&cp={$sess}" /> |
||||
|
||||
<input type="submit" class="blackBtn" value="{if !$smarty.request.id}{#MAILER_ADD_CONT_BTN#} {else}{#MAILER_EDIT_CONT_BTN#}{/if}" /> |
||||
<input type="hidden" value="{$smarty.request.page}" name="page"/> |
||||
</div> |
||||
</div> |
||||
</form> |
||||
|
||||
<script language="javascript"> |
||||
$(document).ready(function() {ldelim} |
||||
Mousetrap.bind(['ctrl+s', 'meta+s'], function(e) {ldelim} |
||||
if (e.preventDefault) {ldelim} |
||||
e.preventDefault(); |
||||
{rdelim} |
||||
else {ldelim} |
||||
// internet explorer |
||||
e.returnValue = false; |
||||
{rdelim} |
||||
$("form").submit(); |
||||
return false; |
||||
{rdelim}); |
||||
input_new = 0; |
||||
|
||||
$("form").submit(function() {ldelim} |
||||
if (!$("#list_title").val()) {ldelim} |
||||
jAlert('{#MAILER_LISTS_NOTITLE#}','{#MAILER_SAVING#}',function(){ldelim}$("#list_com_set").show();$("#list_title").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim}); |
||||
|
||||
function edit_string(id){ldelim} |
||||
fields = {ldelim}0:"lastn",1:"firstn",2:"midn",3:"comments"{rdelim} |
||||
for(var f in fields) {ldelim} |
||||
field = fields[f]; |
||||
value = $("#rec_"+id+" td."+field).text(); |
||||
$("#rec_"+id+" td."+field).empty(); |
||||
$("[name=new\\[0\\]\\["+field+"\\]]").clone().attr("value",value).attr("name","edit["+id+"]["+field+"]").appendTo("#rec_"+id+" td."+field); |
||||
{rdelim} |
||||
$("#rec_btn_"+id).removeAttr("onclick").removeClass("ico_edit").attr("title","{#MAILER_ACTIONS_HOWSAVE#}").addClass("ico_edit_no"); |
||||
{rdelim} |
||||
|
||||
function input_addrow(object){ldelim} |
||||
id = object.parent().parent().attr("id"); |
||||
var tpl = /input_row_([0-9]*)/ig; |
||||
var num_old = Number(tpl.exec(id)[1]); |
||||
var num_new = num_old+1; |
||||
$("#input_row_"+num_old).clone().attr("id","input_row_"+num_new).prependTo("#receivers_list_body"); |
||||
$("#input_row_"+num_old+" .addrow_btn").hide(); |
||||
$("#input_row_"+num_old+" .ico_delete").show(); |
||||
$("#input_row_"+num_new+" input").not(".addrow_btn, .status").removeAttr("value"); |
||||
$("#input_row_"+num_new).find("input").each(function(){ldelim} |
||||
var tpl = /new\[[0-9]*\]\[(.*)\]/ig; |
||||
var namepart = tpl.exec($(this).attr("name"))[1]; |
||||
$(this).attr("name","new["+num_new+"]["+namepart+"]"); |
||||
{rdelim}); |
||||
{rdelim} |
||||
|
||||
function checkemail(email){ldelim} |
||||
$.ajax({ldelim} |
||||
beforeSend: |
||||
function(){ldelim} |
||||
$.alerts._overlay('show'); |
||||
{rdelim}, |
||||
url: 'index.php', |
||||
data: ({ldelim} |
||||
'do': 'modules', |
||||
action: 'modedit', |
||||
mod: 'mailer', |
||||
moduleaction: 'checkemail', |
||||
list_id: '{$smarty.request.id}', |
||||
email: email, |
||||
cp: '{$sess}' |
||||
{rdelim}), |
||||
timeout:3000, |
||||
success: |
||||
function(data){ldelim} |
||||
$.alerts._overlay('hide'); |
||||
switch (Number(data)) {ldelim} |
||||
case 0: |
||||
$.jGrowl("{#MAILER_ER_EMAIL_SYN#}"); break; |
||||
case 1: |
||||
$.jGrowl("{#MAILER_REC_EMAIL_OK#}"); break; |
||||
case 2: |
||||
$.jGrowl("{#MAILER_REC_EMAIL_NO#}"); break; |
||||
{rdelim} |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim}; |
||||
|
||||
function del_receiver(rec_id,rec_email) {ldelim} |
||||
jConfirm('{#MAILER_REC_DEL#} '+rec_email+'?','{#MAILER_DELETING#}',function(r) {ldelim} |
||||
if(r) {ldelim} |
||||
$.ajax({ldelim} |
||||
url: 'index.php?do=modules&action=modedit&mod=mailer&cp=6c8fgl38te5rgloor09u1dglv1', |
||||
data: ({ldelim}moduleaction:'delreceiver', rec_id:rec_id{rdelim}), |
||||
success: function(data) {ldelim} |
||||
$.jGrowl('{#MAILER_REC_DELETED#}'); |
||||
$("#rec_"+rec_id).hide(); |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim} |
||||
</script> |
@ -0,0 +1,428 @@
|
||||
<div class="title"> |
||||
<h5>{if !$smarty.request.id}{#MAILER_MAILS_ADD_TITLE#}{else}{#MAILER_MAILS_EDIT_TITLE#}{/if}</h5> |
||||
</div> |
||||
{*<div class="widget" style="margin-top: 0px;"> |
||||
<div class="body"> |
||||
{#MAILER_MAILS_ADD_INFO#} |
||||
</div> |
||||
</div>*} |
||||
<div class="breadCrumbHolder module"> |
||||
<div class="breadCrumb module"> |
||||
<ul> |
||||
<li class="firstB"> |
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=1&cp={$sess}">{#MAILER_MODULE_NAME#}</a> |
||||
</li> |
||||
<li>{if !$smarty.request.id}{#MAILER_MAILS_ADD_TITLE#}{else}{#MAILER_MAILS_EDIT_TITLE#}{/if}</li> |
||||
<li><strong class="code">{if !$smarty.request.id}{#MAILER_MAILS_NEW_TITLE#}{else}{$mail->subject}{/if}</strong></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<form action="index.php?do=modules&action=modedit&mod=mailer&moduleaction=savemail&act=go&id={$smarty.request.id}&cp={$sess}" method="post" enctype="multipart/form-data" class="mainForm" id="mail_form"> |
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_MAILS_HEAD_MAIL#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="250"> |
||||
<tr class="noborder"> |
||||
<td>{#MAILER_MAILS_SUBJECT#}</td> |
||||
<td><div class="pr12"> |
||||
<input class="mousetrap" name="subject" type="text" id="subject" style="width:300px" value="{$mail->subject}" /> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_FORMAT#}</td> |
||||
<td><div class="pr12"> |
||||
<input type="radio" name="type" value="html" {if $mail->type!='text'}checked="checked"{/if}/> |
||||
<label>HTML</label> |
||||
<input id="radio_text" type="radio" name="type" value="text" {if $mail->type=='text'}checked="checked"{/if}/> |
||||
<label>{#MAILER_MAILS_TEXT#}</label> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_TEXT#}<br /><small>{#MAILER_MAILS_TEXT_I#}</small></td> |
||||
<td> |
||||
<div class="pr12" id="html"> |
||||
<textarea class="mousetrap" name="body" id="codemirror" style="width:100%;height:300px">{$mail->body}</textarea> |
||||
</div> |
||||
<div class="pr12" id="text"> |
||||
<textarea class="mousetrap" name="body" style="width:100%;height:300px">{$mail->body}</textarea> |
||||
</div> |
||||
<div class="pr12" style="margin-top:4px;"> |
||||
<a style="float:left; margin:6px 3px 0;" class="icon_sprite ico_list" target="_blank" href="/index.php?module=mailer&action=show&id={$mail->id}&onlycontent=1"></a> |
||||
<strong><a {if !$smarty.request.id}onClick="jAlert('{#MAILER_MAILS_SHOW_ALERT#}','{#MAILER_SHOWING#}');return false;"{/if} style="float:left; padding:4px 0" target="_blank" href="/index.php?module=mailer&action=show&id={$smarty.request.id}&onlycontent=1">{#MAILER_MAILS_SHOW#} »</a></strong> |
||||
</div> |
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_APPEAL#}<br /><small>{#MAILER_MAILS_APPEAL_I#}</small></td> |
||||
<td><div class="pr12" id="ed1"> |
||||
<input class="mousetrap" type="text" name="appeal" value="{$mail->appeal}" style="width:300px" /> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_ATTACH#}<br /><small>{#MAILER_MAILS_ATTACH_I#}</small></td> |
||||
<td id="attach_td"> |
||||
<div style="clear:both;margin:4px 0;"> |
||||
<input name="attach[]" type="file" class="fileInput multi" /> |
||||
</div> |
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_SAVEATTACH#}</td> |
||||
<td><div class="pr12"> |
||||
<input type="radio" name="saveattach" value="1" {if $mail->saveattach}checked="checked"{/if} /> |
||||
<label>{#MAILER_YES#}</label> |
||||
<input type="radio" name="saveattach" value="0" {if !$mail->saveattach}checked="checked"{/if} /> |
||||
<label>{#MAILER_NO#}</label> |
||||
</div></td> |
||||
</tr> |
||||
</table> |
||||
<div class="rowElem"> |
||||
<input onclick="save_func(false);" class="basicBtn" type="button" value="{#MAILER_MAILS_SAVE_BTN#}" /> |
||||
|
||||
<input class="blackBtn SaveEdit" type="button" value="{#MAILER_MAILS_SAVE_BTN_C#}" /> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_MAILS_HEAD_SET#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="250"> |
||||
<tr class="noborder"> |
||||
<td>{#MAILER_MAILS_FROM_NAME#}</td> |
||||
<td><div class="pr12"> |
||||
<input class="mousetrap" name="from_name" type="text" id="from_name" value="{$mail->from_name}" style="width:300px" /> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_FROM_EMAIL#}</td> |
||||
<td><div class="pr12"> |
||||
<input class="mousetrap" name="from_email" type="text" id="from_email" value="{$mail->from_email}" style="width:300px" onchange="if($(this).val()) checkemail($(this).val());" /> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_FROM_COPY#}</td> |
||||
<td><div class="pr12"> |
||||
<input class="mousetrap" id="from_copy" name="from_copy" type="checkbox" value="1"{if $mail->from_copy} checked{/if} /> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_RECIEVERS#}: {#MAILER_MAILS_REC_GROUPS#} "{$mail->site_name}"<br /> |
||||
<small>{#MAILER_MAILS_CTRL#}</small></td> |
||||
<td><div class="pr12"> |
||||
<select class="mousetrap" id="groups" name="to_groups[]" size="{if $mail->usergroups|@count < 8}{$mail->usergroups|@count}{else}8{/if}" multiple="multiple" style="min-width:310px"> |
||||
{foreach from=$mail->usergroups item=usergroup} |
||||
<option value="{$usergroup->user_group}" {if $usergroup->user_group|in_array:$mail->to_groups} selected="selected"{/if}>{$usergroup->user_group_name|escape}</option> |
||||
{/foreach} |
||||
</select> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_RECIEVERS#}: {#MAILER_MAILS_REC_LISTS#}<br /> |
||||
<small>{#MAILER_MAILS_CTRL#}</small></td> |
||||
<td><div class="pr12"> |
||||
<select class="mousetrap" id="lists" name="to_lists[]" size="{if $mail->lists|@count < 8}{$mail->lists|@count}{else}8{/if}" multiple="multiple" style="min-width:310px"> |
||||
{foreach from=$mail->lists item=title key=id} |
||||
<option value="{$id}" {if $id|in_array:$mail->to_lists} selected="selected"{/if}>{$title|escape}</option> |
||||
{/foreach} |
||||
</select> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_REC_ADD#}<br /><small>{#MAILER_MAILS_REC_ADD_I#}</small></td> |
||||
<td><div class="pr12"> |
||||
<textarea class="mousetrap" name="to_add" id="to_add" style="width:300px; height:50px" onchange="if($(this).val()) checkemail($(this).val());">{$mail->to_add}</textarea> |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_FINAL_REC#}</td> |
||||
<td><div class="pr12"> |
||||
<input type="button" class="greenBtn" onclick="countMail();" value="{#MAILER_MAILS_MAKE_FIN#}"/> ({#MAILER_MAILS_FINAL_TXT#}) |
||||
</div></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MAILS_TIMING#}</td> |
||||
<td><div class="pr12"> |
||||
<select name="timing" id="timing"> |
||||
<option value="" {if $mail->timing==''}selected=selected{/if}>{#MAILER_MAILS_TIM_ALL#}</option> |
||||
<option value="100" {if $mail->timing=='100'}selected=selected{/if}>{#MAILER_MAILS_TIM_100#}</option> |
||||
<option value="200" {if $mail->timing=='200'}selected=selected{/if}>{#MAILER_MAILS_TIM_200#}</option> |
||||
<option value="300" {if $mail->timing=='300'}selected=selected{/if}>{#MAILER_MAILS_TIM_300#}</option> |
||||
</select> |
||||
</div></td> |
||||
</tr> |
||||
</table> |
||||
<div class="rowElem"> |
||||
<input onclick="save_func(false);" class="basicBtn" type="button" value="{#MAILER_MAILS_SAVE_BTN#}" /> |
||||
|
||||
<input class="blackBtn SaveEdit" type="button" value="{#MAILER_MAILS_SAVE_BTN_C#}" /> |
||||
|
||||
<input type="button" onclick="test();" class="greenBtn" value="{#MAILER_MAILS_TEST_BTN#}" /> |
||||
|
||||
<input type="button" onclick="presend();" id="butt_send" class="redBtn" value="{#MAILER_MAILS_SEND_BTN#}" /><span id="send_stop" style="display:none"> {#MAILER_MAILS_STOP#}</span> |
||||
<div id="progressbar" style="display:none;clear:both;margin-top:10px;"></div> |
||||
<div id="delay" class="highlight yellow" style="display:none;margin-top:10px;">{#MAILER_MAILS_DELAY#}</div> |
||||
<div id="sent_ok" class="highlight yellow" style="{if !$mail->sent}display:none;{/if}margin-top:10px;">{if $mail->sent}{$mail->date|date_format:$TIME_FORMAT|pretty_date} {/if}{#MAILER_SENT_OK_TEXT#} |
||||
<strong><a href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=1&cp={$sess}">» {#MAILER_SENT_OK_LINK#}</a></strong></div> |
||||
</div> |
||||
</div> |
||||
</form> |
||||
<script> |
||||
{if $mail->sent} $(':input').attr('disabled','disabled');{/if} |
||||
|
||||
function test() {ldelim} |
||||
if (full_check(false)) {ldelim} |
||||
jPrompt('{#MAILER_MAILS_SEND_TEST#}','{$test_email}','{#MAILER_SENDING_TEST#}',function(emails){ldelim} |
||||
if(!emails) return false; |
||||
$("#mail_form").ajaxSubmit({ldelim} |
||||
url: 'index.php?do=modules&action=modedit&mod=mailer&moduleaction=testsend&id={$smarty.request.id}&cp={$sess}', |
||||
data: ({ldelim}'emails': emails{rdelim}), |
||||
beforeSubmit: function() {ldelim}$.alerts._overlay('show');{rdelim}, |
||||
success: function(data) {ldelim} |
||||
$.alerts._overlay('hide'); |
||||
$.jGrowl('{#MAILER_MAILS_TEST_OK#} '+data); |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim}); |
||||
{rdelim} |
||||
{rdelim} |
||||
|
||||
function presend() {ldelim} |
||||
if (full_check(true)) {ldelim} |
||||
jConfirm('{#MAILER_MAILS_SEND_Q#}','{#MAILER_SENDING#}',function(b){ldelim} |
||||
if (b){ldelim} |
||||
$("#mail_form").ajaxSubmit({ldelim} |
||||
url: 'index.php?do=modules&action=modedit&mod=mailer&moduleaction=savemail&id={$smarty.request.id}&cp={$sess}', |
||||
data: ({ldelim}act:'send'{rdelim}), |
||||
beforeSubmit: function() {ldelim} |
||||
$("#progressbar").show().progressbar({ldelim}value: 0{rdelim}); |
||||
$('#send_stop').fadeIn(); |
||||
$.alerts._overlay('show'); |
||||
{rdelim}, |
||||
success: function(data) {ldelim} |
||||
$(':input').attr('disabled','disabled'); |
||||
mail_id = Number(data); |
||||
send(); |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim} |
||||
{rdelim} |
||||
|
||||
function send() {ldelim} |
||||
if(delay) {ldelim} |
||||
$('#delay').fadeOut(); |
||||
$.alerts._overlay('show'); |
||||
delay = false; |
||||
{rdelim} |
||||
$("#mail_form").ajaxSubmit({ldelim} |
||||
url: 'index.php?do=modules&action=modedit&mod=mailer&moduleaction=sendmail&id={$smarty.request.id}&cp={$sess}', |
||||
data: ({ldelim}mail_id: mail_id{rdelim}), |
||||
success: function(data) {ldelim} |
||||
if (data == 'finish') {ldelim} |
||||
$.alerts._overlay('hide'); |
||||
$.jGrowl("{#MAILER_SENT_OK#}"); |
||||
$("#sent_ok").show(); |
||||
location.reload(); |
||||
{rdelim} |
||||
else if (data == 'pause') {ldelim} |
||||
// считаем время + час |
||||
var current = new Date(); |
||||
var hour = current.getTime() + 3600000; |
||||
var d = new Date(hour); |
||||
var month = d.getMonth()+1; |
||||
var date_str = d.getDate()+'.'+month+'.'+d.getFullYear()+' '+d.getHours()+':'+d.getMinutes()+':'+d.getSeconds(); |
||||
// вставляем в сообщение и показываем |
||||
$('#delay_time').text(date_str); |
||||
$('#delay').fadeIn(); |
||||
$.alerts._overlay('hide'); |
||||
delay = true; |
||||
send_delay = setTimeout(function(){ldelim}send(){rdelim},3600000); |
||||
{rdelim} |
||||
else {ldelim} |
||||
$("#progressbar").progressbar({ldelim}value: Number(data){rdelim}); |
||||
send(); |
||||
{rdelim} |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim} |
||||
|
||||
var save_form = {ldelim} |
||||
url: 'index.php?do=modules&action=modedit&mod=mailer&moduleaction=savemail&id={$smarty.request.id}&cp={$sess}', |
||||
beforeSubmit: function() {ldelim}$.alerts._overlay('show');{rdelim}, |
||||
data: ({ldelim}act:'ajaxsave'{rdelim}), |
||||
success: function(data) {ldelim} |
||||
$.jGrowl('{#MAILS_SAVED#}'); |
||||
{if !$smarty.request.id} location.href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&id="+data+"&cp={$sess}"; |
||||
{else}$.alerts._overlay('hide');{/if} |
||||
{rdelim} |
||||
{rdelim} |
||||
|
||||
function save_func(ajax) {ldelim} |
||||
if (!$("#subject").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_SUBJECT#}','{#MAILER_SENDING#}', |
||||
function() {ldelim}$("#subject").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
|
||||
if ($(".fileInput").val()) {ldelim} |
||||
jAlert('{#MAILER_ALERT_ATTACH#}','{#MAILER_SAVING#}', |
||||
function() {ldelim} |
||||
if(!ajax) $("#mail_form").submit(); |
||||
else {ldelim} |
||||
$("#mail_form").ajaxSubmit(save_form); |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim} |
||||
else {ldelim} |
||||
if(!ajax) $("#mail_form").submit(); |
||||
else $("#mail_form").ajaxSubmit(save_form); |
||||
{rdelim} |
||||
{rdelim} |
||||
|
||||
{if !$mail->sent} |
||||
{literal} |
||||
$(document).ready(function() { |
||||
delay = false; |
||||
|
||||
Mousetrap.bind(['ctrl+s', 'meta+s'], function(e) { |
||||
if (e.preventDefault) e.preventDefault(); |
||||
else e.returnValue = false; |
||||
save_func(true); |
||||
return false; |
||||
}); |
||||
|
||||
Mousetrap.bind(['ctrl+g', 'meta+g'], function(e) { |
||||
if (e.preventDefault) e.preventDefault(); |
||||
else e.returnValue = false; |
||||
if(delay) { |
||||
clearInterval(send_delay); |
||||
send(); |
||||
} |
||||
return false; |
||||
}); |
||||
|
||||
Mousetrap.bind(['ctrl+q', 'meta+q'], function(e) { |
||||
if (e.preventDefault) e.preventDefault(); |
||||
else e.returnValue = false; |
||||
location.reload(); |
||||
return false; |
||||
}); |
||||
|
||||
$(".SaveEdit").click(function(e) { |
||||
if (e.preventDefault) e.preventDefault(); |
||||
else e.returnValue = false; |
||||
save_func(true); |
||||
return false; |
||||
}); |
||||
}); |
||||
{/literal} |
||||
{/if} |
||||
|
||||
{literal} |
||||
$(document).ready(function() { |
||||
|
||||
var active_type = $("input[name=type]:checked").attr("value"); |
||||
if (active_type == 'text') { |
||||
$("#html").hide(); $("#text").show(); $("#html textarea").attr("name",""); |
||||
} |
||||
else { |
||||
$("#text").hide(); $("#html").show(); $("#text textarea").attr("name",""); |
||||
} |
||||
|
||||
$("input[name=type]").click(function() { |
||||
if($(this).attr("value")=='text') { |
||||
$("#html").hide(); |
||||
$("#html textarea").attr("name",""); |
||||
$("#text").show(); |
||||
$("#text textarea").attr("name","body"); |
||||
} |
||||
else { |
||||
$("#text").hide(); |
||||
$("#text textarea").attr("name",""); |
||||
$("#html").show(); |
||||
$("#html textarea").attr("name","body"); |
||||
} |
||||
}); |
||||
}); |
||||
{/literal} |
||||
|
||||
function countMail() {ldelim} |
||||
window.open('index.php?do=modules&action=modedit&mod=mailer&moduleaction=countmail&id={$smarty.request.id}&cp={$sess}&pop=1','mailer_countmail_{$smarty.request.id}','top=0,left=0,width=900,height=600,scrollbars=1,resizable=1'); |
||||
{rdelim} |
||||
|
||||
function checkemail(in_email){ldelim} |
||||
emails = in_email.split(";"); |
||||
for (var key in emails) {ldelim} |
||||
var email = emails[key]; |
||||
$.ajax({ldelim} |
||||
beforeSend: function() {ldelim} |
||||
$.alerts._overlay('show'); |
||||
{rdelim}, |
||||
url: 'index.php?do=modules&action=modedit&mod=mailer&cp={$sess}', |
||||
data: ({ldelim}moduleaction:'checkemail', 'email':emails[key]{rdelim}), |
||||
success: function(data) {ldelim} |
||||
$.alerts._overlay('hide'); |
||||
switch (Number(data)) {ldelim} |
||||
case 0: |
||||
$.jGrowl("{#MAILER_ER_EMAIL_SYN#}"); |
||||
break; |
||||
case 1: case 2: |
||||
$.jGrowl("{#MAILER_EMAIL_OK#}"); |
||||
break; |
||||
{rdelim} |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim} |
||||
{rdelim} |
||||
|
||||
function full_check(rec) {ldelim} |
||||
if (!$("#from_name").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_FROM_NAME#}','{#MAILER_SENDING#}', |
||||
function() {ldelim}$("#from_name").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
|
||||
if (!$("#from_email").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_FROM_EMAIL#}','{#MAILER_SENDING#}', |
||||
function() {ldelim}$("#from_email").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
|
||||
if (rec && !$("#groups").val() && !$("#lists").val() && !$("#to_add").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_TO#}','{#MAILER_SENDING#}', |
||||
function() {ldelim}$("#groups").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
|
||||
if (!$("#subject").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_SUBJECT#}','{#MAILER_SENDING#}', |
||||
function() {ldelim}$("#subject").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
|
||||
if (!$("textarea[name=body]").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_BODY#}','{#MAILER_SENDING#}', |
||||
function() {ldelim}$("textarea[name=body]").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
|
||||
return true; |
||||
{rdelim} |
||||
|
||||
|
||||
|
||||
</script> |
||||
|
||||
{include file="$codemirror_connect"} |
||||
{include file="$codemirror_editor" conn_id="rsc" textarea_id='codemirror' height=500} |
@ -0,0 +1,164 @@
|
||||
<div class="title"> |
||||
<h5>{#MAILER_MULTI_TITLE#}</h5> |
||||
</div> |
||||
<div class="widget" style="margin-top: 0px;"> |
||||
<div class="body"> |
||||
{#MAILER_MULTI_INFO#} |
||||
</div> |
||||
</div> |
||||
<div class="breadCrumbHolder module"> |
||||
<div class="breadCrumb module"> |
||||
<ul> |
||||
<li class="firstB"> |
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=1&cp={$sess}">{#MAILER_MODULE_NAME#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=showlists&cp={$sess}">{#MAILER_MANAGE_LISTS#}</a> |
||||
</li> |
||||
<li><strong class="code">{#MAILER_MULTI_TITLE#}</strong></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<form action="index.php?do=modules&action=modedit&mod=mailer&moduleaction=multisave&return=1&cp={$sess}" method="post" class="mainForm"> |
||||
<div class="widget first"> |
||||
<div class="head{if $smarty.request.id != ''} closed{/if}"> |
||||
<h5 class="iFrames">{#MAILER_MULTI_TITLE2#}</h5> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<tr class="noborder"> |
||||
<td width="250">{#MAILER_MULTI_LISTS#}<br /> |
||||
<small>{#MAILER_MAILS_CTRL#}</small></td> |
||||
<td><div class="pr12"> |
||||
<select class="mousetrap" name="lists[]" size="{if $lists|@count < 16}{$lists|@count}{else}16{/if}" multiple="multiple" style="width:100%" id="lists"> |
||||
{foreach from=$lists item=list} |
||||
<option value="{$list->id}" {if $list->id|in_array:$smarty.session.mailer.multi_add} selected="selected"{/if}>{$list->title|escape}</option> |
||||
{/foreach} |
||||
</select> |
||||
</div></td> |
||||
</tr> |
||||
</table> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="34" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col /> |
||||
<col width="20" /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td align="center"><div align="center"><a href="javascript:void(0);" style="cursor:help;" class="rightDir icon_sprite ico_info" title="{#MAILER_REC_STATUS_I2#}"></a></div></td> |
||||
<td>{#MAILER_REC_EMAIL#}</td> |
||||
<td>{#MAILER_REC_LASTN#}</td> |
||||
<td>{#MAILER_REC_FIRSTN#}</td> |
||||
<td>{#MAILER_REC_MIDN#}</td> |
||||
<td>{#MAILER_REC_COMMENTS#}</td> |
||||
<td></td> |
||||
</tr> |
||||
</thead> |
||||
<tbody id="receivers_list_body"> |
||||
<tr id="input_row_0"> |
||||
<td><input type="checkbox" value="1" name="new[0][status]" checked="checked"/></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][email]" placeholder="{#MAILER_REC_EMAIL#}" style="width:90%" onchange="if($(this).val()) checkemail($(this).val());" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][lastn]" placeholder="{#MAILER_REC_LASTN#}" style="width:90%" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][firstn]" placeholder="{#MAILER_REC_FIRSTN#}" style="width:90%" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][midn]" placeholder="{#MAILER_REC_MIDN#}" style="width:90%" /></td> |
||||
<td><input autocomplete="off" class="mousetrap" type="text" name="new[0][comments]" placeholder="{#MAILER_REC_COMMENTS#}" style="width:95%" /></td> |
||||
<td align="center"> |
||||
<input onclick="input_addrow($(this));" type="button" class="topleftDir basicBtn addrow_btn" value="+" style="padding:2px 6px;" title="{#MAILER_INPUT_ADD_ROW#}" /> |
||||
<a class="icon_sprite ico_delete" style="cursor:pointer;display:none" onClick="$(this).parent().parent().remove();"></a></td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
<div class="rowElem"> |
||||
<input class="basicBtn" type="submit" formaction="index.php?do=modules&action=modedit&mod=mailer&moduleaction=multisave&cp={$sess}" value="{#MAILER_MULTI_BTN#}" /> |
||||
<input class="blackBtn" type="submit" value="{#MAILER_MULTI_BTN_CTRL#}" /> |
||||
</div> |
||||
</div> |
||||
</form> |
||||
|
||||
<script> |
||||
$(document).ready(function() {ldelim} |
||||
Mousetrap.bind(['ctrl+s', 'meta+s'], function(e) {ldelim} |
||||
if (e.preventDefault) {ldelim} |
||||
e.preventDefault(); |
||||
{rdelim} |
||||
else {ldelim} |
||||
// internet explorer |
||||
e.returnValue = false; |
||||
{rdelim} |
||||
$("form").submit(); |
||||
return false; |
||||
{rdelim}); |
||||
input_new = 0; |
||||
|
||||
$("form").submit(function() {ldelim} |
||||
if (!$("#lists").val()) {ldelim} |
||||
jAlert('{#MAILER_MULTI_NOLIST#}','{#MAILER_ADDING#}',function(){ldelim}$("#lists").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim}); |
||||
|
||||
function edit_string(id){ldelim} |
||||
fields = {ldelim}0:"lastn",1:"firstn",2:"midn",3:"comments"{rdelim} |
||||
for(var f in fields) {ldelim} |
||||
field = fields[f]; |
||||
value = $("#rec_"+id+" td."+field).text(); |
||||
$("#rec_"+id+" td."+field).empty(); |
||||
$("[name=new\\[0\\]\\["+field+"\\]]").clone().attr("value",value).attr("name","edit["+id+"]["+field+"]").appendTo("#rec_"+id+" td."+field); |
||||
{rdelim} |
||||
$("#rec_btn_"+id).removeAttr("onclick").removeClass("ico_edit").attr("title","{#MAILER_ACTIONS_HOWSAVE#}").addClass("ico_edit_no"); |
||||
{rdelim} |
||||
|
||||
function input_addrow(object){ldelim} |
||||
id = object.parent().parent().attr("id"); |
||||
var tpl = /input_row_([0-9]*)/ig; |
||||
var num_old = Number(tpl.exec(id)[1]); |
||||
var num_new = num_old+1; |
||||
$("#input_row_"+num_old).clone().attr("id","input_row_"+num_new).prependTo("#receivers_list_body"); |
||||
$("#input_row_"+num_old+" .addrow_btn").hide(); |
||||
$("#input_row_"+num_old+" .ico_delete").show(); |
||||
$("#input_row_"+num_new+" input").not(".addrow_btn").removeAttr("value"); |
||||
$("#input_row_"+num_new).find("input").each(function(){ldelim} |
||||
var tpl = /new\[[0-9]*\]\[(.*)\]/ig; |
||||
var namepart = tpl.exec($(this).attr("name"))[1]; |
||||
$(this).attr("name","new["+num_new+"]["+namepart+"]"); |
||||
{rdelim}); |
||||
{rdelim} |
||||
|
||||
function checkemail(email){ldelim} |
||||
$.ajax({ldelim} |
||||
beforeSend: |
||||
function(){ldelim} |
||||
$.alerts._overlay('show'); |
||||
{rdelim}, |
||||
url: 'index.php', |
||||
data: ({ldelim} |
||||
'do': 'modules', |
||||
action: 'modedit', |
||||
mod: 'mailer', |
||||
moduleaction: 'checkemail', |
||||
email: email, |
||||
cp: '{$sess}' |
||||
{rdelim}), |
||||
timeout:3000, |
||||
success: |
||||
function(data){ldelim} |
||||
$.alerts._overlay('hide'); |
||||
switch (Number(data)) {ldelim} |
||||
case 0: |
||||
$.jGrowl("{#MAILER_ER_EMAIL_SYN#}"); break; |
||||
case 1: |
||||
$.jGrowl("{#MAILER_MULTI_EMAIL_OK#}"); break; |
||||
{rdelim} |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim}; |
||||
</script> |
@ -0,0 +1,95 @@
|
||||
<div class="title"> |
||||
<h5>{#MAILER_MANAGE_LISTS#}</h5> |
||||
</div> |
||||
{*<div class="widget" style="margin-top: 0px;"> |
||||
<div class="body"> |
||||
{#MAILER_LISTS_INFO#} |
||||
</div> |
||||
</div>*} |
||||
<div class="breadCrumbHolder module"> |
||||
<div class="breadCrumb module"> |
||||
<ul> |
||||
<li class="firstB"> |
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=1&cp={$sess}">{#MAILER_MODULE_NAME#}</a> |
||||
</li> |
||||
<li> |
||||
<strong class="code">{#MAILER_MANAGE_LISTS#}</strong> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_LISTS_HEAD#}</h5> |
||||
<div class="num"> |
||||
<a class="greenNum" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&cp={$sess}">{#MAILER_NEW_LIST#}</a> |
||||
</div> |
||||
<div class="num"> |
||||
<a class="basicNum" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=1&cp={$sess}">{#MAILER_MANAGE_MAILS#}</a> |
||||
</div> |
||||
<div class="num"> |
||||
<a class="redNum botDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=multiadd&cp={$sess}" title="{#MAILER_MULTI_HINT#}">{#MAILER_MULTI_TITLE#}</a> |
||||
</div> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="30" /> |
||||
<col width="250" /> |
||||
<col /> |
||||
<col width="150" /> |
||||
<col width="150" /> |
||||
<col width="40" /> |
||||
<col width="20" /> |
||||
<col width="20" /> |
||||
<col width="20" /> |
||||
<col width="20" /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td align="center">id</td> |
||||
<td>{#MAILER_LISTS_TITLE#}</td> |
||||
<td>{#MAILER_LISTS_DESCR#}</td> |
||||
<td>{#MAILER_LISTS_AUTHOR#}</td> |
||||
<td>{#MAILER_LISTS_DATE#}</td> |
||||
<td class="topleftDir" title="{#MAILER_LISTS_NUMBER_F#}">{#MAILER_LISTS_NUMBER#}</td> |
||||
<td colspan="4">{#MAILER_ACTIONS#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{foreach from=$lists item=list} |
||||
<tr> |
||||
<td align="center">{$list->id}</td> |
||||
<td><strong> |
||||
<a class="toprightDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&id={$list->id}&cp={$sess}" title="{#MAILER_LISTS_A_EDIT#}">{$list->title}</a> |
||||
</strong></td> |
||||
<td> |
||||
<div style="overflow:auto; max-height:80px">{$list->descr}</div></td> |
||||
<td align="center"><a class="topDir" title="{#MAILER_SHOW_AUTHOR_TIT#}" href="index.php?do=user&action=edit&id={$list->author_id}&cp={$sess}">{$list->author_name|escape}</a></td> |
||||
<td align="center">{$list->date|date_format:$TIME_FORMAT|pretty_date}</td> |
||||
<td align="center" class="topDir" title="{#MAILER_LISTS_NUMBER_F#}">{$list->number}</td> |
||||
<td align="center"><a class="topDir icon_sprite ico_edit" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&id={$list->id}&cp={$sess}" title="{#MAILER_ACTIONS_EDIT#}"></a></td> |
||||
<td align="center"><a class="topDir icon_sprite ico_recylce ConfirmDelete" dir="{#MAILER_WIPING#}" name="{#MAILER_ACTIONS_WIPE_2#} '{$list->title}'?" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&wipe=1&id={$list->id}&cp={$sess}&page={$smarty.request.page}" title="{#MAILER_ACTIONS_WIPE#}"></a></td> |
||||
<td align="center"><a class="topDir icon_sprite ico_delete ConfirmDelete" dir="{#MAILER_DELETING#}" name="{#MAILER_ACTIONS_DEL#} '{$list->title}'?" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&delete=1&id={$list->id}&cp={$sess}&page={$smarty.request.page}" title="{#MAILER_ACTIONS_DEL#}"></a></td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_install" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&download=1&id={$list->id}&cp={$sess}" title="{#MAILER_ACTIONS_DOWNLOAD#}"></a></td> |
||||
</tr> |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$lists} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_LISTS_NOITEMS#}</li> |
||||
</ul> |
||||
</div>{/if} |
||||
</div> |
||||
{if $page_nav} |
||||
<div class="pagination"> |
||||
<ul class="pages"> |
||||
{$page_nav} |
||||
</ul> |
||||
</div> |
||||
{/if} |
@ -0,0 +1,313 @@
|
||||
<div class="title"> |
||||
<h5>{#MAILER_MANAGE_MAILS#}</h5> |
||||
</div> |
||||
<div class="widget" style="margin-top: 0px;"> |
||||
<div class="body"> |
||||
{#MAILER_MODULE_INFO#} |
||||
</div> |
||||
</div> |
||||
<div class="breadCrumbHolder module"> |
||||
<div class="breadCrumb module"> |
||||
<ul> |
||||
<li class="firstB"> |
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a> |
||||
</li> |
||||
<li> |
||||
<a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a> |
||||
</li> |
||||
<li> {#MAILER_MODULE_NAME#} </li> |
||||
<li> |
||||
<strong class="code">{#MAILER_MANAGE_MAILS#}</strong> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="widget first"> |
||||
<div class="head"> |
||||
<h5 class="iFrames">{#MAILER_MAILS_TPL_H#}</h5> |
||||
<div class="num"> |
||||
<a class="basicNum" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&cp={$sess}">{#MAILER_NEW_MAIL#}</a> |
||||
</div> |
||||
<div class="num"> |
||||
<a class="greenNum" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=showlists&cp={$sess}">{#MAILER_MANAGE_LISTS#}</a> |
||||
</div> |
||||
</div> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="30" /> |
||||
<col /> |
||||
<col width="100" /> |
||||
<col width="90" /> |
||||
<col width="140" /> |
||||
<col width="200" /> |
||||
<col width="1" /> |
||||
<col width="1" /> |
||||
<col width="1" /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td>Id</td> |
||||
<td>{#MAILER_MAILS_SUBJECT#}</td> |
||||
<td>{#MAILER_MAILS_AUTHOR#}</td> |
||||
<td>{#MAILER_MAILS_CREATED#}</td> |
||||
<td>{#MAILER_MAILS_FROM#}</td> |
||||
<td>{#MAILER_MAILS_RECIEVERS#}</td> |
||||
<td colspan="3">{#MAILER_ACTIONS#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{foreach from=$mails.tpl item=mail} |
||||
<tr> |
||||
<td>{$mail->id}</td> |
||||
<td><a class="toprightDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&id={$mail->id}&cp={$sess}" title="{#MAILER_ACTIONS_EDIT#}"><strong>{$mail->subject|escape}</strong></a></td> |
||||
<td><a class="topDir" title="{#MAILER_SHOW_AUTHOR_TIT#}" href="index.php?do=user&action=edit&id={$list->author_id}&cp={$sess}">{$mail->author_name}</a></td> |
||||
<td align="right" class="date_text dgrey">{$mail->date|date_format:$TIME_FORMAT|pretty_date}</td> |
||||
<td><a class="topDir" href="mailto:{$mail->from_email|escape}" target="_blank" title="{#MAILER_WRITE_EMAIL#}">{$mail->from_email|escape}</a><br/>{$mail->from_name|escape}</td> |
||||
<td style="padding:0 0 0 10px"> |
||||
<div style="overflow:auto;max-height:60px"> |
||||
{if $mail->from_copy}{#MAILER_MAILS_FROM#} |
||||
{if $mail->to_groups || $mail->to_lists || $mail->to_add}<hr />{/if} |
||||
{/if} |
||||
{foreach from=$mail->to_groups item=group name=foreach} |
||||
{$group->user_group_name|escape}{if !$smarty.foreach.foreach.last}, {/if}{/foreach} |
||||
{if $mail->to_groups && ($mail->to_lists || $mail->to_add)}<hr />{/if} |
||||
{foreach from=$mail->to_lists item=list name=foreach} |
||||
<a target="_blank" class="topDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&id={$list->id}&cp={$sess}" title="{#MAILER_LOOK_LIST#} '{$list->title|escape}'">{$list->title|escape}</a>{if !$smarty.foreach.foreach.last}, {/if}{/foreach} |
||||
{if $mail->to_lists && $mail->to_add}<hr />{/if} |
||||
{foreach from=$mail->to_add item=add name=foreach} |
||||
<a class="topDir" href="mailto:{$add|escape}" target="_blank" title="{#MAILER_WRITE_EMAIL#}">{$add|escape}</a>{if !$smarty.foreach.foreach.last}, {/if} |
||||
{/foreach} |
||||
</div> |
||||
</td> |
||||
<td align="center"><a class="topDir icon_sprite ico_edit" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&id={$mail->id}&cp={$sess}" title="{#MAILER_ACTIONS_EDIT#}"></a></td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_list" target="_blank" href="/index.php?module=mailer&action=show&id={$mail->id}&onlycontent=1" title="{#MAILER_ACTIONS_SHOW#}"></a></td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_delete ConfirmDelete" dir="{#MAILER_DELETING#}" name="{#MAILER_MAILS_DEL_Q#} '{$mail->subject}'?" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=savemail&id={$mail->id}&act=delete&cp={$sess}&page={$smarty.request.page}" title="{#MAILER_ACTIONS_DEL#}"></a></td> |
||||
</tr> |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$mails.tpl} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_MAILS_TPL_NO#}</li> |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
</div> |
||||
<div class="widget first"> |
||||
<ul class="tabs"> |
||||
<li{if !$search} class="activeTab"{/if}><a href="#tab1">{#MAILER_MAILS_HEAD#}</a></li> |
||||
<li{if $search} class="activeTab"{/if}><a href="#tab2">{#MAILER_MAILS_SEARCH#}</a></li> |
||||
</ul> |
||||
<div class="tab_container"> |
||||
<div id="tab1" class="tab_content" style="display:{if $search}none{else}block{/if}"> |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="30" /> |
||||
<col /> |
||||
<col width="100" /> |
||||
<col width="90" /> |
||||
<col width="140" /> |
||||
<col width="200" /> |
||||
<col width="140" /> |
||||
<col width="1" /> |
||||
<col width="1" /> |
||||
<col width="1" /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td>Id</td> |
||||
<td>{#MAILER_MAILS_SUBJECT#}</td> |
||||
<td>{#MAILER_MAILS_AUTHOR#}</td> |
||||
<td>{#MAILER_MAILS_DATE#}</td> |
||||
<td>{#MAILER_MAILS_FROM#}</td> |
||||
<td>{#MAILER_MAILS_RECIEVERS#}</td> |
||||
<td>{#MAILER_MAILS_ATTACHS#}</td> |
||||
<td colspan="3">{#MAILER_ACTIONS#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{foreach from=$mails.sent item=mail} |
||||
<tr> |
||||
<td>{$mail->id}</td> |
||||
<td><a class="toprightDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&id={$mail->id}&cp={$sess}" title="{#MAILER_LOOK#}"><strong>{$mail->subject|escape}</strong></a></td> |
||||
<td><a class="topDir" title="{#MAILER_SHOW_AUTHOR_TIT#}" href="index.php?do=user&action=edit&id={$list->author_id}&cp={$sess}">{$mail->author_name|escape}</a></td> |
||||
<td align="right" class="date_text dgrey">{$mail->date|date_format:$TIME_FORMAT|pretty_date}</td> |
||||
<td><a href="mailto:{$mail->from_email|escape}" target="_blank">{$mail->from_email|escape}</a><br/>{$mail->from_name|escape}</td> |
||||
<td style="padding:0 0 0 10px"> |
||||
<div style="overflow:auto;max-height:60px"> |
||||
{if $mail->from_copy}{#MAILER_MAILS_FROM#} |
||||
{if $mail->to_groups || $mail->to_lists || $mail->to_add}<hr />{/if} |
||||
{/if} |
||||
{foreach from=$mail->to_groups item=group name=foreach} |
||||
{$group->user_group_name|escape}{if !$smarty.foreach.foreach.last}, {/if}{/foreach} |
||||
{if $mail->to_groups && ($mail->to_lists || $mail->to_add)}<hr />{/if} |
||||
{foreach from=$mail->to_lists item=list name=foreach} |
||||
<a target="_blank" class="topDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&id={$list->id}&cp={$sess}" title="{#MAILER_LOOK_LIST#} '{$list->title|escape}'">{$list->title|escape}</a>{if !$smarty.foreach.foreach.last}, {/if}{/foreach} |
||||
{if $mail->to_lists && $mail->to_add}<hr />{/if} |
||||
{foreach from=$mail->to_add item=add name=foreach} |
||||
<a class="topDir" href="mailto:{$add|escape}" target="_blank" title="{#MAILER_WRITE_EMAIL#}">{$add|escape}</a>{if !$smarty.foreach.foreach.last}, {/if} |
||||
{/foreach} |
||||
</div> |
||||
</td> |
||||
<td style="padding:0 0 0 10px"> |
||||
<div style="overflow:auto;max-height:60px"> |
||||
{if $mail->saveattach !='1'} |
||||
{foreach from=$mail->attach item=attachment name=foreach} |
||||
{$attachment.name}{if !$smarty.foreach.foreach.last},<br />{/if} |
||||
{/foreach} |
||||
{else} |
||||
{foreach from=$mail->attach item=attachment name=foreach} |
||||
<a onClick="get_file('{$attachment.path}')" class="pointer">{$attachment.name}</a>{if !$smarty.foreach.foreach.last},<br />{/if} |
||||
{/foreach} |
||||
{/if} |
||||
</div> |
||||
</td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_look" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&id={$mail->id}&cp={$sess}" title="{#MAILER_LOOK#}"></a></td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_list" target="_blank" href="/index.php?module=mailer&action=show&id={$mail->id}&onlycontent=1" title="{#MAILER_ACTIONS_SHOW#}"></a></td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_copy" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&copy_id={$mail->id}&cp={$sess}" title="{#MAILER_ACTIONS_COPY#}"></a></td> |
||||
</tr> |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$mails.sent} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_MAILS_NOITEMS#}</li> |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
</div> |
||||
</div> |
||||
<div id="tab2" class="tab_content" style="display:{if !$search}none{else}block{/if}"> |
||||
<form method="post" action="index.php?do=modules&action=modedit&mod=mailer&moduleaction=1&cp={$sess}" class="mainForm" onSubmit="return check_find();" id="search"> |
||||
<div class="rowElem"> |
||||
<label>{#MAILER_MAILS_FIND#}</label> |
||||
<div style="float:left;margin-top:10px"> |
||||
<input placeholder="{#MAILER_MAILS_FIND_IN#}" name="search_words" type="text" value="{$search_words}" style="width:400px"> |
||||
<input type="submit" class="basicBtn" value="{#MAILER_MAILS_SEARCH#}" /><br> |
||||
<input type="checkbox" class="float" name="search[from_email]" value="1"{if !$search || $search.from_email} checked="checked"{/if}><label>{#MAILER_SEARCH_FROM_E#}</label> |
||||
<input type="checkbox" class="float" name="search[from_name]" value="1"{if !$search || $search.from_name} checked="checked"{/if}><label>{#MAILER_SEARCH_FROM_N#}</label> |
||||
<input type="checkbox" class="float" name="search[subject]" value="1"{if !$search || $search.subject} checked="checked"{/if}><label>{#MAILER_SEARCH_SUB#}</label> |
||||
<input type="checkbox" class="float" name="search[body]" value="1"{if !$search || $search.body} checked="checked"{/if}><label>{#MAILER_SEARCH_BODY#}</label> |
||||
<input type="checkbox" class="float" name="search[done]" value="1"{if !$search || $search.done} checked="checked"{/if}><label>{#MAILER_SEARCH_REC#}</label> |
||||
</div> |
||||
<div class="fix"></div> |
||||
</div> |
||||
</form> |
||||
{if $search} |
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic"> |
||||
<col width="30" /> |
||||
<col /> |
||||
<col width="100" /> |
||||
<col width="90" /> |
||||
<col width="140" /> |
||||
<col width="200" /> |
||||
<col width="140" /> |
||||
<col width="1" /> |
||||
<col width="1" /> |
||||
<thead> |
||||
<tr class="noborder"> |
||||
<td>Id</td> |
||||
<td>{#MAILER_MAILS_SUBJECT#}</td> |
||||
<td>{#MAILER_MAILS_AUTHOR#}</td> |
||||
<td>{#MAILER_MAILS_DATE#}</td> |
||||
<td>{#MAILER_MAILS_FROM#}</td> |
||||
<td>{#MAILER_MAILS_RECIEVERS#}</td> |
||||
<td>{#MAILER_MAILS_ATTACHS#}</td> |
||||
<td colspan="2">{#MAILER_ACTIONS#}</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
|
||||
{foreach from=$mails.find item=mail} |
||||
<tr> |
||||
<td>{$mail->id}</td> |
||||
<td><a class="toprightDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&id={$mail->id}&cp={$sess}" title="{#MAILER_LOOK#}"><strong>{$mail->subject|escape}</strong></a></td> |
||||
<td><a class="topDir" title="{#MAILER_SHOW_AUTHOR_TIT#}" href="index.php?do=user&action=edit&id={$list->author_id}&cp={$sess}">{$mail->author_name|escape}</a></td> |
||||
<td align="right" class="date_text dgrey">{$mail->date|date_format:$TIME_FORMAT|pretty_date}</td> |
||||
<td><a href="mailto:{$mail->from_email|escape}" target="_blank">{$mail->from_email|escape}</a><br/>{$mail->from_name|escape}</td> |
||||
<td style="padding:0 0 0 10px"> |
||||
<div style="overflow:auto;max-height:60px"> |
||||
{if $mail->from_copy}{#MAILER_MAILS_FROM#} |
||||
{if $mail->to_groups || $mail->to_lists || $mail->to_add}<hr />{/if} |
||||
{/if} |
||||
{foreach from=$mail->to_groups item=group name=foreach} |
||||
{$group->user_group_name|escape}{if !$smarty.foreach.foreach.last}, {/if}{/foreach} |
||||
{if $mail->to_groups && ($mail->to_lists || $mail->to_add)}<hr />{/if} |
||||
{foreach from=$mail->to_lists item=list name=foreach} |
||||
<a target="_blank" class="topDir" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editlist&id={$list->id}&cp={$sess}" title="{#MAILER_LOOK_LIST#} '{$list->title|escape}'">{$list->title|escape}</a>{if !$smarty.foreach.foreach.last}, {/if}{/foreach} |
||||
{if $mail->to_lists && $mail->to_add}<hr />{/if} |
||||
{foreach from=$mail->to_add item=add name=foreach} |
||||
<a class="topDir" href="mailto:{$add|escape}" target="_blank" title="{#MAILER_WRITE_EMAIL#}">{$add|escape}</a>{if !$smarty.foreach.foreach.last}, {/if} |
||||
{/foreach} |
||||
</div> |
||||
</td> |
||||
<td style="padding:0 0 0 10px"> |
||||
<div style="overflow:auto;max-height:60px"> |
||||
{if $mail->saveattach !='1'} |
||||
{foreach from=$mail->attach item=attachment name=foreach} |
||||
{$attachment.name}{if !$smarty.foreach.foreach.last},<br />{/if} |
||||
{/foreach} |
||||
{else} |
||||
{foreach from=$mail->attach item=attachment name=foreach} |
||||
<a onClick="get_file('{$attachment.path}');" style="cursor:pointer">{$attachment.name}</a>{if !$smarty.foreach.foreach.last},<br />{/if} |
||||
{/foreach} |
||||
{/if} |
||||
</div> |
||||
</td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_look" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&id={$mail->id}&cp={$sess}" title="{#MAILER_LOOK#}"></a></td> |
||||
<td align="center"><a class="topleftDir icon_sprite ico_copy" href="index.php?do=modules&action=modedit&mod=mailer&moduleaction=editmail&copy_id={$mail->id}&cp={$sess}" title="{#MAILER_ACTIONS_COPY#}"></a></td> |
||||
</tr> |
||||
{/foreach} |
||||
</tbody> |
||||
</table> |
||||
{if !$mails.find} |
||||
<div class="rowElem"> |
||||
<ul class="messages"> |
||||
<li class="highlight yellow">{#MAILER_MAILS_FIND_NO#}</li> |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
{/if} |
||||
</div> |
||||
<div class="fix"></div> |
||||
</div> |
||||
{if $page_nav} |
||||
<div class="pagination"> |
||||
<ul class="pages"> |
||||
{$page_nav} |
||||
</ul> |
||||
</div> |
||||
{/if} |
||||
<script> |
||||
function get_file(file) {ldelim} |
||||
$.ajax({ldelim} |
||||
url: 'index.php?do=modules&action=modedit&mod=mailer&cp={$sess}', |
||||
data: ({ldelim} |
||||
'moduleaction': 'getfile', |
||||
'file': file, |
||||
'check': true |
||||
{rdelim}), |
||||
beforeSend: function() {ldelim}$.alerts._overlay('show');{rdelim}, |
||||
success: function(data) {ldelim} |
||||
if (data == '1') {ldelim} |
||||
document.location.href = "index.php?do=modules&action=modedit&mod=mailer&moduleaction=getfile&file="+file+"&cp={$sess}"; |
||||
$.alerts._overlay('hide'); |
||||
{rdelim} |
||||
else {ldelim} |
||||
jAlert(file,'{#MAILER_NOFILE#}'); |
||||
{rdelim} |
||||
{rdelim} |
||||
{rdelim}); |
||||
{rdelim}; |
||||
function check_find() {ldelim} |
||||
if (!$("input[name=search_words]").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_SEACRH_WORDS#}','{#MAILER_SEARCHING#}', |
||||
function() {ldelim}$("input[name=search_words]").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
|
||||
if (!$("#search input[type=checkbox]:checked").val()) {ldelim} |
||||
jAlert('{#MAILER_ERR_SEACRH#}','{#MAILER_SEARCHING#}', |
||||
function() {ldelim}$("#search").focus();{rdelim}); |
||||
return false; |
||||
{rdelim} |
||||
{rdelim} |
||||
</script> |
@ -0,0 +1,64 @@
|
||||
<section id="tabs" style="height:264px"> |
||||
<h2 class="tab_btn">{#MAILER_SUBSCRIBE#}</h2> |
||||
<div class="tab_lay"> |
||||
{if $action=="subscribe"} |
||||
<article> |
||||
{$message} |
||||
</article><br> |
||||
{/if} |
||||
{if !$hide_sub} |
||||
<form method="post"> |
||||
<table class="mod_table" style="width:auto"> |
||||
<tbody> |
||||
<tr> |
||||
<td>{#MAILER_EMAIL#}*:</td> |
||||
<td><input type="text" value="{$smarty.post.email|escape}" name="email" style="width:200px"></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_LNAME#}:</td> |
||||
<td><input type="text" value="{$smarty.post.lname|escape}" name="lname" style="width:200px"></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_FNAME#}:</td> |
||||
<td><input type="text" value="{$smarty.post.fname|escape}" name="fname" style="width:200px"></td> |
||||
</tr> |
||||
<tr> |
||||
<td>{#MAILER_MNAME#}:</td> |
||||
<td><input type="text" value="{$smarty.post.mname|escape}" name="mname" style="width:200px"></td> |
||||
</tr> |
||||
<tr> |
||||
<td class="c" colspan="2"><input type="hidden" name="list_id" value="{$list_id}"> |
||||
<input type="hidden" name="action" value="subscribe"> |
||||
<input type="submit" value="{#MAILER_SUBSCRIBE#}"></td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
</form> |
||||
{/if} |
||||
</div> |
||||
<h2 class="tab_btn{if $action=="unsubscribe"} active{/if}">{#MAILER_UNSUBSCRIBE#}</h2> |
||||
<div class="tab_lay"> |
||||
{if $action=="unsubscribe"} |
||||
<article> |
||||
{$message} |
||||
</article><br> |
||||
{/if} |
||||
{if !$hide_unsub} |
||||
<form method="post"> |
||||
<table class="mod_table" style="width:auto"> |
||||
<tbody> |
||||
<tr> |
||||
<td>{#MAILER_EMAIL#}*:</td> |
||||
<td><input type="text" value="" name="email" style="width:200px"></td> |
||||
</tr> |
||||
<tr> |
||||
<td class="c" colspan="2"><input type="hidden" name="list_id" value="{$list_id}"> |
||||
<input type="hidden" name="action" value="unsubscribe"> |
||||
<input type="submit" value="{#MAILER_UNSUBSCRIBE#}"></td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
</form> |
||||
{/if} |
||||
</div> |
||||
</section> |
Loading…
Reference in new issue