|
From: <luc...@us...> - 2014-12-02 21:23:40
|
Revision: 12883
http://sourceforge.net/p/xoops/svn/12883
Author: luciorota
Date: 2014-12-02 21:23:27 +0000 (Tue, 02 Dec 2014)
Log Message:
-----------
! fixed some database fields length
+ support multiple test emails
* templatize some admin side page
+ use DateTime object instead of strtotime() function
+ added xnewsletter_randomLipsum() function (in_progress)
Modified Paths:
--------------
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/maintenance.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/template.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/import.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/letter.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/subscr.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/template.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/docs/changelog.txt
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/functions.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/task.inc.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/language/english/admin.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/language/english/common.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/sql/mysql.sql
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php
Added Paths:
-----------
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_attachments_list.tpl
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_letters_list.tpl
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_subscrs_list.tpl
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_templates_list.tpl
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php 2014-12-02 21:16:19 UTC (rev 12882)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php 2014-12-02 21:23:27 UTC (rev 12883)
@@ -37,64 +37,50 @@
switch ($op) {
case 'list':
+ case 'list_attachments':
default:
echo $indexAdmin->addNavigation($currentFile);
echo $indexAdmin->renderButton();
//
- $limit = $xnewsletter->getConfig('adminperpage');
- $attachmentCriteria = new CriteriaCompo();
- $attachmentCriteria->setSort('attachment_letter_id DESC, attachment_id');
- $attachmentCriteria->setOrder('DESC');
$attachmentCount = $xnewsletter->getHandler('attachment')->getCount();
- $start = xnewsletterRequest::getInt('start', 0);
- $attachmentCriteria->setStart($start);
- $attachmentCriteria->setLimit($limit);
- $attachmentObjs = $xnewsletter->getHandler('attachment')->getObjects($attachmentCriteria, true);
- if ($attachmentCount > $limit) {
- include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
- $pagenav = new XoopsPageNav($attachmentCount, $limit, $start, 'start', 'op=list');
- $pagenav = $pagenav->renderNav(4);
- } else {
- $pagenav = '';
- }
- // output table
- echo "<table class='outer' cellspacing='1'>";
- echo "<tr>";
- echo " <th>" . _AM_XNEWSLETTER_ATTACHMENT_ID . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_ATTACHMENT_LETTER_ID . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_ATTACHMENT_NAME . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_ATTACHMENT_SIZE . "<br />" . _AM_XNEWSLETTER_ATTACHMENT_TYPE . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_ATTACHMENT_SUBMITTER . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_ATTACHMENT_CREATED . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_FORMACTION . "</th>";
- echo "</tr>";
if ($attachmentCount > 0) {
- $class = 'odd';
- foreach ($attachmentObjs as $attachment_id => $attachmentObj) {
- $letterObj = $xnewsletter->getHandler('letter')->get($attachmentObj->getVar('attachment_letter_id'));
- echo "<tr class='{$class}'>";
- $class = ($class == 'even') ? 'odd' : 'even';
- echo "<td class='center'>{$attachment_id}</td>";
- echo "<td>" . $letterObj->getVar('letter_title') . "</td>";
- echo "<td>" . $attachmentObj->getVar('attachment_name') . "</td>";
- echo "<td>";
- echo "<span title='" . $attachmentObj->getVar('attachment_size') . " B'>" . xnewsletter_bytesToSize1024($attachmentObj->getVar('attachment_size')) . "</span>";
- echo "<br />";
- echo $attachmentObj->getVar('attachment_type');
- echo "</td>";
- echo "<td>" . XoopsUser::getUnameFromId($attachmentObj->getVar('attachment_submitter'), 'S') . "</td>";
- echo "<td>" . formatTimeStamp($attachmentObj->getVar('attachment_created'), 'S') . "</td>";
- echo "<td class='center'>";
- echo " <a href='?op=edit_attachment&attachment_id={$attachment_id}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_edit.png alt='" . _EDIT . "' title='" . _EDIT . "' /></a>";
- echo " ";
- echo " <a href='?op=delete_attachment&attachment_id={$attachment_id}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_delete.png alt='" . _DELETE . "' title='" . _DELETE . "' /></a>";
- echo "</td>";
+ $attachmentCriteria = new CriteriaCompo();
+ //
+ $attachmentCriteria->setSort('attachment_letter_id DESC, attachment_id');
+ $attachmentCriteria->setOrder('DESC');
+ //
+ $start = xnewsletterRequest::getInt('start', 0);
+ $limit = $xnewsletter->getConfig('adminperpage');
+ $attachmentCriteria->setStart($start);
+ $attachmentCriteria->setLimit($limit);
+ //
+ if ($attachmentCount > $limit) {
+ include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
+ $pagenav = new XoopsPageNav($attachmentCount, $limit, $start, 'start', 'op=list');
+ $pagenav = $pagenav->renderNav(4);
+ } else {
+ $pagenav = '';
}
+ $GLOBALS['xoopsTpl']->assign('attachments_pagenav', $pagenav);
+ //
+ $attachmentObjs = $xnewsletter->getHandler('attachment')->getObjects($attachmentCriteria, true);
+ $attachments = $xnewsletter->getHandler('attachment')->getObjects($attachmentCriteria, true, false); // as array
+ foreach ($attachments as $attachment_id => $attachment) {
+ $letterObj = $xnewsletter->getHandler('letter')->get($attachment['attachment_letter_id']);
+ $attachment['attachment_letter_title'] = $letterObj->getVar('letter_title');
+// IN PROGRESS
+// IN PROGRESS
+// IN PROGRESS
+ $attachment['attachment_submitter_uname'] = XoopsUser::getUnameFromId($attachment['attachment_submitter'], 'S');
+ $attachment['attachment_created_formatted'] = formatTimestamp($template['attachment_created'], $xnewsletter->getConfig('dateformat'));
+ $GLOBALS['xoopsTpl']->append('attachments', $attachment);
+ }
+ //
+ $GLOBALS['xoopsTpl']->display("db:{$xnewsletter->getModule()->dirname()}_admin_attachments_list.tpl");
+ } else {
+ echo _CO_XNEWSLETTER_WARNING_NOATTACHMENTS;
}
- echo "</table>";
- echo "<br />";
- echo "<div>" . $pagenav . "</div>";
- echo "<br />";
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'edit_attachment':
@@ -105,6 +91,7 @@
$attachmentObj = $xnewsletter->getHandler('attachment')->get($attachment_id);
$form = $attachmentObj->getForm();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'save_attachment':
@@ -123,6 +110,7 @@
$form = $attachmentObj->getForm();
$form->display();
}
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'delete_attachment':
@@ -143,7 +131,6 @@
sprintf(_AM_XNEWSLETTER_FORMSUREDEL, $attachmentObj->getVar('attachment_letter_id'))
);
}
+ include_once __DIR__ . '/admin_footer.php';
break;
}
-
-include_once __DIR__ . '/admin_footer.php';
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php 2014-12-02 21:16:19 UTC (rev 12882)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php 2014-12-02 21:23:27 UTC (rev 12883)
@@ -29,7 +29,6 @@
$currentFile = basename(__FILE__);
include_once __DIR__ . '/admin_header.php';
-xoops_cp_header();
// We recovered the value of the argument op in the URL$
$op = xnewsletterRequest::getString('op', 'list');
@@ -38,13 +37,16 @@
switch ($op) {
case 'show_preview':
case 'show_letter_preview':
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $indexAdmin->addNavigation($currentFile);
$indexAdmin->addItemButton(_AM_XNEWSLETTER_LETTERLIST, '?op=list', 'list');
echo $indexAdmin->renderButton();
//
+ $letterObj = $xnewsletter->getHandler('letter')->get($letter_id);
+ //
$letterTpl = new XoopsTpl();
-
- $letterObj = $xnewsletter->getHandler('letter')->get($letter_id);
// subscr data
$letterTpl->assign('sex', _AM_XNEWSLETTER_SUBSCR_SEX_PREVIEW);
$letterTpl->assign('salutation', _AM_XNEWSLETTER_SUBSCR_SEX_PREVIEW); // new from v1.3
@@ -97,124 +99,109 @@
echo nl2br(utf8_encode($textBody));
echo "</div>";
echo "</div>";
+ include_once __DIR__ . '/admin_footer.php';
break;
+ case 'list':
case 'list_letters':
default:
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $indexAdmin->addNavigation($currentFile);
$indexAdmin->addItemButton(_AM_XNEWSLETTER_NEWLETTER, '?op=new_letter', 'add');
echo $indexAdmin->renderButton();
//
- $limit = $xnewsletter->getConfig('adminperpage');
$letterCriteria = new CriteriaCompo();
$letterCriteria->setSort('letter_id');
$letterCriteria->setOrder('DESC');
$letterCount = $xnewsletter->getHandler('letter')->getCount();
- $start = xnewsletterRequest::getInt('start', 0);
- $letterCriteria->setStart($start);
- $letterCriteria->setLimit($limit);
- $letterObjs = $xnewsletter->getHandler('letter')->getObjects($letterCriteria, true);
-
- // pagenav
- include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
- $pagenav = new XoopsPageNav($letterCount, $limit, $start, 'start', 'op=list');
- $pagenav = $pagenav->renderNav();
-
- // View Table
- echo "<table class='outer' cellspacing='1'>
- <tr>
- <th>" . _AM_XNEWSLETTER_LETTER_ID . "</th>
- <th>" . _AM_XNEWSLETTER_LETTER_TITLE . "</th>
- <th>" . _AM_XNEWSLETTER_LETTER_CATS . "</th>
- <th style='white-space: nowrap'>" . _AM_XNEWSLETTER_LETTER_SUBMITTER . "<br />" . _AM_XNEWSLETTER_LETTER_CREATED . "</th>
- <th style='white-space: nowrap'>" . _AM_XNEWSLETTER_LETTER_SENDER . "<br />" . _AM_XNEWSLETTER_LETTER_SENT . "</th>
- <th>" . _AM_XNEWSLETTER_LETTER_TEMPLATE . "</th>
- <th>" . _AM_XNEWSLETTER_LETTER_ATTACHMENT . "<br />" . _AM_XNEWSLETTER_LETTER_SIZE . "</th>
- <th>" . _AM_XNEWSLETTER_LETTER_ACCOUNT . "</th>
- <th>" . _AM_XNEWSLETTER_LETTER_EMAIL_TEST . "</th>
- <th>" . _AM_XNEWSLETTER_PROTOCOL_LAST_STATUS . "</th>
- <th>" . _AM_XNEWSLETTER_FORMACTION . "</th>
- </tr>";
if ($letterCount > 0) {
- $class = 'odd';
+ $limit = $xnewsletter->getConfig('adminperpage');
+ $start = xnewsletterRequest::getInt('start', 0);
+ $letterCriteria->setStart($start);
+ $letterCriteria->setLimit($limit);
+ //
+ $letterObjs = $xnewsletter->getHandler('letter')->getObjects($letterCriteria, true);
+ $letters = $xnewsletter->getHandler('letter')->getObjects($letterCriteria, true, false); // as array
+ // pagenav
+ if ($letterCount > $limit) {
+ include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
+ $pagenav = new XoopsPageNav($letterCount, $limit, $start, 'start', 'op=list');
+ $pagenav = $pagenav->renderNav();
+ } else {
+ $pagenav = '';
+ }
+ $GLOBALS['xoopsTpl']->assign('letters_pagenav', $pagenav);
+ // fill letters array
foreach ($letterObjs as $letter_id => $letterObj) {
- echo "<tr class='{$class}'>";
- $class = ($class == 'even') ? 'odd' : 'even';
-
- echo "<td>{$letter_id}</td>";
-
- echo "<td>{$letterObj->getVar('letter_title')}</td>";
-
- echo "<td style='white-space: nowrap'>";
- $letter_cat_ids = explode('|', $letterObj->getVar('letter_cats'));
+ $letter = $letterObj->toArray();
+ //
+ $letter_cat_ids = explode('|', $letter['letter_cats']);
+ unset($letter['letter_cats']);
foreach ($letter_cat_ids as $letter_cat_id) {
$catObj = $xnewsletter->getHandler('cat')->get($letter_cat_id);
- if (is_object($catObj)) {
- echo $catObj->getVar('cat_name') . " <a href='cat.php?op=edit_cat&cat_id={$catObj->getVar('cat_id')}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_edit.png alt='" . _EDIT
- . "' title='" . _EDIT . "' style='padding:1px' /></a>";
- } else {
- $letter_cats .= 'Invalid cat_name';
- }
- echo "<br />";
+ $cat = $catObj->toArray();
+ $letter['letter_cats']['letter_cat_id'] = $cat;
}
- echo "</td>";
-
- echo "<td>" . XoopsUser::getUnameFromId($letterObj->getVar('letter_submitter'), 's') . "<br />" . formatTimeStamp($letterObj->getVar('letter_created'), 's') . "</td>";
-
- echo "<td>";
- if ($letterObj->getVar('letter_sender') != 0) {
- echo XoopsUser::getUnameFromId($letterObj->getVar('letter_sender'), 's');
- }
- echo "<br />";
- if ($letterObj->getVar('letter_sent') != false) {
- echo formatTimeStamp($letterObj->getVar('letter_sent'), 's');
- }
- echo "</td>";
-
- echo "<td>";
- preg_match('/db:([0-9]*)/', $letterObj->getVar('letter_template'), $matches);
+ //
+ $letter['letter_submitter_uname'] = XoopsUser::getUnameFromId($letter['letter_submitter'], 's');
+ $letter['letter_created_formatted'] = formatTimeStamp($letter['letter_created'], 's');
+ //
+ $letter['letter_sender_uname'] = ($letter['letter_sender'] != 0) ? XoopsUser::getUnameFromId($letter['letter_sender'], 's') : '';
+ $letter['letter_sent_formatted'] = ($letter['letter_sent'] != false) ? formatTimeStamp($letter['letter_sent'], 's') : '';
+ //
+ preg_match('/db:([0-9]*)/', $letter['letter_template'], $matches);
if (isset($matches[1]) && ($templateObj = $xnewsletter->getHandler('template')->get((int)$matches[1]))) {
- echo "db:" . $templateObj->getVar('template_title');
- echo " <a href='template.php?op=edit_template&template_id={$templateObj->getVar('template_id')}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_edit.png alt='" . _EDIT . "' title='"
- . _EDIT . "' style='padding:1px' /></a>";
+ $template = $templateObj->toArray();
+ $template['template_submitter_uname'] = XoopsUser::getUnameFromId($template['template_submitter'], 's');
+ $template['template_created_formatted'] = formatTimeStamp($template['template_created'], 's');
} else {
- echo "file:" . $letterObj->getVar('letter_template');
+ $template_path = XOOPS_ROOT_PATH . '/modules/xnewsletter/language/' . $GLOBALS['xoopsConfig']['language'] . '/templates/';
+ if (!is_dir($template_path)) {
+ $template_path = XOOPS_ROOT_PATH . '/modules/xnewsletter/language/english/templates/';
+ }
+ $templateFile = $template_path . $letter['letter_template'] . '.tpl';
+ $template = array(
+ 'template_id' => null,
+ 'template_title' => $letter['letter_template'],
+ 'template_description' => '',
+ 'template_content' => file_get_contents($templateFile),
+ 'template_submitter' => null,
+ 'template_submitter_uname' => '',
+ 'template_created' => filemtime($templateFile),
+ 'template_created_formatted' => formatTimeStamp(filemtime($templateFile), 's')
+ );
}
- echo "</td>";
-
+ unset($letter['letter_template']);
+ $letter['letter_template'] = $template;
+ //
$attachmentCriteria = new CriteriaCompo();
$attachmentCriteria->add(new Criteria('attachment_letter_id', $letter_id));
$attachmentCount = $xnewsletter->getHandler('attachment')->getCount($attachmentCriteria);
$attachmentObjs = $xnewsletter->getHandler('attachment')->getObjects($attachmentCriteria, true);
- echo "<td style='white-space: nowrap'>";
- //echo "({$attachmentCount})";
$attachmentsSize = 0;
- if ($attachmentCount > 0) {
- $attachmentsSize = 0;
- echo "<ul>";
- foreach ($attachmentObjs as $attachment_id => $attachmentObj) {
- $attachmentsSize = $attachmentsSize + $attachmentObj->getVar('attachment_size');
- $size = xnewsletter_bytesToSize1024($attachmentObj->getVar('attachment_size'));
- echo "<li><span title='" . $attachmentObj->getVar('attachment_type') . " " . $size . "'>{$attachmentObj->getVar('attachment_name')}</span></li>";
- }
- echo "</ul>";
- echo _AM_XNEWSLETTER_LETTER_ATTACHMENT_TOTALSIZE . ": <span title='" . $attachmentsSize . " Bytes'>" . xnewsletter_bytesToSize1024($attachmentsSize) . "</span>";
- echo "<br />";
+ foreach ($attachmentObjs as $attachment_id => $attachmentObj) {
+ $attachment = $attachmentObj->toArray();
+ $attachmentsSize = $attachmentsSize + $attachment['attachment_size'];
+ $attachment['attachment_size1024'] = xnewsletter_bytesToSize1024($attachment['attachment_size']);
+ $letter['letter_attachments'][$attachment_id] = $attachment;
}
+ $letter['letter_attachments_size'] = $attachmentsSize;
+ $letter['letter_attachments_size1024'] = xnewsletter_bytesToSize1024($attachmentsSize);
+ //
$emailSize = xnewsletter_emailSize($letter_id);
- echo _AM_XNEWSLETTER_LETTER_EMAIL_SIZE . ": <span title='" . $emailSize . " Bytes (" . _AM_XNEWSLETTER_LETTER_EMAIL_SIZE_DESC . ")'>" . xnewsletter_bytesToSize1024($emailSize)
- . "</span>";
- echo "</td>";
-
+ $letter['letter_size'] = $emailSize;
+ $letter['letter_size1024'] = xnewsletter_bytesToSize1024($emailSize);
+ //
$accountCriteria = new CriteriaCompo();
$accountCriteria->setSort('accounts_id');
$accountCriteria->setOrder('ASC');
- $accountObj = $xnewsletter->getHandler('accounts')->get($letterObj->getVar('letter_account'));
- $letter_account = ($accountObj) ? $accountObj->getVar('accounts_name') : _NONE;
- echo "<td>{$letter_account}</td>";
-
- echo "<td>{$letterObj->getVar('letter_email_test')} </td>";
-
+ $accountObj = $xnewsletter->getHandler('accounts')->get($letter['letter_account']);
+ $account = $accountObj->toArray();
+ unset($letter['letter_account']);
+ $letter['letter_account'] = $account;
+ //
// take last item protocol_subscriber_id=0 from table protocol as actual status
$protocolCriteria = new CriteriaCompo();
$protocolCriteria->add(new Criteria('protocol_letter_id', $letter_id));
@@ -222,46 +209,26 @@
$protocolCriteria->setSort('protocol_id');
$protocolCriteria->setOrder('DESC');
$protocolCriteria->setLimit(1);
- $protocolObjs = $xnewsletter->getHandler('protocol')->getAll($protocolCriteria);
-// IN PROGRESS
- $protocol_status = '';
- $protocol_letter_id = 0;
- foreach ($protocolObjs as $protocolObj) {
-// IN PROGRESS
- $protocol_status .= $protocolObj->getVar('protocol_status');
- $protocol_letter_id = $protocolObj->getVar('protocol_letter_id');
+ $protocolObjs = $xnewsletter->getHandler('protocol')->getAll($protocolCriteria);
+ foreach ($protocolObjs as $protocol_id => $protocolObj) {
+ $protocol = $protocolObj->toArray();
+ $letter['letter_protocols'][$protocol_id] = $protocol;
}
- echo "<td class='center'><a href=' protocol.php?op=list_letter&letter_id={$protocol_letter_id}'>{$protocol_status}</a></td>";
-
- echo "<td class='center'>";
- echo " <a href='?op=edit_letter&letter_id={$letter_id}'><img src='" . XNEWSLETTER_ICONS_URL . "/xn_edit.png' alt='" . _EDIT . "' title='" . _EDIT . "' style='padding:1px' /></a>";
- echo " <a href='?op=clone_letter&letter_id={$letter_id}'><img src='" . XNEWSLETTER_ICONS_URL . "/xn_clone.png' alt='" . _CLONE . "' title='" . _CLONE
- . "' style='padding:1px' /></a>";
- echo " <a href='?op=delete_letter&letter_id={$letter_id}'><img src='" . XNEWSLETTER_ICONS_URL . "/xn_delete.png' alt='" . _DELETE . "' title='" . _DELETE
- . "' style='padding:1px' /></a>";
- echo " <br />";
- echo " <a href='sendletter.php?op=send_test&letter_id={$letter_id}'><img src='" . XNEWSLETTER_ICONS_URL . "/xn_sendtest.png' alt='" . _AM_XNEWSLETTER_LETTER_ACTION_SENDTEST
- . "' title='" . _AM_XNEWSLETTER_LETTER_ACTION_SENDTEST . "' style='padding:1px' /></a>";
- echo " <a href='sendletter.php?op=send_letter&letter_id={$letter_id}'><img src='" . XNEWSLETTER_ICONS_URL . "/xn_send.png' alt='" . _AM_XNEWSLETTER_LETTER_ACTION_SEND . "' title='"
- . _AM_XNEWSLETTER_LETTER_ACTION_SEND . "' style='padding:1px' /></a>";
- echo " <a href='sendletter.php?op=resend_letter&letter_id={$letter_id}'><img src='" . XNEWSLETTER_ICONS_URL . "/xn_resend.png' alt='" . _AM_XNEWSLETTER_LETTER_ACTION_RESEND
- . "' title='" . _AM_XNEWSLETTER_LETTER_ACTION_RESEND . "' style='padding:1px' /></a>";
- echo " <br />";
- echo " <a href='?op=show_preview&letter_id={$letter_id}'><img src='" . XNEWSLETTER_ICONS_URL . "/xn_preview.png' alt='" . _AM_XNEWSLETTER_LETTER_ACTION_PREVIEW . "' title='"
- . _AM_XNEWSLETTER_LETTER_ACTION_PREVIEW . "' style='padding:1px' /></a>";
- echo " <a href='" . XNEWSLETTER_URL . "/print.php?letter_id={$letter_id}' target='_BLANK' ><img src='" . XNEWSLETTER_ICONS_URL . "/printer.png' alt='"
- . _AM_XNEWSLETTER_LETTER_ACTION_PRINT . "' title='" . _AM_XNEWSLETTER_LETTER_ACTION_PRINT . "' style='padding:1px' /></a>";
- echo "</td>";
- echo "</tr>";
+ //
+ $GLOBALS['xoopsTpl']->append('letters', $letter);
}
+ //
+ $GLOBALS['xoopsTpl']->display("db:{$xnewsletter->getModule()->dirname()}_admin_letters_list.tpl");
+ } else {
+ echo _CO_XNEWSLETTER_WARNING_NOLETTERS;
}
- echo "</table>";
- echo "<br />";
- echo "<div>{$pagenav}</div>";
- echo "<br />";
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'new_letter':
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $indexAdmin->addNavigation($currentFile);
$indexAdmin->addItemButton(_AM_XNEWSLETTER_LETTERLIST, '?op=list', 'list');
echo $indexAdmin->renderButton();
@@ -269,9 +236,13 @@
$letterObj = $xnewsletter->getHandler('letter')->create();
$form = $letterObj->getForm(false, true);
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'edit_letter':
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $indexAdmin->addNavigation($currentFile);
$indexAdmin->addItemButton(_AM_XNEWSLETTER_NEWLETTER, '?op=new_letter', 'add');
$indexAdmin->addItemButton(_AM_XNEWSLETTER_LETTERLIST, '?op=list', 'list');
@@ -280,9 +251,13 @@
$letterObj = $xnewsletter->getHandler('letter')->get($letter_id);
$form = $letterObj->getForm(false, true);
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'delete_attachment':
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $indexAdmin->addNavigation($currentFile);
$indexAdmin->addItemButton(_AM_XNEWSLETTER_NEWLETTER, '?op=new_letter', 'add');
$indexAdmin->addItemButton(_AM_XNEWSLETTER_LETTERLIST, '?op=list', 'list');
@@ -319,6 +294,7 @@
} else {
echo $attachmentObj->getHtmlErrors();
}
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'save_letter':
@@ -432,6 +408,9 @@
case 'clone_letter':
case 'copy_letter':
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $indexAdmin->addNavigation($currentFile);
$indexAdmin->addItemButton(_AM_XNEWSLETTER_NEWLETTER, '?op=new_letter', 'add');
$indexAdmin->addItemButton(_AM_XNEWSLETTER_LETTERLIST, '?op=list', 'list');
@@ -443,6 +422,7 @@
$letterObj->setVar('letter_title', sprintf(_AM_XNEWSLETTER_LETTER_CLONED, $letterObj->getVar('letter_title')));
$form = $letterObj->getForm($currentFile, true);
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'delete_letter':
@@ -467,8 +447,15 @@
echo $letterObj->getHtmlErrors();
}
} else {
- xoops_confirm(array('ok' => true, 'letter_id' => $letter_id, 'op' => 'delete_letter'), $_SERVER['REQUEST_URI'], sprintf(_AM_XNEWSLETTER_FORMSUREDEL, $letterObj->getVar('letter_title')));
+ // render start here
+ xoops_cp_header();
+ // render confirm form
+ xoops_confirm(
+ array('ok' => true, 'letter_id' => $letter_id, 'op' => 'delete_letter'),
+ $_SERVER['REQUEST_URI'],
+ sprintf(_AM_XNEWSLETTER_FORMSUREDEL, $letterObj->getVar('letter_title'))
+ );
+ include_once __DIR__ . '/admin_footer.php';
}
break;
}
-include_once __DIR__ . '/admin_footer.php';
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/maintenance.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/maintenance.php 2014-12-02 21:16:19 UTC (rev 12882)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/maintenance.php 2014-12-02 21:23:27 UTC (rev 12883)
@@ -175,7 +175,10 @@
break;
case 'del_oldsubscr':
- $time = strtotime($_POST['del_date']);
+ $dateTimeObj = DateTime::createFromFormat(_SHORTDATESTRING, $_POST['del_date']);
+ $dateTimeObj->setTime(0, 0, 0);
+ $time = $dateTimeObj->getTimestamp();
+ unset($dateTimeObj);
if ($time >= time() || $time == 0) {
$subscrCount = -1; // for error
} else {
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php 2014-12-02 21:16:19 UTC (rev 12882)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php 2014-12-02 21:23:27 UTC (rev 12883)
@@ -29,38 +29,21 @@
$currentFile = basename(__FILE__);
include_once __DIR__ . '/admin_header.php';
-xoops_cp_header();
// We recovered the value of the argument op in the URL$
$op = xnewsletterRequest::getString('op', 'list');
-$subscr_id = xnewsletterRequest::getInt('subscr_id', 0);
-$filter_subscr = xnewsletterRequest::getString('filter_subscr', '=');
-$filter_subscr_firstname = xnewsletterRequest::getString('filter_subscr_firstname', '');
-$filter_subscr_lastname = xnewsletterRequest::getString('filter_subscr_lastname', '');
-$filter_subscr_email = xnewsletterRequest::getString('filter_subscr_email', '');
-
-if ($op == 'apply_filter') {
- if ($filter_subscr == 'LIKE' && !$filter_subscr_firstname == '') {
- $filter_subscr_firstname = "%{$filter_subscr_firstname}%";
- }
- if ($filter_subscr == 'LIKE' && !$filter_subscr_lastname == '') {
- $filter_subscr_lastname = "%{$filter_subscr_lastname}%";
- }
- if ($filter_subscr == 'LIKE' && !$filter_subscr_email == '') {
- $filter_subscr_email = "%{$filter_subscr_email}%";
- }
- if ($filter_subscr_firstname == '' && $filter_subscr_lastname == '' && $filter_subscr_email == '') {
- $op = 'list';
- }
-}
-
$subscrAdmin = new ModuleAdmin();
switch ($op) {
case 'show_catsubscr':
+ $subscr_id = xnewsletterRequest::getInt('subscr_id', 0);
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $subscrAdmin->addNavigation($currentFile);
+ //
$apply_filter = xnewsletterRequest::getString('apply_filter', 'list');
- $linklist = "?op=$apply_filter&filter_subscr={$filter_subscr}";
+ $linklist = "?op=$apply_filter&filter_subscr={$filter_subscr}";
$linklist .= "&filter_subscr_firstname={$filter_subscr_firstname}";
$linklist .= "&filter_subscr_lastname={$filter_subscr_lastname}";
$linklist .= "&filter_subscr_email={$filter_subscr_email}";
@@ -98,11 +81,16 @@
echo "</td>";
echo "</tr>";
echo "</table>";
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'list':
+ case 'list_subscrs':
case 'apply_filter':
default:
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $subscrAdmin->addNavigation($currentFile);
$subscrAdmin->addItemButton(_AM_XNEWSLETTER_NEWSUBSCR, '?op=new_subscr', 'add');
if ($op == 'apply_filter') {
@@ -110,163 +98,90 @@
}
echo $subscrAdmin->renderButton();
//
- $limit = $xnewsletter->getConfig('adminperpage');
- $subscrCriteria = new CriteriaCompo();
-
- if ($op == 'apply_filter') {
- if ($filter_subscr_firstname != '') {
- $subscrCriteria->add(new Criteria('subscr_firstname', $filter_subscr_firstname, $filter_subscr));
- }
- if ($filter_subscr_lastname != '') {
- $subscrCriteria->add(new Criteria('subscr_lastname', $filter_subscr_lastname, $filter_subscr));
- }
- if ($filter_subscr_email != '') {
- $subscrCriteria->add(new Criteria('subscr_email', $filter_subscr_email, $filter_subscr));
- }
- }
- $subscrCriteria->setSort('subscr_id');
- $subscrCriteria->setOrder('DESC');
- $subscrCount = $xnewsletter->getHandler('subscr')->getCount($subscrCriteria);
- $start = xnewsletterRequest::getInt('start', 0);
- $subscrCriteria->setStart($start);
- $subscrCriteria->setLimit($limit);
- $subscrObjs = $xnewsletter->getHandler('subscr')->getAll($subscrCriteria);
- if ($subscrCount > $limit) {
- include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
- $linklist = "op={$op}";
- $linklist .= "&filter_subscr={$filter_subscr}";
- $linklist .= "&filter_subscr_firstname={$filter_subscr_firstname}";
- $linklist .= "&filter_subscr_lastname={$filter_subscr_lastname}";
- $linklist .= "&filter_subscr_email={$filter_subscr_email}";
- $pagenav = new XoopsPageNav($subscrCount, $limit, $start, 'start', $linklist);
- $pagenav = $pagenav->renderNav(4);
- } else {
- $pagenav = '';
- }
- if ($filter_subscr == 'LIKE') {
- //clean up var for refill form
- $filter_subscr_firstname = str_replace('%', '', $filter_subscr_firstname);
- $filter_subscr_lastname = str_replace('%', '', $filter_subscr_lastname);
- $filter_subscr_email = str_replace('%', '', $filter_subscr_email);
- }
-
- // View Table
- echo "<table class='outer width100' cellspacing='1'>";
- echo "<tr>";
- echo " <th class='center'><input type='checkbox' title='" . _ALL . "'onClick='toggle(this);'></th>";
- echo " <th>" . _AM_XNEWSLETTER_SUBSCR_ID . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_SUBSCR_SEX . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_SUBSCR_FIRSTNAME . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_SUBSCR_LASTNAME . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_SUBSCR_EMAIL . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_SUBSCR_UID . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_SUBSCR_CREATED . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_FORMACTION . "</th>";
- echo "</tr>";
-
- if ($subscrCount > 0) {
- $class = 'odd';
- echo "<form id='form_filter' enctype='multipart/form-data' method='post' action='{$currentFile}' name='form_filter'>";
- $inputstyle = '';//style='border: 1px solid #000000;";
- echo "<tr class='{$class}'>";
- $class = ($class == 'even') ? 'odd' : 'even';
- echo " <td class='center'> </td>";
- echo " <td colspan='2'>" . _SEARCH . ": ";
- echo " <select id='filter_subscr' title='" . _SEARCH . "' name='filter_subscr' size='1'>";
- echo " <option value='='" . (($filter_subscr == "=") ? " selected='selected'" : "") . ">" . _AM_XNEWSLETTER_SEARCH_EQUAL . "</option>";
- echo " <option value='LIKE'" . (($filter_subscr == "LIKE") ? " selected='selected'" : "") . ">" . _AM_XNEWSLETTER_SEARCH_CONTAINS . "</option>";
- echo " </select>";
- echo " </td>";
- echo " <td><input {$inputstyle} id='filter_subscr_firstname' type='text' value='{$filter_subscr_firstname}' maxlength='50' size='15' title='' name='filter_subscr_firstname'></td>";
- echo " <td><input {$inputstyle} id='filter_subscr_lastname' type='text' value='{$filter_subscr_lastname}' maxlength='50' size='15' title='' name='filter_subscr_lastname'></td>";
- echo " <td><input {$inputstyle} id='filter_subscr_email' type='text' value='{$filter_subscr_email}' maxlength='255' size='40' title='' name='filter_subscr_email'></td>";
- echo " <td> </td>";
- echo " <td> </td>";
- echo " <td class='center'><input id='filter_submit' class='formButton' type='submit' title='" . _SEARCH . "' value='" . _SEARCH . "' name='filter_submit'></td>";
- echo "</tr>";
- echo "<input id='filter_op' type='hidden' value='apply_filter' name='op'>";
- echo "</form>";
-
- echo "<script language='JavaScript'>
- function toggle(source)
- {
- checkboxes = document.getElementsByName('subscr_ids[]');
- for (var i=0, n=checkboxes.length;i<n;i++) {
- checkboxes[i].checked = source.checked;
+ $subsrCount = $xnewsletter->getHandler('subscr')->getCount();
+ if ($subsrCount > 0) {
+ // get filter parameters
+ $filter_subscr = xnewsletterRequest::getString('filter_subscr', '=');
+ $filter_subscr_firstname = xnewsletterRequest::getString('filter_subscr_firstname', '');
+ $filter_subscr_lastname = xnewsletterRequest::getString('filter_subscr_lastname', '');
+ $filter_subscr_email = xnewsletterRequest::getString('filter_subscr_email', '');
+ if ($op == 'apply_filter') {
+ if ($filter_subscr == 'LIKE' && !$filter_subscr_firstname == '') {
+ $filter_subscr_firstname = "%{$filter_subscr_firstname}%";
}
- }
- </script>";
- echo "<script language='JavaScript'>
- function check(source)
- {
- checkboxes = document.getElementsByName('subscr_ids[]');
- for (var i=0, n=checkboxes.length;i<n;i++) {
- if (checkboxes[i].checked) return true;
+ if ($filter_subscr == 'LIKE' && !$filter_subscr_lastname == '') {
+ $filter_subscr_lastname = "%{$filter_subscr_lastname}%";
}
-
- return false;
+ if ($filter_subscr == 'LIKE' && !$filter_subscr_email == '') {
+ $filter_subscr_email = "%{$filter_subscr_email}%";
+ }
+ if ($filter_subscr_firstname == '' && $filter_subscr_lastname == '' && $filter_subscr_email == '') {
+ $op = 'list';
+ }
}
- </script>";
-
- echo "<form id='form_action' onsubmit='return check(this);' enctype='multipart/form-data' method='post' action='{$currentFile}' name='form_action'>";
- foreach ($subscrObjs as $subscr_id => $subscrObj) {
- echo "<tr class='{$class}'>";
- $class = ($class == 'even') ? 'odd' : 'even';
- echo " <td class='center'><input type='checkbox' name='subscr_ids[]' value='{$subscr_id}'></td>";
- echo " <td>" . $subscr_id . "</td>";
- echo " <td>" . $subscrObj->getVar('subscr_sex') . " </td>";
- echo " <td>" . $subscrObj->getVar('subscr_firstname') . " </td>";
- echo " <td>" . $subscrObj->getVar('subscr_lastname') . " </td>";
- echo " <td>" . $subscrObj->getVar('subscr_email') . " </td>";
- echo " <td>";
- if ($subscrObj->getVar('subscr_uid') > 0) {
- echo XoopsUser::getUnameFromId($subscrObj->getVar('subscr_uid'), 'S');
- } else {
- echo "-";
+ // get filtered subscrs criteria
+ $subscrCriteria = new CriteriaCompo();
+ if ($op == 'apply_filter') {
+ if ($filter_subscr_firstname != '') {
+ $subscrCriteria->add(new Criteria('subscr_firstname', $filter_subscr_firstname, $filter_subscr));
}
- echo " </td>";
- echo " <td>";
- if ($subscrObj->getVar('subscr_activated') == 0) {
- echo '<img src="' . XNEWSLETTER_ICONS_URL . '/xn_failed.png" alt="' . _AM_XNEWSLETTER_SUBSCRWAIT . '" title="' . _AM_XNEWSLETTER_SUBSCRWAIT . '" /> ';
- } else {
- echo '<img src="' . XNEWSLETTER_ICONS_URL . '/xn_ok.png" alt="' . _MA_XNEWSLETTER_SUBSCRIPTION_REG_CLOSED . '" title="' . _MA_XNEWSLETTER_SUBSCRIPTION_REG_CLOSED . '" /> ';
+ if ($filter_subscr_lastname != '') {
+ $subscrCriteria->add(new Criteria('subscr_lastname', $filter_subscr_lastname, $filter_subscr));
}
- echo formatTimestamp($subscrObj->getVar("subscr_created"), $xnewsletter->getConfig('dateformat')) . " [" . $subscrObj->getVar('subscr_ip') . "]";
- echo " </td>";
-
- echo " <td class='center' nowrap='nowrap'>";
- echo " <a href='?op=edit_subscr&subscr_id={$subscr_id}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_edit.png alt='" . _EDIT . "' title='" . _EDIT . "' /></a>";
- echo " ";
- echo " <a href='?op=delete_subscr&subscr_id={$subscr_id}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_delete.png alt='" . _DELETE . "' title='" . _DELETE . "' /></a>";
- echo " ";
- echo " <a href='?op=show_catsubscr&subscr_id={$subscr_id}&filter_subscr={$filter_subscr}&filter_subscr_firstname={$filter_subscr_firstname}&filter_subscr_lastname={$filter_subscr_lastname}&filter_subscr_email={$filter_subscr_email}&apply_filter={$op}'>";
- echo " <img src=" . XNEWSLETTER_ICONS_URL . "/xn_details.png alt='" . _AM_XNEWSLETTER_DETAILS . "' title='" . _AM_XNEWSLETTER_DETAILS . "' />";
- echo " </a>";
- echo " </td>";
- echo "</tr>";
-
-// $filter_subscr = xnewsletterRequest::getString('filter_subscr', '=');
-// $filter_subscr_firstname = xnewsletterRequest::getString('filter_subscr_firstname', '');
-// $filter_subscr_lastname = xnewsletterRequest::getString('filter_subscr_lastname', '');
-// $filter_subscr_email = xnewsletterRequest::getString('filter_subscr_email', '');
+ if ($filter_subscr_email != '') {
+ $subscrCriteria->add(new Criteria('subscr_email', $filter_subscr_email, $filter_subscr));
+ }
}
- echo "<tr>";
- echo " <td colspan='9'>";
- echo " <select id='actions_action' name='actions_action' size='1'>";
- echo " <option value='delete'>" . _DELETE . "</option>";
- echo " <option value='activate'>" . _AM_XNEWSLETTER_ACTIONS_ACTIVATE . "</option>";
- echo " <option value='unactivate'>" . _AM_XNEWSLETTER_ACTIONS_UNACTIVATE . "</option>";
- echo " </select>";
- echo " <input id='actions_submit' class='formButton' type='submit' title='" . _AM_XNEWSLETTER_ACTIONS_EXEC . "' value='" . _AM_XNEWSLETTER_ACTIONS_EXEC . "' name='actions_submit'>";
- echo " </td>";
- echo "</tr>";
- echo "<input id='actions_op' type='hidden' value='apply_actions' name='op'>";
- echo "</form>";
+ $subsrFilterCount = $xnewsletter->getHandler('subscr')->getCount($subscrCriteria);
+ //
+ $subscrCriteria->setSort('subscr_id');
+ $subscrCriteria->setOrder('DESC');
+ //
+ $start = xnewsletterRequest::getInt('start', 0);
+ $limit = $xnewsletter->getConfig('adminperpage');
+ $subscrCriteria->setStart($start);
+ $subscrCriteria->setLimit($limit);
+ //
+ $subscrObjs = $xnewsletter->getHandler('subscr')->getAll($subscrCriteria);
+ $subscrs = $xnewsletter->getHandler('subscr')->getObjects($subscrCriteria, true, false); // as array
+ if ($subsrFilterCount > $limit) {
+ include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
+ $linklist = "op={$op}";
+ $linklist .= "&filter_subscr={$filter_subscr}";
+ $linklist .= "&filter_subscr_firstname={$filter_subscr_firstname}";
+ $linklist .= "&filter_subscr_lastname={$filter_subscr_lastname}";
+ $linklist .= "&filter_subscr_email={$filter_subscr_email}";
+ $pagenav = new XoopsPageNav($subsrFilterCount, $limit, $start, 'start', $linklist);
+ $pagenav = $pagenav->renderNav(4);
+ } else {
+ $pagenav = '';
+ }
+ $GLOBALS['xoopsTpl']->assign('subscrs_pagenav', $pagenav);
+ //
+ if ($filter_subscr == 'LIKE') {
+ //clean up var for refill form
+ $filter_subscr_firstname = str_replace('%', '', $filter_subscr_firstname);
+ $filter_subscr_lastname = str_replace('%', '', $filter_subscr_lastname);
+ $filter_subscr_email = str_replace('%', '', $filter_subscr_email);
+ }
+ $GLOBALS['xoopsTpl']->assign('filter_subscr', $filter_subscr);
+ $GLOBALS['xoopsTpl']->assign('filter_subscr_firstname', $filter_subscr_firstname);
+ $GLOBALS['xoopsTpl']->assign('filter_subscr_lastname', $filter_subscr_lastname);
+ $GLOBALS['xoopsTpl']->assign('filter_subscr_email', $filter_subscr_email);
+ //
+ $GLOBALS['xoopsTpl']->assign('token', $GLOBALS['xoopsSecurity']->getTokenHTML());
+ // fill subscrs array
+ foreach ($subscrs as $subscr_id => $subscr) {
+ $subscr['subscr_uname'] = XoopsUser::getUnameFromId($subscr['subscr_uid'], 'S');
+ $subscr['subscr_created_formatted'] = formatTimestamp($subscr['subscr_created'], $xnewsletter->getConfig('dateformat'));
+ $GLOBALS['xoopsTpl']->append('subscrs', $subscr);
+ }
+ //
+ $GLOBALS['xoopsTpl']->display("db:{$xnewsletter->getModule()->dirname()}_admin_subscrs_list.tpl");
+ } else {
+ echo _CO_XNEWSLETTER_WARNING_NOSUBSCRS;
}
- echo "</table>";
- echo "<br />";
- echo "<div>" . $pagenav . "</div>";
- echo "<br />";
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'apply_actions':
@@ -287,11 +202,15 @@
foreach ($xnewsletter->getHandler('subscr')->getObjects($subscrCriteria) as $subscrObj) {
$subscr_emails[] = $subscrObj->getVar('subscr_email');
}
+ // render start here
+ xoops_cp_header();
+ // render confirm form
xoops_confirm(
array('ok' => true, 'op' => 'apply_actions', 'actions_action' => $action, 'serialize_subscr_ids' => serialize($subscr_ids)),
$_SERVER['REQUEST_URI'],
sprintf(_AM_XNEWSLETTER_FORMSUREDEL, implode(', ', $subscr_emails))
);
+ include_once __DIR__ . '/admin_footer.php';
}
break;
case 'activate':
@@ -317,6 +236,9 @@
break;
case 'new_subscr':
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $subscrAdmin->addNavigation($currentFile);
$subscrAdmin->addItemButton(_AM_XNEWSLETTER_SUBSCRLIST, '?op=list', 'list');
echo $subscrAdmin->renderButton();
@@ -324,9 +246,11 @@
$subscrObj = $xnewsletter->getHandler('subscr')->create();
$form = $subscrObj->getFormAdmin();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'save_subscr':
+ $subscr_id = xnewsletterRequest::getInt('subscr_id', 0);
if (!$GLOBALS["xoopsSecurity"]->check()) {
redirect_header($currentFile, 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
}
@@ -346,13 +270,20 @@
if ($xnewsletter->getHandler('subscr')->insert($subscrObj)) {
redirect_header('?op=list', 3, _AM_XNEWSLETTER_FORMOK);
}
- //
+ // render start here
+ xoops_cp_header();
+ // render form
echo $subscrObj->getHtmlErrors();
$form = $subscrObj->getFormAdmin();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'edit_subscr':
+ $subscr_id = xnewsletterRequest::getInt('subscr_id', 0);
+ // render start here
+ xoops_cp_header();
+ // render submenu
echo $subscrAdmin->addNavigation($currentFile);
$subscrAdmin->addItemButton(_AM_XNEWSLETTER_NEWSUBSCR, '?op=new_subscr', 'add');
$subscrAdmin->addItemButton(_AM_XNEWSLETTER_SUBSCRLIST, '?op=list', 'list');
@@ -361,9 +292,11 @@
$subscrObj = $xnewsletter->getHandler('subscr')->get($subscr_id);
$form = $subscrObj->getFormAdmin();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'delete_subscr':
+ $subscr_id = xnewsletterRequest::getInt('subscr_id', 0);
$subscrObj = $xnewsletter->getHandler('subscr')->get($subscr_id);
if (xnewsletterRequest::getBool('ok', false, 'POST') == true) {
if (!$GLOBALS['xoopsSecurity']->check()) {
@@ -376,12 +309,15 @@
echo $subscrObj->getHtmlErrors();
}
} else {
+ // render start here
+ xoops_cp_header();
+ // render confirm form
xoops_confirm(
array('ok' => true, 'subscr_id' => $_REQUEST['subscr_id'], 'op' => 'delete_subscr'),
$_SERVER['REQUEST_URI'],
sprintf(_AM_XNEWSLETTER_FORMSUREDEL, $subscrObj->getVar('subscr_email'))
);
+ include_once __DIR__ . '/admin_footer.php';
}
break;
}
-include_once __DIR__ . '/admin_footer.php';
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/template.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/template.php 2014-12-02 21:16:19 UTC (rev 12882)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/template.php 2014-12-02 21:23:27 UTC (rev 12883)
@@ -36,6 +36,61 @@
$template_id = xnewsletterRequest::getInt('template_id', 0);
switch ($op) {
+ case 'show_preview':
+ case 'show_template_preview':
+ echo $indexAdmin->addNavigation($currentFile);
+ $indexAdmin->addItemButton(_AM_XNEWSLETTER_NEWTEMPLATE, '?op=new_template', 'add');
+ $indexAdmin->addItemButton(_AM_XNEWSLETTER_TEMPLATELIST, '?op=list', 'list');
+ echo $indexAdmin->renderButton();
+ //
+ $templateObj = $xnewsletter->getHandler('template')->get($template_id);
+ //
+ $letterTpl = new XoopsTpl();
+ // subscr data
+ $letterTpl->assign('sex', _AM_XNEWSLETTER_SUBSCR_SEX_PREVIEW);
+ $letterTpl->assign('salutation', _AM_XNEWSLETTER_SUBSCR_SEX_PREVIEW); // new from v1.3
+ $letterTpl->assign('firstname', _AM_XNEWSLETTER_SUBSCR_FIRSTNAME_PREVIEW);
+ $letterTpl->assign('lastname', _AM_XNEWSLETTER_SUBSCR_LASTNAME_PREVIEW);
+ $letterTpl->assign('subscr_email', _AM_XNEWSLETTER_SUBSCR_EMAIL_PREVIEW);
+ $letterTpl->assign('email', _AM_XNEWSLETTER_SUBSCR_EMAIL_PREVIEW); // new from v1.3
+ // letter data
+ $letterTpl->assign('title', '<{$title}>'); // new from v1.3
+ //$letterTpl->assign('content', xnewsletter_randomLipsum(5, 'paras', 0));
+ $letterTpl->assign('content', '<{$content}>');
+ // letter attachments as link
+ for ($i = 1; $i <= 5; ++$i) {
+ $attachment_array['attachment_id'] = $i;
+ $attachment_array['attachment_letter_id'] = '#';
+ $attachment_array['attachment_name'] = '<{$attachment_name}>';
+ $attachment_array['attachment_type'] = '<{$attachment_type}>';
+ $attachment_array['attachment_submitter'] = '<{$attachment_submitter}>';
+ $attachment_array['attachment_created'] = time();
+ $attachment_array['attachment_size'] = '<{$attachment_size}>';
+ $attachment_array['attachment_mode'] = '<{$attachment_mode}>';
+ $attachment_array['attachment_url'] = '#';
+ $attachment_array['attachment_link'] = '#';
+ $letterTpl->append('attachments', $attachment_array);
+ }
+ // extra data
+ $letterTpl->assign('date', time()); // new from v1.3
+ $letterTpl->assign('unsubscribe_url', '#');
+ $letterTpl->assign('catsubscr_id', '0');
+
+ $htmlBody = $letterTpl->fetchFromData($templateObj->getVar('template_content', 'n'));
+ $textBody = xnewsletter_html2text($htmlBody); // new from v1.3
+
+ echo "<h2>{$templateObj->getVar('template_title')}</h2>";
+ echo "<div style='clear:both'>";
+ echo "<div style='padding:10px;border:1px solid black'>";
+ echo $htmlBody;
+ echo "</div>";
+ echo "<div style='padding:10px;border:1px solid black; font-family: monospace;'>";
+ echo nl2br(utf8_encode($textBody));
+ echo "</div>";
+ echo "</div>";
+ include_once __DIR__ . '/admin_footer.php';
+ break;
+
case 'list':
case 'list_templates':
default:
@@ -43,56 +98,40 @@
$indexAdmin->addItemButton(_AM_XNEWSLETTER_NEWTEMPLATE, '?op=new_template', 'add');
echo $indexAdmin->renderButton();
//
- $limit = $xnewsletter->getConfig('adminperpage');
- $templateCriteria = new CriteriaCompo();
- $templateCriteria->setSort('template_title DESC, template_id');
- $templateCriteria->setOrder('DESC');
- $templatesCount = $xnewsletter->getHandler('template')->getCount();
- $start = xnewsletterRequest::getInt('start', 0);
- $templateCriteria->setStart($start);
- $templateCriteria->setLimit($limit);
- $templateObjs = $xnewsletter->getHandler('template')->getAll($templateCriteria);
- if ($templatesCount > $limit) {
- include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
- $pagenav = new XoopsPageNav($templatesCount, $limit, $start, 'start', 'op=list');
- $pagenav = $pagenav->renderNav(4);
+ $templateCount = $xnewsletter->getHandler('template')->getCount();
+ if ($templateCount > 0) {
+ $templateCriteria = new CriteriaCompo();
+ //
+ $templateCriteria->setSort('template_title DESC, template_id');
+ $templateCriteria->setOrder('DESC');
+ //
+ $start = xnewsletterRequest::getInt('start', 0);
+ $limit = $xnewsletter->getConfig('adminperpage');
+ $templateCriteria->setStart($start);
+ $templateCriteria->setLimit($limit);
+ //
+ if ($templateCount > $limit) {
+ include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
+ $pagenav = new XoopsPageNav($templateCount, $limit, $start, 'start', 'op=list');
+ $pagenav = $pagenav->renderNav(4);
+ } else {
+ $pagenav = '';
+ }
+ $GLOBALS['xoopsTpl']->assign('subscrs_pagenav', $pagenav);
+ //
+ $templateObjs = $xnewsletter->getHandler('template')->getAll($templateCriteria);
+ $templates = $xnewsletter->getHandler('template')->getObjects($templateCriteria, true, false); // as array
+ foreach ($templates as $template_id => $template) {
+ $template['template_submitter_uname'] = XoopsUser::getUnameFromId($template['template_submitter'], 'S');
+ $template['template_created_formatted'] = formatTimestamp($template['template_created'], $xnewsletter->getConfig('dateformat'));
+ $GLOBALS['xoopsTpl']->append('templates', $template);
+ }
+ //
+ $GLOBALS['xoopsTpl']->display("db:{$xnewsletter->getModule()->dirname()}_admin_templates_list.tpl");
} else {
- $pagenav = '';
+ echo _CO_XNEWSLETTER_WARNING_NOTEMPLATES;
}
-
- // View Table
- echo "<table class='outer width100' cellspacing='1'>";
- echo "<tr>";
- echo " <th>" . _AM_XNEWSLETTER_TEMPLATE_ID . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_TEMPLATE_TITLE . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_TEMPLATE_DESCRIPTION . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_TEMPLATE_SUBMITTER . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_TEMPLATE_CREATED . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_FORMACTION . "</th>";
- echo "</tr>";
-
- if ($templatesCount > 0) {
- $class = 'odd';
- foreach ($templateObjs as $template_id => $templateObj) {
- echo "<tr class='{$class}'>";
- $class = ($class == 'even') ? 'odd' : 'even';
- echo "<td>" . $template_id . "</td>";
- echo "<td>" . $templateObj->getVar("template_title") . "</td>";
- echo "<td>" . $templateObj->getVar("template_description") . "</td>";
- echo "<td class='center'>" . XoopsUser::getUnameFromId($templateObj->getVar("template_submitter"), "S") . "</td>";
- echo "<td class='center'>" . formatTimeStamp($templateObj->getVar("template_created"), "S") . "</td>";
- echo "<td class='center' nowrap='nowrap'>";
- echo " <a href='?op=edit_template&template_id=" . $template_id . "'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_edit.png alt='" . _EDIT . "' title='" . _EDIT . "' /></a>";
- echo " ";
- echo " <a href='?op=delete_template&template_id=" . $template_id . "'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_delete.png alt='" . _DELETE . "' title='" . _DELETE . "' /></a>";
- echo "</td>";
- echo "</tr>";
- }
- }
- echo "</table>";
- echo "<br />";
- echo "<div>{$pagenav}</div>";
- echo "<br />";
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'new_template':
@@ -103,6 +142,7 @@
$templateObj = $xnewsletter->getHandler('template')->create();
$form = $templateObj->getForm();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'save_template':
@@ -123,6 +163,7 @@
echo $templateObj->getHtmlErrors();
$form = $templateObj->getForm();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'edit_template':
@@ -134,6 +175,7 @@
$templateObj = $xnewsletter->getHandler('template')->get($template_id);
$form = $templateObj->getForm();
$form->display();
+ ...
[truncated message content] |