J'utilise la contribution quick update version 2.1b de Gnidhal elle fonctionne à merveille.
(il y a des version supérieur mais impossible de les faire fonctionner)
Mais serait'il possible à un "crak" en Php de l'améliorer.
En fait tout est parfais sur cette contrib mais elle le serai encore plus si elle premettait de mettre à jour également le "model" et le "nom" des articles, car atuellement le model et le nom appraissent en texte non modifiable.
J'ai bien essayé de modifer le code, mais mon niveau très limité
A moins qu'il existe une contrib qui elle permette de mettre à jour le model et le nom dans une liste global.
Je met ci-dessous le code de la page quick_update.php :
CODE
<?php
/*
$Id: quick_updates.php,v 2.1b 2003/05/12 14:44:34 HRB Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Based on the original script contributed by Burt (burt@xwww.co.uk)
and by Henri Bredehoeft (hrb@nermica.net)
This version was contributed by GniDhal (fx@geniehalles.com)
and Xaglo (xaglo@free.fr)
(http://www.oscommerce-fr.com )
Copyright (c) 2002 osCommerce
Released under the GNU General Public License
*/
require('includes/application_top.php');
($row_by_page) ? define('MAX_DISPLAY_ROW_BY_PAGE' , $row_by_page ) : $row_by_page = MAX_DISPLAY_SEARCH_RESULTS; define('MAX_DISPLAY_ROW_BY_PAGE' , MAX_DISPLAY_SEARCH_RESULTS );
//// Tax Row
$tax_class_array = array(array('id' => '0', 'text' => NO_TAX_TEXT));
$tax_class_query = tep_db_query("select tax_class_id, tax_class_title from " . TABLE_TAX_CLASS . " order by tax_class_title");
while ($tax_class = tep_db_fetch_array($tax_class_query)) {
$tax_class_array[] = array('id' => $tax_class['tax_class_id'],
'text' => $tax_class['tax_class_title']);
}
##// Uptade database
switch ($HTTP_GET_VARS['action']) {
case 'update' :
$count_update=0;
$item_updated = array();
foreach($HTTP_POST_VARS['product_new_price'] as $id => $new_price) {
if ($HTTP_POST_VARS['product_new_price'][$id] != $HTTP_POST_VARS['product_old_price'][$id] && $HTTP_POST_VARS['update_price'][$id] == 'yes') {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_price=$new_price WHERE products_id=$id");
}
}
foreach($HTTP_POST_VARS['product_new_weight'] as $id => $new_weight) {
if ($HTTP_POST_VARS['product_new_weight'][$id] != $HTTP_POST_VARS['product_old_weight'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_weight=$new_weight WHERE products_id=$id");
}
}
foreach($HTTP_POST_VARS['product_new_quantity'] as $id => $new_quantity) {
if ($HTTP_POST_VARS['product_new_quantity'][$id] != $HTTP_POST_VARS['product_old_quantity'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_quantity=$new_quantity WHERE products_id=$id");
}
}
foreach($HTTP_POST_VARS['product_new_status'] as $id => $new_status) {
if ($HTTP_POST_VARS['product_new_status'][$id] != $HTTP_POST_VARS['product_old_status'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
tep_set_product_status($id, $new_status);
}
}
foreach($HTTP_POST_VARS['product_new_tax'] as $id => $new_tax_id) {
if ($HTTP_POST_VARS['product_new_tax'][$id] != $HTTP_POST_VARS['product_old_tax'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_tax_class_id=$new_tax_id WHERE products_id=$id");
}
}
$count_item = array_count_values($item_updated);
if ($count_item['updated'] > 0) $messageStack->add($count_item['updated'].' '.TEXT_PRODUCTS_UPDATED . " $count_update " . TEXT_QTY_UPDATED, 'success');
break;
case 'calcul' :
if ($HTTP_POST_VARS['spec_price']) $preview_global_price = 'true';
break;
}
//// explode string parameters from preview product
if($info_back && $info_back!="-") {
$infoback = explode('-',$info_back);
$sort_by = $infoback[0];
$page = $infoback[1];
$current_category_id = $infoback[2];
$row_by_page = $infoback[3];
}
//// define the step for rollover lines per page
$row_bypage_array = array(array());
for ($i = 10; $i <=100; $i=$i+5) {
$row_bypage_array[] = array('id' => $i,
'text' => $i);
}
##// Let's start displaying page with forms
?>
<!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">
</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="2">
<tr>
<td>
<table border="0" width="100%" cellspacing="0" cellpadding="0" bgColor="#F5F5F5">
<tr>
<td class="pageHeading" colspan="3" bgColor="#FFFFFF"><?php echo HEADING_TITLE; ?></td>
</tr>
<tr>
<?php echo tep_draw_form('row_by_page', FILENAME_QUICK_UPDATES, '', 'get'); ?>
<td class="smallText" align="left"><?php echo TEXT_MAXI_ROW_BY_PAGE . ' ' . tep_draw_pull_down_menu('row_by_page', $row_bypage_array, $row_by_page, 'onChange="this.form.submit();"'); ?>
</td>
</form>
<td align="right" colspan="2">
<table border="0" cellspacing="0" cellpadding="2">
<form name="spec_price" <?php echo 'action="' . tep_href_link(FILENAME_QUICK_UPDATES, tep_get_all_get_params(array('action', 'info', 'pID')) . "action=calcul&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page" , 'NONSSL') . '"'; ?> method="post">
<tr class="dataTableHeadingRow">
<td class="main" align="right" valign="middle" nowrap> <?php echo TEXT_INPUT_SPEC_PRICE; ?></td>
<td class="dataTableHeadingContent" align="right" valign="middle"> <?php echo tep_draw_input_field('spec_price',0,'size="5"'); ?> </td>
<td class="smalltext" align="right" valign="middle"><?php
if ($preview_global_price != 'true') {
echo tep_image_submit('button_preview.gif', IMAGE_PREVIEW, "&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page");
} else echo '<a href="' . tep_href_link(FILENAME_QUICK_UPDATES, "&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page") . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';?></td>
</tr>
<tr>
<td class="smalltext" align="center" valign="middle" colspan="3" nowrap>
<?php if ($preview_global_price != 'true') {
echo TEXT_SPEC_PRICE_INFO1;
} else echo TEXT_SPEC_PRICE_INFO2;?>
</td>
</tr>
</form>
</table>
</td>
</tr>
<tr>
<?php echo tep_draw_form('categorie', FILENAME_QUICK_UPDATES, '', 'get'); ?>
<td class="smallText" align="left"><?php echo DISPLAY_CATEGORIES . ' ' . tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"'); ?></td></form>
<form name="update" method="POST" action="<?php echo "$PHP_SELF?action=update&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page"; ?>">
<td class="smalltext" align="middle"><?php echo WARNING_MESSAGE; ?> </td>
<td align="right" valign="middle"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE, "action=update&cPath=$current_category_id&page=$page&sort_by=$sort_by&row_by_page=$row_by_page");?>
</td>
</tr>
</table></td>
</tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="left" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_model DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')." </a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_MODEL ."</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_model ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" > ".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="left" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=pd.products_name DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')." </a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_PRODUCTS . "</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=pd.products_name ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" > ".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo "<a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_status DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')." </a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_STATUS . "<br>off / on</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_status ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" > ".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_weight DESC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_WEIGHT . "</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_weight ASC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_quantity DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_QUANTITY . "</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_quantity ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_price DESC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a>" . TABLE_HEADING_PRICE . " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_price ASC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a>"; ?> </td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_tax_class_id DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a> " . TABLE_HEADING_TAX . " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_tax_class_id ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a> "; ?> </td>
<td class="dataTableHeadingContent" align="center" valign="middle"></td>
<td class="dataTableHeadingContent" align="center" valign="middle"></td>
</tr>
<tr class="datatableRow">
<?
//// get the specials products list
$specials_array = array();
$specials_query = tep_db_query("select p.products_id from " . TABLE_PRODUCTS . " p, " . TABLE_SPECIALS . " s where s.products_id = p.products_id");
while ($specials = tep_db_fetch_array($specials_query)) {
$specials_array[] = $specials['products_id'];
}
//// control string sort page
if ($sort_by && !ereg('order by',$sort_by)) $sort_by = 'order by '.$sort_by;
//// define the string parameters for good back preview product
$origin = FILENAME_QUICK_UPDATES."?info_back=$sort_by-$page-$current_category_id-$row_by_page";
//// controle lenght (lines per page)
$split_page = $page;
if ($split_page > 1) $rows = $split_page * MAX_DISPLAY_ROW_BY_PAGE - MAX_DISPLAY_ROW_BY_PAGE;
//// select categories
if ($current_category_id == 0){
$products_query_raw = "select p.products_id, p.products_model, pd.products_name, p.products_status, p.products_weight, p.products_quantity, p.products_price, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and pd.language_id = '$languages_id' $sort_by ";
} else {
$products_query_raw = "select p.products_id, p.products_model, pd.products_name, p.products_status, p.products_weight, p.products_quantity, p.products_price, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc where p.products_id = pd.products_id and pd.language_id = '$languages_id' and p.products_id = pc.products_id and pc.categories_id = '" . $current_category_id . "' $sort_by ";
}
//// page splitter and display each products info
$products_split = new splitPageResults($split_page, MAX_DISPLAY_ROW_BY_PAGE, $products_query_raw, $products_query_numrows);
$products_query = tep_db_query($products_query_raw);
while ($products = tep_db_fetch_array($products_query)) {
$rows++;
if (strlen($rows) < 2) {
$rows = '0' . $rows;
}
//// check for global add value or rates, calcul and round values rates
if ($HTTP_POST_VARS['spec_price']){
$flag_spec = 'true';
if (substr($HTTP_POST_VARS['spec_price'],-1) == '%') {
$price = sprintf("%01.2f", round($products['products_price'] + (($spec_price / 100) * $products['products_price']),2));
} else $price = sprintf("%01.2f", round($products['products_price'] + $spec_price,2));
} else $price = $products['products_price'];
//// display infos per row
echo '<tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'">';
echo "<td class=\"smallText\" align=\"left\">" . $products['products_model'] . "</td>\n";
echo "<td class=\"smallText\" >".$products['products_name']."</td>\n";
//// Product status radio button
if ($products['products_status'] == '1') {
echo "<td class=\"smallText\" align=\"center\"><input type=\"radio\" name=\"product_new_status[".$products['products_id']."]\" value=\"0\" ><input type=\"radio\" name=\"product_new_status[".$products['products_id']."]\" value=\"1\" checked ></td>\n";
} else {
echo "<td class=\"smallText\" align=\"center\"><input type=\"radio\" style=\"background-color: #EEEEEE\" name=\"product_new_status[".$products['products_id']."]\" value=\"0\" checked ><input type=\"radio\" style=\"background-color: #EEEEEE\" name=\"product_new_status[".$products['products_id']."]\" value=\"1\"></td>\n";
}
echo "<td class=\"smallText\" align=\"center\"><input type=\"text\" size=\"5\" name=\"product_new_weight[".$products['products_id']."]\" value=\"".$products['products_weight']."\"></td>\n";
echo "<td class=\"smallText\" align=\"center\"><input type=\"text\" size=\"3\" name=\"product_new_quantity[".$products['products_id']."]\" value=\"".$products['products_quantity']."\"></td>\n";
//// check specials
if ( in_array($products['products_id'],$specials_array)) {
echo "<td class=\"smallText\" align=\"left\"> <input type=\"text\" size=\"6\" name=\"product_new_price[".$products['products_id']."]\" value=\"".$products['products_price']."\" disabled > <a href=\"".tep_href_link (FILENAME_SPECIALS, 'sID='.$products['products_id'])."\">". tep_image(DIR_WS_IMAGES . 'icon_info.gif', TEXT_SPECIALS_PRODUCTS) ."</a></td>\n";
} else {
if ($flag_spec == 'true') {
echo "<td class=\"smallText\" align=\"left\"> <input type=\"text\" size=\"6\" name=\"product_new_price[".$products['products_id']."]\" value=\"".$price ."\">".tep_draw_checkbox_field('update_price['.$products['products_id'].']','yes','checked','no')."</td>\n";
} else echo "<td class=\"smallText\" align=\"left\"> <input type=\"text\" size=\"6\" name=\"product_new_price[".$products['products_id']."]\" value=\"".$price ."\">".tep_draw_hidden_field('update_price['.$products['products_id'].']','yes')."</td>\n";
}
echo "<td class=\"smallText\" align=\"center\">".tep_draw_pull_down_menu("product_new_tax[".$products['products_id']."]\"", $tax_class_array, $products['products_tax_class_id'])."</td>\n";
//// links to preview or full edit
echo "<td class=\"smallText\" align=\"center\"><a href=\"".tep_href_link (FILENAME_CATEGORIES, 'pID='.$products['products_id'].'&action=new_product_preview&read=only&sort_by='.$sort_by.'&page='.$split_page.'&origin='.$origin)."\">". tep_image(DIR_WS_IMAGES . 'icon_info.gif', TEXT_IMAGE_PREVIEW) ."</a></td>\n";
echo "<td class=\"smallText\" align=\"center\"><a href=\"".tep_href_link (FILENAME_CATEGORIES, 'pID='.$products['products_id'].'&cPath='.$categories_products[0].'&action=new_product')."\">". tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', TEXT_IMAGE_SWITCH_EDIT) ."</a></td>\n";
//// Hidden parameters for cache old values
echo tep_draw_hidden_field('product_old_model['.$products['products_id'].']',$products['products_model']); //rajout
echo tep_draw_hidden_field('product_old_name['.$products['products_id'].']',$products['products_name']); //rajout
echo tep_draw_hidden_field('product_old_status['.$products['products_id'].']',$products['products_status']);
echo tep_draw_hidden_field('product_old_quantity['.$products['products_id'].']',$products['products_quantity']);
echo tep_draw_hidden_field('product_old_weight['.$products['products_id'].']',$products['products_weight']);
echo tep_draw_hidden_field('product_old_price['.$products['products_id'].']',$products['products_price']);
echo tep_draw_hidden_field('product_old_tax['.$products['products_id'].']',$products['products_tax_class_id']);
//// hidden display parameters
echo tep_draw_hidden_field( 'row_by_page', $row_by_page);
echo tep_draw_hidden_field( 'sort_by', $sort_by);
echo tep_draw_hidden_field( 'page', $split_page);
}
echo "</table>\n";
?>
</td>
</tr>
</table></td>
</tr>
<tr>
<td align="right">
<?php
//// display bottom page buttons
echo tep_image_submit('button_update.gif', IMAGE_UPDATE);
echo ' <a href="' . tep_href_link(FILENAME_QUICK_UPDATES,"&row_by_page=$row_by_page") . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';
?></td>
</tr>
</form>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<td class="smallText" valign="top"><?php echo $products_split->display_count($products_query_numrows, MAX_DISPLAY_ROW_BY_PAGE, $split_page, TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
<td class="smallText" align="right"><?php echo $products_split->display_links($products_query_numrows, MAX_DISPLAY_ROW_BY_PAGE, MAX_DISPLAY_PAGE_LINKS, $split_page, '&cPath='. $current_category_id .'&sort_by='.$sort_by . '&row_by_page=' . $row_by_page); ?></td>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->
</tr>
</table>
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
/*
$Id: quick_updates.php,v 2.1b 2003/05/12 14:44:34 HRB Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Based on the original script contributed by Burt (burt@xwww.co.uk)
and by Henri Bredehoeft (hrb@nermica.net)
This version was contributed by GniDhal (fx@geniehalles.com)
and Xaglo (xaglo@free.fr)
(http://www.oscommerce-fr.com )
Copyright (c) 2002 osCommerce
Released under the GNU General Public License
*/
require('includes/application_top.php');
($row_by_page) ? define('MAX_DISPLAY_ROW_BY_PAGE' , $row_by_page ) : $row_by_page = MAX_DISPLAY_SEARCH_RESULTS; define('MAX_DISPLAY_ROW_BY_PAGE' , MAX_DISPLAY_SEARCH_RESULTS );
//// Tax Row
$tax_class_array = array(array('id' => '0', 'text' => NO_TAX_TEXT));
$tax_class_query = tep_db_query("select tax_class_id, tax_class_title from " . TABLE_TAX_CLASS . " order by tax_class_title");
while ($tax_class = tep_db_fetch_array($tax_class_query)) {
$tax_class_array[] = array('id' => $tax_class['tax_class_id'],
'text' => $tax_class['tax_class_title']);
}
##// Uptade database
switch ($HTTP_GET_VARS['action']) {
case 'update' :
$count_update=0;
$item_updated = array();
foreach($HTTP_POST_VARS['product_new_price'] as $id => $new_price) {
if ($HTTP_POST_VARS['product_new_price'][$id] != $HTTP_POST_VARS['product_old_price'][$id] && $HTTP_POST_VARS['update_price'][$id] == 'yes') {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_price=$new_price WHERE products_id=$id");
}
}
foreach($HTTP_POST_VARS['product_new_weight'] as $id => $new_weight) {
if ($HTTP_POST_VARS['product_new_weight'][$id] != $HTTP_POST_VARS['product_old_weight'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_weight=$new_weight WHERE products_id=$id");
}
}
foreach($HTTP_POST_VARS['product_new_quantity'] as $id => $new_quantity) {
if ($HTTP_POST_VARS['product_new_quantity'][$id] != $HTTP_POST_VARS['product_old_quantity'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_quantity=$new_quantity WHERE products_id=$id");
}
}
foreach($HTTP_POST_VARS['product_new_status'] as $id => $new_status) {
if ($HTTP_POST_VARS['product_new_status'][$id] != $HTTP_POST_VARS['product_old_status'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
tep_set_product_status($id, $new_status);
}
}
foreach($HTTP_POST_VARS['product_new_tax'] as $id => $new_tax_id) {
if ($HTTP_POST_VARS['product_new_tax'][$id] != $HTTP_POST_VARS['product_old_tax'][$id]) {
$count_update++;
$item_updated[$id] = 'updated';
mysql_query("UPDATE products SET products_tax_class_id=$new_tax_id WHERE products_id=$id");
}
}
$count_item = array_count_values($item_updated);
if ($count_item['updated'] > 0) $messageStack->add($count_item['updated'].' '.TEXT_PRODUCTS_UPDATED . " $count_update " . TEXT_QTY_UPDATED, 'success');
break;
case 'calcul' :
if ($HTTP_POST_VARS['spec_price']) $preview_global_price = 'true';
break;
}
//// explode string parameters from preview product
if($info_back && $info_back!="-") {
$infoback = explode('-',$info_back);
$sort_by = $infoback[0];
$page = $infoback[1];
$current_category_id = $infoback[2];
$row_by_page = $infoback[3];
}
//// define the step for rollover lines per page
$row_bypage_array = array(array());
for ($i = 10; $i <=100; $i=$i+5) {
$row_bypage_array[] = array('id' => $i,
'text' => $i);
}
##// Let's start displaying page with forms
?>
<!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">
</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="2">
<tr>
<td>
<table border="0" width="100%" cellspacing="0" cellpadding="0" bgColor="#F5F5F5">
<tr>
<td class="pageHeading" colspan="3" bgColor="#FFFFFF"><?php echo HEADING_TITLE; ?></td>
</tr>
<tr>
<?php echo tep_draw_form('row_by_page', FILENAME_QUICK_UPDATES, '', 'get'); ?>
<td class="smallText" align="left"><?php echo TEXT_MAXI_ROW_BY_PAGE . ' ' . tep_draw_pull_down_menu('row_by_page', $row_bypage_array, $row_by_page, 'onChange="this.form.submit();"'); ?>
</td>
</form>
<td align="right" colspan="2">
<table border="0" cellspacing="0" cellpadding="2">
<form name="spec_price" <?php echo 'action="' . tep_href_link(FILENAME_QUICK_UPDATES, tep_get_all_get_params(array('action', 'info', 'pID')) . "action=calcul&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page" , 'NONSSL') . '"'; ?> method="post">
<tr class="dataTableHeadingRow">
<td class="main" align="right" valign="middle" nowrap> <?php echo TEXT_INPUT_SPEC_PRICE; ?></td>
<td class="dataTableHeadingContent" align="right" valign="middle"> <?php echo tep_draw_input_field('spec_price',0,'size="5"'); ?> </td>
<td class="smalltext" align="right" valign="middle"><?php
if ($preview_global_price != 'true') {
echo tep_image_submit('button_preview.gif', IMAGE_PREVIEW, "&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page");
} else echo '<a href="' . tep_href_link(FILENAME_QUICK_UPDATES, "&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page") . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';?></td>
</tr>
<tr>
<td class="smalltext" align="center" valign="middle" colspan="3" nowrap>
<?php if ($preview_global_price != 'true') {
echo TEXT_SPEC_PRICE_INFO1;
} else echo TEXT_SPEC_PRICE_INFO2;?>
</td>
</tr>
</form>
</table>
</td>
</tr>
<tr>
<?php echo tep_draw_form('categorie', FILENAME_QUICK_UPDATES, '', 'get'); ?>
<td class="smallText" align="left"><?php echo DISPLAY_CATEGORIES . ' ' . tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"'); ?></td></form>
<form name="update" method="POST" action="<?php echo "$PHP_SELF?action=update&page=$page&sort_by=$sort_by&cPath=$current_category_id&row_by_page=$row_by_page"; ?>">
<td class="smalltext" align="middle"><?php echo WARNING_MESSAGE; ?> </td>
<td align="right" valign="middle"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE, "action=update&cPath=$current_category_id&page=$page&sort_by=$sort_by&row_by_page=$row_by_page");?>
</td>
</tr>
</table></td>
</tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="left" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_model DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')." </a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_MODEL ."</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_model ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" > ".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="left" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=pd.products_name DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')." </a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_PRODUCTS . "</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=pd.products_name ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" > ".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo "<a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_status DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')." </a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_STATUS . "<br>off / on</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_status ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" > ".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_weight DESC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_WEIGHT . "</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_weight ASC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" align="right" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_quantity DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a></td> " .
"<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" . TABLE_HEADING_QUANTITY . "</td>" .
"<td class=\"dataTableHeadingContent\" align=\"left\" valign=\"middle\"><a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_quantity ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a></td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_price DESC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a>" . TABLE_HEADING_PRICE . " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_price ASC&page=' . $page.'&row_by_page=' . $row_by_page ) ."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a>"; ?> </td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<?php echo " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_tax_class_id DESC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_down.gif', 'Desc')."</a> " . TABLE_HEADING_TAX . " <a href=\"" . tep_href_link( FILENAME_QUICK_UPDATES, 'cPath='. $current_category_id .'&sort_by=p.products_tax_class_id ASC&page=' . $page.'&row_by_page=' . $row_by_page )."\" >".tep_image(DIR_WS_IMAGES . 'icon_arrow_up.gif', 'Asc')."</a> "; ?> </td>
<td class="dataTableHeadingContent" align="center" valign="middle"></td>
<td class="dataTableHeadingContent" align="center" valign="middle"></td>
</tr>
<tr class="datatableRow">
<?
//// get the specials products list
$specials_array = array();
$specials_query = tep_db_query("select p.products_id from " . TABLE_PRODUCTS . " p, " . TABLE_SPECIALS . " s where s.products_id = p.products_id");
while ($specials = tep_db_fetch_array($specials_query)) {
$specials_array[] = $specials['products_id'];
}
//// control string sort page
if ($sort_by && !ereg('order by',$sort_by)) $sort_by = 'order by '.$sort_by;
//// define the string parameters for good back preview product
$origin = FILENAME_QUICK_UPDATES."?info_back=$sort_by-$page-$current_category_id-$row_by_page";
//// controle lenght (lines per page)
$split_page = $page;
if ($split_page > 1) $rows = $split_page * MAX_DISPLAY_ROW_BY_PAGE - MAX_DISPLAY_ROW_BY_PAGE;
//// select categories
if ($current_category_id == 0){
$products_query_raw = "select p.products_id, p.products_model, pd.products_name, p.products_status, p.products_weight, p.products_quantity, p.products_price, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and pd.language_id = '$languages_id' $sort_by ";
} else {
$products_query_raw = "select p.products_id, p.products_model, pd.products_name, p.products_status, p.products_weight, p.products_quantity, p.products_price, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc where p.products_id = pd.products_id and pd.language_id = '$languages_id' and p.products_id = pc.products_id and pc.categories_id = '" . $current_category_id . "' $sort_by ";
}
//// page splitter and display each products info
$products_split = new splitPageResults($split_page, MAX_DISPLAY_ROW_BY_PAGE, $products_query_raw, $products_query_numrows);
$products_query = tep_db_query($products_query_raw);
while ($products = tep_db_fetch_array($products_query)) {
$rows++;
if (strlen($rows) < 2) {
$rows = '0' . $rows;
}
//// check for global add value or rates, calcul and round values rates
if ($HTTP_POST_VARS['spec_price']){
$flag_spec = 'true';
if (substr($HTTP_POST_VARS['spec_price'],-1) == '%') {
$price = sprintf("%01.2f", round($products['products_price'] + (($spec_price / 100) * $products['products_price']),2));
} else $price = sprintf("%01.2f", round($products['products_price'] + $spec_price,2));
} else $price = $products['products_price'];
//// display infos per row
echo '<tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'">';
echo "<td class=\"smallText\" align=\"left\">" . $products['products_model'] . "</td>\n";
echo "<td class=\"smallText\" >".$products['products_name']."</td>\n";
//// Product status radio button
if ($products['products_status'] == '1') {
echo "<td class=\"smallText\" align=\"center\"><input type=\"radio\" name=\"product_new_status[".$products['products_id']."]\" value=\"0\" ><input type=\"radio\" name=\"product_new_status[".$products['products_id']."]\" value=\"1\" checked ></td>\n";
} else {
echo "<td class=\"smallText\" align=\"center\"><input type=\"radio\" style=\"background-color: #EEEEEE\" name=\"product_new_status[".$products['products_id']."]\" value=\"0\" checked ><input type=\"radio\" style=\"background-color: #EEEEEE\" name=\"product_new_status[".$products['products_id']."]\" value=\"1\"></td>\n";
}
echo "<td class=\"smallText\" align=\"center\"><input type=\"text\" size=\"5\" name=\"product_new_weight[".$products['products_id']."]\" value=\"".$products['products_weight']."\"></td>\n";
echo "<td class=\"smallText\" align=\"center\"><input type=\"text\" size=\"3\" name=\"product_new_quantity[".$products['products_id']."]\" value=\"".$products['products_quantity']."\"></td>\n";
//// check specials
if ( in_array($products['products_id'],$specials_array)) {
echo "<td class=\"smallText\" align=\"left\"> <input type=\"text\" size=\"6\" name=\"product_new_price[".$products['products_id']."]\" value=\"".$products['products_price']."\" disabled > <a href=\"".tep_href_link (FILENAME_SPECIALS, 'sID='.$products['products_id'])."\">". tep_image(DIR_WS_IMAGES . 'icon_info.gif', TEXT_SPECIALS_PRODUCTS) ."</a></td>\n";
} else {
if ($flag_spec == 'true') {
echo "<td class=\"smallText\" align=\"left\"> <input type=\"text\" size=\"6\" name=\"product_new_price[".$products['products_id']."]\" value=\"".$price ."\">".tep_draw_checkbox_field('update_price['.$products['products_id'].']','yes','checked','no')."</td>\n";
} else echo "<td class=\"smallText\" align=\"left\"> <input type=\"text\" size=\"6\" name=\"product_new_price[".$products['products_id']."]\" value=\"".$price ."\">".tep_draw_hidden_field('update_price['.$products['products_id'].']','yes')."</td>\n";
}
echo "<td class=\"smallText\" align=\"center\">".tep_draw_pull_down_menu("product_new_tax[".$products['products_id']."]\"", $tax_class_array, $products['products_tax_class_id'])."</td>\n";
//// links to preview or full edit
echo "<td class=\"smallText\" align=\"center\"><a href=\"".tep_href_link (FILENAME_CATEGORIES, 'pID='.$products['products_id'].'&action=new_product_preview&read=only&sort_by='.$sort_by.'&page='.$split_page.'&origin='.$origin)."\">". tep_image(DIR_WS_IMAGES . 'icon_info.gif', TEXT_IMAGE_PREVIEW) ."</a></td>\n";
echo "<td class=\"smallText\" align=\"center\"><a href=\"".tep_href_link (FILENAME_CATEGORIES, 'pID='.$products['products_id'].'&cPath='.$categories_products[0].'&action=new_product')."\">". tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', TEXT_IMAGE_SWITCH_EDIT) ."</a></td>\n";
//// Hidden parameters for cache old values
echo tep_draw_hidden_field('product_old_model['.$products['products_id'].']',$products['products_model']); //rajout
echo tep_draw_hidden_field('product_old_name['.$products['products_id'].']',$products['products_name']); //rajout
echo tep_draw_hidden_field('product_old_status['.$products['products_id'].']',$products['products_status']);
echo tep_draw_hidden_field('product_old_quantity['.$products['products_id'].']',$products['products_quantity']);
echo tep_draw_hidden_field('product_old_weight['.$products['products_id'].']',$products['products_weight']);
echo tep_draw_hidden_field('product_old_price['.$products['products_id'].']',$products['products_price']);
echo tep_draw_hidden_field('product_old_tax['.$products['products_id'].']',$products['products_tax_class_id']);
//// hidden display parameters
echo tep_draw_hidden_field( 'row_by_page', $row_by_page);
echo tep_draw_hidden_field( 'sort_by', $sort_by);
echo tep_draw_hidden_field( 'page', $split_page);
}
echo "</table>\n";
?>
</td>
</tr>
</table></td>
</tr>
<tr>
<td align="right">
<?php
//// display bottom page buttons
echo tep_image_submit('button_update.gif', IMAGE_UPDATE);
echo ' <a href="' . tep_href_link(FILENAME_QUICK_UPDATES,"&row_by_page=$row_by_page") . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';
?></td>
</tr>
</form>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<td class="smallText" valign="top"><?php echo $products_split->display_count($products_query_numrows, MAX_DISPLAY_ROW_BY_PAGE, $split_page, TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
<td class="smallText" align="right"><?php echo $products_split->display_links($products_query_numrows, MAX_DISPLAY_ROW_BY_PAGE, MAX_DISPLAY_PAGE_LINKS, $split_page, '&cPath='. $current_category_id .'&sort_by='.$sort_by . '&row_by_page=' . $row_by_page); ?></td>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->
</tr>
</table>
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
Merci
Salutations.