Fatal error: Call to undefined function tep_attributes_sort() in /home/buygoods/public_html/admin/products_attributes.php on line 699 is the error i get when i try to access the products attribute page after i installed the add-on order editor. my products_attribute file looks like this:
<?php
/*
*/
require('includes/application_top.php');
$languages = tep_get_languages();
$action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');
if (tep_not_null($action)) {
$page_info = '';
if (isset($HTTP_GET_VARS['option_page'])) $page_info .= 'option_page=' . $HTTP_GET_VARS['option_page'] . '&';
if (isset($HTTP_GET_VARS['value_page'])) $page_info .= 'value_page=' . $HTTP_GET_VARS['value_page'] . '&';
if (isset($HTTP_GET_VARS['attribute_page'])) $page_info .= 'attribute_page=' . $HTTP_GET_VARS['attribute_page'] . '&';
if (tep_not_null($page_info)) {
$page_info = substr($page_info, 0, -1);
}
switch ($action) {
case 'add_product_options':
$products_options_id = tep_db_prepare_input($HTTP_POST_VARS['products_options_id']);
$option_name_array = $HTTP_POST_VARS['option_name'];
for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
$option_name = tep_db_prepare_input($option_name_array[$languages[$i]['id']]);
tep_db_query("insert into " . TABLE_PRODUCTS_OPTIONS . " (products_options_id, products_options_name, language_id) values ('" . (int)$products_options_id . "', '" . tep_db_input($option_name) . "', '" . (int)$languages[$i]['id'] . "')");
}
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'add_product_option_values':
$value_name_array = $HTTP_POST_VARS['value_name'];
$value_id = tep_db_prepare_input($HTTP_POST_VARS['value_id']);
$option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']);
for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
$value_name = tep_db_prepare_input($value_name_array[$languages[$i]['id']]);
tep_db_query("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES . " (products_options_values_id, language_id, products_options_values_name) values ('" . (int)$value_id . "', '" . (int)$languages[$i]['id'] . "', '" . tep_db_input($value_name) . "')");
}
tep_db_query("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " (products_options_id, products_options_values_id) values ('" . (int)$option_id . "', '" . (int)$value_id . "')");
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'add_product_attributes':
$products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
$options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
$values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
$value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
$price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);
$attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);
tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " values ('', '" . (int)$products_id . "', '" . (int)$options_id . "', '" . (int)$values_id . "', '" . tep_db_input($value_price) . "', '" . tep_db_input($price_prefix) . "', '" . (int)$attributes_sort . "')");
if (DOWNLOAD_ENABLED == 'true') {
$products_attributes_id = tep_db_insert_id();
$products_attributes_filename = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_filename']);
$products_attributes_maxdays = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxdays']);
$products_attributes_maxcount = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxcount']);
if (tep_not_null($products_attributes_filename)) {
tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " values (" . (int)$products_attributes_id . ", '" . tep_db_input($products_attributes_filename) . "', '" . tep_db_input($products_attributes_maxdays) . "', '" . tep_db_input($products_attributes_maxcount) . "')");
}
}
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'update_option_name':
$option_name_array = $HTTP_POST_VARS['option_name'];
$option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']);
for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
$option_name = tep_db_prepare_input($option_name_array[$languages[$i]['id']]);
tep_db_query("update " . TABLE_PRODUCTS_OPTIONS . " set products_options_name = '" . tep_db_input($option_name) . "' where products_options_id = '" . (int)$option_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'");
}
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'update_value':
$value_name_array = $HTTP_POST_VARS['value_name'];
$value_id = tep_db_prepare_input($HTTP_POST_VARS['value_id']);
$option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']);
for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {
$value_name = tep_db_prepare_input($value_name_array[$languages[$i]['id']]);
tep_db_query("update " . TABLE_PRODUCTS_OPTIONS_VALUES . " set products_options_values_name = '" . tep_db_input($value_name) . "' where products_options_values_id = '" . tep_db_input($value_id) . "' and language_id = '" . (int)$languages[$i]['id'] . "'");
}
tep_db_query("update " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " set products_options_id = '" . (int)$option_id . "' where products_options_values_id = '" . (int)$value_id . "'");
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'update_product_attribute':
$products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
$options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
$values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
$value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
$price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);
$attribute_id = tep_db_prepare_input($HTTP_POST_VARS['attribute_id']);
$attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);
tep_db_query("update " . TABLE_PRODUCTS_ATTRIBUTES . " set products_id = '" . (int)$products_id . "', options_id = '" . (int)$options_id . "', options_values_id = '" . (int)$values_id . "', options_values_price = '" . tep_db_input($value_price) . "', price_prefix = '" . tep_db_input($price_prefix) . "', attribute_sort = '" . (int)$attributes_sort . "' where products_attributes_id = '" . (int)$attribute_id . "'");
if (DOWNLOAD_ENABLED == 'true') {
$products_attributes_filename = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_filename']);
$products_attributes_maxdays = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxdays']);
$products_attributes_maxcount = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxcount']);
if (tep_not_null($products_attributes_filename)) {
tep_db_query("replace into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " set products_attributes_id = '" . (int)$attribute_id . "', products_attributes_filename = '" . tep_db_input($products_attributes_filename) . "', products_attributes_maxdays = '" . tep_db_input($products_attributes_maxdays) . "', products_attributes_maxcount = '" . tep_db_input($products_attributes_maxcount) . "'");
}
}
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'delete_option':
$option_id = tep_db_prepare_input($HTTP_GET_VARS['option_id']);
tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$option_id . "'");
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'delete_value':
$value_id = tep_db_prepare_input($HTTP_GET_VARS['value_id']);
tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$value_id . "'");
tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$value_id . "'");
tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_values_id = '" . (int)$value_id . "'");
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
case 'delete_attribute':
$attribute_id = tep_db_prepare_input($HTTP_GET_VARS['attribute_id']);
tep_db_query("delete from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_attributes_id = '" . (int)$attribute_id . "'");
// added for DOWNLOAD_ENABLED. Always try to remove attributes, even if downloads are no longer enabled
tep_db_query("delete from " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " where products_attributes_id = '" . (int)$attribute_id . "'");
tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));
break;
}
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script language="javascript"><!--
function go_option() {
if (document.option_order_by.selected.options[document.option_order_by.selected.sel
ectedIndex].value != "none") {
location = "<?php echo tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . ($HTTP_GET_VARS['option_page'] ? $HTTP_GET_VARS['option_page'] : 1)); ?>&option_order_by="+document.option_order_by.selected.options[document.option_order_by.selecte
d.selectedIndex].value;
}
}
//--></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->
<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<!-- options and values//-->
<tr>
<td width="100%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="2">
<!-- options //-->
<?php
if ($action == 'delete_product_option') { // delete product option
$options = tep_db_query("select products_options_id, products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$HTTP_GET_VARS['option_id'] . "' and language_id = '" . (int)$languages_id . "'");
$options_values = tep_db_fetch_array($options);
?>
<tr>
<td class="pageHeading"> <?php echo $options_values['products_options_name']; ?> </td>
<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<?php
$products = tep_db_query("select p.products_id, pd.products_name, pov.products_options_values_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov, " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pov.language_id = '" . (int)$languages_id . "' and pd.language_id = '" . (int)$languages_id . "' and pa.products_id = p.products_id and pa.options_id='" . (int)$HTTP_GET_VARS['option_id'] . "' and pov.products_options_values_id = pa.options_values_id order by pd.products_name");
if (tep_db_num_rows($products)) {
?>
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ID; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_PRODUCT; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_VALUE; ?> </td>
</tr>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<?php
$rows = 0;
while ($products_values = tep_db_fetch_array($products)) {
$rows++;
?>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<td align="center" class="smallText"> <?php echo $products_values['products_id']; ?> </td>
<td class="smallText"> <?php echo $products_values['products_name']; ?> </td>
<td class="smallText"> <?php echo $products_values['products_options_values_name']; ?> </td>
</tr>
<?php
}
?>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<tr>
<td colspan="3" class="main"><br><?php echo TEXT_WARNING_OF_DELETE; ?></td>
</tr>
<tr>
<td align="right" colspan="3" class="main"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($HTTP_GET_VARS['value_page']) ? 'value_page=' . $HTTP_GET_VARS['value_page'] . '&' : '') . (isset($HTTP_GET_VARS['attribute_page']) ? 'attribute_page=' . $HTTP_GET_VARS['attribute_page'] : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>
</tr>
<?php
} else {
?>
<tr>
<td class="main" colspan="3"><br><?php echo TEXT_OK_TO_DELETE; ?></td>
</tr>
<tr>
<td class="main" align="right" colspan="3"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_option&option_id=' . $HTTP_GET_VARS['option_id'], 'NONSSL') . '">'; ?><?php echo tep_image_button('button_delete.gif', ' delete '); ?></a> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($HTTP_GET_VARS['order_by']) ? 'order_by=' . $HTTP_GET_VARS['order_by'] . '&' : '') . (isset($HTTP_GET_VARS['page']) ? 'page=' . $HTTP_GET_VARS['page'] : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>
</tr>
<?php
}
?>
</table></td>
</tr>
<?php
} else {
if (isset($HTTP_GET_VARS['option_order_by'])) {
$option_order_by = $HTTP_GET_VARS['option_order_by'];
} else {
$option_order_by = 'products_options_id';
}
?>
<tr>
<td colspan="2" class="pageHeading"> <?php echo HEADING_TITLE_OPT; ?> </td>
<td align="right"><br><form name="option_order_by" action="<?php echo FILENAME_PRODUCTS_ATTRIBUTES; ?>"><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>
</tr>
<tr>
<td colspan="3" class="smallText">
<?php
$per_page = MAX_ROW_LISTS_OPTIONS;
$options = "select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$languages_id . "' order by " . $option_order_by;
if (!isset($option_page)) {
$option_page = 1;
}
$prev_option_page = $option_page - 1;
$next_option_page = $option_page + 1;
$option_query = tep_db_query($options);
$option_page_start = ($per_page * $option_page) - $per_page;
$num_rows = tep_db_num_rows($option_query);
if ($num_rows <= $per_page) {
$num_pages = 1;
} else if (($num_rows % $per_page) == 0) {
$num_pages = ($num_rows / $per_page);
} else {
$num_pages = ($num_rows / $per_page) + 1;
}
$num_pages = (int) $num_pages;
$options = $options . " LIMIT $option_page_start, $per_page";
// Previous
if ($prev_option_page) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . $prev_option_page) . '"> << </a> | ';
}
for ($i = 1; $i <= $num_pages; $i++) {
if ($i != $option_page) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . $i) . '">' . $i . '</a> | ';
} else {
echo '<b><font color=red>' . $i . '</font></b> | ';
}
}
// Next
if ($option_page != $num_pages) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . $next_option_page) . '"> >> </a>';
}
?>
</td>
</tr>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_ID; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>
<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ACTION; ?> </td>
</tr>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<?php
$next_id = 1;
$rows = 0;
$options = tep_db_query($options);
while ($options_values = tep_db_fetch_array($options)) {
$rows++;
?>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<?php
if (($action == 'update_option') && ($HTTP_GET_VARS['option_id'] == $options_values['products_options_id'])) {
echo '<form name="option" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_option_name', 'NONSSL') . '" method="post">';
$inputs = '';
for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {
$option_name = tep_db_query("select products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id = '" . $options_values['products_options_id'] . "' and language_id = '" . $languages[$i]['id'] . "'");
$option_name = tep_db_fetch_array($option_name);
$inputs .= $languages[$i]['code'] . ': <input type="text" name="option_name[' . $languages[$i]['id'] . ']" size="20" value="' . $option_name['products_options_name'] . '"> <br>';
}
?>
<td align="center" class="smallText"> <?php echo $options_values['products_options_id']; ?><input type="hidden" name="option_id" value="<?php echo $options_values['products_options_id']; ?>"> </td>
<td align="center" class="smallText"> <?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '', 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </td>
<?php
echo '</form>' . "\n";
} else {
?>
<td align="center" class="smallText"> <?php echo $options_values["products_options_id"]; ?> </td>
<td class="smallText"> <?php echo $options_values["products_options_name"]; ?> </td>
<td align="center" class="smallText"> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_option&option_id=' . $options_values['products_options_id'] . '&option_order_by=' . $option_order_by . '&option_page=' . $option_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_edit.gif', IMAGE_UPDATE); ?></a> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_product_option&option_id=' . $options_values['products_options_id'], 'NONSSL') , '">'; ?><?php echo tep_image_button('button_delete.gif', IMAGE_DELETE); ?></a> </td>
<?php
}
?>
</tr>
<?php
$max_options_id_query = tep_db_query("select max(products_options_id) + 1 as next_id from " . TABLE_PRODUCTS_OPTIONS);
$max_options_id_values = tep_db_fetch_array($max_options_id_query);
$next_id = $max_options_id_values['next_id'];
}
?>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<?php
if ($action != 'update_option') {
?>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<?php
echo '<form name="options" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=add_product_options&option_page=' . $option_page, 'NONSSL') . '" method="post"><input type="hidden" name="products_options_id" value="' . $next_id . '">';
$inputs = '';
for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {
$inputs .= $languages[$i]['code'] . ': <input type="text" name="option_name[' . $languages[$i]['id'] . ']" size="20"> <br>';
}
?>
<td align="center" class="smallText"> <?php echo $next_id; ?> </td>
<td class="smallText"><?php echo $inputs; ?></td>
<td align="center" class="smallText"> <?php echo tep_image_submit('button_insert.gif', IMAGE_INSERT); ?> </td>
<?php
echo '</form>';
?>
</tr>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<?php
}
}
?>
</table></td>
<!-- options eof //-->
<td valign="top" width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="2">
<!-- value //-->
<?php
if ($action == 'delete_option_value') { // delete product option value
$values = tep_db_query("select products_options_values_id, products_options_values_name from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$HTTP_GET_VARS['value_id'] . "' and language_id = '" . (int)$languages_id . "'");
$values_values = tep_db_fetch_array($values);
?>
<tr>
<td colspan="3" class="pageHeading"> <?php echo $values_values['products_options_values_name']; ?> </td>
<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<?php
$products = tep_db_query("select p.products_id, pd.products_name, po.products_options_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS . " po, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and po.language_id = '" . (int)$languages_id . "' and pa.products_id = p.products_id and pa.options_values_id='" . (int)$HTTP_GET_VARS['value_id'] . "' and po.products_options_id = pa.options_id order by pd.products_name");
if (tep_db_num_rows($products)) {
?>
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ID; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_PRODUCT; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>
</tr>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<?php
while ($products_values = tep_db_fetch_array($products)) {
$rows++;
?>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<td align="center" class="smallText"> <?php echo $products_values['products_id']; ?> </td>
<td class="smallText"> <?php echo $products_values['products_name']; ?> </td>
<td class="smallText"> <?php echo $products_values['products_options_name']; ?> </td>
</tr>
<?php
}
?>
<tr>
<td colspan="3"><?php echo tep_black_line(); ?></td>
</tr>
<tr>
<td class="main" colspan="3"><br><?php echo TEXT_WARNING_OF_DELETE; ?></td>
</tr>
<tr>
<td class="main" align="right" colspan="3"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($HTTP_GET_VARS['value_page']) ? 'value_page=' . $HTTP_GET_VARS['value_page'] . '&' : '') . (isset($HTTP_GET_VARS['attribute_page']) ? 'attribute_page=' . $attribute_page : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>
</tr>
<?php
} else {
?>
<tr>
<td class="main" colspan="3"><br><?php echo TEXT_OK_TO_DELETE; ?></td>
</tr>
<tr>
<td class="main" align="right" colspan="3"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_value&value_id=' . $HTTP_GET_VARS['value_id'], 'NONSSL') . '">'; ?><?php echo tep_image_button('button_delete.gif', ' delete '); ?></a> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '&option_page=' . $option_page . (isset($HTTP_GET_VARS['value_page']) ? '&value_page=' . $value_page : '') . (isset($HTTP_GET_VARS['attribute_page']) ? '&attribute_page=' . $attribute_page : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>
</tr>
<?php
}
?>
</table></td>
</tr>
<?php
} else {
?>
<tr>
<td colspan="3" class="pageHeading"> <?php echo HEADING_TITLE_VAL; ?> </td>
<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>
</tr>
<tr>
<td colspan="4" class="smallText">
<?php
$per_page = MAX_ROW_LISTS_OPTIONS;
$values = "select pov.products_options_values_id, pov.products_options_values_name, pov2po.products_options_id from " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov left join " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " pov2po on pov.products_options_values_id = pov2po.products_options_values_id where pov.language_id = '" . (int)$languages_id . "' order by pov.products_options_values_id";
if (!isset($value_page)) {
$value_page = 1;
}
$prev_value_page = $value_page - 1;
$next_value_page = $value_page + 1;
$value_query = tep_db_query($values);
$value_page_start = ($per_page * $value_page) - $per_page;
$num_rows = tep_db_num_rows($value_query);
if ($num_rows <= $per_page) {
$num_pages = 1;
} else if (($num_rows % $per_page) == 0) {
$num_pages = ($num_rows / $per_page);
} else {
$num_pages = ($num_rows / $per_page) + 1;
}
$num_pages = (int) $num_pages;
$values = $values . " LIMIT $value_page_start, $per_page";
// Previous
if ($prev_value_page) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_order_by=' . $option_order_by . '&value_page=' . $prev_value_page) . '"> << </a> | ';
}
for ($i = 1; $i <= $num_pages; $i++) {
if ($i != $value_page) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($option_order_by) ? 'option_order_by=' . $option_order_by . '&' : '') . 'value_page=' . $i) . '">' . $i . '</a> | ';
} else {
echo '<b><font color=red>' . $i . '</font></b> | ';
}
}
// Next
if ($value_page != $num_pages) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($option_order_by) ? 'option_order_by=' . $option_order_by . '&' : '') . 'value_page=' . $next_value_page) . '"> >></a> ';
}
?>
</td>
</tr>
<tr>
<td colspan="4"><?php echo tep_black_line(); ?></td>
</tr>
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_ID; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_VALUE; ?> </td>
<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ACTION; ?> </td>
</tr>
<tr>
<td colspan="4"><?php echo tep_black_line(); ?></td>
</tr>
<?php
$next_id = 1;
$rows = 0;
$values = tep_db_query($values);
while ($values_values = tep_db_fetch_array($values)) {
$options_name = tep_options_name($values_values['products_options_id']);
$values_name = $values_values['products_options_values_name'];
$rows++;
?>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<?php
if (($action == 'update_option_value') && ($HTTP_GET_VARS['value_id'] == $values_values['products_options_values_id'])) {
echo '<form name="values" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_value', 'NONSSL') . '" method="post">';
$inputs = '';
for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {
$value_name = tep_db_query("select products_options_values_name from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$values_values['products_options_values_id'] . "' and language_id = '" . (int)$languages[$i]['id'] . "'");
$value_name = tep_db_fetch_array($value_name);
$inputs .= $languages[$i]['code'] . ': <input type="text" name="value_name[' . $languages[$i]['id'] . ']" size="15" value="' . $value_name['products_options_values_name'] . '"> <br>';
}
?>
<td align="center" class="smallText"> <?php echo $values_values['products_options_values_id']; ?><input type="hidden" name="value_id" value="<?php echo $values_values['products_options_values_id']; ?>"> </td>
<td align="center" class="smallText"> <?php echo "\n"; ?><select name="option_id">
<?php
$options = tep_db_query("select products_options_id, products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$languages_id . "' order by products_options_name");
while ($options_values = tep_db_fetch_array($options)) {
echo "\n" . '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '"';
if ($values_values['products_options_id'] == $options_values['products_options_id']) {
echo ' selected';
}
echo '>' . $options_values['products_options_name'] . '</option>';
}
?>
</select> </td>
<td class="smallText"><?php echo $inputs; ?></td>
<td align="center" class="smallText"> <?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '', 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </td>
<?php
echo '</form>';
} else {
?>
<td align="center" class="smallText"> <?php echo $values_values["products_options_values_id"]; ?> </td>
<td align="center" class="smallText"> <?php echo $options_name; ?> </td>
<td class="smallText"> <?php echo $values_name; ?> </td>
<td align="center" class="smallText"> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_option_value&value_id=' . $values_values['products_options_values_id'] . (isset($HTTP_GET_VARS['value_page']) ? '&value_page=' . $HTTP_GET_VARS['value_page'] : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_edit.gif', IMAGE_UPDATE); ?></a> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_option_value&value_id=' . $values_values['products_options_values_id'], 'NONSSL') , '">'; ?><?php echo tep_image_button('button_delete.gif', IMAGE_DELETE); ?></a> </td>
<?php
}
$max_values_id_query = tep_db_query("select max(products_options_values_id) + 1 as next_id from " . TABLE_PRODUCTS_OPTIONS_VALUES);
$max_values_id_values = tep_db_fetch_array($max_values_id_query);
$next_id = $max_values_id_values['next_id'];
}
?>
</tr>
<tr>
<td colspan="4"><?php echo tep_black_line(); ?></td>
</tr>
<?php
if ($action != 'update_option_value') {
?>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<?php
echo '<form name="values" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=add_product_option_values&value_page=' . $value_page, 'NONSSL') . '" method="post">';
?>
<td align="center" class="smallText"> <?php echo $next_id; ?> </td>
<td align="center" class="smallText"> <select name="option_id">
<?php
$options = tep_db_query("select products_options_id, products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . $languages_id . "' order by products_options_name");
while ($options_values = tep_db_fetch_array($options)) {
echo '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '">' . $options_values['products_options_name'] . '</option>';
}
$inputs = '';
for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {
$inputs .= $languages[$i]['code'] . ': <input type="text" name="value_name[' . $languages[$i]['id'] . ']" size="15"> <br>';
}
?>
</select> </td>
<td class="smallText"><input type="hidden" name="value_id" value="<?php echo $next_id; ?>"><?php echo $inputs; ?></td>
<td align="center" class="smallText"> <?php echo tep_image_submit('button_insert.gif', IMAGE_INSERT); ?> </td>
<?php
echo '</form>';
?>
</tr>
<tr>
<td colspan="4"><?php echo tep_black_line(); ?></td>
</tr>
<?php
}
}
?>
</table></td>
</tr>
</table></td>
<!-- option value eof //-->
</tr>
<!-- products_attributes //-->
<tr>
<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"> <?php echo HEADING_TITLE_ATRIB; ?> </td>
<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>
</tr>
</table></td>
</tr>
<tr>
<td class=main>OK, firstly, you can ignore the above section.<br>
To set the downloads for your products, firstly you should have already uploaded the zip folder of your product to your <b>download</b> folder on your web server using your FTP Programme or by using the File Manager feature in your web server control panel.<br>
(Instructions for uploading files can be found at the bottom of the Categories/Products page.)<br>
To set the download, simply select your new product from the drop box at the bottom of this page, add the file name ( i.e. something.zip ) into the <b>Filename</b> field, then click on <b>Insert</b>.<br>
And that's it! Your product is now downloadable.<p>
</td></tr><tr>
<?php
if ($action == 'update_attribute') {
$form_action = 'update_product_attribute';
} else {
$form_action = 'add_product_attributes';
}
if (!isset($attribute_page)) {
$attribute_page = 1;
}
$prev_attribute_page = $attribute_page - 1;
$next_attribute_page = $attribute_page + 1;
?>
<td><form name="attributes" action="<?php echo tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=' . $form_action . '&option_page=' . $option_page . '&value_page=' . $value_page . '&attribute_page=' . $attribute_page); ?>" method="post"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td colspan="7" class="smallText">
<?php
$per_page = MAX_ROW_LISTS_OPTIONS;
$attributes = "select pa.* from " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on pa.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by pd.products_name";
$attribute_query = tep_db_query($attributes);
$attribute_page_start = ($per_page * $attribute_page) - $per_page;
$num_rows = tep_db_num_rows($attribute_query);
if ($num_rows <= $per_page) {
$num_pages = 1;
} else if (($num_rows % $per_page) == 0) {
$num_pages = ($num_rows / $per_page);
} else {
$num_pages = ($num_rows / $per_page) + 1;
}
$num_pages = (int) $num_pages;
$attributes = $attributes . " LIMIT $attribute_page_start, $per_page";
// Previous
if ($prev_attribute_page) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'attribute_page=' . $prev_attribute_page) . '"> << </a> | ';
}
for ($i = 1; $i <= $num_pages; $i++) {
if ($i != $attribute_page) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'attribute_page=' . $i) . '">' . $i . '</a> | ';
} else {
echo '<b><font color="red">' . $i . '</font></b> | ';
}
}
// Next
if ($attribute_page != $num_pages) {
echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'attribute_page=' . $next_attribute_page) . '"> >> </a>';
}
?>
</td>
</tr>
<tr>
<td colspan="8"><?php echo tep_black_line(); ?></td>
</tr>
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_ID; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_PRODUCT; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>
<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_VALUE; ?> </td>
<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ACTION; ?> </td>
</tr>
<tr>
<td colspan="8"><?php echo tep_black_line(); ?></td>
</tr>
<?php
$next_id = 1;
$attributes = tep_db_query($attributes);
while ($attributes_values = tep_db_fetch_array($attributes)) {
$products_name_only = tep_get_products_name($attributes_values['products_id']);
$options_name = tep_options_name($attributes_values['options_id']);
$values_name = tep_values_name($attributes_values['options_values_id']);
$attributes_sort = tep_attributes_sort($attributes_values['products_attributes_id']);
$rows++;
?>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<?php
if (($action == 'update_attribute') && ($HTTP_GET_VARS['attribute_id'] == $attributes_values['products_attributes_id'])) {
?>
<td class="smallText"> <?php echo $attributes_values['products_attributes_id']; ?><input type="hidden" name="attribute_id" value="<?php echo $attributes_values['products_attributes_id']; ?>"> </td>
<td class="smallText"> <select name="products_id">
<?php
$products = tep_db_query("select p.products_id, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "' order by pd.products_name");
while($products_values = tep_db_fetch_array($products)) {
if ($attributes_values['products_id'] == $products_values['products_id']) {
echo "\n" . '<option name="' . $products_values['products_name'] . '" value="' . $products_values['products_id'] . '" SELECTED>' . $products_values['products_name'] . '</option>';
} else {
echo "\n" . '<option name="' . $products_values['products_name'] . '" value="' . $products_values['products_id'] . '">' . $products_values['products_name'] . '</option>';
}
}
?>
</select> </td>
<td class="smallText"> <select name="options_id">
<?php
$options = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . $languages_id . "' order by products_options_name");
while($options_values = tep_db_fetch_array($options)) {
if ($attributes_values['options_id'] == $options_values['products_options_id']) {
echo "\n" . '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '" SELECTED>' . $options_values['products_options_name'] . '</option>';
} else {
echo "\n" . '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '">' . $options_values['products_options_name'] . '</option>';
}
}
?>
</select> </td>
<td class="smallText"> <select name="values_id">
<?php
$values = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where language_id ='" . $languages_id . "' order by products_options_values_name");
while($values_values = tep_db_fetch_array($values)) {
if ($attributes_values['options_values_id'] == $values_values['products_options_values_id']) {
echo "\n" . '<option name="' . $values_values['products_options_values_name'] . '" value="' . $values_values['products_options_values_id'] . '" SELECTED>' . $values_values['products_options_values_name'] . '</option>';
} else {
echo "\n" . '<option name="' . $values_values['products_options_values_name'] . '" value="' . $values_values['products_options_values_id'] . '">' . $values_values['products_options_values_name'] . '</option>';
}
}
?>
</select> </td>
<td align="left" class="smallText"> <?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '&attribute_page=' . $attribute_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </td>
<?php
if (DOWNLOAD_ENABLED == 'true') {
$download_query_raw ="select products_attributes_filename, products_attributes_maxdays, products_attributes_maxcount
from " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . "
where products_attributes_id='" . $attributes_values['products_attributes_id'] . "'";
$download_query = tep_db_query($download_query_raw);
if (tep_db_num_rows($download_query) > 0) {
$download = tep_db_fetch_array($download_query);
$products_attributes_filename = $download['products_attributes_filename'];
$products_attributes_maxdays = $download['products_attributes_maxdays'];
$products_attributes_maxcount = $download['products_attributes_maxcount'];
}
?>
<tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
<td> </td>
<td colspan="6">
<table>
<tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_DOWNLOAD; ?> </td>
<td class="smallText"><?php echo TABLE_TEXT_FILENAME; ?></td>
<td class="smallText"><?php echo tep_draw_input_field('products_attributes_filename', $products_attributes_filename, 'size="15"'); ?> </td>
<td class="smallText"><?php echo TABLE_TEXT_MAX_DAYS; ?></td>
<td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxdays', $products_attributes_maxdays, 'size="5"'); ?> </td>
<td class="smallText"><?php echo TABLE_TEXT_MAX_COUNT; ?></td>
<td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxcount', $products_attributes_maxcount, 'size="5"'); ?> </td>
</tr>
</table>
</td>
<td> </td>
</tr>
<?php
}
?>
<?php
} elseif (($action == 'delete_product_attribute') && ($HTTP_GET_VARS['attribute_id'] == $attributes_values['products_attributes_id'])) {
?>
<td class="smallText"> <b><?php echo $attributes_values["products_attributes_id"]; ?></b> </td>
<td class="smallText"> <b><?php echo $products_name_only; ?></b> </td>
<td class="smallText"> <b><?php echo $options_name; ?></b> </td>
<td class="smallText"> <b><?php echo $values_name; ?></b> </td>
<td align="center" class="smallText"> <b><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_attribute&attribute_id=' . $HTTP_GET_VARS['attribute_id']) . '">'; ?><?php echo tep_image_button('button_confirm.gif', IMAGE_CONFIRM); ?></a> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '&option_page=' . $option_page . '&value_page=' . $value_page . '&attribute_page=' . $attribute_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </b></td>
<?php
} else {
?>
<td class="smallText"> <?php echo $attributes_values["products_attributes_id"]; ?> </td>
<td class="smallText"> <?php echo $products_name_only; ?> </td>
<td class="smallText"> <?php echo $options_name; ?> </td>
<td class="smallText"> <?php echo $values_name; ?> </td>
<td align="left" class="smallText"> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_attribute&attribute_id=' . $attributes_values['products_attributes_id'] . '&attribute_page=' . $attribute_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_edit.gif', IMAGE_UPDATE); ?></a> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_product_attribute&attribute_id=' . $attributes_values['products_attributes_id'] . '&attribute_page=' . $attribute_page, 'NONSSL') , '">'; ?><?php echo tep_image_button('button_delete.gif', IMAGE_DELETE); ?></a> </td>
<?php
}
$max_attributes_id_query = tep_db_query("select max(products_attributes_id) + 1 as next_id from " . TABLE_PRODUCTS_ATTRIBUTES);
$max_attributes_id_values = tep_db_fetch_array($max_attributes_id_query);
$next_id = $max_attributes_id_values['next_id'];
?>
</tr>
<?php
}
if ($action != 'update_attribute') {
?>
<tr>
<td colspan="8"><?php echo tep_black_line(); ?></td>
</tr>
<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
<td class="smallText"> <?php echo $next_id; ?> </td>
<td class="smallText"> <select name="products_id">
<?php
$products = tep_db_query("select p.products_id, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "' order by pd.products_name");
while ($products_values = tep_db_fetch_array($products)) {
echo '<option name="' . $products_values['products_name'] . '" value="' . $products_values['products_id'] . '">' . $products_values['products_name'] . '</option>';
}
?>
</select> </td>
<td class="smallText"> <select name="options_id">
<?php
$options = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . $languages_id . "' order by products_options_name");
while ($options_values = tep_db_fetch_array($options)) {
echo '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '">' . $options_values['products_options_name'] . '</option>';
}
?>
</select> </td>
<td class="smallText"> <select name="values_id">
<?php
$values = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where language_id = '" . $languages_id . "' order by products_options_values_name");
while ($values_values = tep_db_fetch_array($values)) {
echo '<option name="' . $values_values['products_options_values_name'] . '" value="' . $values_values['products_options_values_id'] . '">' . $values_values['products_options_values_name'] . '</option>';
}
?>
</select> </td>
<td align="center" class="smallText"> <?php echo tep_image_submit('button_insert.gif', IMAGE_INSERT); ?> </td>
</tr>
<?php
if (DOWNLOAD_ENABLED == 'true') {
$products_attributes_maxdays = DOWNLOAD_MAX_DAYS;
$products_attributes_maxcount = DOWNLOAD_MAX_COUNT;
?>
<tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
<td> </td>
<td colspan="6">
<table>
<tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_DOWNLOAD; ?> </td>
<td class="smallText"><?php echo TABLE_TEXT_FILENAME; ?></td>
<td class="smallText"><?php echo tep_draw_input_field('products_attributes_filename', $products_attributes_filename, 'size="15"'); ?> </td>
<td class="smallText"><?php echo TABLE_TEXT_MAX_DAYS; ?></td>
<td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxdays', $products_attributes_maxdays, 'size="5"'); ?> </td>
<td class="smallText"><?php echo TABLE_TEXT_MAX_COUNT; ?></td>
<td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxcount', $products_attributes_maxcount, 'size="5"'); ?> </td>
</tr>
</table>
</td>
<td> </td>
</tr>
<?php
} // end of DOWNLOAD_ENABLED section
?>
<?php
}
?>
<tr>
<td colspan="8"><?php echo tep_black_line(); ?></td>
</tr>
</table></form></td>
</tr>
</table></td>
<!-- products_attributes_eof //-->
</tr>
</table>

