|
From: <luc...@us...> - 2014-12-13 13:16:32
|
Revision: 12902
http://sourceforge.net/p/xoops/svn/12902
Author: luciorota
Date: 2014-12-13 13:16:18 +0000 (Sat, 13 Dec 2014)
Log Message:
-----------
fixed huge amount of small bugs
standardize code
templatize admin side
improved admin size options
Modified Paths:
--------------
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/cat.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/import.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/index.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/menu.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/protocol.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/sendletter.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/task.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/template.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/accounts.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/attachment.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/cat.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/catsubscr.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/import.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/letter.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/mailinglist.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/subscr.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/template.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/cron.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/docs/changelog.txt
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/constants.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/functions.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/language/english/admin.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/language/english/common.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/letter.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/plugins/csv.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/plugins/evennews.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/plugins/rmbulletin.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/plugins/smartpartner.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/plugins/subscribers.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/plugins/weblinks.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/plugins/xoopsuser.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/print.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/sendletter.php
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
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/xNewsletter_letter_preview.tpl
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php
Added Paths:
-----------
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/assets/images/module_logo.png
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/functions.task.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/onuninstall.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_cats_list.tpl
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_protocols_list.tpl
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_tasks_list.tpl
Removed Paths:
-------------
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/task.inc.php
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php 2014-12-11 16:21:06 UTC (rev 12901)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/attachment.php 2014-12-13 13:16:18 UTC (rev 12902)
@@ -43,6 +43,7 @@
echo $indexAdmin->renderButton();
//
$attachmentCount = $xnewsletter->getHandler('attachment')->getCount();
+ $GLOBALS['xoopsTpl']->assign('attachmentCount', $attachmentCount);
if ($attachmentCount > 0) {
$attachmentCriteria = new CriteriaCompo();
//
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/cat.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/cat.php 2014-12-11 16:21:06 UTC (rev 12901)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/cat.php 2014-12-13 13:16:18 UTC (rev 12902)
@@ -37,109 +37,90 @@
switch ($op) {
case 'list':
+ case 'list_cats':
default:
echo $indexAdmin->addNavigation($currentFile);
$indexAdmin->addItemButton(_AM_XNEWSLETTER_NEWCAT, '?op=new_cat', 'add');
echo $indexAdmin->renderButton();
//
- $start = xnewsletterRequest::getInt('start', 0);
- $limit = $xnewsletter->getConfig('adminperpage');
- $catsCount = $xnewsletter->getHandler('cat')->getCount();
- $catCriteria = new CriteriaCompo();
- $catCriteria->setSort('cat_id ASC, cat_name');
- $catCriteria->setOrder('ASC');
- $catCriteria->setStart($start);
- $catCriteria->setLimit($limit);
- $catObjs = $xnewsletter->getHandler('cat')->getAll($catCriteria);
- if ($catsCount > $limit) {
- include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
- $pagenav = new XoopsPageNav($catsCount, $limit, $start, 'start', 'op=list');
- $pagenav = $pagenav->renderNav(4);
- } else {
- $pagenav = '';
- }
-
- // View Table
- echo "<table class='outer width100' cellspacing='1'>";
- echo "<tr>";
- echo " <th>" . _AM_XNEWSLETTER_CAT_ID . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_CAT_NAME . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_CAT_INFO . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_CAT_GPERMS_ADMIN . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_CAT_GPERMS_CREATE . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_CAT_GPERMS_LIST . "</th>";
- echo " <th>" . _AM_XNEWSLETTER_CAT_GPERMS_READ . "</th>";
- if ($xnewsletter->getConfig('xn_use_mailinglist') == true) {
- echo " <th>" . _AM_XNEWSLETTER_CAT_MAILINGLIST . "</th>";
- }
- echo " <th>" . _AM_XNEWSLETTER_FORMACTION . "</th>";
- echo "</tr>";
-
- if (count($catObjs) > 0) {
- $class = 'odd';
+ $catCount = $xnewsletter->getHandler('cat')->getCount();
+ $GLOBALS['xoopsTpl']->assign('catCount', $catCount);
+ if ($catCount > 0) {
+ $catCriteria = new CriteriaCompo();
+ //
+ $catCriteria->setSort('cat_id ASC, cat_name');
+ $catCriteria->setOrder('ASC');
+ //
+ $start = xnewsletterRequest::getInt('start', 0);
+ $limit = $xnewsletter->getConfig('adminperpage');
+ $catCriteria->setStart($start);
+ $catCriteria->setLimit($limit);
+ //
+ if ($catCount > $limit) {
+ include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
+ $pagenav = new XoopsPageNav($catCount, $limit, $start, 'start', 'op=list');
+ $pagenav = $pagenav->renderNav(4);
+ } else {
+ $pagenav = '';
+ }
+ $GLOBALS['xoopsTpl']->assign('cats_pagenav', $pagenav);
+ //
+ $catObjs = $xnewsletter->getHandler('cat')->getAll($catCriteria);
+ $cats = $xnewsletter->getHandler('cat')->getObjects($catCriteria, true, false); // as array
$groupNames = $member_handler->getGroupList();
$gperm_handler = xoops_gethandler('groupperm');
- foreach ($catObjs as $cat_id => $catObj) {
- echo "<tr class='{$class}'>";
- $class = ($class == 'even') ? 'odd' : 'even';
- echo "<td>{$cat_id}</td>";
- echo "<td>{$catObj->getVar("cat_name")}</td>";
- echo "<td>{$catObj->getVar("cat_info")} </td>";
+ foreach ($cats as $cat_id => $cat) {
// cat_gperms_admin
$cat_gperms_admin_groupids = $gperm_handler->getGroupIds('newsletter_admin_cat', $cat_id, $xnewsletter->getModule()->mid());
sort($cat_gperms_admin_groupids);
- $cat_gperms_admin = '';
+ $cat_gperms_admin = array();
foreach ($cat_gperms_admin_groupids as $groupid) {
- $cat_gperms_admin .= $groupNames[$groupid] . ' | ';
+ $cat_gperms_admin[$groupid] = array(
+ 'group_id' => $groupid,
+ 'group_name' => $groupNames[$groupid]);
}
- $cat_gperms_admin = substr($cat_gperms_admin, 0, -3);
- echo "<td>" . $cat_gperms_admin . "</td>";
-
+ $cat['cat_gperms_admin_groups'] = $cat_gperms_admin;
// cat_gperms_create
$cat_gperms_create_groupids = $gperm_handler->getGroupIds('newsletter_create_cat', $cat_id, $xnewsletter->getModule()->mid());
sort($cat_gperms_create_groupids);
- $cat_gperms_create = '';
+ $cat_gperms_create = array();
foreach ($cat_gperms_create_groupids as $groupid) {
- $cat_gperms_create .= $groupNames[$groupid] . " | ";
+ $cat_gperms_create[$groupid] = array(
+ 'group_id' => $groupid,
+ 'group_name' => $groupNames[$groupid]);
}
- $cat_gperms_create = substr($cat_gperms_create, 0, -3);
- echo "<td>" . $cat_gperms_create . "</td>";
-
+ $cat['cat_gperms_create_groups'] = $cat_gperms_create;
// cat_gperms_list
$cat_gperms_list_groupids = $gperm_handler->getGroupIds('newsletter_list_cat', $cat_id, $xnewsletter->getModule()->mid());
sort($cat_gperms_list_groupids);
- $cat_gperms_list = '';
+ $cat_gperms_list = array();
foreach ($cat_gperms_list_groupids as $groupid) {
- $cat_gperms_list .= $groupNames[$groupid] . " | ";
+ $cat_gperms_list[$groupid] = array(
+ 'group_id' => $groupid,
+ 'group_name' => $groupNames[$groupid]);
}
- $cat_gperms_list = substr($cat_gperms_list, 0, -3);
- echo "<td>" . $cat_gperms_list . "</td>";
-
+ $cat['cat_gperms_list_groups'] = $cat_gperms_list;
// cat_gperms_read
$cat_gperms_read_groupids = $gperm_handler->getGroupIds('newsletter_read_cat', $cat_id, $xnewsletter->getModule()->mid());
sort($cat_gperms_read_groupids);
- $cat_gperms_read = '';
+ $cat_gperms_read = array();
foreach ($cat_gperms_read_groupids as $groupid) {
- $cat_gperms_read .= $groupNames[$groupid] . " | ";
+ $cat_gperms_read[$groupid] = array(
+ 'group_id' => $groupid,
+ 'group_name' => $groupNames[$groupid]);
}
- $cat_gperms_read = substr($cat_gperms_read, 0, -3);
- echo "<td>" . $cat_gperms_read . "</td>";
-
- if ($xnewsletter->getConfig('xn_use_mailinglist') == true) {
- echo "<td>" . $catObj->getVar("cat_mailinglist") . "</td>";
- }
- echo "<td class='center' nowrap='nowrap'>";
- echo "<a href='?op=edit_cat&cat_id={$cat_id}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_edit.png alt='" . _EDIT . "' title='" . _EDIT . "' /></a>";
- echo " ";
- echo "<a href='?op=delete_cat&cat_id={$cat_id}'><img src=" . XNEWSLETTER_ICONS_URL . "/xn_delete.png alt='" . _DELETE . "' title='" . _DELETE . "' /></a>";
- echo "</td>";
- echo "</tr>";
+ $cat['cat_gperms_read_groups'] = $cat_gperms_read;
+ //
+ $GLOBALS['xoopsTpl']->append('cats', $cat);
}
+ // config
+ $GLOBALS['xoopsTpl']->assign('xn_use_mailinglist', $xnewsletter->getConfig('xn_use_mailinglist'));
+ //
+ $GLOBALS['xoopsTpl']->display("db:{$xnewsletter->getModule()->dirname()}_admin_cats_list.tpl");
+ } else {
+ echo _CO_XNEWSLETTER_WARNING_NOCATS;
}
- echo "</table>";
- echo "<br />";
- echo "<div>" . $pagenav . "</div>";
- echo "<br />";
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'new_cat':
@@ -150,6 +131,7 @@
$catObj = $xnewsletter->getHandler('cat')->create();
$form = $catObj->getForm();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'save_cat':
@@ -206,6 +188,7 @@
echo $catObj->getHtmlErrors();
$form = $catObj->getForm();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'edit_cat':
@@ -217,6 +200,7 @@
$catObj = $xnewsletter->getHandler('cat')->get($cat_id);
$form = $catObj->getForm();
$form->display();
+ include_once __DIR__ . '/admin_footer.php';
break;
case 'delete_cat':
@@ -233,6 +217,6 @@
} else {
xoops_confirm(array('ok' => true, 'cat_id' => $cat_id, 'op' => 'delete_cat'), $_SERVER['REQUEST_URI'], sprintf(_AM_XNEWSLETTER_FORMSUREDEL, $catObj->getVar('cat_name')));
}
+ include_once __DIR__ . '/admin_footer.php';
break;
}
-include_once __DIR__ . '/admin_footer.php';
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/import.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/import.php 2014-12-11 16:21:06 UTC (rev 12901)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/import.php 2014-12-13 13:16:18 UTC (rev 12902)
@@ -34,57 +34,54 @@
define('XNEWSLETTER_BASIC_LIMIT_IMPORT_CHECKED', 100);
define('XNEWSLETTER_BASIC_LIMIT_IMPORT_AT_ONCE', 10);
-$op = xnewsletterRequest::getString('op', 'default');
-$plugin = xnewsletterRequest::getString('plugin', 'csv');
-$cat_id = xnewsletterRequest::getInt('cat_id', 0, 'int');
-$action_after_read = xnewsletterRequest::getInt('action_after_read', 1);
-$start = xnewsletterRequest::getInt('start', 0);
-$limitcheck = xnewsletterRequest::getInt('limitcheck', XNEWSLETTER_BASIC_LIMIT_IMPORT_CHECKED);
+$plugin = xnewsletterRequest::getString('plugin', 'csv');
+$cat_id = xnewsletterRequest::getInt('cat_id', 0, 'int');
+$start = xnewsletterRequest::getInt('start', 0);
+$checkSubscrsAfterRead = xnewsletterRequest::getBool('checkSubscrsAfterRead', true);
+$checkLimit = xnewsletterRequest::getInt('checkLimit', XNEWSLETTER_BASIC_LIMIT_IMPORT_CHECKED);
$skipcatsubscrexist = xnewsletterRequest::getInt('skipcatsubscrexist', 1);
-$check_import = xnewsletterRequest::getInt('check_import', 0);
+$checkImport = xnewsletterRequest::getInt('checkImport', 0);
echo $indexAdmin->addNavigation($currentFile);
+$op = xnewsletterRequest::getString('op', 'default');
switch ($op) {
case 'show_formcheck':
$indexAdmin->addItemButton(_AM_XNEWSLETTER_IMPORT_PLUGINS_AVAIL, $currentFile, 'list');
echo $indexAdmin->renderButton();
//
- $importCriteria = new CriteriaCompo();
- $importCriteria->setSort("import_id");
- $importCriteria->setOrder("ASC");
- $importsCount = $xnewsletter->getHandler('import')->getCount($importCriteria);
-
- $importCriteria->setStart($start);
- $importCriteria->setLimit($limitcheck);
- $importObjs = $xnewsletter->getHandler('import')->getAll($importCriteria);
-
- if ($importsCount > 0) {
+ $importCount = $xnewsletter->getHandler('import')->getCount();
+ if ($importCount > 0) {
+ $importCriteria = new CriteriaCompo();
+ $importCriteria->setSort("import_id");
+ $importCriteria->setOrder("ASC");
+ $importCriteria->setStart($start);
+ $importCriteria->setLimit($checkLimit);
+ $importObjs = $xnewsletter->getHandler('import')->getAll($importCriteria);
+ //
include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php';
-
- $action = $_SERVER['REQUEST_URI'];
+ $action = $_SERVER['REQUEST_URI'];
$unique_id = uniqid(mt_rand());
$form = "<br/>";
- $form .= "<form name=\"form_import_{$unique_id}\" id=\"form_import_{$unique_id}\" action=\"{$currentFile}\" method=\"post\" enctype=\"multipart/form-data\">";
+ $form .= "<form name='form_import_{$unique_id}' id='form_import_{$unique_id}' action='{$currentFile}' method='post' enctype='multipart/form-data'>";
$showlimit = str_replace("%s", $start + 1, _AM_XNEWSLETTER_IMPORT_SHOW);
- if ($limitcheck < $importsCount) {
- $showlimit = str_replace("%l", $limitcheck, $showlimit);
+ if ($checkLimit < $importCount) {
+ $showlimit = str_replace("%l", $checkLimit, $showlimit);
} else {
- $showlimit = str_replace("%l", $importsCount, $showlimit);
+ $showlimit = str_replace("%l", $importCount, $showlimit);
}
- $showlimit = str_replace("%n", $importsCount, $showlimit);
+ $showlimit = str_replace("%n", $importCount, $showlimit);
- $form
- .= "
+ $form .= "
+ <h3>" . _AM_XNEWSLETTER_IMPORT_AFTER_READ . "</h3>
<table width='100%' cellspacing='1' class='outer'>
<tr>
<td align='left' colspan='8'>" . $showlimit . "</td>
</tr>";
$class = "odd";
- $form
- .= "
+ $form .= "
<tr>
<th> </th>
<th>" . _AM_XNEWSLETTER_SUBSCR_EMAIL . "</th>
@@ -107,101 +104,86 @@
foreach ($importObjs as $i => $importObj) {
++$counter;
- $form .= "<tr class='{$class}'>";
+ $form .= "<tr class='{$class}' >";
$class = ($class == 'even') ? 'odd' : 'even';
+ // import_id
$form .= "<td>" . $counter;
- $form .= "<input type='hidden' name='import_id_{$counter}' title='import_id_{$counter}' id='import_id_{$counter}' value='" . $importObj->getVar('import_id') . "' />";
+ $form .= "<input type='hidden' name='import_id_{$counter}' title='import_id_{$counter}' id='import_id_{$counter}' value='{$importObj->getVar('import_id')}' />";
$form .= "</td>";
+ // import_email
+ $email_text = new XoopsFormText(_AM_XNEWSLETTER_SUBSCR_EMAIL, "email_{$counter}", 25, 255, $importObj->getVar('import_email'));
+ $email_text->setExtra('disabled=disabled');
$form .= "<td>";
- $form .= "<input type='text' disabled=disabled name='email_{$counter}' title='" . _AM_XNEWSLETTER_SUBSCR_EMAIL . "' id='email_{$counter}' value='" . $importObj->getVar('import_email')
- . "' />";
+ $form .= $email_text->render();
+ unset($email_text);
$form .= "</td>";
-
+ // import_sex
+ $sex_select = new XoopsFormSelect(_AM_XNEWSLETTER_SUBSCR_SEX, "sex_{$counter}", $importObj->getVar('import_sex'), 1, false);
+ $sex_options = array(
+ _AM_XNEWSLETTER_SUBSCR_SEX_EMPTY => _AM_XNEWSLETTER_SUBSCR_SEX_EMPTY,
+ _AM_XNEWSLETTER_SUBSCR_SEX_FEMALE => _AM_XNEWSLETTER_SUBSCR_SEX_FEMALE,
+ _AM_XNEWSLETTER_SUBSCR_SEX_MALE => _AM_XNEWSLETTER_SUBSCR_SEX_MALE,
+ _AM_XNEWSLETTER_SUBSCR_SEX_COMP => _AM_XNEWSLETTER_SUBSCR_SEX_COMP,
+ _AM_XNEWSLETTER_SUBSCR_SEX_FAMILY => _AM_XNEWSLETTER_SUBSCR_SEX_FAMILY
+ );
+ $sex_select->addOptionArray($sex_options);
$form .= "<td>";
- $sex = $importObj->getVar('import_sex');
- $form .= "<select size='1' name='sex_{$counter}' id='sex_{$counter}' title='" . _AM_XNEWSLETTER_SUBSCR_SEX . "' ";
- $form .= "value='" . $sex . "'>";
- $form .= "<option value=''";
- if ($sex == _AM_XNEWSLETTER_SUBSCR_SEX_EMPTY) {
- $form .= " selected='selected'";
- }
- $form .= ">" . _AM_XNEWSLETTER_SUBSCR_SEX_EMPTY . "</option>";
- $form .= "<option value='" . _AM_XNEWSLETTER_SUBSCR_SEX_FEMALE . "'";
- if ($sex == _AM_XNEWSLETTER_SUBSCR_SEX_FEMALE) {
- $form .= " selected='selected'";
- }
- $form .= ">" . _AM_XNEWSLETTER_SUBSCR_SEX_FEMALE . "</option>";
- $form .= "<option value='" . _AM_XNEWSLETTER_SUBSCR_SEX_MALE . "'";
- if ($sex == _AM_XNEWSLETTER_SUBSCR_SEX_MALE) {
- $form .= " selected='selected'";
- }
- $form .= ">" . _AM_XNEWSLETTER_SUBSCR_SEX_MALE . "</option>";
- $form .= "<option value='" . _AM_XNEWSLETTER_SUBSCR_SEX_COMP . "'";
- if ($sex == _AM_XNEWSLETTER_SUBSCR_SEX_COMP) {
- $form .= " selected='selected'";
- }
- $form .= ">" . _AM_XNEWSLETTER_SUBSCR_SEX_COMP . "</option>";
- $form .= "<option value='" . _AM_XNEWSLETTER_SUBSCR_SEX_FAMILY . "'";
- if ($sex == _AM_XNEWSLETTER_SUBSCR_SEX_FAMILY) {
- $form .= " selected='selected'";
- }
- $form .= ">" . _AM_XNEWSLETTER_SUBSCR_SEX_FAMILY . "</option>";
- $form .= "</select>\n";
+ $form .= $sex_select->render();
+ unset($sex_select);
$form .= "</td>";
-
+ // import_firstname
+ $firstname_text = new XoopsFormText(_AM_XNEWSLETTER_SUBSCR_FIRSTNAME, "firstname_{$counter}", 25, 255, $importObj->getVar('import_firstname'));
$form .= "<td>";
- $form .= "<input type='text' name='firstname_{$counter}' title='" . _AM_XNEWSLETTER_SUBSCR_FIRSTNAME . "' id='firstname_{$counter}' value='" . $importObj->getVar("import_firstname")
- . "' />";
+ $form .= $firstname_text->render();
+ unset($firstname_text);
$form .= "</td>";
+ // import_lastname
+ $lastname_text = new XoopsFormText(_AM_XNEWSLETTER_SUBSCR_LASTNAME, "lastname_{$counter}", 25, 255, $importObj->getVar('import_lastname'));
$form .= "<td>";
- $form .= "<input type='text' name='lastname_{$counter}' title='" . _AM_XNEWSLETTER_SUBSCR_LASTNAME . "' id='lastname_{$counter}' value='" . $importObj->getVar("import_lastname")
- . "' />";
+ $form .= $lastname_text->render();
+ unset($lastname_text);
$form .= "</td>";
+ // import_subscr_id
$form .= "<td>";
- $subscr_id = $importObj->getVar("import_subscr_id");
- $form .= "<input type='hidden' name='subscr_id_{$counter}' title='subscr_id' id='subscr_id_{$counter}' value='" . $subscr_id . "' />";
+ $subscr_id = $importObj->getVar('import_subscr_id');
+ $form .= "<input type='hidden' name='subscr_id_{$counter}' title='subscr_id' id='subscr_id_{$counter}' value='{$subscr_id}' />";
if ($subscr_id > 0) {
$form .= "<img src='" . XNEWSLETTER_ICONS_URL . "/xn_ok.png' alt='" . _AM_XNEWSLETTER_IMPORT_EMAIL_EXIST . "' title='" . _AM_XNEWSLETTER_IMPORT_EMAIL_EXIST . "' />";
}
- $form .= "</td>";
+ $form .= " </td>";
+ // import_catsubscr_id
$form .= "<td>";
- $catsubscr_id = $importObj->getVar("import_catsubscr_id");
- $form .= "<input type='hidden' name='catsubscr_id_{$counter}' title='catsubscr_id' id='catsubscr_id_{$counter}' value='" . $catsubscr_id . "' />";
+ $catsubscr_id = $importObj->getVar('import_catsubscr_id');
+ $form .= "<input type='hidden' name='catsubscr_id_{$counter}' title='catsubscr_id' id='catsubscr_id_{$counter}' value='{$catsubscr_id}' />";
if ($catsubscr_id > 0) {
$form .= "<img src='" . XNEWSLETTER_ICONS_URL . "/xn_ok.png' alt='" . _AM_XNEWSLETTER_IMPORT_CATSUBSCR_EXIST . "' title='" . _AM_XNEWSLETTER_IMPORT_CATSUBSCR_EXIST . "' />";
}
- $form .= "</td>";
- $form .= "</td>";
- $form .= "<td>";
- $curr_cat_id = $importObj->getVar("import_cat_id");
- $form .= "<select size='1' name='cat_id_{$counter}' id=\"cat_id_{$counter}' title='cat' ";
- $form .= "value='" . $curr_cat_id . "'>";
- $cat_select = "<option value='0'";
- $cat_select .= ">" . _AM_XNEWSLETTER_IMPORT_NOIMPORT . "</option>";
+ $form .= " </td>";
+ // import_cat_id
+ $cat_id_select = new XoopsFormSelect(_AM_XNEWSLETTER_CAT_NAME, "cat_id_{$counter}", $importObj->getVar('import_cat_id'), 1, false);
+ $cat_id_select->addOption('0', _AM_XNEWSLETTER_IMPORT_NOIMPORT);
foreach ($catObjs as $cat_id => $catObj) {
- $cat_select .= "<option value='" . $cat_id . "'";
- if ($curr_cat_id == $j) {
- $cat_select .= " selected='selected'";
- }
- $cat_select .= ">" . $catObj->getVar("cat_name") . "</option>";
+ $cat_id_select->addOption($cat_id, $catObj->getVar('cat_name'));
}
+ $form .= "<td>";
+ $form .= $cat_id_select->render();
+ unset($cat_id_select);
+ $form .= "</td>";
- $form .= $cat_select;
- $form .= "</select>\n";
-
- $form .= "</td>";
$form .= "</tr>";
}
$form .= "<tr class='{$class}'>";
$class = ($class == 'even') ? 'odd' : 'even';
$form .= "<td colspan='8'>";
$form .= "<input type='hidden' name='counter' title='counter' id='counter' value='{$counter}' />";
- $form .= "<input type='hidden' name='limitcheck' title='limitcheck' id='limitcheck' value='" . $limitcheck . "' />";
+ $form .= "<input type='hidden' name='checkLimit' title='checkLimit' id='checkLimit' value='" . $checkLimit . "' />";
$form .= "<input type='hidden' name='op' title='op' id='op' value='apply_import_form' />";
$form .= "<input type='submit' class='formButton' name='submit' id='submit' value='" . _AM_XNEWSLETTER_IMPORT_EXEC . "' title='" . _AM_XNEWSLETTER_IMPORT_EXEC . "' />";
- $form .= "</td></tr>";
+ $form .= "</td>";
+ $form .= "</tr>";
- $form .= "</table></form>";
+ $form .= "</table>";
+ $form .= "</form>";
echo $form;
}
break;
@@ -209,50 +191,47 @@
case 'apply_import_form':
//update xnewsletter with settings form_import
$counter = xnewsletterRequest::getInt('counter', 0);
-
for ($i = 1; $i < ($counter + 1); ++$i) {
$import_id = xnewsletterRequest::getString("import_id_{$i}", 'default');
$subscr_firstname = xnewsletterRequest::getString("firstname_{$i}", '');
$subscr_lastname = xnewsletterRequest::getString("lastname_{$i}", '');
$subscr_sex = xnewsletterRequest::getString("sex_{$i}", '');
$cat_id = xnewsletterRequest::getInt("cat_id_{$i}", 0);
-
if ($cat_id > 0) {
if ($subscr_id == 0) {
//update sex, firstname, lastname
$sql = "UPDATE {$GLOBALS['xoopsDB']->prefix('xnewsletter_import')}";
- $sql .= " SET `import_sex`='{$subscr_sex}', `import_firstname`='{$subscr_firstname}', `import_lastname`='{$subscr_lastname}'";
+ $sql .= " SET `import_sex` = '{$subscr_sex}', `import_firstname` = '{$subscr_firstname}', `import_lastname` = '{$subscr_lastname}'";
$sql .= " WHERE `import_id`={$import_id}";
$result = $GLOBALS['xoopsDB']->queryF($sql);
}
}
//update cat_id and import_status
$sql = "UPDATE {$GLOBALS['xoopsDB']->prefix('xnewsletter_import')}";
- $sql .= " SET `import_cat_id`='{$cat_id}', `import_status`=1";
- $sql .= " WHERE `import_id`={$import_id}";
+ $sql .= " SET `import_cat_id` = '{$cat_id}', `import_status` = " . _XNEWSLETTER_IMPORT_STATUS_IMPORTABLE . "";
+ $sql .= " WHERE `import_id` = {$import_id}";
$result = $GLOBALS['xoopsDB']->queryF($sql);
}
-
- redirect_header("?op=exec_import_final&check_import=1&limitcheck={$limitcheck}", 0, '');
+ redirect_header("?op=exec_import_final&checkImport=1&checkLimit={$checkLimit}", 0, '');
break;
case 'exec_import_final':
- //execute final import of all data from xnewsletter_import, where import_status = true
+ //execute final import of all data from xnewsletter_import, where import_status = _XNEWSLETTER_IMPORT_STATUS_IMPORTABLE
//delete data from xnewsletter_import, when imported (successful or not)
$indexAdmin->addItemButton(_AM_XNEWSLETTER_IMPORT_PLUGINS_AVAIL, $currentFile, 'list');
echo $indexAdmin->renderButton();
//
- $ip = xoops_getenv('REMOTE_ADDR');
+ $ip = xoops_getenv('REMOTE_ADDR');
$submitter = $GLOBALS['xoopsUser']->uid();
-
+ //
+ $importCount = $xnewsletter->getHandler('import')->getCount();
$importCriteria = new CriteriaCompo();
- $importCriteria->add(new Criteria('import_status', true));
- $numrows_total = $xnewsletter->getHandler('import')->getCount();
- $numrows_act = $xnewsletter->getHandler('import')->getCount($importCriteria);
- if ($numrows_act > 0) {
+ $importCriteria->add(new Criteria('import_status', _XNEWSLETTER_IMPORT_STATUS_IMPORTABLE));
+ $importCheckedCount = $xnewsletter->getHandler('import')->getCount($importCriteria);
+ if ($importCheckedCount > 0) {
$sql = "SELECT *";
$sql .= " FROM {$GLOBALS['xoopsDB']->prefix('xnewsletter_import')}";
- $sql .= " WHERE ((import_status)=1)";
+ $sql .= " WHERE ((import_status) = " . _XNEWSLETTER_IMPORT_STATUS_IMPORTABLE . ")";
$sql .= " ORDER BY `import_id` ASC";
$counter = 0;
if (!$users_import = $GLOBALS['xoopsDB']->queryF($sql)) {
@@ -274,35 +253,42 @@
$status = str_replace("%e", $subscr_email, _AM_XNEWSLETTER_IMPORT_RESULT_SKIP);
$xnewsletter->getHandler('protocol')->protocol(0, 0, $status, _XNEWSLETTER_PROTOCOL_STATUS_SKIP_IMPORT, array('%subscr_email' => $subscr_email), true);
} else {
- //register email
+ // register email
if ($subscr_id == 0) {
$subscr_uid = 0;
$sql = "SELECT `uid`";
$sql .= " FROM {$GLOBALS['xoopsDB']->prefix('users')}";
- $sql .= " WHERE (`email`='{$subscr_email}') LIMIT 1";
+ $sql .= " WHERE (`email` = '{$subscr_email}') LIMIT 1";
if ($user = $GLOBALS['xoopsDB']->queryF($sql)) {
$row_user = mysql_fetch_array($user);
$subscr_uid = $row_user[0];
}
unset($row_user);
unset($user);
-
- $sql = "INSERT";
- $sql .= " INTO `{$GLOBALS['xoopsDB']->prefix('xnewsletter_subscr')}`";
- $sql .= " (`subscr_email`, `subscr_firstname`, `subscr_lastname`, `subscr_uid`, `subscr_sex`, `subscr_submitter`, `subscr_created`, `subscr_ip`, `subscr_activated`, `subscr_actoptions`)";
- $sql .= " VALUES ('{$subscr_email}', '{$subscr_firstname}', '{$subscr_lastname}', " . (int) $subscr_uid . ", '{$subscr_sex}', {$submitter}, " . time() . ",'{$ip}', 1, '')";
- if (!$GLOBALS['xoopsDB']->queryF($sql)) {
+ //
+ $subscrObj = $xnewsletter->getHandler('subscr')->create();
+ $subscrObj->setVar('subscr_email', $subscr_email);
+ $subscrObj->setVar('subscr_firstname', $subscr_firstname);
+ $subscrObj->setVar('subscr_lastname', $subscr_lastname);
+ $subscrObj->setVar('subscr_uid', (int) $subscr_uid);
+ $subscrObj->setVar('subscr_sex', $subscr_sex);
+ $subscrObj->setVar('subscr_submitter', $submitter);
+ $subscrObj->setVar('subscr_created', time());
+ $subscrObj->setVar('subscr_ip', $ip);
+ $subscrObj->setVar('subscr_activated', 1);
+ // add subscriber
+ if (!$xnewsletter->getHandler('subscr')->insert($subscrObj)) {
// IN PROGRESS
$status = str_replace("%e", $subscr_email, _AM_XNEWSLETTER_IMPORT_RESULT_FAILED);
$xnewsletter->getHandler('protocol')->protocol(0, 0, $status, _XNEWSLETTER_PROTOCOL_STATUS_ERROR_IMPORT, array('%subscr_email' => $subscr_email), false);
} else {
- //register email successful
+ // register email successful
$resulttext = $subscr_email . ': ' . _AM_XNEWSLETTER_IMPORT_RESULT_REG_OK . ' | ';
$subscr_id = $GLOBALS['xoopsDB']->getInsertId();
$subscribe = true;
}
} else {
- //email already registered
+ // email already registered
$resulttext = $subscr_email . ': ' . _AM_XNEWSLETTER_IMPORT_EMAIL_EXIST . ' | ';
$subscribe = true;
}
@@ -312,7 +298,7 @@
$sql = "INSERT";
$sql .= " INTO `{$GLOBALS['xoopsDB']->prefix('xnewsletter_catsubscr')}`";
$sql .= " (`catsubscr_catid`, `catsubscr_subscrid`, `catsubscr_submitter`, `catsubscr_created`)";
- $sql .= " VALUES ({$cat_id}, {$subscr_id}, {$submitter}," . time() . ")";
+ $sql .= " VALUES ({$cat_id}, {$subscr_id}, {$submitter}, " . time() . ")";
if ($GLOBALS['xoopsDB']->queryF($sql)) {
// IN PROGRESS
$status = $resulttext . _AM_XNEWSLETTER_IMPORT_RESULT_SUBSCR_OK;
@@ -320,8 +306,8 @@
//handle mailinglists
$cat_mailinglist = 0;
$sql = "SELECT `cat_mailinglist`";
- $sql .= " FROM {$GLOBALS['xoopsDB']->prefix("xnewsletter_cat")}";
- $sql .= " WHERE (`cat_id`={$cat_id}) LIMIT 1";
+ $sql .= " FROM {$GLOBALS['xoopsDB']->prefix('xnewsletter_cat')}";
+ $sql .= " WHERE (`cat_id` = {$cat_id}) LIMIT 1";
if ($cat_mls = $GLOBALS['xoopsDB']->queryF($sql)) {
$cat_ml = mysql_fetch_array($cat_mls);
$cat_mailinglist = $cat_ml[0];
@@ -347,39 +333,47 @@
}
}
}
- $sql_del = "DELETE";
- $sql_del .= " FROM {$GLOBALS['xoopsDB']->prefix('xnewsletter_import')}";
- $sql_del .= " WHERE `import_id`={$import_id}";
- $result = $GLOBALS['xoopsDB']->queryF($sql_del);
+ $sql_delete = "DELETE";
+ $sql_delete .= " FROM {$GLOBALS['xoopsDB']->prefix('xnewsletter_import')}";
+ $sql_delete .= " WHERE `import_id` = {$import_id}";
+ $result = $GLOBALS['xoopsDB']->queryF($sql_delete);
}
echo "<div style='margin-top:20px;margin-bottom:20px;color:#ff0000;font-weight:bold;font-size:14px'>";
- $resulttext = str_replace("%p", $numrows_act, _AM_XNEWSLETTER_IMPORT_FINISHED);
- $resulttext = str_replace("%t", $numrows_total, $resulttext);
+ $resulttext = str_replace("%p", $importCheckedCount, _AM_XNEWSLETTER_IMPORT_FINISHED);
+ $resulttext = str_replace("%t", $importCount, $resulttext);
echo XNEWSLETTER_IMG_OK . $resulttext;
echo "</div>";
- $numrows_pend = $xnewsletter->getHandler('xnewsletter_import')->getCount();
- if ($numrows_pend > 0) {
+ $importPendingCount = $xnewsletter->getHandler('import')->getCount();
+ if ($importPendingCount > 0) {
$form_continue = "<form id='form_continue' enctype='multipart/form-data' method='post' action='{$currentFile}' name='form_continue'>";
$form_continue .= "<input id='submit' class='formButton' type='submit' title='" . _AM_XNEWSLETTER_IMPORT_CONTINUE . "' value='" . _AM_XNEWSLETTER_IMPORT_CONTINUE . "' name='submit'>";
- $form_continue .= '<input id="limitcheck" type="hidden" value="' . $limitcheck . '" name="limitcheck">';
- if ($check_import == 1) {
+ $form_continue .= "<input type='hidden' id='checkLimit' name='checkLimit' value='{$checkLimit}'>";
+ if ($checkImport === 1) {
//show next form for check settings
- $form_continue .= '<input id="op" type="hidden" value="show_formcheck" name="op">';
+ $form_continue .= "<input type='hidden' id='op' name='op' value='show_formcheck'>";
} else {
- // set import_status = 1 for next package
- $sql_update = "UPDATE " . $GLOBALS['xoopsDB']->prefix("xnewsletter_import") . " SET `import_status`=1 ORDER BY import_id LIMIT " . $limitcheck;
+ // set import_status = _XNEWSLETTER_IMPORT_STATUS_IMPORTABLE for next package
+ $sql_update = "UPDATE {$GLOBALS['xoopsDB']->prefix('xnewsletter_import')}";
+ $sql_update .= " SET `import_status` = " . _XNEWSLETTER_IMPORT_STATUS_IMPORTABLE . "";
+ $sql_update .= " ORDER BY import_id LIMIT " . $checkLimit;
$GLOBALS['xoopsDB']->queryF($sql_update);
//execute import for the next package
- $form_continue .= '<input id="op" type="hidden" value="exec_import_final" name="op">';
+ $form_continue .= "<input type='hidden' id='op' name='op' value='exec_import_final' >";
}
- $form_continue .= '<input id="action_after_read" type="hidden" value="' . $action_after_read . '" name="action_after_read">';
- $form_continue .= '<input id="limitcheck" type="hidden" value="' . $limitcheck . '" name="limitcheck">';
- $form_continue .= '<input id="plugin" type="hidden" value="' . $plugin . '" name="plugin">';
- $form_continue .= '<input id="check_import" type="hidden" value="' . $check_import . '" name="check_import">';
+ $form_continue .= "<input type='hidden' id='checkSubscrsAfterRead' name='checkSubscrsAfterRead' value='{$checkSubscrsAfterRead}'>";
+ $form_continue .= "<input type='hidden' id='checkLimit' name='checkLimit' value='{$checkLimit}'>";
+ $form_continue .= "<input type='hidden' id='plugin' name='plugin' value='{$plugin}'>";
+ $form_continue .= "<input type='hidden' id='checkImport' name='checkImport' value='{$checkImport}' >";
$form_continue .= "</form>";
echo $form_continue;
+ } else {
+ $form_continue = "<form id='form_continue' enctype='multipart/form-data' method='post' action='{$currentFile}' name='form_continue'>";
+ $form_continue .= "<input id='submit' class='formButton' type='submit' title='" . _AM_XNEWSLETTER_IMPORT_END . "' value='" . _AM_XNEWSLETTER_IMPORT_END . "' name='submit'>";
+ $form_continue .= "<input type='hidden' id='op' name='op' value='default'>";
+ $form_continue .= "</form>";
+ echo $form_continue;
}
} else {
echo _AM_XNEWSLETTER_IMPORT_NODATA;
@@ -387,53 +381,51 @@
break;
case 'searchdata':
- //delete all existing data, import data into xnewsletter_import with plugin
- //set cat_id as preselected, update information about existing registration/subscriptions
- //if ($action_after_read==1) execute import else show form for check before executing import
+ // delete all existing import data
+ // import data into xnewsletter_import table with plugin
+ // set cat_id as preselected, update information about existing registration/subscriptions
+ // if ($checkSubscrsAfterRead === true) execute import else show form for check before executing import
+ // delete all existing data
+ $sql = "TRUNCATE TABLE " . $GLOBALS['xoopsDB']->prefix('xnewsletter_import');
+ $result = $GLOBALS['xoopsDB']->queryF($sql);
+ // check and load plugin
$pluginFile = XNEWSLETTER_ROOT_PATH . "/plugins/{$plugin}.php";
if (!file_exists($pluginFile)) {
echo str_replace("%p", $plugin, _AM_XNEWSLETTER_IMPORT_ERROR_NO_PLUGIN);
break;
}
require_once $pluginFile;
-
$function = 'xnewsletter_plugin_getdata_' . $plugin;
if (!function_exists($function)) {
echo "Error: require function 'xnewsletter_plugin_getdata_{$plugin}' doesn't exist";
echo str_replace("%f", $plugin, _AM_XNEWSLETTER_IMPORT_ERROR_NO_FUNCTION);
break;
}
-
- //delete all existing data
- $sql = "TRUNCATE TABLE " . $GLOBALS['xoopsDB']->prefix('xnewsletter_import');
- $result = $GLOBALS['xoopsDB']->queryF($sql);
-
//import data into xnewsletter_import with plugin
if ($plugin == 'csv') {
- $csv_file = $_FILES['csv_file']['tmp_name'];
- $csv_header = xnewsletterRequest::getInt('csv_header', 0);
- $csv_delimiter = xnewsletterRequest::getString('csv_delimiter', ',');
- //$numData = $function($cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist, $csv_file, $csv_delimiter, $csv_header);
- $numData = call_user_func($function, $cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist, $csv_file, $csv_delimiter, $csv_header);
+ $csv_file = $_FILES['csv_file']['tmp_name'];
+ $csvSkipHeader = xnewsletterRequest::getBool('csvSkipHeader', false);
+ $csvDelimiter = xnewsletterRequest::getString('csvDelimiter', ',');
+ //$numData = $function($cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist, $csv_file, $csvDelimiter, $csvSkipHeader);
+ $numData = call_user_func($function, $cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist, $csv_file, $csvDelimiter, $csvSkipHeader);
} else {
if ($plugin == 'xoopsuser') {
$arr_groups = $_POST['xoopsuser_group'];
- //$numData = $function($cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist, $arr_groups);
- $numData = call_user_func($function, $cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist, $arr_groups);
+ //$numData = $function($cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist, $arr_groups);
+ $numData = call_user_func($function, $cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist, $arr_groups);
} else {
- //$numData = $function($cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist);
- $numData = call_user_func($function, $cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist);
+ //$numData = $function($cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist);
+ $numData = call_user_func($function, $cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist);
}
}
-
if ($numData > 0) {
- if ($action_after_read == 0) {
+ if ($checkSubscrsAfterRead === false) {
//execute import without check
- redirect_header("{$currentFile}?op=exec_import_final&action_after_read=0&limitcheck={$limitcheck}", 0, '');
+ redirect_header("{$currentFile}?op=exec_import_final&checkSubscrsAfterRead=0&checkLimit={$checkLimit}", 3, '');
} else {
//show form for check before executing import
- redirect_header("{$currentFile}?op=show_formcheck&action_after_read=1&plugin={$plugin}&limitcheck={$limitcheck}", 0, '');
+ redirect_header("{$currentFile}?op=show_formcheck&checkSubscrsAfterRead=1&plugin={$plugin}&checkLimit={$checkLimit}", 3, '');
}
} else {
redirect_header($currentFile, 3, _AM_XNEWSLETTER_IMPORT_NODATA);
@@ -457,8 +449,8 @@
echo str_replace("%f", $plugin, _AM_XNEWSLETTER_IMPORT_ERROR_NO_FUNCTION);
break;
}
- //$form = $function( $cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist );
- $form = call_user_func($function, $cat_id, $action_after_read, $limitcheck, $skipcatsubscrexist);
+ //$form = $function( $cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist );
+ $form = call_user_func($function, $cat_id, $checkSubscrsAfterRead, $checkLimit, $skipcatsubscrexist);
$form->display();
break;
@@ -466,7 +458,7 @@
default:
//show basic search form
$importObj = $xnewsletter->getHandler('import')->create();
- $form = $importObj->getSearchForm($plugin, $action_after_read, $limitcheck);
+ $form = $importObj->getSearchForm($plugin, $checkSubscrsAfterRead, $checkLimit);
$form->display();
break;
}
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/index.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/index.php 2014-12-11 16:21:06 UTC (rev 12901)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/index.php 2014-12-13 13:16:18 UTC (rev 12902)
@@ -39,6 +39,7 @@
$letterCount = $xnewsletter->getHandler('letter')->getCount();
$protocolCount = $xnewsletter->getHandler('protocol')->getCount();
$attachmentCount = $xnewsletter->getHandler('attachment')->getCount();
+$templateCount = $xnewsletter->getHandler('template')->getCount();
if ($xnewsletter->getConfig('xn_use_mailinglist') == true) {
$mailinglistCount = $xnewsletter->getHandler('mailinglist')->getCount();
}
@@ -60,6 +61,7 @@
$indexAdmin->addInfoBoxLine(_AM_XNEWSLETTER_LETTER, _AM_XNEWSLETTER_THEREARE_SUBSCR, $subscrCount, ($subscrCount == 0) ? _RED : _GREEN);
$indexAdmin->addInfoBoxLine(_AM_XNEWSLETTER_LETTER, _AM_XNEWSLETTER_THEREARE_CATSUBSCR, $catsubscrCount, ($catsubscrCount == 0) ? _RED : _GREEN);
$indexAdmin->addInfoBoxLine(_AM_XNEWSLETTER_LETTER, _AM_XNEWSLETTER_THEREARE_LETTER, $letterCount, ($letterCount == 0) ? _RED : _GREEN);
+$indexAdmin->addInfoBoxLine(_AM_XNEWSLETTER_LETTER, _AM_XNEWSLETTER_THEREARE_TEMPLATE, $templateCount, ($templateCount == 0) ? _RED : _GREEN);
$indexAdmin->addInfoBoxLine(_AM_XNEWSLETTER_LETTER, _AM_XNEWSLETTER_THEREARE_ATTACHMENT, $attachmentCount, ($attachmentCount == 0) ? _RED : _GREEN);
$indexAdmin->addInfoBoxLine(_AM_XNEWSLETTER_LETTER, _AM_XNEWSLETTER_THEREARE_PROTOCOL, $protocolCount, ($protocolCount == 0) ? _RED : _GREEN);
if ($xnewsletter->getConfig('xn_use_mailinglist') == true) {
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php 2014-12-11 16:21:06 UTC (rev 12901)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/letter.php 2014-12-13 13:16:18 UTC (rev 12902)
@@ -55,6 +55,7 @@
$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('letter_id', $letter_id); // new from v1.3
$letterTpl->assign('title', $letterObj->getVar('letter_title', 'n')); // new from v1.3
$letterTpl->assign('content', $letterObj->getVar('letter_content', 'n'));
// letter attachments as link
@@ -92,10 +93,10 @@
echo "<h2>{$letterObj->getVar("letter_title")}</h2>";
echo "<div style='clear:both'>";
- echo "<div style='padding:10px;border:1px solid black'>";
+ echo "<div style='padding:0px; margin:0px; border:none;'>";
echo $htmlBody;
echo "</div>";
- echo "<div style='padding:10px;border:1px solid black; font-family: monospace;'>";
+ echo "<div style='padding:10px; margin:0px; border:1px solid black; font-family: monospace;'>";
echo nl2br(utf8_encode($textBody));
echo "</div>";
echo "</div>";
@@ -116,6 +117,7 @@
$letterCriteria->setSort('letter_id');
$letterCriteria->setOrder('DESC');
$letterCount = $xnewsletter->getHandler('letter')->getCount();
+ $GLOBALS['xoopsTpl']->assign('letterCount', $letterCount);
if ($letterCount > 0) {
$limit = $xnewsletter->getConfig('adminperpage');
$start = xnewsletterRequest::getInt('start', 0);
@@ -140,9 +142,10 @@
$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);
- $cat = $catObj->toArray();
- $letter['letter_cats']['letter_cat_id'] = $cat;
+ if ($catObj = $xnewsletter->getHandler('cat')->get($letter_cat_id)) {
+ $cat = $catObj->toArray();
+ $letter['letter_cats']['letter_cat_id'] = $cat;
+ }
}
//
$letter['letter_submitter_uname'] = XoopsUser::getUnameFromId($letter['letter_submitter'], 's');
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/menu.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/menu.php 2014-12-11 16:21:06 UTC (rev 12901)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/menu.php 2014-12-13 13:16:18 UTC (rev 12902)
@@ -64,18 +64,18 @@
$adminmenu[$i]['title'] = _MI_XNEWSLETTER_ADMENU8;
$adminmenu[$i]['link'] = 'admin/protocol.php';
$adminmenu[$i]['icon'] = $pathImageAdmin . '/xn_protocol.png';
+if ($xnewsletter->getConfig('xn_send_in_packages') > 0) {
+ ++$i;
+ $adminmenu[$i]['title'] = _MI_XNEWSLETTER_ADMENU13;
+ $adminmenu[$i]['link'] = 'admin/task.php';
+ $adminmenu[$i]['icon'] = $pathImageAdmin . '/xn_task.png';
+}
if ($xnewsletter->getConfig('xn_use_mailinglist') == 1) {
++$i;
$adminmenu[$i]['title'] = _MI_XNEWSLETTER_ADMENU9;
$adminmenu[$i]['link'] = 'admin/mailinglist.php';
$adminmenu[$i]['icon'] = $pathImageAdmin . '/xn_mailinglist.png';
}
-if ($xnewsletter->getConfig('xn_send_in_packages') > 0) {
- ++$i;
- $adminmenu[$i]['title'] = _MI_XNEWSLETTER_ADMENU13;
- $adminmenu[$i]['link'] = 'admin/task.php';
- $adminmenu[$i]['icon'] = $pathImageAdmin . '/xn_task.png';
-}
++$i;
$adminmenu[$i]['title'] = _MI_XNEWSLETTER_ADMENU10;
$adminmenu[$i]['link'] = 'admin/bmh.php';
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/protocol.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/protocol.php 2014-12-11 16:21:06 UTC (rev 12901)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/protocol.php 2014-12-13 13:16:18 UTC (rev 12902)
@@ -29,202 +29,190 @@
$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');
-
-$protocolAdmin = new ModuleAdmin();
-$letterAdmin = new ModuleAdmin();
-
+$op = xnewsletterRequest::getString('op', 'list_protocols');
switch ($op) {
case 'list':
case 'list_protocols':
- echo $letterAdmin->addNavigation($currentFile);
+ default:
+ $apply_filter = xnewsletterRequest::getBool('apply_filter', false);
+ // render start here
+ xoops_cp_header();
+ // render submenu
+ $protocolAdmin = new ModuleAdmin();
+ echo $protocolAdmin->addNavigation($currentFile);
+ if ($apply_filter == true) {
+ $protocolAdmin->addItemButton(_AM_XNEWSLETTER_PROTOCOL_SHOW_ALL, '?op=list_protocols', 'view_detailed');
+ }
+ $protocolCount = $xnewsletter->getHandler('protocol')->getCount();
+ if ($protocolCount > 0) {
+ $protocolAdmin->addItemButton(_AM_XNEWSLETTER_PROTOCOL_DELETE_ALL, '?op=delete_protocols', 'delete');
+ }
+ echo $protocolAdmin->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')->getAll($letterCriteria);
- if ($letterCount > $limit) {
- include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
- $pagenav = new XoopsPageNav($letterCount, $limit, $start, 'start', 'op=list');
- $pagenav = $pagenav->renderNav(4);
- } else {
- $pagenav = '';
- }
-
- // View Table
- echo "
- <table class='outer width100' cellspacing='1'>
- <tr>
- <th>" . _AM_XNEWSLETTER_LETTER_ID . "</th>
- <th>" . _AM_XNEWSLETTER_LETTER_TITLE . "</th>
- <th>" . _AM_XNEWSLETTER_PROTOCOL_LAST_STATUS . "</th>
- <th>" . _AM_XNEWSLETTER_PROTOCOL_CREATED . "</th>
- <th>" . _AM_XNEWSLETTER_FORMACTION . "</th>
- </tr>";
- if ($letterCount > 0) {
- $class = 'odd';
- //first show misc protocol items
- echo "<tr class='{$class}'>";
- $class = ($class == 'even') ? 'odd' : 'even';
- echo "<td> - </td>";
- echo "<td>" . _AM_XNEWSLETTER_PROTOCOL_MISC . "</td>";
-
+ $protocolCount = $xnewsletter->getHandler('protocol')->getCount();
+ $GLOBALS['xoopsTpl']->assign('protocolCount', $protocolCount);
+ if ($protocolCount > 0) {
$protocolCriteria = new CriteriaCompo();
- $protocolCriteria->add(new Criteria('protocol_letter_id', '0'));
- $protocolCriteria->setSort('protocol_id');
+ // get filter parameters
+ $filter_protocol_letter_ids = xnewsletterRequest::getArray('filter_protocol_letter_ids', array());
+ //
+ $filter_protocol_success = xnewsletterRequest::getInt('filter_protocol_success', 2); // all
+ //
+ if (isset($_REQUEST['filter_protocol_created_from']['date'])) {
+ $dateTimeObj = DateTime::createFromFormat(_SHORTDATESTRING, $_REQUEST['filter_protocol_created_from']['date']);
+ $dateTimeObj->setTime(0, 0, 0);
+ $filter_protocol_created_from = (int) ($dateTimeObj->getTimestamp() + $_REQUEST['filter_protocol_created_from']['time']);
+ unset($dateTimeObj);
+ } elseif (isset($_REQUEST['filter_protocol_created_from'])) {
+ $filter_protocol_created_from = $_REQUEST['filter_protocol_created_from'];
+ } else {
+ $filter_protocol_created_from = 3600;
+ }
+ if (isset($_REQUEST['filter_protocol_created_to']['date'])) {
+ $dateTimeObj = DateTime::createFromFormat(_SHORTDATESTRING, $_REQUEST['filter_protocol_created_to']['date']);
+ $dateTimeObj->setTime(0, 0, 0);
+ $filter_protocol_created_to = (int) ($dateTimeObj->getTimestamp() + $_REQUEST['filter_protocol_created_to']['time']);
+ unset($dateTimeObj);
+ } elseif (isset($_REQUEST['filter_protocol_created_to'])) {
+ $filter_protocol_created_to = $_REQUEST['filter_protocol_created_to'];
+ } else {
+ $filter_protocol_created_to = time();
+ }
+ if ($apply_filter == true) {
+ // apply filter
+ if (count($filter_protocol_letter_ids) > 0) {
+ $protocolCriteria->add(new Criteria('protocol_letter_id', '(' . implode(',', $filter_protocol_letter_ids) . ')', 'IN'));
+ }
+ //
+ if ($filter_protocol_success == 0 or $filter_protocol_success == 1) {
+ $protocolCriteria->add(new Criteria('protocol_success', $filter_protocol_success));
+ }
+ //
+ if ($filter_protocol_created_from != 0) {
+ $protocolCriteria->add(new Criteria('protocol_created', $filter_protocol_created_from, '>='));
+ }
+ if ($filter_protocol_created_to != 0) {
+ $protocolCriteria->add(new Criteria('p...
[truncated message content] |