1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-06 06:38:00 +02:00

more model related problems

This commit is contained in:
secretr
2009-10-21 09:12:12 +00:00
parent 98549d37a8
commit 6fc92b5573
2 changed files with 48 additions and 23 deletions

View File

@@ -9,8 +9,8 @@
* e107 Base Model * e107 Base Model
* *
* $Source: /cvs_backup/e107_0.8/e107_handlers/model_class.php,v $ * $Source: /cvs_backup/e107_0.8/e107_handlers/model_class.php,v $
* $Revision: 1.11 $ * $Revision: 1.12 $
* $Date: 2009-10-20 16:05:02 $ * $Date: 2009-10-21 09:12:11 $
* $Author: secretr $ * $Author: secretr $
*/ */
@@ -680,20 +680,15 @@ class e_model
} }
/** /**
* Render validation errors (if any) * Render System messages (if any)
* *
* @param boolean $validation render validation messages as well
* @param boolean $session store messages to session * @param boolean $session store messages to session
* @param boolean $reset reset errors * @param boolean $reset reset errors
* @return string * @return string
*/ */
public function renderMessages($validation = true, $session = false, $reset = true) public function renderMessages($session = false, $reset = true)
{ {
if($validation) return e107::getMessage()->render($this->_message_stack, $session, $reset);
{
e107::getMessage()->moveStack($this->_message_stack.'_validator', $this->_message_stack, false, $session);
}
return $this->getValidator()->renderValidateMessages($session, $reset);
} }
/** /**
@@ -709,7 +704,7 @@ class e_model
* Model validation * Model validation
* @see e_model_admin * @see e_model_admin
*/ */
public function verify() public function validate()
{ {
} }
@@ -1187,7 +1182,7 @@ class e_model_admin extends e_model
return $this; return $this;
} }
/* Wrong? /* XXX - Wrong? Should validator keep track on validated data at all?
// retrieve only valid data // retrieve only valid data
if($validate) if($validate)
{ {
@@ -1291,6 +1286,15 @@ class e_model_admin extends e_model
return $this->getValidator()->validate($data); return $this->getValidator()->validate($data);
} }
/**
* User defined model validation
* Awaiting for child class implementation
*
*/
public function verify()
{
}
/** /**
* @return e_validator * @return e_validator
*/ */
@@ -1338,6 +1342,23 @@ class e_model_admin extends e_model
return $this->getValidator()->renderValidateMessages($session, $reset); return $this->getValidator()->renderValidateMessages($session, $reset);
} }
/**
* Render System messages (if any)
*
* @param boolean $validation render validation messages as well
* @param boolean $session store messages to session
* @param boolean $reset reset errors
* @return string
*/
public function renderMessages($validation = true, $session = false, $reset = true)
{
if($validation)
{
e107::getMessage()->moveStack($this->_message_stack.'_validator', $this->_message_stack, false, $session);
}
return parent::renderMessages($session, $reset);
}
/** /**
* @return boolean * @return boolean
*/ */
@@ -1376,7 +1397,7 @@ class e_model_admin extends e_model
if($from_post) if($from_post)
{ {
//no strict copy, validate, sanitize //no strict copy, validate & sanitize
$this->mergePostedData(false, true, true); $this->mergePostedData(false, true, true);
} }
@@ -1406,7 +1427,7 @@ class e_model_admin extends e_model
if(!$res) if(!$res)
{ {
$this->_db_errno = e107::getDb()->getLastErrorNumber(); $this->_db_errno = e107::getDb()->getLastErrorNumber();
$this->addMessageError('SQL Insert Error', $session_messages); $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());
} }
@@ -1433,7 +1454,7 @@ class e_model_admin extends e_model
$this->_db_errno = e107::getDb()->getLastErrorNumber(); $this->_db_errno = e107::getDb()->getLastErrorNumber();
if($this->_db_errno) if($this->_db_errno)
{ {
$this->addMessageError('SQL Replace Error', $session_messages); $this->addMessageError('SQL Replace 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());
} }
} }
@@ -1456,7 +1477,7 @@ class e_model_admin extends e_model
$this->_db_errno = e107::getDb()->getLastErrorNumber(); $this->_db_errno = e107::getDb()->getLastErrorNumber();
if($this->_db_errno) if($this->_db_errno)
{ {
$this->addMessageError('SQL Update Error', $session_messages); $this->addMessageError('SQL Update 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());
} }
} }
@@ -1560,15 +1581,15 @@ class e_model_admin extends e_model
case 'bool': case 'bool':
case 'boolean': case 'boolean':
return ($value ? 1 : 0); return ($value ? true : false);
break; break;
case 'model': case 'model':
return $value->mergePostedData()->toArray(); return $value->mergePostedData()->toArray(); //XXX - ???
break; break;
case 'null': case 'null':
return ($value && $value !== 'NULL' ? $tp->toDB($value) : 'NULL'); return ($value ? $tp->toDB($value) : null);
break; break;
} }

View File

@@ -9,8 +9,8 @@
* mySQL Handler * mySQL Handler
* *
* $Source: /cvs_backup/e107_0.8/e107_handlers/mysql_class.php,v $ * $Source: /cvs_backup/e107_0.8/e107_handlers/mysql_class.php,v $
* $Revision: 1.57 $ * $Revision: 1.58 $
* $Date: 2009-10-20 16:05:03 $ * $Date: 2009-10-21 09:12:12 $
* $Author: secretr $ * $Author: secretr $
*/ */
@@ -49,7 +49,7 @@ $db_ConnectionID = NULL; // Stores ID for the first DB connection used - which s
* *
* @package e107 * @package e107
* @category e107_handlers * @category e107_handlers
* @version $Revision: 1.57 $ * @version $Revision: 1.58 $
* @author $Author: secretr $ * @author $Author: secretr $
* *
*/ */
@@ -573,6 +573,10 @@ class e_db_mysql {
return "'{$fieldValue}'"; return "'{$fieldValue}'";
break; break;
case 'float':
return (float) $fieldValue;
break;
case 'null': case 'null':
return ($fieldValue && $fieldValue !== 'NULL' ? "'{$fieldValue}'" : 'NULL'); return ($fieldValue && $fieldValue !== 'NULL' ? "'{$fieldValue}'" : 'NULL');
break; break;