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() |
Definition at line 34 of file class.ilPaymentShoppingCart.php.
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; }
ilPaymentShoppingCart::_hasEntries | ( | $ | a_user_id | ) |
Definition at line 183 of file class.ilPaymentShoppingCart.php.
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; }
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; }
ilPaymentShoppingCart::delete | ( | $ | a_psc_id | ) |
ilPaymentShoppingCart::emptyShoppingCart | ( | ) |
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; } }
ilPaymentShoppingCart::getEntry | ( | $ | a_pobject_id | ) |
Definition at line 110 of file class.ilPaymentShoppingCart.php.
References $query.
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; }
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; }
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 | ) |
ilPaymentShoppingCart::isInShoppingCart | ( | $ | a_pobject_id | ) |
Definition at line 99 of file class.ilPaymentShoppingCart.php.
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; }
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; }
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().