yomama360 Posted June 1, 2006 Share Posted June 1, 2006 Hey, whats the difference between this contrib: (the one were on) http://www.oscommerce.com/community/contributions,1393 and this: (for florists etc) http://www.oscommerce.com/community/contributions,2955 Quote "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends upon the unreasonable man." -- George Bernard Shaw Link to comment Share on other sites More sharing options...
yomama360 Posted June 1, 2006 Share Posted June 1, 2006 Also how would I go about switching the calendar to the product page where they add the item to cart? (like having a calendar as an attribute) And also how would you make different calendars for different items? For example you sell tickets to shows or activities. Some are only on Wednesday and some are available any day but Sunday so different calendars with different blackout dates would be needed. Quote "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends upon the unreasonable man." -- George Bernard Shaw Link to comment Share on other sites More sharing options...
mluce Posted June 19, 2006 Share Posted June 19, 2006 Hello, I installed the shipdate contribution. It seems to work fine. However I do not know how to change the valid days for delivery in the shipsched.php file. I looked through forums for a while and I found a bunch of people asking the same question as me but never getting any answer to it :blink: . It it really complicated to explain ? Thank you very much for trying. Quote Link to comment Share on other sites More sharing options...
mluce Posted June 19, 2006 Share Posted June 19, 2006 Hello, I installed the shipdate contribution. It seems to work fine. However I do not know how to change the valid days for delivery in the shipsched.php file. I looked through forums for a while and I found a bunch of people asking the same question as me but never getting any answer to it :blink: . It it really complicated to explain ? Thank you very much for trying. Quote Link to comment Share on other sites More sharing options...
yomama360 Posted June 21, 2006 Share Posted June 21, 2006 Hello, I installed the shipdate contribution. It seems to work fine. However I do not know how to change the valid days for delivery in the shipsched.php file. I looked through forums for a while and I found a bunch of people asking the same question as me but never getting any answer to it :blink: . It it really complicated to explain ? Thank you very much for trying. No, it is not hard to change valid delivery days (of the week). If you're talking about special holidays or individual days go back a page on this thread to a post by Boule. For days of the week, in the includes\classes\shipsched.php file you will see this code starting on line 91: function DateInfo($datestamp){ //This functions returns an array containing info about whether a date is valid for delivery //and the CSS class for the calendar. The classes are defined in calendar.css //Currently Sunday is considered invalid and Saturday is a different class, //although for now its class is defined the same as other valid days. if(!isset($this->earliest_date))$this->EarliestArrival(); if($datestamp>=$this->earliest_date){ if(date('w',$datestamp)==6){ $result['valid']=true; $result['class']='s_valid'; }elseif(date('w',$datestamp)==0){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } }else{ $result['valid']=false; $result['class']='invalid'; } return $result; } The code for Sunday is 0. Monday is 1. Tuesday is 2. Wednesday is 3. Thursday is 4. Friday is 5. Saturday is 6. This bit of code on line 109 turns sunday off (invalid) and the rest on (valid): (note the ==0) }elseif(date('w',$datestamp)==0){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } So if you wanted to turn sundays(0) on and wednesday(3) off you could do something like this: }elseif(date('w',$datestamp)==0){ $result['valid']=true; $result['class']='valid'; }elseif(date('w',$datestamp)==3){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } You could have also just changed the 0 to a 3, but it's an example. I hope it helps. Quote "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends upon the unreasonable man." -- George Bernard Shaw Link to comment Share on other sites More sharing options...
mluce Posted June 27, 2006 Share Posted June 27, 2006 Thank you very much ! :D Now I have a much more complicated problem. I would need to change the earliest date according to the product. For example, I have some products that can be delivered in two days and some others that would have to wait for two weeks. Do you think there is any way I can make this work ? Quote Link to comment Share on other sites More sharing options...
yomama360 Posted June 28, 2006 Share Posted June 28, 2006 Thank you very much ! :D Now I have a much more complicated problem. I would need to change the earliest date according to the product. For example, I have some products that can be delivered in two days and some others that would have to wait for two weeks. Do you think there is any way I can make this work ? Ha, Im looking for something very similar. I need a different calendar for different products (ie. Some will not be available Sundays where others can only be done Tuesdays and Thursdays. etc..) <_< So if you figure it out before I do, let me know. Quote "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends upon the unreasonable man." -- George Bernard Shaw Link to comment Share on other sites More sharing options...
mluce Posted June 28, 2006 Share Posted June 28, 2006 I do not think I will, I'm really not a programmer, sorry :( Quote Link to comment Share on other sites More sharing options...
mluce Posted June 28, 2006 Share Posted June 28, 2006 (edited) I have another question to ask, even more difficult than the first one. Do you think it is possible to change the delivery price according to the delivery day ? For example, I would like the deliveries on Saturdays to be more expensive than the deliveries on week days. Do you think there is any way I could do that ? Edited June 28, 2006 by mluce Quote Link to comment Share on other sites More sharing options...
yomama360 Posted July 8, 2006 Share Posted July 8, 2006 Packing Slip and Invoice text fix. In the Packingslip and Invoice where it says: TEXT_ARRIVAL_DATE Friday, 07. July 2006 And you want: Shipment Arrival Date Friday, 07. July 2006 Add this code to admin/includes/languages/english/packingslip.php (and invoice.php) define('TEXT_ARRIVAL_DATE','Shipment Arrival Date'); Do the same for other languages too obviously. Quote "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends upon the unreasonable man." -- George Bernard Shaw Link to comment Share on other sites More sharing options...
mluce Posted July 13, 2006 Share Posted July 13, 2006 Packing Slip and Invoice text fix. In the Packingslip and Invoice where it says: TEXT_ARRIVAL_DATE Friday, 07. July 2006 And you want: Shipment Arrival Date Friday, 07. July 2006 Add this code to admin/includes/languages/english/packingslip.php (and invoice.php) define('TEXT_ARRIVAL_DATE','Shipment Arrival Date'); Do the same for other languages too obviously. I understand that but how do you put the arrival date in the packingslip at first ? I cannot even get it in the admin/order ! Quote Link to comment Share on other sites More sharing options...
yomama360 Posted July 14, 2006 Share Posted July 14, 2006 I understand that but how do you put the arrival date in the packingslip at first ? I cannot even get it in the admin/order ! See Post #62 on Page 4 of this thread by CAnneB2 http://www.oscommerce.com/forums/index.php?s=&...st&p=705336 Is that what you're looking for? There's some manual code copy and paste editing involved, but if memory serves I did not have a problem with it. Let me know if that's not it. Maybe post your orders.php code. BTW - my previous post was not in response to anything. Just general information for everyone. Quote "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends upon the unreasonable man." -- George Bernard Shaw Link to comment Share on other sites More sharing options...
mluce Posted July 17, 2006 Share Posted July 17, 2006 I tried this copy and paste editing but it did not work for me. I get 01/01/70 as a shipdate for all my orders in the admin and I do not know why. :'( Should I post my admin/orders.php code here ? It is a pretty long code. Quote Link to comment Share on other sites More sharing options...
mluce Posted July 19, 2006 Share Posted July 19, 2006 Ok, this is my catalog/admin/orders.php for those who feel like helping me out : <?php/* $Id: orders.php,v 1.112 2003/06/29 22:50:52 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License*/ require('includes/application_top.php'); require(DIR_WS_CLASSES . 'currencies.php'); $currencies = new currencies(); $orders_statuses = array(); $orders_status_array = array(); $orders_status_query = tep_db_query("select orders_status_id, orders_status_name from " . TABLE_ORDERS_STATUS . " where language_id = '" . (int)$languages_id . "'"); while ($orders_status = tep_db_fetch_array($orders_status_query)) { $orders_statuses[] = array('id' => $orders_status['orders_status_id'], 'text' => $orders_status['orders_status_name']); $orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name']; } $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : ''); if (tep_not_null($action)) { switch ($action) { case 'update_order': $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']); $status = tep_db_prepare_input($HTTP_POST_VARS['status']); $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']); $order_updated = false; $check_status_query = tep_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'"); $check_status = tep_db_fetch_array($check_status_query); if ( ($check_status['orders_status'] != $status) || tep_not_null($comments)) { tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . (int)$oID . "'"); $customer_notified = '0'; if (isset($HTTP_POST_VARS['notify']) && ($HTTP_POST_VARS['notify'] == 'on')) { $notify_comments = ''; if (isset($HTTP_POST_VARS['notify_comments']) && ($HTTP_POST_VARS['notify_comments'] == 'on')) { $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n"; } $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]); tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); $customer_notified = '1'; } ######## Points/Rewards Module V1.60 BOF ################## if (isset($HTTP_POST_VARS['notify_points'])) { $points_comments = ENTRY_CONFIRMED_POINTS . $comments; $customer_query = tep_db_query('select customer_id, date_added, points_pending, status from '. TABLE_CUSTOMERS_POINTS_PENDING .' where status = 1 and orders_id = '. $oID); $customer_points = tep_db_fetch_array($customer_query); if ($customer_points['status'] == 1) { tep_db_query('update '. TABLE_CUSTOMERS . ' set customers_shopping_points = customers_shopping_points + '. $customer_points['points_pending'] . 'where customers_id = '. $customer_points['customer_id']); tep_db_query('update '. TABLE_CUSTOMERS_POINTS_PENDING . ' set status = 2 where status = 1 and orders_id = '. $oID); tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . (int)$oID . "', '" . tep_db_input($status) . "', now(), '" . tep_db_input($customer_notified) . "', '" . tep_db_input($points_comments) . "')"); } $customer_notified = '0'; $customer_query = tep_db_query("select customers_lastname, customers_firstname, customers_gender, customers_email_address, customers_shopping_points from " . TABLE_CUSTOMERS . " where customers_id = '" . $customer_points['customer_id'] . "'"); $customer = tep_db_fetch_array($customer_query); $balance = $customer['customers_shopping_points']; $gender = $customer['customers_gender']; $first_name = $customer['customers_firstname']; $last_name = $customer['customers_lastname']; $name = $first_name . ' ' . $last_name; if (isset($HTTP_POST_VARS['notify']) && ($HTTP_POST_VARS['notify'] == 'on')) { if (ACCOUNT_GENDER == 'true') { if ($gender == 'm') { $greet = sprintf(EMAIL_GREET_MR, $last_name); } else { $greet = sprintf(EMAIL_GREET_MS, $last_name); } } else { $greet = sprintf(EMAIL_GREET_NONE, $first_name); } $email_text = $greet . "\n" . EMAIL_TEXT . "\n" . EMAIL_TEXT_BALANCE_CONFIRMED . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($customer_points['date_added']) . "\n" . TABLE_HEADING_POINTS . ' = ' . number_format($customer_points['points_pending'],2) . "\n" . TABLE_HEADING_POINTS_VALUE . ' ' . $currencies->format($customer_points['points_pending'] * REDEEM_POINT_VALUE) . "\n" . EMAIL_TEXT_BALANCE . ' ' . $balance . ' ' . TABLE_HEADING_POINTS_VALUE . ' = ' . $currencies->format($balance * REDEEM_POINT_VALUE) . "\n" . EMAIL_TEXT_POINTS_URL . "\n" . tep_catalog_href_link(FILENAME_CATALOG_MY_POINTS) . "\n" . EMAIL_TEXT_SUCCESS_POINTS . "\n" . EMAIL_CONTACT . "\n\n" . EMAIL_SEPARATOR . "\n" . '<b>' . STORE_NAME . '</b>.' . "\n\n"; tep_mail($name, $customer['customers_email_address'], EMAIL_TEXT_SUBJECT2, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); $customer_notified = '1'; } if (isset($HTTP_POST_VARS['notify_points'])) { $messageStack->add_session(SUCCESS_POINTS_UPDATED, 'success'); } } if (!isset($HTTP_POST_VARS['notify_points'])) ######## Points/Rewards Module V1.60 EOF ################## tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . (int)$oID . "', '" . tep_db_input($status) . "', now(), '" . tep_db_input($customer_notified) . "', '" . tep_db_input($comments) . "')"); $order_updated = true; } if ($order_updated == true) { $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success'); } else { $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning'); } tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=edit')); break; case 'deleteconfirm': $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']); tep_remove_order($oID, $HTTP_POST_VARS['restock']); tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')))); break; } } if (($action == 'edit') && isset($HTTP_GET_VARS['oID'])) { $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']); $orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'"); $order_exists = true; if (!tep_db_num_rows($orders_query)) { $order_exists = false; $messageStack->add(sprintf(ERROR_ORDER_DOES_NOT_EXIST, $oID), 'error'); } } include(DIR_WS_CLASSES . 'order.php');?><!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" src="includes/general.js"></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="2"><?php if (($action == 'edit') && ($order_exists == true)) { $order = new order($oID);?> <tr> <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td> <td class="pageHeading" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td> </tr> </table></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td colspan="3"><?php echo tep_draw_separator(); ?></td> </tr> <tr> <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" valign="top"><b><?php echo ENTRY_CUSTOMER; ?></b></td> <td class="main"><?php echo tep_address_format($order->customer['format_id'], $order->customer, 1, '', '<br>'); ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td> </tr> <tr> <td class="main"><b><?php echo ENTRY_TELEPHONE_NUMBER; ?></b></td> <td class="main"><?php echo $order->customer['telephone']; ?></td> </tr> <tr> <td class="main"><b><?php echo ENTRY_EMAIL_ADDRESS; ?></b></td> <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '"><u>' . $order->customer['email_address'] . '</u></a>'; ?></td> </tr> </table></td> <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" valign="top"><b><?php echo ENTRY_SHIPPING_ADDRESS; ?></b></td> <td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br>'); ?></td> </tr> </table></td> <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" valign="top"><b><?php echo ENTRY_BILLING_ADDRESS; ?></b></td> <td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, '', '<br>'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td><table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td> <td class="main"><?php echo $order->info['payment_method']; ?></td> </tr><?php if (tep_not_null($order->info['cc_type']) || tep_not_null($order->info['cc_owner']) || tep_not_null($order->info['cc_number'])) {?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_CREDIT_CARD_TYPE; ?></td> <td class="main"><?php echo $order->info['cc_type']; ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_CREDIT_CARD_OWNER; ?></td> <td class="main"><?php echo $order->info['cc_owner']; ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_CREDIT_CARD_NUMBER; ?></td> <td class="main"><?php echo $order->info['cc_number']; ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_CREDIT_CARD_EXPIRES; ?></td> <td class="main"><?php echo $order->info['cc_expires']; ?></td> </tr><?php }?> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td> </tr><?php for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { echo ' <tr class="dataTableRow">' . "\n" . ' <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" . ' <td class="dataTableContent" valign="top">' . $order->products[$i]['name']; if (isset($order->products[$i]['attributes']) && (sizeof($order->products[$i]['attributes']) > 0)) { for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j++) { echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value']; if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')'; echo '</i></small></nobr>'; } } echo ' </td>' . "\n" . ' <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n" . ' <td class="dataTableContent" align="right" valign="top">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" . ' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" . ' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" . ' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" . ' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n"; echo ' </tr>' . "\n"; }?> <tr> <td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2"><?php for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) { echo ' <tr>' . "\n" . ' <td align="right" class="smallText">' . $order->totals[$i]['title'] . '</td>' . "\n" . ' <td align="right" class="smallText">' . $order->totals[$i]['text'] . '</td>' . "\n" . ' </tr>' . "\n"; }?> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><table border="1" cellspacing="0" cellpadding="5"> <tr> <td class="smallText" align="center"><b><?php echo TABLE_HEADING_DATE_ADDED; ?></b></td> <td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td> <td class="smallText" align="center"><b><?php echo TABLE_HEADING_STATUS; ?></b></td> <td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td> </tr><?php $orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added"); if (tep_db_num_rows($orders_history_query)) { while ($orders_history = tep_db_fetch_array($orders_history_query)) { echo ' <tr>' . "\n" . ' <td class="smallText" align="center">' . tep_datetime_short($orders_history['date_added']) . '</td>' . "\n" . ' <td class="smallText" align="center">'; if ($orders_history['customer_notified'] == '1') { echo tep_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . "</td>\n"; } else { echo tep_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "</td>\n"; } echo ' <td class="smallText">' . $orders_status_array[$orders_history['orders_status_id']] . '</td>' . "\n" . ' <td class="smallText">' . nl2br(tep_db_output($orders_history['comments'])) . ' </td>' . "\n" . ' </tr>' . "\n"; } } else { echo ' <tr>' . "\n" . ' <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" . ' </tr>' . "\n"; }?> </table></td> </tr> <tr> <td class="main"><br><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td> </tr> <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=update_order'); ?> <td class="main"><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td><table border="0" cellspacing="0" cellpadding="2"> <tr> <td><table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo tep_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td> </tr> <tr> <td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo tep_draw_checkbox_field('notify', '', true); ?></td><!-- // Points/Rewards Module V1.60 check_box_bof //--><?php $p_status_query = tep_db_query('select orders_id, status from '. TABLE_CUSTOMERS_POINTS_PENDING .' where status = 1 and orders_id = '. $oID); $p_status = tep_db_fetch_array($p_status_query); if ((POINTS_AUTO_ON == 'false')&&($p_status['status'] == 1)) {?> <td class="main"><b><?php echo ENTRY_NOTIFY_POINTS; ?></b><?php echo tep_draw_checkbox_field('notify_points', '', false); ?> </td><?php }?><!-- // Points/Rewards Module V1.60 check_box_eof //--> <td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo tep_draw_checkbox_field('notify_comments', '', true); ?></td> </tr> </table></td> <td valign="top"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?></td> </tr> </table></td> </form></tr> <tr> <td colspan="2" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td> </tr><?php } else {?> <tr> <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td> <td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr><?php echo tep_draw_form('orders', FILENAME_ORDERS, '', 'get'); ?> <td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('oID', '', 'size="12"') . tep_draw_hidden_field('action', 'edit'); ?></td> </form></tr> <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, '', 'get'); ?> <td class="smallText" align="right"><?php echo HEADING_TITLE_STATUS . ' ' . tep_draw_pull_down_menu('status', array_merge(array(array('id' => '', 'text' => TEXT_ALL_ORDERS)), $orders_statuses), '', 'onChange="this.form.submit();"'); ?></td> </form></tr> </table></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TEXT_ARRIVAL_DATE; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td> </tr><?php if (isset($HTTP_GET_VARS['cID'])) { $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']); $orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.shipdate, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by orders_id DESC"; } elseif (isset($HTTP_GET_VARS['status'])) { $status = tep_db_prepare_input($HTTP_GET_VARS['status']); $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.shipdate, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' order by o.orders_id DESC"; } else { $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.shipdate, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC"; } $orders_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_query_raw, $orders_query_numrows); $orders_query = tep_db_query($orders_query_raw); while ($orders = tep_db_fetch_array($orders_query)) { if ((!isset($HTTP_GET_VARS['oID']) || (isset($HTTP_GET_VARS['oID']) && ($HTTP_GET_VARS['oID'] == $orders['orders_id']))) && !isset($oInfo)) { $oInfo = new objectInfo($orders); } if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) { echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '\'">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '\'">' . "\n"; }?> <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders['orders_id'] . '&action=edit') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $orders['customers_name']; ?></td> <td class="dataTableContent" align="right"><?php echo strip_tags($orders['order_total']); ?></td> <td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td> <td class="dataTableContent" align="center"><?php echo strftime("%a, %D",$orders['shipdate']); ?></td> <td class="dataTableContent" align="right"><?php echo $orders['orders_status_name']; ?></td> <td class="dataTableContent" align="right"><?php if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> </tr><?php }?> <tr> <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText" valign="top"><?php echo $orders_split->display_count($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS); ?></td> <td class="smallText" align="right"><?php echo $orders_split->display_links($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page'], tep_get_all_get_params(array('page', 'oID', 'action'))); ?></td> </tr> </table></td> </tr> Quote Link to comment Share on other sites More sharing options...
fuad Posted July 23, 2006 Share Posted July 23, 2006 Hi, Great contribution. I want to install it, but I have another contributions on that pages, can anyone, send me only the lines to changes in each code. Please help with that... Thanks Fuad Quote Peace and Love for all... Link to comment Share on other sites More sharing options...
Guest Posted July 23, 2006 Share Posted July 23, 2006 Ok, this is my catalog/admin/orders.php for those who feel like helping me out If you use the phpmyadmin what the dates show in the orders table for the shipdate column. Are they different? Because it could be a problem when the date is stored, in other words on the catalog end. Quote Link to comment Share on other sites More sharing options...
mluce Posted July 24, 2006 Share Posted July 24, 2006 If you use the phpmyadmin what the dates show in the orders table for the shipdate column. Are they different? Because it could be a problem when the date is stored, in other words on the catalog end. Thanks but I fixed it. I just had to change this code in checkout_process.php : if(isset($_SESSION["shipdate"]))$email_order.="\n" . EMAIL_TEXT_ARRIVAL_DATE . "\n" . EMAIL_SEPARATOR . "\n" . date("l, F j, Y",$_SESSION["shipdate"]) . "\n\n"; I changed it to : if(isset($_SESSION["shipdate"]))$email_order.="\n" . EMAIL_TEXT_ARRIVAL_DATE . "\n" . EMAIL_SEPARATOR . "\n" . date('l, F j, Y',$_SESSION["shipdate"]) . "\n\n"; The difference between the two codes are the " which I changed into ' for the date format. Quote Link to comment Share on other sites More sharing options...
Guest Posted July 26, 2006 Share Posted July 26, 2006 No, it is not hard to change valid delivery days (of the week). If you're talking about special holidays or individual days go back a page on this thread to a post by Boule. For days of the week, in the includes\classes\shipsched.php file you will see this code starting on line 91: function DateInfo($datestamp){ //This functions returns an array containing info about whether a date is valid for delivery //and the CSS class for the calendar. The classes are defined in calendar.css //Currently Sunday is considered invalid and Saturday is a different class, //although for now its class is defined the same as other valid days. if(!isset($this->earliest_date))$this->EarliestArrival(); if($datestamp>=$this->earliest_date){ if(date('w',$datestamp)==6){ $result['valid']=true; $result['class']='s_valid'; }elseif(date('w',$datestamp)==0){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } }else{ $result['valid']=false; $result['class']='invalid'; } return $result; } The code for Sunday is 0. Monday is 1. Tuesday is 2. Wednesday is 3. Thursday is 4. Friday is 5. Saturday is 6. This bit of code on line 109 turns sunday off (invalid) and the rest on (valid): (note the ==0) }elseif(date('w',$datestamp)==0){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } So if you wanted to turn sundays(0) on and wednesday(3) off you could do something like this: }elseif(date('w',$datestamp)==0){ $result['valid']=true; $result['class']='valid'; }elseif(date('w',$datestamp)==3){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } You could have also just changed the 0 to a 3, but it's an example. I hope it helps. Thank you, thank you...thank you! Guess I said it all, you have answered the question I was about to ask :thumbsup: PS sorry mat for emailing you, should have done a search for the 'Shipdate Contribution' within the forum first. PPS. Great contribution :thumbsup: Quote Link to comment Share on other sites More sharing options...
Guest Posted July 26, 2006 Share Posted July 26, 2006 No, it is not hard to change valid delivery days (of the week). If you're talking about special holidays or individual days go back a page on this thread to a post by Boule. For days of the week, in the includes\classes\shipsched.php file you will see this code starting on line 91: function DateInfo($datestamp){ //This functions returns an array containing info about whether a date is valid for delivery //and the CSS class for the calendar. The classes are defined in calendar.css //Currently Sunday is considered invalid and Saturday is a different class, //although for now its class is defined the same as other valid days. if(!isset($this->earliest_date))$this->EarliestArrival(); if($datestamp>=$this->earliest_date){ if(date('w',$datestamp)==6){ $result['valid']=true; $result['class']='s_valid'; }elseif(date('w',$datestamp)==0){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } }else{ $result['valid']=false; $result['class']='invalid'; } return $result; } The code for Sunday is 0. Monday is 1. Tuesday is 2. Wednesday is 3. Thursday is 4. Friday is 5. Saturday is 6. This bit of code on line 109 turns sunday off (invalid) and the rest on (valid): (note the ==0) }elseif(date('w',$datestamp)==0){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } So if you wanted to turn sundays(0) on and wednesday(3) off you could do something like this: }elseif(date('w',$datestamp)==0){ $result['valid']=true; $result['class']='valid'; }elseif(date('w',$datestamp)==3){ $result['valid']=false; $result['class']='invalid'; }else{ $result['valid']=true; $result['class']='valid'; } You could have also just changed the 0 to a 3, but it's an example. I hope it helps. Thank you, thank you...thank you! Guess I said it all, you have answered the question I was about to ask :thumbsup: PS sorry mat for emailing you, should have done a search for the 'Shipdate Contribution' within the forum first. PPS. Great contribution :thumbsup: Quote Link to comment Share on other sites More sharing options...
Guest Posted August 22, 2006 Share Posted August 22, 2006 I have installed the paypal IPN module and worked out how to pass the shipping date into the order screen in admin. But I dont know how to get the date to appear in the order confirmation email. Can anyone help me? The paypal_ipn file appears to overwrite the normal checkout_process page which defines what goes in the email. But if I paste what's in here into the same area on paypal_ipn, it breaks it. Any help would be great. Thanks David Quote Link to comment Share on other sites More sharing options...
nelsonevp Posted October 5, 2006 Share Posted October 5, 2006 Hi all, I spent a great part of the past couple of hours trying to include the "Ship Date" as an extra column on the initial Admin/Orders page. (The one showing customer name, order total, date purchased, status, action.) Well, finally I did it and just thought if anyone else was interested in how to do this here are the code changes - *all code changes are in catalog>admin>orders.php*: 1) In catalog>admin>orders.php find (around line 489): ? ? ?$orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by orders_id DESC"; and replace with: ? ? ?$orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.shipdate, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by orders_id DESC"; 2) Find (around line 492): ? ? ?$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' order by o.orders_id DESC"; and replace with: ? ? ?$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.shipdate, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' order by o.orders_id DESC"; 3) Find (around line 494): ? ? ?$orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' " . $sortorder; and replace with: ? ? ?$orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.shipdate, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' " . $sortorder; 4) Find (around line 467): <td class="dataTableHeadingContent" align="center"><?php echo $HEADING_DATE_PURCHASED; ?></td> and add after: <td class="dataTableHeadingContent" align="center"><?php echo TEXT_ARRIVAL_DATE; ?></td> 5) Find (around line 511): <td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td> and add after: <td class="dataTableContent" align="center"><?php echo strftime("%a, %D",$orders['shipdate']); ?></td> That's it! Here is a screenshot of how it would look (stylesheet differences will apply): Here is where you can learn more on the different options to display your date using "strftime". PHP.net strftime function Hope someone else enjoys this! :D Chris B. Quote Link to comment Share on other sites More sharing options...
BillyGee Posted October 5, 2006 Share Posted October 5, 2006 (edited) I run a shop that does daily deliveries each evening. While this contribution does 99.9% of what I needed it to do - in a perfect world the contribution would do one of the following... 1) Automatically assign a ship date based on the time of day an order is placed. (ie: an order placed before 7pm gets delivered that evening - orders placed after 7pm are delivered the following day. or if that isn't possible... 2) allow the customer to only select the current day (if it is before 7pm) or the next day. Any one know how to do either of these? Thanks in advance and this is a great contribution! Edited October 5, 2006 by BillyGee Quote Link to comment Share on other sites More sharing options...
BillyGee Posted October 6, 2006 Share Posted October 6, 2006 Any guesses?... Quote Link to comment Share on other sites More sharing options...
yomama360 Posted November 1, 2006 Share Posted November 1, 2006 I run a shop that does daily deliveries each evening. While this contribution does 99.9% of what I needed it to do - in a perfect world the contribution would do one of the following... 1) Automatically assign a ship date based on the time of day an order is placed. (ie: an order placed before 7pm gets delivered that evening - orders placed after 7pm are delivered the following day. or if that isn't possible... 2) allow the customer to only select the current day (if it is before 7pm) or the next day. Any one know how to do either of these? Thanks in advance and this is a great contribution! If you want the user to also be able to select future dates, the functionality you want is ready to go in the shipsched.php file. See: $this->schedule[0]=array('start_time'=>0,'target_day'=>3); $this->schedule[1]=array('start_time'=>13,'target_day'=>4); $this->schedule[2]=array('start_time'=>13,'target_day'=>5); $this->schedule[3]=array('start_time'=>13,'target_day'=>6); $this->schedule[4]=array('start_time'=>15,'target_day'=>2); $this->schedule[5]=array('start_time'=>0,'target_day'=>2); $this->schedule[6]=array('start_time'=>14,'target_day'=>3); change it to: //if order placed on [schedule day] (AFTER [start time]) then [target day] is the earliest valid day // if time is BEFORE [start time] then treat [schedule day] as -1 // sunday $this->schedule[0]=array('start_time'=>19,'target_day'=>1); // Monday $this->schedule[1]=array('start_time'=>19,'target_day'=>2); // Tues $this->schedule[2]=array('start_time'=>19,'target_day'=>3); // Wednesday $this->schedule[3]=array('start_time'=>19,'target_day'=>4); // thurs $this->schedule[4]=array('start_time'=>19,'target_day'=>5); // fri $this->schedule[5]=array('start_time'=>19,'target_day'=>6); // Saturday $this->schedule[6]=array('start_time'=>19,'target_day'=>0); Was this it? Quote "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends upon the unreasonable man." -- George Bernard Shaw Link to comment Share on other sites More sharing options...
smalto Posted November 3, 2006 Share Posted November 3, 2006 Hi everybody, What a great contribution. I am running a ms1 and it works perfectly also with the hollidays (thanks Boule). I woud need help for two points that can be helpfull for everybody. Here the points : Point no 1 : calendar in different language I am based in Switzerland and we have 3 languages which are mainly used : French, Englich and German In the contrib, the 1st letter of the week and the name of the month are hard coded in the file calendar.php (includes/classes/) : var $monthNames = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); I would like to show the calendar in each language if the person chooses french, the day of week and month should be in french. How can I do this ? Unfortunately I am not a php coder. Point no2 : different delivery date based on country of delivery Being in Switzerland (which is quite a little country as you know...) we do send also abroad. How to perform that if the delivery country is : - Switzerland than take the shipschedSWISS - EUROPE than take the shipschedEUROPE - RESTOFTHEWORLD than take the shipschedRESTOFTHEWORL This would boost this contribution to a multilanguage for the calendar display and would allow to have different shipping dates bases on the delivery country (of corse the customer will have to choose the delivery address before the delivery date and the system check each time if the delivery country changes to choose the right shipsched). I am unfortunately not a php programmer but I can help out with translations to french and german. Hope that this topic will interest a lot of us. Thanks for your help. Cheers, smalto Quote oscommerce 2.2 ms1 with contrib - lilibikini.com - 2005 Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.