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 {
// protected $formElements = 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 = '') {
$this->store = Store::getInstance($bodytext);
$this->db = new Database();
$this->eval = new Evaluate($this->store, $this->db);
try {
$this->store = Store::getInstance($bodytext);
$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 {
// multimode: none
try {
// Form action: load or save?
$mode = ($this->store->getVar(CLIENT_POST_SIP, STORE_CLIENT) === false) ? FORM_LOAD : FORM_SAVE;
$formName = $this->loadFormSpecification();
......@@ -135,6 +154,8 @@ class Form {
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) {
case FORM_LOAD:
$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