Helix Installation   Getting Started   Reference Documentation   Global Functions   Quick Start
ModulesClassesFunctions
 

Class Reference

class cart extends obj

Helix obj cart
Hide Inherited MembersE-Commerce
Description
No description.
 
Constants
No constants.
 
Properties
protected_dirty[ obj ]
publicitems[ cart ]
publicproperty_objects_array[ obj ]
 
Methods
publicadd ( saleitem_id , quantity , price , details [Array] )[ cart ]
Parameters
optionalsaleitem_id
optionalquantity
optionalprice
optionaldetails [Array]
Code
011      public function add($__saleitem_id=null, $__quantity=null, $__price=null, $__details=array())
012      {
013          global $sess;
014          if ($__saleitem_id > 0 && $__quantity > 0)
015          {
016              if ($this->contains_item($__saleitem_id))
017              {
018                  $index = $this->index($__saleitem_id);
019                  $this->items[$index] = new cart_item($__saleitem_id,$__quantity,$__price,$__details);
020              }
021              else
022              {
023                  $this->items[] = new cart_item($__saleitem_id,$__quantity,$__price,$__details);
024              }
025          }
026          $sess->register("cart",$this);
027      }
publicclear ( )[ cart ]
Parameters
No parameters for this method
Code
085      public function clear()
086      {
087          $this->items = array();
088      }
public__construct ( )[ cart ]
Parameters
No parameters for this method
Code
006      public function __construct()
007      {
008          $this->items = array();
009      }
publiccontains_item ( saleitem_id )[ cart ]
Parameters
optionalsaleitem_id
Code
057      public function contains_item($__saleitem_id=null)
058      {
059          return !is_null($this->index($__saleitem_id));
060      }
public__get ( p )[ obj ]
Parameters
requiredp
Code
007  public function __get($p)
008  {
009      $methods = get_class_methods($this);
010      $properties = get_object_vars($this);
011      if (in_array("get_$p",$methods))
012      {
013          return $this->{"get_$p"}();
014      }
015      else if (array_key_exists("_$p",$properties))
016      {
017          return $this->{"_$p"};
018      }
019      else if (in_array("get_" . substr($p,strpos($p,"_")+1), $methods))
020      {
021          return $this->{"get_" . substr($p,strpos($p,"_")+1)}(substr($p,0,strpos($p,"_")));
022      }
023      else
024      {
025          trigger_error("This object [" . get_class($this) . ":$this->id] has no private property '_$p' for the requested public property '$p'",E_USER_WARNING);
026          return null;
027      }
028  }
publicget_array ( )[ obj ]
Parameters
No parameters for this method
Code
096  public function get_array()
097  {
098      return get_object_vars($this);
099  }
publicget_classname ( )[ obj ]
Parameters
No parameters for this method
Code
086  public function get_classname()
087  {
088      return get_class($this);
089  }
publicget_dirty ( )[ obj ]
Parameters
No parameters for this method
Code
063  public function get_dirty()
064  {
065      if ($this->id === 0)
066      {
067          $this->_dirty = true;
068      }
069      else
070      {
071          foreach (get_object_vars($this) as $k=>$v)
072          {
073              if ($this->_dirty)
074              {
075                  break;
076              }
077              if (preg_match('/_dirty$/',$k))
078              {
079                  $this->_dirty = $this->_dirty || $v;
080              }
081          }
082      }
083      return $this->_dirty;
084  }
publicget_json ( )[ obj ]
Parameters
No parameters for this method
Code
101  public function get_json()
102  {
103      $class = new ReflectionClass($this->classname);
104      $methods = $class->getMethods();
105      usort($methods,"sort_reflection_objects");
106      $accessors = array();
107      foreach ($methods as $index=>$method)
108      {
109          $declarer = $method->getDeclaringClass()->name;
110          if (preg_match('/^(get|set|)_(.+)$/',$method->name,$matches))
111          {
112              $accessor = $matches[2];
113              $getset = $matches[1];
114              eval("\$accessors[\$accessor] = \$this->".$accessor.";");
115          }
116      }
117      //return json_encode($this->get_array());
118      return json_encode($accessors);
119  }
publicget_properties ( )[ obj ]
Parameters
No parameters for this method
Code
121  public function get_properties()
122  {
123      return array_keys($this->array);
124  }
protectedget_string ( )[ obj ]
Parameters
No parameters for this method
Code
091  protected function get_string()
092  {
093      return method_exists($this,"__toString") ? $this->__toString() : null;
094  }
publicget_subtotal ( )[ cart ]
Parameters
No parameters for this method
Code
039      public function get_subtotal()
040      {
041          $subtotal = 0;
042          foreach ($this->items as $index=>$cart_item)
043          {
044              $saleitem = new saleitem($cart_item->saleitem_id);
045              if (is_null($cart_item->price))
046              {
047                  $subtotal += ($saleitem->unit_price * $cart_item->quantity);
048              }
049              else
050              {
051                  $subtotal += $cart_item->price;
052              }
053          }
054          return number_format($subtotal,2,".","");
055      }
publicindex ( saleitem_id )[ cart ]
Parameters
requiredsaleitem_id
Code
068      public function index($__saleitem_id)
069      {
070          foreach ($this->items as $index=>$cart_item)
071          {
072              if ($cart_item->saleitem_id == $__saleitem_id)
073              {
074                  return $index;
075              }
076          }
077          return null;
078      }
publicitem ( saleitem_id )[ cart ]
Parameters
requiredsaleitem_id
Code
062      public function item($__saleitem_id)
063      {
064          $index = $this->index($__saleitem_id);
065          return is_null($index) ? new cart_item() : $this->items[$index];
066      }
publicremove ( saleitem_id )[ cart ]
Parameters
requiredsaleitem_id
Code
029      public function remove($__saleitem_id)
030      {
031          global $sess;
032          if ($this->contains_item($__saleitem_id))
033          {
034              array_splice($this->items,$this->index($__saleitem_id),1);
035          }
036          $sess->register("cart",$this);
037      }
publicsaleitem_id ( index )[ cart ]
Parameters
requiredindex
Code
080      public function saleitem_id($__index)
081      {
082          return ($__index < count($this->items)) ? $this->items[$__index]->saleitem_id : null;
083      }
public__set ( p , v )[ obj ]
Parameters
requiredp
requiredv
Code
030  public function __set($p,$v)
031  {
032      $methods = get_class_methods($this);
033      $properties = get_object_vars($this);
034      if (in_array("set_$p",$methods))
035      {
036          $this->{"set_$p"}($v);
037      }
038      else if (array_key_exists("_$p",$properties))
039      {
040          if (!preg_match('/_dirty$/',$p) && property_exists($this,"_{$p}_dirty"))
041          {
042              if (is_object($this->{"_$p"}))
043              {
044                  $this->{"_$p"}->dirty = true;
045              }
046              else
047              {
048                  $this->{"_{$p}_dirty"} = $this->{$p}==$v ? false : true;
049              }
050          }
051          $this->{"_$p"} = $v;
052      }
053      else if (in_array("set_" . substr($p,strpos($p,"_")+1), $methods))
054      {
055          $this->{"set_" . substr($p,strpos($p,"_")+1)}($v,substr($p,0,strpos($p,"_")));
056      }
057      else
058      {
059          trigger_error("This object [" . get_class($this) . ":$this->id] has no private property '_$p' for the requested public property '$p'",E_USER_WARNING);
060      }
061  }
 
Accessors
publicarray[ obj ]
Code
096  public function get_array()
097  {
098      return get_object_vars($this);
099  }
publicclassname[ obj ]
Code
086  public function get_classname()
087  {
088      return get_class($this);
089  }
publicdirty[ obj ]
Code
063  public function get_dirty()
064  {
065      if ($this->id === 0)
066      {
067          $this->_dirty = true;
068      }
069      else
070      {
071          foreach (get_object_vars($this) as $k=>$v)
072          {
073              if ($this->_dirty)
074              {
075                  break;
076              }
077              if (preg_match('/_dirty$/',$k))
078              {
079                  $this->_dirty = $this->_dirty || $v;
080              }
081          }
082      }
083      return $this->_dirty;
084  }
publicjson[ obj ]
Code
101  public function get_json()
102  {
103      $class = new ReflectionClass($this->classname);
104      $methods = $class->getMethods();
105      usort($methods,"sort_reflection_objects");
106      $accessors = array();
107      foreach ($methods as $index=>$method)
108      {
109          $declarer = $method->getDeclaringClass()->name;
110          if (preg_match('/^(get|set|)_(.+)$/',$method->name,$matches))
111          {
112              $accessor = $matches[2];
113              $getset = $matches[1];
114              eval("\$accessors[\$accessor] = \$this->".$accessor.";");
115          }
116      }
117      //return json_encode($this->get_array());
118      return json_encode($accessors);
119  }
publicproperties[ obj ]
Code
121  public function get_properties()
122  {
123      return array_keys($this->array);
124  }
publicstring[ obj ]
Code
091  protected function get_string()
092  {
093      return method_exists($this,"__toString") ? $this->__toString() : null;
094  }
publicsubtotal[ cart ]
Code
039      public function get_subtotal()
040      {
041          $subtotal = 0;
042          foreach ($this->items as $index=>$cart_item)
043          {
044              $saleitem = new saleitem($cart_item->saleitem_id);
045              if (is_null($cart_item->price))
046              {
047                  $subtotal += ($saleitem->unit_price * $cart_item->quantity);
048              }
049              else
050              {
051                  $subtotal += $cart_item->price;
052              }
053          }
054          return number_format($subtotal,2,".","");
055      }
Get Helix PHP Framework at SourceForge.net. Fast, secure and Free Open Source software downloads