Jump to content

jswan

Members
  • Content count

    91
  • Joined

  • Last visited

1 Follower

Profile Information

  1. Hi folks: I just noticed that after a few days, when someone new votes, the IP addresses stored in phesis_poll_check (the IP addresses that are used to determine if a new user is voting or not) are all deleted. So, the next time a previous voter comes, they will be able to vote. Has anyone else noticed this? All IP addresses are deleted from the database when a new vote is recorded after a couple of days has passed. Any suggestions for fixing this would be welcome. Thanks, Jason
  2. Gregbaboolal sent me this code to replace/edit catalog/includes/modules/payment/paypal/checkout_process.php. It may help folks who need to get random order numbers and PayPal IPN working together. Changes to the original file are identified by //Begin random order and //End random order. There are only three sections that need to be changed, so it will probably be good to do them by cut-and-paste. <?php /* ?$Id: checkout_process.php,v 2.2 2004/04/24 devosc Exp $ ?osCommerce, Open Source E-Commerce Solutions ?http://www.oscommerce.com ?DevosC, Developing open source Code ?http://www.devosc.com ?Copyright (c) 2003 osCommerce ?Copyright (c) 2004 DevosC.com ?Released under the GNU General Public License */ ?global $payment_modules, $shipping_modules, $order, $currencies, $cart, $customer_id, ? ? ? ? $sendto, $billto, $shipping, $payment, $language, $currency, $languages_id; ?require(DIR_WS_INCLUDES . 'modules/payment/paypal/database_tables.php'); ?//require(DIR_WS_INCLUDES . 'modules/payment/paypal/functions.php'); ?require(DIR_WS_CLASSES . 'order_total.php'); ?$order_total_modules = new order_total; ?$order_totals = $order_total_modules->process(); //Begin random order ?$random_addition = rand(7,15); ?$last_order_id = tep_db_query("select orders_id from " . TABLE_ORDERS . " o order by o.orders_id desc limit 1"); ?$old_order_id = tep_db_fetch_array($last_order_id); ?$ordernum = ($old_order_id['orders_id'] + $random_addition); //End random order //Begin random order // ?$sql_data_array = array('customers_id' => $customer_id, ? ?$sql_data_array = array('orders_id' => $ordernum, ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_id' => $customer_id, //End random order ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_company' => $order->customer['company'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_street_address' => $order->customer['street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_suburb' => $order->customer['suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_city' => $order->customer['city'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_postcode' => $order->customer['postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_state' => $order->customer['state'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_country' => $order->customer['country']['title'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_telephone' => $order->customer['telephone'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_email_address' => $order->customer['email_address'], ? ? ? ? ? ? ? ? ? ? ? ? ?'customers_address_format_id' => $order->customer['format_id'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_company' => $order->delivery['company'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_street_address' => $order->delivery['street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_suburb' => $order->delivery['suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_city' => $order->delivery['city'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_postcode' => $order->delivery['postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_state' => $order->delivery['state'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_country' => $order->delivery['country']['title'], ? ? ? ? ? ? ? ? ? ? ? ? ?'delivery_address_format_id' => $order->delivery['format_id'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_company' => $order->billing['company'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_street_address' => $order->billing['street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_suburb' => $order->billing['suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_city' => $order->billing['city'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_postcode' => $order->billing['postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_state' => $order->billing['state'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_country' => $order->billing['country']['title'], ? ? ? ? ? ? ? ? ? ? ? ? ?'billing_address_format_id' => $order->billing['format_id'], ? ? ? ? ? ? ? ? ? ? ? ? ?'payment_method' => $order->info['payment_method'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_type' => $order->info['cc_type'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_owner' => $order->info['cc_owner'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_number' => $order->info['cc_number'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_expires' => $order->info['cc_expires'], ? ? ? ? ? ? ? ? ? ? ? ? ?'orders_status' => MODULE_PAYMENT_PAYPAL_PROCESSING_STATUS_ID, ? ? ? ? ? ? ? ? ? ? ? ? ?'currency' => $order->info['currency'], ? ? ? ? ? ? ? ? ? ? ? ? ?'currency_value' => $order->info['currency_value']); ? $order_exists = false; ? if(tep_session_is_registered('paypal_order_id')) { ? ? $orders_session_query = tep_db_query("select os.orders_id as orders_id, o.paypal_ipn_id from " . TABLE_ORDERS_SESSION_INFO . " os left join " . TABLE_ORDERS . " o on os.orders_id = o.orders_id where o.orders_id ='" . $paypal_order_id . "'"); ? ? $orders_check = tep_db_fetch_array($orders_session_query); ? ? //Now check to see whether order session info exists AND that this order does not currently ? ? //have an IPN. ? ? if ($orders_check['orders_id'] > 0 && ?$orders_check['paypal_ipn_id'] == '0' ) { ? ? ? $order_exists = true; ? ? } ? } ? if($order_exists) { ? ?$sql_data_array['last_modified'] = 'now()'; ? ?tep_db_perform(TABLE_ORDERS, $sql_data_array, 'update', "orders_id = '" . $paypal_order_id . "'"); ? } else { ? ?$sql_data_array['date_purchased'] = 'now()'; ? ?tep_db_perform(TABLE_ORDERS, $sql_data_array); ? ?global $paypal_order_id; //Begin random order ? ?//$paypal_order_id = tep_db_insert_id(); ? ?$paypal_order_id = $ordernum; //End random order ? } if($order_exists) { ? ?tep_db_query("delete from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $paypal_order_id . "'"); ?} ?for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { ? ?$sql_data_array = array('orders_id' => $paypal_order_id, ? ? ? ? ? ? ? ? ? ? ? ? ? ?'title' => $order_totals[$i]['title'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'text' => $order_totals[$i]['text'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'value' => $order_totals[$i]['value'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'class' => $order_totals[$i]['code'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'sort_order' => $order_totals[$i]['sort_order']); ? ?tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array); ?} ?$sql_data_array = array('orders_status_id' => MODULE_PAYMENT_PAYPAL_PROCESSING_STATUS_ID, ? ? ? ? ? ? ? ? ? ? ? ? ?'date_added' => 'now()', ? ? ? ? ? ? ? ? ? ? ? ? ?'customer_notified' => 0, ? ? ? ? ? ? ? ? ? ? ? ? ?'comments' => $order->info['comments']); ?if($order_exists) { ? ?tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array, 'update', "orders_id = '" . $paypal_order_id . "'"); ? ?tep_db_query("delete from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . $paypal_order_id . "'"); ? ?tep_db_query("delete from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . $paypal_order_id . "'"); ?} else { ? ?$sql_data_array['orders_id'] = $paypal_order_id; ? ?tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); ?} ?for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { ? ?$sql_data_array = array('orders_id' => $paypal_order_id, ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_id' => tep_get_prid($order->products[$i]['id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_model' => $order->products[$i]['model'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_name' => $order->products[$i]['name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_price' => $order->products[$i]['price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'final_price' => $order->products[$i]['final_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_tax' => $order->products[$i]['tax'], ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_quantity' => $order->products[$i]['qty']); ? ?tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array); ? ?$order_products_id = tep_db_insert_id(); //------insert customer choosen option to order-------- ? ?$attributes_exist = '0'; ? ?if (isset($order->products[$i]['attributes'])) { ? ? ?$attributes_exist = '1'; ? ? ?for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) { ? ? ? ?if (DOWNLOAD_ENABLED == 'true') { ? ? ? ? ?$attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?on pa.products_attributes_id=pad.products_attributes_id ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? where pa.products_id = '" . $order->products[$i]['id'] . "' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and pa.options_id = popt.products_options_id ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and pa.options_values_id = poval.products_options_values_id ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and popt.language_id = '" . $languages_id . "' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and poval.language_id = '" . $languages_id . "'"; ? ? ? ? ?$attributes = tep_db_query($attributes_query); ? ? ? ?} else { ? ? ? ? ?$attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"); ? ? ? ?} ? ? ? ?$attributes_values = tep_db_fetch_array($attributes); ? ? ? ?$sql_data_array = array('orders_id' => $paypal_order_id, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'orders_products_id' => $order_products_id, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_options_id' => $order->products[$i]['attributes'][$j]['option_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_options' => $attributes_values['products_options_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_options_values_id' => $order->products[$i]['attributes'][$j]['value_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_options_values' => $attributes_values['products_options_values_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'options_values_price' => $attributes_values['options_values_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'price_prefix' => $attributes_values['price_prefix']); ? ? ? ?tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array); ? ? ?} ? ?} ?} // store the session info for notification update - gsb ?$sql_data_array = array('sendto' => $sendto, ? ? ? ? ? ? ? ? ? ? ? ? ?'billto' => $billto, ? ? ? ? ? ? ? ? ? ? ? ? ?//'shipping' => serialize($shipping), ? ? ? ? ? ? ? ? ? ? ? ? ?//'payment' => $payment, ? ? ? ? ? ? ? ? ? ? ? ? ?'language' => $language, ? ? ? ? ? ? ? ? ? ? ? ? ?'currency' => $currency, ? ? ? ? ? ? ? ? ? ? ? ? ?'content_type' => $order->content_type); ?if($order_exists) { ? ?tep_db_perform(TABLE_ORDERS_SESSION_INFO, $sql_data_array, 'update', "orders_id = '" . $paypal_order_id . "'"); ?} else { ? ?$sql_data_array['orders_id'] = $paypal_order_id; ? ?tep_db_perform(TABLE_ORDERS_SESSION_INFO, $sql_data_array); ? ?tep_session_register('paypal_order_id'); ?} ?include(DIR_WS_INCLUDES . 'modules/payment/paypal/processing.tpl.php'); ?>
  3. Has anyone gotten these two contributions to play nice together? I'm really stumped. When I edit catalog/checkout_process.php according to directions, the only orders_id that is returned to the database is "0". If I do more than one order, then the subsequent orders get an error because they are trying to write the same orders_id value ("0") to the "orders" table. Looking at the files for IPN, it appears as though I also need to work it out so that paypal_ipn_id is changed as well, but I don't know where to do it. Can anyone point me in the right direction? Thanks, Jason
  4. Hi dimports: Those two files are the database commands to create the modifications. You will need to add the modifications to your catalog database. There are two ways to do this. The easiest is to use something like myPHPadmin (many web hosts offer this because it is free) to install the files from the command line (the SQL tab in myPHPadmin). An alternative is to open each .sql file in a text editor and copy the commands. Then you can paste them in the command line of whatever you are using to manage your database. So, if you are using osCommerce, then you must have a database set up somewhere. Use the same tool that you used to create the new database when you installed osCommerce. Good luck. Jason
  5. I hope some of you folks are still subscribed to this thread. I installed the contribution, and the admin works great. However, when I look at the product_info.php page, all I get are the additional images. No product title, no price, and no text. It's odd. The product photo and title appear in the what's new infobox, but not on the product info page. Any suggestions? TIA, Jason
  6. jswan

    Kill Sid or not?

    Just an FYI for those of you who get errors after installing this mod. It seems to work great, but there are extra "white" spaces in the file that downloads that cause the error. After I went in and re-spaced the lines of code, all worked well. BTW, thanks for the nice list of user agents! Jason
  7. Hi Salvo: Well, I'm not entirely sure. This may seem kind of stupid, but is php the same for all languages? If it is, then all you would need to do is change the text in the catalog/includes/languages/english/product_info.php and admin/includes/languages/english/manufacturers.php files. Then stick them in whatever corresponding language directory that you need. The only other language that I speak is French, and I don't know if there is a French language version. So, now that I think about it, it shouldn't be too hard. There are two language files (product_info.php and manufacturers.php) that would need translating. However, it just occurred to me that I don't really know how that would work with the database, since there is text required there, as well. But, I think it could be over come with the addition of another table field, perhaps with a similar name, but identified by language (in French it might be fabricants_texte). Then, the popup file would require an if statement to test for language, and provide the appropriate call to get the correct text to display in the popup. So, shouldn't be too hard. But it would require some trial and error, I'm sure. A real programmer could probably look at the code and dictate a change, but I have to experiment to get my changes to work. Good luck. BTW, did you get the thing to work? Jason
  8. Well, already found two bugs. One in the read_me that instructs the user to create a new field in the manufacturers table of type varchar. But, that field type is limited to 255 characters. So, I changed the read_me to instruct the user to create a new field of type text. Also, a osCommerce user pointed out that the contribution creates small, one line text_field on the new manufacturer page in the admin, but a large multi-line textarea_field in the edit manufacturer page. So, I fixed that to make both large. Any more suggestions would be welcomed. Jason
  9. Hi: I just submitted my first contribution. I modified my site to include a link on product info pages that will open a popup window containing an infobox (ok, a modified manufacturer_info.php box) that displays all the manufacturer info collected in the admin panel. This contribution also modifies the admin's manufacturers panel to provide a text field for additional information about the manufacturer. If you want to see it in action, you can look at my test site: http://www.virtuallyunique.com/test/catalo...log/default.php Click on either of the two test products. The popup window link is at the bottom of the product_info page. The contribution is located at: http://www.oscommerce.com/community/contributions,914 My caveat? I'm not a programmer, but this works for me. It is probably messy. Please let me know if there are any ways that it can be improved. Or, feel free to modify and submit the contribution yourself. But, I'd appreciate any feedback y'all might have. Thanks, Jason :thumbsup:
  10. jswan

    Linda's metatag contribution...

    Thanks. I'll check it out.
  11. jswan

    Linda's metatag contribution...

    Hi: I haven't seen that contribution. Can you tell me what it is called, and in which contributions category it is found? I've been wondering how to generate the metatags that I need to optimize my pages for search engines. Thanks, Jason
×