added send customer to IVT
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
class IvtCustomer extends mfBaseModel {
|
||||
protected $forcestr = ['company','firstname','surname','zip','street','location','housenumber','phone','email','extrainfo'];
|
||||
|
||||
/**
|
||||
* Takes ID or DB row as arguments
|
||||
* @param id or table row $_
|
||||
*/
|
||||
public function __construct($_=NULL) {
|
||||
$this->log = mfLoghandler::singleton();
|
||||
$this->table = get_class($this);
|
||||
$this->data = new stdClass();
|
||||
$this->table = "customers";
|
||||
|
||||
$this->db = new FronkDB(IVT_DBHOST, IVT_DBUSER, IVT_DBPASS, IVT_DBNAME);
|
||||
|
||||
if(is_numeric($_)) {
|
||||
$this->fetch($_);
|
||||
} elseif(is_object($_)) {
|
||||
$this->load($_);
|
||||
}
|
||||
}
|
||||
|
||||
public function save() {
|
||||
// get AUTO_INCREMENT value
|
||||
$safe_ai = $this->getAutoIncrementId();
|
||||
if(!$safe_ai) {
|
||||
return false;
|
||||
}
|
||||
$this->log->debug(__CLASS__.": auto increment value: $safe_ai");
|
||||
// save customer
|
||||
|
||||
$fields = [];
|
||||
$fields['id'] = $this->id;
|
||||
foreach($this->data as $name => $value) {
|
||||
$fields[$name] = $value;
|
||||
}
|
||||
|
||||
if(!$this->db->insert($this->table, $fields, $this->forcestr)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// reset AUTO_INCREMENT value
|
||||
if($this->setAutoIncrementId($safe_ai)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$this->log->error(__CLASS__.": Unable to reset AUTO_INCREMENT value");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
private function getAutoIncrementId() {
|
||||
$sql = "SELECT `AUTO_INCREMENT` as ai
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA = 'ivt_xinon'
|
||||
AND TABLE_NAME = '".$this->table."'";
|
||||
$this->log->debug(__CLASS__.": $sql");
|
||||
$res = $this->db->query($sql);
|
||||
if($this->db->num_rows($res)) {
|
||||
$data = $this->db->fetch_object($res);
|
||||
return $data->ai;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function setAutoIncrementId($ai) {
|
||||
$sql = "ALTER TABLE ".$this->table." AUTO_INCREMENT=$ai";
|
||||
$this->log->debug(__CLASS__.": $sql");
|
||||
|
||||
if($this->db->query($sql)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user