mirror of
https://github.com/e107inc/e107.git
synced 2025-08-05 22:27:34 +02:00
model improvements
This commit is contained in:
@@ -1184,6 +1184,11 @@ class e_admin_model extends e_model
|
|||||||
*/
|
*/
|
||||||
protected $_db_errno = 0;
|
protected $_db_errno = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string Last SQL error message
|
||||||
|
*/
|
||||||
|
protected $_db_errmsg = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validator object
|
* Validator object
|
||||||
*
|
*
|
||||||
@@ -1688,7 +1693,7 @@ class e_admin_model extends e_model
|
|||||||
*/
|
*/
|
||||||
public function getSqlError()
|
public function getSqlError()
|
||||||
{
|
{
|
||||||
return e107::getDb()->getLastErrorText();
|
return $this->_db_errmsg;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1709,6 +1714,7 @@ class e_admin_model extends e_model
|
|||||||
parent::load($id, $force);
|
parent::load($id, $force);
|
||||||
|
|
||||||
$this->_db_errno = e107::getDb()->getLastErrorNumber();
|
$this->_db_errno = e107::getDb()->getLastErrorNumber();
|
||||||
|
$this->_db_errmsg = $sql->getLastErrorText();
|
||||||
if($this->_db_errno)
|
if($this->_db_errno)
|
||||||
{
|
{
|
||||||
$this->addMessageError('SQL Update Error', $session_messages); //TODO - Lan
|
$this->addMessageError('SQL Update Error', $session_messages); //TODO - Lan
|
||||||
@@ -1765,15 +1771,17 @@ class e_admin_model extends e_model
|
|||||||
public function dbInsert($force = false, $session_messages = false)
|
public function dbInsert($force = false, $session_messages = false)
|
||||||
{
|
{
|
||||||
$this->_db_errno = 0;
|
$this->_db_errno = 0;
|
||||||
|
$this->_db_errmsg = '';
|
||||||
if($this->hasError() || (!$this->data_has_changed && !$force))
|
if($this->hasError() || (!$this->data_has_changed && !$force))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
$sql = e107::getDb();
|
||||||
$res = e107::getDb()->db_Insert($this->getModelTable(), $this->toSqlQuery('create'));
|
$res = $sql->db_Insert($this->getModelTable(), $this->toSqlQuery('create'));
|
||||||
if(!$res)
|
if(!$res)
|
||||||
{
|
{
|
||||||
$this->_db_errno = e107::getDb()->getLastErrorNumber();
|
$this->_db_errno = $sql->getLastErrorNumber();
|
||||||
|
$this->_db_errmsg = $sql->getLastErrorText();
|
||||||
$this->addMessageError('SQL Insert Error', $session_messages); //TODO - Lan
|
$this->addMessageError('SQL Insert Error', $session_messages); //TODO - Lan
|
||||||
$this->addMessageDebug('SQL Error #'.$this->_db_errno.': '.e107::getDb()->getLastErrorText());
|
$this->addMessageDebug('SQL Error #'.$this->_db_errno.': '.e107::getDb()->getLastErrorText());
|
||||||
return false;
|
return false;
|
||||||
@@ -1795,15 +1803,17 @@ class e_admin_model extends e_model
|
|||||||
public function dbReplace($force = false, $session_messages = false)
|
public function dbReplace($force = false, $session_messages = false)
|
||||||
{
|
{
|
||||||
$this->_db_errno = 0;
|
$this->_db_errno = 0;
|
||||||
|
$this->_db_errmsg = '';
|
||||||
if($this->hasError() || (!$this->data_has_changed && !$force))
|
if($this->hasError() || (!$this->data_has_changed && !$force))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
$sql = e107::getDb();
|
||||||
$res = e107::getDb()->db_Insert($this->getModelTable(), $this->toSqlQuery('replace'));
|
$res = $sql->db_Insert($this->getModelTable(), $this->toSqlQuery('replace'));
|
||||||
if(!$res)
|
if(!$res)
|
||||||
{
|
{
|
||||||
$this->_db_errno = e107::getDb()->getLastErrorNumber();
|
$this->_db_errno = $sql->getLastErrorNumber();
|
||||||
|
$this->_db_errmsg = $sql->getLastErrorText();
|
||||||
if($this->_db_errno)
|
if($this->_db_errno)
|
||||||
{
|
{
|
||||||
$this->addMessageError('SQL Replace Error', $session_messages); //TODO - Lan
|
$this->addMessageError('SQL Replace Error', $session_messages); //TODO - Lan
|
||||||
@@ -1823,15 +1833,18 @@ class e_admin_model extends e_model
|
|||||||
public function dbUpdate($force = false, $session_messages = false)
|
public function dbUpdate($force = false, $session_messages = false)
|
||||||
{
|
{
|
||||||
$this->_db_errno = 0;
|
$this->_db_errno = 0;
|
||||||
|
$this->_db_errmsg = '';
|
||||||
if($this->hasError() || (!$this->data_has_changed && !$force))
|
if($this->hasError() || (!$this->data_has_changed && !$force))
|
||||||
{
|
{
|
||||||
$this->addMessageInfo(LAN_NO_CHANGE);
|
$this->addMessageInfo(LAN_NO_CHANGE);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
$res = e107::getDb()->db_Update($this->getModelTable(), $this->toSqlQuery('update'));
|
$sql = e107::getDb();
|
||||||
|
$res = $sql->db_Update($this->getModelTable(), $this->toSqlQuery('update'));
|
||||||
if(!$res)
|
if(!$res)
|
||||||
{
|
{
|
||||||
$this->_db_errno = e107::getDb()->getLastErrorNumber();
|
$this->_db_errno = $sql->getLastErrorNumber();
|
||||||
|
$this->_db_errmsg = $sql->getLastErrorText();
|
||||||
if($this->_db_errno)
|
if($this->_db_errno)
|
||||||
{
|
{
|
||||||
$this->addMessageError('SQL Update Error', $session_messages); //TODO - Lan
|
$this->addMessageError('SQL Update Error', $session_messages); //TODO - Lan
|
||||||
@@ -1855,6 +1868,7 @@ class e_admin_model extends e_model
|
|||||||
public function dbDelete($session_messages = false)
|
public function dbDelete($session_messages = false)
|
||||||
{
|
{
|
||||||
$this->_db_errno = 0;
|
$this->_db_errno = 0;
|
||||||
|
$this->_db_errmsg = '';
|
||||||
if($this->hasError())
|
if($this->hasError())
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1865,10 +1879,12 @@ class e_admin_model extends e_model
|
|||||||
$this->addMessageError('Record not found', $session_messages); //TODO - Lan
|
$this->addMessageError('Record not found', $session_messages); //TODO - Lan
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
$res = e107::getDb()->db_Delete($this->getModelTable(), $this->getFieldIdName().'='.intval($this->getId()));
|
$sql = e107::getDb();
|
||||||
|
$res = $sql->db_Delete($this->getModelTable(), $this->getFieldIdName().'='.intval($this->getId()));
|
||||||
if(!$res)
|
if(!$res)
|
||||||
{
|
{
|
||||||
$this->_db_errno = e107::getDb()->getLastErrorNumber();
|
$this->_db_errno = $sql->getLastErrorNumber();
|
||||||
|
$this->_db_errmsg = $sql->getLastErrorText();
|
||||||
if($this->_db_errno)
|
if($this->_db_errno)
|
||||||
{
|
{
|
||||||
$this->addMessageError('SQL Delete Error', $session_messages); //TODO - Lan
|
$this->addMessageError('SQL Delete Error', $session_messages); //TODO - Lan
|
||||||
@@ -2236,6 +2252,48 @@ class e_tree_model extends e_model
|
|||||||
|
|
||||||
class e_admin_tree_model extends e_tree_model
|
class e_admin_tree_model extends e_tree_model
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @var integer Last SQL error number
|
||||||
|
*/
|
||||||
|
protected $_db_errno = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string Last SQL error message
|
||||||
|
*/
|
||||||
|
protected $_db_errmsg = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function hasSqlError()
|
||||||
|
{
|
||||||
|
return !empty($this->_db_errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return integer last mysql error number
|
||||||
|
*/
|
||||||
|
public function getSqlErrorNumber()
|
||||||
|
{
|
||||||
|
return $this->_db_errno;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string last mysql error message
|
||||||
|
*/
|
||||||
|
public function getSqlError()
|
||||||
|
{
|
||||||
|
return $this->_db_errmsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function hasError()
|
||||||
|
{
|
||||||
|
return $this->hasSqlError();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Batch Delete records
|
* Batch Delete records
|
||||||
* @param mixed $ids
|
* @param mixed $ids
|
||||||
@@ -2250,7 +2308,6 @@ class e_admin_tree_model extends e_tree_model
|
|||||||
if(!is_array($ids))
|
if(!is_array($ids))
|
||||||
{
|
{
|
||||||
$ids = explode(',', $ids);
|
$ids = explode(',', $ids);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = array_map('intval', $ids);
|
$ids = array_map('intval', $ids);
|
||||||
@@ -2258,6 +2315,8 @@ class e_admin_tree_model extends e_tree_model
|
|||||||
|
|
||||||
$sql = e107::getDb();
|
$sql = e107::getDb();
|
||||||
$res = $sql->db_Delete($this->getModelTable(), $this->getFieldIdName().' IN ('.$idstr.')');
|
$res = $sql->db_Delete($this->getModelTable(), $this->getFieldIdName().' IN ('.$idstr.')');
|
||||||
|
$this->_db_errno = $sql->getLastErrorNumber();
|
||||||
|
$this->_db_errmsg = $sql->getLastErrorText();
|
||||||
if(!$res)
|
if(!$res)
|
||||||
{
|
{
|
||||||
if($sql->getLastErrorNumber())
|
if($sql->getLastErrorNumber())
|
||||||
@@ -2314,6 +2373,8 @@ class e_admin_tree_model extends e_tree_model
|
|||||||
$idstr = implode(', ', $ids);
|
$idstr = implode(', ', $ids);
|
||||||
|
|
||||||
$res = $sql->db_Update($this->getModelTable(), "{$field}={$value} WHERE ".$this->getFieldIdName().' IN ('.$idstr.')');
|
$res = $sql->db_Update($this->getModelTable(), "{$field}={$value} WHERE ".$this->getFieldIdName().' IN ('.$idstr.')');
|
||||||
|
$this->_db_errno = $sql->getLastErrorNumber();
|
||||||
|
$this->_db_errmsg = $sql->getLastErrorText();
|
||||||
if(!$res)
|
if(!$res)
|
||||||
{
|
{
|
||||||
if($sql->getLastErrorNumber())
|
if($sql->getLastErrorNumber())
|
||||||
|
Reference in New Issue
Block a user