New Zenner
- Join Date:
- May 2007
- Posts:
- 64
- Plugin Contributions:
- 0
Need Help Please
Hey ,
Need help porting a mod into Zen from osC...
This module in osC is far better then the current 'Easy Populate' mod..
i have tried going through the porting guidlines but im well stuck..
2 Parts -
The PhP file 'Quick_Add_Products'
and
The SQL File..
here is both:
<?php **require('includes/application_top.php');** **//// Tax Row** **$tax_class_array = array();** **$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']);** **}** **////Info Row** **$manufacturers_array = array(array('id' => '0', 'text' => NO_MANUFACTURER));** **$manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name");** **while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {** **$manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],** **'text' => $manufacturers['manufacturers_name']);** **}** **##// Update database** **switch ($HTTP_GET_VARS['action']) {** **case 'add' :** **$products_added = 0;** **for ($i = 1; $i <= MAX_PRODUCTS; $i++) {** **$valid = false; $product_exist = false;** **if($HTTP_POST_VARS['product_name'][$i]){** **foreach($HTTP_POST_VARS['product_name'][$i] as $id => $product_language_name){ ** **if($product_language_name != ''){** **if(!$product_exist){** **if(strrchr($HTTP_POST_VARS['product_image'][$i], '\\'))$image = substr(strrchr(trim(stripslashes($HTTP_POST_VARS['product_image'][$i])), '\\'), 1);else $image = substr(strrchr(trim(stripslashes($HTTP_POST_VARS['product_image'][$i])), '/'), 1);** **tep_db_query("INSERT INTO " . TABLE_PRODUCTS . " (products_quantity, products_model, products_image, products_price, products_weight, products_status, products_tax_class_id, manufacturers_id) VALUES (" . $HTTP_POST_VARS['product_quantity'][$i] . ", '" . $HTTP_POST_VARS['product_model'][$i] . "', '" . $image . "', " . $HTTP_POST_VARS['product_price'][$i] . ", " . $HTTP_POST_VARS['product_weight'][$i] . ", ". $HTTP_POST_VARS['product_status'][$i] . ", " . $HTTP_POST_VARS['product_tax'][$i] . ", " . $HTTP_POST_VARS['product_manufacturer'][$i] . ");");** **$products_id_query = tep_db_query("SELECT products_id from " . TABLE_PRODUCTS . " WHERE products_quantity=" . $HTTP_POST_VARS['product_quantity'][$i] ." and products_model='" . $HTTP_POST_VARS['product_model'][$i] ."' and products_price=" . $HTTP_POST_VARS['product_price'][$i] . " and products_weight=" . $HTTP_POST_VARS['product_weight'][$i] . " and products_image='" . $image . "' and products_status=" . $HTTP_POST_VARS['product_status'][$i] . " and products_tax_class_id=" . $HTTP_POST_VARS['product_tax'][$i] . " and manufacturers_id=" . $HTTP_POST_VARS['product_manufacturer'][$i] . ";");** **$products_id = tep_db_fetch_array($products_id_query);** **tep_db_query("INSERT INTO " . TABLE_PRODUCTS_TO_CATEGORIES . " VALUES ('" . $products_id['products_id'] . "', '" . $HTTP_POST_VARS['product_categories'][$i] . "');");** **}** **tep_db_query("INSERT INTO " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description) VALUES ('" . $products_id['products_id'] . "', '" . $HTTP_POST_VARS['languages'][$i][$id] . "', '" . $product_language_name . "', '" . $HTTP_POST_VARS['product_description'][$i][$id] . "');");** **$product_exist = true;** **$valid = true;** **}** **}** **}** **if($valid)$products_added++;** **}** **$messageStack->add($products_added . ' ' . TEXT_PRODUCTS_ADDED , 'success');** **break;** **}** **##// 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 //-->
<script language="javascript">
<!--**
**var browser_family;**
**var up = 1;**
**if (document.all && !document.getElementById)**
**browser_family = "dom2";**
**else if (document.layers)**
**browser_family = "ns4";**
**else if (document.getElementById)**
**browser_family = "dom2";**
**else**
**browser_family = "other";**
**function display_ttc(action, prix, taxe, up){**
**if(action == 'display'){**
**if(up != 1)**
**valeur = Math.round((prix + (taxe / 100) * prix) * 100) / 100;**
**}else{**
**if(action == 'keyup'){**
**valeur = Math.round((parseFloat(prix) + (taxe / 100) * parseFloat(prix)) * 100) / 100;**
**}else{**
**valeur = '0';**
**} **
**}**
**switch (browser_family){**
**case 'dom2':**
**document.getElementById('descDiv').innerHTML = 'TTC : '+valeur;**
**break;**
**case 'ie4':**
**document.all.descDiv.innerHTML = 'TTC : '+valeur;**
**break;**
**case 'ns4':**
**document.descDiv.document.descDiv_sub.document.write(valeur);**
**document.descDiv.document.descDiv_sub.document.close();**
**break;**
**case 'other':**
**break;**
**}**
**}**
**-->
</script>
<!-- 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">
<tr>
<td class="pageHeading" colspan="3" valign="top"><?php echo HEADING_TITLE . "<br><br>"; ?></td>
</tr>
</table></td></tr>
<tr><td align="center">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr align="center">
<form name="add" method="POST" action="<?php echo "$PHP_SELF?action=add"; ?>">
<td class="smalltext" align="middle"><?php echo WARNING_MESSAGE; ?> </td>
<?php echo "<td class=\"pageHeading\" align=\"right\">" . '<script language="javascript"><!--**
**switch (browser_family)**
**{**
**case "dom2":**
**case "ie4":**
**document.write(\'<div id="descDiv">\');**
**break;**
**default:**
**document.write(\'<ilayer id="descDiv"><layer id="descDiv_sub">\');**
**break;**
**}**
**-->**
**</script>' . "</td>\n"; **
**?>
<td align="right" valign="middle"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE, "action=add");?></td>
</tr>
</table>
</td>
</tr>
<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">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_MODEL ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="middle" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_PRODUCTS ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_STATUS ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_WEIGHT ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_QUANTITY ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_IMAGE ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_MANUFACTURERS ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_CATEGORIES ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_PRICE ."</td>"; ?>
</tr>
</table>
</td>
<td class="dataTableHeadingContent" align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0">
<tr class="dataTableHeadingRow">
<?php echo "<td class=\"dataTableHeadingContent\" align=\"center\" valign=\"middle\">" .TABLE_HEADING_TAX ."</td>"; ?>
</tr>
</table>
</td>
</tr>
<tr class="datatableRow">
<?php
for ($i = 1; $i <= MAX_PRODUCTS; $i++) {
echo '<tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="'; if(DISPLAY_TVA_OVER == 'true'){echo 'display_ttc(\'delete\');';} echo 'this.className=\'dataTableRow\'">';
echo "<td class="smallText" align="center"><input type="text" size="10" name="product_model[".$i."]"></td>\n";
// The name in all languages.
echo "<td class="smallText" align="center">";
echo '<table border="0" cellspacing="0" cellpadding="0">';
$languages_query = tep_db_query("select languages_id, name, image, directory from " . TABLE_LANGUAGES . " order by sort_order ASC");
while($languages = tep_db_fetch_array($languages_query)){
echo '<tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'"><td class="smallText" align="center">';
echo "<input type="text" size="25" name="product_name[".$i."][".$languages['languages_id']."]">" . ' ' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages['directory'] . '/images/' . $languages['image'], $languages['name']) . " <input type="text" size="25" name="product_description[".$i."][".$languages['languages_id']."]">" . ' ' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages['directory'] . '/images/' . $languages['image'], $languages['name']);
echo tep_draw_hidden_field('languages['.$i.']['.$languages['languages_id'] . ']',$languages['languages_id']);
echo '</td></tr>';
}
echo "</table></td>\n";
echo "<td class="smallText" align="center"><input type="radio" name="product_status[".$i."]" value="0" ><input type="radio" name="product_status[".$i."]" value="1" checked ></td>\n";
echo "<td class="smallText" align="center"><input type="text" size="4" name="product_weight[".$i."]" value=0.00></td>\n";
echo "<td class="smallText" align="center"><input type="text" size="2" name="product_quantity[".$i."]" value=0></td>\n";
echo "<td class="smallText" align="center">" . tep_draw_file_field('product_image['.$i.']') . " </td>\n";
echo "<td class="smallText" align="center">" . tep_draw_pull_down_menu("product_manufacturer[".$i."]", $manufacturers_array, $products['manufacturers_id'])."</td>\n";
echo "<td class="smallText" align="center">" . tep_draw_pull_down_menu("product_categories[".$i."]", tep_get_category_tree());
echo "<td class="smallText" align="center"> <input type="text" size="6" name="product_price[".$i."]" value=0.0000 "; if(DISPLAY_TVA_UP == 'true'){ echo "onKeyUp="display_ttc('keyup', this.value" . ", " . ALL_INCLUDED_TAX_VALUE . ", 1);"";} echo "></td>\n";
echo "<td class="smallText" align="center">" . tep_draw_pull_down_menu("product_tax[".$i."]", $tax_class_array, $products['products_tax_class_id'])."</td>\n";
}
echo "</table>\n";
?>
</td>
</tr>
<tr>
<td align="right">
<?php**
**echo tep_image_submit('button_update.gif', IMAGE_UPDATE);**
**echo ' <a href="' . tep_href_link(FILENAME_QUICK_ADD_PRODUCTS) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';**
**?>
</td>
</tr>
</form>
</table>
</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'); ?>
The SQL
INSERT INTO configuration_group (configuration_group_id, configuration_group_title, configuration_group_description, sort_order, visible) VALUES ('400', 'Quick Add Product', 'You can for example choose haw many products will be added in one time.', '400', '1');
**INSERT INTO configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (2000, 'Number of products.', 'MAX_PRODUCTS', '5', 'Number of products you can add in one time.', '400', '0', '2003-06-04 08:49:27', '2003-06-04 08:49:27', NULL, NULL), **
**(2001, 'Display price with all included tax.', 'DISPLAY_TVA_UP_ADD', 'true', 'Do you want that the price with all included tax be displayed?', 3400, 11, '2003-06-04 05:07:06', '2003-06-04 04:40:12', NULL, 'tep_cfg_select_option(array('true', 'false'),'), **
**(2002, 'Taxe rate.', 'ALL_INCLUDED_TAX_VALUE', 19.6, 'You have to choose the tax rate you want to use to calculate the price with all included tax.', 3400, 11, '2003-06-04 05:07:06', '2003-06-04 04:40:12', NULL, NULL); **
I have Attached a Screen Shot of it from osC..
Anyone please help, this mod is an awesome help to anyone who has a huge amount of products.