Public Member Functions | Data Fields

ilPaymentShoppingCart Class Reference

Public Member Functions

 ilPaymentShoppingCart (&$user_obj)
 setPobjectId ($a_pobject_id)
 getPobjectId ()
 setPriceId ($a_price_id)
 getPriceId ()
 getEntries ($a_pay_method=0)
 setTotalAmount ($a_total_amount)
 getTotalAmount ()
 isInShoppingCart ($a_pobject_id)
 getEntry ($a_pobject_id)
 add ()
 update ($a_psc_id)
 delete ($a_psc_id)
 emptyShoppingCart ()
 _hasEntries ($a_user_id)
 __read ()
 getShoppingCart ($a_pay_method=0)
 getTotalAmountValue ($a_pay_method=0)
 getVat ($a_amount=0)

Data Fields

 $user_obj = null
 $db = null
 $sc_entries = array()

Detailed Description

Definition at line 34 of file class.ilPaymentShoppingCart.php.


Member Function Documentation

ilPaymentShoppingCart::__read (  ) 

Definition at line 197 of file class.ilPaymentShoppingCart.php.

References $query, $res, $row, ilPaymentPrices::_getTotalAmount(), ilPaymentPrices::_priceExists(), and setTotalAmount().

Referenced by add(), delete(), emptyShoppingCart(), ilPaymentShoppingCart(), and update().

        {
                include_once './payment/classes/class.ilPaymentPrices.php';

                $this->sc_entries = array();

                $query = "SELECT * FROM payment_shopping_cart ".
                        "WHERE customer_id = '".$this->user_obj->getId()."'";
                
                $res = $this->db->query($query);

                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $this->sc_entries[$row->psc_id]["psc_id"] = $row->psc_id;
                        $this->sc_entries[$row->psc_id]["customer_id"] = $row->customer_id; 
                        $this->sc_entries[$row->psc_id]["pobject_id"] = $row->pobject_id; 
                        $this->sc_entries[$row->psc_id]["price_id"] = $row->price_id;
                }

                // Delete all entries with not valid prices or pay_method
                unset($prices);
                foreach($this->sc_entries as $entry)
                {
                        // check if price_id exists for pobject
                        if(!ilPaymentPrices::_priceExists($entry['price_id'],$entry['pobject_id']))
                        {
                                $this->delete($entry['psc_id']);
                                return false;
                        }
                        
                        // check pay method
                        $tmp_pobj =& new ilPaymentObject($this->user_obj,$entry['pobject_id']);
                        if(($pay_method = $tmp_pobj->getPayMethod()) == $tmp_pobj->PAY_METHOD_BILL)
                        {
                                $this->delete($entry['psc_id']);
                                return false;
                        }

                        // if payment is expired
                        if($tmp_pobj->getStatus() == $tmp_pobj->STATUS_EXPIRES)
                        {
                                $this->delete($entry['psc_id']);

                                return false;
                        }

                        $this->sc_entries[$entry["psc_id"]]["pay_method"] = $pay_method;

                        $prices[] = array(
                                "id" => $entry['price_id'],
                                "pay_method" => $pay_method
                        );
                        unset($tmp_pobj);
                }

                // set total amount
                $this->setTotalAmount(ilPaymentPrices::_getTotalAmount($prices ? $prices : array()));
                
                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilPaymentShoppingCart::_hasEntries ( a_user_id  ) 

Definition at line 183 of file class.ilPaymentShoppingCart.php.

References $query, and $res.

Referenced by ilPersonalDesktopGUI::setTabs().

        {
                global $ilDB;

                $query = "SELECT * FROM payment_shopping_cart ".
                        "WHERE customer_id = '".$a_user_id."'";

                $res = $ilDB->query($query);

                return $res->numRows() ? true : false;
        }

Here is the caller graph for this function:

ilPaymentShoppingCart::add (  ) 

Definition at line 124 of file class.ilPaymentShoppingCart.php.

References $query, and __read().

        {
                // Delete old entries for same pobject_id
                $query = "DELETE FROM payment_shopping_cart ".
                        "WHERE customer_id = '".$this->user_obj->getId()."' ".
                        "AND pobject_id = '".$this->getPobjectId()."'";

                $this->db->query($query);
                
                $query = "INSERT INTO payment_shopping_cart ".
                        "SET customer_id = '".$this->user_obj->getId()."', ".
                        "pobject_id = '".$this->getPobjectId()."', ".
                        "price_id = '".$this->getPriceId()."'";

                $this->db->query($query);

                $this->__read();

                return true;
        }

Here is the call graph for this function:

ilPaymentShoppingCart::delete ( a_psc_id  ) 

Definition at line 160 of file class.ilPaymentShoppingCart.php.

References $query, and __read().

        {
                $query = "DELETE FROM payment_shopping_cart ".
                        "WHERE psc_id = '".$a_psc_id."'";

                $this->db->query($query);

                $this->__read();
        }

Here is the call graph for this function:

ilPaymentShoppingCart::emptyShoppingCart (  ) 

Definition at line 170 of file class.ilPaymentShoppingCart.php.

References $query, and __read().

        {
                $query = "DELETE FROM payment_shopping_cart ".
                        "WHERE customer_id = '".$this->user_obj->getId()."'";

                $this->db->query($query);

                $this->__read();

                return true;
        }

Here is the call graph for this function:

ilPaymentShoppingCart::getEntries ( a_pay_method = 0  ) 

Definition at line 71 of file class.ilPaymentShoppingCart.php.

Referenced by getShoppingCart().

        {
                if ($a_pay_method == 0)
                {
                        return $this->sc_entries ? $this->sc_entries : array();
                }
                else
                {
                        $tmp_entries = array();
                        foreach($this->sc_entries as $entry)
                        {
                                if ($entry["pay_method"] == $a_pay_method)
                                {
                                        $tmp_entries[$entry["psc_id"]] = $entry;
                                }
                        }
                        return $tmp_entries;
                }
        }

Here is the caller graph for this function:

ilPaymentShoppingCart::getEntry ( a_pobject_id  ) 

Definition at line 110 of file class.ilPaymentShoppingCart.php.

References $query.

        {
                $query = "SELECT * FROM payment_shopping_cart ".
                        "WHERE customer_id = '".$this->user_obj->getId()."' ".
                        "AND pobject_id = '".$a_pobject_id."'";

                $r = $this->db->query($query);

                if (is_object($r))
                {
                        return $r->fetchRow(DB_FETCHMODE_ASSOC);
                }
        }

ilPaymentShoppingCart::getPobjectId (  ) 

Definition at line 58 of file class.ilPaymentShoppingCart.php.

        {
                return $this->pobject_id;
        }

ilPaymentShoppingCart::getPriceId (  ) 

Definition at line 66 of file class.ilPaymentShoppingCart.php.

        {
                return $this->price_id;
        }

ilPaymentShoppingCart::getShoppingCart ( a_pay_method = 0  ) 

Definition at line 258 of file class.ilPaymentShoppingCart.php.

References $counter, ilPaymentPrices::_getPrice(), ilPaymentPrices::_getPriceString(), getEntries(), and ilObjectFactory::getInstanceByRefId().

Referenced by getTotalAmountValue().

        {
                if(!count($items = $this->getEntries($a_pay_method)))
                {
                        return 0;
                }

                $counter = 0;
                foreach($items as $item)
                {
                        $tmp_pobject =& new ilPaymentObject($this->user_obj,$item['pobject_id']);

                        $tmp_obj =& ilObjectFactory::getInstanceByRefId($tmp_pobject->getRefId());

                        $f_result[$counter]["pobject_id"] = $item['pobject_id'];
                        $f_result[$counter]["obj_id"] = $tmp_obj->getId();
                        $f_result[$counter]["typ"] = $tmp_obj->getType();
                        $f_result[$counter]["buchungstext"] = $tmp_obj->getTitle();

                        $price_data = ilPaymentPrices::_getPrice($item['price_id']);
                        $price_string = ilPaymentPrices::_getPriceString($item['price_id']);

                        $price = ((int) $price_data["unit_value"]) . "." . ((int) $price_data["sub_unit_value"]);

                        $f_result[$counter]["betrag"] = (float) $price;
                        $f_result[$counter]["betrag_string"] = $price_string;
                        $f_result[$counter]["dauer"] = $price_data["duration"];

                        unset($tmp_obj);
                        unset($tmp_pobject);

                        ++$counter;
                }
                return $f_result;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilPaymentShoppingCart::getTotalAmount (  ) 

Definition at line 94 of file class.ilPaymentShoppingCart.php.

        {
                return $this->total_amount;
        }

ilPaymentShoppingCart::getTotalAmountValue ( a_pay_method = 0  ) 

Definition at line 294 of file class.ilPaymentShoppingCart.php.

References $result, and getShoppingCart().

        {
                $amount = 0.0;

                if (is_array($result = $this->getShoppingCart($a_pay_method)))
                {
                        for ($i = 0; $i < count($result); $i++)
                        {
                                $amount += $result[$i]["betrag"];
                        }
                }

                return (float) $amount;
        }

Here is the call graph for this function:

ilPaymentShoppingCart::getVat ( a_amount = 0  ) 

Definition at line 309 of file class.ilPaymentShoppingCart.php.

        {
                include_once './payment/classes/class.ilGeneralSettings.php';

                $genSet = new ilGeneralSettings();

                return (float) ($a_amount - (round(($a_amount / (1 + ($genSet->get("vat_rate") / 100.0))) * 100) / 100));
        }

ilPaymentShoppingCart::ilPaymentShoppingCart ( &$  user_obj  ) 

Definition at line 44 of file class.ilPaymentShoppingCart.php.

References $user_obj, and __read().

        {
                global $ilDB;

                $this->user_obj =& $user_obj;
                $this->db =& $ilDB;

                $this->__read();
        }

Here is the call graph for this function:

ilPaymentShoppingCart::isInShoppingCart ( a_pobject_id  ) 

Definition at line 99 of file class.ilPaymentShoppingCart.php.

References $query, and $res.

        {
                $query = "SELECT * FROM payment_shopping_cart ".
                        "WHERE customer_id = '".$this->user_obj->getId()."' ".
                        "AND pobject_id = '".$a_pobject_id."'";

                $res = $this->db->query($query);
                
                return $res->numRows() ? true : false;
        }

ilPaymentShoppingCart::setPobjectId ( a_pobject_id  ) 

Definition at line 54 of file class.ilPaymentShoppingCart.php.

        {
                $this->pobject_id = $a_pobject_id;
        }

ilPaymentShoppingCart::setPriceId ( a_price_id  ) 

Definition at line 62 of file class.ilPaymentShoppingCart.php.

        {
                $this->price_id = $a_price_id;
        }

ilPaymentShoppingCart::setTotalAmount ( a_total_amount  ) 

Definition at line 90 of file class.ilPaymentShoppingCart.php.

Referenced by __read().

        {
                $this->total_amount = $a_total_amount;
        }

Here is the caller graph for this function:

ilPaymentShoppingCart::update ( a_psc_id  ) 

Definition at line 145 of file class.ilPaymentShoppingCart.php.

References $query, and __read().

        {
                $query = "UPDATE payment_shopping_cart ".
                        "SET customer_id = '".$this->user_obj->getId()."',' ".
                        "pobject_id = '".$this->getPobjectId()."',' ".
                        "price_id = '".$this->getPriceId()."' ".
                        "WHERE psc_id = '".$a_psc_id."'";

                $this->db->query($query);

                $this->__read();

                return true;
        }

Here is the call graph for this function:


Field Documentation

ilPaymentShoppingCart::$db = null

Definition at line 40 of file class.ilPaymentShoppingCart.php.

ilPaymentShoppingCart::$sc_entries = array()

Definition at line 42 of file class.ilPaymentShoppingCart.php.

ilPaymentShoppingCart::$user_obj = null

Definition at line 39 of file class.ilPaymentShoppingCart.php.

Referenced by ilPaymentShoppingCart().


The documentation for this class was generated from the following file: