X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2Fform%2FActionForm.class.php;h=8e2ad8af4362522fe591e24c608b559011b800d3;hb=75a1eedb8977b8f2db459128bab9aaf367e3b58b;hp=186f968a93642440d824db419d3d4db144912ce0;hpb=8e115dc0b3f4ee266a09f762084e3495726ac6dd;p=timetracker.git diff --git a/WEB-INF/lib/form/ActionForm.class.php b/WEB-INF/lib/form/ActionForm.class.php index 186f968a..8e2ad8af 100644 --- a/WEB-INF/lib/form/ActionForm.class.php +++ b/WEB-INF/lib/form/ActionForm.class.php @@ -38,7 +38,6 @@ class ActionForm { function __construct($name, &$form, $request=null) { $this->setName($name); - $form->setRequest($request); $this->setForm($form); //if ($request) $this->initAttributes($request); $this->initAttributes($request); @@ -63,8 +62,8 @@ class ActionForm { } function setName($name) { - $this->mName = $name; - $this->mSessionCell = "formbean_".$this->mName; + $this->name = $name; + $this->mSessionCell = "formbean_".$this->name; } /** @@ -73,7 +72,6 @@ class ActionForm { * @param object $request */ function initAttributes(&$request) { - //$submit_flag = $this->isSubmit(); $submit_flag = (is_object($request) && ($request->isPost())); if ($submit_flag) { @@ -101,17 +99,7 @@ class ActionForm { $this->mInitForm = true; } } - - /** - * Init custom variables - * - * @param unknown $request - * @param unknown $respons - */ - function initVariables(&$request, &$respons) { - - } - + function setVariablesNames($namelist) { $this->mVariables = $namelist; } @@ -122,7 +110,7 @@ class ActionForm { $this->mValues[$name] = $value; if ($this->mForm) { if (isset($this->mForm->elements[$name])) { - if ($this->mForm->elements[$name]->cClassName=="DateField") { + if ($this->mForm->elements[$name]->class=="DateField") { $dt = new DateAndTime($user->date_format, $value); $value = $dt->toString(DB_DATEFORMAT); } @@ -151,7 +139,7 @@ class ActionForm { foreach ($this->mValues as $name=>$value) { if ($this->mForm) { if (isset($this->mForm->elements[$name])) { - if ($this->mForm->elements[$name]->cClassName=="DateField") { + if ($this->mForm->elements[$name]->class=="DateField") { $dt = new DateAndTime($user->date_format, $value); $value = $dt->toString(DB_DATEFORMAT); } @@ -165,14 +153,6 @@ class ActionForm { print_r($this->mValues); } - function isSubmit() { - $res = false; - if (is_object($this->mForm)) { - $res = $this->mForm->isSubmit(); - } - return $res; - } - function saveBean() { if ($this->mForm) { $elements = $this->mForm->getElements(); @@ -186,6 +166,20 @@ class ActionForm { } //print_r($_SESSION); } + + // saveDetachedAttribute saves a "detached" from form named attributed in session. + // There is no element in the form for it. + // Intended use is to add something to the session, when a form bean created on one page + // is used on other pages (ex.: reportForm). + // For example, to generate a timesheet we need a user_id, which is determined when a report + // is generated on report.php, using a bean created in reports.php. + function saveDetachedAttribute($name, $value) { + $_SESSION[$this->mSessionCell .'_'.$name] = $value; + } + + function getDetachedAttribute($name) { + return $_SESSION[$this->mSessionCell.'_'.$name]; + } function loadBean() { $el_list = @$_SESSION[$this->mSessionCell . "session_store_elements"]; @@ -196,7 +190,7 @@ class ActionForm { import('form.'.$ref_el["class"]); $class_name = $ref_el["class"]; $el = new $class_name($ref_el["name"]); - if (isset($GLOBALS["I18N"])) $el->setLocalization($GLOBALS["I18N"]); + $el->localize(); $el->setValueSafe(@$_SESSION[$this->mSessionCell . "_" .$el->getName()]); if ($this->mForm && !isset($this->mForm->elements[$ref_el["name"]])) {