static function reportFormDataHandler($action, $filter_data, $generic_data, $redirect_url) { global $current_company, $current_user; if ($action == '') { return FALSE; } if (!is_array($generic_data)) { return FALSE; } $saved_report_id = FALSE; $ugdlf = new UserGenericDataListFactory(); $ugdf = new UserGenericDataFactory(); if ($action == 'save' or $action == 'update') { Debug::Text('Save Report!', __FILE__, __LINE__, __METHOD__, 10); if (isset($generic_data['id']) and $generic_data['id'] != '' and $generic_data['id'] != 0) { $ugdlf->getByUserIdAndId($current_user->getId(), $generic_data['id']); if ($ugdlf->getRecordCount() > 0) { $ugdf = $ugdlf->getCurrent(); } $ugdf->setID($generic_data['id']); } $ugdf->setCompany($current_company->getId()); $ugdf->setUser($current_user->getId()); $ugdf->setScript(self::handleScriptName($_SERVER['SCRIPT_NAME'])); if (isset($generic_data['name']) and $generic_data['name'] != '') { $ugdf->setName($generic_data['name']); } $ugdf->setData($filter_data); if (isset($generic_data['is_default'])) { $ugdf->setDefault(TRUE); } } elseif ($action == 'delete' and isset($generic_data['id']) and $generic_data['id'] != '') { $ugdlf->getByUserIdAndId($current_user->getId(), $generic_data['id']); if ($ugdlf->getRecordCount() > 0) { $ugd_obj = $ugdlf->getCurrent(); $ugd_obj->setDeleted(TRUE); $ugd_obj->Save(); } Redirect::Page($redirect_url); return TRUE; } if (is_object($ugdf) and $ugdf->isValid()) { $ugf_id = $ugdf->Save(); if (is_numeric($ugf_id)) { $saved_report_id = $ugf_id; } elseif ($ugf_id === TRUE) { $saved_report_id = $generic_data['id']; } unset($ugf_id); } return $saved_report_id; }