foreach ($columns as $i => $column) { $field = array('FLD_UID' => $column->uid, 'FLD_INDEX' => $i, 'ADD_TAB_UID' => $addTabUid, 'FLD_NAME' => $column->field_name, 'FLD_DESCRIPTION' => $column->field_label, 'FLD_TYPE' => $column->field_type, 'FLD_SIZE' => $column->field_size, 'FLD_NULL' => isset($column->field_null) ? $column->field_null : 1, 'FLD_AUTO_INCREMENT' => 0, 'FLD_KEY' => isset($column->field_key) ? $column->field_key : 0, 'FLD_FOREIGN_KEY' => 0, 'FLD_FOREIGN_KEY_TABLE' => '', 'FLD_DYN_NAME' => $column->field_dyn, 'FLD_DYN_UID' => $column->field_uid, 'FLD_FILTER' => isset($column->field_filter) && $column->field_filter ? 1 : 0); $fieldUid = $oFields->create($field); $fieldsList[] = $field; if ($data['REP_TAB_UID'] == '') { //new $aFields[] = array('sType' => $column->field_type, 'iSize' => $column->field_size, 'sFieldName' => $column->field_name, 'bNull' => isset($column->field_null) ? $column->field_null : 1, 'bAI' => 0, 'bPrimaryKey' => isset($column->field_key) ? $column->field_key : 0); } else { //editing $field['FLD_UID'] = $fieldUid; $aFields[$fieldUid] = $field; } } if ($data['REP_TAB_UID'] == '') { //create a new report table $oAdditionalTables->createTable($data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $aFields); } else { //editing //print_R($aFields); $oAdditionalTables->updateTable($data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $aFields, $oldFields); } $oAdditionalTables->createPropelClasses($data['REP_TAB_NAME'], $repTabClassName, $fieldsList, $addTabUid); $oAdditionalTables->populateReportTable($data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $data['REP_TAB_TYPE'], $fieldsList, $data['PRO_UID'], $data['REP_TAB_GRID']); $result->success = true; } catch (Exception $e) { $result->success = false; $result->msg = $e->getMessage(); $result->trace = $e->getTraceAsString(); } echo G::json_encode($result); break;
foreach ($pmTableFields as $iRow => $aRow) { $pmTableFields[$iRow]['FLD_NAME'] = strtoupper($aRow['FLD_NAME']); $pmTableFields[$iRow]['FLD_DESCRIPTION'] = isset($aRow['FLD_DESCRIPTION']) ? $aRow['FLD_DESCRIPTION'] : $aRow['FLD_NAME']; $pmTableFields[$iRow]['FLD_TYPE'] = isset($aRow['FLD_TYPE']) ? $aRow['FLD_TYPE'] : 'VARCHAR'; $pmTableFields[$iRow]['FLD_SIZE'] = isset($aRow['FLD_SIZE']) ? $aRow['FLD_SIZE'] : '32'; $pmTableFields[$iRow]['FLD_NULL'] = isset($aRow['FLD_NULL']) ? $aRow['FLD_NULL'] : 'off'; $pmTableFields[$iRow]['FLD_AUTO_INCREMENT'] = isset($aRow['FLD_AUTO_INCREMENT']) ? $aRow['FLD_AUTO_INCREMENT'] : 'off'; $pmTableFields[$iRow]['FLD_KEY'] = isset($aRow['FLD_KEY']) ? $aRow['FLD_KEY'] : 'off'; $pmTableFields[$iRow]['FLD_FOREIGN_KEY'] = isset($aRow['FLD_FOREIGN_KEY']) ? $aRow['FLD_FOREIGN_KEY'] : 'off'; $pmTableFields[$iRow]['FLD_FOREIGN_KEY_TABLE'] = isset($aRow['FLD_FOREIGN_KEY_TABLE']) ? $aRow['FLD_FOREIGN_KEY_TABLE'] : ''; } foreach ($pmTableFields as $iRow => $aRow) { $oFields->create(array('FLD_INDEX' => $iRow + 1, 'ADD_TAB_UID' => $sAddTabUid, 'FLD_NAME' => $aRow['FLD_NAME'], 'FLD_DESCRIPTION' => isset($aRow['FLD_DESCRIPTION']) ? $aRow['FLD_DESCRIPTION'] : '', 'FLD_TYPE' => isset($aRow['FLD_TYPE']) ? $aRow['FLD_TYPE'] : 'VARCHAR', 'FLD_SIZE' => isset($aRow['FLD_SIZE']) ? $aRow['FLD_SIZE'] : '32', 'FLD_NULL' => $aRow['FLD_NULL'] == 'on' ? 1 : 0, 'FLD_AUTO_INCREMENT' => $aRow['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0, 'FLD_KEY' => $aRow['FLD_KEY'] == 'on' ? 1 : 0, 'FLD_FOREIGN_KEY' => $aRow['FLD_FOREIGN_KEY'] == 'on' ? 1 : 0, 'FLD_FOREIGN_KEY_TABLE' => isset($aRow['FLD_FOREIGN_KEY_TABLE']) ? $aRow['FLD_FOREIGN_KEY_TABLE'] : '')); $aFields[] = array('sType' => isset($aRow['FLD_TYPE']) ? $aRow['FLD_TYPE'] : 'VARCHAR', 'iSize' => isset($aRow['FLD_SIZE']) ? $aRow['FLD_SIZE'] : '32', 'sFieldName' => $aRow['FLD_NAME'], 'bNull' => $aRow['FLD_NULL'] == 'on' ? 1 : 0, 'bAI' => $aRow['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0, 'bPrimaryKey' => $aRow['FLD_KEY'] == 'on' ? 1 : 0); } $oAdditionalTables->createTable(strtoupper($pmTableName), 'wf', $aFields); $oAdditionalTables->createPropelClasses(strtoupper($pmTableName), $pmTableName, $pmTableFields, $sAddTabUid); require_once "classes/model/Application.php"; require_once "classes/model/AdditionalTables.php"; require_once "classes/model/Fields.php"; $Criteria = new Criteria('workflow'); $Criteria->addSelectColumn(ApplicationPeer::APP_UID); $Criteria->addSelectColumn(ApplicationPeer::APP_DATA); // $Criteria->add (AppCacheViewPeer::DEL_THREAD_STATUS, 'OPEN'); $oDataset = ApplicationPeer::doSelectRS($Criteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aProcesses = array(); $i = 0; while ($aRow = $oDataset->getRow()) { $appuid = $aRow['APP_UID'];