id = is_null($id) ? Session::instance()->id() : $id; } /** * Return a list of items in the cart */ public function contents() { return ORM::factory('Cart') ->where('session_id','=',$this->id) ->find_all(); } public function checkout() { $result = array(); $checkout = ORM::factory('Checkout')->where_active()->find_all()->as_array(); foreach ($this->contents() as $cio) $checkout = array_intersect($checkout,$cio->checkout()->as_array()); foreach ($checkout as $cko) $result[$cko->id] = $cko->name; return $result; } public function delete() { foreach (ORM::factory('Cart')->where('session_id','=',$this->id)->find_all() as $co) $co->delete(); } public function get($mid,$item) { return ORM::factory('Cart') ->where('session_id','=',$this->id) ->and_where('module_id','=',$mid) ->and_where('module_item','=',$item) ->find_all(); } public function id() { return $this->id; } public static function instance($id=NULL) { return new Cart($id); } public function total($format=FALSE) { $total = 0; foreach ($this->contents() as $cio) $total += $cio->item()->t; return $format ? Currency::display($total) : $total; } } ?>