<?php // // +----------------------------------------------------------------------+ // |zen-cart Open Source E-commerce | // +----------------------------------------------------------------------+ // | Copyright (c) 2003 The zen-cart developers | // | | // | http://www.zen-cart.com/index.php | // | | // | Portions Copyright (c) 2003 osCommerce | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the GPL license, | // | that is bundled with this package in the file LICENSE, and is | // | available through the world-wide-web at the following url: | // | http://www.zen-cart.com/license/2_0.txt. | // | If you did not receive a copy of the zen-cart license and are unable | // | to obtain it through the world-wide-web, please send a note to | // | license@zen-cart.com so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // $Id: subscription_manager.php,v 1.1 2006/06/16 01:46:12 Owner Exp $ // require('includes/application_top.php'); $action = (isset($_GET['action']) ? $_GET['action'] : ''); $current_ns_version = 205; if(($action=='install') || ($action=='update_contrib')) { install_newsonly_subscriptions(); zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER)); } if($action=='remove_confirmed') { remove_newsonly_subscriptions(); zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER)); } // this can be called by typing action in address bar if needed. if($action=='transfer_subscriptions') { transfer_subscriptions(); zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER)); } if($action=='import_file') { list($imported,$error) = import_subscriptions($_POST['record_delim'], $_POST['field_encl'], $_POST['record_sample'], $_POST['default_format'], $_POST['record_header']); if(!empty($error)) { $action='import'; $messageStack->add($error, 'warning'); } elseif(!empty($imported)) { zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'imported='.$imported)); } } if(!defined('NEWSONLY_SUBSCRIPTION_ENABLED') ) { $error = true; $messageStack->add(NEWSONLY_SUBSCRIPTION_NOT_INSTALLED, 'install'); } else { if(NEWSONLY_SUBSCRIPTION_ENABLED == 'false'){ $error = true; $messageStack->add(NEWSONLY_SUBSCRIPTION_NOT_ENABLED, 'warning'); } if(!empty($_REQUEST['imported']) && is_numeric($_REQUEST['imported'])) { $messageStack->add( sprintf(TEXT_INFO_SUBSCRIPTIONS_IMPORTED,$_REQUEST['imported']), 'success'); } $extra_args = isset($_GET['filter']) ? '&filter='.$_GET['filter'] : ''; if (isset($_GET['list_order'])) $extra_args .= '&list_order='.$_GET['list_order']; if (zen_not_null($action)) { switch ($action) { case 'insert': $email_address = zen_db_prepare_input($_POST['email_address']); $email_format = zen_db_prepare_input($_POST['email_format']); // check if email address exists in CUSTOMERS table or in SUBSCRIBERS table $check_cust_email_query = "select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . zen_db_input($email_address) . "'"; $check_cust_email = $db->Execute($check_cust_email_query); $check_news_email_query = "select count(*) as total from " . TABLE_SUBSCRIBERS . " where email_address = '" . zen_db_input($email_address) . "'"; $check_news_email = $db->Execute($check_news_email_query); if ($check_cust_email->fields['total'] > 0) { $error = true; $messageStack->add( SUBSCRIBE_DUPLICATE_CUSTOMERS_ERROR, 'error'); } elseif ($check_news_email->fields['total'] > 0) { $error = true; $messageStack->add( SUBSCRIBE_DUPLICATE_NEWSONLY_ERROR, 'error'); } else { $db->Execute("insert into " . TABLE_SUBSCRIBERS . " (email_address, email_format, confirmed, subscribed_date) values ('" . zen_db_input($email_address) . "', '" . zen_db_input($email_format) . "', '1', now() )"); zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER)); } break; case 'save': $subscriber_id = zen_db_prepare_input($_GET['tID']); $email_address = zen_db_prepare_input($_POST['email_address']); $email_format = zen_db_prepare_input($_POST['email_format']); $email_confirmed = empty($_POST['email_confirmed']) ? 0 : 1; $db->Execute("update " . TABLE_SUBSCRIBERS . " set subscriber_id = '" . (int)$subscriber_id . "', email_address = '" . zen_db_input($email_address) . "', email_format = '" . zen_db_input($email_format) . "', confirmed = '" . zen_db_input($email_confirmed) . "' where subscriber_id = '" . (int)$subscriber_id . "'"); zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $subscriber_id . $extra_args)); break; case 'deleteconfirm': // demo active test if (zen_admin_demo()) { $_GET['action']= ''; $messageStack->add_session(ERROR_ADMIN_DEMO, 'caution'); zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'])); } $subscriber_id = zen_db_prepare_input($_GET['tID']); $customers_id = zen_db_prepare_input($_GET['cID']); $db->Execute("delete from " . TABLE_SUBSCRIBERS . " where subscriber_id = '" . (int)$subscriber_id . "'"); if(!empty($customers_id)) { $sql = "UPDATE " . TABLE_CUSTOMERS . " set customers_newsletter = '0' where customers_id = '" . (int)$customers_id . "'"; $db->Execute($sql); } zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . $extra_args)); break; case 'purgeunconfirmed': // demo active test if (zen_admin_demo()) { $_GET['action']= ''; $messageStack->add_session(ERROR_ADMIN_DEMO, 'caution'); zen_redirect(zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'])); } $db->Execute('delete from ' . TABLE_SUBSCRIBERS . ' where confirmed != 1 and (customers_id IS NULL or customers_id = 0) and DATE_SUB(CURDATE(),INTERVAL 30 DAY) > subscribed_date '); $messageStack->add(TEXT_INFO_SUBSCRIPTIONS_PURGED, 'success'); break; } } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS"> <script type="text/javascript" src="includes/menu.js"></script> <script type="text/javascript" src="includes/general.js"></script> <script type="text/javascript"> <!-- function init() { cssjsmenu('navbar'); if (document.getElementById) { var kill = document.getElementById('hoverJS'); kill.disabled = true; } } function dpop() { if(document.getElementById('dpophelp')) { return false; } var e=document.createElement('div'); var mom; e.id='dpophelp'; e.style.border='3px #c00 double'; e.style.padding='5px 5px'; e.style.background='#fff'; e.style.margin='5px'; e.style.textAlign='left'; e.style.position='absolute'; e.style.right='20%'; e.style.zIndex='3'; e.style.width='50%'; e.style.top='10%'; e.appendChild(document.createTextNode('Special search keywords:')); e.appendChild(document.createElement('br')); e.appendChild(document.createElement('br')); e.appendChild(document.createTextNode('customers - shows customers only')); e.appendChild(document.createElement('br')); e.appendChild(document.createElement('br')); e.appendChild(document.createTextNode('newsonly - shows non-pending newsletter-only subscribers')); e.appendChild(document.createElement('br')); e.appendChild(document.createElement('br')); e.appendChild(document.createTextNode('pending - shows pending newsletter-only subscribers')); mom = document.getElementById('searchbox'); var Ce=document.createElement('p'); Ce.style.textDecoration = 'underline'; Ce.style.cursor = 'pointer'; Ce.style.margin = '5px'; Ce.style.textAlign = 'right'; Ce.style.color = '#c00'; Ce.onclick = dpopbye; Ce.appendChild(document.createTextNode('Close')); e.appendChild(Ce); if(mom) { mom.appendChild(e); } return false; } function dpopbye() { var fsw = document.getElementById('dpophelp'); fsw.parentNode.removeChild(fsw); } // --> </script> </head> <body onload="init()"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table style="border:none;width:100%;border-spacing:2px;cell-padding:2px;"> <tr> <!-- body_text //--> <td style="width:100%;vertical-align:top;"> <table style="border:none;width:100%;border-collapse:collapse;border-collapse:collapse;border-spacing:0px;cell-padding:2px;"> <tr> <td> <?php if($action=='remove') { ?> <p> <?php echo sprintf(TEXT_NEWSONLY_REMOVE_CONFIRM, zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'action=remove_confirmed'), zen_href_link(FILENAME_SUBSCRIPTION_MANAGER) ); ?> </p> <?php } ?> <table style="border:none;width:100%; border-spacing:0;cell-padding:0;"> <tr style="padding-top:10px;"> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" colspan="2" style="text-align:right;vertical-align:top;padding-bottom:10px;"> <?php if(!defined('NEWSONLY_SUBSCRIPTION_ENABLED') ) { ?> <a href="<?php echo zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'action=install'); ?>"><?php echo zen_image_button('button_install.gif', TEXT_INSTALL); ?></a> <?php } elseif($action != 'remove') { ?> <?php if(!defined('NEWSONLY_SUBSCRIPTION_VERSION') || (NEWSONLY_SUBSCRIPTION_VERSION < $current_ns_version ) ) { ?> <a href="<?php echo zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'action=update_contrib'); ?>"><?php echo zen_image_button('button_update.gif', TEXT_UPDATE); ?></a> <?php } ?> <a href="<?php echo zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'action=remove'); ?>"><?php echo zen_image_button('button_remove.gif', TEXT_REMOVE); ?></a> <?php } ?> </td> </tr> <tr> <td class="pageHeading" colspan="2" style="text-align:left;vertical-align:top;"> <?php if(defined('NEWSONLY_SUBSCRIPTION_ENABLED') && (NEWSONLY_SUBSCRIPTION_ENABLED == 'true')) { ?> <a href="<?php echo zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'action=new'); ?>"><?php echo zen_image_button('button_new_subscription.gif', TEXT_INFO_HEADING_NEW_SUBSCRIPTION); ?></a> | <a href="<?php echo zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'action=purgeunconfirmed'); ?>"><?php echo zen_image_button('button_purge_subscriptions.gif', TEXT_PURGE_SUBSCRIPTIONS); ?></a> | <a href="<?php echo zen_href_link(FILENAME_SUBSCRIPTION_MANAGER,'action=import'); ?>"><?php echo zen_image_button('button_import.gif', TEXT_IMPORT); ?></a> <?php } ?> </td> </tr> <?php if(defined('NEWSONLY_SUBSCRIPTION_ENABLED') ) { ?> <tr style="padding-top:10px;vertical-align:bottom;"> <td><?php echo TABLE_HEADING_SUBSCRIPTION_STATUS.': '. substr(TEXT_SUBSCRIPTION_STATUS_CUSTOMER,0,1).'=' . TEXT_SUBSCRIPTION_STATUS_CUSTOMER . ' ' . substr(TEXT_SUBSCRIPTION_STATUS_CONFIRMED,0,1).'=' . TEXT_SUBSCRIPTION_STATUS_CONFIRMED . ' '. substr(TEXT_SUBSCRIPTION_STATUS_UNCONFIRMED,0,1).'=' . TEXT_SUBSCRIPTION_STATUS_UNCONFIRMED; ?> </td> <td id="searchbox" class="smallText" style="vertical-align:middle;text-align:right;"> <?php echo zen_draw_form('search', FILENAME_SUBSCRIPTION_MANAGER, '', 'get', '', true); ?> <?php // show reset search if (isset($_GET['filter']) && zen_not_null($_GET['filter'])) { echo '<a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, '', 'NONSSL') . '">' . zen_image_button('button_reset.gif', IMAGE_RESET) . '</a> '; } echo HEADING_TITLE_SEARCH_DETAIL . '<span style="cursor:pointer;" onclick="dpop();">[?]</span> ' . zen_draw_input_field('filter') . zen_hide_session_id() . ' ' . zen_image_submit('button_search.gif', IMAGE_SEARCH); if (isset($_GET['filter']) && zen_not_null($_GET['filter'])) { $keywords = zen_db_input(zen_db_prepare_input($_GET['filter'])); echo '<br/ >' . TEXT_INFO_SEARCH_DETAIL_FILTER . $keywords; } ?> </form> </td> </tr> </table></td> </tr> <?php // Sort Listing $list_order = empty($_GET['list_order']) ? 'id-desc' : $_GET['list_order']; switch ($list_order) { case 'id-asc': $disp_order = 'subscriber_id'; break; case 'id-desc': $disp_order = 'subscriber_id DESC'; break; case 'subscribed': $disp_order = 'subscribed_date'; break; case 'subscribed-desc': $disp_order = 'subscribed_date DESC'; break; case 'email': $disp_order = 'email_address'; break; case 'email-desc': $disp_order = 'email_address DESC'; break; case 'format': $disp_order = 'email_format'; break; case 'format-desc': $disp_order = 'email_format DESC'; break; case 'status': $disp_order = 'confirmed'; break; case 'status-desc': $disp_order = 'confirmed DESC'; break; default: $list_order='id-desc'; $disp_order = 'subscriber_id DESC'; } $filter = empty($_GET['filter']) ? '' : $_GET['filter']; $filter= zen_db_prepare_input($filter); $filter_str=''; if(!empty($filter)) { switch($filter) { case 'customers' : $filter_str = ' where customers_id <> 0'; break; case 'news-only' : case 'newsonly' : $filter_str = ' where customers_id = 0 or customers_id IS NULL '; break; case 'pending' : $filter_str = ' where confirmed != 1 '; break; default: $filter_str = " where email_address LIKE '%".$filter."%' or email_format LIKE '%".$filter."%' "; break; } } $classes_query_raw = "select subscriber_id, customers_id, email_address, email_format, confirmed, subscribed_date from " . TABLE_SUBSCRIBERS . $filter_str . " order by ".$disp_order; $classes_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $classes_query_raw, $classes_query_numrows); $classes = $db->Execute($classes_query_raw); ?> <tr> <td> <table style="border:none;width:100%;border-collapse:collapse;border-collapse:collapse;border-spacing:0px;cell-padding:0px;"> <tr> <td style="vertical-align:top;"><table style="border:none;width:100%;border-collapse:collapse;border-spacing:0px;cell-padding:2px;"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent" style="text-align:left;"> <?php echo (($list_order=='email' or $list_order=='email-desc') ? '<span class="SortOrderHeader">' . TABLE_HEADING_EMAIL . '</span>' : TABLE_HEADING_EMAIL); ?><br /> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=email' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='email' ? '<span class="SortOrderHeader">Asc</span>' : '<span class="SortOrderHeaderLink">Asc</span>'); ?></a> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=email-desc' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='email-desc' ? '<span class="SortOrderHeader">Desc</span>' : '<span class="SortOrderHeaderLink">Desc</span>'); ?></a> </td> <td class="dataTableHeadingContent" style="text-align:left;"> <?php echo (($list_order=='format' or $list_order=='format-desc') ? '<span class="SortOrderHeader">' . TABLE_HEADING_PREFERENCE . '</span>' : TABLE_HEADING_PREFERENCE); ?><br /> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=format' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='format' ? '<span class="SortOrderHeader">Asc</span>' : '<span class="SortOrderHeaderLink">Asc</span>'); ?></a> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=format-desc' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='format-desc' ? '<span class="SortOrderHeader">Desc</span>' : '<span class="SortOrderHeaderLink">Desc</span>'); ?></a> </td> <td class="dataTableHeadingContent" style="text-align:left;"> <?php echo (($list_order=='status' or $list_order=='status-desc') ? '<span class="SortOrderHeader">' . TABLE_HEADING_SUBSCRIPTION_STATUS . '</span>' : TABLE_HEADING_SUBSCRIPTION_STATUS); ?><br /> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=status' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='status' ? '<span class="SortOrderHeader">Asc</span>' : '<span class="SortOrderHeaderLink">Asc</span>'); ?></a> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=status-desc' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='status-desc' ? '<span class="SortOrderHeader">Desc</span>' : '<span class="SortOrderHeaderLink">Desc</span>'); ?></a> </td> <td class="dataTableHeadingContent" style="text-align:left;"> <?php echo (($list_order=='subscribed' or $list_order=='subscribed-desc') ? '<span class="SortOrderHeader">' . TEXT_SUBSCRIPTION_DATE . '</span>' : TEXT_SUBSCRIPTION_DATE); ?><br /> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=subscribed' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='subscribed' ? '<span class="SortOrderHeader">Asc</span>' : '<span class="SortOrderHeaderLink">Asc</span>'); ?></a> <a href="<?php echo zen_href_link(basename($PHP_SELF) . '?list_order=subscribed-desc' . (empty($filter) ? '' : '&filter=' . $filter), '', 'NONSSL'); ?>"><?php echo ($list_order=='subscribed-desc' ? '<span class="SortOrderHeader">Desc</span>' : '<span class="SortOrderHeaderLink">Desc</span>'); ?></a> </td> <td colspan="2" class="dataTableHeadingContent" style="text-align:center;"><?php echo TABLE_HEADING_ACTION; ?> </td> </tr> <?php if(!empty($classes)) { while (!$classes->EOF) { if ((!isset($_GET['tID']) || (isset($_GET['tID']) && ($_GET['tID'] == $classes->fields['subscriber_id']))) && !isset($tcInfo) && (substr($action, 0, 3) != 'new')) { $tcInfo = new objectInfo($classes->fields); } if (isset($tcInfo) && is_object($tcInfo) && ($classes->fields['subscriber_id'] == $tcInfo->subscriber_id)) { echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $tcInfo->subscriber_id . '&action=edit' . $extra_args) . '\'">' . "\n"; } else { echo' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $classes->fields['subscriber_id'] . $extra_args ) . '\'">' . "\n"; } ?> <td class="dataTableContent"><?php echo $classes->fields['email_address']; ?></td> <td class="dataTableContent"><?php echo $classes->fields['email_format']; ?></td> <td class="dataTableContent"> <?php if (!empty($classes->fields['customers_id'])) { echo '<span title="' . TEXT_SUBSCRIPTION_STATUS_CUSTOMER .'" >'.substr(TEXT_SUBSCRIPTION_STATUS_CUSTOMER,0,1).'</span>'; } elseif ($classes->fields['confirmed'] == 1) { echo '<span title="' . TEXT_SUBSCRIPTION_STATUS_CONFIRMED .'" >'.substr(TEXT_SUBSCRIPTION_STATUS_CONFIRMED,0,1).'</span>'; } else { echo '<span title="' . TEXT_SUBSCRIPTION_STATUS_UNCONFIRMED .'" >'.substr(TEXT_SUBSCRIPTION_STATUS_UNCONFIRMED,0,1).'</span>'; } ?> </td> <td class="dataTableContent"><?php echo zen_date_short($classes->fields['subscribed_date']); ?></td> <td class="dataTableContent" style="text-align:right;"> <?php if (isset($tcInfo) && is_object($tcInfo) && ($classes->fields['subscriber_id'] == $tcInfo->subscriber_id) && $action=='edit') { echo ' '; } else { echo '<a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $classes->fields['subscriber_id'] . '&action=edit'.$extra_args) . '">' . zen_image(DIR_WS_IMAGES . 'icon_edit.gif', IMAGE_ICON_EDIT) . '</a>'; } ?> </td> <td class="dataTableContent" style="text-align:right;"><?php if (isset($tcInfo) && is_object($tcInfo) && ($classes->fields['subscriber_id'] == $tcInfo->subscriber_id)) { echo zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $classes->fields['subscriber_id'].$extra_args) . '">' . zen_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> </tr> <?php $classes->MoveNext(); } ?> <tr> <td colspan="2"><table style="border:none;width:100%;border-collapse:collapse;border-collapse:collapse;border-spacing:0px;cell-padding:2px;"> <tr> <td class="smallText" style="vertical-align:top;"></td> <td class="smallText" style="text-align:right;"><?php echo $classes_split->display_links($classes_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page'], $extra_args == '' ? '' : substr($extra_args,1)); ?></td> </tr> <?php if (empty($action)) { ?> <tr> <td colspan="2" style="text-align:right;"></td> </tr> <?php } } ?> </table></td> </tr> </table></td> <?php $heading = array(); $contents = array(); $email_pref_text = (empty($tcInfo->email_format) || ($tcInfo->email_format == 'TEXT')) ? true : false; $email_pref_html = (empty($email_pref_text) ? true : false ); switch ($action) { case 'import': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_IMPORT_SUBSCRIPTION . '</b>'); $contents = array('form' => zen_draw_form('classes', FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&action=import_file','post','enctype="multipart/form-data"')); $contents[] = array('text' => TEXT_INFO_IMPORT_INTRO); $contents[] = array('text' => zen_draw_hidden_field('MAX_FILE_SIZE','100000')); $contents[] = array('text' => '<br />' . TEXT_INFO_IMPORT_FILE . '<br />' . zen_draw_file_field('subscriber_import_file',true)); $contents[] = array('text' => '<br />' . TEXT_INFO_IMPORT_SAMPLE . ' ' . zen_draw_input_field('record_sample', 'email NULL format NULL', 'size="100%"')); $contents[] = array('text' => '<br />' . TEXT_INFO_IMPORT_DELIM . ' ' . zen_draw_input_field('record_delim', '', 'size="5"')); $contents[] = array('text' => '<br />' . TEXT_INFO_IMPORT_ENCL . ' ' . zen_draw_input_field('field_encl', '', 'size="5"')); $contents[] = array('text' => '<br />' . TEXT_INFO_IMPORT_HEADER_ROW . ' ' . zen_draw_checkbox_field('record_header', '1')); $contents[] = array('text' => '<br />' . TEXT_INFO_IMPORT_FORMAT . ' ' . zen_draw_radio_field('default_format','TEXT',true) . ENTRY_EMAIL_TEXT_DISPLAY . ' '. zen_draw_radio_field('default_format','HTML',true) . ENTRY_EMAIL_HTML_DISPLAY ); $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_upload.gif', IMAGE_UPLOAD) . ' <a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page']) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; case 'new': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_SUBSCRIPTION . '</b>'); $contents = array('form' => zen_draw_form('classes', FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&action=insert')); $contents[] = array('text' => TEXT_INFO_INSERT_INTRO); $contents[] = array('text' => '<br />' . TEXT_INFO_CLASS_TITLE . '<br />' . zen_draw_input_field('email_address', '', zen_set_field_length(TABLE_SUBSCRIBERS, 'email_address'))); $contents[] = array('text' => '<br />' . TABLE_HEADING_PREFERENCE . '<br />' . zen_draw_radio_field('email_format', 'HTML', $email_pref_html) . ' ' . ENTRY_EMAIL_HTML_DISPLAY . ' ' . zen_draw_radio_field('email_format', 'TEXT', $email_pref_text) . ' ' . ENTRY_EMAIL_TEXT_DISPLAY); $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_insert.gif', IMAGE_INSERT) . ' <a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page']) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; case 'edit': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_EDIT_SUBSCRIPTION . '</b>'); $contents = array('form' => zen_draw_form('classes', FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $tcInfo->subscriber_id . '&action=save'.$extra_args)); $contents[] = array('text' => TEXT_INFO_EDIT_INTRO); $contents[] = array('text' => '<br />' . TEXT_INFO_CLASS_TITLE . '<br />' . zen_draw_input_field('email_address', $tcInfo->email_address, zen_set_field_length(TABLE_SUBSCRIBERS, 'email_address'))); $contents[] = array('text' => '<br />' . TABLE_HEADING_PREFERENCE . '<br />' . zen_draw_radio_field('email_format', 'HTML', $email_pref_html) . ' ' . ENTRY_EMAIL_HTML_DISPLAY . ' ' . zen_draw_radio_field('email_format', 'TEXT', $email_pref_text) . ' ' . ENTRY_EMAIL_TEXT_DISPLAY ); if(empty($tcInfo->customers_id)) { $contents[] = array('text' => '<br />' . TEXT_INFO_CONFIRMED . ' ' . zen_draw_checkbox_field('email_confirmed', '1', ((empty($tcInfo->confirmed)||($tcInfo->confirmed != 1)) ? '0' : '1'))); } $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $tcInfo->subscriber_id . $extra_args) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; case 'delete': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_EMAIL . '</b>'); $contents = array('form' => zen_draw_form('classes', FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $tcInfo->subscriber_id . '&cID=' . $tcInfo->customers_id . '&action=deleteconfirm' . $extra_args)); $contents[] = array('text' => TEXT_INFO_DELETE_INTRO); $contents[] = array('text' => '<br /><b>' . $tcInfo->email_address . '</b>'); $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $tcInfo->subscriber_id . $extra_args) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; default: if (isset($tcInfo) && is_object($tcInfo)) { $heading[] = array('text' => '<b>' . $tcInfo->email_address . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $tcInfo->subscriber_id . '&action=edit'.$extra_args) . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . zen_href_link(FILENAME_SUBSCRIPTION_MANAGER, 'page=' . $_GET['page'] . '&tID=' . $tcInfo->subscriber_id . '&cID=' . $tcInfo->customers_id .'&action=delete'.$extra_args) . '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a>'); if(!empty($tcInfo->customers_id) || ($tcInfo->confirmed==1)) { $contents[] = array('align' => 'center', 'text' => ' <a href="' . zen_href_link(FILENAME_MAIL, 'origin=customers.php&mode=NONSSL&selected_box=tools&customer=' . $tcInfo->email_address.'&cID=' . $tcInfo->customers_id, 'NONSSL') . '">' . zen_image_button('button_email.gif', IMAGE_EMAIL) . '</a>' ); } else { $contents[] = array('text' => '<br />' . TEXT_INFO_SUBSCRIPTION_STATUS_UNCONFIRMED); } $contents[] = array('text' => '<br />' . TEXT_SUBSCRIPTION_DATE . ': ' .$tcInfo->subscribed_date . '<br />'); $contents[] = array('text' => '<br />' . TABLE_HEADING_PREFERENCE . ': ' . $tcInfo->email_format); } break; } if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) { echo ' <td style="width:25%;vertical-align:top;">' . "\n"; $box = new box; echo $box->infoBox($heading, $contents); echo ' </td>' . "\n"; } ?> </tr> </table></td> </tr> <?php } ?> </table></td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br /> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>