|
ZenCart_Documentation
1.5.0
http://www.collinsharper.com
|
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> 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') . ' ' . 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"> <?php echo $options_values->fields['products_options_name']; ?> </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> </td> 00468 </tr> 00469 <?php 00470 } 00471 ?> 00472 <tr class="dataTableHeadingRow"> 00473 <td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ID; ?> </td> 00474 <td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_PRODUCT; ?> </td> 00475 <td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_VALUE; ?> </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"> <?php echo $products->fields['products_id']; ?> </td> 00487 <td class="smallText"> <?php echo $products->fields['products_name']; ?> </td> 00488 <td class="smallText"> <?php echo $products->fields['products_options_values_name']; ?> </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> </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> <?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> </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"> <?php echo HEADING_TITLE_OPT; ?> </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) . '"> << </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) . '"> >> </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"> <?php echo TABLE_HEADING_ID; ?> </td> 00588 <td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td> 00589 <td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_TYPE; ?> </td> 00590 <td class="dataTableHeadingContent" align="right"> <?php echo TABLE_HEADING_OPTION_SORT_ORDER; ?> </td> 00591 <td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_OPTION_VALUE_SIZE; ?></td> 00592 <td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_OPTION_VALUE_MAX; ?></td> 00593 <td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ACTION; ?> </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'] . ': <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'] . '"> <br />'; 00619 $inputs2 .= $languages[$i]['code'] . ': ' . 00620 ' ' . 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 ' ' . TEXT_OPTION_VALUE_SIZE . '<input type="text" name="products_options_size[' . $languages[$i]['id'] . ']" size="3" value="' . $option_name->fields['products_options_size'] . '">' . 00623 ' ' . 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 ' ' . 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"> <?php echo $options_values->fields['products_options_id']; ?><input type="hidden" name="option_id" value="<?php echo $options_values->fields['products_options_id']; ?>"> </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"> </td> 00635 <td colspan="1" align="center" class="attributeBoxContent"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> <?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> </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"> </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"> </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"> <?php echo $options_values->fields["products_options_id"]; ?> </td> 00668 <td class="smallText"> <?php echo $options_values->fields["products_options_name"]; ?> </td> 00669 <td class="smallText"> <?php echo translate_type_to_name($options_values->fields["products_options_type"]); ?> </td> 00670 <td class="smallText" align="right"> <?php echo $options_values->fields["products_options_sort_order"]; ?> </td> 00671 <td class="smallText" align="right"> <?php echo $options_values->fields["products_options_size"]; ?> </td> 00672 <td class="smallText" align="right"> <?php echo $options_values->fields["products_options_length"]; ?> </td> 00673 <?php 00674 // hide buttons when editing 00675 if ($action== 'update_option') { 00676 ?> 00677 <td width='120' align="center" class="smallText"> </td> 00678 <?php 00679 } else { 00680 ?> 00681 <td align="center" class="smallText"> <?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> <?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> </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'] . ': <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">' . ' <br />'; 00710 } 00711 //CLR 030212 - Add column for option type 00712 ?> 00713 <td align="center" class="smallText"> <?php echo $next_id; ?> </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"> </td> 00717 <td colspan="2" align="center" class="smallText"> <?php echo zen_image_submit('button_insert.gif', IMAGE_INSERT); ?> </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> </td> 00781 <td align="right" class="dataTableHeadingContent"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> </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> </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"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> </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> </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"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> </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> </td> 00887 <td align="right" class="dataTableHeadingContent"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> </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> </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"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> </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> </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"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> </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> </td> 00995 <td class="dataTableHeadingContent" width="75"> </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> </td> 01005 01006 <td align="right" class="dataTableHeadingContent"> <?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?> </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'); ?>