Jump to content

mikimiki

Members
  • Content count

    11
  • Joined

  • Last visited

  1. I have been able to upload by ftp the csv file I want to update my database to the /httpdocs/shop/temp folder, & I can choose it as an option in EasyPopulate admin, but when I try to upadte I still get an error, Warning: Invalid argument supplied for foreach() in /var/www/vhosts/xxxxxx.com/httpdocs/shop/admin/easypopulate.php on line 1197. Problems lines my easypopulate.php file read like this [b]lines 1191 > 1198 :[/b] // Now we'll populate the filelayout based on the header row. $theheaders_array = explode( $ep_separator, $readed[0] ); // explode the first row, it will be our filelayout } $lll = 0; $filelayout = array(); foreach( $theheaders_array as $header ){ $cleanheader = str_replace( '"', '', $header); [b]lines 1048 >1069[/b] // UPLOAD AND INSERT FILE //******************************* if (!empty($_POST['localfile']) or (isset($_FILES['usrfl']) && isset($_GET['split']) && $_GET['split']==0)) { if (isset($_FILES['usrfl'])){ // move the file to where we can work with it $file = tep_get_uploaded_file('usrfl'); if (is_uploaded_file($file['tmp_name'])) { tep_copy_uploaded_file($file, EP_TEMP_DIRECTORY); } echo "<p class=smallText>"; echo "File uploaded. <br />"; echo "Temporary filename: " . $file['tmp_name'] . "<br />"; echo "User filename: " . $file['name'] . "<br />"; echo "Size: " . $file['size'] . "<br />"; // get the entire file into an array $readed = file(EP_TEMP_DIRECTORY . $file['name']);
 [b]lines 1087 > 1094[/b] // get the entire file into an array $readed = file(EP_TEMP_DIRECTORY . $_POST['localfile']); } if (EP_EXCEL_SAFE_OUTPUT == true) { // do excel safe input $fp = fopen(EP_TEMP_DIRECTORY . (isset($_FILES['usrfl'])?$file['name']:$_POST['localfile']),'r') or die('##Can not open file for reading. Script will terminate.<br />'); // open file
 Anyone out there with any suggestions ?
  2. I just found the easy populate thread so I pasted my post there instead. http://forums.oscommerce.com/topic/162244-easy-populate-products-attributes/ If you have any help, post it there please !
  3. I have easy populate installed, & it has been working fine, but now I am having problems uploading a csv file to update all the weights of the products. When I try to upload I get this error Easy Populate 2.76g-MS2 - Default Language : english(1) File uploaded. 
Temporary filename: 
User filename: EP2012May28-1503.csv
Size: 0

Warning: file(/var/www/vhosts/xxxxxx.com/httpdocs/shop/temp/EP2012May28-1503.csv): failed to open stream: No such file or directory in /var/www/vhosts/xxxxxx.com/httpdocs/shop/admin/easypopulate.php on line 1069

Warning: fopen(/var/www/vhosts/xxxxxx.com/httpdocs/shop/temp/EP2012May28-1503.csv): failed to open stream: No such file or directory in /var/www/vhosts/xxxxxx.com/httpdocs/shop/admin/easypopulate.php on line 1094
##Can not open file for reading. Script will terminate. Any & all help gratefully received ! My config looks like this EP vers: 2.76g-MS2 osCommerce 2.2-MS2 OS: Linux 2.6.18-028stab089.1 HTTP: Apache/2.0.52 (CentOS) DB: MySQL 4.1.20 PHP: 4.3.9 (Zend: 1.3.0) Temp Directory: /var/www/vhosts/xxxxxxx.com/httpdocs/shop/temp/ Temp Dir is Writable Magic Quotes is: off register_globals is: on Split files on: 300 records Model Num Size: 24 Price with tax: false Calc Precision: 2 Replace quotes: false Field seperator: comma Excel safe output: true Preserve tab/cr/lf: false Category depth: 7 Enable attributes: false SEF Froogle URLS: false More Pics: false Unknown Pics: true HTC: false SPPC: false Extra Fields: false
  4. I have easy populate installed, but am having problems uploading a file to update all the weights of the products. When I try to upload I get this error Easy Populate 2.76g-MS2 - Default Language : english(1) File uploaded. 
Temporary filename: 
User filename: EP2012May28-1503.csv
Size: 0

Warning: file(/var/www/vhosts/xxxxxx.com/httpdocs/shop/temp/EP2012May28-1503.csv): failed to open stream: No such file or directory in /var/www/vhosts/xxxxxx.com/httpdocs/shop/admin/easypopulate.php on line 1069

Warning: fopen(/var/www/vhosts/xxxxxx.com/httpdocs/shop/temp/EP2012May28-1503.csv): failed to open stream: No such file or directory in /var/www/vhosts/xxxxxx.com/httpdocs/shop/admin/easypopulate.php on line 1094
##Can not open file for reading. Script will terminate. Any & all help gratefully received ! My config looks like this EP vers: 2.76g-MS2 osCommerce 2.2-MS2 OS: Linux 2.6.18-028stab089.1 HTTP: Apache/2.0.52 (CentOS) DB: MySQL 4.1.20 PHP: 4.3.9 (Zend: 1.3.0) Temp Directory: /var/www/vhosts/xxxxxxx.com/httpdocs/shop/temp/ Temp Dir is Writable Magic Quotes is: off register_globals is: on Split files on: 300 records Model Num Size: 24 Price with tax: false Calc Precision: 2 Replace quotes: false Field seperator: comma Excel safe output: true Preserve tab/cr/lf: false Category depth: 7 Enable attributes: false SEF Froogle URLS: false More Pics: false Unknown Pics: true HTC: false SPPC: false Extra Fields: false
  5. mikimiki

    Product Attribute Clone Tool

    Hi Fuz I just installed your great timesaving contrib, but find it falls short in one area. Maybe you have a workaround ? My product attributes are sizes for clothing, and have a sort order so they will display S, M , L , XL or S/M , M/L , XL etc (Product Attributes Sort Order - http://addons.oscommerce.com/info/1822) The Product attribute clone tool does a great job at copying the actual sizes but not the order they sort in, so I end up with them in a wierd order like XL, M, S, L. Any idea how I can get the cloner to copy the sort order info as well ? Any help is greatly appreciated ! bing bong miki
  6. Hi Y'all ! One aspect of my problem is this .... customers billing &/or shipping addresses are sporadically missing from orders, It happens about once every few weeks, though we process orders every day. With these the order emails come with just a comma in the address fields, like this Delivery Address ------------------------------------------------------ , Billing Address ------------------------------------------------------ , Some times the Delivery address is there but the billing address is blank. Sometimes its repeat customers whose orders processed fine before. The 2nd aspect of the problem is this. Some of the customers I have been able to track down thru their email addresses, which I get from 2checkout. In os-commerce admin, when I make a search in the customer database for their email address. It finds their record, but all their fields are blank, including their email address ! Wierd ! The record loads with the following message as a Header Warning: reset() [function.reset]: Passed variable is not an array or object in /home/qwerty/public_html/shop/admin/includes/classes/object_info.php on line 17 Warning: Variable passed to each() is not an array or object in /home/qwerty/public_html/shop/admin/includes/classes/object_info.php on line 18 I do not understand quite what that means ! :unsure: I cannot delete these accounts with the problem of lost address details in the oscommerce database, The customers must have entered their details when they created their accounts, so I don't know how or why that info is disappearing ! It happens with credit card sales through 2checkout.com, and also with bank transfer orders, so I guess the problem lies within os-commerce somewhere, but i have no clue where ! It is hard to pinpoint the problem as it seems to be random, and even if I make a test order that is the same from my account, it comes thru ok, so the problem is impossible to recreate! Any help solving this mind-boggling brain strain is greatly appreciated. :rolleyes:
  7. mikimiki

    Customer Loyalty Discount Scheme

    Can anyone please help a floundering newbie ? I am having problems with this patch to incorporate the Customer Loyalty Discount Scheme into my multi-currency shop. When I cut & paste the above code into ot_loyalty_discount.php, I get a Parse error: syntax error, unexpected '}' on line 213. When i take that out of the code, the discount scheme fails to appear on the order confirmation page My code looks like this <?php /* ot_loyalty_discount.php $Id: ot_loyalty_discount.php,v 1.0 2003/06/09 22:49:11 sp Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2002 osCommerce Released under the GNU General Plic License */ class ot_loyalty_discount { var $title, $output; function ot_loyalty_discount() { $this->code = ot_loyalty_discount; $this->title = MODULE_LOYALTY_DISCOUNT_TITLE; $this->description = MODULE_LOYALTY_DISCOUNT_DESCRIPTION; $this->enabled = MODULE_LOYALTY_DISCOUNT_STATUS; $this->sort_order = MODULE_LOYALTY_DISCOUNT_SORT_ORDER; $this->include_shipping = MODULE_LOYALTY_DISCOUNT_INC_SHIPPING; $this->include_tax = MODULE_LOYALTY_DISCOUNT_INC_TAX; $this->calculate_tax = MODULE_LOYALTY_DISCOUNT_CALC_TAX; $this->table = MODULE_LOYALTY_DISCOUNT_TABLE; $this->loyalty_order_status = MODULE_LOYALTY_DISCOUNT_ORDER_STATUS; $this->cum_order_period = MODULE_LOYALTY_DISCOUNT_CUMORDER_PERIOD; $this->output = array(); } function process() { global $order, $ot_subtotal, $currencies; $od_amount = $this->calculate_credit($this->get_order_total(), $this->get_cum_order_total()); // round discount to nearest cent. Discount of less than .5 cent will not be deducted from amount payable. $od_amount = round($od_amount, 2); if ($od_amount>0) { // deduct discount from amount payable $this->deduction = $od_amount; $this->output[] = array('title' => $this->title . ':<br>' . MODULE_LOYALTY_DISCOUNT_SPENT . $currencies->format($this->cum_order_total) . $this->period_string . MODULE_LOYALTY_DISCOUNT_QUALIFY . $this->od_pc . '%:', 'text' => '<b>' . $currencies->format($od_amount) .'<b>' , 'value' => $od_amount); $order->info['total'] = $order->info['total'] - $od_amount; if ($this->sort_order < $ot_subtotal->sort_order) { $order->info['subtotal'] = $order->info['subtotal'] - $od_amount; } } } // end of function process() function calculate_credit($amount_order, $amount_cum_order) { global $order; $od_amount=0; $table_cost = split("[:,]" , MODULE_LOYALTY_DISCOUNT_TABLE); for ($i = 0; $i < count($table_cost); $i+=2) { if ($amount_cum_order >= $table_cost[$i]) { $od_pc = $table_cost[$i+1]; $this->od_pc = $od_pc; } } // Calculate tax reduction if necessary if($this->calculate_tax == 'true') { // Calculate main tax reduction $tod_amount = $order->info['tax']*$od_pc/100; $order->info['tax'] = $order->info['tax'] - $tod_amount; // Calculate tax group deductions reset($order->info['tax_groups']); while (list($key, $value) = each($order->info['tax_groups'])) { $god_amount = $value*$od_pc/100; $order->info['tax_groups'][$key] = $order->info['tax_groups'][$key] - $god_amount; } } $od_amount = $amount_order*$od_pc/100; $od_amount = $od_amount + $tod_amount; return $od_amount; } function get_order_total() { global $order, $cart; $order_total = $order->info['total']; // Check if gift voucher is in cart and adjust total $products = $cart->get_products(); for ($i=0; $i<sizeof($products); $i++) { $t_prid = tep_get_prid($products[$i]['id']); $gv_query = tep_db_query("select products_price, products_tax_class_id, products_model from " . TABLE_PRODUCTS . " where products_id = '" . $t_prid . "'"); $gv_result = tep_db_fetch_array($gv_query); if (ereg('^GIFT', addslashes($gv_result['products_model']))) { $qty = $cart->get_quantity($t_prid); $products_tax = tep_get_tax_rate($gv_result['products_tax_class_id']); if ($this->include_tax =='false') { $gv_amount = $gv_result['products_price'] * $qty; } else { $gv_amount = ($gv_result['products_price'] + tep_calculate_tax($gv_result['products_price'],$products_tax)) * $qty; } $order_total=$order_total - $gv_amount; } } if ($this->include_tax == 'false') $order_total=$order_total-$order->info['tax']; if ($this->include_shipping == 'false') $order_total=$order_total-$order->info['shipping_cost']; return $order_total; } function get_cum_order_total() { global $order, $customer_id; $history_query_raw = "select o.date_purchased, o.currency_value, ot.value as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id) where o.customers_id = '" . $customer_id . "' and ot.class = 'ot_total' and o.orders_status = '" . $this->loyalty_order_status . "' order by date_purchased DESC"; $history_query = tep_db_query($history_query_raw); if (tep_db_num_rows($history_query)) { $cum_order_total_twd = 0; $cutoff_date = get_cutoff_date(); while ($history = tep_db_fetch_array($history_query)) { if (get_date_in_period($cutoff_date, $history['date_purchased']) == true){ $cum_order_total = $cum_order_total + $history['order_total'] * $history['currency_value']; } } $this->cum_order_total = $cum_order_total; return $cum_order_total; } else { $cum_order_total = 0; } return $cum_order_total; } } function get_cutoff_date() { $rightnow = time(); switch ($this->cum_order_period) { case alltime: $this->period_string = MODULE_LOYALTY_DISCOUNT_WITHUS; $cutoff_date = 0; return $cutoff_date; break; case year: $this->period_string = MODULE_LOYALTY_DISCOUNT_LAST . MODULE_LOYALTY_DISCOUNT_YEAR; $cutoff_date = $rightnow - (60*60*24*365); return $cutoff_date; break; case quarter: $this->period_string = MODULE_LOYALTY_DISCOUNT_LAST . MODULE_LOYALTY_DISCOUNT_QUARTER; $cutoff_date = $rightnow - (60*60*24*92); return $cutoff_date; break; case month: $this->period_string = MODULE_LOYALTY_DISCOUNT_LAST . MODULE_LOYALTY_DISCOUNT_MONTH; $cutoff_date = $rightnow - (60*60*24*31); return $cutoff_date; break; default: $cutoff_date = $rightnow; return $cutoff_date; } } function get_date_in_period($cutoff_date, $raw_date) { if ( ($raw_date == '0000-00-00 00:00:00') || ($raw_date == '') ) return false; $year = (int)substr($raw_date, 0, 4); $month = (int)substr($raw_date, 5, 2); $day = (int)substr($raw_date, 8, 2); $hour = (int)substr($raw_date, 11, 2); $minute = (int)substr($raw_date, 14, 2); $second = (int)substr($raw_date, 17, 2); $order_date_purchased = mktime($hour,$minute,$second,$month,$day,$year); if ($order_date_purchased >= $cutoff_date) {return true;} else {return false;} } function check() { if (!isset($this->check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_LOYALTY_DISCOUNT_STATUS'"); $this->check = tep_db_num_rows($check_query); } return $this->check; } function keys() { return array('MODULE_LOYALTY_DISCOUNT_STATUS', 'MODULE_LOYALTY_DISCOUNT_SORT_ORDER', 'MODULE_LOYALTY_DISCOUNT_CUMORDER_PERIOD', 'MODULE_LOYALTY_DISCOUNT_TABLE', 'MODULE_LOYALTY_DISCOUNT_INC_SHIPPING', 'MODULE_LOYALTY_DISCOUNT_INC_TAX', 'MODULE_LOYALTY_DISCOUNT_CALC_TAX', 'MODULE_LOYALTY_DISCOUNT_ORDER_STATUS'); } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Display Total', 'MODULE_LOYALTY_DISCOUNT_STATUS', 'true', 'Do you want to enable the Order Discount?', '6', '1','tep_cfg_select_option(array(\'true\', \'false\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_LOYALTY_DISCOUNT_SORT_ORDER', '999', 'Sort order of display.', '6', '2', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function ,date_added) values ('Include Shipping', 'MODULE_LOYALTY_DISCOUNT_INC_SHIPPING', 'true', 'Include Shipping in calculation', '6', '3', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function ,date_added) values ('Include Tax', 'MODULE_LOYALTY_DISCOUNT_INC_TAX', 'true', 'Include Tax in calculation.', '6', '4','tep_cfg_select_option(array(\'true\', \'false\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function ,date_added) values ('Calculate Tax', 'MODULE_LOYALTY_DISCOUNT_CALC_TAX', 'false', 'Re-calculate Tax on discounted amount.', '6', '5','tep_cfg_select_option(array(\'true\', \'false\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function ,date_added) values ('Cumulative order total period', 'MODULE_LOYALTY_DISCOUNT_CUMORDER_PERIOD', 'year', 'Set the period over which to calculate cumulative order total.', '6', '6','tep_cfg_select_option(array(\'alltime\', \'year\', \'quarter\', \'month\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Discount Percentage', 'MODULE_LOYALTY_DISCOUNT_TABLE', '1000:5,1500:7.5,2000:10,3000:12.5,5000:15', 'Set the cumulative order total breaks per period set above, and discount percentages', '6', '7', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Order Status', 'MODULE_LOYALTY_DISCOUNT_ORDER_STATUS', '3', 'Set the minimum order status for an order to add it to the total amount ordered', '6', '8', now())"); } function remove() { $keys = ''; $keys_array = $this->keys(); for ($i=0; $i<sizeof($keys_array); $i++) { $keys .= "'" . $keys_array[$i] . "',"; } $keys = substr($keys, 0, -1); tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")"); } } ?>
×