_exists()) // sets id if exists { $this->_set(); $this->num_items = 0; $this->items_amount = 0; } else { $this->set_items($Designers, $Items, $Sizes, $Template, $Promotion); } } function _exists() { // returns true if cart is set if(isset($_COOKIE[$this->cookie_name])) { $this->_get(); return(TRUE); } else { return(FALSE); } } function _get() { $this->id = $_COOKIE[$this->cookie_name]; } function _set() { $this->_insert(); setcookie($this->cookie_name, $this->id, time()+60*60*24*90, '/'); // 90 days } function _insert() { $ins = "INSERT INTO ".Config::$db_tables['carts']." VALUES(NULL, NOW(), '".Tracker::$cookie_id."')"; return($this->id = Database::ado_execute_query($ins, 'Cart::insert_cart')); } function _delete() { Database::ado_execute_query("DELETE FROM ".Config::$db_tables['cart_items']." WHERE cart_id='".$this->id."'", "Cart::delete cart items"); $del = "DELETE FROM ".Config::$db_tables['carts']." WHERE id='$this->id' LIMIT 1"; return(Database::ado_execute_query($del, 'Cart::_delete')); } function update_item_quantity($cart_item_id, $qty) { $upd = "UPDATE ".Config::$db_tables['cart_items']." SET item_qty='$qty' WHERE id='$cart_item_id' LIMIT 1"; return(Database::ado_execute_query($upd, 'Cart::update_item_quantity')); } function insert_item($item_id, $item_color_id, $size_id, $quantity=1) { // if item already there just update qty if nec if($cart_item_record = $this->item_search($item_id, $item_color_id, $size_id)) { return($this->update_item_quantity($cart_item_record['id'], $quantity)); } else { $ins_fields = array( 'id' => 'NULL', 'cart_id' => $this->id, 'item_id' => $item_id, 'item_qty' => $quantity, 'item_color_id' => $item_color_id, 'size_id' => $size_id, 'enter_dt' => 'NOW()' ); return(Database::_insert(Config::$db_tables['cart_items'], $ins_fields, 'Cart::insert_item')); } } function item_search($item_id, $item_color_id, $size_id) { // returns cart_item_id or FALSE return(Database::ado_get_row("SELECT id FROM ".Config::$db_tables['cart_items']." WHERE cart_id=".$this->id." AND item_id='$item_id' AND item_color_id='$item_color_id' AND size_id='$size_id'", "Cart:: item_search")); } function is_item_in($item_id) { // just checks for item in general, not specific color/size combo - see item_search $sel = "SELECT * FROM ".Config::$db_tables['cart_items']." WHERE cart_id=".$this->id." AND item_id='$item_id'"; return(Database::ado_get_row($sel, 'Cart::is_item_in')); } function remove_cookie() { setcookie($$this->cookie_name, $this->id, time()-60000, '/'); // 90 days } function remove_item($cart_item_id) { $del = "DELETE FROM ".Config::$db_tables['cart_items']." WHERE id='$cart_item_id' LIMIT 1"; return(Database::ado_execute_query($del, 'Cart::remove_item')); } function _empty() { $del = "DELETE FROM ".Config::$db_tables['cart_items']." WHERE cart_id='".$this->id."'"; return(Database::ado_execute_query($del, 'Cart::_empty')); } function get_items_RS($echo = FALSE) { if(!isset($this->items_RS)) { if($echo){echo 'setting items RS';} $this->set_items_RS(); } else { if($echo){echo 'NOT setting items RS';} } return($this->items_RS); } function set_items_RS() { $sel = "SELECT * FROM ".Config::$db_tables['cart_items']." WHERE cart_id='".$this->id."' ORDER BY id DESC"; //echo $sel; $this->items_RS = Database::ado_execute_query($sel, "Cart::set_items_RS"); } function set_items($Designers, $Items, $Sizes, $Template, $Promotion) { $this->html = '
| '.$preorder_text.' | ||||
| '.$backorder_text.' | ||||
| Preorders Policy '.$Template->preorder_policy_text.' |
||||
| Backorders Policy '.$Template->backorder_policy_text.' |
||||
| '.$FeaturedDesigners->get_random($Designers, $Items, $Sizes).' |