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

Zen Cart 源代码 store_manager.php




下载文件

文件名: store_manager.php
文件类型: PHP文件
文件大小: 17.26 KiB
MD5: 34202405aee10d1b31233845505a4def

store_manager.php - 关闭高亮
  1. <?php
  2. /**
  3.  * @package admin
  4.  * @copyright Copyright 2003-2014 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 GIT: $Id: Author: DrByte  Jun 30 2014 Modified in v1.5.4 $
  8.  */
  9.  
  10.   require('includes/application_top.php');
  11.  
  12.   require(DIR_WS_CLASSES . 'currencies.php');
  13.   $currencies = new currencies();
  14.  
  15.   $languages = zen_get_languages();
  16.  
  17.   $products_filter = (isset($_GET['products_filter']) ? $_GET['products_filter'] : 0);
  18.  
  19.   $action = (isset($_GET['action']) ? $_GET['action'] : '');
  20.  
  21.   $current_category_id = (isset($_GET['current_category_id']) ? (int)$_GET['current_category_id'] : (int)$current_category_id);
  22.  
  23.   $processing_message = '';
  24.   $processing_action_url = '';
  25.  
  26.   zen_set_time_limit(600);
  27.   switch($action) {
  28.  
  29. // update all products in catalog
  30.     case ('update_all_products_attributes_sort_order'):
  31.       if (isset($_POST['confirm']) && $_POST['confirm'] == 'yes')
  32.       {
  33.         $all_products_attributes= $db->Execute("select p.products_id, pa.products_attributes_id from " .
  34.         TABLE_PRODUCTS . " p, " .
  35.         TABLE_PRODUCTS_ATTRIBUTES . " pa " . "
  36.        where p.products_id= pa.products_id"
  37.         );
  38.         while (!$all_products_attributes->EOF)
  39.         {
  40.           $count++;
  41.           $product_id_updated .= ' - ' . $all_products_attributes->fields['products_id'] . ':' . $all_products_attributes->fields['products_attributes_id'];
  42.           zen_update_attributes_products_option_values_sort_order($all_products_attributes->fields['products_id']);
  43.           $all_products_attributes->MoveNext();
  44.         }
  45.         $messageStack->add_session(SUCCESS_PRODUCT_UPDATE_SORT_ALL, 'success');
  46.         zen_record_admin_activity('Store Manager executed [update all products attributes sort order]', 'info');
  47.         $action='';
  48.         zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  49.       }
  50.       break;
  51.  
  52.     case ('update_all_products_price_sorter'):
  53.       if (isset($_POST['confirm']) && $_POST['confirm'] == 'yes')
  54.       {
  55.       // reset products_price_sorter for searches etc.
  56.         $sql = "select products_id from " . TABLE_PRODUCTS;
  57.         $update_prices = $db->Execute($sql);
  58.  
  59.         while (!$update_prices->EOF)
  60.         {
  61.           zen_update_products_price_sorter($update_prices->fields['products_id']);
  62.           $update_prices->MoveNext();
  63.         }
  64.         $messageStack->add_session(SUCCESS_PRODUCT_UPDATE_PRODUCTS_PRICE_SORTER, 'success');
  65.         zen_record_admin_activity('Store Manager executed [update all products price sorter]', 'info');
  66.         $action='';
  67.         zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  68.       }
  69.     break;
  70.  
  71.     case ('update_all_products_viewed'):
  72.     // reset products_viewed to 0
  73.       if (isset($_POST['confirm']) && $_POST['confirm'] == 'yes')
  74.       {
  75.         $sql = "update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed= '0'";
  76.         $update_viewed = $db->Execute($sql);
  77.  
  78.         $messageStack->add_session(SUCCESS_PRODUCT_UPDATE_PRODUCTS_VIEWED, 'success');
  79.         zen_record_admin_activity('Store Manager executed [update all products viewed]', 'info');
  80.         $action='';
  81.         zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  82.       }
  83.     break;
  84.  
  85.     case ('update_all_products_ordered'):
  86.       if (isset($_POST['confirm']) && $_POST['confirm'] == 'yes')
  87.       {
  88.       // reset products_ordered to 0
  89.         $sql = "update " . TABLE_PRODUCTS . " set products_ordered= '0'";
  90.         $update_viewed = $db->Execute($sql);
  91.  
  92.         $messageStack->add_session(SUCCESS_PRODUCT_UPDATE_PRODUCTS_ORDERED, 'success');
  93.         zen_record_admin_activity('Store Manager executed [update all products ordered]', 'info');
  94.         $action='';
  95.         zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  96.       }
  97.     break;
  98.  
  99.     case ('update_counter'):
  100.     if ($_POST['new_counter'] == '' || strval($_POST['new_counter']) != strval((int)$_POST['new_counter'])) break;
  101.     $sql = "update " . TABLE_COUNTER . " set counter= '" . (int)$_POST['new_counter'] . "'";
  102.     $update_counter = $db->Execute($sql);
  103.  
  104.     $messageStack->add_session(SUCCESS_UPDATE_COUNTER . (int)$_POST['new_counter'], 'success');
  105.     zen_record_admin_activity('Store Manager executed [update counter], set to ' . (int)$_POST['new_counter'], 'info');
  106.     $action='';
  107.     zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  108.     break;
  109.  
  110.     case ('optimize_db_start'):
  111.       $processing_message = TEXT_INFO_OPTIMIZING_DATABASE_TABLES;
  112.       $processing_action_url = zen_href_link(FILENAME_STORE_MANAGER, 'action=optimize_db_do');
  113.     break;
  114.     case ('optimize_db_do'):
  115.     // clean out unused space in database
  116.       if (isset($_POST['confirm']) && $_POST['confirm'] == 'yes')
  117.       {
  118.         $sql = "SHOW TABLE STATUS FROM `" . DB_DATABASE ."`";
  119.         $tables = $db->Execute($sql);
  120.         while(!$tables->EOF) {
  121.           // skip tables not matching prefixes
  122.           if (DB_PREFIX != '' && substr($tables->fields['Name'], 0, strlen(DB_PREFIX)) != DB_PREFIX) {
  123.             $tables->MoveNext();
  124.             continue;
  125.           }
  126.           zen_set_time_limit(600);
  127.           $db->Execute("OPTIMIZE TABLE `" . $tables->fields['Name'] . "`");
  128.           $i++;
  129.           if ($i/7 == (int)($i/7)) sleep(2);
  130.           $tables->MoveNext();
  131.         }
  132.         $messageStack->add_session(SUCCESS_DB_OPTIMIZE . ' ' . $i, 'success');
  133.         zen_record_admin_activity('Store Manager executed [optimize database tables]', 'info');
  134.         $action='';
  135.         zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  136.       }
  137.     break;
  138.  
  139. // clean out old DEBUG logfiles
  140.     case 'clean_debug_files':
  141.       foreach(array(DIR_FS_LOGS, DIR_FS_SQL_CACHE, DIR_FS_CATALOG . '/includes/modules/payment/paypal/logs') as $purgeFolder) {
  142.         $purgeFolder = rtrim($purgeFolder, '/');
  143.         $dir = dir($purgeFolder);
  144.         while ($file = $dir->read()) {
  145.           if ( ($file != '.') && ($file != '..') && substr($file, 0, 1) != '.') {
  146.             if (preg_match('/^(myDEBUG-|AIM_Debug_|SIM_Debug_|FirstData_Debug_|Linkpoint_Debug_|Paypal|paypal|ipn_|zcInstall|SHIP_|PAYMENT_|usps_|.*debug).*\.log$/i', $file)) {
  147.               if (is_writeable($purgeFolder . '/' . $file)) {
  148.                 zen_remove($purgeFolder . '/' . $file);
  149.               }
  150.             }
  151.           }
  152.         }
  153.         $dir->close();
  154.         unset($dir);
  155.       }
  156.       $messageStack->add_session(SUCCESS_CLEAN_DEBUG_FILES, 'success');
  157.       zen_record_admin_activity('Store Manager executed [clean debug/log files]', 'info');
  158.       zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  159.     break;
  160.  
  161.     case ('update_all_master_categories_id'):
  162.     // reset products master categories ID
  163.       if (isset($_POST['confirm']) && $_POST['confirm'] == 'yes')
  164.       {
  165.  
  166.         $sql = "select products_id from " . TABLE_PRODUCTS;
  167.         $check_products = $db->Execute($sql);
  168.         while (!$check_products->EOF) {
  169.  
  170.           $sql = "select products_id, categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id='" . $check_products->fields['products_id'] . "'";
  171.           $check_category = $db->Execute($sql);
  172.  
  173.           $sql = "update " . TABLE_PRODUCTS . " set master_categories_id='" . $check_category->fields['categories_id'] . "' where products_id='" . $check_products->fields['products_id'] . "'";
  174.           $update_viewed = $db->Execute($sql);
  175.  
  176.           $check_products->MoveNext();
  177.         }
  178.  
  179.         $messageStack->add_session(SUCCESS_UPDATE_ALL_MASTER_CATEGORIES_ID, 'success');
  180.         zen_record_admin_activity('Store Manager executed [update all master categories id]', 'info');
  181.         $action='';
  182.         zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  183.       }
  184.     break;
  185.  
  186.     case ('update_orders_id'):
  187.       global $db;
  188.       $new_orders_id = zen_db_prepare_input((int)$_POST['new_orders_id']);
  189.       $result = $db->Execute("select max(orders_id) as maxorder from " . TABLE_ORDERS);
  190.       $max_order1 = $result->fields['maxorder'];
  191.       $result = $db->Execute("select max(orders_id) as maxorder from " . TABLE_ORDERS_PRODUCTS);
  192.       $max_order2 = $result->fields['maxorder'];
  193.       if ($new_orders_id <= $max_order1 || $new_orders_id <= $max_order2)
  194.       {
  195.         $new_orders_id = max($max_order1, $max_order2) + 1;
  196.         $messageStack->add_session(sprintf(TEXT_MSG_NEXT_ORDER_MAX, $new_orders_id), 'caution');
  197.       } elseif ($new_orders_id > 2000000000) {
  198.         $messageStack->add_session(TEXT_MSG_NEXT_ORDER_TOO_LARGE, 'error');
  199.       } else {
  200.         $db->Execute("ALTER TABLE " . TABLE_ORDERS . " AUTO_INCREMENT = " . $new_orders_id);
  201.         $messageStack->add_session(sprintf(TEXT_MSG_NEXT_ORDER, $new_orders_id), 'success');
  202.         zen_record_admin_activity('Store Manager executed [update next order id], set to ' . $new_orders_id, 'info');
  203.       }
  204.       zen_redirect(zen_href_link(FILENAME_STORE_MANAGER));
  205.     break;
  206.  
  207.     } // eof: action
  208.  
  209. ?>
  210. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  211. <html <?php echo HTML_PARAMS; ?>>
  212. <head>
  213. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  214. <title><?php echo TITLE; ?></title>
  215. <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
  216. <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
  217. <script language="javascript" src="includes/menu.js"></script>
  218. <script language="javascript" src="includes/general.js"></script>
  219. <script type="text/javascript">
  220.   <!--
  221.   function init()
  222.   {
  223.     cssjsmenu('navbar');
  224.     if (document.getElementById)
  225.     {
  226.       var kill = document.getElementById('hoverJS');
  227.       kill.disabled = true;
  228.     }
  229.   }
  230.   // -->
  231. </script>
  232. <?php if ($processing_message != '' && $processing_action_url != '') echo '<meta http-equiv="refresh" content="2;URL=' . $processing_action_url . '">'; ?>
  233.  
  234. </head>
  235. <body onLoad="init()">
  236. <!-- header //-->
  237. <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
  238. <!-- header_eof //-->
  239.  
  240. <!-- body //-->
  241. <table border="0" width="100%" cellspacing="2" cellpadding="2">
  242.   <tr>
  243. <!-- body_text //-->
  244.     <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
  245.       <tr>
  246.         <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
  247.         <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
  248.       </tr>
  249.  
  250. <?php
  251. if ($processing_message != '') {
  252. ?>
  253.   <tr><td><?php echo $processing_message; ?></td></tr>
  254.   <tr><td align="center"><?php echo zen_image(DIR_WS_IMAGES . 'loadingsmall.gif'); ?></td></tr>
  255. <?php
  256. } else {
  257. ?>
  258.  
  259. <!-- bof: update all option values sort orders -->
  260.       <tr>
  261.         <td colspan="2"><br /><table border="0" cellspacing="0" cellpadding="2">
  262.           <tr>
  263.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_ATTRIBUTES_FEATURES_UPDATES; ?></td>
  264.             <td class="main" align="right" valign="middle"><?php echo zen_draw_form('update_all_products_attributes_sort_order', FILENAME_STORE_MANAGER, 'action=update_all_products_attributes_sort_order')?><input type="hidden" name="confirm" value="yes" /><?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?></form></td>
  265.           </tr>
  266.         </table></td>
  267.       </tr>
  268. <!-- eof: update all option values sort orders -->
  269.  
  270. <!-- bof: update all products price sorter -->
  271.       <tr>
  272.         <td colspan="2"><br /><table border="0" cellspacing="0" cellpadding="2">
  273.           <tr>
  274.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_PRODUCTS_PRICE_SORTER_UPDATE; ?></td>
  275.             <td class="main" align="right" valign="middle"><?php echo zen_draw_form('update_all_products_price_sorter', FILENAME_STORE_MANAGER, 'action=update_all_products_price_sorter')?><input type="hidden" name="confirm" value="yes" /><?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?></form></td>
  276.           </tr>
  277.         </table></td>
  278.       </tr>
  279. <!-- eof: update all products price sorter -->
  280.  
  281. <!-- bof: reset all counter to 0 -->
  282.       <tr>
  283.         <td colspan="2"><br /><table border="0" cellspacing="0" cellpadding="2">
  284.           <tr><form name = "update_counter" action="<?php echo zen_href_link(FILENAME_STORE_MANAGER, 'action=update_counter', 'NONSSL'); ?>" method="post">
  285.           <?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
  286.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_COUNTER_UPDATE; ?></td>
  287.             <td class="main" align="left" valign="bottom"><?php echo zen_draw_input_field('new_counter'); ?></td>
  288.             <td class="main" align="right" valign="middle"><?php echo zen_image_submit('button_reset.gif', IMAGE_RESET); ?></td>
  289.           </form></tr>
  290.         </table></td>
  291.       </tr>
  292. <!-- eof: reset all counter to 0 -->
  293.  
  294. <!-- bof: reset all products_viewed to 0 -->
  295.       <tr>
  296.         <td colspan="2"><br /><table border="0" cellspacing="0" cellpadding="2">
  297.           <tr>
  298.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_PRODUCTS_VIEWED_UPDATE; ?></td>
  299.             <td class="main" align="right" valign="middle"><?php echo zen_draw_form('update_all_products_viewed', FILENAME_STORE_MANAGER, 'action=update_all_products_viewed')?><input type="hidden" name="confirm" value="yes" /><?php echo zen_image_submit('button_reset.gif', IMAGE_UPDATE); ?></form></td>
  300.           </tr>
  301.         </table></td>
  302.       </tr>
  303. <!-- eof: reset all products_viewed to 0 -->
  304.  
  305. <!-- bof: reset all products_ordered to 0 -->
  306.       <tr>
  307.         <td colspan="2"><br /><table border="0" cellspacing="0" cellpadding="2">
  308.           <tr>
  309.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_PRODUCTS_ORDERED_UPDATE; ?></td>
  310.             <td class="main" align="right" valign="middle"><?php echo zen_draw_form('update_all_products_ordered', FILENAME_STORE_MANAGER, 'action=update_all_products_ordered')?><input type="hidden" name="confirm" value="yes" /><?php echo zen_image_submit('button_reset.gif', IMAGE_UPDATE); ?></form></td>
  311.           </tr>
  312.         </table></td>
  313.       </tr>
  314. <!-- eof: reset all products_ordered to 0 -->
  315.  
  316. <!-- bof: reset all master_categories_id -->
  317.       <tr>
  318.         <td colspan="2"><br /><table border="0" cellspacing="0" cellpadding="2">
  319.           <tr>
  320.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_MASTER_CATEGORIES_ID_UPDATE; ?></td>
  321.             <td class="main" align="right" valign="middle"><?php echo zen_draw_form('update_all_master_categories_id', FILENAME_STORE_MANAGER, 'action=update_all_master_categories_id')?><input type="hidden" name="confirm" value="yes" /><?php echo zen_image_submit('button_reset.gif', IMAGE_UPDATE); ?></form></td>
  322.           </tr>
  323.         </table></td>
  324.       </tr>
  325. <!-- eof: reset all master_categories_id -->
  326.  
  327. <!-- bof: reset next order to new order number -->
  328.       <tr>
  329.         <td colspan="2"><br /><table border="0" cellspacing="0" cellpadding="2">
  330.           <tr><form name="update_orders" action="<?php echo zen_href_link(FILENAME_STORE_MANAGER, 'action=update_orders_id', 'NONSSL'); ?>" method="post">
  331.           <?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
  332.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_SET_NEXT_ORDER_NUMBER; ?>
  333.             <br />
  334.             <?php echo TEXT_NEW_ORDERS_ID . '&nbsp;' . zen_draw_input_field('new_orders_id', (isset($new_orders_id) ? $new_orders_id : '')); ?>
  335.             <?php echo zen_image_submit('button_reset.gif', IMAGE_RESET); ?></td>
  336.             </form>
  337.           </tr>
  338.         </table>
  339.         </td>
  340.       </tr>
  341. <!-- eof: reset next order to new order number -->
  342.  
  343. <!-- bof: database table-optimize -->
  344.       <tr>
  345.         <td colspan="2"><br /><br /><table border="0" cellspacing="0" cellpadding="2">
  346.           <tr>
  347.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_DATABASE_OPTIMIZE; ?></td>
  348.             <td class="main" align="right" valign="middle"><?php echo zen_draw_form('optimize_db_start', FILENAME_STORE_MANAGER, 'action=optimize_db_start')?><input type="hidden" name="confirm" value="yes" /><?php echo zen_image_submit('button_reset.gif', IMAGE_UPDATE); ?></form></td>
  349.           </tr>
  350.         </table></td>
  351.       </tr>
  352. <!-- eof: database table-optimize -->
  353.  
  354. <!-- bof: clean_debug_files -->
  355.       <tr>
  356.         <td colspan="2"><br /><br /><table border="0" cellspacing="0" cellpadding="2">
  357.           <tr>
  358.             <td class="main" align="left" valign="top"><?php echo TEXT_INFO_PURGE_DEBUG_LOG_FILES; ?></td>
  359.             <td class="main" align="right" valign="middle"><?php echo zen_draw_form('clean_debug_files', FILENAME_STORE_MANAGER, 'action=clean_debug_files', 'post') . zen_image_submit('button_confirm.gif', IMAGE_UPDATE) . '</form>'; ?>
  360.           </tr>
  361.         </table></td>
  362.       </tr>
  363. <!-- eof: clean_debug_files -->
  364.  
  365. <?php
  366. } // eof configure
  367. ?>
  368.       <tr>
  369.         <td colspan="2"><?php echo '<br />' . zen_draw_separator('pixel_black.gif', '100%', '2'); ?></td>
  370.       </tr>
  371.     </table></td>
  372. <!-- body_text_eof //-->
  373.   </tr>
  374. </table>
  375. <!-- body_eof //-->
  376.  
  377. <!-- footer //-->
  378. <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
  379. <!-- footer_eof //-->
  380. </body>
  381. </html>
  382. <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>


cron