Commit fa3aa553 authored by Carsten  Rose's avatar Carsten Rose
Browse files

Form: changed detection of load/save. now based on GET/POST. Catch exception in __construct().

parent f199be4e
...@@ -84,14 +84,35 @@ class Form { ...@@ -84,14 +84,35 @@ class Form {
// protected $formElements = null; // protected $formElements = null;
// protected $userLog = null; // protected $userLog = null;
/* /**
* Construct the Form Class and Store too. This is the base initialization moment.
*
* As a result of instantiating of Form, the class Store will initially called the first time and therefore instantiated automatically.
* Store might throw an exception, in case the URL-passed SIP is invalid.
* *
* @param string $bodytext
*/ */
public function __construct($bodytext = '') { public function __construct($bodytext = '') {
$this->store = Store::getInstance($bodytext); try {
$this->db = new Database(); $this->store = Store::getInstance($bodytext);
$this->eval = new Evaluate($this->store, $this->db); $this->db = new Database();
$this->eval = new Evaluate($this->store, $this->db);
} catch (UserException $e) {
echo $e->formatMessage();
exit;
} catch (CodeException $e) {
echo $e->formatMessage();
exit;
} catch (DbException $e) {
echo $e->formatMessage();
exit;
} catch (\Exception $e) {
echo "Generic Exception: " . $e->getMessage();
exit;
}
} }
/** /**
...@@ -109,8 +130,6 @@ class Form { ...@@ -109,8 +130,6 @@ class Form {
// multimode: none // multimode: none
try { try {
// Form action: load or save?
$mode = ($this->store->getVar(CLIENT_POST_SIP, STORE_CLIENT) === false) ? FORM_LOAD : FORM_SAVE;
$formName = $this->loadFormSpecification(); $formName = $this->loadFormSpecification();
...@@ -135,6 +154,8 @@ class Form { ...@@ -135,6 +154,8 @@ class Form {
throw new CodeException("This statement should never be reached", ERROR_CODE_SHOULD_NOT_HAPPEN); throw new CodeException("This statement should never be reached", ERROR_CODE_SHOULD_NOT_HAPPEN);
} }
// Form action: load or save?
$mode = isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'POST' ? FORM_SAVE : FORM_LOAD;
switch ($mode) { switch ($mode) {
case FORM_LOAD: case FORM_LOAD:
$html .= $build->process(); $html .= $build->process();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment