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

Zen Cart 源代码 product.php




下载文件

文件名: product.php
文件类型: PHP文件
文件大小: 24.28 KiB
MD5: 12f439200d32fd4c9e075209bd38dc4c

product.php - 关闭高亮
  1. <?php
  2. /**
  3.  * @package admin
  4.  * @copyright Copyright 2003-2010 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: product.php 15881 2010-04-11 16:32:39Z wilt $
  8.  */
  9.  
  10.   require('includes/application_top.php');
  11.  
  12.   require(DIR_WS_MODULES . 'prod_cat_header_code.php');
  13.  
  14.   $action = (isset($_GET['action']) ? $_GET['action'] : '');
  15.     // Ultimate SEO URLs v2.100
  16.     // If the action will affect the cache entries
  17.     if (preg_match("/(insert|update|setflag)/i", $action)) {
  18.         include_once(DIR_WS_INCLUDES . 'reset_seo_cache.php');
  19.     }
  20.  
  21.   if (zen_not_null($action)) {
  22.     switch ($action) {
  23.       case 'setflag':
  24.         if ( ($_GET['flag'] == '0') || ($_GET['flag'] == '1') ) {
  25.           if (isset($_GET['pID'])) {
  26.             zen_set_product_status($_GET['pID'], $_GET['flag']);
  27.           }
  28.         }
  29.  
  30.         zen_redirect(zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $_GET['cPath'] . '&pID=' . $_GET['pID'] . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')));
  31.         break;
  32.  
  33.       case 'delete_product_confirm':
  34.       $delete_linked = 'true';
  35.       if ($_POST['delete_linked'] == 'delete_linked_no') {
  36.         $delete_linked = 'false';
  37.       } else {
  38.         $delete_linked = 'true';
  39.       }
  40.       $product_type = zen_get_products_type($_POST['products_id']);
  41.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php')) {
  42.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php');
  43.          } else {
  44.           require(DIR_WS_MODULES . 'delete_product_confirm.php');
  45.          }
  46.         break;
  47.       case 'move_product_confirm':
  48.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/move_product_confirm.php')) {
  49.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/move_product_confirm.php');
  50.          } else {
  51.           require(DIR_WS_MODULES . 'move_product_confirm.php');
  52.          }
  53.         break;
  54.       case 'insert_product_meta_tags':
  55.       case 'update_product_meta_tags':
  56.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/update_product_meta_tags.php')) {
  57.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/update_product_meta_tags.php');
  58.          } else {
  59.           require(DIR_WS_MODULES . 'update_product_meta_tags.php');
  60.          }
  61.         break;
  62.       case 'insert_product':
  63.       case 'update_product':
  64.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/update_product.php')) {
  65.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/update_product.php');
  66.          } else {
  67.           require(DIR_WS_MODULES . 'update_product.php');
  68.          }
  69.         break;
  70.       case 'copy_to_confirm':
  71.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/copy_to_confirm.php')) {
  72.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/copy_to_confirm.php');
  73.          } else {
  74.           require(DIR_WS_MODULES . 'copy_to_confirm.php');
  75.          }
  76.         break;
  77.       case 'new_product_preview_meta_tags':
  78.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/new_product_preview_meta_tags.php')) {
  79.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/new_product_preview_meta_tags.php');
  80.          } else {
  81.           require(DIR_WS_MODULES . 'new_product_preview_meta_tags.php');
  82.          }
  83.         break;
  84.       case 'new_product_preview':
  85.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/new_product_preview.php')) {
  86.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/new_product_preview.php');
  87.          } else {
  88.           require(DIR_WS_MODULES . 'new_product_preview.php');
  89.          }
  90.         break;
  91.  
  92.     }
  93.   }
  94.  
  95. // check if the catalog image directory exists
  96.   if (is_dir(DIR_FS_CATALOG_IMAGES)) {
  97.     if (!is_writeable(DIR_FS_CATALOG_IMAGES)) $messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_NOT_WRITEABLE, 'error');
  98.   } else {
  99.     $messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_DOES_NOT_EXIST, 'error');
  100.   }
  101. ?>
  102. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  103. <html <?php echo HTML_PARAMS; ?>>
  104. <head>
  105. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  106. <title><?php echo TITLE; ?></title>
  107. <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
  108. <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
  109. <script language="javascript" src="includes/menu.js"></script>
  110. <script language="javascript" src="includes/general.js"></script>
  111. <script type="text/javascript">
  112.   <!--
  113.   function init()
  114.   {
  115.     cssjsmenu('navbar');
  116.     if (document.getElementById)
  117.     {
  118.       var kill = document.getElementById('hoverJS');
  119.       kill.disabled = true;
  120.     }
  121. if (typeof _editor_url == "string") HTMLArea.replaceAll();
  122.  }
  123.  // -->
  124. </script>
  125. <?php if ($action != 'new_product_meta_tags' && $editor_handler != '') include ($editor_handler); ?>
  126. </head>
  127. <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="init()">
  128. <div id="spiffycalendar" class="text"></div>
  129. <!-- header //-->
  130. <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
  131. <!-- header_eof //-->
  132.  
  133. <!-- body //-->
  134. <table border="0" width="100%" cellspacing="2" cellpadding="2">
  135.   <tr>
  136. <!-- body_text //-->
  137.     <td width="100%" valign="top">
  138. <?php
  139.   if ($action == 'new_product' or $action == 'new_product_meta_tags') {
  140.  
  141.     if ($action == 'new_product_meta_tags') {
  142.       require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/collect_info_metatags.php');
  143.     } else {
  144.       require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/collect_info.php');
  145.     }
  146.  
  147.   } elseif ($action == 'new_product_preview' or $action == 'new_product_preview_meta_tags') {
  148.     if ($action == 'new_product_preview_meta_tags') {
  149.       require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/preview_info_meta_tags.php');
  150.     } else {
  151.       require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/preview_info.php');
  152.     }
  153.  
  154.   } else {
  155.  
  156.   require(DIR_WS_MODULES . 'category_product_listing.php');
  157.  
  158.     $heading = array();
  159.     $contents = array();
  160.     switch ($action) {
  161.       case 'new_category':
  162.         $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_CATEGORY . '</b>');
  163.  
  164.         $contents = array('form' => zen_draw_form('newcategory', FILENAME_CATEGORIES, 'action=insert_category&cPath=' . $cPath, 'post', 'enctype="multipart/form-data"'));
  165.         $contents[] = array('text' => TEXT_NEW_CATEGORY_INTRO);
  166.  
  167.         $category_inputs_string = '';
  168.         $languages = zen_get_languages();
  169.         for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
  170.           $category_inputs_string .= '<br />' . zen_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . zen_draw_input_field('categories_name[' . $languages[$i]['id'] . ']', '', zen_set_field_length(TABLE_CATEGORIES_DESCRIPTION, 'categories_name'));
  171.         }
  172.  
  173.         $contents[] = array('text' => '<br />' . TEXT_CATEGORIES_NAME . $category_inputs_string);
  174.         $contents[] = array('text' => '<br />' . TEXT_CATEGORIES_IMAGE . '<br />' . zen_draw_file_field('categories_image'));
  175.  
  176.         $dir = @dir(DIR_FS_CATALOG_IMAGES);
  177.         $dir_info[] = array('id' => '', 'text' => "Main Directory");
  178.         while ($file = $dir->read()) {
  179.           if (is_dir(DIR_FS_CATALOG_IMAGES . $file) && strtoupper($file) != 'CVS' && $file != "." && $file != "..") {
  180.             $dir_info[] = array('id' => $file . '/', 'text' => $file);
  181.           }
  182.         }
  183.         $dir->close();
  184.  
  185.         $default_directory = substr( $cInfo->categories_image, 0,strpos( $cInfo->categories_image, '/')+1);
  186.         $contents[] = array('text' => TEXT_CATEGORIES_IMAGE_DIR . ' ' . zen_draw_pull_down_menu('img_dir', $dir_info, $default_directory));
  187.  
  188.         $contents[] = array('text' => '<br />' . TEXT_SORT_ORDER . '<br />' . zen_draw_input_field('sort_order', '', 'size="4"'));
  189.         $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  190.         break;
  191.       case 'edit_category':
  192.         $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_EDIT_CATEGORY . '</b>');
  193.  
  194.         $contents = array('form' => zen_draw_form('categories', FILENAME_CATEGORIES, 'action=update_category&cPath=' . $cPath, 'post', 'enctype="multipart/form-data"') . zen_draw_hidden_field('categories_id', $cInfo->categories_id));
  195.         $contents[] = array('text' => TEXT_EDIT_INTRO);
  196.  
  197.         $category_inputs_string = '';
  198.         $languages = zen_get_languages();
  199.         for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
  200.           $category_inputs_string .= '<br />' . zen_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . zen_draw_input_field('categories_name[' . $languages[$i]['id'] . ']', zen_get_category_name($cInfo->categories_id, $languages[$i]['id']), zen_set_field_length(TABLE_CATEGORIES_DESCRIPTION, 'categories_name'));
  201.         }
  202.         $contents[] = array('text' => '<br />' . TEXT_EDIT_CATEGORIES_NAME . $category_inputs_string);
  203.         $contents[] = array('text' => '<br />' . TEXT_EDIT_CATEGORIES_IMAGE . '<br />' . zen_draw_file_field('categories_image'));
  204.  
  205.         $dir = @dir(DIR_FS_CATALOG_IMAGES);
  206.         $dir_info[] = array('id' => '', 'text' => "Main Directory");
  207.         while ($file = $dir->read()) {
  208.           if (is_dir(DIR_FS_CATALOG_IMAGES . $file) && strtoupper($file) != 'CVS' && $file != "." && $file != "..") {
  209.             $dir_info[] = array('id' => $file . '/', 'text' => $file);
  210.           }
  211.         }
  212.         $dir->close();
  213.  
  214.         $default_directory = substr( $cInfo->categories_image, 0,strpos( $cInfo->categories_image, '/')+1);
  215.         $contents[] = array('text' => TEXT_CATEGORIES_IMAGE_DIR . ' ' . zen_draw_pull_down_menu('img_dir', $dir_info, $default_directory));
  216.         $contents[] = array('text' => '<br>' . zen_info_image($cInfo->categories_image, $cInfo->categories_name));
  217.         $contents[] = array('text' => '<br>' . $cInfo->categories_image);
  218.  
  219.         $contents[] = array('text' => '<br />' . TEXT_EDIT_SORT_ORDER . '<br />' . zen_draw_input_field('sort_order', $cInfo->sort_order, 'size="2"'));
  220.         $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  221.         break;
  222.       case 'delete_product':
  223.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/sidebox_delete_product.php')) {
  224.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/sidebox_delete_product.php');
  225.          } else {
  226.           require(DIR_WS_MODULES . 'sidebox_delete_product.php');
  227.          }
  228.         break;
  229.       case 'move_product':
  230.         if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/sidebox_move_product.php')) {
  231.           require(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/sidebox_move_product.php');
  232.          } else {
  233.           require(DIR_WS_MODULES . 'sidebox_move_product.php');
  234.          }
  235.         break;
  236.       case 'copy_to':
  237.         $copy_attributes_delete_first = '0';
  238.         $copy_attributes_duplicates_skipped = '0';
  239.         $copy_attributes_duplicates_overwrite = '0';
  240.         $copy_attributes_include_downloads = '1';
  241.         $copy_attributes_include_filename = '1';
  242.  
  243.         $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_COPY_TO . '</b>');
  244. // WebMakers.com Added: Split Page
  245.         if (empty($pInfo->products_id)) {
  246.           $pInfo->products_id= $pID;
  247.         }
  248.  
  249.         $contents = array('form' => zen_draw_form('copy_to', $type_admin_handler, 'action=copy_to_confirm&cPath=' . $cPath . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . zen_draw_hidden_field('products_id', $pInfo->products_id));
  250.         $contents[] = array('text' => TEXT_INFO_COPY_TO_INTRO);
  251.         $contents[] = array('text' => '<br />' . TEXT_INFO_CURRENT_PRODUCT . '<br /><b>' . $pInfo->products_name  . ' ID#' . $pInfo->products_id . '</b>');
  252.         $contents[] = array('text' => '<br />' . TEXT_INFO_CURRENT_CATEGORIES . '<br /><b>' . zen_output_generated_category_path($pInfo->products_id, 'product') . '</b>');
  253.         $contents[] = array('text' => '<br />' . TEXT_CATEGORIES . '<br />' . zen_draw_pull_down_menu('categories_id', zen_get_category_tree(), $current_category_id));
  254.         $contents[] = array('text' => '<br />' . TEXT_HOW_TO_COPY . '<br />' . zen_draw_radio_field('copy_as', 'link', true) . ' ' . TEXT_COPY_AS_LINK . '<br />' . zen_draw_radio_field('copy_as', 'duplicate') . ' ' . TEXT_COPY_AS_DUPLICATE);
  255.  
  256.         $contents[] = array('text' => '<br />' . zen_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3'));
  257.  
  258.         // only ask about attributes if they exist
  259.         if (zen_has_product_attributes($pInfo->products_id, 'false')) {
  260.           $contents[] = array('text' => '<br />' . TEXT_COPY_ATTRIBUTES_ONLY);
  261.           $contents[] = array('text' => '<br />' . TEXT_COPY_ATTRIBUTES . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_yes', true) . ' ' . TEXT_COPY_ATTRIBUTES_YES . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_no') . ' ' . TEXT_COPY_ATTRIBUTES_NO);
  262. // future          $contents[] = array('align' => 'center', 'text' => '<br />' . ATTRIBUTES_NAMES_HELPER . '<br />' . zen_draw_separator('pixel_trans.gif', '1', '10'));
  263.           $contents[] = array('text' => '<br />' . zen_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3'));
  264.         }
  265.  
  266.         // only ask if product has discounts
  267.         if (zen_has_product_discounts($pInfo->products_id) == 'true') {
  268.           $contents[] = array('text' => '<br />' . TEXT_COPY_DISCOUNTS_ONLY);
  269.           $contents[] = array('text' => '<br />' . TEXT_COPY_DISCOUNTS . '<br />' . zen_draw_radio_field('copy_discounts', 'copy_discounts_yes', true) . ' ' . TEXT_COPY_DISCOUNTS_YES . '<br />' . zen_draw_radio_field('copy_discounts', 'copy_discounts_no') . ' ' . TEXT_COPY_DISCOUNTS_NO);
  270.           $contents[] = array('text' => '<br />' . zen_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3'));
  271.         } else {
  272.           $contents[] = array('text' => '<br />' . 'NO DISCOUNTS');
  273.         }
  274.  
  275.         $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_copy.gif', IMAGE_COPY) . ' <a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  276.         $contents[] = array('text' => '</form>');
  277.  
  278.         $contents[] = array('text' => '<br />' . zen_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3'));
  279.         $contents[] = array('text' => '<form action="' . FILENAME_PRODUCTS_TO_CATEGORIES . '.php' . '?products_filter=' . $pInfo->products_id . '&current_category_id=' . $current_category_id . '" method="post">'  . zen_hide_session_id());
  280.         $contents[] = array('align' => 'center', 'text' => '<input type="submit" value="' . BUTTON_PRODUCTS_TO_CATEGORIES . '"></form>');
  281.  
  282.         break;
  283. // attribute features
  284.     case 'attribute_features':
  285.         $copy_attributes_delete_first = '0';
  286.         $copy_attributes_duplicates_skipped = '0';
  287.         $copy_attributes_duplicates_overwrite = '0';
  288.         $copy_attributes_include_downloads = '1';
  289.         $copy_attributes_include_filename = '1';
  290.         $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_ATTRIBUTE_FEATURES . $pInfo->products_id . '</b>');
  291.  
  292.         $contents[] = array('align' => 'center', 'text' => '<br />' . '<strong>' . TEXT_PRODUCTS_ATTRIBUTES_INFO . '</strong>' . '<br />');
  293.  
  294.         $contents[] = array('align' => 'center', 'text' => '<br />' . '<strong>' . zen_get_products_name($pInfo->products_id, $languages_id) . ' ID# ' . $pInfo->products_id . '</strong><br /><br />' .
  295.                                                            '<a href="' . zen_href_link(FILENAME_ATTRIBUTES_CONTROLLER, '&action=attributes_preview' . '&products_filter=' . $pInfo->products_id . '&current_category_id=' . $current_category_id) . '">' . zen_image_button('button_preview.gif', IMAGE_PREVIEW) . '</a>' .
  296.                                                            '&nbsp;&nbsp;' . '<a href="' . zen_href_link(FILENAME_ATTRIBUTES_CONTROLLER, 'products_filter=' . $pInfo->products_id . '&current_category_id=' . $current_category_id) . '">' . zen_image_button('button_edit_attribs.gif', IMAGE_EDIT_ATTRIBUTES) . '</a>' .
  297.                                                            '<br /><br />');
  298.         $contents[] = array('align' => 'left', 'text' => '<br />' . '<strong>' . TEXT_PRODUCT_ATTRIBUTES_DOWNLOADS . '</strong>' . zen_has_product_attributes_downloads($pInfo->products_id) . zen_has_product_attributes_downloads($pInfo->products_id, true));
  299.         $contents[] = array('align' => 'left', 'text' => '<br />' . TEXT_INFO_ATTRIBUTES_FEATURES_DELETE . '<strong>' . zen_get_products_name($pInfo->products_id) . ' ID# ' . $pInfo->products_id . '</strong><br /><a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=delete_attributes' . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '') . '&products_id=' . $pInfo->products_id) . '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a>');
  300.         $contents[] = array('align' => 'left', 'text' => '<br />' . TEXT_INFO_ATTRIBUTES_FEATURES_UPDATES . '<strong>' . zen_get_products_name($pInfo->products_id, $languages_id) . ' ID# ' . $pInfo->products_id . '</strong><br /><a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=update_attributes_sort_order' . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '') . '&products_id=' . $pInfo->products_id) . '">' . zen_image_button('button_update.gif', IMAGE_UPDATE) . '</a>');
  301.         $contents[] = array('align' => 'left', 'text' => '<br />' . TEXT_INFO_ATTRIBUTES_FEATURES_COPY_TO_PRODUCT . '<strong>' . zen_get_products_name($pInfo->products_id, $languages_id) . ' ID# ' . $pInfo->products_id . '</strong><br /><a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=attribute_features_copy_to_product' . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '') . '&products_id=' . $pInfo->products_id) . '">' . zen_image_button('button_copy_to.gif', IMAGE_COPY_TO) . '</a>');
  302.         $contents[] = array('align' => 'left', 'text' => '<br />' . TEXT_INFO_ATTRIBUTES_FEATURES_COPY_TO_CATEGORY . '<strong>' . zen_get_products_name($pInfo->products_id, $languages_id) . ' ID# ' . $pInfo->products_id . '</strong><br /><a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=attribute_features_copy_to_category' . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '') . '&products_id=' . $pInfo->products_id) . '">' . zen_image_button('button_copy_to.gif', IMAGE_COPY_TO) . '</a>');
  303.  
  304.         $contents[] = array('align' => 'center', 'text' => '<br /><a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  305.         break;
  306.  
  307. // attribute copier to product
  308.     case 'attribute_features_copy_to_product':
  309.       $_GET['products_update_id'] = '';
  310.       // excluded current product from the pull down menu of products
  311.       $products_exclude_array = array();
  312.       $products_exclude_array[] = $pInfo->products_id;
  313.  
  314.       $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_ATTRIBUTE_FEATURES . $pInfo->products_id . '</b>');
  315.       $contents = array('form' => zen_draw_form('products', FILENAME_CATEGORIES, 'action=update_attributes_copy_to_product&cPath=' . $cPath . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . zen_draw_hidden_field('products_id', $pInfo->products_id) . zen_draw_hidden_field('products_update_id', $_GET['products_update_id']) . zen_draw_hidden_field('copy_attributes', $_GET['copy_attributes']));
  316.       $contents[] = array('text' => '<br />' . TEXT_COPY_ATTRIBUTES_CONDITIONS . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_delete', true) . ' ' . TEXT_COPY_ATTRIBUTES_DELETE . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_update') . ' ' . TEXT_COPY_ATTRIBUTES_UPDATE . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_ignore') . ' ' . TEXT_COPY_ATTRIBUTES_IGNORE);
  317.       $contents[] = array('align' => 'center', 'text' => '<br />' . zen_draw_products_pull_down('products_update_id', '', $products_exclude_array, true) . '<br /><br />' . zen_image_submit('button_copy_to.gif', IMAGE_COPY_TO). '&nbsp;&nbsp;<a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  318.       break;
  319.  
  320. // attribute copier to product
  321.     case 'attribute_features_copy_to_category':
  322.       $_GET['categories_update_id'] = '';
  323.  
  324.       $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_ATTRIBUTE_FEATURES . $pInfo->products_id . '</b>');
  325.       $contents = array('form' => zen_draw_form('products', FILENAME_CATEGORIES, 'action=update_attributes_copy_to_category&cPath=' . $cPath . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . zen_draw_hidden_field('products_id', $pInfo->products_id) . zen_draw_hidden_field('categories_update_id', $_GET['categories_update_id']) . zen_draw_hidden_field('copy_attributes', $_GET['copy_attributes']));
  326.       $contents[] = array('text' => '<br />' . TEXT_COPY_ATTRIBUTES_CONDITIONS . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_delete', true) . ' ' . TEXT_COPY_ATTRIBUTES_DELETE . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_update') . ' ' . TEXT_COPY_ATTRIBUTES_UPDATE . '<br />' . zen_draw_radio_field('copy_attributes', 'copy_attributes_ignore') . ' ' . TEXT_COPY_ATTRIBUTES_IGNORE);
  327.       $contents[] = array('align' => 'center', 'text' => '<br />' . zen_draw_products_pull_down_categories('categories_update_id', '', '', true) . '<br /><br />' . zen_image_submit('button_copy_to.gif', IMAGE_COPY_TO) . '&nbsp;&nbsp;<a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  328.       break;
  329.  
  330.     } // switch
  331.  
  332.     if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) {
  333.       echo '            <td width="25%" valign="top">' . "\n";
  334.  
  335.       $box = new box;
  336.       echo $box->infoBox($heading, $contents);
  337.  
  338.       echo '            </td>' . "\n";
  339.     }
  340. ?>
  341.  
  342.           </tr>
  343.           <tr>
  344. <?php
  345. // Split Page
  346. if ($products_query_numrows > 0) {
  347.   if (empty($pInfo->products_id)) {
  348.     $pInfo->products_id= $pID;
  349.   }
  350. ?>
  351.             <td class="smallText" align="right"><?php echo $products_split->display_count($products_query_numrows, MAX_DISPLAY_RESULTS_CATEGORIES, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_PRODUCTS) . '<br>' . $products_split->display_links($products_query_numrows, MAX_DISPLAY_RESULTS_CATEGORIES, MAX_DISPLAY_PAGE_LINKS, $_GET['page'], zen_get_all_get_params(array('page', 'info', 'x', 'y')) ); ?></td>
  352.  
  353. <?php
  354. }
  355. // Split Page
  356. ?>
  357.           </tr>
  358.         </table></td>
  359.       </tr>
  360.     </table>
  361. <?php
  362.   }
  363. ?>
  364.     </td>
  365. <!-- body_text_eof //-->
  366.   </tr>
  367. </table>
  368. <!-- body_eof //-->
  369.  
  370. <!-- footer //-->
  371. <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
  372. <!-- footer_eof //-->
  373. <br />
  374. </body>
  375. </html>
  376. <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
  377.