This commit is contained in:
@@ -1,274 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Représente une ligne de la commande pour un paiement simple
|
||||
*
|
||||
*/
|
||||
class HIPAY_MAPI_Product extends HIPAY_MAPI_Item {
|
||||
/**
|
||||
* Nom du produit
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* Informations sur le produit
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $info;
|
||||
|
||||
/**
|
||||
* quantité
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $quantity;
|
||||
|
||||
/**
|
||||
* Réference produit
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $ref;
|
||||
|
||||
/**
|
||||
* Catégorie du produit
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $category;
|
||||
|
||||
/**
|
||||
* Montant unitaire HT du produit
|
||||
*
|
||||
* @var float
|
||||
*/
|
||||
protected $price;
|
||||
|
||||
/**
|
||||
* Taxes s'appliquant à ce produit
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $tax;
|
||||
|
||||
|
||||
/**
|
||||
* Assigne le nom du produit
|
||||
*
|
||||
* @param string $name
|
||||
* @return boolean
|
||||
*/
|
||||
public function setName($name) {
|
||||
if ($this->_locked)
|
||||
return false;
|
||||
|
||||
$name = HIPAY_MAPI_UTF8::forceUTF8($name);
|
||||
$len=HIPAY_MAPI_UTF8::strlen_utf8($name);
|
||||
if ($len<1 || $len>HIPAY_MAPI_MAX_PRODUCT_NAME_LENGTH)
|
||||
return false;
|
||||
$this->name=$name;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le nom du produit
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigne les informations sur le produit
|
||||
*
|
||||
* @param string $info
|
||||
* @return boolean
|
||||
*/
|
||||
public function setInfo($info) {
|
||||
if ($this->_locked)
|
||||
return false;
|
||||
|
||||
$info = HIPAY_MAPI_UTF8::forceUTF8($info);
|
||||
$len=HIPAY_MAPI_UTF8::strlen_utf8($info);
|
||||
if ($len>HIPAY_MAPI_MAX_PRODUCT_INFO_LENGTH)
|
||||
return false;
|
||||
$this->info=$info;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les informations sur le produit
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getInfo() {
|
||||
return $this->info;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigne la quantité de produit
|
||||
*
|
||||
* @param int $quantity
|
||||
* @return boolean
|
||||
*/
|
||||
public function setQuantity($quantity) {
|
||||
if ($this->_locked)
|
||||
return false;
|
||||
|
||||
$quantity=(int)$quantity;
|
||||
if ($quantity<1)
|
||||
return false;
|
||||
$this->quantity=$quantity;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la quantité de produit
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getQuantity() {
|
||||
return $this->quantity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigne la réference du produit
|
||||
*
|
||||
* @param string $ref
|
||||
* @return boolean
|
||||
*/
|
||||
public function setRef($ref) {
|
||||
if ($this->_locked)
|
||||
return false;
|
||||
|
||||
$ref = HIPAY_MAPI_UTF8::forceUTF8($ref);
|
||||
$len=HIPAY_MAPI_UTF8::strlen_utf8($ref);
|
||||
if ($len>HIPAY_MAPI_MAX_PRODUCT_REF_LENGTH)
|
||||
return false;
|
||||
$this->ref=$ref;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la réference du produit
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getRef() {
|
||||
return $this->ref;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Assigne la catégorie du produit
|
||||
*
|
||||
* @param int $category
|
||||
* @return boolean
|
||||
*/
|
||||
public function setCategory($category) {
|
||||
if ($this->_locked)
|
||||
return false;
|
||||
|
||||
$category = (int)$category;
|
||||
if ($category<1)
|
||||
return false;
|
||||
$this->category=$category;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la catégorie du produit
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getCategory() {
|
||||
return $this->category;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigne le montant unitaire HT du produit
|
||||
*
|
||||
* @param float $price
|
||||
* @return boolean
|
||||
*/
|
||||
public function setPrice($price) {
|
||||
if ($this->_locked)
|
||||
return false;
|
||||
|
||||
$price = sprintf('%.02f',(float)$price);
|
||||
if ($price<0)
|
||||
return false;
|
||||
$this->price=$price;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne montant unitaire HT du produit
|
||||
*
|
||||
* @return float
|
||||
*/
|
||||
public function getPrice() {
|
||||
return $this->price;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigne les taxes s'appliquant à ce produit
|
||||
*
|
||||
* @param array $tax
|
||||
* @return boolean
|
||||
*/
|
||||
public function setTax($tax) {
|
||||
if ($this->_locked)
|
||||
return false;
|
||||
|
||||
if (!HIPAY_MAPI_UTILS::is_an_array_of($tax,'HIPAY_MAPI_Tax'))
|
||||
return false;
|
||||
foreach ($tax as $obj)
|
||||
$this->tax[]= clone $obj;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les taxes s'appliquant à ce produit
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTax() {
|
||||
return $this->tax;
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie que l'objet est correctement initialisé
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function check() {
|
||||
if ($this->name=='' || $this->quantity<0 || $this->category<0 || $this->price<0 || !HIPAY_MAPI_UTILS::is_an_array_of($this->tax,'HIPAY_MAPI_Tax'))
|
||||
throw new Exception('L\'objet n\'à pas été initilisé. Vous devez préciser un nom de produit, une quantité, un prix, une catégorie et des taxes');
|
||||
foreach($this->tax as $obj) {
|
||||
if (!$obj->check())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function init() {
|
||||
$this->name='';
|
||||
$this->info='';
|
||||
$this->quantity=-1;
|
||||
$this->ref='';
|
||||
$this->category=-1;
|
||||
$this->price=-1;
|
||||
$this->tax=array();
|
||||
}
|
||||
|
||||
function __construct() {
|
||||
$this->init();
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user