bizVersion)) { global $app, $dbh; $moduleName = $app->getModuleName(); $stmt = $dbh->query("SELECT * FROM " . TABLE_WORKFLOWFIELD . " WHERE `module` = '{$moduleName}' and `buildin` = '0'"); while($flowField = $stmt->fetch()) $flowFields[$flowField->field] = $flowField; } foreach($this->data as $field => $value) { /* Implode array when form has array. */ if(isset($flowFields[$field]) and is_array($value)) { $canImplode = true; foreach($value as $k => $v) { if(is_object($v) or is_array($v)) { $canImplode = false; break; } } if($canImplode) $this->data->$field = implode(',', $value); } if(isset($flowFields[$field]) and $flowFields[$field]->control == 'textarea') $this->skipSpecial($field); $this->specialChars($field); } if(empty($fields)) return $this->data; if(strpos($fields, ',') === false) return $this->data->$fields; /* Process fields for check by key. */ $fields = array_flip(explode(',', $fields)); foreach($this->data as $field => $value) { if(!isset($fields[$field])) unset($this->data->$field); if(!isset($this->stripedFields[$field])) $this->specialChars($field); } return $this->data; } }