Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

mikeman

Members
  • Content count

    42
  • Joined

  • Last visited

Everything posted by mikeman

  1. This is not quite right. I have to correct myself because the appended session_id seems to trigger the "& a m p"-problem (due to the extended param-list?) which leads to failures like "shopping cart empty" or "new logon after checkout" ........ So when does the session_id get appended: Case 1: Once when entering the site but: START Quote(from vger): Experienced users will know that osCommerce, even without 'Force Cookie Use' will stop displaying the osCommerce session id within one or two clicks of landing on a website END Quote Case 2: Wrong Cookie-Domain in "configure.php" (this is nasty) By the way there is a good hint for users who are testing shops on a local-machine in this thread http://forums.oscommerce.com/index.php?showtopic=51292 Case 3: User browser doesn't allow cookies and "Force cookie use" is set to false (if true shopper can't shop) For shop-owners with case 2 and 3 the solution seems to be to not let the &´s beeing translated to a "HTML character entity" by the PHP-function "htmlspecialchars()" The functions (in seo.class.php) are: function href_link() and function stock_href_link() This has already been addressed several times in this thread. There is also a fix in the contrib-section by edgecrush3r (applied on an older "seo.class.php" but the principle is the same). It would be nice if someone (with time on his/her side) could explore the exact reason of this "&" problem because this is a severe bug. Greez Mikeman P.S. @ Skittles What are the exact "aspects of incompatibility of Ultimate SEO URLs and Update 060817" you are referring to? I have got osc(060817) and "Ultimate SEO URLs - 2.1d (the original) and they seem to harmonize quite well. (except the above issues -- but they already affected older versions)
  2. This is roughly the same problem as with already bot-indexd URLs with session-IDs appended. There is a contribution which rewrites those URLs. Spider Session Remover http://www.oscommerce.com/community/contributions,2819 You probably have to mod it to your needs (i.e. Rewriterule/Rewritecond without session-id stuff). mikeman
  3. THX to vger! you can find HTTP_COOKIE_DOMAIN in "catalog/includes/configure.php" mikeman P.S. This has nothing to do with Ultimate SEO URLs.
  4. There's an option in the SEO admin section called "Enter special character conversions" where u can define it like this: ß=>ss,ü=>ue,ö=>oe .......... hope this helps prevents 404 error! mikeman
  5. Thanks for the reply. I'll give it a try and let U now. mikeman
  6. Hi, just curious.. Why do "W3C valid URLs" have to be UTF8 encoded? Is it in the specs? mikeman
  7. mikeman

    Multi_Vendor_Shipping new thread

    GOT it! For all RC4 and RC5 users. Here is the solution to get automatic-"CATALOG" or "CATALOG + BOTH"- vendor-email working. ------------------------------------------------- in checkout_process.php on line 380 FIND: tep_db_query("update " . TABLE_ORDERS_VENDORS . " set order_sent = '" . tep_db_input($vendor_order_sent) . "' where orders_id = '" . (int)$oID . "' and vendors_id = '" . (int)$vendors_id . "'"); REPLACE WITH: tep_db_query("update " . TABLE_ORDERS_SHIPPING . " set vendor_order_sent = '" . tep_db_input($vendor_order_sent) . "' where orders_id = '" . (int)$oID . "' and vendors_id = '" . (int)$vendors_id . "'"); --------------------------------------------- same file on line 434 FIND: if (SELECT_VENDOR_EMAIL_WHEN == 'Catalog' || SELECT_VENDOR_EMAIL_WHEN == 'Both') { ADD BELOW: $status=$order->info['order_status']; ------------------------------------------ Found it in "RC4_mvs_update-instructions.txt" !!!!. So long Mike
  8. mikeman

    Multi_Vendor_Shipping new thread

    Yes, I did. Enable Vendor Shipping -----------> true Use Optional Confirmation Email -----------> false When to send the Vendor Email -----------> Catalog So long Mike
  9. mikeman

    Multi_Vendor_Shipping new thread

    To Craig Thanks for your quick answer but it doesn't work even with the change to "TABLE_ORDERS_SHIPPING". Here are the functions + calls in "checkout_process.php" and "orders.php". ------------------------------------------------------------------------------------------------- Implementation of function "vendors_email" in "checkout_process.php" / RC4 (RC5 --> identical) ----------------------------------------------------------------------------------------------------- //Vendor Email Start function vendors_email($vendors_id, $oID, $status, $vendor_order_sent) { $vendor_order_sent = false; $debug='no'; $vendor_order_sent = 'no'; $index2 = 0; //let's get the Vendors $vendor_data_query = tep_db_query("select v.vendors_id, v.vendors_name, v.vendors_email, v.vendors_contact, v.vendor_add_info, v.vendor_street, v.vendor_city, v.vendor_state, v.vendors_zipcode, v.vendor_country, v.account_number, v.vendors_status_send, os.shipping_module, os.shipping_method, os.shipping_cost, os.shipping_tax, os.vendor_order_sent from " . TABLE_VENDORS . " v, " . TABLE_ORDERS_SHIPPING . " os where v.vendors_id=os.vendors_id and v.vendors_id='" . $vendors_id . "' and os.orders_id='" . (int)$oID . "' and v.vendors_status_send='" . $status . "'"); while ($vendor_order = tep_db_fetch_array($vendor_data_query)) { $vendor_products[$index2] = array('Vid' => $vendor_order['vendors_id'], 'Vname' => $vendor_order['vendors_name'], 'Vemail' => $vendor_order['vendors_email'], 'Vcontact' => $vendor_order['vendors_contact'], 'Vaccount' => $vendor_order['account_number'], 'Vstreet' => $vendor_order['vendor_street'], 'Vcity' => $vendor_order['vendor_city'], 'Vstate' => $vendor_order['vendor_state'], 'Vzipcode' => $vendor_order['vendors_zipcode'], 'Vcountry' => $vendor_order['vendor_country'], 'Vaccount' => $vendor_order['account_number'], 'Vinstructions' => $vendor_order['vendor_add_info'], 'Vmodule' => $vendor_order['shipping_module'], 'Vmethod' => $vendor_order['shipping_method']); if ($debug == 'yes') { echo 'The vendor query: ' . $vendor_order['vendors_id'] . '<br>'; } $index = 0; $vendor_orders_products_query = tep_db_query("select o.orders_id, o.orders_products_id, o.products_model, o.products_id, o.products_quantity, o.products_name, p.vendors_id, p.vendors_prod_comments, p.vendors_prod_id, p.vendors_product_price from " . TABLE_ORDERS_PRODUCTS . " o, " . TABLE_PRODUCTS . " p where p.vendors_id='" . (int)$vendor_order['vendors_id'] . "' and o.products_id=p.products_id and o.orders_id='" . $oID . "' order by o.products_name"); while ($vendor_orders_products = tep_db_fetch_array($vendor_orders_products_query)) { $vendor_products[$index2]['vendor_orders_products'][$index] = array( 'Pqty' => $vendor_orders_products['products_quantity'], 'Pname' => $vendor_orders_products['products_name'], 'Pmodel' => $vendor_orders_products['products_model'], 'Pprice' => $vendor_orders_products['products_price'], 'Pvendor_name' => $vendor_orders_products['vendors_name'], 'Pcomments' => $vendor_orders_products['vendors_prod_comments'], 'PVprod_id' => $vendor_orders_products['vendors_prod_id'], 'PVprod_price' => $vendor_orders_products['vendors_product_price'], 'spacer' => '-'); //MVS end if ($debug == 'yes') { echo 'The products query: ' . $vendor_orders_products['products_name'] . '<br>'; } $subindex = 0; $vendor_attributes_query = tep_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$oID . "' and orders_products_id = '" . (int)$vendor_orders_products['orders_products_id'] . "'"); if (tep_db_num_rows($vendor_attributes_query)) { while ($vendor_attributes = tep_db_fetch_array($vendor_attributes_query)) { $vendor_products[$index2]['vendor_orders_products'][$index]['vendor_attributes'][$subindex] = array('option' => $vendor_attributes['products_options'], 'value' => $vendor_attributes['products_options_values'], 'prefix' => $vendor_attributes['price_prefix'], 'price' => $vendor_attributes['options_values_price']); $subindex++; } } $index++; } $index2++; // let's build the email // Get the delivery address $delivery_address_query = tep_db_query("select distinct delivery_company, delivery_name, delivery_street_address, delivery_city, delivery_state, delivery_postcode from " . TABLE_ORDERS . " where orders_id='" . $oID ."'"); $vendor_delivery_address_list = tep_db_fetch_array($delivery_address_query); if ($debug == 'yes') { echo 'The number of vendors: ' . sizeof($vendor_products) . '<br>'; } $email=''; for ($l=0, $m=sizeof($vendor_products); $l<$m; $l++) { $vendor_country = tep_get_country_name($vendor_products[$l]['Vcountry']); $order_number= $oID; $vendors_id=$vendor_products[$l]['Vid']; $the_email=$vendor_products[$l]['Vemail']; $the_name=$vendor_products[$l]['Vname']; $the_contact=$vendor_products[$l]['Vcontact']; $email= '<b>To: ' . $the_contact . ' <br>' . $the_name . '<br>' . $the_email . '<br>' . $vendor_products[$l]['Vstreet'] .'<br>' . $vendor_products[$l]['Vcity'] .', ' . $vendor_products[$l]['Vstate'] .' ' . $vendor_products[$l]['Vzipcode'] . ' ' . $vendor_country . '<br>' . '<br>' . EMAIL_SEPARATOR . '<br>' . 'Special Comments or Instructions: ' . $vendor_products[$l]['Vinstructions'] .'<br>' . '<br>' . EMAIL_SEPARATOR . '<br>' . 'From: ' . STORE_OWNER . '<br>' . STORE_NAME_ADDRESS . '<br>' . 'Accnt #: ' . $vendor_products[$l]['Vaccount'] . '<br>' . EMAIL_SEPARATOR . '<br>' . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . '<br>' . EMAIL_SEPARATOR . '<br>' . '<br> Shipping Method: ' . $vendor_products[$l]['Vmodule'] . ' -- ' . $vendor_products[$l]['Vmethod'] . '<br>' . EMAIL_SEPARATOR . '<br>' . '<br>Dropship deliver to:<br>' . $vendor_delivery_address_list['delivery_company'] .'<br>' . $vendor_delivery_address_list['delivery_name'] .'<br>' . $vendor_delivery_address_list['delivery_street_address'] .'<br>' . $vendor_delivery_address_list['delivery_city'] .', ' . $vendor_delivery_address_list['delivery_state'] . ' ' . $vendor_delivery_address_list['delivery_postcode'] . '<br><br>'; $email = $email . '<table width="75%" border=1 cellspacing="0" cellpadding="3"> <tr><td>Qty:</td><td>Product Name:</td><td>Item Code/Number:</td><td>Product Model:</td><td>Per Unit Price:</td><td>Item Comments: </td></tr>'; for ($i=0, $n=sizeof($vendor_products[$l]['vendor_orders_products']); $i<$n; $i++) { $product_attribs =''; if (isset($vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes']) && (sizeof($vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes']) > 0)) { for ($j = 0, $k = sizeof($vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes']); $j < $k; $j++) { $product_attribs .= ' ' . $vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes'][$j]['option'] . ': ' . $vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes'][$j]['value'] . '<br>'; } } $email = $email . '<tr><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['Pqty'] . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['Pname'] . '<br> <i>Option<br> ' . $product_attribs . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['PVprod_id'] . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['Pmodel'] . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['PVprod_price'] . '</td><td>' . $vendor_products[$l]['vendor_orders_products'][$i]['Pcomments'] . '</b></td></tr>'; } } $email = $email . '</table><br><HR><br>'; tep_mail($the_name, $the_email, EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID , $email . '<br>', STORE_NAME, STORE_OWNER_EMAIL_ADDRESS) ; $vendor_order_sent = 'yes'; tep_db_query("update " . TABLE_ORDERS_VENDORS . " set order_sent = '" . tep_db_input($vendor_order_sent) . "' where orders_id = '" . (int)$oID . "' and vendors_id = '" . (int)$vendors_id . "'"); if ($debug == 'yes') { echo 'The $email(including headers:<br>Vendor Email Addy' . $the_email . '<br>Vendor Name' . $the_name . '<br>Vendor Contact' . $the_contact . '<br>Body--<br>' . $email . '<br>'; } } return true; } //Vendor Email End ******************************************************************************** ********************************* ---------> "vendors_email"-function call on line 448: ------------------------------------------------------------------------------------------------------------------ //Vendors email check status begin if (SELECT_VENDOR_EMAIL_WHEN == 'Catalog' || SELECT_VENDOR_EMAIL_WHEN == 'Both') { if (isset($status)) { $order_sent_query = tep_db_query("select vendor_order_sent, vendors_id from " . TABLE_ORDERS_SHIPPING . " where orders_id = '" . $insert_id . "'"); while ($order_sent_data = tep_db_fetch_array($order_sent_query)) { $order_sent_ckeck = $order_sent_data['vendor_order_sent']; $vendors_id = $order_sent_data['vendors_id']; // echo $order_sent_check . ' The order sent check<br>'; // echo $insert_id . 'The order number<br>'; if ($order_sent_ckeck == 'no') { $status=''; $oID=$insert_id; $vendor_order_sent = false; $status=$order->info['order_status']; vendors_email($vendors_id, $oID, $status, $vendor_order_sent); }// if order check }// while }// if isset // echo 'Email sent? ' . $vendor_order_sent . '<br>'; }// if enabled //Vendors email check status end This is the last mod to make, your done ******************************************************************************** ********************************************* Implementation of function "vendors_email" in "/admin/orders.php" / RC4 (RC5 --> identical) ----------------------------------------------------------------------------------------------------- //Vendor Email Start function vendors_email($vendors_id, $oID, $status, $vendor_order_sent) { $vendor_order_sent = false; $debug='no'; $vendor_order_sent = 'no'; $index2 = 0; //let's get the Vendors $vendor_data_query = tep_db_query("select v.vendors_id, v.vendors_name, v.vendors_email, v.vendors_contact, v.vendor_add_info, v.vendor_street, v.vendor_city, v.vendor_state, v.vendors_zipcode, v.vendor_country, v.account_number, v.vendors_status_send, os.shipping_module, os.shipping_method, os.shipping_cost, os.shipping_tax, os.vendor_order_sent from " . TABLE_VENDORS . " v, " . TABLE_ORDERS_SHIPPING . " os where v.vendors_id=os.vendors_id and v.vendors_id='" . $vendors_id . "' and os.orders_id='" . (int)$oID . "' and v.vendors_status_send='" . $status . "'"); while ($vendor_order = tep_db_fetch_array($vendor_data_query)) { $vendor_products[$index2] = array('Vid' => $vendor_order['vendors_id'], 'Vname' => $vendor_order['vendors_name'], 'Vemail' => $vendor_order['vendors_email'], 'Vcontact' => $vendor_order['vendors_contact'], 'Vaccount' => $vendor_order['account_number'], 'Vstreet' => $vendor_order['vendor_street'], 'Vcity' => $vendor_order['vendor_city'], 'Vstate' => $vendor_order['vendor_state'], 'Vzipcode' => $vendor_order['vendors_zipcode'], 'Vcountry' => $vendor_order['vendor_country'], 'Vaccount' => $vendor_order['account_number'], 'Vinstructions' => $vendor_order['vendor_add_info'], 'Vmodule' => $vendor_order['shipping_module'], 'Vmethod' => $vendor_order['shipping_method']); if ($debug == 'yes') { echo 'The vendor query: ' . $vendor_order['vendors_id'] . '<br>'; } $index = 0; $vendor_orders_products_query = tep_db_query("select o.orders_id, o.orders_products_id, o.products_model, o.products_id, o.products_quantity, o.products_name, p.vendors_id, p.vendors_prod_comments, p.vendors_prod_id, p.vendors_product_price from " . TABLE_ORDERS_PRODUCTS . " o, " . TABLE_PRODUCTS . " p where p.vendors_id='" . (int)$vendor_order['vendors_id'] . "' and o.products_id=p.products_id and o.orders_id='" . $oID . "' order by o.products_name"); while ($vendor_orders_products = tep_db_fetch_array($vendor_orders_products_query)) { $vendor_products[$index2]['vendor_orders_products'][$index] = array( 'Pqty' => $vendor_orders_products['products_quantity'], 'Pname' => $vendor_orders_products['products_name'], 'Pmodel' => $vendor_orders_products['products_model'], 'Pprice' => $vendor_orders_products['products_price'], 'Pvendor_name' => $vendor_orders_products['vendors_name'], 'Pcomments' => $vendor_orders_products['vendors_prod_comments'], 'PVprod_id' => $vendor_orders_products['vendors_prod_id'], 'PVprod_price' => $vendor_orders_products['vendors_product_price'], 'spacer' => '-'); //MVS end if ($debug == 'yes') { echo 'The products query: ' . $vendor_orders_products['products_name'] . '<br>'; } $subindex = 0; $vendor_attributes_query = tep_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$oID . "' and orders_products_id = '" . (int)$vendor_orders_products['orders_products_id'] . "'"); if (tep_db_num_rows($vendor_attributes_query)) { while ($vendor_attributes = tep_db_fetch_array($vendor_attributes_query)) { $vendor_products[$index2]['vendor_orders_products'][$index]['vendor_attributes'][$subindex] = array('option' => $vendor_attributes['products_options'], 'value' => $vendor_attributes['products_options_values'], 'prefix' => $vendor_attributes['price_prefix'], 'price' => $vendor_attributes['options_values_price']); $subindex++; } } $index++; } $index2++; // let's build the email // Get the delivery address $delivery_address_query = tep_db_query("select distinct delivery_company, delivery_name, delivery_street_address, delivery_city, delivery_state, delivery_postcode from " . TABLE_ORDERS . " where orders_id='" . $oID ."'"); $vendor_delivery_address_list = tep_db_fetch_array($delivery_address_query); if ($debug == 'yes') { echo 'The number of vendors: ' . sizeof($vendor_products) . '<br>'; } $email=''; for ($l=0, $m=sizeof($vendor_products); $l<$m; $l++) { $vendor_country = tep_get_country_name($vendor_products[$l]['Vcountry']); $order_number= $oID; $vendors_id=$vendor_products[$l]['Vid']; $the_email=$vendor_products[$l]['Vemail']; $the_name=$vendor_products[$l]['Vname']; $the_contact=$vendor_products[$l]['Vcontact']; $email= '<b>To: ' . $the_contact . ' <br>' . $the_name . '<br>' . $the_email . '<br>' . $vendor_products[$l]['Vstreet'] .'<br>' . $vendor_products[$l]['Vcity'] .', ' . $vendor_products[$l]['Vstate'] .' ' . $vendor_products[$l]['Vzipcode'] . ' ' . $vendor_country . '<br>' . '<br>' . EMAIL_SEPARATOR . '<br>' . 'Special Comments or Instructions: ' . $vendor_products[$l]['Vinstructions'] .'<br>' . '<br>' . EMAIL_SEPARATOR . '<br>' . 'From: ' . STORE_OWNER . '<br>' . STORE_NAME_ADDRESS . '<br>' . 'Accnt #: ' . $vendor_products[$l]['Vaccount'] . '<br>' . EMAIL_SEPARATOR . '<br>' . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . '<br>' . EMAIL_SEPARATOR . '<br>' . '<br> Shipping Method: ' . $vendor_products[$l]['Vmodule'] . ' -- ' . $vendor_products[$l]['Vmethod'] . '<br>' . EMAIL_SEPARATOR . '<br>' . '<br>Dropship deliver to:<br>' . $vendor_delivery_address_list['delivery_company'] .'<br>' . $vendor_delivery_address_list['delivery_name'] .'<br>' . $vendor_delivery_address_list['delivery_street_address'] .'<br>' . $vendor_delivery_address_list['delivery_city'] .', ' . $vendor_delivery_address_list['delivery_state'] . ' ' . $vendor_delivery_address_list['delivery_postcode'] . '<br><br>'; $email = $email . '<table width="75%" border=1 cellspacing="0" cellpadding="3"> <tr><td>Qty:</td><td>Product Name:</td><td>Item Code/Number:</td><td>Product Model:</td><td>Per Unit Price:</td><td>Item Comments: </td></tr>'; for ($i=0, $n=sizeof($vendor_products[$l]['vendor_orders_products']); $i<$n; $i++) { $product_attribs =''; if (isset($vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes']) && (sizeof($vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes']) > 0)) { for ($j = 0, $k = sizeof($vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes']); $j < $k; $j++) { $product_attribs .= ' ' . $vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes'][$j]['option'] . ': ' . $vendor_products[$l]['vendor_orders_products'][$i]['vendor_attributes'][$j]['value'] . '<br>'; } } $email = $email . '<tr><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['Pqty'] . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['Pname'] . '<br> <i>Option<br> ' . $product_attribs . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['PVprod_id'] . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['Pmodel'] . '</td><td> ' . $vendor_products[$l]['vendor_orders_products'][$i]['PVprod_price'] . '</td><td>' . $vendor_products[$l]['vendor_orders_products'][$i]['Pcomments'] . '</b></td></tr>'; } } $email = $email . '</table><br><HR><br>'; /* Purely Experimental, Use at your own risk if ($vendors_email_list['vendors_id'] == 1) { $order_number = $oID; $product_codes = $vendors_email_products['vendors_prod_id'] . $vendors_email_products['products_model']; $p_name = $vendors_email_products['customers_name']; $p_email = $vendors_email_products['customers_email_address']; $url = 'http://newfedora/3/admin/post_vendor_order.php'; $request_string .= 'order_number=' . $oID; $request_string .= 'product_codes=' . $product_codes; $request_string .= 'customer_name=' . $p_name; $request_string .= 'customer_email=' . $p_email; // echo 'The string of data: ' . $request_string . '<br>'; header ("Location: http://newfedora/3/admin/post_vendor_order.php?order_number=".$order_number."&product_codes=".$product_codes."&p_name=".$p_name."&p_email=".$p_email); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_INFILESIZE, strlen($request_string)); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $request_string); curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout); //$response = curl_exec ($ch); curl_close ($ch); // echo 'The string after the curl: ' . $ch . '<br>'; $vendor_order_sent = true; } */ tep_mail($the_name, $the_email, EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID , $email . '<br>', STORE_NAME, STORE_OWNER_EMAIL_ADDRESS) ; $vendor_order_sent = true; if ($debug == 'yes') { echo 'The $email(including headers:<br>Vendor Email Addy' . $the_email . '<br>Vendor Name' . $the_name . '<br>Vendor Contact' . $the_contact . '<br>Body--<br>' . $email . '<br>'; } if ($vendor_order_sent == true) { tep_db_query("update " . TABLE_ORDERS_SHIPPING . " set vendor_order_sent = 'yes' where orders_id = '" . (int)$oID . "'"); } // header ("Location: http://newfedora/3/admin/orders.php?page=1&oID=" . $oID . "&action=edit"); } return true; } //vendors_email end, but there is more to do, keep looking //MVS End ******************************************************************************** ********************************* ---------> "vendors_email"-function call on line 209 "orders.php": ----------------------------------------------------------------------------------------------------------------- //MVS and Vendor Email begin if (SELECT_VENDOR_EMAIL_WHEN == 'Admin' || SELECT_VENDOR_EMAIL_WHEN == 'Both') { if (isset($status)) { $order_sent_query = tep_db_query("select vendor_order_sent, vendors_id from " . TABLE_ORDERS_SHIPPING . " where orders_id = '" . $oID . "'"); while ($order_sent_data = tep_db_fetch_array($order_sent_query)) { $order_sent_ckeck = $order_sent_data['vendor_order_sent']; $vendors_id = $order_sent_data['vendors_id']; if ($order_sent_ckeck == 'no') { $vendor_order_sent = false; vendors_email($vendors_id, $oID, $status, $vendor_order_sent); }//if }//while }//isset // echo 'Email sent? ' . $vendor_order_sent . '<br>'; //Vendors email check status end, but there is more } //Vendors email check status end ******************************************************************************** ********************************* When I compare the functions + calls in "checkout_process.php and "orders.php" I see a couple of differences in the code. I tried to move the whole function + call from "orders.php" (which works well) to checkout_process.php again (with a change in the "SELECT_VENDOR_EMAIL_WHEN" - condition of course), but still get no "catalog"-Vendor-mail. So I think it can't be that easy. I'm sure there are also a couple of other things to change. If possible please post the solution (code from checkout_process.php) from your site http://www.blucollarsales.com/osc/ which works well. Thanks in advance for your help. Mike
  10. mikeman

    Multi_Vendor_Shipping new thread

    @ bluecollarguy and kymation Hello Craig, hello Jim I have a problem: Automatic "catalog"-vendor E-Mail doesn?t work. Possible reason: In "ceckout_process.php" on Line 380: tep_db_query("update " . TABLE_ORDERS_VENDORS . " set order_sent = '" . tep_db_input($vendor_order_sent) . "' where orders_id = '" . (int)$oID . "' and vendors_id = '" . (int)$vendors_id . "'"); there is a update query to a table called "TABLE_ORDERS_VENDORS" which I can?t find. No define-entry in "database_tables.php"! I was trying to embed the code (definition + call of function "vendors_email") from "admin/orders.php", which works nicely by the way , in "checkout_process.php", but still get no automatic "catalog"-vendor E-Mail. So I?m stuck (again). As this problem does not occure on your "test-site" it must have already been fixed for the next release I assume. So it would be great if you could post me a copy of your fixed checkout_process.php. Thanks in advance for your help. Mike
  11. mikeman

    Multi_Vendor_Shipping new thread

    ------------------------------------------ ------------------------------------------ To DJ and Jim Thanks a lot for your quick help guys I appreciate it So long Mike
  12. mikeman

    Multi_Vendor_Shipping new thread

    @ djmonkey1 I would like to give the entries in the "shipper" column on my invoices and packingslips a name other than i.e. zones, table, item ..... Could you tell me if you had figured out how to assign other names to it because you had mentioned this problem a couple of post before. ------------------ also: Is there a way to get rid of the entries in table "orders_shipping" when I delete an order (except doing it manually with i.e. phpmyadmin). Any hints (code-lines) are welcome! Thanks Mike
  13. mikeman

    Multi_Vendor_Shipping new thread

    @ blucollarguy and djmonkey1 Hello guys, thank you for your thoughts about my problem. For now I've come to this workaround: in "checkout_shipping.php" I've included this lines of code: below: require(DIR_WS_CLASSES . 'order.php'); $order = new order; /************************************************************/ if ($order->delivery['country_id'] != '14') { // --------> check if customer comes not from Austria (country-code 14) // ------> came to it after reading this http://forums.oscommerce.com/index.php?showtopic=182945 for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { //now go through the whole order //and check if there are product(s) in "$order" of vendor who has only modul-tabel/austria-only enabled If ($order->products[$i]['vendors_id'] == '1'){ //if so redirect customer back to "shopping_cart.php" and inform him to delete the product(s) from cart not to be shipped to his country tep_redirect(tep_href_link(FILENAME_SHOPPING_CART, 'error_message=' . urlencode('Sorry, some product(s) can not be shipped to your country. Please remove etc, etc......'), 'SSL')); } } } /************************************************************/ That's the workaround for now. But unfortunately the customer has to do it manually. Now I want to make it more comfortable for the customer. Question: Is it possible to remove product(s) from $order in "checkout_shipping.php" so that it would work like this: -------------------------------------- Example No. 1 if ($order->delivery['country_id'] != '14') { for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { If ($order->products[$i]['vendors_id'] == '1') { HERE GOES THE CODE FOR REMOVING PRODUCTS FROM "$ORDER" } } } Plus a message (in the box of the vendor who is not an option) that the produc(s) can not be shipped in the customer's country. Even better would be this (because the "country code-condition" would be avoided): ---------------------------------------- Example No. 2 IF there are product(s) of a vendor who is not an option REMOVE PRODUCTS FROM "$ORDER" -------------------------------------------- Unfortunately my PHP-knowledge reaches not that far (but I know the concepts of object oriented programming quite well) So it would be great if someone has a solution to my problem. Thanks Mike
  14. mikeman

    Multi_Vendor_Shipping new thread

    Hello, I have the following setup: Two vendors: Vendor A (Table-modul) --> Austria "only" (restricted via admin --> Pulldown-Shipping Zone) (heavy products) Vendor B (Zones-modul) --> worldwide (light products) Problem: If a customer from i.e. Mexico has products from vendor B AND vendor A in the cart and gets to "checkout_shipping.php" he can pass through the whole checkout-procedure and has products from both vendors in "checkout_confirmation.php". So I'm in dire need of some lines of code to remove the product(s) from vendor A (heavy products/Austria only) so that ONLY the product(s) from vendor B (worldwide) will get through checkout. Probably in "checkout_shipping.php" (from $order) but I'm stuck. Any hints are welcome Thanks Mike
×