protected function init_args(&$dbHandler)
 {
     // some common user input is already read in parent class
     parent::init_args($dbHandler);
     // add settings and filters to parameter info array for request parsers
     $params = array();
     foreach ($this->all_settings as $name => $info) {
         if (is_array($info)) {
             $params[$name] = $info;
         }
     }
     foreach ($this->all_filters as $name => $info) {
         if (is_array($info)) {
             $params[$name] = $info;
         }
     }
     I_PARAMS($params, $this->args);
 }
 /**
  * Does what init_args() usually does in all scripts: Reads the user input
  * from request ($_GET and $_POST). 
  * Later configuration, settings and filters get modified according to that user input.
  */
 protected function init_args()
 {
     // some common user input is already read in parent class
     parent::init_args();
     // add settings and filters to parameter info array for request parsers
     $params = array();
     foreach ($this->all_settings as $name => $info) {
         if (is_array($info)) {
             $params[$name] = $info;
         }
     }
     // Do first get, to have info that can change config
     I_PARAMS($params, $this->args);
     if ($this->args->advanced_filter_mode) {
         switch ($this->mode) {
             case 'plan_add_mode':
                 $this->all_filters['filter_workflow_status'] = array("POST", tlInputParameter::ARRAY_INT);
                 $this->all_filters['filter_importance'] = array("POST", tlInputParameter::ARRAY_INT);
                 break;
         }
     }
     foreach ($this->all_filters as $name => $info) {
         if (is_array($info)) {
             $params[$name] = $info;
         }
     }
     I_PARAMS($params, $this->args);
     $type = 'filter_keywords_filter_type';
     $this->args->{$type} = isset($_REQUEST[$type]) ? trim($_REQUEST[$type]) : 'Or';
     $extra_keys = array('filter_result_result', 'filter_result_method', 'filter_result_build');
     foreach ($extra_keys as $ek) {
         $this->args->{$ek} = isset($_REQUEST[$ek]) ? $_REQUEST[$ek] : null;
     }
     $this->args->{'filter_assigned_user_include_unassigned'} = isset($_REQUEST['filter_assigned_user_include_unassigned']) ? 1 : 0;
     // got session token sent by form or do we have to generate a new one?
     $sent_token = null;
     $this->args->form_token = null;
     if (isset($_REQUEST['form_token'])) {
         $sent_token = $_REQUEST['form_token'];
     }
     if (!is_null($sent_token) && isset($_SESSION[$this->mode][$sent_token])) {
         // sent token is valid
         $this->form_token = $sent_token;
         $this->args->form_token = $sent_token;
     } else {
         $this->generate_form_token();
     }
     // "feature" is needed for plan and edit modes
     $this->args->feature = isset($_REQUEST['feature']) ? trim($_REQUEST['feature']) : null;
     $doLog = false;
     switch ($this->mode) {
         case 'plan_mode':
             switch ($this->args->feature) {
                 case 'planUpdateTC':
                 case 'test_urgency':
                 case 'tc_exec_assignment':
                     break;
                 default:
                     $doLog = true;
                     break;
             }
             break;
         case 'edit_mode':
             switch ($this->args->feature) {
                 case 'edit_tc':
                 case 'keywordsAssign':
                 case 'assignReqs':
                     break;
                 default:
                     $doLog = true;
                     break;
             }
             break;
     }
     if ($doLog) {
         tLog(__CLASS__ . ' :: Mode:' . $this->mode . ' - Wrong or missing GET argument: feature', 'ERROR');
         exit;
     }
 }
 /**
  * Does what init_args() usually does in all scripts: Reads the user input
  * from request ($_GET and $_POST). Later configuration,
  * settings and filters get modified according to that user input.
  */
 protected function init_args()
 {
     // some common user input is already read in parent class
     parent::init_args();
     // add settings and filters to parameter info array for request parsers
     $params = array();
     foreach ($this->all_settings as $name => $info) {
         if (is_array($info)) {
             $params[$name] = $info;
         }
     }
     foreach ($this->all_filters as $name => $info) {
         if (is_array($info)) {
             $params[$name] = $info;
         }
     }
     I_PARAMS($params, $this->args);
     $type = 'filter_keywords_filter_type';
     $this->args->{$type} = isset($_REQUEST[$type]) ? trim($_REQUEST[$type]) : 'Or';
     $extra_keys = array('filter_result_result', 'filter_result_method', 'filter_result_build');
     foreach ($extra_keys as $ek) {
         $this->args->{$ek} = isset($_REQUEST[$ek]) ? $_REQUEST[$ek] : null;
     }
     $this->args->{'filter_assigned_user_include_unassigned'} = isset($_REQUEST['filter_assigned_user_include_unassigned']) ? 1 : 0;
     // got session token sent by form or do we have to generate a new one?
     $sent_token = null;
     $this->args->form_token = null;
     if (isset($_REQUEST['form_token'])) {
         // token got sent
         $sent_token = $_REQUEST['form_token'];
     }
     if (!is_null($sent_token) && isset($_SESSION[$this->mode][$sent_token])) {
         // sent token is valid
         $this->form_token = $sent_token;
         $this->args->form_token = $sent_token;
     } else {
         $this->generate_form_token();
     }
     // "feature" is needed for plan and edit modes
     $this->args->feature = isset($_REQUEST['feature']) ? trim($_REQUEST['feature']) : null;
     switch ($this->mode) {
         case 'plan_mode':
             switch ($this->args->feature) {
                 case 'planUpdateTC':
                 case 'test_urgency':
                 case 'tc_exec_assignment':
                     // feature OK
                     break;
                 default:
                     // feature not OK
                     tLog("Wrong or missing GET argument 'feature'.", 'ERROR');
                     exit;
                     break;
             }
             break;
         case 'edit_mode':
             switch ($this->args->feature) {
                 case 'edit_tc':
                 case 'keywordsAssign':
                 case 'assignReqs':
                     // feature OK
                     break;
                 default:
                     // feature not OK
                     tLog("Wrong or missing GET argument 'feature'.", 'ERROR');
                     exit;
                     break;
             }
             break;
     }
 }