Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
35.29% |
6 / 17 |
CRAP | |
49.15% |
29 / 59 |
abstract_row | |
0.00% |
0 / 1 |
|
35.29% |
6 / 17 |
148.32 | |
49.15% |
29 / 59 |
__construct | |
100.00% |
1 / 1 |
2 | |
100.00% |
5 / 5 |
|||
getModel | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
save | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 5 |
|||
update | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 4 |
|||
insert | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 3 |
|||
delete | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
isEmpty | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 3 |
|||
chooseUpdate | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
getToUpdate | |
100.00% |
1 / 1 |
3 | |
100.00% |
7 / 7 |
|||
getWhere | |
100.00% |
1 / 1 |
4 | |
100.00% |
10 / 10 |
|||
__set | |
100.00% |
1 / 1 |
1 | |
100.00% |
3 / 3 |
|||
__get | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 3 |
|||
__isset | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
__unset | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
setId | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 6 |
|||
getId | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
getTab | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
<?php | |
/* | |
This file is part of Mkframework. | |
Mkframework is free software: you can redistribute it and/or modify | |
it under the terms of the GNU Lesser General Public License as published by | |
the Free Software Foundation, either version 3 of the License. | |
Mkframework is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
GNU Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public License | |
along with Mkframework. If not, see <http://www.gnu.org/licenses/>. | |
*/ | |
/** | |
* classe abstract_row | |
* @author Mika | |
* @link http://mkf.mkdevs.com/ | |
*/ | |
abstract class abstract_row{ | |
private $_bChooseUpdate=false; | |
protected $_tProperty=array(); | |
protected $_tPropertyToUpdate; | |
/** | |
* constructeur | |
* @access public | |
*/ | |
public function __construct($tRow=null){ | |
if($tRow!=null){ | |
$this->_tProperty=$tRow; | |
$this->chooseUpdate(); | |
} | |
} | |
/** | |
* retourne l'objet model | |
* @access public | |
* @return object | |
*/ | |
public function getModel(){ | |
$sModel=$this->sClassModel; | |
return call_user_func(array($sModel,'getInstance')); | |
} | |
/** | |
* enregistre la row | |
* @access public | |
*/ | |
public function save(){ | |
if($this->_bChooseUpdate == true){ | |
$this->update(); | |
}else{ | |
$this->setId($this->insert()); | |
} | |
} | |
/** | |
* enregistre la row par update | |
* @access public | |
*/ | |
public function update(){ | |
if(empty($this->_tPropertyToUpdate) == false){ | |
$this->getModel()->update($this); | |
} | |
} | |
/** | |
* enregistre la row par insertion | |
* @access public | |
*/ | |
public function insert(){ | |
if(empty($this->_tPropertyToUpdate) == false){ | |
return $this->getModel()->insert($this); | |
} | |
return null; | |
} | |
/** | |
* supprime la row | |
* @access public | |
*/ | |
public function delete(){ | |
return $this->getModel()->delete($this); | |
} | |
/** | |
* retourne si l'objet est vide ou non (pour verifier suite a une requete par exemple) | |
* @return bool | |
*/ | |
public function isEmpty(){ | |
if(empty($this->_tProperty) and empty($this->_tPropertyToUpdate)){ | |
return true; | |
} | |
return false; | |
} | |
public function chooseUpdate(){ | |
$this->_bChooseUpdate=true; | |
} | |
/** | |
* retourne le tableau contenant les proprietes a mettre a jour | |
* @access public | |
* @return array | |
*/ | |
public function getToUpdate(){ | |
$tToUpdate=array(); | |
if($this->_tPropertyToUpdate){ | |
foreach($this->_tPropertyToUpdate as $sVar){ | |
$tToUpdate[$sVar]=$this->_tProperty[$sVar]; | |
} | |
} | |
return $tToUpdate; | |
} | |
/** | |
* retourne le tableau contenant les proprietes id | |
* @access public | |
* @return array | |
*/ | |
public function getWhere(){ | |
$tWhereId=array(); | |
$tId=$this->getModel()->getIdTab(); | |
if($tId){ | |
foreach($tId as $sVar){ | |
if(isset($this->_tProperty[$sVar])){ | |
$tWhereId[$sVar]=(int)$this->_tProperty[$sVar]; | |
} | |
} | |
} | |
return $tWhereId; | |
} | |
/** | |
* setter | |
*/ | |
public function __set($sVar,$sVal){ | |
$this->_tProperty[$sVar]=$sVal; | |
$this->_tPropertyToUpdate[$sVar]=$sVar; | |
} | |
/** | |
* getter | |
*/ | |
public function __get($sVar){ | |
if(array_key_exists( (string)$sVar,$this->_tProperty)){ | |
return $this->_tProperty[$sVar]; | |
} | |
return null; | |
} | |
/** | |
* isset | |
*/ | |
public function __isset($sVar){ | |
return isset($this->_tProperty[$sVar]); | |
} | |
/** | |
* unset | |
*/ | |
public function __unset($sVar){ | |
unset($this->_tProperty[$sVar]); | |
} | |
/** | |
* force l'id de l'enregistrement | |
* @param undefined $uId | |
*/ | |
public function setId($uId){ | |
if($uId == null){ return false; } | |
$tColumnId=$this->getModel()->getIdTab(); | |
$sColumnId=$tColumnId[0]; | |
$this->_tProperty[$sColumnId]=$uId; | |
$this->chooseUpdate(); | |
} | |
public function getId(){ | |
return implode('::',$this->getWhere()); | |
} | |
public function getTab(){ | |
return $this->_tProperty; | |
} | |
} |