[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
Zen Cart 源代码 newsletters.php

Zen Cart 源代码 newsletters.php




下载文件

文件名: newsletters.php
文件类型: PHP文件
文件大小: 23.3 KiB
MD5: f1f6b8c641e9b939e9c7dfba5c3c2f0e

newsletters.php - 关闭高亮
  1. <?php
  2. /**
  3.  * @package admin
  4.  * @copyright Copyright 2003-2006 Zen Cart Development Team
  5.  * @copyright Portions Copyright 2003 osCommerce
  6.  * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
  7.  * @version $Id: newsletters.php 6026 2007-03-21 09:07:00Z drbyte $
  8.  */
  9.  
  10.   require('includes/application_top.php');
  11.  
  12.   $action = (isset($_GET['action']) ? $_GET['action'] : '');
  13.  
  14.   if (zen_not_null($action)) {
  15.  
  16.     switch ($action) {
  17.       case 'set_editor':
  18.         // Reset will be done by init_html_editor.php. Now we simply redirect to refresh page properly.
  19.         $action='';
  20.         zen_redirect(zen_href_link(FILENAME_NEWSLETTERS, (isset($_GET['page']) ? 'page=' . $_GET['page'] . '&' : '') . 'nID=' . $newsletter_id));
  21.         break;
  22.       case 'insert':
  23.       case 'update':
  24.         if (isset($_POST['newsletter_id'])) $newsletter_id = zen_db_prepare_input($_POST['newsletter_id']);
  25.         $newsletter_module = zen_db_prepare_input($_POST['module']);
  26.         $title = zen_db_prepare_input($_POST['title']);
  27.         $content = zen_db_prepare_input($_POST['content']);
  28.         $content_html = zen_db_prepare_input($_POST['message_html']);
  29.  
  30.         $newsletter_error = false;
  31.         if (empty($title)) {
  32.           $messageStack->add(ERROR_NEWSLETTER_TITLE, 'error');
  33.           $newsletter_error = true;
  34.         }
  35.  
  36.         if (empty($newsletter_module)) {
  37.           $messageStack->add(ERROR_NEWSLETTER_MODULE, 'error');
  38.           $newsletter_error = true;
  39.         }
  40.  
  41.         if ($newsletter_error == false) {
  42.           $sql_data_array = array('title' => $title,
  43.                                   'content' => $content,
  44.                                   'content_html' => $content_html,
  45.                                   'module' => $newsletter_module);
  46.  
  47.           if ($action == 'insert') {
  48.             $sql_data_array['date_added'] = 'now()';
  49.             $sql_data_array['status'] = '0';
  50.  
  51.             zen_db_perform(TABLE_NEWSLETTERS, $sql_data_array);
  52.             $newsletter_id = zen_db_insert_id();
  53.           } elseif ($action == 'update') {
  54.             zen_db_perform(TABLE_NEWSLETTERS, $sql_data_array, 'update', "newsletters_id = '" . (int)$newsletter_id . "'");
  55.           }
  56.  
  57.           zen_redirect(zen_href_link(FILENAME_NEWSLETTERS, (isset($_GET['page']) ? 'page=' . $_GET['page'] . '&' : '') . 'nID=' . $newsletter_id));
  58.         } else {
  59.           $action = 'new';
  60.         }
  61.         break;
  62.       case 'deleteconfirm':
  63.         $newsletter_id = zen_db_prepare_input($_GET['nID']);
  64.  
  65.         $db->Execute("delete from " . TABLE_NEWSLETTERS . "
  66.                      where newsletters_id = '" . (int)$newsletter_id . "'");
  67.  
  68.         zen_redirect(zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page']));
  69.         break;
  70.       case 'delete':
  71.       case 'new': if (!isset($_GET['nID'])) break;
  72.       case 'send':
  73.         // demo active test
  74.         if (zen_admin_demo()) {
  75.           $_GET['action']= '';
  76.           $messageStack->add_session(ERROR_ADMIN_DEMO, 'caution');
  77.           zen_redirect(zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $_GET['nID']));
  78.         }
  79.     }
  80.   }
  81.  
  82.   if ($_GET['mail_sent_to']) {
  83.     $messageStack->add(sprintf(NOTICE_EMAIL_SENT_TO, $_GET['mail_sent_to']), 'success');
  84.   }
  85. ?>
  86. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  87. <html <?php echo HTML_PARAMS; ?>>
  88. <head>
  89. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  90. <title><?php echo TITLE; ?></title>
  91. <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
  92. <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
  93. <script language="javascript" src="includes/menu.js"></script>
  94. <script language="javascript" src="includes/general.js"></script>
  95. <script type="text/javascript">
  96.   <!--
  97.   function init()
  98.   {
  99.     cssjsmenu('navbar');
  100.     if (document.getElementById)
  101.     {
  102.       var kill = document.getElementById('hoverJS');
  103.       kill.disabled = true;
  104.     }
  105.   if (typeof _editor_url == "string") HTMLArea.replace('message_html');
  106.   }
  107.   // -->
  108. </script>
  109. <script language="javascript" type="text/javascript"><!--
  110. var form = "";
  111. var submitted = false;
  112. var error = false;
  113. var error_message = "";
  114.  
  115. function check_select(field_name, field_default, message) {
  116.   if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
  117.     var field_value = form.elements[field_name].value;
  118.  
  119.     if (field_value == field_default) {
  120.       error_message = error_message + "* " + message + "\n";
  121.       error = true;
  122.     }
  123.   }
  124. }
  125. function check_message(msg) {
  126.   if (form.elements['content'] && form.elements['message_html']) {
  127.     var field_value1 = form.elements['content'].value;
  128.     var field_value2 = form.elements['message_html'].value;
  129.  
  130.     if ((field_value1 == '' || field_value1.length < 3) && (field_value2 == '' || field_value2.length < 3)) {
  131.       error_message = error_message + "* " + msg + "\n";
  132.       error = true;
  133.     }
  134.   }
  135. }
  136. function check_form(form_name) {
  137.   if (submitted == true) {
  138.     alert("<?php echo JS_ERROR_SUBMITTED; ?>");
  139.     return false;
  140.   }
  141.   error = false;
  142.   form = form_name;
  143.   error_message = "<?php echo JS_ERROR; ?>";
  144.  
  145. //  check_message("<?php echo ENTRY_NOTHING_TO_SEND; ?>");
  146. check_select('audience_selected','',"<?php echo ERROR_PLEASE_SELECT_AUDIENCE; ?>");
  147.   if (error == true) {
  148.     alert(error_message);
  149.     return false;
  150.   } else {
  151.     submitted = true;
  152.     return true;
  153.   }
  154. }
  155. //--></script>
  156. <?php if ($editor_handler != '') include ($editor_handler); ?>
  157. </head>
  158. <body onLoad="init()">
  159. <div id="spiffycalendar" class="text"></div>
  160. <!-- header //-->
  161. <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
  162. <!-- header_eof //-->
  163.  
  164. <!-- body //-->
  165. <table border="0" width="100%" cellspacing="2" cellpadding="2">
  166.   <tr>
  167. <!-- body_text //-->
  168.     <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
  169.       <tr>
  170.         <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
  171.           <tr>
  172.             <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
  173.             <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
  174. <?php
  175.       if (!in_array($action, array('send','confirm','confirm_send', ''))) {
  176. // toggle switch for editor
  177.         echo TEXT_EDITOR_INFO . zen_draw_form('set_editor_form', FILENAME_NEWSLETTERS, '', 'get') . '&nbsp;&nbsp;' . zen_draw_pull_down_menu('reset_editor', $editors_pulldown, $current_editor_key, 'onChange="this.form.submit();"') .
  178.         zen_hide_session_id() .
  179.         zen_draw_hidden_field('action', 'set_editor') .
  180.         '</form>';
  181.       }
  182. ?>
  183.           </tr>
  184.         </table></td>
  185.       </tr>
  186. <?php
  187.   if ($action == 'new') {
  188.     $form_action = 'insert';
  189.  
  190.     $parameters = array('title' => '',
  191.                         'content' => '',
  192.                         'content_html' => '',
  193.                         'module' => '');
  194.  
  195.     $nInfo = new objectInfo($parameters);
  196.  
  197.     if (isset($_GET['nID'])) {
  198.       $form_action = 'update';
  199.  
  200.       $nID = zen_db_prepare_input($_GET['nID']);
  201.  
  202.  
  203.       $newsletter = $db->Execute("select title, content, content_html, module
  204.                                  from " . TABLE_NEWSLETTERS . "
  205.                                  where newsletters_id = '" . (int)$nID . "'");
  206.  
  207.       $nInfo->objectInfo($newsletter->fields);
  208.     } elseif ($_POST) {
  209.       $nInfo->objectInfo($_POST);
  210.     }
  211.  
  212.     $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.'));
  213.     $directory_array = array();
  214.     if ($dir = dir(DIR_WS_MODULES . 'newsletters/')) {
  215.       while ($file = $dir->read()) {
  216.         if (!is_dir(DIR_WS_MODULES . 'newsletters/' . $file)) {
  217.           if (substr($file, strrpos($file, '.')) == $file_extension) {
  218.             $directory_array[] = $file;
  219.           }
  220.         }
  221.       }
  222.       sort($directory_array);
  223.       $dir->close();
  224.     }
  225.  
  226.     for ($i=0, $n=sizeof($directory_array); $i<$n; $i++) {
  227.       $modules_array[] = array('id' => substr($directory_array[$i], 0, strrpos($directory_array[$i], '.')), 'text' => substr($directory_array[$i], 0, strrpos($directory_array[$i], '.')));
  228.     }
  229. ?>
  230.       <tr>
  231.         <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  232.       </tr>
  233.       <tr><?php echo zen_draw_form('newsletter', FILENAME_NEWSLETTERS, (isset($_GET['page']) ? 'page=' . $_GET['page'] . '&' : '') . 'action=' . $form_action,'post', 'onsubmit="return check_form(newsletter);"'); if ($form_action == 'update') echo zen_draw_hidden_field('newsletter_id', $nID); ?>
  234.  
  235.         <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
  236.           <tr>
  237.             <td class="main"><?php echo TEXT_NEWSLETTER_MODULE; ?></td>
  238.             <td class="main"><?php echo zen_draw_pull_down_menu('module', $modules_array, $nInfo->module); ?></td>
  239.           </tr>
  240.           <tr>
  241.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  242.           </tr>
  243.           <tr>
  244.             <td class="main"><?php echo TEXT_NEWSLETTER_TITLE; ?></td>
  245.             <td class="main"><?php echo zen_draw_input_field('title', $nInfo->title, 'size="50"', true); ?></td>
  246.           </tr>
  247.           <tr>
  248.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  249.           </tr>
  250.           <tr>
  251.             <td class="main" valign="top"><?php echo TEXT_NEWSLETTER_CONTENT_HTML; ?></td>
  252.             <td class="main">
  253.         <?php if ($_SESSION['html_editor_preference_status']=="FCKEDITOR") {
  254.                 $oFCKeditor = new FCKeditor('message_html') ;
  255.                 $oFCKeditor->Value = $nInfo->content_html ;
  256.                 $oFCKeditor->Width  = '97%' ;
  257.                 $oFCKeditor->Height = '350' ;
  258. //                $oFCKeditor->Create() ;
  259.                 $output = $oFCKeditor->CreateHtml() ; echo $output;
  260.           } else { // using HTMLAREA or just raw "source"
  261.               echo zen_draw_textarea_field('message_html', 'soft', '100%', '30', $nInfo->content_html,'id="message_html" class="editorHook"');
  262.           } ?>
  263.           </td>
  264.           </tr>
  265.           <tr>
  266.             <td class="main" valign="top"><?php echo TEXT_NEWSLETTER_CONTENT; ?></td>
  267.             <td class="main"><?php echo zen_draw_textarea_field('content', 'soft', '100%', '20', $nInfo->content, 'class="noEditor"'); ?></td>
  268.           </tr>
  269.         </table></td>
  270.       </tr>
  271.       <tr>
  272.         <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  273.       </tr>
  274.       <tr>
  275.         <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
  276.           <tr>
  277.             <td class="main" align="right"><?php echo (($form_action == 'insert') ? zen_image_submit('button_save.gif', IMAGE_SAVE) : zen_image_submit('button_update.gif', IMAGE_UPDATE)). '&nbsp;&nbsp;<a href="' . zen_href_link(FILENAME_NEWSLETTERS, (isset($_GET['page']) ? 'page=' . $_GET['page'] . '&' : '') . (isset($_GET['nID']) ? 'nID=' . $_GET['nID'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>
  278.           </tr>
  279.         </table></td>
  280.       </form></tr>
  281. <?php
  282.   } elseif ($action == 'preview') {
  283.     $nID = zen_db_prepare_input($_GET['nID']);
  284.  
  285.     $newsletter = $db->Execute("select title, content, content_html, module
  286.                                from " . TABLE_NEWSLETTERS . "
  287.                                where newsletters_id = '" . (int)$nID . "'");
  288.  
  289.     $nInfo = new objectInfo($newsletter->fields);
  290. ?>
  291.       <tr>
  292.         <td align="right"><?php echo '<a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $_GET['nID']) . '">' . zen_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
  293.       </tr>
  294.       <tr>
  295.         <td width="500"><hr /><strong><?php echo strip_tags(TEXT_NEWSLETTER_CONTENT_HTML); ?></strong><br /><?php echo nl2br($nInfo->content_html); ?></td>
  296.       </tr>
  297.       <tr>
  298.         <td width="500"><hr /><strong><?php echo strip_tags(TEXT_NEWSLETTER_CONTENT); ?></strong><br /><tt><?php echo nl2br($nInfo->content); ?></tt><hr /></td>
  299.       </tr>
  300.       <tr>
  301.         <td align="right"><?php echo '<a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $_GET['nID']) . '">' . zen_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
  302.       </tr>
  303. <?php
  304.   } elseif ($action == 'send') {
  305.     $nID = zen_db_prepare_input($_GET['nID']);
  306.  
  307.     $newsletter = $db->Execute("select title, content, content_html, module
  308.                                from " . TABLE_NEWSLETTERS . "
  309.                                where newsletters_id = '" . (int)$nID . "'");
  310.  
  311.     $nInfo = new objectInfo($newsletter->fields);
  312.  
  313.     include(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.')));
  314.     include(DIR_WS_MODULES . 'newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.')));
  315.     $module_name = $nInfo->module;
  316.     $module = new $module_name($nInfo->title, $nInfo->content, $nInfo->content_html);
  317. ?>
  318.       <tr>
  319.         <td><?php if ($module->show_choose_audience) { echo $module->choose_audience(); } else { echo $module->confirm(); } ?></td>
  320.       </tr>
  321. <?php
  322.   } elseif ($action == 'confirm') { // show count of customers to receive messages, and preview of contents.
  323.     $nID = zen_db_prepare_input($_GET['nID']);
  324.  
  325.     $newsletter = $db->Execute("select title, content, content_html, module
  326.                                from " . TABLE_NEWSLETTERS . "
  327.                                where newsletters_id = '" . (int)$nID . "'");
  328.  
  329.     $nInfo = new objectInfo($newsletter->fields);
  330.  
  331.     include(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.')));
  332.     include(DIR_WS_MODULES . 'newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.')));
  333.     $module_name = $nInfo->module;
  334.     $module = new $module_name($nInfo->title, $nInfo->content, $nInfo->content_html);
  335. ?>
  336.       <tr>
  337.         <td><?php echo $module->confirm(); ?></td>
  338.       </tr>
  339. <?php
  340.   } elseif ($action == 'confirm_send') { // confirmed, now go ahead and send the messages
  341.     $nID = zen_db_prepare_input($_GET['nID']);
  342.  
  343.     $newsletter = $db->Execute("select newsletters_id, title, content, content_html, module
  344.                                from " . TABLE_NEWSLETTERS . "
  345.                                where newsletters_id = '" . (int)$nID . "'");
  346.  
  347.     $nInfo = new objectInfo($newsletter->fields);
  348.  
  349.     include(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.')));
  350.     include(DIR_WS_MODULES . 'newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.')));
  351.     $module_name = $nInfo->module;
  352.     $module = new $module_name($nInfo->title, $nInfo->content, $nInfo->content_html, $_POST['audience_selected']);
  353. ?>
  354.       <tr>
  355.         <td><table border="0" cellspacing="0" cellpadding="2">
  356.           <tr>
  357.             <td class="main" valign="middle"><b><?php echo TEXT_PLEASE_WAIT; ?></b>
  358. <?php
  359.   zen_set_time_limit(600);
  360.   flush();
  361.   $i = $module->send($nInfo->newsletters_id);
  362. ?>
  363.       </td>
  364.           </tr>
  365.         </table></td>
  366.       </tr>
  367.       <tr>
  368.         <td><?php echo zen_draw_separator('pixel_trans.gif', '15', '10'); ?></td>
  369.       </tr>
  370.       <tr>
  371.         <td class="main"><font color="#ff0000"><b><h1><?php echo TEXT_FINISHED_SENDING_EMAILS; ?></h1></b></font></td>
  372.       </tr>
  373.       <tr>
  374.         <td class="main"><font color="#ff0000"><?php echo sprintf(TEXT_AFTER_EMAIL_INSTRUCTIONS,$i); ?></font></td>
  375.       </tr>
  376.       <tr>
  377.         <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  378.       </tr>
  379.       <tr>
  380.         <td align="center"><?php echo '<a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $_GET['nID']) . '">' . zen_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
  381.       </tr>
  382. <?php
  383.   } else {
  384. ?>
  385.       <tr>
  386.         <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
  387.           <tr>
  388.             <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  389.               <tr class="dataTableHeadingRow">
  390.                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_NEWSLETTERS; ?></td>
  391.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_SIZE; ?></td>
  392.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_MODULE; ?></td>
  393.                 <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_SENT; ?></td>
  394.                 <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td>
  395.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
  396.               </tr>
  397. <?php
  398.     $newsletters_query_raw = "select newsletters_id, title, length(content) as content_length, length(content_html) as content_html_length, module, date_added, date_sent, status from " . TABLE_NEWSLETTERS . " order by date_added desc";
  399.     $newsletters_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $newsletters_query_raw, $newsletters_query_numrows);
  400.     $newsletters = $db->Execute($newsletters_query_raw);
  401.     while (!$newsletters->EOF) {
  402.     if ((!isset($_GET['nID']) || (isset($_GET['nID']) && ($_GET['nID'] == $newsletters->fields['newsletters_id']))) && !isset($nInfo) && (substr($action, 0, 3) != 'new')) {
  403.         $nInfo = new objectInfo($newsletters->fields);
  404.       }
  405.  
  406.       if (isset($nInfo) && is_object($nInfo) && ($newsletters->fields['newsletters_id'] == $nInfo->newsletters_id) ) {
  407.         echo '                  <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $nInfo->newsletters_id . '&action=preview') . '\'">' . "\n";
  408.       } else {
  409.         echo '                  <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $newsletters->fields['newsletters_id']) . '\'">' . "\n";
  410.       }
  411. ?>
  412.                 <td class="dataTableContent"><?php echo '<a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $newsletters->fields['newsletters_id'] . '&action=preview') . '">' . zen_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a>&nbsp;' . $newsletters->fields['title']; ?></td>
  413.                 <td class="dataTableContent" align="right"><?php echo number_format($newsletters->fields['content_length']+$newsletters->fields['content_html_length']) . ' bytes'; ?></td>
  414.                 <td class="dataTableContent" align="right"><?php echo $newsletters->fields['module']; ?></td>
  415.                 <td class="dataTableContent" align="center"><?php if ($newsletters->fields['status'] == '1') { echo zen_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK); } else { echo zen_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS); } ?></td>
  416.                 <td class="dataTableContent" align="center">&nbsp;</td>
  417.                 <td class="dataTableContent" align="right"><?php if (isset($nInfo) && is_object($nInfo) && ($newsletters->fields['newsletters_id'] == $nInfo->newsletters_id) ) { echo zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); }
  418.                                   else { echo '<a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $newsletters->fields['newsletters_id']) . '">' . zen_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
  419.               </tr>
  420. <?php
  421.       $newsletters->MoveNext();
  422.     }
  423. ?>
  424.               <tr>
  425.                 <td colspan="6"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  426.                   <tr>
  427.                     <td class="smallText" valign="top"><?php echo $newsletters_split->display_count($newsletters_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_NEWSLETTERS); ?></td>
  428.                     <td class="smallText" align="right"><?php echo $newsletters_split->display_links($newsletters_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?></td>
  429.                   </tr>
  430.                   <tr>
  431.                     <td align="right" colspan="2"><?php echo '<a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'action=new') . '">' . zen_image_button('button_new_newsletter.gif', IMAGE_NEW_NEWSLETTER) . '</a>'; ?></td>
  432.                   </tr>
  433.                 </table></td>
  434.               </tr>
  435.             </table></td>
  436. <?php
  437.   $heading = array();
  438.   $contents = array();
  439.  
  440.   switch ($action) {
  441.     case 'delete':
  442.       $heading[] = array('text' => '<b>' . $nInfo->title . '</b>');
  443.  
  444.       $contents = array('form' => zen_draw_form('newsletters', FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $nInfo->newsletters_id . '&action=deleteconfirm'));
  445.       $contents[] = array('text' => TEXT_INFO_DELETE_INTRO);
  446.       $contents[] = array('text' => '<br /><b>' . $nInfo->title . '</b>');
  447.       $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $_GET['nID']) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  448.       break;
  449.     default:
  450.       if (is_object($nInfo)) {
  451.         $heading[] = array('text' => '<b>' . $nInfo->title . '</b>');
  452.  
  453.         $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $nInfo->newsletters_id . '&action=new') . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $nInfo->newsletters_id . '&action=delete') . '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $nInfo->newsletters_id . '&action=preview') . '">' . zen_image_button('button_preview.gif', IMAGE_PREVIEW) . '</a> <a href="' . zen_href_link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $nInfo->newsletters_id . '&action=send') . '">' . zen_image_button('button_send.gif', IMAGE_SEND) . '</a>');
  454.  
  455.         $contents[] = array('text' => '<br />' . TEXT_NEWSLETTER_DATE_ADDED . ' ' . zen_date_short($nInfo->date_added));
  456.         if ($nInfo->status == '1') $contents[] = array('text' => TEXT_NEWSLETTER_DATE_SENT . ' ' . zen_date_short($nInfo->date_sent));
  457.       }
  458.       break;
  459.   }
  460.  
  461.   if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) {
  462.     echo '            <td width="25%" valign="top">' . "\n";
  463.  
  464.     $box = new box;
  465.     echo $box->infoBox($heading, $contents);
  466.  
  467.     echo '            </td>' . "\n";
  468.   }
  469. ?>
  470.           </tr>
  471.         </table></td>
  472.       </tr>
  473. <?php
  474.   }
  475. ?>
  476.     </table></td>
  477. <!-- body_text_eof //-->
  478.   </tr>
  479. </table>
  480. <!-- body_eof //-->
  481.  
  482. <!-- footer //-->
  483. <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
  484. <!-- footer_eof //-->
  485. <br />
  486. </body>
  487. </html>
  488. <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>


cron