/*=====================================================================*\
|| ###################################################################
|| # Blue Static ISSO Framework
-|| # Copyright (c)2005-2008 Blue Static
+|| # Copyright (c)2005-2009 Blue Static
|| #
|| # This program is free software; you can redistribute it and/or modify
|| # it under the terms of the GNU General Public License as published by
* 4. try { $o->insert(); <other actions that depend on the saved record> } catch (ApiException $e) {}
*
* @author Blue Static
- * @copyright Copyright (c)2005 - 2008, Blue Static
+ * @copyright Copyright (c)2005 - 2009, Blue Static
* @package ISSO
*
*/
}
}
+ /**
+ * Resets the API object to an initial state. This will NOT clear the primary (REQ_AUTO)
+ * field.
+ */
+ public function reset()
+ {
+ foreach ($this->fields as $field => $settings)
+ {
+ if ($settings[F_REQ] == REQ_AUTO)
+ {
+ $savename = $field;
+ $savevalue = $this->fetchValue($field);
+ $savevalue = ($savevalue ? $savevalue : $this->insertid);
+ break;
+ }
+ }
+
+ $this->setfields = array();
+ $this->values = array();
+ $this->condition = '';
+ $this->insertid = 0;
+ $this->exception = null;
+
+ $this->set($savename, $savevalue);
+ }
+
/**
* Sets a value, sanitizes it, and validates it
*
}
}
+ /**
+ * Determines the value of a field from Api->record[], Api->values[] (in that order)
+ *
+ * @param string The field ID to determine for
+ *
+ * @return mixed
+ */
+ public function fetchValue($field)
+ {
+ if ($this->record[$field])
+ {
+ return $this->record[$field];
+ }
+ else if ($this->values[$field])
+ {
+ return $this->values[$field];
+ }
+
+ return null;
+ }
+
/**
* Verify field: not a zero value
*/
* of exceptions that can be thrown as one
*
* @author rsesek
- * @copyright Copyright (c)2005 - 2008, Blue Static
+ * @copyright Copyright (c)2005 - 2009, Blue Static
* @package ISSO
*
*/
* This exception represents a problem with an API field
*
* @author rsesek
- * @copyright Copyright (c)2005 - 2008, Blue Static
+ * @copyright Copyright (c)2005 - 2009, Blue Static
* @package ISSO
*
*/