70 lines
1.6 KiB
PHP
70 lines
1.6 KiB
PHP
<?php
|
|
|
|
class IvtProduct extends mfBaseModel {
|
|
protected $forcestr = [];
|
|
private $match;
|
|
|
|
/**
|
|
* Takes ID or DB row as arguments
|
|
* @param id or table row $_
|
|
*/
|
|
public function __construct($_=NULL) {
|
|
$this->log = mfLoghandler::singleton();
|
|
$this->table = "products";
|
|
$this->data = new stdClass();
|
|
$this->_old_data = new stdClass();
|
|
|
|
|
|
$this->db = FronkDB::singleton(IVT_DBHOST, IVT_DBUSER, IVT_DBPASS, IVT_DBNAME);
|
|
|
|
if(is_numeric($_)) {
|
|
$this->fetch($_);
|
|
} elseif(is_object($_)) {
|
|
$this->load($_);
|
|
}
|
|
}
|
|
|
|
public function save() {
|
|
return true;
|
|
}
|
|
|
|
|
|
public function getProperty($name) {
|
|
if($this->$name == null) {
|
|
|
|
if($name == "match") {
|
|
$match = IvtProductMatchModel::getFirst(["ivt_product_id" => $this->id]);
|
|
if($match) {
|
|
$this->match = $match;
|
|
}
|
|
return $this->match;
|
|
}
|
|
|
|
$classname = ucfirst($name);
|
|
$idfield = $name."_id";
|
|
$this->$name = mfValuecache::singleton()->get("mfObjectmodel-$name-".$this->$idfield);
|
|
if(!$this->$name) {
|
|
$this->$name = new $classname($this->$idfield);
|
|
}
|
|
|
|
if($this->$name->id) {
|
|
mfValuecache::singleton()->set("mfObjectmodel-$name-".$this->$name->id, $this->$name);
|
|
return $this->$name;
|
|
} else {
|
|
return null;
|
|
}
|
|
|
|
}
|
|
|
|
return $this->$name;
|
|
}
|
|
|
|
|
|
public function __debugInfo() {
|
|
$vars = get_object_vars($this);
|
|
if(is_object($vars['db'])) $vars['db'] = "object(FronkDB)";
|
|
if(is_object($vars['log'])) $vars['log'] = 'object(mfLoghandler)';
|
|
return $vars;
|
|
}
|
|
|
|
} |