PageRenderTime 44ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 1ms

/trunk/ZenCart/admin123/salemaker.php

http://goldcat.googlecode.com/
PHP | 565 lines | 504 code | 43 blank | 18 comment | 107 complexity | 6ebab442278fe02edf077054a249cdfd MD5 | raw file
Possible License(s): AGPL-3.0, AGPL-1.0, BSD-3-Clause
  1. <?php
  2. /**
  3. * @package admin
  4. * @copyright Copyright 2003-2009 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: salemaker.php 14073 2009-08-05 11:20:01Z wilt $
  8. */
  9. //
  10. define('AUTOCHECK', 'False');
  11. require('includes/application_top.php');
  12. require(DIR_WS_CLASSES . 'currencies.php');
  13. $currencies = new currencies();
  14. $specials_condition_array = array(array('id' => '0', 'text' => SPECIALS_CONDITION_DROPDOWN_0),
  15. array('id' => '1', 'text' => SPECIALS_CONDITION_DROPDOWN_1),
  16. array('id' => '2', 'text' => SPECIALS_CONDITION_DROPDOWN_2));
  17. $deduction_type_array = array(array('id' => '0', 'text' => DEDUCTION_TYPE_DROPDOWN_0),
  18. array('id' => '1', 'text' => DEDUCTION_TYPE_DROPDOWN_1),
  19. array('id' => '2', 'text' => DEDUCTION_TYPE_DROPDOWN_2));
  20. $action = (isset($_GET['action']) ? $_GET['action'] : '');
  21. if (zen_not_null($action)) {
  22. switch ($action) {
  23. case 'setflag':
  24. $salemaker_data_array = array('sale_status' => zen_db_prepare_input($_GET['flag']),
  25. 'sale_date_last_modified' => 'now()',
  26. 'sale_date_status_change' => 'now()');
  27. zen_db_perform(TABLE_SALEMAKER_SALES, $salemaker_data_array, 'update', "sale_id = '" . zen_db_prepare_input($_GET['sID']) . "'");
  28. // update prices for products in sale
  29. zen_update_salemaker_product_prices($_GET['sID']);
  30. zen_redirect(zen_href_link(FILENAME_SALEMAKER, '', 'NONSSL'));
  31. break;
  32. case 'insert':
  33. case 'update':
  34. // insert a new sale or update an existing sale
  35. // Create a string of all affected (sub-)categories
  36. if (zen_not_null($_POST['categories'])) {
  37. $categories_selected = array();
  38. $categories_all = array();
  39. foreach(zen_db_prepare_input($_POST['categories']) as $category_path) {
  40. $tmp = explode('_', substr($category_path,0,strlen($category_path)-1));
  41. $category = array_pop($tmp);
  42. $categories_selected[] = $category;
  43. $categories_all[] = $category;
  44. foreach(zen_get_category_tree($category) as $subcategory) {
  45. if ($subcategory['id'] != '0') {
  46. $categories_all[] = $subcategory['id'];
  47. }
  48. }
  49. }
  50. asort($categories_selected);
  51. $categories_selected_string = implode(',', array_unique($categories_selected));
  52. asort($categories_all);
  53. $categories_all_string = ',' . implode(',', array_unique($categories_all)) . ',';
  54. } else {
  55. $categories_selected_string = 'null';
  56. $categories_all_string = 'null';
  57. }
  58. $salemaker_sales_data_array = array('sale_name' => zen_db_prepare_input($_POST['name']),
  59. 'sale_deduction_value' => zen_db_prepare_input((float)$_POST['deduction']),
  60. 'sale_deduction_type' => zen_db_prepare_input($_POST['type']),
  61. 'sale_pricerange_from' => zen_db_prepare_input((float)$_POST['from']),
  62. 'sale_pricerange_to' => zen_db_prepare_input((float)$_POST['to']),
  63. 'sale_specials_condition' => zen_db_prepare_input($_POST['condition']),
  64. 'sale_categories_selected' => $categories_selected_string,
  65. 'sale_categories_all' => $categories_all_string,
  66. 'sale_date_start' => ((zen_db_prepare_input($_POST['start']) == '') ? '0001-01-01' : zen_date_raw($_POST['start'])),
  67. 'sale_date_end' => ((zen_db_prepare_input($_POST['end']) == '') ? '0001-01-01' : zen_date_raw($_POST['end'])));
  68. if ($action == 'insert') {
  69. $salemaker_sales_data_array['sale_status'] = 1;
  70. $salemaker_sales_data_array['sale_date_added'] = 'now()';
  71. $salemaker_sales_data_array['sale_date_last_modified'] = '0001-01-01';
  72. $salemaker_sales_data_array['sale_date_status_change'] = '0001-01-01';
  73. zen_db_perform(TABLE_SALEMAKER_SALES, $salemaker_sales_data_array, 'insert');
  74. $_POST['sID'] = $db->Insert_ID();
  75. } else {
  76. $salemaker_sales_data_array['sale_date_last_modified'] = 'now()';
  77. zen_db_perform(TABLE_SALEMAKER_SALES, $salemaker_sales_data_array, 'update', "sale_id = '" . zen_db_input($_POST['sID']) . "'");
  78. }
  79. // update prices for products in sale
  80. zen_update_salemaker_product_prices($_POST['sID']);
  81. zen_redirect(zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $_POST['sID']));
  82. break;
  83. case 'copyconfirm':
  84. $newname = zen_db_prepare_input($_POST['newname']);
  85. if (zen_not_null($newname)) {
  86. $salemaker_sales = $db->Execute("select * from " . TABLE_SALEMAKER_SALES . " where sale_id = '" . zen_db_input($_GET['sID']) . "'");
  87. if ($salemaker_sales->RecordCount() > 0) {
  88. $sql_data_array = array('sale_id' => 'null',
  89. 'sale_status' => 0,
  90. 'sale_name' => $newname,
  91. 'sale_date_added' => 'now()',
  92. 'sale_date_last_modified' => '0001-01-01',
  93. 'sale_date_status_change' => '0001-01-01',
  94. 'sale_deduction_value' => (float)$salemaker_sales->fields['sale_deduction_value'],
  95. 'sale_deduction_type' => (float)$salemaker_sales->fields['sale_deduction_type'],
  96. 'sale_pricerange_from' => (float)$salemaker_sales->fields['sale_pricerange_from'],
  97. 'sale_pricerange_to' => (float)$salemaker_sales->fields['sale_pricerange_to'],
  98. 'sale_specials_condition' => (int)$salemaker_sales->fields['sale_specials_condition'],
  99. 'sale_categories_selected' => $salemaker_sales->fields['sale_categories_selected'],
  100. 'sale_categories_all' => $salemaker_sales->fields['sale_categories_all'],
  101. 'sale_date_start' => $salemaker_sales->fields['sale_date_start'],
  102. 'sale_date_end' => $salemaker_sales->fields['sale_date_end']
  103. );
  104. zen_db_perform(TABLE_SALEMAKER_SALES, $sql_data_array, 'insert');
  105. $sale_id = $db->Insert_ID();
  106. // update prices for products in sale
  107. zen_update_salemaker_product_prices($sale_id);
  108. }
  109. }
  110. zen_redirect(zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $db->Insert_ID()));
  111. break;
  112. case 'deleteconfirm':
  113. $sale_id = zen_db_prepare_input($_GET['sID']);
  114. // set sale off to update prices before removing
  115. $db->Execute("update " . TABLE_SALEMAKER_SALES . " set sale_status=0 where sale_id='" . $sale_id . "'");
  116. // update prices for products in sale
  117. zen_update_salemaker_product_prices($sale_id);
  118. $db->Execute("delete from " . TABLE_SALEMAKER_SALES . " where sale_id = '" . (int)$sale_id . "'");
  119. zen_redirect(zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page']));
  120. break;
  121. }
  122. }
  123. ?>
  124. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  125. <html <?php echo HTML_PARAMS; ?>>
  126. <head>
  127. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  128. <title><?php echo TITLE; ?></title>
  129. <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
  130. <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
  131. <script language="javascript" src="includes/menu.js"></script>
  132. <script language="javascript" src="includes/general.js"></script>
  133. <script type="text/javascript">
  134. <!--
  135. function init()
  136. {
  137. cssjsmenu('navbar');
  138. if (document.getElementById)
  139. {
  140. var kill = document.getElementById('hoverJS');
  141. kill.disabled = true;
  142. }
  143. }
  144. // -->
  145. </script>
  146. <?php
  147. if ( ($action == 'new') || ($action == 'edit') ) {
  148. ?>
  149. <link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css">
  150. <script language="JavaScript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script>
  151. <script language="JavaScript">
  152. function session_win() {
  153. window.open("<?php echo zen_href_link(FILENAME_SALEMAKER_INFO); ?>","salemaker_info","height=460,width=600,scrollbars=yes,resizable=yes").focus();
  154. }
  155. function popupWindow(url) {
  156. window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=600,height=460,screenX=150,screenY=150,top=150,left=150')
  157. }
  158. function session_win1() {
  159. window.open("<?php echo zen_href_link(FILENAME_SALEMAKER_POPUP, 'cid='.$category['categories_id']); ?>","salemaker_info","height=460,width=600,scrollbars=yes,resizable=yes").focus();
  160. }
  161. function init() {
  162. cssjsmenu('navbar');
  163. if (document.getElementById) {
  164. var kill = document.getElementById('hoverJS');
  165. kill.disabled = true;
  166. }
  167. }
  168. function RowClick(RowValue) {
  169. for (i=0; i<document.sale_form.length; i++) {
  170. if(document.sale_form.elements[i].type == 'checkbox') {
  171. if(document.sale_form.elements[i].value == RowValue) {
  172. if(document.sale_form.elements[i].disabled == false) {
  173. document.sale_form.elements[i].checked = !document.sale_form.elements[i].checked;
  174. }
  175. }
  176. }
  177. }
  178. SetCategories()
  179. }
  180. function CheckBoxClick() {
  181. if(this.disabled == false) {
  182. this.checked = !this.checked;
  183. }
  184. SetCategories()
  185. }
  186. function SetCategories() {
  187. for (i=0; i<document.sale_form.length; i++) {
  188. if(document.sale_form.elements[i].type == 'checkbox') {
  189. document.sale_form.elements[i].disabled = false;
  190. document.sale_form.elements[i].onclick = CheckBoxClick;
  191. document.sale_form.elements[i].parentNode.parentNode.className = 'SaleMakerOver';
  192. }
  193. }
  194. change = true;
  195. while(change) {
  196. change = false;
  197. for (i=0; i<document.sale_form.length; i++) {
  198. if(document.sale_form.elements[i].type == 'checkbox') {
  199. currentcheckbox = document.sale_form.elements[i];
  200. currentrow = currentcheckbox.parentNode.parentNode;
  201. if ( (currentcheckbox.checked) && (currentrow.className == 'SaleMakerOver') ) {
  202. currentrow.className = 'SaleMakerSelected';
  203. for (j=0; j<document.sale_form.length; j++) {
  204. if(document.sale_form.elements[j].type == 'checkbox') {
  205. relatedcheckbox = document.sale_form.elements[j];
  206. relatedrow = relatedcheckbox.parentNode.parentNode;
  207. if( (relatedcheckbox != currentcheckbox) && (relatedcheckbox.value.substr(0, currentcheckbox.value.length) == currentcheckbox.value) ) {
  208. if(!relatedcheckbox.disabled) {
  209. <?php
  210. if ( (defined('AUTOCHECK')) && (AUTOCHECK == 'True') ) {
  211. ?>
  212. relatedcheckbox.checked = true;
  213. <?php
  214. }
  215. ?>
  216. relatedcheckbox.disabled = true;
  217. relatedrow.className = 'SaleMakerDisabled';
  218. change = true;
  219. }
  220. }
  221. }
  222. }
  223. }
  224. }
  225. }
  226. }
  227. }
  228. </script>
  229. </head>
  230. <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetCategories();SetFocus();init()">
  231. <div id="spiffycalendar" class="text"></div>
  232. <?php
  233. } else {
  234. ?>
  235. </head>
  236. <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();init()">
  237. <?php
  238. }
  239. ?>
  240. <!-- header //-->
  241. <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
  242. <!-- header_eof //-->
  243. <!-- body //-->
  244. <table border="0" width="100%" cellspacing="2" cellpadding="2">
  245. <tr>
  246. <!-- body_text //-->
  247. <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  248. <tr>
  249. <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
  250. <tr>
  251. <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
  252. <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
  253. </tr>
  254. </table></td>
  255. </tr>
  256. <?php
  257. if ( ($action == 'new') || ($action == 'edit') ) {
  258. $form_action = 'insert';
  259. if ( ($action == 'edit') && ($_GET['sID']) ) {
  260. $form_action = 'update';
  261. $salemaker_sales = $db->Execute("select sale_id, sale_status, sale_name, sale_deduction_value, sale_deduction_type, sale_pricerange_from, sale_pricerange_to, sale_specials_condition, sale_categories_selected, sale_categories_all, sale_date_start, sale_date_end, sale_date_added, sale_date_last_modified, sale_date_status_change from " . TABLE_SALEMAKER_SALES . " where sale_id = '" . (int)$_GET['sID'] . "'");
  262. $sInfo = new objectInfo($salemaker_sales->fields);
  263. } else {
  264. $sInfo = new objectInfo(array());
  265. }
  266. ?>
  267. <script language="javascript">
  268. var StartDate = new ctlSpiffyCalendarBox("StartDate", "sale_form", "start", "btnDate1","<?php echo (($sInfo->sale_date_start == '0001-01-01') ? '' : zen_date_short($sInfo->sale_date_start)); ?>",scBTNMODE_CUSTOMBLUE);
  269. var EndDate = new ctlSpiffyCalendarBox("EndDate", "sale_form", "end", "btnDate2","<?php echo (($sInfo->sale_date_end == '0001-01-01') ? '' : zen_date_short($sInfo->sale_date_end)); ?>",scBTNMODE_CUSTOMBLUE);
  270. </script>
  271. <tr><?php echo zen_draw_form("sale_form", FILENAME_SALEMAKER, zen_get_all_get_params(array('action', 'info', 'sID')) . 'action=' . $form_action); ?><?php if ($form_action == 'update') echo zen_draw_hidden_field('sID', $_GET['sID']); ?>
  272. <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
  273. <tr>
  274. <td class="main"><?php echo TEXT_SALEMAKER_POPUP; ?></td>
  275. <td class="main" align="right" valign="top"><br><?php echo (($form_action == 'insert') ? zen_image_submit('button_insert.gif', IMAGE_INSERT) : zen_image_submit('button_update.gif', IMAGE_UPDATE)). '&nbsp;&nbsp;&nbsp;<a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . ($_GET['sID'] > 0 ? '&sID=' . $_GET['sID'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL); ?></td>
  276. </tr>
  277. </table></td>
  278. </tr>
  279. <tr>
  280. <td><table border="0" cellspacing="0" cellpadding="2">
  281. <tr>
  282. <td class="main"><?php echo TEXT_SALEMAKER_NAME; ?>&nbsp;</td>
  283. <td class="main"><?php echo zen_draw_input_field('name', $sInfo->sale_name, 'size="37"'); ?></td>
  284. </tr>
  285. <tr>
  286. <td class="main"><?php echo TEXT_SALEMAKER_DEDUCTION; ?>&nbsp;</td>
  287. <td class="main"><?php echo zen_draw_input_field('deduction', $sInfo->sale_deduction_value, 'size="8"') . TEXT_SALEMAKER_DEDUCTION_TYPE . zen_draw_pull_down_menu('type', $deduction_type_array, $sInfo->sale_deduction_type); ?></td>
  288. </tr>
  289. <tr>
  290. <td class="main"><?php echo TEXT_SALEMAKER_PRICERANGE_FROM; ?>&nbsp;</td>
  291. <td class="main"><?php echo zen_draw_input_field('from', $sInfo->sale_pricerange_from, 'size="8"') . TEXT_SALEMAKER_PRICERANGE_TO . zen_draw_input_field('to', $sInfo->sale_pricerange_to, 'size="8"'); ?></td>
  292. </tr>
  293. <tr>
  294. <td class="main"><?php echo TEXT_SALEMAKER_SPECIALS_CONDITION; ?>&nbsp;</td>
  295. <td class="main"><?php echo zen_draw_pull_down_menu('condition', $specials_condition_array, $sInfo->sale_specials_condition); ?></td>
  296. </tr>
  297. <tr>
  298. <td class="main"><?php echo TEXT_SALEMAKER_DATE_START; ?>&nbsp;</td>
  299. <td class="main"><script language="javascript">StartDate.writeControl(); StartDate.dateFormat="<?php echo DATE_FORMAT_SPIFFYCAL; ?>";</script></td>
  300. </tr>
  301. <tr>
  302. <td class="main"><?php echo TEXT_SALEMAKER_DATE_END; ?>&nbsp;</td>
  303. <td class="main"><script language="javascript">EndDate.writeControl(); EndDate.dateFormat="<?php echo DATE_FORMAT_SPIFFYCAL; ?>";</script></td>
  304. </tr>
  305. </table>
  306. </tr>
  307. <tr><table width="750" border="0" cellspacing="2" cellpadding="2">
  308. <?php
  309. $categories_array = zen_get_category_tree('0','&nbsp;&nbsp;','0');
  310. $n = sizeof($categories_array);
  311. for($i = 0; $i < $n; $i++) {
  312. $parents = $db->Execute("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . $categories_array[$i]['id'] . "' ");
  313. $categories_array[$i]['parent_id'] = $parents->fields['parent_id'];
  314. $categories_array[$i]['categories_id'] = $categories_array[$i]['id'];
  315. $categories_array[$i]['path'] = $categories_array[$i]['categories_id'];
  316. $categories_array[$i]['indent'] = 0;
  317. $parent = $categories_array[$i]['parent_id'];
  318. while($parent != 0) {
  319. $categories_array[$i]['indent']++;
  320. for($j = 0; $j < $n; $j++) {
  321. if($categories_array[$j]['categories_id'] == $parent) {
  322. $categories_array[$i]['path'] = $parent . '_' . $categories_array[$i]['path'];
  323. $parent = $categories_array[$j]['parent_id'];
  324. break;
  325. }
  326. }
  327. }
  328. $categories_array[$i]['path'] = $categories_array[$i]['path'] . '_';
  329. }
  330. $categories_selected = explode(',', $sInfo->sale_categories_selected);
  331. if (zen_not_null($sInfo->sale_categories_selected)) {
  332. $selected = in_array(0, $categories_selected);
  333. } else {
  334. $selected = false;
  335. }
  336. $prev_sales = $db->Execute("select sale_categories_all from " . TABLE_SALEMAKER_SALES);
  337. while (!$prev_sales->EOF) {
  338. $prev_categories = explode(',', $prev_sales->fields['sale_categories_all']);
  339. while(list($key,$value) = each($prev_categories)) {
  340. if ($value) $prev_categories_array[$value]++;
  341. }
  342. $prev_sales->MoveNext();
  343. }
  344. // set Entire Catalog when set
  345. if (empty($sInfo->sale_categories_selected) AND !empty($sInfo->sale_categories_all)) {
  346. $zc_check_all_cats = 1;
  347. } else {
  348. $zc_check_all_cats = 0;
  349. }
  350. echo " <tr>\n";
  351. echo ' <td valign="bottom" class="main">' . zen_draw_separator('pixel_trans.gif', '4', '1') . zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif') . "</td>\n";
  352. echo ' <td class="main" colspan="2"><br>' . TEXT_SALEMAKER_ENTIRE_CATALOG . "</td>\n";
  353. echo " </tr>\n";
  354. echo ' <tr onClick="RowClick(\'0\')">' . "\n";
  355. echo ' <td width="10" class="main">' . zen_draw_checkbox_field('categories[]', '0', $zc_check_all_cats) . "</td>\n";
  356. echo ' <td class="main" colspan="2">' . TEXT_SALEMAKER_TOP . "</td>\n";
  357. echo " </tr>\n";
  358. echo " <tr>\n";
  359. echo ' <td valign="bottom" class="main">' . zen_draw_separator('pixel_trans.gif', '4', '1') . zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif') . "</td>\n";
  360. echo ' <td class="main" colspan="2"><br>' . TEXT_SALEMAKER_CATEGORIES . "</td>\n";
  361. echo " </tr>\n";
  362. echo " </table></tr>\n";
  363. echo ' <tr valign="top"><table width="80%" border ="0" cellspacing="2" cellpadding="2">' . "\n";
  364. foreach($categories_array as $category) {
  365. if (zen_not_null($sInfo->sale_categories_selected)) {
  366. $selected = in_array($category['categories_id'], $categories_selected);
  367. } else {
  368. $selected = false;
  369. }
  370. echo ' <tr valign="top"><td><table border="0" cellspacing="2" cellpadding="2">' . "\n";
  371. echo ' <tr onClick="RowClick(\'' . $category['path'] . '\')">' . "\n";
  372. echo ' <td width="10">' . zen_draw_checkbox_field('categories[]', $category['path'], $selected) . "</td>\n";
  373. echo ' <td width="40%">' . $category['text']. "</td>\n";
  374. echo '<td width="70%">';
  375. if ($prev_categories_array[$category['categories_id']]) {
  376. echo sprintf(TEXT_WARNING_SALEMAKER_PREVIOUS_CATEGORIES, $prev_categories_array[$category['categories_id']]);
  377. }
  378. echo "</td>\n";
  379. echo ' </tr>' . "\n";
  380. echo ' </table></td>' . "\n";
  381. echo ' <td align="right"><table border="0" cellspacing="2" cellpadding="2">' . "\n";
  382. echo ' <tr>' . "\n";
  383. if ($prev_categories_array[$category['categories_id']]) {
  384. echo ' <td>' . "\n";
  385. ?>
  386. <script language="javascript" type="text/javascript"><!--
  387. document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . zen_href_link(FILENAME_SALEMAKER_POPUP, 'cid=' . $category['categories_id']) . '\\\')">'.TEXT_MORE_INFO.'</a>'; ?>');
  388. //--></script>
  389. <?php
  390. }
  391. echo "</td>\n";
  392. echo ' </tr>' . "\n";
  393. echo ' </table></td>' . "\n";
  394. echo ' </tr>' . "\n";
  395. }
  396. echo ' </table></tr>' . "\n";
  397. ?>
  398. </table></td>
  399. </form></tr>
  400. <?php
  401. } else {
  402. ?>
  403. <tr>
  404. <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
  405. <tr>
  406. <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  407. <tr class="dataTableHeadingRow">
  408. <td class="dataTableHeadingContent" align="left"><?php echo TABLE_HEADING_SALE_NAME; ?></td>
  409. <td class="dataTableHeadingContent" align="center" colspan="2"><?php echo TABLE_HEADING_SALE_DEDUCTION; ?></td>
  410. <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_SALE_DATE_START; ?></td>
  411. <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_SALE_DATE_END; ?></td>
  412. <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td>
  413. <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
  414. </tr>
  415. <?php
  416. $salemaker_sales_query_raw = "select sale_id, sale_status, sale_name, sale_deduction_value, sale_deduction_type, sale_pricerange_from, sale_pricerange_to, sale_specials_condition, sale_categories_selected, sale_categories_all, sale_date_start, sale_date_end, sale_date_added, sale_date_last_modified, sale_date_status_change from " . TABLE_SALEMAKER_SALES . " order by sale_name";
  417. $salemaker_sales_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $salemaker_sales_query_raw, $salemaker_sales_query_numrows);
  418. $salemaker_sales = $db->Execute($salemaker_sales_query_raw);
  419. while (!$salemaker_sales->EOF) {
  420. if ((!isset($_GET['sID']) || (isset($_GET['sID']) && ($_GET['sID'] == $salemaker_sales->fields['sale_id']))) && !isset($sInfo)) {
  421. $sInfo_array = $salemaker_sales->fields;
  422. $sInfo = new objectInfo($sInfo_array);
  423. }
  424. if (isset($sInfo) && is_object($sInfo) && ($salemaker_sales->fields['sale_id'] == $sInfo->sale_id)) {
  425. echo ' <tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'hand\'" onclick="document.location.href=\'' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id . '&action=edit') . '\'">' . "\n";
  426. } else {
  427. echo ' <tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'" onclick="document.location.href=\'' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $salemaker_sales->fields['sale_id']) . '\'">' . "\n";
  428. }
  429. ?>
  430. <td class="dataTableContent" align="left"><?php echo $salemaker_sales->fields['sale_name']; ?></td>
  431. <td class="dataTableContent" align="right"><?php echo $salemaker_sales->fields['sale_deduction_value']; ?></td>
  432. <td class="dataTableContent" align="left"><?php echo $deduction_type_array[$salemaker_sales->fields['sale_deduction_type']]['text']; ?></td>
  433. <td class="dataTableContent" align="center"><?php echo (($salemaker_sales->fields['sale_date_start'] == '0001-01-01') ? TEXT_SALEMAKER_IMMEDIATELY : zen_date_short($salemaker_sales->fields['sale_date_start'])); ?></td>
  434. <td class="dataTableContent" align="center"><?php echo (($salemaker_sales->fields['sale_date_end'] == '0001-01-01') ? TEXT_SALEMAKER_NEVER : zen_date_short($salemaker_sales->fields['sale_date_end'])); ?></td>
  435. <td class="dataTableContent" align="center">
  436. <?php
  437. if ($salemaker_sales->fields['sale_status'] == '1') {
  438. echo '<a href="' . zen_href_link(FILENAME_SALEMAKER, 'action=setflag&flag=0&sID=' . $salemaker_sales->fields['sale_id'], 'NONSSL') . '">' . zen_image(DIR_WS_IMAGES . 'icon_green_on.gif', IMAGE_ICON_STATUS_ON) . '</a>';
  439. } else {
  440. echo '<a href="' . zen_href_link(FILENAME_SALEMAKER, 'action=setflag&flag=1&sID=' . $salemaker_sales->fields['sale_id'], 'NONSSL') . '">' . zen_image(DIR_WS_IMAGES . 'icon_red_on.gif', IMAGE_ICON_STATUS_OFF) . '</a>';
  441. }
  442. ?>
  443. </td>
  444. <td class="dataTableContent" align="right"><?php if ( (is_object($sInfo)) && ($salemaker_sales->fields['sale_id'] == $sInfo->sale_id) ) { echo zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $salemaker_sales->fields['sale_id']) . '">' . zen_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
  445. </tr>
  446. <?php
  447. $salemaker_sales->MoveNext();
  448. }
  449. ?>
  450. <tr>
  451. <td colspan="7"><table border="0" width="100%" cellpadding="0"cellspacing="2">
  452. <tr>
  453. <td class="smallText" valign="top"><?php echo $salemaker_sales_split->display_count($salemaker_sales_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_SALES); ?></td>
  454. <td class="smallText" align="right"><?php echo $salemaker_sales_split->display_links($salemaker_sales_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?></td>
  455. </tr>
  456. <?php
  457. if (empty($action)) {
  458. ?>
  459. <tr>
  460. <td colspan="2" align="right"><?php echo '<a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&action=new') . '">' . zen_image_button('button_new_sale.gif', IMAGE_NEW_SALE) . '</a>'; ?></td>
  461. </tr>
  462. <?php
  463. }
  464. ?>
  465. </table></td>
  466. </tr>
  467. </table></td>
  468. <?php
  469. $heading = array();
  470. $contents = array();
  471. switch ($action) {
  472. case 'copy':
  473. $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_COPY_SALE . '</b>');
  474. $contents = array('form' => zen_draw_form('sales', FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id . '&action=copyconfirm'));
  475. $contents[] = array('text' => sprintf(TEXT_INFO_COPY_INTRO, $sInfo->sale_name));
  476. $contents[] = array('text' => '<br>&nbsp;' . zen_draw_input_field('newname', $sInfo->sale_name . '_', 'size="31"'));
  477. $contents[] = array('align' => 'center', 'text' => '<br>' . zen_image_submit('button_copy.gif', IMAGE_COPY) . '&nbsp;<a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  478. break;
  479. case 'delete':
  480. $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_SALE . '</b>');
  481. $contents = array('form' => zen_draw_form('sales', FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id . '&action=deleteconfirm'));
  482. $contents[] = array('text' => TEXT_INFO_DELETE_INTRO);
  483. $contents[] = array('text' => '<br><b>' . $sInfo->sale_name . '</b>');
  484. $contents[] = array('align' => 'center', 'text' => '<br>' . zen_image_submit('button_delete.gif', IMAGE_DELETE) . '&nbsp;<a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  485. break;
  486. default:
  487. if (is_object($sInfo)) {
  488. $heading[] = array('text' => '<b>' . $sInfo->sale_name . '</b>');
  489. $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id . '&action=edit') . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id . '&action=copy') . '">' . zen_image_button('button_copy_to.gif', IMAGE_COPY_TO) . '</a> <a href="' . zen_href_link(FILENAME_SALEMAKER, 'page=' . $_GET['page'] . '&sID=' . $sInfo->sale_id . '&action=delete') . '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a>');
  490. $contents[] = array('text' => '<br>' . TEXT_INFO_DATE_ADDED . ' ' . zen_date_short($sInfo->sale_date_added));
  491. $contents[] = array('text' => '' . TEXT_INFO_DATE_MODIFIED . ' ' . (($sInfo->sale_date_last_modified == '0001-01-01') ? TEXT_SALEMAKER_NEVER : zen_date_short($sInfo->sale_date_last_modified)));
  492. $contents[] = array('text' => '' . TEXT_INFO_DATE_STATUS_CHANGE . ' ' . (($sInfo->sale_date_status_change == '0001-01-01') ? TEXT_SALEMAKER_NEVER : zen_date_short($sInfo->sale_date_status_change)));
  493. $contents[] = array('text' => '<br>' . TEXT_INFO_DEDUCTION . ' ' . $sInfo->sale_deduction_value . ' ' . $deduction_type_array[$sInfo->sale_deduction_type]['text']);
  494. $contents[] = array('text' => '' . TEXT_INFO_PRICERANGE_FROM . ' ' . $currencies->format($sInfo->sale_pricerange_from) . TEXT_INFO_PRICERANGE_TO . $currencies->format($sInfo->sale_pricerange_to));
  495. $contents[] = array('text' => '<table class="dataTableContent" border="0" width="100%" cellspacing="0" cellpadding="0"><tr><td valign="top">' . TEXT_INFO_SPECIALS_CONDITION . '&nbsp;</td><td>' . $specials_condition_array[$sInfo->sale_specials_condition]['text'] . '</td></tr></table>');
  496. $contents[] = array('text' => '<br>' . TEXT_INFO_DATE_START . ' ' . (($sInfo->sale_date_start == '0001-01-01') ? TEXT_SALEMAKER_IMMEDIATELY : zen_date_short($sInfo->sale_date_start)));
  497. $contents[] = array('text' => '' . TEXT_INFO_DATE_END . ' ' . (($sInfo->sale_date_end == '0001-01-01') ? TEXT_SALEMAKER_NEVER : zen_date_short($sInfo->sale_date_end)));
  498. }
  499. break;
  500. }
  501. if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) {
  502. echo ' <td valign="top">' . "\n";
  503. $box = new box;
  504. echo $box->infoBox($heading, $contents);
  505. echo ' </td>' . "\n";
  506. }
  507. }
  508. ?>
  509. </tr>
  510. </table></td>
  511. </tr>
  512. </table></td>
  513. <!-- body_text_eof //-->
  514. </tr>
  515. </table>
  516. <!-- body_eof //-->
  517. <!-- footer //-->
  518. <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
  519. <!-- footer_eof //-->
  520. </body>
  521. </html>
  522. <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>