setTasUid($sTasUid); $oCaseConsolidated->setConStatus('INACTIVE'); $oCaseConsolidated->save(); } return 1; } $rptUid = null; $criteria = new Criteria(); $criteria->addSelectColumn(ReportTablePeer::REP_TAB_UID); $criteria->add(ReportTablePeer::REP_TAB_UID, $sRepTabUid); $rsCriteria = ReportTablePeer::doSelectRS($criteria); if ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $rptUid = $row[0]; } $rpts = new ReportTables(); if ($rptUid != null) { $rpts->deleteReportTable($rptUid); } $sClassName = $tableName; $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; @unlink($sPath . $sClassName . '.php'); @unlink($sPath . $sClassName . 'Peer.php'); @unlink($sPath . PATH_SEP . 'map' . PATH_SEP . $sClassName . 'MapBuilder.php'); @unlink($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base' . $sClassName . '.php'); @unlink($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base' . $sClassName . 'Peer.php'); $sRepTabUid = ''; } $_POST['form']['PRO_UID'] = $sProUid; $_POST['form']['REP_TAB_UID'] = $sRepTabUid; $_POST['form']['REP_TAB_NAME'] = $tableName; $_POST['form']['REP_TAB_TYPE'] = "NORMAL"; $_POST['form']['REP_TAB_GRID'] = ''; $_POST['form']['REP_TAB_CONNECTION'] = 'wf'; $_POST['form']['REP_TAB_CREATE_DATE'] = date("Y-m-d H:i:s"); $_POST['form']['REP_TAB_STATUS'] = 'ACTIVE'; $_POST['form']['REP_TAB_TITLE'] = $title; $_POST['form']['FIELDS'] = array(); G::LoadClass("reportTables"); $oReportTable = new ReportTable(); $sOldTableName = $_POST['form']['REP_TAB_NAME']; $sOldConnection = $_POST['form']['REP_TAB_CONNECTION']; $oReportTable->create($_POST['form']); $_POST['form']['REP_TAB_UID'] = $oReportTable->getRepTabUid(); $oReportVar = new ReportVar(); $oReportTables = new ReportTables(); $oReportTables->deleteAllReportVars($_POST['form']['REP_TAB_UID']); $aFields = array(); G::LoadClass("pmDynaform"); $pmDyna = new pmDynaform(array()); $pmDyna->fields["CURRENT_DYNAFORM"] = $sDynUid; $dataDyna = $pmDyna->getDynaform(); $json = G::json_decode($dataDyna["DYN_CONTENT"]); $fieldsDyna = $json->items[0]->items; foreach ($fieldsDyna as $value) { $_POST['form']['FIELDS'][] = $value[0]->name . '-' . $value[0]->type; } $aFieldsClases = array(); $i = 1; $aFieldsClases[$i]['FLD_NAME'] = 'APP_UID'; $aFieldsClases[$i]['FLD_NULL'] = 'off'; $aFieldsClases[$i]['FLD_KEY'] = 'on'; $aFieldsClases[$i]['FLD_AUTO_INCREMENT'] = 'off'; $aFieldsClases[$i]['FLD_DESCRIPTION'] = ''; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR' ; $aFieldsClases[$i]['FLD_SIZE'] = 32; $i++; $aFieldsClases[$i]['FLD_NAME'] = 'APP_NUMBER'; $aFieldsClases[$i]['FLD_NULL'] = 'off'; $aFieldsClases[$i]['FLD_KEY'] = 'on'; $aFieldsClases[$i]['FLD_AUTO_INCREMENT'] = 'off'; $aFieldsClases[$i]['FLD_DESCRIPTION'] = ''; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR' ; $aFieldsClases[$i]['FLD_SIZE'] = 255; foreach ($_POST['form']['FIELDS'] as $sField) { $aField = explode('-', $sField); if ($aField[1] == 'title' || $aField[1] == 'submit') { continue; } $i++; $aFieldsClases[$i]['FLD_NAME'] = $aField[0]; $aFieldsClases[$i]['FLD_NULL'] = 'off'; $aFieldsClases[$i]['FLD_KEY'] = 'off'; $aFieldsClases[$i]['FLD_AUTO_INCREMENT'] = 'off'; $aFieldsClases[$i]['FLD_DESCRIPTION'] = ''; switch ($aField[1]) { case 'currency': case 'percentage': $sType = 'number'; $aFieldsClases[$i]['FLD_TYPE'] = 'FLOAT' ; $aFieldsClases[$i]['FLD_SIZE'] = 255; break; case 'text': case 'password': case 'dropdown': case 'yesno': case 'checkbox': case 'radiogroup': case 'hidden': case "link": $sType = 'char'; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR' ; $aFieldsClases[$i]['FLD_SIZE'] = 255; break; case 'textarea': $sType = 'text'; $aFieldsClases[$i]['FLD_TYPE'] = 'TEXT' ; $aFieldsClases[$i]['FLD_SIZE'] = ''; break; case 'date': $sType = 'date'; $aFieldsClases[$i]['FLD_TYPE'] = 'DATE' ; $aFieldsClases[$i]['FLD_SIZE'] = ''; break; default: $sType = 'char'; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR' ; $aFieldsClases[$i]['FLD_SIZE'] = 255; break; } $oReportVar->create(array('REP_TAB_UID' => $_POST['form']['REP_TAB_UID'], 'PRO_UID' => $_POST['form']['PRO_UID'], 'REP_VAR_NAME' => $aField[0], 'REP_VAR_TYPE' => $sType)); $aFields[] = array('sFieldName' => $aField[0], 'sType' => $sType); } $_POST['form']['REP_TAB_TYPE'] = "NORMAL"; $oReportTables->dropTable($sOldTableName, $sOldConnection); $oReportTables->createTable($_POST['form']['REP_TAB_NAME'], $_POST['form']['REP_TAB_CONNECTION'], $_POST['form']['REP_TAB_TYPE'], $aFields); $oReportTables->populateTable($_POST['form']['REP_TAB_NAME'], $_POST['form']['REP_TAB_CONNECTION'], $_POST['form']['REP_TAB_TYPE'], $aFields, $_POST['form']['PRO_UID'], ''); $sRepTabUid = $_POST['form']['REP_TAB_UID']; $oCaseConsolidated = CaseConsolidatedPeer::retrieveByPK($sTasUid); if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidated') { $oCaseConsolidated = new CaseConsolidated(); $oCaseConsolidated->setTasUid($sTasUid); } $oCaseConsolidated->setConStatus('ACTIVE'); $oCaseConsolidated->setDynUid($sDynUid); $oCaseConsolidated->setRepTabUid($sRepTabUid); $oCaseConsolidated->save(); $sClassName = $tableName; $oAdditionalTables = new AdditionalTables(); $oAdditionalTables->createPropelClasses($tableName, $sClassName, $aFieldsClases, $sTasUid); } }