* Copyright (C) 2008 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** \file htdocs/boutique/commande/commande.class.php \ingroup osc \brief Fichier de la classe des commandes OSC \version $Id$ */ require_once(DOL_DOCUMENT_ROOT ."/core/address.class.php"); /** \class Commande \brief Classe permettant la gestion des commandes OSC */ class Commande { var $db ; var $id ; var $nom; function Commande($DB, $id=0) { $this->db = $DB; $this->id = $id ; $this->billing_adr = new Address(); $this->delivry_adr = new Address(); $this->total_ot_subtotal = 0; $this->total_ot_shipping = 0; } /** * \brief Get object and lines from database * \param rowid id of object to load * \param ref Ref of order * \return int >0 si ok, <0 si ko */ function fetch ($id,$ref='') { global $conf; $sql = "SELECT orders_id, customers_id, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_country, customers_telephone, customers_email_address, customers_address_format_id, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_country, delivery_address_format_id, billing_name, billing_company, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_country, billing_address_format_id, payment_method, cc_type, cc_owner, cc_number, cc_expires, last_modified, ".$this->db->pdate("date_purchased") . " as date_purchased, orders_status, orders_date_finished, currency, currency_value"; $sql.= " FROM ".$conf->global->OSC_DB_NAME.".".$conf->global->OSC_DB_TABLE_PREFIX."orders"; $sql.= " WHERE orders_id = ".$id; $result = $this->db->query($sql) ; if ( $result ) { $array = $this->db->fetch_array(); $this->id = $array["orders_id"]; $this->client_id = stripslashes($array["customers_id"]); $this->client_name = stripslashes($array["customers_name"]); $this->payment_method = stripslashes($array["payment_method"]); $this->date = dol_print_date($array["date_purchased"],'dayhour'); $this->delivery_adr->name = stripslashes($array["delivery_name"]); $this->delivery_adr->street = stripslashes($array["delivery_street_address"]); $this->delivery_adr->cp = stripslashes($array["delivery_postcode"]); $this->delivery_adr->city = stripslashes($array["delivery_city"]); $this->delivery_adr->country = stripslashes($array["delivery_country"]); $this->billing_adr->name = stripslashes($array["billing_name"]); $this->billing_adr->street = stripslashes($array["billing_street_address"]); $this->billing_adr->cp = stripslashes($array["billing_postcode"]); $this->billing_adr->city = stripslashes($array["billing_city"]); $this->billing_adr->country = stripslashes($array["billing_country"]); $this->db->free(); /* * Totaux */ $sql = "SELECT value, class "; $sql .= " FROM ".$conf->global->OSC_DB_NAME.".".$conf->global->OSC_DB_TABLE_PREFIX."orders_total WHERE orders_id = $id"; $result = $this->db->query($sql) ; if ( $result ) { $num = $this->db->num_rows(); while ($i < $num) { $array = $this->db->fetch_array($i); if ($array["class"] == 'ot_total') { $this->total_ot_total = $array["value"]; } if ($array["class"] == 'ot_shipping') { $this->total_ot_shipping = $array["value"]; } $i++; } } else { print $this->db->error(); } } else { print $this->db->error(); } return $result; } } ?>