[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 源代码 banner_manager.php

Zen Cart 源代码 banner_manager.php




下载文件

文件名: banner_manager.php
文件类型: PHP文件
文件大小: 36.55 KiB
MD5: d7251fe30004813f2ba0d350c5d9a6be

banner_manager.php - 关闭高亮
  1. <?php
  2. /**
  3.  * @package admin
  4.  * @copyright Copyright 2003-2011 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: banner_manager.php 19330 2011-08-07 06:32:56Z drbyte $
  8.  */
  9.  
  10.   require('includes/application_top.php');
  11.  
  12.   $action = (isset($_GET['action']) ? $_GET['action'] : '');
  13.   if (isset($_GET['flagbanners_on_ssl'])) $_GET['flagbanners_on_ssl'] = (int)$_GET['flagbanners_on_ssl'];
  14.   if (isset($_GET['bID'])) $_GET['bID'] = (int)$_GET['bID'];
  15.   if (isset($_GET['flag'])) $_GET['flag'] = (int)$_GET['flag'];
  16.   if (isset($_GET['page'])) $_GET['page'] = (int)$_GET['page'];
  17.   if (isset($_GET['flagbanners_open_new_windows'])) $_GET['flagbanners_open_new_windows'] = (int)$_GET['flagbanners_open_new_windows'];
  18.  
  19.   $banner_extension = zen_banner_image_extension();
  20.  
  21.   if (zen_not_null($action)) {
  22.     switch ($action) {
  23.       case 'setflag':
  24.         if ( ($_GET['flag'] == '0') || ($_GET['flag'] == '1') ) {
  25.           zen_set_banner_status($_GET['bID'], $_GET['flag']);
  26.  
  27.           $messageStack->add_session(SUCCESS_BANNER_STATUS_UPDATED, 'success');
  28.         } else {
  29.           $messageStack->add_session(ERROR_UNKNOWN_STATUS_FLAG, 'error');
  30.         }
  31.  
  32.         zen_redirect(zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $_GET['bID']));
  33.         break;
  34.  
  35.       case 'setbanners_on_ssl':
  36.         if ( ($_GET['flagbanners_on_ssl'] == '0') || ($_GET['flagbanners_on_ssl'] == '1') ) {
  37.           $db->Execute("update " . TABLE_BANNERS . " set banners_on_ssl='" . $_GET['flagbanners_on_ssl'] . "' where banners_id='" . $_GET['bID'] . "'");
  38.  
  39.           $messageStack->add_session(SUCCESS_BANNER_ON_SSL_UPDATED, 'success');
  40.         } else {
  41.           $messageStack->add_session(ERROR_UNKNOWN_BANNER_ON_SSL, 'error');
  42.         }
  43.  
  44.         zen_redirect(zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $_GET['bID']));
  45.         break;
  46.       case 'setbanners_open_new_windows':
  47.         if ( ($_GET['flagbanners_open_new_windows'] == '0') || ($_GET['flagbanners_open_new_windows'] == '1') ) {
  48.           $db->Execute("update " . TABLE_BANNERS . " set banners_open_new_windows='" . $_GET['flagbanners_open_new_windows'] . "' where banners_id='" . $_GET['bID'] . "'");
  49.  
  50.           $messageStack->add_session(SUCCESS_BANNER_OPEN_NEW_WINDOW_UPDATED, 'success');
  51.         } else {
  52.           $messageStack->add_session(ERROR_UNKNOWN_BANNER_OPEN_NEW_WINDOW, 'error');
  53.         }
  54.  
  55.         zen_redirect(zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $_GET['bID']));
  56.         break;
  57.       case 'insert':
  58.       case 'update':
  59.         if (isset($_POST['banners_id'])) $banners_id = zen_db_prepare_input($_POST['banners_id']);
  60.         $banners_title = zen_db_prepare_input($_POST['banners_title']);
  61.         $banners_url = zen_db_prepare_input($_POST['banners_url']);
  62.         $new_banners_group = zen_db_prepare_input($_POST['new_banners_group']);
  63.         $banners_group = (empty($new_banners_group)) ? zen_db_prepare_input($_POST['banners_group']) : $new_banners_group;
  64.         $banners_html_text = zen_db_prepare_input($_POST['banners_html_text']);
  65.         $banners_image_local = zen_db_prepare_input($_POST['banners_image_local']);
  66.         $banners_image_target = zen_db_prepare_input($_POST['banners_image_target']);
  67.         $db_image_location = '';
  68.         $expires_date = zen_db_prepare_input($_POST['expires_date']) == '' ? 'null' : zen_date_raw($_POST['expires_date']);
  69.         $expires_impressions = zen_db_prepare_input($_POST['expires_impressions']);
  70.         $date_scheduled = zen_db_prepare_input($_POST['date_scheduled']) == '' ? 'null' : zen_date_raw($_POST['date_scheduled']);
  71.         $status = zen_db_prepare_input($_POST['status']);
  72.         $banners_open_new_windows = zen_db_prepare_input($_POST['banners_open_new_windows']);
  73.         $banners_on_ssl = zen_db_prepare_input($_POST['banners_on_ssl']);
  74.         $banners_sort_order = zen_db_prepare_input($_POST['banners_sort_order']);
  75.  
  76.         $banner_error = false;
  77.         if (empty($banners_title)) {
  78.           $messageStack->add(ERROR_BANNER_TITLE_REQUIRED, 'error');
  79.           $banner_error = true;
  80.         }
  81.  
  82.         if (empty($banners_group)) {
  83.           $messageStack->add(ERROR_BANNER_GROUP_REQUIRED, 'error');
  84.           $banner_error = true;
  85.         }
  86.  
  87.         if (empty($banners_html_text)) {
  88.           if (empty($banners_image_local)) {
  89.             $banners_image = new upload('banners_image');
  90.             $banners_image->set_destination(DIR_FS_CATALOG_IMAGES . $banners_image_target);
  91.             if ( ($banners_image->parse() == false) || ($banners_image->save() == false) ) {
  92.               $messageStack->add(ERROR_BANNER_IMAGE_REQUIRED, 'error');
  93.               $banner_error = true;
  94.             }
  95.           }
  96.         }
  97.  
  98.         if ($banner_error == false) {
  99.           $db_image_location = (zen_not_null($banners_image_local)) ? $banners_image_local : $banners_image_target . $banners_image->filename;
  100.           $sql_data_array = array('banners_title' => $banners_title,
  101.                                   'banners_url' => $banners_url,
  102.                                   'banners_image' => $db_image_location,
  103.                                   'banners_group' => $banners_group,
  104.                                   'banners_html_text' => $banners_html_text,
  105.                                   'status' => $status,
  106.                                   'banners_open_new_windows' => $banners_open_new_windows,
  107.                                   'banners_on_ssl' => $banners_on_ssl,
  108.                                   'banners_sort_order' => (int)$banners_sort_order);
  109.  
  110.           if ($action == 'insert') {
  111.             $insert_sql_data = array('date_added' => 'now()',
  112.                                      'status' => '1');
  113.  
  114.             $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
  115.  
  116.             zen_db_perform(TABLE_BANNERS, $sql_data_array);
  117.  
  118.             $banners_id = zen_db_insert_id();
  119.  
  120.             $messageStack->add_session(SUCCESS_BANNER_INSERTED, 'success');
  121.           } elseif ($action == 'update') {
  122.             zen_db_perform(TABLE_BANNERS, $sql_data_array, 'update', "banners_id = '" . (int)$banners_id . "'");
  123.  
  124.             $messageStack->add_session(SUCCESS_BANNER_UPDATED, 'success');
  125.           }
  126.  
  127. // NOTE: status will be reset by the /functions/banner.php
  128. // build new update sql for date_scheduled, expires_date and expires_impressions
  129.  
  130.           $sql = "UPDATE " . TABLE_BANNERS . "
  131.                  SET
  132.                    date_scheduled = :scheduledDate,
  133.                    expires_date = DATE_ADD(:expiresDate, INTERVAL '23:59:59' HOUR_SECOND),
  134.                    expires_impressions = " . ($expires_impressions == 0 ? "null" : ":expiresImpressions") . "
  135.                    WHERE banners_id = :bannersID";
  136.           if ($expires_impressions > 0) {
  137.             $sql = $db->bindVars($sql, ':expiresImpressions', $expires_impressions, 'integer');
  138.           }
  139.           if ($date_scheduled != '') {
  140.             $sql = $db->bindVars($sql, ':scheduledDate', $date_scheduled, 'date');
  141.           }
  142.           if ($expires_date != '') {
  143.             $sql = $db->bindVars($sql, ':expiresDate', $expires_date, 'date');
  144.           }
  145.             $sql = $db->bindVars($sql, ':bannersID', $banners_id, 'integer');
  146.             $db->Execute($sql);
  147.  
  148.           zen_redirect(zen_href_link(FILENAME_BANNER_MANAGER, (isset($_GET['page']) ? 'page=' . $_GET['page'] . '&' : '') . 'bID=' . $banners_id));
  149.         } else {
  150.           $action = 'new';
  151.         }
  152.         break;
  153.       case 'deleteconfirm':
  154.         $banners_id = zen_db_prepare_input($_POST['bID']);
  155.  
  156.         if (isset($_POST['delete_image']) && ($_POST['delete_image'] == 'on')) {
  157.           $banner = $db->Execute("select banners_image
  158.                                 from " . TABLE_BANNERS . "
  159.                                 where banners_id = '" . (int)$banners_id . "'");
  160.  
  161.           if (is_file(DIR_FS_CATALOG_IMAGES . $banner->fields['banners_image'])) {
  162.             if (is_writeable(DIR_FS_CATALOG_IMAGES . $banner->fields['banners_image'])) {
  163.               unlink(DIR_FS_CATALOG_IMAGES . $banner->fields['banners_image']);
  164.             } else {
  165.               $messageStack->add_session(ERROR_IMAGE_IS_NOT_WRITEABLE, 'error');
  166.             }
  167.           } else {
  168.             $messageStack->add_session(ERROR_IMAGE_DOES_NOT_EXIST, 'error');
  169.           }
  170.         }
  171.  
  172.         $db->Execute("delete from " . TABLE_BANNERS . "
  173.                      where banners_id = '" . (int)$banners_id . "'");
  174.         $db->Execute("delete from " . TABLE_BANNERS_HISTORY . "
  175.                      where banners_id = '" . (int)$banners_id . "'");
  176.  
  177.         if (function_exists('imagecreate') && zen_not_null($banner_extension)) {
  178.           if (is_file(DIR_WS_IMAGES . 'graphs/banner_infobox-' . $banners_id . '.' . $banner_extension)) {
  179.             if (is_writeable(DIR_WS_IMAGES . 'graphs/banner_infobox-' . $banners_id . '.' . $banner_extension)) {
  180.               unlink(DIR_WS_IMAGES . 'graphs/banner_infobox-' . $banners_id . '.' . $banner_extension);
  181.             }
  182.           }
  183.  
  184.           if (is_file(DIR_WS_IMAGES . 'graphs/banner_yearly-' . $banners_id . '.' . $banner_extension)) {
  185.             if (is_writeable(DIR_WS_IMAGES . 'graphs/banner_yearly-' . $banners_id . '.' . $banner_extension)) {
  186.               unlink(DIR_WS_IMAGES . 'graphs/banner_yearly-' . $banners_id . '.' . $banner_extension);
  187.             }
  188.           }
  189.  
  190.           if (is_file(DIR_WS_IMAGES . 'graphs/banner_monthly-' . $banners_id . '.' . $banner_extension)) {
  191.             if (is_writeable(DIR_WS_IMAGES . 'graphs/banner_monthly-' . $banners_id . '.' . $banner_extension)) {
  192.               unlink(DIR_WS_IMAGES . 'graphs/banner_monthly-' . $banners_id . '.' . $banner_extension);
  193.             }
  194.           }
  195.  
  196.           if (is_file(DIR_WS_IMAGES . 'graphs/banner_daily-' . $banners_id . '.' . $banner_extension)) {
  197.             if (is_writeable(DIR_WS_IMAGES . 'graphs/banner_daily-' . $banners_id . '.' . $banner_extension)) {
  198.               unlink(DIR_WS_IMAGES . 'graphs/banner_daily-' . $banners_id . '.' . $banner_extension);
  199.             }
  200.           }
  201.         }
  202.  
  203.         $messageStack->add_session(SUCCESS_BANNER_REMOVED, 'success');
  204.  
  205.         zen_redirect(zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page']));
  206.         break;
  207.     }
  208.   }
  209.  
  210. // check if the graphs directory exists
  211.   $dir_ok = false;
  212.   if (function_exists('imagecreate') && zen_not_null($banner_extension)) {
  213.     if (is_dir(DIR_WS_IMAGES . 'graphs')) {
  214.       if (is_writeable(DIR_WS_IMAGES . 'graphs')) {
  215.         $dir_ok = true;
  216.       } else {
  217.         $messageStack->add(ERROR_GRAPHS_DIRECTORY_NOT_WRITEABLE, 'error');
  218.       }
  219.     } else {
  220.       $messageStack->add(ERROR_GRAPHS_DIRECTORY_DOES_NOT_EXIST, 'error');
  221.     }
  222.   }
  223. ?>
  224. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  225. <html <?php echo HTML_PARAMS; ?>>
  226. <head>
  227. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  228. <title><?php echo TITLE; ?></title>
  229. <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
  230. <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
  231. <script language="javascript" src="includes/menu.js"></script>
  232. <script language="javascript" src="includes/general.js"></script>
  233. <script language="javascript"><!--
  234. function popupImageWindow(url) {
  235.   window.open(url,'popupImageWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
  236. }
  237. //--></script>
  238. <script type="text/javascript">
  239.   <!--
  240.   function init()
  241.   {
  242.     cssjsmenu('navbar');
  243.     if (document.getElementById)
  244.     {
  245.       var kill = document.getElementById('hoverJS');
  246.       kill.disabled = true;
  247.     }
  248.   }
  249.   // -->
  250. </script>
  251. </head>
  252. <body onload="init()">
  253. <div id="spiffycalendar" class="text"></div>
  254. <!-- header //-->
  255. <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
  256. <!-- header_eof //-->
  257.  
  258. <!-- body //-->
  259. <table border="0" width="100%" cellspacing="2" cellpadding="2">
  260.   <tr>
  261. <!-- body_text //-->
  262.     <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  263.       <tr>
  264.         <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
  265.           <tr>
  266.             <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
  267.             <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
  268.           </tr>
  269.         </table></td>
  270.       </tr>
  271. <?php if ($action=='') { ?>
  272.       <tr>
  273.         <td><table border="0" cellspacing="0" cellpadding="0">
  274.           <tr>
  275.             <td class="smallText" align="center" width="100"><?php echo TEXT_LEGEND; ?></td>
  276.             <td class="smallText" align="center" width="100"><?php echo TEXT_LEGEND_STATUS_OFF . '<br />' . zen_image(DIR_WS_IMAGES . 'icon_red_on.gif', IMAGE_ICON_STATUS_OFF) . '&nbsp' . zen_image(DIR_WS_IMAGES . 'icon_green_on.gif', IMAGE_ICON_STATUS_ON); ?></td>
  277.             <td class="smallText" align="center" width="100"><?php echo TEXT_LEGEND_BANNER_ON_SSL . '<br />' . zen_image(DIR_WS_IMAGES . 'icon_blue_on.gif', IMAGE_ICON_BANNER_ON_SSL_ON) . '&nbsp;' . zen_image(DIR_WS_IMAGES . 'icon_blue_off.gif', IMAGE_ICON_BANNER_ON_SSL_OFF); ?></td>
  278.             <td class="smallText" align="center" width="100"><?php echo TEXT_LEGEND_BANNER_OPEN_NEW_WINDOWS . '<br />' . zen_image(DIR_WS_IMAGES . 'icon_orange_on.gif', IMAGE_ICON_BANNER_OPEN_NEW_WINDOWS_ON) . '&nbsp;' . zen_image(DIR_WS_IMAGES . 'icon_orange_off.gif', IMAGE_ICON_BANNER_OPEN_NEW_WINDOWS_OFF); ?></td>
  279.           </tr>
  280.         </table></td>
  281.       </tr>
  282. <?php } // legend ?>
  283. <?php
  284.   if ($action == 'new') {
  285.     $form_action = 'insert';
  286.  
  287.     $parameters = array('expires_date' => '',
  288.                         'date_scheduled' => '',
  289.                         'banners_title' => '',
  290.                         'banners_url' => '',
  291.                         'banners_group' => '',
  292.                         'banners_image' => '',
  293.                         'banners_html_text' => '',
  294.                         'expires_impressions' => '',
  295.                         'banners_open_new_windows' => '',
  296.                         'banners_on_ssl' => '');
  297.  
  298.     $bInfo = new objectInfo($parameters);
  299.  
  300.     if (isset($_GET['bID'])) {
  301.       $form_action = 'update';
  302.  
  303.       $bID = zen_db_prepare_input($_GET['bID']);
  304.  
  305.       $banner = $db->Execute("select banners_title, banners_url, banners_image, banners_group,
  306.                                     banners_html_text, status,
  307.                                     date_format(date_scheduled, '%Y/%m/%d') as date_scheduled,
  308.                                     date_format(expires_date, '%Y/%m/%d') as expires_date,
  309.                                     expires_impressions, date_status_change, banners_open_new_windows, banners_on_ssl, banners_sort_order
  310.                                     from " . TABLE_BANNERS . "
  311.                                     where banners_id = '" . (int)$bID . "'");
  312.  
  313.       $bInfo->objectInfo($banner->fields);
  314.     } elseif (zen_not_null($_POST)) {
  315.       $bInfo->objectInfo($_POST);
  316.     }
  317.  
  318.     if (!isset($bInfo->status)) $bInfo->status = '1';
  319.     switch ($bInfo->status) {
  320.       case '0': $is_status = false; $not_status = true; break;
  321.       case '1': $is_status = true; $not_status = false; break;
  322.       default: $is_status = true; $not_status = false; break;
  323.     }
  324.     if (!isset($bInfo->banners_open_new_windows)) $bInfo->banners_open_new_windows = '1';
  325.     switch ($bInfo->banners_open_new_windows) {
  326.       case '0': $is_banners_open_new_windows = false; $not_banners_open_new_windows = true; break;
  327.       case '1': $is_banners_open_new_windows = true; $not_banners_open_new_windows = false; break;
  328.       default: $is_banners_open_new_windows = true; $not_banners_open_new_windows = false; break;
  329.     }
  330.     if (!isset($bInfo->banners_on_ssl)) $bInfo->banners_on_ssl = '1';
  331.     switch ($bInfo->banners_on_ssl) {
  332.       case '0': $is_banners_on_ssl = false; $not_banners_on_ssl = true; break;
  333.       case '1': $is_banners_on_ssl = true; $not_banners_on_ssl = false; break;
  334.       default: $is_banners_on_ssl = true; $not_banners_on_ssl = false; break;
  335.     }
  336.  
  337.     $groups_array = array();
  338.     $groups = $db->Execute("select distinct banners_group
  339.                            from " . TABLE_BANNERS . "
  340.                            order by banners_group");
  341.     while (!$groups->EOF) {
  342.       $groups_array[] = array('id' => $groups->fields['banners_group'], 'text' => $groups->fields['banners_group']);
  343.       $groups->MoveNext();
  344.     }
  345. ?>
  346. <link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css">
  347. <script language="JavaScript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script>
  348. <script language="javascript">
  349.   var dateExpires = new ctlSpiffyCalendarBox("dateExpires", "new_banner", "expires_date","btnDate1","<?php echo zen_date_short($bInfo->expires_date); ?>",scBTNMODE_CUSTOMBLUE);
  350.   var dateScheduled = new ctlSpiffyCalendarBox("dateScheduled", "new_banner", "date_scheduled","btnDate2","<?php echo zen_date_short($bInfo->date_scheduled); ?>",scBTNMODE_CUSTOMBLUE);
  351. </script>
  352.       <tr>
  353.         <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  354.       </tr>
  355.       <tr><?php echo zen_draw_form('new_banner', FILENAME_BANNER_MANAGER, (isset($_GET['page']) ? 'page=' . $_GET['page'] . '&' : '') . 'action=' . $form_action, 'post', 'enctype="multipart/form-data"'); if ($form_action == 'update') echo zen_draw_hidden_field('banners_id', $bID); ?>
  356.         <td><table border="0" cellspacing="0" cellpadding="2">
  357.           <tr>
  358.             <td class="main"><?php echo TEXT_BANNERS_STATUS; ?></td>
  359.             <td class="main"><?php echo zen_draw_radio_field('status', '1', $is_status) . '&nbsp;' . TEXT_BANNERS_ACTIVE . '&nbsp;' . zen_draw_radio_field('status', '0', $not_status) . '&nbsp;' . TEXT_BANNERS_NOT_ACTIVE . '<br />' . TEXT_INFO_BANNER_STATUS; ?></td>
  360.           </tr>
  361.           <tr>
  362.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  363.           </tr>
  364.           <tr>
  365.             <td class="main"><?php echo TEXT_BANNERS_OPEN_NEW_WINDOWS; ?></td>
  366.             <td class="main"><?php echo zen_draw_radio_field('banners_open_new_windows', '1', $is_banners_open_new_windows) . '&nbsp;' . TEXT_YES . '&nbsp;' . zen_draw_radio_field('banners_open_new_windows', '0', $not_banners_open_new_windows) . '&nbsp;' . TEXT_NO . '<br />' . TEXT_INFO_BANNER_OPEN_NEW_WINDOWS; ?></td>
  367.           </tr>
  368.           <tr>
  369.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  370.           </tr>
  371.           <tr>
  372.             <td class="main"><?php echo TEXT_BANNERS_ON_SSL; ?></td>
  373.             <td class="main"><?php echo zen_draw_radio_field('banners_on_ssl', '1', $is_banners_on_ssl) . '&nbsp;' . TEXT_YES . '&nbsp;' . zen_draw_radio_field('banners_on_ssl', '0', $not_banners_on_ssl) . '&nbsp;' . TEXT_NO . '<br />' . TEXT_INFO_BANNER_ON_SSL; ?></td>
  374.           </tr>
  375.           <tr>
  376.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  377.           </tr>
  378.           <tr>
  379.             <td class="main"><?php echo TEXT_BANNERS_TITLE; ?></td>
  380.             <td class="main"><?php echo zen_draw_input_field('banners_title', htmlspecialchars($bInfo->banners_title, ENT_COMPAT, CHARSET, TRUE), zen_set_field_length(TABLE_BANNERS, 'banners_title'), true); ?></td>
  381.           </tr>
  382.           <tr>
  383.             <td class="main"><?php echo TEXT_BANNERS_URL; ?></td>
  384.             <td class="main"><?php echo zen_draw_input_field('banners_url', $bInfo->banners_url, zen_set_field_length(TABLE_BANNERS, 'banners_url')); ?></td>
  385.           </tr>
  386.           <tr>
  387.             <td class="main" valign="top"><?php echo TEXT_BANNERS_GROUP; ?></td>
  388.             <td class="main"><?php echo zen_draw_pull_down_menu('banners_group', $groups_array, $bInfo->banners_group) . TEXT_BANNERS_NEW_GROUP . '<br>' . zen_draw_input_field('new_banners_group', '', '', ((sizeof($groups_array) > 0) ? false : true)); ?></td>
  389.           </tr>
  390.           <tr>
  391.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  392.           </tr>
  393.           <tr>
  394.             <td class="main" valign="top"><?php echo TEXT_BANNERS_IMAGE; ?></td>
  395.             <td class="main"><?php echo zen_draw_file_field('banners_image') . ' ' . TEXT_BANNERS_IMAGE_LOCAL . '<br>' . DIR_FS_CATALOG_IMAGES . zen_draw_input_field('banners_image_local', (isset($bInfo->banners_image) ? $bInfo->banners_image : ''), zen_set_field_length(TABLE_BANNERS, 'banners_image')); ?></td>
  396.           </tr>
  397.           <tr>
  398.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  399.           </tr>
  400.           <tr>
  401.             <td class="main"><?php echo TEXT_BANNERS_IMAGE_TARGET; ?></td>
  402.             <td class="main"><?php echo DIR_FS_CATALOG_IMAGES . zen_draw_input_field('banners_image_target'); ?></td>
  403.           </tr>
  404.           <tr>
  405.             <td class="main" colspan="2"><?php echo TEXT_BANNER_IMAGE_TARGET_INFO; ?></td>
  406.           </tr>
  407.           <tr>
  408.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  409.           </tr>
  410.           <tr>
  411.             <td valign="top" class="main"><?php echo TEXT_BANNERS_HTML_TEXT; ?></td>
  412.             <td class="main"><?php echo TEXT_BANNERS_HTML_TEXT_INFO . '<br />' . zen_draw_textarea_field('banners_html_text', 'soft', '60', '5', htmlspecialchars($bInfo->banners_html_text, ENT_COMPAT, CHARSET, TRUE)); ?></td>
  413.           </tr>
  414.           <tr>
  415.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  416.           </tr>
  417.           <tr>
  418.             <td class="main"><?php echo TEXT_BANNERS_ALL_SORT_ORDER; ?></td>
  419.             <td class="main"><?php echo TEXT_BANNERS_ALL_SORT_ORDER_INFO . '<br />' . zen_draw_input_field('banners_sort_order', $bInfo->banners_sort_order, zen_set_field_length(TABLE_BANNERS, 'banners_sort_order'), false); ?></td>
  420.           </tr>
  421.           <tr>
  422.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  423.           </tr>
  424.           <tr>
  425.             <td class="main"><?php echo TEXT_BANNERS_SCHEDULED_AT; ?></td>
  426.             <td valign="top" class="main"><script language="javascript">dateScheduled.writeControl();dateScheduled.dateFormat="<?php echo DATE_FORMAT_SPIFFYCAL; ?>";</script></td>
  427.           </tr>
  428.           <tr>
  429.             <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  430.           </tr>
  431.           <tr>
  432.             <td valign="top" class="main"><?php echo TEXT_BANNERS_EXPIRES_ON; ?></td>
  433.             <td class="main"><script language="javascript">dateExpires.writeControl();dateExpires.dateFormat="<?php echo DATE_FORMAT_SPIFFYCAL; ?>";</script><?php echo TEXT_BANNERS_OR_AT . '<br>' . zen_draw_input_field('expires_impressions', $bInfo->expires_impressions, 'maxlength="7" size="7"') . ' ' . TEXT_BANNERS_IMPRESSIONS; ?></td>
  434.           </tr>
  435.         </table></td>
  436.       </tr>
  437.       <tr>
  438.         <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  439.       </tr>
  440.       <tr>
  441.         <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
  442.           <tr>
  443.             <td class="main"><?php echo TEXT_BANNERS_BANNER_NOTE . '<br>' . TEXT_BANNERS_INSERT_NOTE . '<br>' . TEXT_BANNERS_EXPIRCY_NOTE . '<br>' . TEXT_BANNERS_SCHEDULE_NOTE; ?></td>
  444.             <td class="main" align="right" valign="top" nowrap><?php echo (($form_action == 'insert') ? zen_image_submit('button_insert.gif', IMAGE_INSERT) : zen_image_submit('button_update.gif', IMAGE_UPDATE)). '&nbsp;&nbsp;<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, (isset($_GET['page']) ? 'page=' . $_GET['page'] . '&' : '') . (isset($_GET['bID']) ? 'bID=' . $_GET['bID'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>
  445.           </tr>
  446.         </table></td>
  447.       </form></tr>
  448. <?php
  449.   } else {
  450. ?>
  451.       <tr>
  452.         <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
  453.           <tr>
  454.             <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  455.               <tr class="dataTableHeadingRow">
  456.                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_BANNERS; ?></td>
  457.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_GROUPS; ?></td>
  458.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATISTICS; ?></td>
  459.                 <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td>
  460.                 <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_BANNER_OPEN_NEW_WINDOWS; ?></td>
  461.                 <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_BANNER_ON_SSL; ?></td>
  462.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_BANNER_SORT_ORDER; ?></td>
  463.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
  464.               </tr>
  465. <?php
  466. // Split Page
  467. // reset page when page is unknown
  468. if (($_GET['page'] == '' or $_GET['page'] == '1') and $_GET['bID'] != '') {
  469.   $banners_query_raw = "select banners_id, banners_title, banners_image, banners_group, status, expires_date, expires_impressions, date_status_change, date_scheduled, date_added, banners_open_new_windows, banners_on_ssl, banners_sort_order from " . TABLE_BANNERS . " order by banners_title, banners_group";
  470.   $check_page = $db->Execute($banners_query_raw);
  471.   $check_count=1;
  472.   if ($check_page->RecordCount() > MAX_DISPLAY_SEARCH_RESULTS) {
  473.     while (!$check_page->EOF) {
  474.       if ($check_page->fields['banners_id'] == $_GET['bID']) {
  475.         break;
  476.       }
  477.       $check_count++;
  478.       $check_page->MoveNext();
  479.     }
  480.     $_GET['page'] = round((($check_count/MAX_DISPLAY_SEARCH_RESULTS)+(fmod_round($check_count,MAX_DISPLAY_SEARCH_RESULTS) !=0 ? .5 : 0)),0);
  481.   } else {
  482.     $_GET['page'] = 1;
  483.   }
  484. }
  485.  
  486.     $banners_query_raw = "select banners_id, banners_title, banners_image, banners_group, status, expires_date, expires_impressions, date_status_change, date_scheduled, date_added, banners_open_new_windows, banners_on_ssl, banners_sort_order from " . TABLE_BANNERS . " order by banners_title, banners_group";
  487.     $banners_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $banners_query_raw, $banners_query_numrows);
  488.     $banners = $db->Execute($banners_query_raw);
  489.     while (!$banners->EOF) {
  490.       $info = $db->Execute("select sum(banners_shown) as banners_shown,
  491.                                   sum(banners_clicked) as banners_clicked
  492.                            from " . TABLE_BANNERS_HISTORY . "
  493.                            where banners_id = '" . (int)$banners->fields['banners_id'] . "'");
  494.  
  495.       if ((!isset($_GET['bID']) || (isset($_GET['bID']) && ($_GET['bID'] == $banners->fields['banners_id']))) && !isset($bInfo) && (substr($action, 0, 3) != 'new')) {
  496.         $bInfo_array = array_merge($banners->fields, $info->fields);
  497.         $bInfo = new objectInfo($bInfo_array);
  498.       }
  499.  
  500.       $banners_shown = ($info->fields['banners_shown'] != '') ? $info->fields['banners_shown'] : '0';
  501.       $banners_clicked = ($info->fields['banners_clicked'] != '') ? $info->fields['banners_clicked'] : '0';
  502.  
  503.       if (isset($bInfo) && is_object($bInfo) && ($banners->fields['banners_id'] == $bInfo->banners_id)) {
  504.         echo '              <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $bInfo->banners_id . '&action=new') . '\'">' . "\n";
  505.       } else {
  506.         echo '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id']) . '\'">' . "\n";
  507.       }
  508. ?>
  509.                 <td class="dataTableContent"><?php echo '<a href="javascript:popupImageWindow(\'' . FILENAME_POPUP_IMAGE . '.php' . '?banner=' . $banners->fields['banners_id']  . '\')">' . zen_image(DIR_WS_IMAGES . 'icon_popup.gif', 'View Banner') . '</a>&nbsp;' . $banners->fields['banners_title']; ?></td>
  510.                 <td class="dataTableContent" align="right"><?php echo $banners->fields['banners_group']; ?></td>
  511.                 <td class="dataTableContent" align="right"><?php echo $banners_shown . ' / ' . $banners_clicked; ?></td>
  512.                 <td class="dataTableContent" align="center">
  513. <?php
  514.       if ($banners->fields['status'] == '1') {
  515.         echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id'] . '&action=setflag&flag=0') . '">' . zen_image(DIR_WS_IMAGES . 'icon_green_on.gif', IMAGE_ICON_STATUS_ON) . '</a>';
  516.       } else {
  517.         echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id'] . '&action=setflag&flag=1') . '">' . zen_image(DIR_WS_IMAGES . 'icon_red_on.gif', IMAGE_ICON_STATUS_OFF) . '</a>';
  518.       }
  519. ?>
  520.                 </td>
  521.                 <td class="dataTableContent" align="center">
  522. <?php
  523.       if ($banners->fields['banners_open_new_windows'] == '1') {
  524.         echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id'] . '&action=setbanners_open_new_windows&flagbanners_open_new_windows=0') . '">' . zen_image(DIR_WS_IMAGES . 'icon_orange_on.gif', IMAGE_ICON_BANNER_OPEN_NEW_WINDOWS_ON) . '</a>';
  525.       } else {
  526.         echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id'] . '&action=setbanners_open_new_windows&flagbanners_open_new_windows=1') . '">' . zen_image(DIR_WS_IMAGES . 'icon_orange_off.gif', IMAGE_ICON_BANNER_OPEN_NEW_WINDOWS_OFF) . '</a>';
  527.       }
  528. ?>
  529.                 </td>
  530.                 <td class="dataTableContent" align="center">
  531. <?php
  532.       if ($banners->fields['banners_on_ssl'] == '1') {
  533.         echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id'] . '&action=setbanners_on_ssl&flagbanners_on_ssl=0') . '">' . zen_image(DIR_WS_IMAGES . 'icon_blue_on.gif', IMAGE_ICON_BANNER_ON_SSL_ON) . '</a>';
  534.       } else {
  535.         echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id'] . '&action=setbanners_on_ssl&flagbanners_on_ssl=1') . '">' . zen_image(DIR_WS_IMAGES . 'icon_blue_off.gif', IMAGE_ICON_BANNER_ON_SSL_OFF) . '</a>';
  536.       }
  537. ?>
  538.                 </td>
  539.                 <td class="dataTableContent" align="right"><?php echo $banners->fields['banners_sort_order']; ?></td>
  540.  
  541.                 <td class="dataTableContent" align="right"><?php echo '<a href="' . zen_href_link(FILENAME_BANNER_STATISTICS, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id']) . '">' . zen_image(DIR_WS_ICONS . 'statistics.gif', ICON_STATISTICS) . '</a>&nbsp;'; if (isset($bInfo) && is_object($bInfo) && ($banners->fields['banners_id'] == $bInfo->banners_id)) { echo zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $banners->fields['banners_id']) . '">' . zen_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
  542.               </tr>
  543. <?php
  544.       $banners->MoveNext();
  545.     }
  546. ?>
  547.               <tr>
  548.                 <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  549.                   <tr>
  550.                     <td class="smallText" valign="top"><?php echo $banners_split->display_count($banners_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_BANNERS); ?></td>
  551.                     <td class="smallText" align="right"><?php echo $banners_split->display_links($banners_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?></td>
  552.                   </tr>
  553.                   <tr>
  554.                     <td align="right" colspan="2"><?php echo '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'action=new') . '">' . zen_image_button('button_new_banner.gif', IMAGE_NEW_BANNER) . '</a>'; ?></td>
  555.                   </tr>
  556.                 </table></td>
  557.               </tr>
  558.             </table></td>
  559. <?php
  560.   $heading = array();
  561.   $contents = array();
  562.   switch ($action) {
  563.     case 'delete':
  564.       $heading[] = array('text' => '<b>' . $bInfo->banners_title . '</b>');
  565.  
  566.       $contents = array('form' => zen_draw_form('banners', FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&action=deleteconfirm') . zen_draw_hidden_field('bID', $bInfo->banners_id));
  567.       $contents[] = array('text' => TEXT_INFO_DELETE_INTRO);
  568.       $contents[] = array('text' => '<br><b>' . $bInfo->banners_title . '</b>');
  569.       if ($bInfo->banners_image) $contents[] = array('text' => '<br>' . zen_draw_checkbox_field('delete_image', 'on', true) . ' ' . TEXT_INFO_DELETE_IMAGE);
  570.       $contents[] = array('align' => 'center', 'text' => '<br>' . zen_image_submit('button_delete.gif', IMAGE_DELETE) . '&nbsp;<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $_GET['bID']) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  571.       break;
  572.     default:
  573.       if (is_object($bInfo)) {
  574.         $heading[] = array('text' => '<b>' . $bInfo->banners_title . '</b>');
  575.  
  576.         $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $bInfo->banners_id . '&action=new') . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $bInfo->banners_id . '&action=delete') . '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a>');
  577.         $contents[] = array('text' => '<br>' . TEXT_BANNERS_DATE_ADDED . ' ' . zen_date_short($bInfo->date_added));
  578.         $contents[] = array('center', 'text' => '<br />' . '<a href="' . zen_href_link(FILENAME_BANNER_MANAGER, 'page=' . $_GET['page'] . '&bID=' . $bInfo->banners_id) . '">' . zen_image_button('button_update.gif', IMAGE_UPDATE) . '</a>' );
  579.  
  580.         if ( (function_exists('imagecreate')) && ($dir_ok) && ($banner_extension) ) {
  581.           $banner_id = $bInfo->banners_id;
  582.           $days = '3';
  583.           include(DIR_WS_INCLUDES . 'graphs/banner_infobox.php');
  584.           $contents[] = array('align' => 'center', 'text' => '<br>' . zen_image(DIR_WS_IMAGES . 'graphs/banner_infobox-' . $banner_id . '.' . $banner_extension));
  585.         } else {
  586.           include(DIR_WS_FUNCTIONS . 'html_graphs.php');
  587.           $contents[] = array('align' => 'center', 'text' => '<br>' . zen_banner_graph_infoBox($bInfo->banners_id, '3'));
  588.         }
  589.  
  590.         $contents[] = array('text' => zen_image(DIR_WS_IMAGES . 'graph_hbar_blue.gif', 'Blue', '5', '5') . ' ' . TEXT_BANNERS_BANNER_VIEWS . '<br>' . zen_image(DIR_WS_IMAGES . 'graph_hbar_red.gif', 'Red', '5', '5') . ' ' . TEXT_BANNERS_BANNER_CLICKS);
  591.  
  592.         if ($bInfo->date_scheduled) $contents[] = array('text' => '<br>' . sprintf(TEXT_BANNERS_SCHEDULED_AT_DATE, zen_date_short($bInfo->date_scheduled)));
  593.  
  594.         if ($bInfo->expires_date) {
  595.           $contents[] = array('text' => '<br>' . sprintf(TEXT_BANNERS_EXPIRES_AT_DATE, zen_date_short($bInfo->expires_date)));
  596.         } elseif ($bInfo->expires_impressions) {
  597.           $contents[] = array('text' => '<br>' . sprintf(TEXT_BANNERS_EXPIRES_AT_IMPRESSIONS, $bInfo->expires_impressions));
  598.         }
  599.  
  600.         if ($bInfo->date_status_change) $contents[] = array('text' => '<br>' . sprintf(TEXT_BANNERS_STATUS_CHANGE, zen_date_short($bInfo->date_status_change)));
  601.       }
  602.       break;
  603.   }
  604.  
  605.   if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) {
  606.     echo '            <td width="25%" valign="top">' . "\n";
  607.  
  608.     $box = new box;
  609.     echo $box->infoBox($heading, $contents);
  610.  
  611.     echo '            </td>' . "\n";
  612.   }
  613. ?>
  614.           </tr>
  615.         </table></td>
  616.       </tr>
  617. <?php
  618.   }
  619. ?>
  620.     </table></td>
  621. <!-- body_text_eof //-->
  622.   </tr>
  623. </table>
  624. <!-- body_eof //-->
  625.  
  626. <!-- footer //-->
  627. <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
  628. <!-- footer_eof //-->
  629. <br>
  630. </body>
  631. </html>
  632. <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>


cron