ZenCart_Documentation  1.5.0
http://www.collinsharper.com
C:/xampp/htdocs/zen-cart/admin/options_name_manager.php
Go to the documentation of this file.
00001 <?php
00010   require('includes/application_top.php');
00011   $languages = zen_get_languages();
00012 
00013   require(DIR_WS_CLASSES . 'currencies.php');
00014   $currencies = new currencies();
00015 
00016   $action = (isset($_GET['action']) ? $_GET['action'] : '');
00017 
00018 // display or hide copier features
00019   if (!isset($_SESSION['option_names_values_copier'])) {
00020     $_SESSION['option_names_values_copier'] = OPTION_NAMES_VALUES_GLOBAL_STATUS;
00021   }
00022   if (!isset($_GET['reset_option_names_values_copier'])) {
00023     $reset_option_names_values_copier = $_SESSION['option_names_values_copier'];
00024   }
00025 
00026 /*
00027   if (!isset($_GET['option_order_by'])) {
00028     $_GET['option_order_by'] = 'products_options_id';
00029   }
00030 */
00031     if (isset($_GET['option_order_by'])) {
00032       $option_order_by = $_GET['option_order_by'];
00033     } else {
00034       $option_order_by = 'products_options_id';
00035     }
00036 
00037   if (zen_not_null($action)) {
00038     $_SESSION['page_info'] = '';
00039     if (isset($_GET['option_page'])) $_SESSION['page_info'] .= 'option_page=' . $_GET['option_page'] . '&';
00040     if (isset($_GET['value_page'])) $_SESSION['page_info'] .= 'value_page=' . $_GET['value_page'] . '&';
00041     if (isset($_GET['attribute_page'])) $_SESSION['page_info'] .= 'attribute_page=' . $_GET['attribute_page'] . '&';
00042     if (zen_not_null($_SESSION['page_info'])) {
00043       $_SESSION['page_info'] = substr($_SESSION['page_info'], 0, -1);
00044     }
00045 
00046     switch ($action) {
00047       case 'set_option_names_values_copier':
00048         $_SESSION['option_names_values_copier'] = $_GET['reset_option_names_values_copier'];
00049         $action='';
00050         zen_redirect(zen_href_link(FILENAME_OPTIONS_NAME_MANAGER));
00051         break;
00052       case 'add_product_options':
00053         //clr 030714 update to add option type to products_option.
00054         $products_options_id = zen_db_prepare_input($_POST['products_options_id']);
00055         $option_name_array = $_POST['option_name'];
00056         $products_options_sort_order = $_POST['products_options_sort_order'];
00057         $option_type = $_POST['option_type'];
00058         $products_options_images_per_row = $_POST['products_options_images_per_row'];
00059         $products_options_images_style = $_POST['products_options_images_style'];
00060         $products_options_rows = $_POST['products_options_rows'];
00061 
00062         for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
00063           $option_name = zen_db_prepare_input($option_name_array[$languages[$i]['id']]);
00064 
00065           $db->Execute("insert into " . TABLE_PRODUCTS_OPTIONS . "
00066                       (products_options_id, products_options_name, language_id, products_options_sort_order, products_options_type, products_options_images_per_row, products_options_images_style, products_options_rows)
00067                       values ('" . (int)$products_options_id . "',
00068                               '" . zen_db_input($option_name) . "',
00069                               '" . (int)$languages[$i]['id'] . "',
00070                               '" . (int)$products_options_sort_order[$languages[$i]['id']] . "',
00071                               '" . (int)zen_db_input($option_type) . "',
00072                               '" . (int)zen_db_input($products_options_images_per_row) . "',
00073                               '" . (int)zen_db_input($products_options_images_style) . "',
00074                               '" . (int)(($products_options_rows <= 1 and $option_type == PRODUCTS_OPTIONS_TYPE_TEXT) ? 1 : zen_db_input($products_options_rows)) . "'
00075                               )");
00076         }
00077 
00078 // iii 030811 added:  For TEXT and FILE option types, automatically add
00079 // PRODUCTS_OPTIONS_VALUE_TEXT to the TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS
00080         switch ($option_type) {
00081           case PRODUCTS_OPTIONS_TYPE_TEXT:
00082           case PRODUCTS_OPTIONS_TYPE_FILE:
00083             $db->Execute("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . "
00084                         (products_options_values_id, products_options_id)
00085                         values ('" . (int)PRODUCTS_OPTIONS_VALUES_TEXT_ID .  "',
00086                                 '" .  (int)$products_options_id .  "')");
00087             break;
00088         }
00089 
00090 // alert if possible duplicate
00091         $duplicate_option= '';
00092         for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
00093           $option_name = zen_db_prepare_input($option_name_array[$languages[$i]['id']]);
00094 
00095           if (!empty($option_name)) {
00096             $check= $db->Execute("select count(products_options_name) as count
00097                                   from " . TABLE_PRODUCTS_OPTIONS . "
00098                                   where language_id= '" . (int)$languages[$i]['id'] . "'
00099                                   and products_options_name='" . zen_db_input($option_name) . "'");
00100             if ($check->fields['count'] > 1) {
00101               $duplicate_option .= ' <b>' . strtoupper(zen_get_language_name($languages[$i]['id'])) . '</b> : ' . $option_name;
00102             }
00103           }
00104         }
00105         if (!empty($duplicate_option)) {
00106           $messageStack->add_session(ATTRIBUTE_POSSIBLE_OPTIONS_NAME_WARNING_DUPLICATE . ' ' . $option_id . ' - ' . $duplicate_option, 'caution');
00107         }
00108 
00109         zen_redirect(zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, $_SESSION['page_info'] . '&option_order_by=' . $option_order_by));
00110         break;
00111       case 'update_option_name':
00112         //clr 030714 update to add option type to products_option.
00113         $option_name_array = $_POST['option_name'];
00114         $option_type = (int)$_POST['option_type'];
00115         $option_id = zen_db_prepare_input($_POST['option_id']);
00116         $products_options_sort_order_array = $_POST['products_options_sort_order'];
00117 
00118         $products_options_length_array = $_POST['products_options_length'];
00119         $products_options_comment_array = $_POST['products_options_comment'];
00120         $products_options_size_array = $_POST['products_options_size'];
00121 
00122         $products_options_images_per_row_array = $_POST['products_options_images_per_row'];
00123         $products_options_images_style_array = $_POST['products_options_images_style'];
00124         $products_options_rows_array = $_POST['products_options_rows'];
00125 
00126         for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
00127           $option_name = zen_db_prepare_input($option_name_array[$languages[$i]['id']]);
00128           $products_options_sort_order = (int)zen_db_prepare_input($products_options_sort_order_array[$languages[$i]['id']]);
00129 
00130 
00131           $products_options_length = zen_db_prepare_input($products_options_length_array[$languages[$i]['id']]);
00132           $products_options_comment = zen_db_prepare_input($products_options_comment_array[$languages[$i]['id']]);
00133           $products_options_size = zen_db_prepare_input($products_options_size_array[$languages[$i]['id']]);
00134 
00135           $products_options_images_per_row = (int)zen_db_prepare_input($products_options_images_per_row_array[$languages[$i]['id']]);
00136           $products_options_images_style = (int)zen_db_prepare_input($products_options_images_style_array[$languages[$i]['id']]);
00137           $products_options_rows = (int)zen_db_prepare_input($products_options_rows_array[$languages[$i]['id']]);
00138 
00139 //          zen_db_query("update " . TABLE_PRODUCTS_OPTIONS . " set products_options_name = '" . zen_db_input($option_name) . "', products_options_type = '" . $option_type . "' where products_options_id = '" . (int)$option_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'");
00140 
00141           $db->Execute("update " . TABLE_PRODUCTS_OPTIONS . "
00142                         set products_options_name = '" . zen_db_input($option_name) . "', products_options_type = '" . $option_type . "', products_options_length = '" . zen_db_input($products_options_length) . "', products_options_comment = '" . zen_db_input($products_options_comment) . "', products_options_size = '" . zen_db_input($products_options_size) . "', products_options_sort_order = '" . zen_db_input($products_options_sort_order) . "', products_options_images_per_row = '" . zen_db_input($products_options_images_per_row) . "', products_options_images_style = '" . zen_db_input($products_options_images_style) . "', products_options_rows = '" . zen_db_input($products_options_rows) . "'
00143                         where products_options_id = '" . (int)$option_id . "'
00144                         and language_id = '" . (int)$languages[$i]['id'] . "'");
00145         }
00146 
00147         switch ($option_type) {
00148           case PRODUCTS_OPTIONS_TYPE_TEXT:
00149           case PRODUCTS_OPTIONS_TYPE_FILE:
00150 // disabled because this could cause trouble if someone changed types unintentionally and deleted all their option values.  Shops with small numbers of values per option should consider uncommenting this.
00151 //            zen_db_query("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id = '" . $_POST['option_id'] . "'");
00152 // add in a record if none exists when option type is switched
00153             $check_type = $db->Execute("select count(products_options_id) as count from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id='" . (int)$_POST['option_id'] .  "' and products_options_values_id ='0'");
00154             if ($check_type->fields['count'] == 0) {
00155               $db->Execute("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " (products_options_values_to_products_options_id, products_options_id, products_options_values_id) values (NULL, '" . (int)$_POST['option_id'] . "', '" . (int)PRODUCTS_OPTIONS_VALUES_TEXT_ID . "')");
00156             }
00157             break;
00158           default:
00159 // if switched from file or text remove 0
00160             $db->Execute("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id='" . (int)$_POST['option_id'] . "' and products_options_values_id = '" . (int)PRODUCTS_OPTIONS_VALUES_TEXT_ID . "'");
00161             break;
00162         }
00163 
00164 // alert if possible duplicate
00165         $duplicate_option= '';
00166         for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
00167           $option_name = zen_db_prepare_input($option_name_array[$languages[$i]['id']]);
00168 
00169           $check= $db->Execute("select products_options_name
00170                                 from " . TABLE_PRODUCTS_OPTIONS . "
00171                                 where language_id= '" . (int)$languages[$i]['id'] . "'
00172                                 and products_options_name='" . zen_db_input($option_name) . "'");
00173 
00174           if ($check->RecordCount() > 1 and !empty($option_name)) {
00175             $duplicate_option .= ' <b>' . strtoupper(zen_get_language_name($languages[$i]['id'])) . '</b> : ' . $option_name;
00176           }
00177         }
00178         if (!empty($duplicate_option)) {
00179           $messageStack->add_session(ATTRIBUTE_POSSIBLE_OPTIONS_NAME_WARNING_DUPLICATE . ' ' . $option_id . ' - ' . $duplicate_option, 'caution');
00180         }
00181 
00182         zen_redirect(zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, $_SESSION['page_info'] . '&option_order_by=' . $option_order_by));
00183         break;
00184       case 'delete_option':
00185         // demo active test
00186         if (zen_admin_demo()) {
00187           $_GET['action']= '';
00188           $messageStack->add_session(ERROR_ADMIN_DEMO, 'caution');
00189                 zen_redirect(zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, $_SESSION['page_info'] . '&option_order_by=' . $option_order_by));
00190         }
00191         $option_id = zen_db_prepare_input($_GET['option_id']);
00192 
00193         $remove_option_values = $db->Execute("select products_options_id, products_options_values_id from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id='" . (int)$option_id . "'");
00194 
00195         while (!$remove_option_values->EOF) {
00196           $db->Execute("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id='" . (int)$remove_option_values->fields['products_options_values_id'] . "' and products_options_values_id !=0");
00197           $remove_option_values->MoveNext();
00198         }
00199 
00200         $db->Execute("delete from " . TABLE_PRODUCTS_OPTIONS . "
00201                       where products_options_id = '" . (int)$option_id . "'");
00202 
00203         $db->Execute("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$option_id . "'");
00204 
00205         zen_redirect(zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, $_SESSION['page_info'] . '&option_order_by=' . $option_order_by));
00206         break;
00207 
00209 // additional features
00210     case 'update_options_values':
00211       // get products to update with at least one option_value for selected options_name
00212       $update_to = (int)$_GET['update_to'];
00213       $update_action = $_GET['update_action'];
00214 
00215       switch($update_to) {
00216         case (0):
00217         // all products
00218         $all_update_products = $db->Execute("select distinct products_id from " . TABLE_PRODUCTS_ATTRIBUTES . " where options_id='" . (int)$_POST['options_id'] . "'");
00219         break;
00220         case (1):
00221         // one product
00222         $product_to_update = (int)$_POST['product_to_update'];
00223         $all_update_products = $db->Execute("select distinct products_id from " . TABLE_PRODUCTS_ATTRIBUTES . " where options_id='" . (int)$_POST['options_id'] . "' and products_id='" . $product_to_update . "'");
00224         break;
00225         case (2):
00226         // category of products
00227         $category_to_update = (int)$_POST['category_to_update'];
00228 // re-write with categories
00229         $all_update_products = $db->Execute("select distinct pa.products_id from " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc on pa.products_id = ptc.products_id where ptc.categories_id ='" . $category_to_update . "' and pa.options_id='" . (int)$_POST['options_id'] . "' and pa.products_id = ptc.products_id");
00230         break;
00231       }
00232 
00233       if ($all_update_products->RecordCount() < 1) {
00234         $messageStack->add_session(ERROR_PRODUCTS_OPTIONS_VALUES, 'caution');
00235       } else {
00236 //die('I want to update ' . $_GET['update_to'] . ' : update action: ' . $update_action . ' product: ' . $_POST['product_to_update']  . ' category: ' . $_POST['category_to_update'] . ' found records: ' . $all_update_products->RecordCount() . ' - ' . $all_update_products->fields['products_id']);
00237 
00238         if ($update_action == 0) {
00239           // action add
00240           while (!$all_update_products->EOF) {
00241             // get all option_values
00242             $all_options_values = $db->Execute("select products_options_id, products_options_values_id from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id='" . (int)$_POST['options_id'] . "'");
00243             $updated = 'false';
00244            while (!$all_options_values->EOF) {
00245               $check_all_options_values = $db->Execute("select products_attributes_id from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id='" . $all_update_products->fields['products_id'] . "' and options_id='" . (int)$all_options_values->fields['products_options_id'] . "' and options_values_id='" . (int)$all_options_values->fields['products_options_values_id'] . "'");
00246               if ($check_all_options_values->RecordCount() < 1) {
00247                 // add missing options_value_id
00248                 $updated = 'true';
00249                 $db->Execute("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " (products_id, options_id, options_values_id) values ('" . (int)$all_update_products->fields['products_id'] . "', '" . (int)$all_options_values->fields['products_options_id'] . "', '" . (int)$all_options_values->fields['products_options_values_id'] . "')");
00250               } else {
00251                 // skip it the attribute is there
00252               }
00253               $all_options_values->MoveNext();
00254             }
00255             if ($updated == 'true') {
00256               zen_update_attributes_products_option_values_sort_order($all_update_products->fields['products_id']);
00257             }
00258             $all_update_products->MoveNext();
00259           }
00260           if ($updated='true') {
00261             $messageStack->add_session(SUCCESS_PRODUCTS_OPTIONS_VALUES, 'success');
00262           } else {
00263             $messageStack->add_session(ERROR_PRODUCTS_OPTIONS_VALUES, 'error');
00264           }
00265         } else {
00266           // action delete
00267           while (!$all_update_products->EOF) {
00268             // get all option_values
00269             $all_options_values = $db->Execute("select products_options_id, products_options_values_id from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id='" . (int)$_POST['options_id'] . "'");
00270             $updated = 'false';
00271            while (!$all_options_values->EOF) {
00272               $check_all_options_values = $db->Execute("select products_attributes_id from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id='" . (int)$all_update_products->fields['products_id'] . "' and options_id='" . (int)$all_options_values->fields['products_options_id'] . "' and options_values_id='" . (int)$all_options_values->fields['products_options_values_id'] . "'");
00273               if ($check_all_options_values->RecordCount() >= 1) {
00274                 // delete for this product with Option Name options_value_id
00275 // echo '<br>This should be deleted: ' . zen_get_products_name($all_options_values->fields['products_options_id']);
00276 // change to delete
00277 // should add download delete
00278                 $db->Execute("delete from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id='" . (int)$all_update_products->fields['products_id'] . "' and options_id='" . (int)$_POST['options_id'] . "'");
00279               } else {
00280                 // skip this option_name does not exist
00281               }
00282               $all_options_values->MoveNext();
00283             }
00284             $all_update_products->MoveNext();
00285           }
00286         } // update_action
00287 
00288       } // no products found
00289         zen_redirect(zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, $_SESSION['page_info'] . '&option_order_by=' . $option_order_by));
00290         break;
00292 // copy features
00293     case 'copy_options_values':
00294       $options_id_from = (int)$_POST['options_id_from'];
00295       $options_id_to = (int)$_POST['options_id_to'];
00296 
00297       if ($options_id_from == $options_id_to) {
00298         // cannot copy to self
00299         $messageStack->add(ERROR_OPTION_VALUES_COPIED . ' from: ' . zen_options_name($options_id_from) . ' to: ' . zen_options_name($options_id_to), 'warning');
00300       } else {
00301         // successful copy
00302         $start_id = $db->Execute("select pov.products_options_values_id from " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov order by pov.products_options_values_id DESC LIMIT 1");
00303         $copy_from_values = $db->Execute("select pov.* from " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov left join " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " povtpo on pov.products_options_values_id= povtpo.products_options_values_id where povtpo.products_options_id='" . (int)$options_id_from . "' order by povtpo.products_options_values_id");
00304         if ($copy_from_values->RecordCount() > 0) {
00305           // successful copy
00306           $next_id = ($start_id->fields['products_options_values_id'] + 1);
00307           while(!$copy_from_values->EOF) {
00308             $current_id = $copy_from_values->fields['products_options_values_id'];
00309             $sql = "insert into " . TABLE_PRODUCTS_OPTIONS_VALUES . " (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) values ('" . (int)$next_id . "', '" . (int)$copy_from_values->fields['language_id'] . "', '" . $copy_from_values->fields['products_options_values_name'] . "', '" . (int)$copy_from_values->fields['products_options_values_sort_order'] . "')";
00310             $db->Execute($sql);
00311             $copy_from_values->MoveNext();
00312             if ($copy_from_values->fields['products_options_values_id'] != $current_id or $copy_from_values->EOF) {
00313               $sql = "insert into " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " (products_options_values_to_products_options_id, products_options_id, products_options_values_id) values (0, '" . (int)$options_id_to . "', '" . (int)$next_id . "')";
00314               $db->Execute($sql);
00315               $next_id++;
00316             }
00317           }
00318           $messageStack->add(SUCCESS_OPTION_VALUES_COPIED . ' from: ' . zen_options_name($options_id_from) . ' to: ' . zen_options_name($options_id_to), 'success');
00319         } else {
00320           // warning nothing to copy
00321           $messageStack->add(ERROR_OPTION_VALUES_NONE . ' from: ' . zen_options_name($options_id_from) . ' to: ' . zen_options_name($options_id_to), 'warning');
00322         }
00323       }
00324     break;
00326     }
00327 
00328   }
00329 
00330 //iii 031103 added to get results from database option type query
00331   $products_options_types_list = array();
00332 //  $products_options_type_array = $db->Execute("select products_options_types_id, products_options_types_name from " . TABLE_PRODUCTS_OPTIONS_TYPES . " where language_id='" . $_SESSION['languages_id'] . "' order by products_options_types_id");
00333   $products_options_type_array = $db->Execute("select products_options_types_id, products_options_types_name from " . TABLE_PRODUCTS_OPTIONS_TYPES . " order by products_options_types_id");
00334   while (!$products_options_type_array->EOF) {
00335     $products_options_types_list[$products_options_type_array->fields['products_options_types_id']] = $products_options_type_array->fields['products_options_types_name'];
00336     $products_options_type_array->MoveNext();
00337   }
00338 
00339 //CLR 030312 add function to draw pulldown list of option types
00340 // Draw a pulldown for Option Types
00341 //iii 031103 modified to use results of database option type query from above
00342 function draw_optiontype_pulldown($name, $default = '') {
00343   global $products_options_types_list;
00344   $values = array();
00345   foreach ($products_options_types_list as $id => $text) {
00346     $values[] = array('id' => $id, 'text' => $text);
00347   }
00348   return zen_draw_pull_down_menu($name, $values, $default);
00349 }
00350 
00351 //CLR 030312 add function to translate type_id to name
00352 // Translate option_type_values to english string
00353 //iii 031103 modified to use results of database option type query from above
00354 function translate_type_to_name($opt_type) {
00355   global $products_options_types_list;
00356   return $products_options_types_list[$opt_type];
00357   return 'Error ' . $opt_type;
00358 }
00359 
00360 ?>
00361 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
00362 <html <?php echo HTML_PARAMS; ?>>
00363 <head>
00364 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
00365 <title><?php echo TITLE; ?></title>
00366 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
00367 <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
00368 <script language="javascript" src="includes/menu.js"></script>
00369 <script language="javascript"><!--
00370 function go_option() {
00371   if (document.option_order_by.selected.options[document.option_order_by.selected.selectedIndex].value != "none") {
00372     location = "<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'option_page=' . ($_GET['option_page'] ? $_GET['option_page'] : 1)); ?>&option_order_by="+document.option_order_by.selected.options[document.option_order_by.selected.selectedIndex].value;
00373   }
00374 }
00375 //--></script>
00376 <script type="text/javascript">
00377   <!--
00378   function init()
00379   {
00380     cssjsmenu('navbar');
00381     if (document.getElementById)
00382     {
00383       var kill = document.getElementById('hoverJS');
00384       kill.disabled = true;
00385     }
00386   }
00387   // -->
00388 </script>
00389 </head>
00390 <body onLoad="init()">
00391 <!-- header //-->
00392 <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
00393 <!-- header_eof //-->
00394 
00395 <!-- body //-->
00396 <!-- body_text //-->
00397 
00398     <!-- options and values//-->
00399         <table border="0" width="75%" cellspacing="0" cellpadding="0" align="center">
00400       <tr>
00401         <td width="100%">
00402             <table width="100%" border="0" cellspacing="0" cellpadding="2">
00403               <tr>
00404                   <td height="40" valign="bottom">
00405                     <a href="<?php echo  zen_href_link(FILENAME_ATTRIBUTES_CONTROLLER, '', 'NONSSL') ?>"><?php echo zen_image_button('button_edit_attribs.gif', IMAGE_EDIT_ATTRIBUTES); ?></a> &nbsp;
00406                 <a href="<?php echo  zen_href_link(FILENAME_OPTIONS_VALUES_MANAGER, '', 'NONSSL') ?>"><?php echo zen_image_button('button_option_values.gif', IMAGE_OPTION_VALUES); ?></a>
00407                   </td>
00408                   <td class="main" height="40" valign="bottom">
00409                 <?php
00410 // toggle switch for show copier features
00411                   $option_names_values_copier_array = array(array('id' => '0', 'text' => TEXT_SHOW_OPTION_NAMES_VALUES_COPIER_OFF),
00412                                         array('id' => '1', 'text' => TEXT_SHOW_OPTION_NAMES_VALUES_COPIER_ON),
00413                                         );
00414                   echo zen_draw_form('set_option_names_values_copier_form', FILENAME_OPTIONS_NAME_MANAGER, '', 'get') . '&nbsp;&nbsp;' . zen_draw_pull_down_menu('reset_option_names_values_copier', $option_names_values_copier_array, $reset_option_names_values_copier, 'onChange="this.form.submit();"') .
00415                   zen_hide_session_id() .
00416                   zen_draw_hidden_field('action', 'set_option_names_values_copier') .
00417                   '</form>';
00418                 ?>
00419               </td>
00420               <td class="main" align="right" valign="bottom"><?php echo TEXT_PRODUCT_OPTIONS_INFO; ?></td>
00421             </tr>
00422           </table>
00423         </td>
00424       </tr>
00425       <tr>
00426         <td valign="top" width="50%">
00427            <table width="100%" border="0" cellspacing="0" cellpadding="2">
00428 <!-- options //-->
00429 <?php
00430   if ($action == 'delete_product_option') { // delete product option
00431     $options = $db->Execute("select products_options_id, products_options_name
00432                              from " . TABLE_PRODUCTS_OPTIONS . "
00433                              where products_options_id = '" . (int)$_GET['option_id'] . "'
00434                              and language_id = '" . (int)$_SESSION['languages_id'] . "'");
00435 
00436 ?>
00437               <tr>
00438                 <td class="pageHeading">&nbsp;<?php echo $options_values->fields['products_options_name']; ?>&nbsp;</td>
00439               </tr>
00440               <tr>
00441                 <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
00442 <?php
00443     $products = $db->Execute("select p.products_id, pd.products_name, pov.products_options_values_name
00444                               from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov,
00445                                    " . TABLE_PRODUCTS_ATTRIBUTES . " pa,
00446                                    " . TABLE_PRODUCTS_DESCRIPTION . " pd
00447                               where pd.products_id = p.products_id
00448                               and pov.language_id = '" . (int)$_SESSION['languages_id'] . "'
00449                               and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
00450                               and pa.products_id = p.products_id
00451                               and pa.options_id='" . (int)$_GET['option_id'] . "'
00452                               and pov.products_options_values_id = pa.options_values_id
00453                               order by pd.products_name");
00454 
00455     if ($products->RecordCount()>0) {
00456 ?>
00457 
00458 <?php
00459 // extra cancel
00460       if ($products->RecordCount()> 10) {
00461 ?>
00462                   <tr>
00463                     <td colspan="3"><?php echo zen_black_line(); ?></td>
00464                   </tr>
00465                   <tr>
00466                     <td colspan="2" class="main"><br /><?php echo '<strong>' . TEXT_OPTION_NAME . ':</strong> ' . zen_options_name((int)$_GET['option_id']) . '<br />' . TEXT_WARNING_OF_DELETE; ?></td>
00467                     <td align="right" colspan="3" class="main"><br /><?php echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') . '&option_order_by=' . $option_order_by) . '">'; ?><?php echo zen_image_button('button_cancel.gif', ' cancel '); ?></a>&nbsp;</td>
00468                   </tr>
00469 <?php
00470       }
00471 ?>
00472                   <tr class="dataTableHeadingRow">
00473                     <td class="dataTableHeadingContent" align="center">&nbsp;<?php echo TABLE_HEADING_ID; ?>&nbsp;</td>
00474                     <td class="dataTableHeadingContent">&nbsp;<?php echo TABLE_HEADING_PRODUCT; ?>&nbsp;</td>
00475                     <td class="dataTableHeadingContent">&nbsp;<?php echo TABLE_HEADING_OPT_VALUE; ?>&nbsp;</td>
00476                   </tr>
00477                   <tr>
00478                     <td colspan="3"><?php echo zen_black_line(); ?></td>
00479                   </tr>
00480 <?php
00481       $rows = 0;
00482       while (!$products->EOF) {
00483         $rows++;
00484 ?>
00485                   <tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
00486                     <td align="center" class="smallText">&nbsp;<?php echo $products->fields['products_id']; ?>&nbsp;</td>
00487                     <td class="smallText">&nbsp;<?php echo $products->fields['products_name']; ?>&nbsp;</td>
00488                     <td class="smallText">&nbsp;<?php echo $products->fields['products_options_values_name']; ?>&nbsp;</td>
00489                   </tr>
00490 <?php
00491         $products->MoveNext();
00492       }
00493 ?>
00494                   <tr>
00495                     <td colspan="3"><?php echo zen_black_line(); ?></td>
00496                   </tr>
00497                   <tr>
00498                     <td colspan="2" class="main"><br /><?php echo TEXT_WARNING_OF_DELETE; ?></td>
00499                     <td align="right" colspan="3" class="main"><br /><?php echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') . '&option_order_by=' . $option_order_by ) . '">'; ?><?php echo zen_image_button('button_cancel.gif', ' cancel '); ?></a>&nbsp;</td>
00500                   </tr>
00501                   <tr>
00502                     <td colspan="3"><?php echo zen_black_line(); ?></td>
00503                   </tr>
00504 <?php
00505     } else {
00506 ?>
00507                   <tr>
00508                     <td class="main" colspan="3"><br /><?php echo '<strong>' . TEXT_OPTION_NAME . ':</strong> ' . zen_options_name((int)$_GET['option_id']) . '<br />' . TEXT_OK_TO_DELETE; ?></td>
00509                   </tr>
00510                   <tr>
00511                     <td class="main" align="right" colspan="3"><br /><?php echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=delete_option&option_id=' . $_GET['option_id'] . (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') . '&option_order_by=' . $option_order_by ) . '">'; ?><?php echo zen_image_button('button_delete.gif', ' delete '); ?></a>&nbsp;&nbsp;&nbsp;<?php echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, (isset($_GET['order_by']) ? 'order_by=' . $_GET['order_by'] . '&' : '') . (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') . '&option_order_by=' . $option_order_by ) . '">'; ?><?php echo zen_image_button('button_cancel.gif', ' cancel '); ?></a>&nbsp;</td>
00512                   </tr>
00513 <?php
00514     }
00515 ?>
00516                 </table></td>
00517               </tr>
00518 <?php
00519   } else {
00520     if (isset($_GET['option_order_by'])) {
00521       $option_order_by = $_GET['option_order_by'];
00522     } else {
00523       $option_order_by = 'products_options_id';
00524     }
00525 ?>
00526               <tr>
00527                 <td colspan="2" class="pageHeading">&nbsp;<?php echo HEADING_TITLE_OPT; ?>&nbsp;</td>
00528                 <td valign="top" align="left"><form name="option_order_by" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'option_order_by=' . $option_order_by, 'NONSSL'); ?>"><select name="selected" onChange="go_option()"><option value="products_options_id"<?php if ($option_order_by == 'products_options_id') { echo ' SELECTED'; } ?>><?php echo TEXT_OPTION_ID; ?></option><option value="products_options_name"<?php if ($option_order_by == 'products_options_name') { echo ' SELECTED'; } ?>><?php echo TEXT_OPTION_NAME; ?></option></select></form></td>
00529               </tr>
00530               <tr>
00531                 <td colspan="4" class="smallText">
00532 <?php
00533     $options = "select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = :languageId: order by :optionOrderBy:";
00534     $options = $db->bindVars($options, ':languageId:', $_SESSION['languages_id'], 'integer');
00535     $options = $db->bindVars($options, ':optionOrderBy:', $option_order_by, 'noquotestring');
00536     if (!isset($_GET['option_page'])) {
00537       $_GET['option_page'] = 1;
00538     }
00539     $prev_option_page = $_GET['option_page'] - 1;
00540     $next_option_page = $_GET['option_page'] + 1;
00541 
00542     $option_query = $db->Execute($options);
00543     $num_rows = $option_query->RecordCount();
00544 
00545     $per_page = (MAX_ROW_LISTS_OPTIONS == '') ? $num_rows : (int)MAX_ROW_LISTS_OPTIONS;
00546 
00547     $option_page_start = ($per_page * $_GET['option_page']) - $per_page;
00548     if ($num_rows <= $per_page) {
00549       $num_pages = 1;
00550     } else if (($num_rows % $per_page) == 0) {
00551       $num_pages = ($num_rows / $per_page);
00552     } else {
00553       $num_pages = ($num_rows / $per_page) + 1;
00554     }
00555     $num_pages = (int) $num_pages;
00556 
00557 // fix limit error on some versions
00558     if ($option_page_start < 0) { $option_page_start = 0; }
00559 
00560     $options = $options . " LIMIT $option_page_start, $per_page";
00561 
00562     // Previous
00563     if ($prev_option_page)  {
00564       echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'option_page=' . $prev_option_page . '&option_order_by=' . $option_order_by) . '"> &lt;&lt; </a> | ';
00565     }
00566 
00567     for ($i = 1; $i <= $num_pages; $i++) {
00568       if ($i != $_GET['option_page']) {
00569         echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'option_page=' . $i . '&option_order_by=' . $option_order_by) . '">' . $i . '</a> | ';
00570       } else {
00571         echo '<b><font color=red>' . $i . '</font></b> | ';
00572       }
00573     }
00574 
00575     // Next
00576     if ($_GET['option_page'] != $num_pages) {
00577       echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'option_page=' . $next_option_page . '&option_order_by=' . $option_order_by) . '"> &gt;&gt; </a>';
00578     }
00579 //CLR 030212 - Add column for option type
00580 ?>
00581                 </td>
00582               </tr>
00583               <tr>
00584                 <td colspan="7"><?php echo zen_black_line(); ?></td>
00585               </tr>
00586               <tr class="dataTableHeadingRow">
00587                 <td class="dataTableHeadingContent">&nbsp;<?php echo TABLE_HEADING_ID; ?>&nbsp;</td>
00588                 <td class="dataTableHeadingContent">&nbsp;<?php echo TABLE_HEADING_OPT_NAME; ?>&nbsp;</td>
00589                 <td class="dataTableHeadingContent">&nbsp;<?php echo TABLE_HEADING_OPT_TYPE; ?>&nbsp;</td>
00590                 <td class="dataTableHeadingContent" align="right">&nbsp;<?php echo TABLE_HEADING_OPTION_SORT_ORDER; ?>&nbsp;</td>
00591                 <td class="dataTableHeadingContent" align="center">&nbsp;<?php echo TABLE_HEADING_OPTION_VALUE_SIZE; ?></td>
00592                 <td class="dataTableHeadingContent" align="center">&nbsp;<?php echo TABLE_HEADING_OPTION_VALUE_MAX; ?></td>
00593                 <td class="dataTableHeadingContent" align="center">&nbsp;<?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
00594               </tr>
00595               <tr>
00596                 <td colspan="7"><?php echo zen_black_line(); ?></td>
00597               </tr>
00598 <?php
00599     $next_id = 1;
00600     $rows = 0;
00601     $options_values = $db->Execute($options);
00602     while (!$options_values->EOF) {
00603       $rows++;
00604 ?>
00605               <tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
00606 <?php
00607 // edit option name
00608       if (($action == 'update_option') && ($_GET['option_id'] == $options_values->fields['products_options_id'])) {
00609         echo '<form name="option" action="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_option_name' . (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '')  . '&option_order_by=' . $option_order_by) . '" method="post">';echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']);
00610         $inputs = '';
00611         $inputs2 = '';
00612         for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {
00613           $option_name = $db->Execute("select products_options_name, products_options_sort_order, products_options_size, products_options_length, products_options_comment, products_options_images_per_row, products_options_images_style, products_options_rows
00614                                        from " . TABLE_PRODUCTS_OPTIONS . "
00615                                        where products_options_id = '" . (int)$options_values->fields['products_options_id'] . "'
00616                                        and language_id = '" . (int)$languages[$i]['id'] . "'");
00617 
00618           $inputs .= $languages[$i]['code'] . ':&nbsp;<input type="text" name="option_name[' . $languages[$i]['id'] . ']" ' . zen_set_field_length(TABLE_PRODUCTS_OPTIONS, 'products_options_name', 40) . ' value="' . zen_output_string($option_name->fields['products_options_name']) . '">' . TEXT_SORT . '<input type="text" name="products_options_sort_order[' . $languages[$i]['id'] . ']" size="3" value="' . $option_name->fields['products_options_sort_order'] . '">&nbsp;<br />';
00619           $inputs2 .= $languages[$i]['code'] . ':&nbsp; ' .
00620                    '&nbsp;' . TEXT_OPTION_VALUE_COMMENTS . '<input type="text" name="products_options_comment[' . $languages[$i]['id'] . ']" size="50" value="' . zen_output_string($option_name->fields['products_options_comment']) . '">' .
00621                    '<br /><br />' . TEXT_OPTION_VALUE_ROWS . '<input type="text" name="products_options_rows[' . $languages[$i]['id'] . ']" size="3" value="' . $option_name->fields['products_options_rows'] . '">' .
00622                    '&nbsp;' . TEXT_OPTION_VALUE_SIZE . '<input type="text" name="products_options_size[' . $languages[$i]['id'] . ']" size="3" value="' . $option_name->fields['products_options_size'] . '">' .
00623                    '&nbsp;' . TEXT_OPTION_VALUE_MAX . '<input type="text" name="products_options_length[' . $languages[$i]['id'] . ']" size="3" value="' . $option_name->fields['products_options_length'] . '">' .
00624                    '<br /><br />' . TEXT_OPTION_ATTRIBUTE_IMAGES_PER_ROW . '<input type="text" name="products_options_images_per_row[' . $languages[$i]['id'] . ']" size="3" value="' . $option_name->fields['products_options_images_per_row'] . '">' .
00625                    '&nbsp;' . TEXT_OPTION_ATTRIBUTE_IMAGES_STYLE . '<input type="text" name="products_options_images_style[' . $languages[$i]['id'] . ']" size="3" value="' . $option_name->fields['products_options_images_style'] . '">' . '<br /><br />';
00626 
00627         }
00628 
00629 //CLR 030212 - Add column for option type
00630 ?>
00631                 <td height="50" align="center" class="attributeBoxContent">&nbsp;<?php echo $options_values->fields['products_options_id']; ?><input type="hidden" name="option_id" value="<?php echo $options_values->fields['products_options_id']; ?>">&nbsp;</td>
00632                 <td class="attributeBoxContent"><?php echo $inputs; ?></td>
00633                 <td class="attributeBoxContent"><?php echo draw_optiontype_pulldown('option_type', $options_values->fields['products_options_type']); ?></td>
00634                 <td colspan="3" align="left" class="attributeBoxContent">&nbsp;</td>
00635                 <td colspan="1"  align="center" class="attributeBoxContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;<?php echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') . '&option_order_by=' . $option_order_by ) . '">'; ?><?php echo zen_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a>&nbsp;</td>
00636               </tr>
00637       <tr>
00638         <td colspan="7"><?php echo zen_draw_separator('pixel_black.gif', '100%', '2'); ?></td>
00639       </tr>
00640 
00641               <tr class="attributeBoxContent">
00642                 <td class="attributeBoxContent">&nbsp;</td>
00643                 <td colspan="6" class="attributeBoxContent"><?php echo TEXT_OPTION_ATTIBUTE_MAX_LENGTH . $inputs2; ?></td>
00644               </tr>
00645               <tr class="attributeBoxContent">
00646                 <td class="attributeBoxContent">&nbsp;</td>
00647                 <td colspan="6" class="attributeBoxContent">
00648               <?php echo '<br />' .
00649                      TEXT_OPTION_IMAGE_STYLE . '<br />' .
00650                      TEXT_OPTION_ATTRIBUTE_IMAGES_STYLE_0 . '<br />' .
00651                      TEXT_OPTION_ATTRIBUTE_IMAGES_STYLE_1 . '<br />' .
00652                      TEXT_OPTION_ATTRIBUTE_IMAGES_STYLE_2 . '<br />' .
00653                      TEXT_OPTION_ATTRIBUTE_IMAGES_STYLE_3 . '<br />' .
00654                      TEXT_OPTION_ATTRIBUTE_IMAGES_STYLE_4 . '<br />' .
00655                      TEXT_OPTION_ATTRIBUTE_IMAGES_STYLE_5 . '<br />';
00656               ?>
00657                 </td>
00658 
00659       </tr>
00660       <tr>
00661         <td colspan="7"><?php echo zen_draw_separator('pixel_black.gif', '100%', '2'); ?></td>
00662 <?php
00663         echo '</form>' . "\n";
00664       } else {
00665 //CLR 030212 - Add column for option type
00666 ?>
00667                 <td align="center" class="smallText">&nbsp;<?php echo $options_values->fields["products_options_id"]; ?>&nbsp;</td>
00668                 <td class="smallText">&nbsp;<?php echo $options_values->fields["products_options_name"]; ?>&nbsp;</td>
00669                 <td class="smallText">&nbsp;<?php echo translate_type_to_name($options_values->fields["products_options_type"]); ?>&nbsp;</td>
00670                 <td class="smallText" align="right">&nbsp;<?php echo $options_values->fields["products_options_sort_order"]; ?>&nbsp;</td>
00671                 <td class="smallText" align="right">&nbsp;<?php echo $options_values->fields["products_options_size"]; ?>&nbsp;</td>
00672                 <td class="smallText" align="right">&nbsp;<?php echo $options_values->fields["products_options_length"]; ?>&nbsp;</td>
00673 <?php
00674 // hide buttons when editing
00675   if ($action== 'update_option') {
00676 ?>
00677             <td width='120' align="center" class="smallText">&nbsp;</td>
00678 <?php
00679   } else {
00680 ?>
00681                 <td align="center" class="smallText">&nbsp;<?php echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_option&option_id=' . $options_values->fields['products_options_id'] . '&option_order_by=' . $option_order_by . '&option_page=' . $_GET['option_page'] . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') ) . '">'; ?><?php echo zen_image_button('button_edit.gif', IMAGE_UPDATE); ?></a>&nbsp;&nbsp;<?php echo '<a href="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=delete_product_option&option_id=' . $options_values->fields['products_options_id'] . (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . '&option_order_by=' . $option_order_by, 'NONSSL') , '">'; ?><?php echo zen_image_button('button_delete.gif', IMAGE_DELETE); ?></a>&nbsp;</td>
00682 <?php
00683   }
00684 ?>
00685 <?php
00686       }
00687 ?>
00688               </tr>
00689 <?php
00690       $max_options_id_values = $db->Execute("select max(products_options_id) + 1 as next_id
00691                                              from " . TABLE_PRODUCTS_OPTIONS);
00692 
00693       $next_id = $max_options_id_values->fields['next_id'];
00694       $options_values->MoveNext();
00695     }
00696 ?>
00697               <tr>
00698                 <td colspan="7"><?php echo zen_black_line(); ?></td>
00699               </tr>
00700 <?php
00701 // add option name
00702     if ($action != 'update_option') {
00703 ?>
00704               <tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
00705 <?php
00706       echo '<form name="options" action="' . zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=add_product_options' . (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') . '&option_order_by=' . $option_order_by ) . '" method="post"><input type="hidden" name="products_options_id" value="' . $next_id . '">';echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']);
00707       $inputs = '';
00708       for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {
00709         $inputs .= $languages[$i]['code'] . ':&nbsp;<input type="text" name="option_name[' . $languages[$i]['id'] . ']" ' . zen_set_field_length(TABLE_PRODUCTS_OPTIONS, 'products_options_name', 40) . '>' . TEXT_SORT . '<input type="text" name="products_options_sort_order[' . $languages[$i]['id'] . ']" size="3">' . '&nbsp;<br />';
00710       }
00711 //CLR 030212 - Add column for option type
00712 ?>
00713                 <td align="center" class="smallText">&nbsp;<?php echo $next_id; ?>&nbsp;</td>
00714                 <td class="smallText"><?php echo $inputs; ?></td>
00715                 <td class="smallText"><?php echo draw_optiontype_pulldown('option_type'); ?></td>
00716                 <td colspan="2" class="smallText">&nbsp;</td>
00717                 <td colspan="2" align="center" class="smallText">&nbsp;<?php echo zen_image_submit('button_insert.gif', IMAGE_INSERT); ?>&nbsp;</td>
00718 <?php
00719       echo '</form>';
00720 ?>
00721               </tr>
00722               <tr>
00723                 <td colspan="7"><?php echo zen_black_line(); ?></td>
00724               </tr>
00725 <?php
00726     }
00727   }
00728 ?>
00729             </table>
00730 </td></tr></table>
00731 <!-- options eof //-->
00732 
00733 <?php if ($_SESSION['option_names_values_copier'] == '0') { ?>
00734   <table align="center" width="90%">
00735     <tr>
00736       <td><?php echo zen_draw_separator('pixel_trans.gif', '100%', '5'); ?></td>
00737     </tr>
00738     <tr>
00739       <td class="pageHeading" align="center"><?php echo TEXT_INFO_OPTION_NAMES_VALUES_COPIER_STATUS; ?></td>
00740     </tr>
00741     <tr>
00742       <td><?php echo zen_draw_separator('pixel_trans.gif', '100%', '5'); ?></td>
00743     </tr>
00744   </table>
00745 <?php } else { ?>
00746   <table align="center" width="90%">
00747     <tr>
00748       <td><?php echo zen_draw_separator('pixel_trans.gif', '100%', '5'); ?></td>
00749     </tr>
00750     <tr>
00751       <td class="pageHeading" align="center"><span class="alert"><?php echo TEXT_WARNING_BACKUP; ?></span></td>
00752     </tr>
00753   </table>
00754 
00755 <!-- ADD - additional features //-->
00756         <table border="2" width="75%" cellspacing="0" cellpadding="0" align="center">
00757       <tr>
00758         <td width="100%">
00759             <table width="100%" border="0" cellspacing="0" cellpadding="2">
00760 
00761 <!-- bof: add all option values to products with current Option Name -->
00762             <tr>
00763               <td class="main"><?php echo TEXT_OPTION_VALUE_ADD_ALL; ?></td>
00764             </tr>
00765             <tr>
00766               <td class="main"><?php echo TEXT_INFO_OPTION_VALUE_ADD_ALL; ?></td>
00767             </tr>
00768             <tr class="dataTableHeadingRow">
00769               <td><table border="0" cellspacing="0" cellpadding="2">
00770                 <tr class="dataTableHeadingRow">
00771                   <form name="quick_jump" method="post" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_options_values&update_to=0&update_action=0' . '&option_order_by=' . $option_order_by, 'NONSSL'); ?>"><?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
00772                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION; ?><br /><select name="options_id">
00773 <?php
00774         $options_values = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00775         while(!$options_values->EOF) {
00776             echo "\n" . '<option name="' . $options_values->fields['products_options_name'] . '" value="' . $options_values->fields['products_options_id'] . '">' . $options_values->fields['products_options_name'] . '</option>';
00777             $options_values->MoveNext();
00778         }
00779 ?>
00780                   </select>&nbsp;</td>
00781                   <td align="right" class="dataTableHeadingContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;</td>
00782                   </form>
00783                 </tr>
00784 
00785               </table></td>
00786             </tr>
00787 
00788             <tr>
00789               <td class="main"><?php echo TEXT_OPTION_VALUE_ADD_PRODUCT; ?></td>
00790             </tr>
00791             <tr>
00792               <td class="main"><?php echo TEXT_INFO_OPTION_VALUE_ADD_PRODUCT; ?></td>
00793             </tr>
00794             <tr class="dataTableHeadingRow">
00795               <td><table border="0" cellspacing="0" cellpadding="2">
00796                 <tr class="dataTableHeadingRow">
00797                   <form name="quick_jump" method="post" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_options_values&update_to=1&update_action=0' . '&option_order_by=' . $option_order_by, 'NONSSL'); ?>"><?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
00798                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION; ?><br /><select name="options_id">
00799 <?php
00800         $options_values = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00801         while(!$options_values->EOF) {
00802             echo "\n" . '<option name="' . $options_values->fields['products_options_name'] . '" value="' . $options_values->fields['products_options_id'] . '">' . $options_values->fields['products_options_name'] . '</option>';
00803             $options_values->MoveNext();
00804         }
00805 ?>
00806                   </select>&nbsp;</td>
00807                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_PRODUCT; ?><br /><?php echo zen_draw_products_pull_down_attributes('product_to_update', 'size="5"', '', true, $_GET['products_filter'], true); ?></td>
00808 
00809                   <td align="center" class="dataTableHeadingContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;</td>
00810                   </form>
00811                 </tr>
00812 
00813               </table></td>
00814             </tr>
00815 
00816             <tr>
00817               <td class="main"><?php echo TEXT_OPTION_VALUE_ADD_CATEGORY; ?></td>
00818             </tr>
00819             <tr>
00820               <td class="main"><?php echo TEXT_INFO_OPTION_VALUE_ADD_CATEGORY; ?></td>
00821             </tr>
00822             <tr class="dataTableHeadingRow">
00823               <td><table border="0" cellspacing="0" cellpadding="2">
00824                 <tr class="dataTableHeadingRow">
00825                   <form name="quick_jump" method="post" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_options_values&update_to=2&update_action=0' . '&option_order_by=' . $option_order_by, 'NONSSL'); ?>"><?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
00826                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION; ?><br /><select name="options_id">
00827 <?php
00828         $options_values = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00829         while(!$options_values->EOF) {
00830             echo "\n" . '<option name="' . $options_values->fields['products_options_name'] . '" value="' . $options_values->fields['products_options_id'] . '">' . $options_values->fields['products_options_name'] . '</option>';
00831             $options_values->MoveNext();
00832         }
00833 ?>
00834                   </select>&nbsp;</td>
00835                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_CATEGORY; ?><br /><?php echo zen_draw_products_pull_down_categories('category_to_update', 'size="5"', '', true, $_GET['products_filter'], true); ?></td>
00836 
00837                   <td align="lef" class="dataTableHeadingContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;</td>
00838                   </form>
00839                 </tr>
00840 
00841               </table></td>
00842             </tr>
00843 
00844             <tr>
00845               <td class="main"><?php echo TEXT_COMMENT_OPTION_VALUE_ADD_ALL; ?></td>
00846             </tr>
00847 <!-- eof: add all option values to products with current Option Name -->
00848 
00849             </table>
00850           </td>
00851         </tr>
00852    </table>
00853 <!-- ADD - additional features eof //-->
00854 
00855   <table>
00856     <tr>
00857       <td colspan="4"><?php echo zen_draw_separator('pixel_trans.gif', '100%', '5'); ?></td>
00858     </tr>
00859   </table>
00860 
00861 <!-- DELETE - additional features //-->
00862         <table border="2" width="75%" cellspacing="0" cellpadding="0" align="center">
00863       <tr>
00864         <td width="100%">
00865             <table width="100%" border="0" cellspacing="0" cellpadding="2">
00866 
00867 <!-- bof: delete all option values to products with current Option Name -->
00868             <tr>
00869               <td class="main"><?php echo TEXT_OPTION_VALUE_DELETE_ALL; ?></td>
00870             </tr>
00871             <tr>
00872               <td class="main"><?php echo TEXT_INFO_OPTION_VALUE_DELETE_ALL; ?></td>
00873             </tr>
00874             <tr class="dataTableHeadingRow">
00875               <td><table border="0" cellspacing="0" cellpadding="2">
00876                 <tr class="dataTableHeadingRow">
00877                   <form name="quick_jump" method="post" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_options_values&update_to=0&update_action=1' . '&option_order_by=' . $option_order_by, 'NONSSL'); ?>"><?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
00878                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION; ?><br /><select name="options_id">
00879 <?php
00880         $options_values = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00881         while(!$options_values->EOF) {
00882             echo "\n" . '<option name="' . $options_values->fields['products_options_name'] . '" value="' . $options_values->fields['products_options_id'] . '">' . $options_values->fields['products_options_name'] . '</option>';
00883             $options_values->MoveNext();
00884         }
00885 ?>
00886                   </select>&nbsp;</td>
00887                   <td align="right" class="dataTableHeadingContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;</td>
00888                   </form>
00889                 </tr>
00890 
00891               </table></td>
00892             </tr>
00893 
00894             <tr>
00895               <td class="main"><?php echo TEXT_OPTION_VALUE_DELETE_PRODUCT; ?></td>
00896             </tr>
00897             <tr>
00898               <td class="main"><?php echo TEXT_INFO_OPTION_VALUE_DELETE_PRODUCT; ?></td>
00899             </tr>
00900             <tr class="dataTableHeadingRow">
00901               <td><table border="0" cellspacing="0" cellpadding="2">
00902                 <tr class="dataTableHeadingRow">
00903                   <form name="quick_jump" method="post" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_options_values&update_to=1&update_action=1' . '&option_order_by=' . $option_order_by, 'NONSSL'); ?>"><?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
00904                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION; ?><br /><select name="options_id">
00905 <?php
00906         $options_values = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00907         while(!$options_values->EOF) {
00908             echo "\n" . '<option name="' . $options_values->fields['products_options_name'] . '" value="' . $options_values->fields['products_options_id'] . '">' . $options_values->fields['products_options_name'] . '</option>';
00909             $options_values->MoveNext();
00910         }
00911 ?>
00912                   </select>&nbsp;</td>
00913                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_PRODUCT; ?><br /><?php echo zen_draw_products_pull_down_attributes('product_to_update', 'size="5"', '', true, $_GET['products_filter'], true); ?></td>
00914 
00915                   <td align="center" class="dataTableHeadingContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;</td>
00916                   </form>
00917                 </tr>
00918 
00919               </table></td>
00920             </tr>
00921 
00922             <tr>
00923               <td class="main"><?php echo TEXT_OPTION_VALUE_DELETE_CATEGORY; ?></td>
00924             </tr>
00925             <tr>
00926               <td class="main"><?php echo TEXT_INFO_OPTION_VALUE_DELETE_CATEGORY; ?></td>
00927             </tr>
00928             <tr class="dataTableHeadingRow">
00929               <td><table border="0" cellspacing="0" cellpadding="2">
00930                 <tr class="dataTableHeadingRow">
00931                   <form name="quick_jump" method="post" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=update_options_values&update_to=2&update_action=1' . '&option_order_by=' . $option_order_by, 'NONSSL'); ?>"><?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
00932                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION; ?><br /><select name="options_id">
00933 <?php
00934         $options_values = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00935         while(!$options_values->EOF) {
00936             echo "\n" . '<option name="' . $options_values->fields['products_options_name'] . '" value="' . $options_values->fields['products_options_id'] . '">' . $options_values->fields['products_options_name'] . '</option>';
00937             $options_values->MoveNext();
00938         }
00939 ?>
00940                   </select>&nbsp;</td>
00941                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_CATEGORY; ?><br /><?php echo zen_draw_products_pull_down_categories('category_to_update', 'size="5"', '', true, $_GET['products_filter'], true); ?></td>
00942 
00943                   <td align="lef" class="dataTableHeadingContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;</td>
00944                   </form>
00945                 </tr>
00946 
00947               </table></td>
00948             </tr>
00949 
00950             <tr>
00951               <td class="main"><?php echo TEXT_COMMENT_OPTION_VALUE_DELETE_ALL; ?></td>
00952             </tr>
00953 <!-- eof: delete all option values to products with current Option Name -->
00954 
00955             </table>
00956           </td>
00957         </tr>
00958    </table>
00959 <!-- DELETE - additional features eof //-->
00960 
00961 
00962   <table>
00963     <tr>
00964       <td colspan="4"><?php echo zen_draw_separator('pixel_trans.gif', '100%', '5'); ?></td>
00965     </tr>
00966   </table>
00967 
00968 
00969 <!-- COPY - additional features //-->
00970         <table border="2" width="75%" cellspacing="0" cellpadding="0" align="center">
00971       <tr>
00972         <td width="100%">
00973             <table width="100%" border="0" cellspacing="0" cellpadding="2">
00974 
00975 <!-- bof: copy all option values to another Option Name -->
00976             <tr>
00977               <td class="main"><?php echo TEXT_OPTION_VALUE_COPY_ALL; ?></td>
00978             </tr>
00979             <tr>
00980               <td class="main"><?php echo TEXT_INFO_OPTION_VALUE_COPY_ALL; ?></td>
00981             </tr>
00982             <tr class="dataTableHeadingRow">
00983               <td><table border="0" cellspacing="0" cellpadding="2">
00984                 <tr class="dataTableHeadingRow">
00985                   <form name="quick_jump" method="post" action="<?php echo zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, 'action=copy_options_values' . '&option_order_by=' . $option_order_by, 'NONSSL'); ?>"><?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
00986                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION_FROM; ?><br /><select name="options_id_from">
00987 <?php
00988         $options_values_from = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00989         while(!$options_values_from->EOF) {
00990             echo "\n" . '<option name="' . $options_values_from->fields['products_options_name'] . '" value="' . $options_values_from->fields['products_options_id'] . '">' . $options_values_from->fields['products_options_name'] . '</option>';
00991             $options_values_from->MoveNext();
00992         }
00993 ?>
00994                   </select>&nbsp;</td>
00995                   <td class="dataTableHeadingContent" width="75">&nbsp;</td>
00996                   <td class="dataTableHeadingContent"><?php echo TEXT_SELECT_OPTION_TO; ?><br /><select name="options_id_to">
00997 <?php
00998         $options_values_to = $db->Execute("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" .(int) $_SESSION['languages_id'] . "' and products_options_name !='' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_TEXT . "' and products_options_type !='" . (int)PRODUCTS_OPTIONS_TYPE_FILE . "' order by products_options_name");
00999         while(!$options_values_to->EOF) {
01000             echo "\n" . '<option name="' . $options_values_to->fields['products_options_name'] . '" value="' . $options_values_to->fields['products_options_id'] . '">' . $options_values_to->fields['products_options_name'] . '</option>';
01001             $options_values_to->MoveNext();
01002         }
01003 ?>
01004                   </select>&nbsp;</td>
01005 
01006                   <td align="right" class="dataTableHeadingContent">&nbsp;<?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?>&nbsp;</td>
01007                   </form>
01008                 </tr>
01009               </table></td>
01010             </tr>
01011 <!-- eof: copy all option values to another Option Name -->
01012             </table>
01013 <?php } // show copier features ?>
01014           </td>
01015         </tr>
01016    </table>
01017 
01018 
01019 
01020 
01021 <!-- body_text_eof //-->
01022 <!-- footer //-->
01023 <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
01024 <!-- footer_eof //-->
01025 </body>
01026 </html>
01027 <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
 All Data Structures Namespaces Files Functions Variables Enumerations