diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index cff95964a..714da24c0 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -2047,7 +2047,7 @@ class Bootstrap public function array_merges() { $array = array(); - $arrays = & func_get_args(); + $arrays = func_get_args(); foreach ($arrays as $array_i) { if (is_array($array_i)) { Bootstrap::array_merge_2($array, $array_i); diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php index 3161db9e4..c2c939581 100644 --- a/workflow/engine/classes/Cases.php +++ b/workflow/engine/classes/Cases.php @@ -1,6 +1,7 @@ insertHistory($aFieldsHistory); + + + $type = isset($Fields['OBJECT_TYPE']) ? + $Fields['OBJECT_TYPE'] : ChangeLog::getChangeLog()->getObjectNameById(ChangeLog::DYNAFORM); + ChangeLog::getChangeLog() + ->setDate($Fields['APP_UPDATE_DATE']) + ->setAppNumber($Fields['APP_NUMBER']) + ->setDelIndex($Fields['DEL_INDEX']) + ->setData($appDataWithoutDynContentHistory) + ->getProIdByProUid($Fields['PRO_UID']) + ->getTasIdByTasUid($Fields['TAS_UID']) + ->getObjectIdByUidAndObjType($Fields['CURRENT_DYNAFORM'], $type) + ->register(); } } //End Save History @@ -3363,6 +3378,11 @@ class Cases */ public function executeTriggers($sTasUid, $sStepType, $sStepUidObj, $sTriggerType, $aFields = array()) { + ChangeLog::getChangeLog() + ->setStepTypeObject($sStepType) + ->setObjectUid($sStepUidObj) + ->getExecutedAtIdByTriggerType($sTriggerType); + $aTriggers = $this->loadTriggers($sTasUid, $sStepType, $sStepUidObj, $sTriggerType); if (count($aTriggers) > 0) { diff --git a/workflow/engine/classes/WsBase.php b/workflow/engine/classes/WsBase.php index e8bfade79..e8a3c9d64 100644 --- a/workflow/engine/classes/WsBase.php +++ b/workflow/engine/classes/WsBase.php @@ -1,18 +1,9 @@ - * Last Modify comment(26.06.2008): the session expired verification was removed from here to soap class - * - * @package workflow.engine.classes - */ class WsBase { public $stored_system_variables; //boolean @@ -2258,13 +2249,25 @@ class WsBase unset($appFields['APP_PROC_STATUS']); unset($appFields['APP_PROC_CODE']); unset($appFields['APP_PIN']); - $oCase->updateCase($caseId, $appFields); + $fieldsUpdated = $oCase->updateCase($caseId, $appFields); //We need to update the variable $appData for use the new variables in the next trigger $appData = array_merge($appData, $appFields['APP_DATA']); } } } + + ChangeLog::getChangeLog() + ->setDate($fieldsUpdated['APP_UPDATE_DATE']) + ->setAppNumber($fieldsUpdated['APP_NUMBER']) + ->setDelIndex($fieldsUpdated['DEL_INDEX']) + ->getProIdByProUid($appData['PROCESS']) + ->getTasIdByTasUid($appData['TASK']) + ->setStepTypeObject($stepType) + ->setObjectUid($stepUidObj) + ->setData($fieldsUpdated['APP_DATA']) + ->getExecutedAtIdByTriggerType($triggerType); + return $varTriggers; } diff --git a/workflow/engine/classes/class.pmScript.php b/workflow/engine/classes/class.pmScript.php index 2b8179bed..8b4feef84 100644 --- a/workflow/engine/classes/class.pmScript.php +++ b/workflow/engine/classes/class.pmScript.php @@ -1,76 +1,34 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ -//////////////////////////////////////////////////// -// Execute and evaluate PMScripts -// -// Copyright (C) 2007 COLOSA -// -// License: LGPL, see LICENSE -//////////////////////////////////////////////////// - use ProcessMaker\Plugins\PluginRegistry; -/** - * PMScript - PMScript class - * - * @author Julio Cesar Laura Avenda�o - * last modify 2008.08.13 by Erik Amaru Ortiz - * last modify comment was added and adapted the catch errors - * @copyright 2007 COLOSA - */ -function __autoload ($sClassName) +function __autoload($sClassName) { if (!empty(config("system.workspace"))) { $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; - if (file_exists( $sPath . $sClassName . '.php' )) { + if (file_exists($sPath . $sClassName . '.php')) { require_once $sPath . $sClassName . '.php'; } } } - if (!empty(config("system.workspace")) && (!defined('PATH_DATA_SITE') || !defined('PATH_WORKSPACE'))) { Bootstrap::setConstantsRelatedWs(config("system.workspace")); } //Add External Triggers -$dir = G::ExpandPath( "classes" ) . 'triggers'; -$filesArray = array (); -if (file_exists( $dir )) { - if ($handle = opendir( $dir )) { - while (false !== ($file = readdir( $handle ))) { +$dir = G::ExpandPath("classes") . 'triggers'; +$filesArray = []; +if (file_exists($dir)) { + if ($handle = opendir($dir)) { + while (false !== ($file = readdir($handle))) { if (($file != ".") && ($file != "..")) { - $extFile = explode( ".", $file ); - if ($extFile[sizeof( $extFile ) - 1] == 'php') { + $extFile = explode(".", $file); + if ($extFile[sizeof($extFile) - 1] == 'php') { include_once ($dir . PATH_SEP . $file); } } } - closedir( $handle ); + closedir($handle); } } @@ -85,17 +43,17 @@ class PMScript /** * @var array $dataTrigger */ - public $dataTrigger = array(); + public $dataTrigger = []; /** * Original fields */ - public $aOriginalFields = array (); + public $aOriginalFields = []; /** * Fields to use */ - public $aFields = array (); + public $aFields = []; /** * Script @@ -111,9 +69,7 @@ class PMScript * Affected fields */ public $affected_fields = []; - public $scriptExecutionTime = 0; - public $sRegexp = '/\@(?:([\@\%\#\?\$\=\&])([a-zA-Z\_]\w*)|([a-zA-Z\_][\w\-\>\:]*)\(((?:[^\\\\\)]*(?:[\\\\][\w\W])?)*)\))((?:\s*\[[\'"]?\w+[\'"]?\])+|\-\>([a-zA-Z\_]\w*))?/'; /** @@ -121,7 +77,7 @@ class PMScript * * @return void */ - public function PMScript () + public function PMScript() { $this->aFields['__ERROR__'] = 'none'; } @@ -132,10 +88,10 @@ class PMScript * @param array $aFields * @return void */ - public function setFields ($aFields = array()) + public function setFields($aFields = []) { - if (! is_array( $aFields )) { - $aFields = array (); + if (!is_array($aFields)) { + $aFields = []; } $this->aOriginalFields = $this->aFields = $aFields; } @@ -146,7 +102,7 @@ class PMScript * @param string $sScript * @return void */ - public function setScript ($sScript = '') + public function setScript($sScript = '') { if (!defined("T_ML_COMMENT")) { define("T_ML_COMMENT", T_COMMENT); @@ -192,7 +148,7 @@ class PMScript * @param string $sScript * @return boolean */ - public function validSyntax ($sScript) + public function validSyntax($sScript) { return true; } @@ -202,7 +158,7 @@ class PMScript */ public function setDataTrigger($dataTrigger) { - $this->dataTrigger = is_array($dataTrigger) ? $dataTrigger : array(); + $this->dataTrigger = is_array($dataTrigger) ? $dataTrigger : []; } /** @@ -218,7 +174,7 @@ class PMScript $_SESSION['_DATA_TRIGGER_']['_EXECUTION_TIME_'] = microtime(true); eval($sScript); $this->scriptExecutionTime = round(microtime(true) - - $_SESSION['_DATA_TRIGGER_']['_EXECUTION_TIME_'], 5); + $_SESSION['_DATA_TRIGGER_']['_EXECUTION_TIME_'], 5); $this->evaluateVariable(); ob_end_flush(); @@ -233,16 +189,16 @@ class PMScript * * @return void */ - public function execute () + public function execute() { $sScript = ""; $iAux = 0; - $iOcurrences = preg_match_all( $this->sRegexp, $this->sScript, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE ); + $iOcurrences = preg_match_all($this->sRegexp, $this->sScript, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE); if ($iOcurrences) { for ($i = 0; $i < $iOcurrences; $i ++) { $bEqual = false; - $sAux = substr( $this->sScript, $iAux, $aMatch[0][$i][1] - $iAux ); - if (! $bEqual) { + $sAux = substr($this->sScript, $iAux, $aMatch[0][$i][1] - $iAux); + if (!$bEqual) { if (strpos($sAux, "==") !== false || strpos($sAux, "!=") !== false || strpos($sAux, ">") !== false || strpos($sAux, "<") !== false || strpos($sAux, ">=") !== false || strpos($sAux, "<=") !== false || strpos($sAux, "<>") !== false || strpos($sAux, "===") !== false || strpos($sAux, "!==") !== false) { $bEqual = false; } else { @@ -252,115 +208,115 @@ class PMScript } } if ($bEqual) { - if (strpos( $sAux, ';' ) !== false) { + if (strpos($sAux, ';') !== false) { $bEqual = false; } } if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { - eval( "if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = " . ($aMatch[1][$i][0] == "&" ? "new stdclass()" : "null") . "; }" ); + if (!isset($aMatch[5][$i][0])) { + eval("if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = " . ($aMatch[1][$i][0] == "&" ? "new stdclass()" : "null") . "; }"); } else { if ($aMatch[1][$i][0] == "&") { - eval( "if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = new stdclass(); }" ); + eval("if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = new stdclass(); }"); } - eval( "if (!isset(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")) { \$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . " = null; }" ); + eval("if (!isset(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")) { \$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . " = null; }"); } } else { if ($aMatch[1][$i][0] == "&") { - eval( "if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = new stdclass(); }" ); + eval("if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = new stdclass(); }"); } } $sScript .= $sAux; - $iAux = $aMatch[0][$i][1] + strlen( $aMatch[0][$i][0] ); + $iAux = $aMatch[0][$i][1] + strlen($aMatch[0][$i][0]); switch ($aMatch[1][$i][0]) { case '@': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToString(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToString(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToString(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '%': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToInteger(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToInteger(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToInteger(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '#': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToFloat(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToFloat(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToFloat(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '?': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToUrl(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToUrl(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToUrl(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '$': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmSqlEscape(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmSqlEscape(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmSqlEscape(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '=': case '&': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; @@ -368,18 +324,16 @@ class PMScript $this->affected_fields[] = $aMatch[2][$i][0]; } } - $sScript .= substr( $this->sScript, $iAux ); + $sScript .= substr($this->sScript, $iAux); $sScript = "try {\n" . $sScript . "\n} catch (Exception \$oException) {\n " . " \$this->aFields['__ERROR__'] = utf8_encode(\$oException->getMessage());\n}"; - //echo '
-->'; print_r($this->aFields); echo '<---
'; $this->executeAndCatchErrors($sScript, $this->sScript); $this->aFields["__VAR_CHANGED__"] = implode(",", $this->affected_fields); - for ($i = 0; $i < count( $this->affected_fields ); $i ++) { - $_SESSION['TRIGGER_DEBUG']['DATA'][] = Array ('key' => $this->affected_fields[$i],'value' => isset( $this->aFields[$this->affected_fields[$i]] ) ? $this->aFields[$this->affected_fields[$i]] : '' + for ($i = 0; $i < count($this->affected_fields); $i ++) { + $_SESSION['TRIGGER_DEBUG']['DATA'][] = Array('key' => $this->affected_fields[$i], 'value' => isset($this->aFields[$this->affected_fields[$i]]) ? $this->aFields[$this->affected_fields[$i]] : '' ); } - //echo '
-->'; print_r($_SESSION['TRIGGER_DEBUG']['DATA']); echo '<---
'; } /** @@ -387,27 +341,26 @@ class PMScript * * @return boolean */ - public function evaluate () + public function evaluate() { $bResult = null; $sScript = ''; $iAux = 0; $bEqual = false; $variableIsDefined = true; - $iOcurrences = preg_match_all( $this->sRegexp, $this->sScript, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE ); + $iOcurrences = preg_match_all($this->sRegexp, $this->sScript, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE); if ($iOcurrences) { for ($i = 0; $i < $iOcurrences; $i ++) { // if the variables for that condition has not been previously defined then $variableIsDefined // is set to false if (!isset($this->aFields[$aMatch[2][$i][0]]) && !isset($aMatch[5][$i][0])) { - eval( "if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = " . ($aMatch[1][$i][0] == "&" ? "new stdclass()" : "null") . "; }" ); + eval("if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = " . ($aMatch[1][$i][0] == "&" ? "new stdclass()" : "null") . "; }"); } else { if ($aMatch[1][$i][0] == "&") { - eval( "if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = new stdclass(); }" ); + eval("if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "'])) { \$this->aFields['" . $aMatch[2][$i][0] . "'] = new stdclass(); }"); } if (!isset($this->aFields[$aMatch[2][$i][0]])) { eval("\$this->aFields['" . $aMatch[2][$i][0] . "']" . $aMatch[5][$i][0] . " = '';"); - } else { if (isset($aMatch[5][$i][0])) { eval("if (!isset(\$this->aFields['" . $aMatch[2][$i][0] . "']" . $aMatch[5][$i][0] . ")) {\$this->aFields['" . $aMatch[2][$i][0] . "']" . $aMatch[5][$i][0] . " = '';}"); @@ -416,179 +369,178 @@ class PMScript } } } - $sAux = substr( $this->sScript, $iAux, $aMatch[0][$i][1] - $iAux ); - if (! $bEqual) { - if (strpos( $sAux, '=' ) !== false) { + $sAux = substr($this->sScript, $iAux, $aMatch[0][$i][1] - $iAux); + if (!$bEqual) { + if (strpos($sAux, '=') !== false) { $bEqual = true; } } if ($bEqual) { - if (strpos( $sAux, ';' ) !== false) { + if (strpos($sAux, ';') !== false) { $bEqual = false; } } $sScript .= $sAux; - $iAux = $aMatch[0][$i][1] + strlen( $aMatch[0][$i][0] ); + $iAux = $aMatch[0][$i][1] + strlen($aMatch[0][$i][0]); switch ($aMatch[1][$i][0]) { case '@': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToString(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToString(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToString(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '%': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToInteger(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToInteger(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToInteger(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '#': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToFloat(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToFloat(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToFloat(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '?': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmToUrl(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmToUrl(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmToUrl(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '$': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "pmSqlEscape(\$this->aFields['" . $aMatch[2][$i][0] . "'])"; } else { - $sScript .= "pmSqlEscape(\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; + $sScript .= "pmSqlEscape(\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0] . ")"; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; case '=': case '&': if ($bEqual) { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } else { - if (! isset( $aMatch[5][$i][0] )) { + if (!isset($aMatch[5][$i][0])) { $sScript .= "\$this->aFields['" . $aMatch[2][$i][0] . "']"; } else { - $sScript .= "\$this->aFields" . (isset( $aMatch[2][$i][0] ) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; + $sScript .= "\$this->aFields" . (isset($aMatch[2][$i][0]) ? "['" . $aMatch[2][$i][0] . "']" : '') . $aMatch[5][$i][0]; } } break; } } } - $sScript .= substr( $this->sScript, $iAux ); - if(preg_match('/\b(or|and|xor)\b/i' , $sScript)) { - $sScript = "( ".$sScript." )"; + $sScript .= substr($this->sScript, $iAux); + if (preg_match('/\b(or|and|xor)\b/i', $sScript)) { + $sScript = "( " . $sScript . " )"; } $sScript = '$bResult = ' . $sScript . ';'; // checks if the syntax is valid or if the variables in that condition has been previously defined - if ($this->validSyntax( $sScript ) && $variableIsDefined) { + if ($this->validSyntax($sScript) && $variableIsDefined) { $this->bError = false; - eval( $sScript ); + eval($sScript); } else { - // echo ""; - G::SendTemporalMessage( 'MSG_CONDITION_NOT_DEFINED', 'error', 'labels' ); + G::SendTemporalMessage('MSG_CONDITION_NOT_DEFINED', 'error', 'labels'); $this->bError = true; } return $bResult; } - Public function evaluateVariable () + Public function evaluateVariable() { $process = new Process(); - if(!$process->isBpmnProcess($_SESSION['PROCESS'])) { + if (!$process->isBpmnProcess($_SESSION['PROCESS'])) { return; } - require_once PATH_CORE.'controllers/pmTablesProxy.php'; + require_once PATH_CORE . 'controllers/pmTablesProxy.php'; $pmTablesProxy = new pmTablesProxy(); $variableModule = new ProcessMaker\BusinessModel\Variable(); - $searchTypes = array ('checkgroup','dropdown','suggest'); - $processVariables = $pmTablesProxy->getDynaformVariables($_SESSION['PROCESS'],$searchTypes,false); + $searchTypes = array('checkgroup', 'dropdown', 'suggest'); + $processVariables = $pmTablesProxy->getDynaformVariables($_SESSION['PROCESS'], $searchTypes, false); $variables = $this->affected_fields; - $variables = (is_array($variables))? array_unique($variables) : $variables; - $newFields = array(); - $arrayValues = array(); - $arrayLabels = array(); - if(is_array($variables) && is_array($processVariables)) { - foreach($variables as $var) { - if(strpos($var, '_label') === false) { - if(in_array($var,$processVariables)) { - if(isset($this->aFields[$var]) && is_array($this->aFields[$var][1]) ) { - $varLabel = $var.'_label'; + $variables = (is_array($variables)) ? array_unique($variables) : $variables; + $newFields = []; + $arrayValues = []; + $arrayLabels = []; + if (is_array($variables) && is_array($processVariables)) { + foreach ($variables as $var) { + if (strpos($var, '_label') === false) { + if (in_array($var, $processVariables)) { + if (isset($this->aFields[$var]) && is_array($this->aFields[$var][1])) { + $varLabel = $var . '_label'; $arrayValue = $this->aFields[$var]; - if(is_array($arrayValue) && sizeof($arrayValue)) { - foreach($arrayValue as $val) { - if(is_array($val)){ + if (is_array($arrayValue) && sizeof($arrayValue)) { + foreach ($arrayValue as $val) { + if (is_array($val)) { $val = array_values($val); $arrayValues[] = $val[0]; $arrayLabels[] = $val[1]; } } - if(sizeof($arrayLabels)) { - $varInfo = $variableModule->getVariableTypeByName($_SESSION['PROCESS'],$var); - if(is_array($varInfo) && sizeof($varInfo)) { + if (sizeof($arrayLabels)) { + $varInfo = $variableModule->getVariableTypeByName($_SESSION['PROCESS'], $var); + if (is_array($varInfo) && sizeof($varInfo)) { $varType = $varInfo['VAR_FIELD_TYPE']; - switch($varType) { + switch ($varType) { case 'array': - $arrayLabels = '["'.implode('","',$arrayLabels).'"]'; + $arrayLabels = '["' . implode('","', $arrayLabels) . '"]'; $newFields[$var] = $arrayValues; $newFields[$varLabel] = $arrayLabels; - break; + break; case 'string': $newFields[$var] = $arrayValues[0]; $newFields[$varLabel] = $arrayLabels[0]; - break; + break; } $this->affected_fields[] = $varLabel; - $this->aFields = array_merge($this->aFields,$newFields); + $this->aFields = array_merge($this->aFields, $newFields); unset($newFields); unset($arrayValues); unset($arrayLabels); @@ -618,7 +570,6 @@ class PMScript } } } catch (Exception $e) { - } } } @@ -627,4 +578,4 @@ class PMScript } } } -} \ No newline at end of file +} diff --git a/workflow/engine/classes/model/map/AppDataChangeLogMapBuilder.php b/workflow/engine/classes/model/map/AppDataChangeLogMapBuilder.php index edd058b83..792637993 100644 --- a/workflow/engine/classes/model/map/AppDataChangeLogMapBuilder.php +++ b/workflow/engine/classes/model/map/AppDataChangeLogMapBuilder.php @@ -79,16 +79,18 @@ class AppDataChangeLogMapBuilder $tMap->addColumn('USR_ID', 'UsrId', 'int', CreoleTypes::INTEGER, false, null); - $tMap->addColumn('DYN_ID', 'DynId', 'int', CreoleTypes::INTEGER, false, null); + $tMap->addColumn('OBJECT_TYPE', 'ObjectType', 'int', CreoleTypes::INTEGER, false, null); - $tMap->addColumn('SOURCE_ID', 'SourceId', 'string', CreoleTypes::VARCHAR, false, 32); + $tMap->addColumn('OBJECT_ID', 'ObjectId', 'int', CreoleTypes::INTEGER, false, null); - $tMap->addColumn('ST_TYPE', 'StType', 'string', CreoleTypes::VARCHAR, false, 32); + $tMap->addColumn('OBJECT_UID', 'ObjectUid', 'string', CreoleTypes::VARCHAR, false, 32); + + $tMap->addColumn('EXECUTED_AT', 'ExecutedAt', 'int', CreoleTypes::INTEGER, false, null); + + $tMap->addColumn('SOURCE_ID', 'SourceId', 'int', CreoleTypes::INTEGER, false, null); $tMap->addColumn('DATA', 'Data', 'string', CreoleTypes::LONGVARCHAR, true, null); - $tMap->addColumn('SOURCE_TO_SAVE', 'SourceToSave', 'string', CreoleTypes::VARCHAR, false, 32); - $tMap->addColumn('SKIN', 'Skin', 'string', CreoleTypes::VARCHAR, false, 32); $tMap->addColumn('LANGUAGE', 'Language', 'string', CreoleTypes::VARCHAR, false, 32); diff --git a/workflow/engine/classes/model/map/DynaformMapBuilder.php b/workflow/engine/classes/model/map/DynaformMapBuilder.php index bdfb6ba30..2f20a0c85 100644 --- a/workflow/engine/classes/model/map/DynaformMapBuilder.php +++ b/workflow/engine/classes/model/map/DynaformMapBuilder.php @@ -63,10 +63,12 @@ class DynaformMapBuilder $tMap = $this->dbMap->addTable('DYNAFORM'); $tMap->setPhpName('Dynaform'); - $tMap->setUseIdGenerator(false); + $tMap->setUseIdGenerator(true); $tMap->addPrimaryKey('DYN_UID', 'DynUid', 'string', CreoleTypes::VARCHAR, true, 32); + $tMap->addColumn('DYN_ID', 'DynId', 'int', CreoleTypes::INTEGER, true, null); + $tMap->addColumn('DYN_TITLE', 'DynTitle', 'string', CreoleTypes::LONGVARCHAR, true, null); $tMap->addColumn('DYN_DESCRIPTION', 'DynDescription', 'string', CreoleTypes::LONGVARCHAR, false, null); diff --git a/workflow/engine/classes/model/map/InputDocumentMapBuilder.php b/workflow/engine/classes/model/map/InputDocumentMapBuilder.php index ea06c2f99..f1e913771 100644 --- a/workflow/engine/classes/model/map/InputDocumentMapBuilder.php +++ b/workflow/engine/classes/model/map/InputDocumentMapBuilder.php @@ -63,10 +63,12 @@ class InputDocumentMapBuilder $tMap = $this->dbMap->addTable('INPUT_DOCUMENT'); $tMap->setPhpName('InputDocument'); - $tMap->setUseIdGenerator(false); + $tMap->setUseIdGenerator(true); $tMap->addPrimaryKey('INP_DOC_UID', 'InpDocUid', 'string', CreoleTypes::VARCHAR, true, 32); + $tMap->addColumn('INP_DOC_ID', 'InpDocId', 'int', CreoleTypes::INTEGER, true, null); + $tMap->addColumn('PRO_UID', 'ProUid', 'string', CreoleTypes::VARCHAR, true, 32); $tMap->addColumn('INP_DOC_TITLE', 'InpDocTitle', 'string', CreoleTypes::LONGVARCHAR, true, null); diff --git a/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php b/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php index 563fac153..61edd953d 100644 --- a/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php +++ b/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php @@ -63,10 +63,12 @@ class OutputDocumentMapBuilder $tMap = $this->dbMap->addTable('OUTPUT_DOCUMENT'); $tMap->setPhpName('OutputDocument'); - $tMap->setUseIdGenerator(false); + $tMap->setUseIdGenerator(true); $tMap->addPrimaryKey('OUT_DOC_UID', 'OutDocUid', 'string', CreoleTypes::VARCHAR, true, 32); + $tMap->addColumn('OUT_DOC_ID', 'OutDocId', 'int', CreoleTypes::INTEGER, true, null); + $tMap->addColumn('OUT_DOC_TITLE', 'OutDocTitle', 'string', CreoleTypes::LONGVARCHAR, true, null); $tMap->addColumn('OUT_DOC_DESCRIPTION', 'OutDocDescription', 'string', CreoleTypes::LONGVARCHAR, false, null); diff --git a/workflow/engine/classes/model/om/BaseAppDataChangeLog.php b/workflow/engine/classes/model/om/BaseAppDataChangeLog.php index a13191cf3..677b596e6 100644 --- a/workflow/engine/classes/model/om/BaseAppDataChangeLog.php +++ b/workflow/engine/classes/model/om/BaseAppDataChangeLog.php @@ -70,22 +70,34 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent protected $usr_id = 0; /** - * The value for the dyn_id field. + * The value for the object_type field. * @var int */ - protected $dyn_id = 0; + protected $object_type = 0; + + /** + * The value for the object_id field. + * @var int + */ + protected $object_id = 0; + + /** + * The value for the object_uid field. + * @var string + */ + protected $object_uid = ''; + + /** + * The value for the executed_at field. + * @var int + */ + protected $executed_at = 0; /** * The value for the source_id field. - * @var string + * @var int */ - protected $source_id = ''; - - /** - * The value for the st_type field. - * @var string - */ - protected $st_type = ''; + protected $source_id = 0; /** * The value for the data field. @@ -93,12 +105,6 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent */ protected $data; - /** - * The value for the source_to_save field. - * @var string - */ - protected $source_to_save = ''; - /** * The value for the skin field. * @var string @@ -224,20 +230,53 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent } /** - * Get the [dyn_id] column value. + * Get the [object_type] column value. * * @return int */ - public function getDynId() + public function getObjectType() { - return $this->dyn_id; + return $this->object_type; + } + + /** + * Get the [object_id] column value. + * + * @return int + */ + public function getObjectId() + { + + return $this->object_id; + } + + /** + * Get the [object_uid] column value. + * + * @return string + */ + public function getObjectUid() + { + + return $this->object_uid; + } + + /** + * Get the [executed_at] column value. + * + * @return int + */ + public function getExecutedAt() + { + + return $this->executed_at; } /** * Get the [source_id] column value. * - * @return string + * @return int */ public function getSourceId() { @@ -245,17 +284,6 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent return $this->source_id; } - /** - * Get the [st_type] column value. - * - * @return string - */ - public function getStType() - { - - return $this->st_type; - } - /** * Get the [data] column value. * @@ -267,17 +295,6 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent return $this->data; } - /** - * Get the [source_to_save] column value. - * - * @return string - */ - public function getSourceToSave() - { - - return $this->source_to_save; - } - /** * Get the [skin] column value. * @@ -462,12 +479,12 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent } // setUsrId() /** - * Set the value of [dyn_id] column. + * Set the value of [object_type] column. * * @param int $v new value * @return void */ - public function setDynId($v) + public function setObjectType($v) { // Since the native PHP type for this column is integer, @@ -476,57 +493,101 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent $v = (int) $v; } - if ($this->dyn_id !== $v || $v === 0) { - $this->dyn_id = $v; - $this->modifiedColumns[] = AppDataChangeLogPeer::DYN_ID; + if ($this->object_type !== $v || $v === 0) { + $this->object_type = $v; + $this->modifiedColumns[] = AppDataChangeLogPeer::OBJECT_TYPE; } - } // setDynId() + } // setObjectType() + + /** + * Set the value of [object_id] column. + * + * @param int $v new value + * @return void + */ + public function setObjectId($v) + { + + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->object_id !== $v || $v === 0) { + $this->object_id = $v; + $this->modifiedColumns[] = AppDataChangeLogPeer::OBJECT_ID; + } + + } // setObjectId() + + /** + * Set the value of [object_uid] column. + * + * @param string $v new value + * @return void + */ + public function setObjectUid($v) + { + + // Since the native PHP type for this column is string, + // we will cast the input to a string (if it is not). + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->object_uid !== $v || $v === '') { + $this->object_uid = $v; + $this->modifiedColumns[] = AppDataChangeLogPeer::OBJECT_UID; + } + + } // setObjectUid() + + /** + * Set the value of [executed_at] column. + * + * @param int $v new value + * @return void + */ + public function setExecutedAt($v) + { + + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->executed_at !== $v || $v === 0) { + $this->executed_at = $v; + $this->modifiedColumns[] = AppDataChangeLogPeer::EXECUTED_AT; + } + + } // setExecutedAt() /** * Set the value of [source_id] column. * - * @param string $v new value + * @param int $v new value * @return void */ public function setSourceId($v) { - // Since the native PHP type for this column is string, - // we will cast the input to a string (if it is not). - if ($v !== null && !is_string($v)) { - $v = (string) $v; + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; } - if ($this->source_id !== $v || $v === '') { + if ($this->source_id !== $v || $v === 0) { $this->source_id = $v; $this->modifiedColumns[] = AppDataChangeLogPeer::SOURCE_ID; } } // setSourceId() - /** - * Set the value of [st_type] column. - * - * @param string $v new value - * @return void - */ - public function setStType($v) - { - - // Since the native PHP type for this column is string, - // we will cast the input to a string (if it is not). - if ($v !== null && !is_string($v)) { - $v = (string) $v; - } - - if ($this->st_type !== $v || $v === '') { - $this->st_type = $v; - $this->modifiedColumns[] = AppDataChangeLogPeer::ST_TYPE; - } - - } // setStType() - /** * Set the value of [data] column. * @@ -549,28 +610,6 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent } // setData() - /** - * Set the value of [source_to_save] column. - * - * @param string $v new value - * @return void - */ - public function setSourceToSave($v) - { - - // Since the native PHP type for this column is string, - // we will cast the input to a string (if it is not). - if ($v !== null && !is_string($v)) { - $v = (string) $v; - } - - if ($this->source_to_save !== $v || $v === '') { - $this->source_to_save = $v; - $this->modifiedColumns[] = AppDataChangeLogPeer::SOURCE_TO_SAVE; - } - - } // setSourceToSave() - /** * Set the value of [skin] column. * @@ -646,26 +685,28 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent $this->usr_id = $rs->getInt($startcol + 6); - $this->dyn_id = $rs->getInt($startcol + 7); + $this->object_type = $rs->getInt($startcol + 7); - $this->source_id = $rs->getString($startcol + 8); + $this->object_id = $rs->getInt($startcol + 8); - $this->st_type = $rs->getString($startcol + 9); + $this->object_uid = $rs->getString($startcol + 9); - $this->data = $rs->getString($startcol + 10); + $this->executed_at = $rs->getInt($startcol + 10); - $this->source_to_save = $rs->getString($startcol + 11); + $this->source_id = $rs->getInt($startcol + 11); - $this->skin = $rs->getString($startcol + 12); + $this->data = $rs->getString($startcol + 12); - $this->language = $rs->getString($startcol + 13); + $this->skin = $rs->getString($startcol + 13); + + $this->language = $rs->getString($startcol + 14); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 14; // 14 = AppDataChangeLogPeer::NUM_COLUMNS - AppDataChangeLogPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 15; // 15 = AppDataChangeLogPeer::NUM_COLUMNS - AppDataChangeLogPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating AppDataChangeLog object", $e); @@ -893,24 +934,27 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent return $this->getUsrId(); break; case 7: - return $this->getDynId(); + return $this->getObjectType(); break; case 8: - return $this->getSourceId(); + return $this->getObjectId(); break; case 9: - return $this->getStType(); + return $this->getObjectUid(); break; case 10: - return $this->getData(); + return $this->getExecutedAt(); break; case 11: - return $this->getSourceToSave(); + return $this->getSourceId(); break; case 12: - return $this->getSkin(); + return $this->getData(); break; case 13: + return $this->getSkin(); + break; + case 14: return $this->getLanguage(); break; default: @@ -940,13 +984,14 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent $keys[4] => $this->getProId(), $keys[5] => $this->getTasId(), $keys[6] => $this->getUsrId(), - $keys[7] => $this->getDynId(), - $keys[8] => $this->getSourceId(), - $keys[9] => $this->getStType(), - $keys[10] => $this->getData(), - $keys[11] => $this->getSourceToSave(), - $keys[12] => $this->getSkin(), - $keys[13] => $this->getLanguage(), + $keys[7] => $this->getObjectType(), + $keys[8] => $this->getObjectId(), + $keys[9] => $this->getObjectUid(), + $keys[10] => $this->getExecutedAt(), + $keys[11] => $this->getSourceId(), + $keys[12] => $this->getData(), + $keys[13] => $this->getSkin(), + $keys[14] => $this->getLanguage(), ); return $result; } @@ -1000,24 +1045,27 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent $this->setUsrId($value); break; case 7: - $this->setDynId($value); + $this->setObjectType($value); break; case 8: - $this->setSourceId($value); + $this->setObjectId($value); break; case 9: - $this->setStType($value); + $this->setObjectUid($value); break; case 10: - $this->setData($value); + $this->setExecutedAt($value); break; case 11: - $this->setSourceToSave($value); + $this->setSourceId($value); break; case 12: - $this->setSkin($value); + $this->setData($value); break; case 13: + $this->setSkin($value); + break; + case 14: $this->setLanguage($value); break; } // switch() @@ -1072,31 +1120,35 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent } if (array_key_exists($keys[7], $arr)) { - $this->setDynId($arr[$keys[7]]); + $this->setObjectType($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { - $this->setSourceId($arr[$keys[8]]); + $this->setObjectId($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { - $this->setStType($arr[$keys[9]]); + $this->setObjectUid($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { - $this->setData($arr[$keys[10]]); + $this->setExecutedAt($arr[$keys[10]]); } if (array_key_exists($keys[11], $arr)) { - $this->setSourceToSave($arr[$keys[11]]); + $this->setSourceId($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { - $this->setSkin($arr[$keys[12]]); + $this->setData($arr[$keys[12]]); } if (array_key_exists($keys[13], $arr)) { - $this->setLanguage($arr[$keys[13]]); + $this->setSkin($arr[$keys[13]]); + } + + if (array_key_exists($keys[14], $arr)) { + $this->setLanguage($arr[$keys[14]]); } } @@ -1138,26 +1190,30 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent $criteria->add(AppDataChangeLogPeer::USR_ID, $this->usr_id); } - if ($this->isColumnModified(AppDataChangeLogPeer::DYN_ID)) { - $criteria->add(AppDataChangeLogPeer::DYN_ID, $this->dyn_id); + if ($this->isColumnModified(AppDataChangeLogPeer::OBJECT_TYPE)) { + $criteria->add(AppDataChangeLogPeer::OBJECT_TYPE, $this->object_type); + } + + if ($this->isColumnModified(AppDataChangeLogPeer::OBJECT_ID)) { + $criteria->add(AppDataChangeLogPeer::OBJECT_ID, $this->object_id); + } + + if ($this->isColumnModified(AppDataChangeLogPeer::OBJECT_UID)) { + $criteria->add(AppDataChangeLogPeer::OBJECT_UID, $this->object_uid); + } + + if ($this->isColumnModified(AppDataChangeLogPeer::EXECUTED_AT)) { + $criteria->add(AppDataChangeLogPeer::EXECUTED_AT, $this->executed_at); } if ($this->isColumnModified(AppDataChangeLogPeer::SOURCE_ID)) { $criteria->add(AppDataChangeLogPeer::SOURCE_ID, $this->source_id); } - if ($this->isColumnModified(AppDataChangeLogPeer::ST_TYPE)) { - $criteria->add(AppDataChangeLogPeer::ST_TYPE, $this->st_type); - } - if ($this->isColumnModified(AppDataChangeLogPeer::DATA)) { $criteria->add(AppDataChangeLogPeer::DATA, $this->data); } - if ($this->isColumnModified(AppDataChangeLogPeer::SOURCE_TO_SAVE)) { - $criteria->add(AppDataChangeLogPeer::SOURCE_TO_SAVE, $this->source_to_save); - } - if ($this->isColumnModified(AppDataChangeLogPeer::SKIN)) { $criteria->add(AppDataChangeLogPeer::SKIN, $this->skin); } @@ -1232,16 +1288,18 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent $copyObj->setUsrId($this->usr_id); - $copyObj->setDynId($this->dyn_id); + $copyObj->setObjectType($this->object_type); + + $copyObj->setObjectId($this->object_id); + + $copyObj->setObjectUid($this->object_uid); + + $copyObj->setExecutedAt($this->executed_at); $copyObj->setSourceId($this->source_id); - $copyObj->setStType($this->st_type); - $copyObj->setData($this->data); - $copyObj->setSourceToSave($this->source_to_save); - $copyObj->setSkin($this->skin); $copyObj->setLanguage($this->language); diff --git a/workflow/engine/classes/model/om/BaseAppDataChangeLogPeer.php b/workflow/engine/classes/model/om/BaseAppDataChangeLogPeer.php index 17964cd01..2b5b4a8ba 100644 --- a/workflow/engine/classes/model/om/BaseAppDataChangeLogPeer.php +++ b/workflow/engine/classes/model/om/BaseAppDataChangeLogPeer.php @@ -25,7 +25,7 @@ abstract class BaseAppDataChangeLogPeer const CLASS_DEFAULT = 'classes.model.AppDataChangeLog'; /** The total number of columns. */ - const NUM_COLUMNS = 14; + const NUM_COLUMNS = 15; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -52,21 +52,24 @@ abstract class BaseAppDataChangeLogPeer /** the column name for the USR_ID field */ const USR_ID = 'APP_DATA_CHANGE_LOG.USR_ID'; - /** the column name for the DYN_ID field */ - const DYN_ID = 'APP_DATA_CHANGE_LOG.DYN_ID'; + /** the column name for the OBJECT_TYPE field */ + const OBJECT_TYPE = 'APP_DATA_CHANGE_LOG.OBJECT_TYPE'; + + /** the column name for the OBJECT_ID field */ + const OBJECT_ID = 'APP_DATA_CHANGE_LOG.OBJECT_ID'; + + /** the column name for the OBJECT_UID field */ + const OBJECT_UID = 'APP_DATA_CHANGE_LOG.OBJECT_UID'; + + /** the column name for the EXECUTED_AT field */ + const EXECUTED_AT = 'APP_DATA_CHANGE_LOG.EXECUTED_AT'; /** the column name for the SOURCE_ID field */ const SOURCE_ID = 'APP_DATA_CHANGE_LOG.SOURCE_ID'; - /** the column name for the ST_TYPE field */ - const ST_TYPE = 'APP_DATA_CHANGE_LOG.ST_TYPE'; - /** the column name for the DATA field */ const DATA = 'APP_DATA_CHANGE_LOG.DATA'; - /** the column name for the SOURCE_TO_SAVE field */ - const SOURCE_TO_SAVE = 'APP_DATA_CHANGE_LOG.SOURCE_TO_SAVE'; - /** the column name for the SKIN field */ const SKIN = 'APP_DATA_CHANGE_LOG.SKIN'; @@ -84,10 +87,10 @@ abstract class BaseAppDataChangeLogPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('ChangeLogId', 'Date', 'AppNumber', 'DelIndex', 'ProId', 'TasId', 'UsrId', 'DynId', 'SourceId', 'StType', 'Data', 'SourceToSave', 'Skin', 'Language', ), - BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID, AppDataChangeLogPeer::DATE, AppDataChangeLogPeer::APP_NUMBER, AppDataChangeLogPeer::DEL_INDEX, AppDataChangeLogPeer::PRO_ID, AppDataChangeLogPeer::TAS_ID, AppDataChangeLogPeer::USR_ID, AppDataChangeLogPeer::DYN_ID, AppDataChangeLogPeer::SOURCE_ID, AppDataChangeLogPeer::ST_TYPE, AppDataChangeLogPeer::DATA, AppDataChangeLogPeer::SOURCE_TO_SAVE, AppDataChangeLogPeer::SKIN, AppDataChangeLogPeer::LANGUAGE, ), - BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID', 'DATE', 'APP_NUMBER', 'DEL_INDEX', 'PRO_ID', 'TAS_ID', 'USR_ID', 'DYN_ID', 'SOURCE_ID', 'ST_TYPE', 'DATA', 'SOURCE_TO_SAVE', 'SKIN', 'LANGUAGE', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ) + BasePeer::TYPE_PHPNAME => array ('ChangeLogId', 'Date', 'AppNumber', 'DelIndex', 'ProId', 'TasId', 'UsrId', 'ObjectType', 'ObjectId', 'ObjectUid', 'ExecutedAt', 'SourceId', 'Data', 'Skin', 'Language', ), + BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID, AppDataChangeLogPeer::DATE, AppDataChangeLogPeer::APP_NUMBER, AppDataChangeLogPeer::DEL_INDEX, AppDataChangeLogPeer::PRO_ID, AppDataChangeLogPeer::TAS_ID, AppDataChangeLogPeer::USR_ID, AppDataChangeLogPeer::OBJECT_TYPE, AppDataChangeLogPeer::OBJECT_ID, AppDataChangeLogPeer::OBJECT_UID, AppDataChangeLogPeer::EXECUTED_AT, AppDataChangeLogPeer::SOURCE_ID, AppDataChangeLogPeer::DATA, AppDataChangeLogPeer::SKIN, AppDataChangeLogPeer::LANGUAGE, ), + BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID', 'DATE', 'APP_NUMBER', 'DEL_INDEX', 'PRO_ID', 'TAS_ID', 'USR_ID', 'OBJECT_TYPE', 'OBJECT_ID', 'OBJECT_UID', 'EXECUTED_AT', 'SOURCE_ID', 'DATA', 'SKIN', 'LANGUAGE', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) ); /** @@ -97,10 +100,10 @@ abstract class BaseAppDataChangeLogPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('ChangeLogId' => 0, 'Date' => 1, 'AppNumber' => 2, 'DelIndex' => 3, 'ProId' => 4, 'TasId' => 5, 'UsrId' => 6, 'DynId' => 7, 'SourceId' => 8, 'StType' => 9, 'Data' => 10, 'SourceToSave' => 11, 'Skin' => 12, 'Language' => 13, ), - BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID => 0, AppDataChangeLogPeer::DATE => 1, AppDataChangeLogPeer::APP_NUMBER => 2, AppDataChangeLogPeer::DEL_INDEX => 3, AppDataChangeLogPeer::PRO_ID => 4, AppDataChangeLogPeer::TAS_ID => 5, AppDataChangeLogPeer::USR_ID => 6, AppDataChangeLogPeer::DYN_ID => 7, AppDataChangeLogPeer::SOURCE_ID => 8, AppDataChangeLogPeer::ST_TYPE => 9, AppDataChangeLogPeer::DATA => 10, AppDataChangeLogPeer::SOURCE_TO_SAVE => 11, AppDataChangeLogPeer::SKIN => 12, AppDataChangeLogPeer::LANGUAGE => 13, ), - BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID' => 0, 'DATE' => 1, 'APP_NUMBER' => 2, 'DEL_INDEX' => 3, 'PRO_ID' => 4, 'TAS_ID' => 5, 'USR_ID' => 6, 'DYN_ID' => 7, 'SOURCE_ID' => 8, 'ST_TYPE' => 9, 'DATA' => 10, 'SOURCE_TO_SAVE' => 11, 'SKIN' => 12, 'LANGUAGE' => 13, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ) + BasePeer::TYPE_PHPNAME => array ('ChangeLogId' => 0, 'Date' => 1, 'AppNumber' => 2, 'DelIndex' => 3, 'ProId' => 4, 'TasId' => 5, 'UsrId' => 6, 'ObjectType' => 7, 'ObjectId' => 8, 'ObjectUid' => 9, 'ExecutedAt' => 10, 'SourceId' => 11, 'Data' => 12, 'Skin' => 13, 'Language' => 14, ), + BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID => 0, AppDataChangeLogPeer::DATE => 1, AppDataChangeLogPeer::APP_NUMBER => 2, AppDataChangeLogPeer::DEL_INDEX => 3, AppDataChangeLogPeer::PRO_ID => 4, AppDataChangeLogPeer::TAS_ID => 5, AppDataChangeLogPeer::USR_ID => 6, AppDataChangeLogPeer::OBJECT_TYPE => 7, AppDataChangeLogPeer::OBJECT_ID => 8, AppDataChangeLogPeer::OBJECT_UID => 9, AppDataChangeLogPeer::EXECUTED_AT => 10, AppDataChangeLogPeer::SOURCE_ID => 11, AppDataChangeLogPeer::DATA => 12, AppDataChangeLogPeer::SKIN => 13, AppDataChangeLogPeer::LANGUAGE => 14, ), + BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID' => 0, 'DATE' => 1, 'APP_NUMBER' => 2, 'DEL_INDEX' => 3, 'PRO_ID' => 4, 'TAS_ID' => 5, 'USR_ID' => 6, 'OBJECT_TYPE' => 7, 'OBJECT_ID' => 8, 'OBJECT_UID' => 9, 'EXECUTED_AT' => 10, 'SOURCE_ID' => 11, 'DATA' => 12, 'SKIN' => 13, 'LANGUAGE' => 14, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) ); /** @@ -215,16 +218,18 @@ abstract class BaseAppDataChangeLogPeer $criteria->addSelectColumn(AppDataChangeLogPeer::USR_ID); - $criteria->addSelectColumn(AppDataChangeLogPeer::DYN_ID); + $criteria->addSelectColumn(AppDataChangeLogPeer::OBJECT_TYPE); + + $criteria->addSelectColumn(AppDataChangeLogPeer::OBJECT_ID); + + $criteria->addSelectColumn(AppDataChangeLogPeer::OBJECT_UID); + + $criteria->addSelectColumn(AppDataChangeLogPeer::EXECUTED_AT); $criteria->addSelectColumn(AppDataChangeLogPeer::SOURCE_ID); - $criteria->addSelectColumn(AppDataChangeLogPeer::ST_TYPE); - $criteria->addSelectColumn(AppDataChangeLogPeer::DATA); - $criteria->addSelectColumn(AppDataChangeLogPeer::SOURCE_TO_SAVE); - $criteria->addSelectColumn(AppDataChangeLogPeer::SKIN); $criteria->addSelectColumn(AppDataChangeLogPeer::LANGUAGE); diff --git a/workflow/engine/classes/model/om/BaseDynaform.php b/workflow/engine/classes/model/om/BaseDynaform.php index b4968eaf1..9c52ca90d 100644 --- a/workflow/engine/classes/model/om/BaseDynaform.php +++ b/workflow/engine/classes/model/om/BaseDynaform.php @@ -33,6 +33,12 @@ abstract class BaseDynaform extends BaseObject implements Persistent */ protected $dyn_uid = ''; + /** + * The value for the dyn_id field. + * @var int + */ + protected $dyn_id; + /** * The value for the dyn_title field. * @var string @@ -112,6 +118,17 @@ abstract class BaseDynaform extends BaseObject implements Persistent return $this->dyn_uid; } + /** + * Get the [dyn_id] column value. + * + * @return int + */ + public function getDynId() + { + + return $this->dyn_id; + } + /** * Get the [dyn_title] column value. * @@ -254,6 +271,28 @@ abstract class BaseDynaform extends BaseObject implements Persistent } // setDynUid() + /** + * Set the value of [dyn_id] column. + * + * @param int $v new value + * @return void + */ + public function setDynId($v) + { + + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->dyn_id !== $v) { + $this->dyn_id = $v; + $this->modifiedColumns[] = DynaformPeer::DYN_ID; + } + + } // setDynId() + /** * Set the value of [dyn_title] column. * @@ -478,30 +517,32 @@ abstract class BaseDynaform extends BaseObject implements Persistent $this->dyn_uid = $rs->getString($startcol + 0); - $this->dyn_title = $rs->getString($startcol + 1); + $this->dyn_id = $rs->getInt($startcol + 1); - $this->dyn_description = $rs->getString($startcol + 2); + $this->dyn_title = $rs->getString($startcol + 2); - $this->pro_uid = $rs->getString($startcol + 3); + $this->dyn_description = $rs->getString($startcol + 3); - $this->dyn_type = $rs->getString($startcol + 4); + $this->pro_uid = $rs->getString($startcol + 4); - $this->dyn_filename = $rs->getString($startcol + 5); + $this->dyn_type = $rs->getString($startcol + 5); - $this->dyn_content = $rs->getString($startcol + 6); + $this->dyn_filename = $rs->getString($startcol + 6); - $this->dyn_label = $rs->getString($startcol + 7); + $this->dyn_content = $rs->getString($startcol + 7); - $this->dyn_version = $rs->getInt($startcol + 8); + $this->dyn_label = $rs->getString($startcol + 8); - $this->dyn_update_date = $rs->getTimestamp($startcol + 9, null); + $this->dyn_version = $rs->getInt($startcol + 9); + + $this->dyn_update_date = $rs->getTimestamp($startcol + 10, null); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 10; // 10 = DynaformPeer::NUM_COLUMNS - DynaformPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 11; // 11 = DynaformPeer::NUM_COLUMNS - DynaformPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Dynaform object", $e); @@ -709,30 +750,33 @@ abstract class BaseDynaform extends BaseObject implements Persistent return $this->getDynUid(); break; case 1: - return $this->getDynTitle(); + return $this->getDynId(); break; case 2: - return $this->getDynDescription(); + return $this->getDynTitle(); break; case 3: - return $this->getProUid(); + return $this->getDynDescription(); break; case 4: - return $this->getDynType(); + return $this->getProUid(); break; case 5: - return $this->getDynFilename(); + return $this->getDynType(); break; case 6: - return $this->getDynContent(); + return $this->getDynFilename(); break; case 7: - return $this->getDynLabel(); + return $this->getDynContent(); break; case 8: - return $this->getDynVersion(); + return $this->getDynLabel(); break; case 9: + return $this->getDynVersion(); + break; + case 10: return $this->getDynUpdateDate(); break; default: @@ -756,15 +800,16 @@ abstract class BaseDynaform extends BaseObject implements Persistent $keys = DynaformPeer::getFieldNames($keyType); $result = array( $keys[0] => $this->getDynUid(), - $keys[1] => $this->getDynTitle(), - $keys[2] => $this->getDynDescription(), - $keys[3] => $this->getProUid(), - $keys[4] => $this->getDynType(), - $keys[5] => $this->getDynFilename(), - $keys[6] => $this->getDynContent(), - $keys[7] => $this->getDynLabel(), - $keys[8] => $this->getDynVersion(), - $keys[9] => $this->getDynUpdateDate(), + $keys[1] => $this->getDynId(), + $keys[2] => $this->getDynTitle(), + $keys[3] => $this->getDynDescription(), + $keys[4] => $this->getProUid(), + $keys[5] => $this->getDynType(), + $keys[6] => $this->getDynFilename(), + $keys[7] => $this->getDynContent(), + $keys[8] => $this->getDynLabel(), + $keys[9] => $this->getDynVersion(), + $keys[10] => $this->getDynUpdateDate(), ); return $result; } @@ -800,30 +845,33 @@ abstract class BaseDynaform extends BaseObject implements Persistent $this->setDynUid($value); break; case 1: - $this->setDynTitle($value); + $this->setDynId($value); break; case 2: - $this->setDynDescription($value); + $this->setDynTitle($value); break; case 3: - $this->setProUid($value); + $this->setDynDescription($value); break; case 4: - $this->setDynType($value); + $this->setProUid($value); break; case 5: - $this->setDynFilename($value); + $this->setDynType($value); break; case 6: - $this->setDynContent($value); + $this->setDynFilename($value); break; case 7: - $this->setDynLabel($value); + $this->setDynContent($value); break; case 8: - $this->setDynVersion($value); + $this->setDynLabel($value); break; case 9: + $this->setDynVersion($value); + break; + case 10: $this->setDynUpdateDate($value); break; } // switch() @@ -854,39 +902,43 @@ abstract class BaseDynaform extends BaseObject implements Persistent } if (array_key_exists($keys[1], $arr)) { - $this->setDynTitle($arr[$keys[1]]); + $this->setDynId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { - $this->setDynDescription($arr[$keys[2]]); + $this->setDynTitle($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { - $this->setProUid($arr[$keys[3]]); + $this->setDynDescription($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { - $this->setDynType($arr[$keys[4]]); + $this->setProUid($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { - $this->setDynFilename($arr[$keys[5]]); + $this->setDynType($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { - $this->setDynContent($arr[$keys[6]]); + $this->setDynFilename($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { - $this->setDynLabel($arr[$keys[7]]); + $this->setDynContent($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { - $this->setDynVersion($arr[$keys[8]]); + $this->setDynLabel($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { - $this->setDynUpdateDate($arr[$keys[9]]); + $this->setDynVersion($arr[$keys[9]]); + } + + if (array_key_exists($keys[10], $arr)) { + $this->setDynUpdateDate($arr[$keys[10]]); } } @@ -904,6 +956,10 @@ abstract class BaseDynaform extends BaseObject implements Persistent $criteria->add(DynaformPeer::DYN_UID, $this->dyn_uid); } + if ($this->isColumnModified(DynaformPeer::DYN_ID)) { + $criteria->add(DynaformPeer::DYN_ID, $this->dyn_id); + } + if ($this->isColumnModified(DynaformPeer::DYN_TITLE)) { $criteria->add(DynaformPeer::DYN_TITLE, $this->dyn_title); } @@ -994,6 +1050,8 @@ abstract class BaseDynaform extends BaseObject implements Persistent public function copyInto($copyObj, $deepCopy = false) { + $copyObj->setDynId($this->dyn_id); + $copyObj->setDynTitle($this->dyn_title); $copyObj->setDynDescription($this->dyn_description); diff --git a/workflow/engine/classes/model/om/BaseDynaformPeer.php b/workflow/engine/classes/model/om/BaseDynaformPeer.php index bc634a568..97beef92c 100644 --- a/workflow/engine/classes/model/om/BaseDynaformPeer.php +++ b/workflow/engine/classes/model/om/BaseDynaformPeer.php @@ -25,7 +25,7 @@ abstract class BaseDynaformPeer const CLASS_DEFAULT = 'classes.model.Dynaform'; /** The total number of columns. */ - const NUM_COLUMNS = 10; + const NUM_COLUMNS = 11; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -34,6 +34,9 @@ abstract class BaseDynaformPeer /** the column name for the DYN_UID field */ const DYN_UID = 'DYNAFORM.DYN_UID'; + /** the column name for the DYN_ID field */ + const DYN_ID = 'DYNAFORM.DYN_ID'; + /** the column name for the DYN_TITLE field */ const DYN_TITLE = 'DYNAFORM.DYN_TITLE'; @@ -72,10 +75,10 @@ abstract class BaseDynaformPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('DynUid', 'DynTitle', 'DynDescription', 'ProUid', 'DynType', 'DynFilename', 'DynContent', 'DynLabel', 'DynVersion', 'DynUpdateDate', ), - BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID, DynaformPeer::DYN_TITLE, DynaformPeer::DYN_DESCRIPTION, DynaformPeer::PRO_UID, DynaformPeer::DYN_TYPE, DynaformPeer::DYN_FILENAME, DynaformPeer::DYN_CONTENT, DynaformPeer::DYN_LABEL, DynaformPeer::DYN_VERSION, DynaformPeer::DYN_UPDATE_DATE, ), - BasePeer::TYPE_FIELDNAME => array ('DYN_UID', 'DYN_TITLE', 'DYN_DESCRIPTION', 'PRO_UID', 'DYN_TYPE', 'DYN_FILENAME', 'DYN_CONTENT', 'DYN_LABEL', 'DYN_VERSION', 'DYN_UPDATE_DATE', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ) + BasePeer::TYPE_PHPNAME => array ('DynUid', 'DynId', 'DynTitle', 'DynDescription', 'ProUid', 'DynType', 'DynFilename', 'DynContent', 'DynLabel', 'DynVersion', 'DynUpdateDate', ), + BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID, DynaformPeer::DYN_ID, DynaformPeer::DYN_TITLE, DynaformPeer::DYN_DESCRIPTION, DynaformPeer::PRO_UID, DynaformPeer::DYN_TYPE, DynaformPeer::DYN_FILENAME, DynaformPeer::DYN_CONTENT, DynaformPeer::DYN_LABEL, DynaformPeer::DYN_VERSION, DynaformPeer::DYN_UPDATE_DATE, ), + BasePeer::TYPE_FIELDNAME => array ('DYN_UID', 'DYN_ID', 'DYN_TITLE', 'DYN_DESCRIPTION', 'PRO_UID', 'DYN_TYPE', 'DYN_FILENAME', 'DYN_CONTENT', 'DYN_LABEL', 'DYN_VERSION', 'DYN_UPDATE_DATE', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) ); /** @@ -85,10 +88,10 @@ abstract class BaseDynaformPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('DynUid' => 0, 'DynTitle' => 1, 'DynDescription' => 2, 'ProUid' => 3, 'DynType' => 4, 'DynFilename' => 5, 'DynContent' => 6, 'DynLabel' => 7, 'DynVersion' => 8, 'DynUpdateDate' => 9, ), - BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID => 0, DynaformPeer::DYN_TITLE => 1, DynaformPeer::DYN_DESCRIPTION => 2, DynaformPeer::PRO_UID => 3, DynaformPeer::DYN_TYPE => 4, DynaformPeer::DYN_FILENAME => 5, DynaformPeer::DYN_CONTENT => 6, DynaformPeer::DYN_LABEL => 7, DynaformPeer::DYN_VERSION => 8, DynaformPeer::DYN_UPDATE_DATE => 9, ), - BasePeer::TYPE_FIELDNAME => array ('DYN_UID' => 0, 'DYN_TITLE' => 1, 'DYN_DESCRIPTION' => 2, 'PRO_UID' => 3, 'DYN_TYPE' => 4, 'DYN_FILENAME' => 5, 'DYN_CONTENT' => 6, 'DYN_LABEL' => 7, 'DYN_VERSION' => 8, 'DYN_UPDATE_DATE' => 9, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ) + BasePeer::TYPE_PHPNAME => array ('DynUid' => 0, 'DynId' => 1, 'DynTitle' => 2, 'DynDescription' => 3, 'ProUid' => 4, 'DynType' => 5, 'DynFilename' => 6, 'DynContent' => 7, 'DynLabel' => 8, 'DynVersion' => 9, 'DynUpdateDate' => 10, ), + BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID => 0, DynaformPeer::DYN_ID => 1, DynaformPeer::DYN_TITLE => 2, DynaformPeer::DYN_DESCRIPTION => 3, DynaformPeer::PRO_UID => 4, DynaformPeer::DYN_TYPE => 5, DynaformPeer::DYN_FILENAME => 6, DynaformPeer::DYN_CONTENT => 7, DynaformPeer::DYN_LABEL => 8, DynaformPeer::DYN_VERSION => 9, DynaformPeer::DYN_UPDATE_DATE => 10, ), + BasePeer::TYPE_FIELDNAME => array ('DYN_UID' => 0, 'DYN_ID' => 1, 'DYN_TITLE' => 2, 'DYN_DESCRIPTION' => 3, 'PRO_UID' => 4, 'DYN_TYPE' => 5, 'DYN_FILENAME' => 6, 'DYN_CONTENT' => 7, 'DYN_LABEL' => 8, 'DYN_VERSION' => 9, 'DYN_UPDATE_DATE' => 10, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) ); /** @@ -191,6 +194,8 @@ abstract class BaseDynaformPeer $criteria->addSelectColumn(DynaformPeer::DYN_UID); + $criteria->addSelectColumn(DynaformPeer::DYN_ID); + $criteria->addSelectColumn(DynaformPeer::DYN_TITLE); $criteria->addSelectColumn(DynaformPeer::DYN_DESCRIPTION); diff --git a/workflow/engine/classes/model/om/BaseInputDocument.php b/workflow/engine/classes/model/om/BaseInputDocument.php index cca5213c6..bd6442b7f 100644 --- a/workflow/engine/classes/model/om/BaseInputDocument.php +++ b/workflow/engine/classes/model/om/BaseInputDocument.php @@ -33,6 +33,12 @@ abstract class BaseInputDocument extends BaseObject implements Persistent */ protected $inp_doc_uid = ''; + /** + * The value for the inp_doc_id field. + * @var int + */ + protected $inp_doc_id; + /** * The value for the pro_uid field. * @var string @@ -130,6 +136,17 @@ abstract class BaseInputDocument extends BaseObject implements Persistent return $this->inp_doc_uid; } + /** + * Get the [inp_doc_id] column value. + * + * @return int + */ + public function getInpDocId() + { + + return $this->inp_doc_id; + } + /** * Get the [pro_uid] column value. * @@ -284,6 +301,28 @@ abstract class BaseInputDocument extends BaseObject implements Persistent } // setInpDocUid() + /** + * Set the value of [inp_doc_id] column. + * + * @param int $v new value + * @return void + */ + public function setInpDocId($v) + { + + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->inp_doc_id !== $v) { + $this->inp_doc_id = $v; + $this->modifiedColumns[] = InputDocumentPeer::INP_DOC_ID; + } + + } // setInpDocId() + /** * Set the value of [pro_uid] column. * @@ -567,36 +606,38 @@ abstract class BaseInputDocument extends BaseObject implements Persistent $this->inp_doc_uid = $rs->getString($startcol + 0); - $this->pro_uid = $rs->getString($startcol + 1); + $this->inp_doc_id = $rs->getInt($startcol + 1); - $this->inp_doc_title = $rs->getString($startcol + 2); + $this->pro_uid = $rs->getString($startcol + 2); - $this->inp_doc_description = $rs->getString($startcol + 3); + $this->inp_doc_title = $rs->getString($startcol + 3); - $this->inp_doc_form_needed = $rs->getString($startcol + 4); + $this->inp_doc_description = $rs->getString($startcol + 4); - $this->inp_doc_original = $rs->getString($startcol + 5); + $this->inp_doc_form_needed = $rs->getString($startcol + 5); - $this->inp_doc_published = $rs->getString($startcol + 6); + $this->inp_doc_original = $rs->getString($startcol + 6); - $this->inp_doc_versioning = $rs->getInt($startcol + 7); + $this->inp_doc_published = $rs->getString($startcol + 7); - $this->inp_doc_destination_path = $rs->getString($startcol + 8); + $this->inp_doc_versioning = $rs->getInt($startcol + 8); - $this->inp_doc_tags = $rs->getString($startcol + 9); + $this->inp_doc_destination_path = $rs->getString($startcol + 9); - $this->inp_doc_type_file = $rs->getString($startcol + 10); + $this->inp_doc_tags = $rs->getString($startcol + 10); - $this->inp_doc_max_filesize = $rs->getInt($startcol + 11); + $this->inp_doc_type_file = $rs->getString($startcol + 11); - $this->inp_doc_max_filesize_unit = $rs->getString($startcol + 12); + $this->inp_doc_max_filesize = $rs->getInt($startcol + 12); + + $this->inp_doc_max_filesize_unit = $rs->getString($startcol + 13); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 13; // 13 = InputDocumentPeer::NUM_COLUMNS - InputDocumentPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 14; // 14 = InputDocumentPeer::NUM_COLUMNS - InputDocumentPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating InputDocument object", $e); @@ -804,39 +845,42 @@ abstract class BaseInputDocument extends BaseObject implements Persistent return $this->getInpDocUid(); break; case 1: - return $this->getProUid(); + return $this->getInpDocId(); break; case 2: - return $this->getInpDocTitle(); + return $this->getProUid(); break; case 3: - return $this->getInpDocDescription(); + return $this->getInpDocTitle(); break; case 4: - return $this->getInpDocFormNeeded(); + return $this->getInpDocDescription(); break; case 5: - return $this->getInpDocOriginal(); + return $this->getInpDocFormNeeded(); break; case 6: - return $this->getInpDocPublished(); + return $this->getInpDocOriginal(); break; case 7: - return $this->getInpDocVersioning(); + return $this->getInpDocPublished(); break; case 8: - return $this->getInpDocDestinationPath(); + return $this->getInpDocVersioning(); break; case 9: - return $this->getInpDocTags(); + return $this->getInpDocDestinationPath(); break; case 10: - return $this->getInpDocTypeFile(); + return $this->getInpDocTags(); break; case 11: - return $this->getInpDocMaxFilesize(); + return $this->getInpDocTypeFile(); break; case 12: + return $this->getInpDocMaxFilesize(); + break; + case 13: return $this->getInpDocMaxFilesizeUnit(); break; default: @@ -860,18 +904,19 @@ abstract class BaseInputDocument extends BaseObject implements Persistent $keys = InputDocumentPeer::getFieldNames($keyType); $result = array( $keys[0] => $this->getInpDocUid(), - $keys[1] => $this->getProUid(), - $keys[2] => $this->getInpDocTitle(), - $keys[3] => $this->getInpDocDescription(), - $keys[4] => $this->getInpDocFormNeeded(), - $keys[5] => $this->getInpDocOriginal(), - $keys[6] => $this->getInpDocPublished(), - $keys[7] => $this->getInpDocVersioning(), - $keys[8] => $this->getInpDocDestinationPath(), - $keys[9] => $this->getInpDocTags(), - $keys[10] => $this->getInpDocTypeFile(), - $keys[11] => $this->getInpDocMaxFilesize(), - $keys[12] => $this->getInpDocMaxFilesizeUnit(), + $keys[1] => $this->getInpDocId(), + $keys[2] => $this->getProUid(), + $keys[3] => $this->getInpDocTitle(), + $keys[4] => $this->getInpDocDescription(), + $keys[5] => $this->getInpDocFormNeeded(), + $keys[6] => $this->getInpDocOriginal(), + $keys[7] => $this->getInpDocPublished(), + $keys[8] => $this->getInpDocVersioning(), + $keys[9] => $this->getInpDocDestinationPath(), + $keys[10] => $this->getInpDocTags(), + $keys[11] => $this->getInpDocTypeFile(), + $keys[12] => $this->getInpDocMaxFilesize(), + $keys[13] => $this->getInpDocMaxFilesizeUnit(), ); return $result; } @@ -907,39 +952,42 @@ abstract class BaseInputDocument extends BaseObject implements Persistent $this->setInpDocUid($value); break; case 1: - $this->setProUid($value); + $this->setInpDocId($value); break; case 2: - $this->setInpDocTitle($value); + $this->setProUid($value); break; case 3: - $this->setInpDocDescription($value); + $this->setInpDocTitle($value); break; case 4: - $this->setInpDocFormNeeded($value); + $this->setInpDocDescription($value); break; case 5: - $this->setInpDocOriginal($value); + $this->setInpDocFormNeeded($value); break; case 6: - $this->setInpDocPublished($value); + $this->setInpDocOriginal($value); break; case 7: - $this->setInpDocVersioning($value); + $this->setInpDocPublished($value); break; case 8: - $this->setInpDocDestinationPath($value); + $this->setInpDocVersioning($value); break; case 9: - $this->setInpDocTags($value); + $this->setInpDocDestinationPath($value); break; case 10: - $this->setInpDocTypeFile($value); + $this->setInpDocTags($value); break; case 11: - $this->setInpDocMaxFilesize($value); + $this->setInpDocTypeFile($value); break; case 12: + $this->setInpDocMaxFilesize($value); + break; + case 13: $this->setInpDocMaxFilesizeUnit($value); break; } // switch() @@ -970,51 +1018,55 @@ abstract class BaseInputDocument extends BaseObject implements Persistent } if (array_key_exists($keys[1], $arr)) { - $this->setProUid($arr[$keys[1]]); + $this->setInpDocId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { - $this->setInpDocTitle($arr[$keys[2]]); + $this->setProUid($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { - $this->setInpDocDescription($arr[$keys[3]]); + $this->setInpDocTitle($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { - $this->setInpDocFormNeeded($arr[$keys[4]]); + $this->setInpDocDescription($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { - $this->setInpDocOriginal($arr[$keys[5]]); + $this->setInpDocFormNeeded($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { - $this->setInpDocPublished($arr[$keys[6]]); + $this->setInpDocOriginal($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { - $this->setInpDocVersioning($arr[$keys[7]]); + $this->setInpDocPublished($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { - $this->setInpDocDestinationPath($arr[$keys[8]]); + $this->setInpDocVersioning($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { - $this->setInpDocTags($arr[$keys[9]]); + $this->setInpDocDestinationPath($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { - $this->setInpDocTypeFile($arr[$keys[10]]); + $this->setInpDocTags($arr[$keys[10]]); } if (array_key_exists($keys[11], $arr)) { - $this->setInpDocMaxFilesize($arr[$keys[11]]); + $this->setInpDocTypeFile($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { - $this->setInpDocMaxFilesizeUnit($arr[$keys[12]]); + $this->setInpDocMaxFilesize($arr[$keys[12]]); + } + + if (array_key_exists($keys[13], $arr)) { + $this->setInpDocMaxFilesizeUnit($arr[$keys[13]]); } } @@ -1032,6 +1084,10 @@ abstract class BaseInputDocument extends BaseObject implements Persistent $criteria->add(InputDocumentPeer::INP_DOC_UID, $this->inp_doc_uid); } + if ($this->isColumnModified(InputDocumentPeer::INP_DOC_ID)) { + $criteria->add(InputDocumentPeer::INP_DOC_ID, $this->inp_doc_id); + } + if ($this->isColumnModified(InputDocumentPeer::PRO_UID)) { $criteria->add(InputDocumentPeer::PRO_UID, $this->pro_uid); } @@ -1134,6 +1190,8 @@ abstract class BaseInputDocument extends BaseObject implements Persistent public function copyInto($copyObj, $deepCopy = false) { + $copyObj->setInpDocId($this->inp_doc_id); + $copyObj->setProUid($this->pro_uid); $copyObj->setInpDocTitle($this->inp_doc_title); diff --git a/workflow/engine/classes/model/om/BaseInputDocumentPeer.php b/workflow/engine/classes/model/om/BaseInputDocumentPeer.php index ef974df97..3b2d52ca7 100644 --- a/workflow/engine/classes/model/om/BaseInputDocumentPeer.php +++ b/workflow/engine/classes/model/om/BaseInputDocumentPeer.php @@ -25,7 +25,7 @@ abstract class BaseInputDocumentPeer const CLASS_DEFAULT = 'classes.model.InputDocument'; /** The total number of columns. */ - const NUM_COLUMNS = 13; + const NUM_COLUMNS = 14; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -34,6 +34,9 @@ abstract class BaseInputDocumentPeer /** the column name for the INP_DOC_UID field */ const INP_DOC_UID = 'INPUT_DOCUMENT.INP_DOC_UID'; + /** the column name for the INP_DOC_ID field */ + const INP_DOC_ID = 'INPUT_DOCUMENT.INP_DOC_ID'; + /** the column name for the PRO_UID field */ const PRO_UID = 'INPUT_DOCUMENT.PRO_UID'; @@ -81,10 +84,10 @@ abstract class BaseInputDocumentPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('InpDocUid', 'ProUid', 'InpDocTitle', 'InpDocDescription', 'InpDocFormNeeded', 'InpDocOriginal', 'InpDocPublished', 'InpDocVersioning', 'InpDocDestinationPath', 'InpDocTags', 'InpDocTypeFile', 'InpDocMaxFilesize', 'InpDocMaxFilesizeUnit', ), - BasePeer::TYPE_COLNAME => array (InputDocumentPeer::INP_DOC_UID, InputDocumentPeer::PRO_UID, InputDocumentPeer::INP_DOC_TITLE, InputDocumentPeer::INP_DOC_DESCRIPTION, InputDocumentPeer::INP_DOC_FORM_NEEDED, InputDocumentPeer::INP_DOC_ORIGINAL, InputDocumentPeer::INP_DOC_PUBLISHED, InputDocumentPeer::INP_DOC_VERSIONING, InputDocumentPeer::INP_DOC_DESTINATION_PATH, InputDocumentPeer::INP_DOC_TAGS, InputDocumentPeer::INP_DOC_TYPE_FILE, InputDocumentPeer::INP_DOC_MAX_FILESIZE, InputDocumentPeer::INP_DOC_MAX_FILESIZE_UNIT, ), - BasePeer::TYPE_FIELDNAME => array ('INP_DOC_UID', 'PRO_UID', 'INP_DOC_TITLE', 'INP_DOC_DESCRIPTION', 'INP_DOC_FORM_NEEDED', 'INP_DOC_ORIGINAL', 'INP_DOC_PUBLISHED', 'INP_DOC_VERSIONING', 'INP_DOC_DESTINATION_PATH', 'INP_DOC_TAGS', 'INP_DOC_TYPE_FILE', 'INP_DOC_MAX_FILESIZE', 'INP_DOC_MAX_FILESIZE_UNIT', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ) + BasePeer::TYPE_PHPNAME => array ('InpDocUid', 'InpDocId', 'ProUid', 'InpDocTitle', 'InpDocDescription', 'InpDocFormNeeded', 'InpDocOriginal', 'InpDocPublished', 'InpDocVersioning', 'InpDocDestinationPath', 'InpDocTags', 'InpDocTypeFile', 'InpDocMaxFilesize', 'InpDocMaxFilesizeUnit', ), + BasePeer::TYPE_COLNAME => array (InputDocumentPeer::INP_DOC_UID, InputDocumentPeer::INP_DOC_ID, InputDocumentPeer::PRO_UID, InputDocumentPeer::INP_DOC_TITLE, InputDocumentPeer::INP_DOC_DESCRIPTION, InputDocumentPeer::INP_DOC_FORM_NEEDED, InputDocumentPeer::INP_DOC_ORIGINAL, InputDocumentPeer::INP_DOC_PUBLISHED, InputDocumentPeer::INP_DOC_VERSIONING, InputDocumentPeer::INP_DOC_DESTINATION_PATH, InputDocumentPeer::INP_DOC_TAGS, InputDocumentPeer::INP_DOC_TYPE_FILE, InputDocumentPeer::INP_DOC_MAX_FILESIZE, InputDocumentPeer::INP_DOC_MAX_FILESIZE_UNIT, ), + BasePeer::TYPE_FIELDNAME => array ('INP_DOC_UID', 'INP_DOC_ID', 'PRO_UID', 'INP_DOC_TITLE', 'INP_DOC_DESCRIPTION', 'INP_DOC_FORM_NEEDED', 'INP_DOC_ORIGINAL', 'INP_DOC_PUBLISHED', 'INP_DOC_VERSIONING', 'INP_DOC_DESTINATION_PATH', 'INP_DOC_TAGS', 'INP_DOC_TYPE_FILE', 'INP_DOC_MAX_FILESIZE', 'INP_DOC_MAX_FILESIZE_UNIT', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ) ); /** @@ -94,10 +97,10 @@ abstract class BaseInputDocumentPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('InpDocUid' => 0, 'ProUid' => 1, 'InpDocTitle' => 2, 'InpDocDescription' => 3, 'InpDocFormNeeded' => 4, 'InpDocOriginal' => 5, 'InpDocPublished' => 6, 'InpDocVersioning' => 7, 'InpDocDestinationPath' => 8, 'InpDocTags' => 9, 'InpDocTypeFile' => 10, 'InpDocMaxFilesize' => 11, 'InpDocMaxFilesizeUnit' => 12, ), - BasePeer::TYPE_COLNAME => array (InputDocumentPeer::INP_DOC_UID => 0, InputDocumentPeer::PRO_UID => 1, InputDocumentPeer::INP_DOC_TITLE => 2, InputDocumentPeer::INP_DOC_DESCRIPTION => 3, InputDocumentPeer::INP_DOC_FORM_NEEDED => 4, InputDocumentPeer::INP_DOC_ORIGINAL => 5, InputDocumentPeer::INP_DOC_PUBLISHED => 6, InputDocumentPeer::INP_DOC_VERSIONING => 7, InputDocumentPeer::INP_DOC_DESTINATION_PATH => 8, InputDocumentPeer::INP_DOC_TAGS => 9, InputDocumentPeer::INP_DOC_TYPE_FILE => 10, InputDocumentPeer::INP_DOC_MAX_FILESIZE => 11, InputDocumentPeer::INP_DOC_MAX_FILESIZE_UNIT => 12, ), - BasePeer::TYPE_FIELDNAME => array ('INP_DOC_UID' => 0, 'PRO_UID' => 1, 'INP_DOC_TITLE' => 2, 'INP_DOC_DESCRIPTION' => 3, 'INP_DOC_FORM_NEEDED' => 4, 'INP_DOC_ORIGINAL' => 5, 'INP_DOC_PUBLISHED' => 6, 'INP_DOC_VERSIONING' => 7, 'INP_DOC_DESTINATION_PATH' => 8, 'INP_DOC_TAGS' => 9, 'INP_DOC_TYPE_FILE' => 10, 'INP_DOC_MAX_FILESIZE' => 11, 'INP_DOC_MAX_FILESIZE_UNIT' => 12, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ) + BasePeer::TYPE_PHPNAME => array ('InpDocUid' => 0, 'InpDocId' => 1, 'ProUid' => 2, 'InpDocTitle' => 3, 'InpDocDescription' => 4, 'InpDocFormNeeded' => 5, 'InpDocOriginal' => 6, 'InpDocPublished' => 7, 'InpDocVersioning' => 8, 'InpDocDestinationPath' => 9, 'InpDocTags' => 10, 'InpDocTypeFile' => 11, 'InpDocMaxFilesize' => 12, 'InpDocMaxFilesizeUnit' => 13, ), + BasePeer::TYPE_COLNAME => array (InputDocumentPeer::INP_DOC_UID => 0, InputDocumentPeer::INP_DOC_ID => 1, InputDocumentPeer::PRO_UID => 2, InputDocumentPeer::INP_DOC_TITLE => 3, InputDocumentPeer::INP_DOC_DESCRIPTION => 4, InputDocumentPeer::INP_DOC_FORM_NEEDED => 5, InputDocumentPeer::INP_DOC_ORIGINAL => 6, InputDocumentPeer::INP_DOC_PUBLISHED => 7, InputDocumentPeer::INP_DOC_VERSIONING => 8, InputDocumentPeer::INP_DOC_DESTINATION_PATH => 9, InputDocumentPeer::INP_DOC_TAGS => 10, InputDocumentPeer::INP_DOC_TYPE_FILE => 11, InputDocumentPeer::INP_DOC_MAX_FILESIZE => 12, InputDocumentPeer::INP_DOC_MAX_FILESIZE_UNIT => 13, ), + BasePeer::TYPE_FIELDNAME => array ('INP_DOC_UID' => 0, 'INP_DOC_ID' => 1, 'PRO_UID' => 2, 'INP_DOC_TITLE' => 3, 'INP_DOC_DESCRIPTION' => 4, 'INP_DOC_FORM_NEEDED' => 5, 'INP_DOC_ORIGINAL' => 6, 'INP_DOC_PUBLISHED' => 7, 'INP_DOC_VERSIONING' => 8, 'INP_DOC_DESTINATION_PATH' => 9, 'INP_DOC_TAGS' => 10, 'INP_DOC_TYPE_FILE' => 11, 'INP_DOC_MAX_FILESIZE' => 12, 'INP_DOC_MAX_FILESIZE_UNIT' => 13, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ) ); /** @@ -200,6 +203,8 @@ abstract class BaseInputDocumentPeer $criteria->addSelectColumn(InputDocumentPeer::INP_DOC_UID); + $criteria->addSelectColumn(InputDocumentPeer::INP_DOC_ID); + $criteria->addSelectColumn(InputDocumentPeer::PRO_UID); $criteria->addSelectColumn(InputDocumentPeer::INP_DOC_TITLE); diff --git a/workflow/engine/classes/model/om/BaseOutputDocument.php b/workflow/engine/classes/model/om/BaseOutputDocument.php index b99e8e6d7..d20ebd538 100644 --- a/workflow/engine/classes/model/om/BaseOutputDocument.php +++ b/workflow/engine/classes/model/om/BaseOutputDocument.php @@ -33,6 +33,12 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent */ protected $out_doc_uid = ''; + /** + * The value for the out_doc_id field. + * @var int + */ + protected $out_doc_id; + /** * The value for the out_doc_title field. * @var string @@ -202,6 +208,17 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent return $this->out_doc_uid; } + /** + * Get the [out_doc_id] column value. + * + * @return int + */ + public function getOutDocId() + { + + return $this->out_doc_id; + } + /** * Get the [out_doc_title] column value. * @@ -488,6 +505,28 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent } // setOutDocUid() + /** + * Set the value of [out_doc_id] column. + * + * @param int $v new value + * @return void + */ + public function setOutDocId($v) + { + + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->out_doc_id !== $v) { + $this->out_doc_id = $v; + $this->modifiedColumns[] = OutputDocumentPeer::OUT_DOC_ID; + } + + } // setOutDocId() + /** * Set the value of [out_doc_title] column. * @@ -1035,60 +1074,62 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent $this->out_doc_uid = $rs->getString($startcol + 0); - $this->out_doc_title = $rs->getString($startcol + 1); + $this->out_doc_id = $rs->getInt($startcol + 1); - $this->out_doc_description = $rs->getString($startcol + 2); + $this->out_doc_title = $rs->getString($startcol + 2); - $this->out_doc_filename = $rs->getString($startcol + 3); + $this->out_doc_description = $rs->getString($startcol + 3); - $this->out_doc_template = $rs->getString($startcol + 4); + $this->out_doc_filename = $rs->getString($startcol + 4); - $this->pro_uid = $rs->getString($startcol + 5); + $this->out_doc_template = $rs->getString($startcol + 5); - $this->out_doc_report_generator = $rs->getString($startcol + 6); + $this->pro_uid = $rs->getString($startcol + 6); - $this->out_doc_landscape = $rs->getInt($startcol + 7); + $this->out_doc_report_generator = $rs->getString($startcol + 7); - $this->out_doc_media = $rs->getString($startcol + 8); + $this->out_doc_landscape = $rs->getInt($startcol + 8); - $this->out_doc_left_margin = $rs->getInt($startcol + 9); + $this->out_doc_media = $rs->getString($startcol + 9); - $this->out_doc_right_margin = $rs->getInt($startcol + 10); + $this->out_doc_left_margin = $rs->getInt($startcol + 10); - $this->out_doc_top_margin = $rs->getInt($startcol + 11); + $this->out_doc_right_margin = $rs->getInt($startcol + 11); - $this->out_doc_bottom_margin = $rs->getInt($startcol + 12); + $this->out_doc_top_margin = $rs->getInt($startcol + 12); - $this->out_doc_generate = $rs->getString($startcol + 13); + $this->out_doc_bottom_margin = $rs->getInt($startcol + 13); - $this->out_doc_type = $rs->getString($startcol + 14); + $this->out_doc_generate = $rs->getString($startcol + 14); - $this->out_doc_current_revision = $rs->getInt($startcol + 15); + $this->out_doc_type = $rs->getString($startcol + 15); - $this->out_doc_field_mapping = $rs->getString($startcol + 16); + $this->out_doc_current_revision = $rs->getInt($startcol + 16); - $this->out_doc_versioning = $rs->getInt($startcol + 17); + $this->out_doc_field_mapping = $rs->getString($startcol + 17); - $this->out_doc_destination_path = $rs->getString($startcol + 18); + $this->out_doc_versioning = $rs->getInt($startcol + 18); - $this->out_doc_tags = $rs->getString($startcol + 19); + $this->out_doc_destination_path = $rs->getString($startcol + 19); - $this->out_doc_pdf_security_enabled = $rs->getInt($startcol + 20); + $this->out_doc_tags = $rs->getString($startcol + 20); - $this->out_doc_pdf_security_open_password = $rs->getString($startcol + 21); + $this->out_doc_pdf_security_enabled = $rs->getInt($startcol + 21); - $this->out_doc_pdf_security_owner_password = $rs->getString($startcol + 22); + $this->out_doc_pdf_security_open_password = $rs->getString($startcol + 22); - $this->out_doc_pdf_security_permissions = $rs->getString($startcol + 23); + $this->out_doc_pdf_security_owner_password = $rs->getString($startcol + 23); - $this->out_doc_open_type = $rs->getInt($startcol + 24); + $this->out_doc_pdf_security_permissions = $rs->getString($startcol + 24); + + $this->out_doc_open_type = $rs->getInt($startcol + 25); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 25; // 25 = OutputDocumentPeer::NUM_COLUMNS - OutputDocumentPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 26; // 26 = OutputDocumentPeer::NUM_COLUMNS - OutputDocumentPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating OutputDocument object", $e); @@ -1296,75 +1337,78 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent return $this->getOutDocUid(); break; case 1: - return $this->getOutDocTitle(); + return $this->getOutDocId(); break; case 2: - return $this->getOutDocDescription(); + return $this->getOutDocTitle(); break; case 3: - return $this->getOutDocFilename(); + return $this->getOutDocDescription(); break; case 4: - return $this->getOutDocTemplate(); + return $this->getOutDocFilename(); break; case 5: - return $this->getProUid(); + return $this->getOutDocTemplate(); break; case 6: - return $this->getOutDocReportGenerator(); + return $this->getProUid(); break; case 7: - return $this->getOutDocLandscape(); + return $this->getOutDocReportGenerator(); break; case 8: - return $this->getOutDocMedia(); + return $this->getOutDocLandscape(); break; case 9: - return $this->getOutDocLeftMargin(); + return $this->getOutDocMedia(); break; case 10: - return $this->getOutDocRightMargin(); + return $this->getOutDocLeftMargin(); break; case 11: - return $this->getOutDocTopMargin(); + return $this->getOutDocRightMargin(); break; case 12: - return $this->getOutDocBottomMargin(); + return $this->getOutDocTopMargin(); break; case 13: - return $this->getOutDocGenerate(); + return $this->getOutDocBottomMargin(); break; case 14: - return $this->getOutDocType(); + return $this->getOutDocGenerate(); break; case 15: - return $this->getOutDocCurrentRevision(); + return $this->getOutDocType(); break; case 16: - return $this->getOutDocFieldMapping(); + return $this->getOutDocCurrentRevision(); break; case 17: - return $this->getOutDocVersioning(); + return $this->getOutDocFieldMapping(); break; case 18: - return $this->getOutDocDestinationPath(); + return $this->getOutDocVersioning(); break; case 19: - return $this->getOutDocTags(); + return $this->getOutDocDestinationPath(); break; case 20: - return $this->getOutDocPdfSecurityEnabled(); + return $this->getOutDocTags(); break; case 21: - return $this->getOutDocPdfSecurityOpenPassword(); + return $this->getOutDocPdfSecurityEnabled(); break; case 22: - return $this->getOutDocPdfSecurityOwnerPassword(); + return $this->getOutDocPdfSecurityOpenPassword(); break; case 23: - return $this->getOutDocPdfSecurityPermissions(); + return $this->getOutDocPdfSecurityOwnerPassword(); break; case 24: + return $this->getOutDocPdfSecurityPermissions(); + break; + case 25: return $this->getOutDocOpenType(); break; default: @@ -1388,30 +1432,31 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent $keys = OutputDocumentPeer::getFieldNames($keyType); $result = array( $keys[0] => $this->getOutDocUid(), - $keys[1] => $this->getOutDocTitle(), - $keys[2] => $this->getOutDocDescription(), - $keys[3] => $this->getOutDocFilename(), - $keys[4] => $this->getOutDocTemplate(), - $keys[5] => $this->getProUid(), - $keys[6] => $this->getOutDocReportGenerator(), - $keys[7] => $this->getOutDocLandscape(), - $keys[8] => $this->getOutDocMedia(), - $keys[9] => $this->getOutDocLeftMargin(), - $keys[10] => $this->getOutDocRightMargin(), - $keys[11] => $this->getOutDocTopMargin(), - $keys[12] => $this->getOutDocBottomMargin(), - $keys[13] => $this->getOutDocGenerate(), - $keys[14] => $this->getOutDocType(), - $keys[15] => $this->getOutDocCurrentRevision(), - $keys[16] => $this->getOutDocFieldMapping(), - $keys[17] => $this->getOutDocVersioning(), - $keys[18] => $this->getOutDocDestinationPath(), - $keys[19] => $this->getOutDocTags(), - $keys[20] => $this->getOutDocPdfSecurityEnabled(), - $keys[21] => $this->getOutDocPdfSecurityOpenPassword(), - $keys[22] => $this->getOutDocPdfSecurityOwnerPassword(), - $keys[23] => $this->getOutDocPdfSecurityPermissions(), - $keys[24] => $this->getOutDocOpenType(), + $keys[1] => $this->getOutDocId(), + $keys[2] => $this->getOutDocTitle(), + $keys[3] => $this->getOutDocDescription(), + $keys[4] => $this->getOutDocFilename(), + $keys[5] => $this->getOutDocTemplate(), + $keys[6] => $this->getProUid(), + $keys[7] => $this->getOutDocReportGenerator(), + $keys[8] => $this->getOutDocLandscape(), + $keys[9] => $this->getOutDocMedia(), + $keys[10] => $this->getOutDocLeftMargin(), + $keys[11] => $this->getOutDocRightMargin(), + $keys[12] => $this->getOutDocTopMargin(), + $keys[13] => $this->getOutDocBottomMargin(), + $keys[14] => $this->getOutDocGenerate(), + $keys[15] => $this->getOutDocType(), + $keys[16] => $this->getOutDocCurrentRevision(), + $keys[17] => $this->getOutDocFieldMapping(), + $keys[18] => $this->getOutDocVersioning(), + $keys[19] => $this->getOutDocDestinationPath(), + $keys[20] => $this->getOutDocTags(), + $keys[21] => $this->getOutDocPdfSecurityEnabled(), + $keys[22] => $this->getOutDocPdfSecurityOpenPassword(), + $keys[23] => $this->getOutDocPdfSecurityOwnerPassword(), + $keys[24] => $this->getOutDocPdfSecurityPermissions(), + $keys[25] => $this->getOutDocOpenType(), ); return $result; } @@ -1447,75 +1492,78 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent $this->setOutDocUid($value); break; case 1: - $this->setOutDocTitle($value); + $this->setOutDocId($value); break; case 2: - $this->setOutDocDescription($value); + $this->setOutDocTitle($value); break; case 3: - $this->setOutDocFilename($value); + $this->setOutDocDescription($value); break; case 4: - $this->setOutDocTemplate($value); + $this->setOutDocFilename($value); break; case 5: - $this->setProUid($value); + $this->setOutDocTemplate($value); break; case 6: - $this->setOutDocReportGenerator($value); + $this->setProUid($value); break; case 7: - $this->setOutDocLandscape($value); + $this->setOutDocReportGenerator($value); break; case 8: - $this->setOutDocMedia($value); + $this->setOutDocLandscape($value); break; case 9: - $this->setOutDocLeftMargin($value); + $this->setOutDocMedia($value); break; case 10: - $this->setOutDocRightMargin($value); + $this->setOutDocLeftMargin($value); break; case 11: - $this->setOutDocTopMargin($value); + $this->setOutDocRightMargin($value); break; case 12: - $this->setOutDocBottomMargin($value); + $this->setOutDocTopMargin($value); break; case 13: - $this->setOutDocGenerate($value); + $this->setOutDocBottomMargin($value); break; case 14: - $this->setOutDocType($value); + $this->setOutDocGenerate($value); break; case 15: - $this->setOutDocCurrentRevision($value); + $this->setOutDocType($value); break; case 16: - $this->setOutDocFieldMapping($value); + $this->setOutDocCurrentRevision($value); break; case 17: - $this->setOutDocVersioning($value); + $this->setOutDocFieldMapping($value); break; case 18: - $this->setOutDocDestinationPath($value); + $this->setOutDocVersioning($value); break; case 19: - $this->setOutDocTags($value); + $this->setOutDocDestinationPath($value); break; case 20: - $this->setOutDocPdfSecurityEnabled($value); + $this->setOutDocTags($value); break; case 21: - $this->setOutDocPdfSecurityOpenPassword($value); + $this->setOutDocPdfSecurityEnabled($value); break; case 22: - $this->setOutDocPdfSecurityOwnerPassword($value); + $this->setOutDocPdfSecurityOpenPassword($value); break; case 23: - $this->setOutDocPdfSecurityPermissions($value); + $this->setOutDocPdfSecurityOwnerPassword($value); break; case 24: + $this->setOutDocPdfSecurityPermissions($value); + break; + case 25: $this->setOutDocOpenType($value); break; } // switch() @@ -1546,99 +1594,103 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent } if (array_key_exists($keys[1], $arr)) { - $this->setOutDocTitle($arr[$keys[1]]); + $this->setOutDocId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { - $this->setOutDocDescription($arr[$keys[2]]); + $this->setOutDocTitle($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { - $this->setOutDocFilename($arr[$keys[3]]); + $this->setOutDocDescription($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { - $this->setOutDocTemplate($arr[$keys[4]]); + $this->setOutDocFilename($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { - $this->setProUid($arr[$keys[5]]); + $this->setOutDocTemplate($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { - $this->setOutDocReportGenerator($arr[$keys[6]]); + $this->setProUid($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { - $this->setOutDocLandscape($arr[$keys[7]]); + $this->setOutDocReportGenerator($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { - $this->setOutDocMedia($arr[$keys[8]]); + $this->setOutDocLandscape($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { - $this->setOutDocLeftMargin($arr[$keys[9]]); + $this->setOutDocMedia($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { - $this->setOutDocRightMargin($arr[$keys[10]]); + $this->setOutDocLeftMargin($arr[$keys[10]]); } if (array_key_exists($keys[11], $arr)) { - $this->setOutDocTopMargin($arr[$keys[11]]); + $this->setOutDocRightMargin($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { - $this->setOutDocBottomMargin($arr[$keys[12]]); + $this->setOutDocTopMargin($arr[$keys[12]]); } if (array_key_exists($keys[13], $arr)) { - $this->setOutDocGenerate($arr[$keys[13]]); + $this->setOutDocBottomMargin($arr[$keys[13]]); } if (array_key_exists($keys[14], $arr)) { - $this->setOutDocType($arr[$keys[14]]); + $this->setOutDocGenerate($arr[$keys[14]]); } if (array_key_exists($keys[15], $arr)) { - $this->setOutDocCurrentRevision($arr[$keys[15]]); + $this->setOutDocType($arr[$keys[15]]); } if (array_key_exists($keys[16], $arr)) { - $this->setOutDocFieldMapping($arr[$keys[16]]); + $this->setOutDocCurrentRevision($arr[$keys[16]]); } if (array_key_exists($keys[17], $arr)) { - $this->setOutDocVersioning($arr[$keys[17]]); + $this->setOutDocFieldMapping($arr[$keys[17]]); } if (array_key_exists($keys[18], $arr)) { - $this->setOutDocDestinationPath($arr[$keys[18]]); + $this->setOutDocVersioning($arr[$keys[18]]); } if (array_key_exists($keys[19], $arr)) { - $this->setOutDocTags($arr[$keys[19]]); + $this->setOutDocDestinationPath($arr[$keys[19]]); } if (array_key_exists($keys[20], $arr)) { - $this->setOutDocPdfSecurityEnabled($arr[$keys[20]]); + $this->setOutDocTags($arr[$keys[20]]); } if (array_key_exists($keys[21], $arr)) { - $this->setOutDocPdfSecurityOpenPassword($arr[$keys[21]]); + $this->setOutDocPdfSecurityEnabled($arr[$keys[21]]); } if (array_key_exists($keys[22], $arr)) { - $this->setOutDocPdfSecurityOwnerPassword($arr[$keys[22]]); + $this->setOutDocPdfSecurityOpenPassword($arr[$keys[22]]); } if (array_key_exists($keys[23], $arr)) { - $this->setOutDocPdfSecurityPermissions($arr[$keys[23]]); + $this->setOutDocPdfSecurityOwnerPassword($arr[$keys[23]]); } if (array_key_exists($keys[24], $arr)) { - $this->setOutDocOpenType($arr[$keys[24]]); + $this->setOutDocPdfSecurityPermissions($arr[$keys[24]]); + } + + if (array_key_exists($keys[25], $arr)) { + $this->setOutDocOpenType($arr[$keys[25]]); } } @@ -1656,6 +1708,10 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent $criteria->add(OutputDocumentPeer::OUT_DOC_UID, $this->out_doc_uid); } + if ($this->isColumnModified(OutputDocumentPeer::OUT_DOC_ID)) { + $criteria->add(OutputDocumentPeer::OUT_DOC_ID, $this->out_doc_id); + } + if ($this->isColumnModified(OutputDocumentPeer::OUT_DOC_TITLE)) { $criteria->add(OutputDocumentPeer::OUT_DOC_TITLE, $this->out_doc_title); } @@ -1806,6 +1862,8 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent public function copyInto($copyObj, $deepCopy = false) { + $copyObj->setOutDocId($this->out_doc_id); + $copyObj->setOutDocTitle($this->out_doc_title); $copyObj->setOutDocDescription($this->out_doc_description); diff --git a/workflow/engine/classes/model/om/BaseOutputDocumentPeer.php b/workflow/engine/classes/model/om/BaseOutputDocumentPeer.php index be18142a0..81062b038 100644 --- a/workflow/engine/classes/model/om/BaseOutputDocumentPeer.php +++ b/workflow/engine/classes/model/om/BaseOutputDocumentPeer.php @@ -25,7 +25,7 @@ abstract class BaseOutputDocumentPeer const CLASS_DEFAULT = 'classes.model.OutputDocument'; /** The total number of columns. */ - const NUM_COLUMNS = 25; + const NUM_COLUMNS = 26; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -34,6 +34,9 @@ abstract class BaseOutputDocumentPeer /** the column name for the OUT_DOC_UID field */ const OUT_DOC_UID = 'OUTPUT_DOCUMENT.OUT_DOC_UID'; + /** the column name for the OUT_DOC_ID field */ + const OUT_DOC_ID = 'OUTPUT_DOCUMENT.OUT_DOC_ID'; + /** the column name for the OUT_DOC_TITLE field */ const OUT_DOC_TITLE = 'OUTPUT_DOCUMENT.OUT_DOC_TITLE'; @@ -117,10 +120,10 @@ abstract class BaseOutputDocumentPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('OutDocUid', 'OutDocTitle', 'OutDocDescription', 'OutDocFilename', 'OutDocTemplate', 'ProUid', 'OutDocReportGenerator', 'OutDocLandscape', 'OutDocMedia', 'OutDocLeftMargin', 'OutDocRightMargin', 'OutDocTopMargin', 'OutDocBottomMargin', 'OutDocGenerate', 'OutDocType', 'OutDocCurrentRevision', 'OutDocFieldMapping', 'OutDocVersioning', 'OutDocDestinationPath', 'OutDocTags', 'OutDocPdfSecurityEnabled', 'OutDocPdfSecurityOpenPassword', 'OutDocPdfSecurityOwnerPassword', 'OutDocPdfSecurityPermissions', 'OutDocOpenType', ), - BasePeer::TYPE_COLNAME => array (OutputDocumentPeer::OUT_DOC_UID, OutputDocumentPeer::OUT_DOC_TITLE, OutputDocumentPeer::OUT_DOC_DESCRIPTION, OutputDocumentPeer::OUT_DOC_FILENAME, OutputDocumentPeer::OUT_DOC_TEMPLATE, OutputDocumentPeer::PRO_UID, OutputDocumentPeer::OUT_DOC_REPORT_GENERATOR, OutputDocumentPeer::OUT_DOC_LANDSCAPE, OutputDocumentPeer::OUT_DOC_MEDIA, OutputDocumentPeer::OUT_DOC_LEFT_MARGIN, OutputDocumentPeer::OUT_DOC_RIGHT_MARGIN, OutputDocumentPeer::OUT_DOC_TOP_MARGIN, OutputDocumentPeer::OUT_DOC_BOTTOM_MARGIN, OutputDocumentPeer::OUT_DOC_GENERATE, OutputDocumentPeer::OUT_DOC_TYPE, OutputDocumentPeer::OUT_DOC_CURRENT_REVISION, OutputDocumentPeer::OUT_DOC_FIELD_MAPPING, OutputDocumentPeer::OUT_DOC_VERSIONING, OutputDocumentPeer::OUT_DOC_DESTINATION_PATH, OutputDocumentPeer::OUT_DOC_TAGS, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_ENABLED, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OPEN_PASSWORD, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OWNER_PASSWORD, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS, OutputDocumentPeer::OUT_DOC_OPEN_TYPE, ), - BasePeer::TYPE_FIELDNAME => array ('OUT_DOC_UID', 'OUT_DOC_TITLE', 'OUT_DOC_DESCRIPTION', 'OUT_DOC_FILENAME', 'OUT_DOC_TEMPLATE', 'PRO_UID', 'OUT_DOC_REPORT_GENERATOR', 'OUT_DOC_LANDSCAPE', 'OUT_DOC_MEDIA', 'OUT_DOC_LEFT_MARGIN', 'OUT_DOC_RIGHT_MARGIN', 'OUT_DOC_TOP_MARGIN', 'OUT_DOC_BOTTOM_MARGIN', 'OUT_DOC_GENERATE', 'OUT_DOC_TYPE', 'OUT_DOC_CURRENT_REVISION', 'OUT_DOC_FIELD_MAPPING', 'OUT_DOC_VERSIONING', 'OUT_DOC_DESTINATION_PATH', 'OUT_DOC_TAGS', 'OUT_DOC_PDF_SECURITY_ENABLED', 'OUT_DOC_PDF_SECURITY_OPEN_PASSWORD', 'OUT_DOC_PDF_SECURITY_OWNER_PASSWORD', 'OUT_DOC_PDF_SECURITY_PERMISSIONS', 'OUT_DOC_OPEN_TYPE', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, ) + BasePeer::TYPE_PHPNAME => array ('OutDocUid', 'OutDocId', 'OutDocTitle', 'OutDocDescription', 'OutDocFilename', 'OutDocTemplate', 'ProUid', 'OutDocReportGenerator', 'OutDocLandscape', 'OutDocMedia', 'OutDocLeftMargin', 'OutDocRightMargin', 'OutDocTopMargin', 'OutDocBottomMargin', 'OutDocGenerate', 'OutDocType', 'OutDocCurrentRevision', 'OutDocFieldMapping', 'OutDocVersioning', 'OutDocDestinationPath', 'OutDocTags', 'OutDocPdfSecurityEnabled', 'OutDocPdfSecurityOpenPassword', 'OutDocPdfSecurityOwnerPassword', 'OutDocPdfSecurityPermissions', 'OutDocOpenType', ), + BasePeer::TYPE_COLNAME => array (OutputDocumentPeer::OUT_DOC_UID, OutputDocumentPeer::OUT_DOC_ID, OutputDocumentPeer::OUT_DOC_TITLE, OutputDocumentPeer::OUT_DOC_DESCRIPTION, OutputDocumentPeer::OUT_DOC_FILENAME, OutputDocumentPeer::OUT_DOC_TEMPLATE, OutputDocumentPeer::PRO_UID, OutputDocumentPeer::OUT_DOC_REPORT_GENERATOR, OutputDocumentPeer::OUT_DOC_LANDSCAPE, OutputDocumentPeer::OUT_DOC_MEDIA, OutputDocumentPeer::OUT_DOC_LEFT_MARGIN, OutputDocumentPeer::OUT_DOC_RIGHT_MARGIN, OutputDocumentPeer::OUT_DOC_TOP_MARGIN, OutputDocumentPeer::OUT_DOC_BOTTOM_MARGIN, OutputDocumentPeer::OUT_DOC_GENERATE, OutputDocumentPeer::OUT_DOC_TYPE, OutputDocumentPeer::OUT_DOC_CURRENT_REVISION, OutputDocumentPeer::OUT_DOC_FIELD_MAPPING, OutputDocumentPeer::OUT_DOC_VERSIONING, OutputDocumentPeer::OUT_DOC_DESTINATION_PATH, OutputDocumentPeer::OUT_DOC_TAGS, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_ENABLED, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OPEN_PASSWORD, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OWNER_PASSWORD, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS, OutputDocumentPeer::OUT_DOC_OPEN_TYPE, ), + BasePeer::TYPE_FIELDNAME => array ('OUT_DOC_UID', 'OUT_DOC_ID', 'OUT_DOC_TITLE', 'OUT_DOC_DESCRIPTION', 'OUT_DOC_FILENAME', 'OUT_DOC_TEMPLATE', 'PRO_UID', 'OUT_DOC_REPORT_GENERATOR', 'OUT_DOC_LANDSCAPE', 'OUT_DOC_MEDIA', 'OUT_DOC_LEFT_MARGIN', 'OUT_DOC_RIGHT_MARGIN', 'OUT_DOC_TOP_MARGIN', 'OUT_DOC_BOTTOM_MARGIN', 'OUT_DOC_GENERATE', 'OUT_DOC_TYPE', 'OUT_DOC_CURRENT_REVISION', 'OUT_DOC_FIELD_MAPPING', 'OUT_DOC_VERSIONING', 'OUT_DOC_DESTINATION_PATH', 'OUT_DOC_TAGS', 'OUT_DOC_PDF_SECURITY_ENABLED', 'OUT_DOC_PDF_SECURITY_OPEN_PASSWORD', 'OUT_DOC_PDF_SECURITY_OWNER_PASSWORD', 'OUT_DOC_PDF_SECURITY_PERMISSIONS', 'OUT_DOC_OPEN_TYPE', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, ) ); /** @@ -130,10 +133,10 @@ abstract class BaseOutputDocumentPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('OutDocUid' => 0, 'OutDocTitle' => 1, 'OutDocDescription' => 2, 'OutDocFilename' => 3, 'OutDocTemplate' => 4, 'ProUid' => 5, 'OutDocReportGenerator' => 6, 'OutDocLandscape' => 7, 'OutDocMedia' => 8, 'OutDocLeftMargin' => 9, 'OutDocRightMargin' => 10, 'OutDocTopMargin' => 11, 'OutDocBottomMargin' => 12, 'OutDocGenerate' => 13, 'OutDocType' => 14, 'OutDocCurrentRevision' => 15, 'OutDocFieldMapping' => 16, 'OutDocVersioning' => 17, 'OutDocDestinationPath' => 18, 'OutDocTags' => 19, 'OutDocPdfSecurityEnabled' => 20, 'OutDocPdfSecurityOpenPassword' => 21, 'OutDocPdfSecurityOwnerPassword' => 22, 'OutDocPdfSecurityPermissions' => 23, 'OutDocOpenType' => 24, ), - BasePeer::TYPE_COLNAME => array (OutputDocumentPeer::OUT_DOC_UID => 0, OutputDocumentPeer::OUT_DOC_TITLE => 1, OutputDocumentPeer::OUT_DOC_DESCRIPTION => 2, OutputDocumentPeer::OUT_DOC_FILENAME => 3, OutputDocumentPeer::OUT_DOC_TEMPLATE => 4, OutputDocumentPeer::PRO_UID => 5, OutputDocumentPeer::OUT_DOC_REPORT_GENERATOR => 6, OutputDocumentPeer::OUT_DOC_LANDSCAPE => 7, OutputDocumentPeer::OUT_DOC_MEDIA => 8, OutputDocumentPeer::OUT_DOC_LEFT_MARGIN => 9, OutputDocumentPeer::OUT_DOC_RIGHT_MARGIN => 10, OutputDocumentPeer::OUT_DOC_TOP_MARGIN => 11, OutputDocumentPeer::OUT_DOC_BOTTOM_MARGIN => 12, OutputDocumentPeer::OUT_DOC_GENERATE => 13, OutputDocumentPeer::OUT_DOC_TYPE => 14, OutputDocumentPeer::OUT_DOC_CURRENT_REVISION => 15, OutputDocumentPeer::OUT_DOC_FIELD_MAPPING => 16, OutputDocumentPeer::OUT_DOC_VERSIONING => 17, OutputDocumentPeer::OUT_DOC_DESTINATION_PATH => 18, OutputDocumentPeer::OUT_DOC_TAGS => 19, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_ENABLED => 20, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OPEN_PASSWORD => 21, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OWNER_PASSWORD => 22, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS => 23, OutputDocumentPeer::OUT_DOC_OPEN_TYPE => 24, ), - BasePeer::TYPE_FIELDNAME => array ('OUT_DOC_UID' => 0, 'OUT_DOC_TITLE' => 1, 'OUT_DOC_DESCRIPTION' => 2, 'OUT_DOC_FILENAME' => 3, 'OUT_DOC_TEMPLATE' => 4, 'PRO_UID' => 5, 'OUT_DOC_REPORT_GENERATOR' => 6, 'OUT_DOC_LANDSCAPE' => 7, 'OUT_DOC_MEDIA' => 8, 'OUT_DOC_LEFT_MARGIN' => 9, 'OUT_DOC_RIGHT_MARGIN' => 10, 'OUT_DOC_TOP_MARGIN' => 11, 'OUT_DOC_BOTTOM_MARGIN' => 12, 'OUT_DOC_GENERATE' => 13, 'OUT_DOC_TYPE' => 14, 'OUT_DOC_CURRENT_REVISION' => 15, 'OUT_DOC_FIELD_MAPPING' => 16, 'OUT_DOC_VERSIONING' => 17, 'OUT_DOC_DESTINATION_PATH' => 18, 'OUT_DOC_TAGS' => 19, 'OUT_DOC_PDF_SECURITY_ENABLED' => 20, 'OUT_DOC_PDF_SECURITY_OPEN_PASSWORD' => 21, 'OUT_DOC_PDF_SECURITY_OWNER_PASSWORD' => 22, 'OUT_DOC_PDF_SECURITY_PERMISSIONS' => 23, 'OUT_DOC_OPEN_TYPE' => 24, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, ) + BasePeer::TYPE_PHPNAME => array ('OutDocUid' => 0, 'OutDocId' => 1, 'OutDocTitle' => 2, 'OutDocDescription' => 3, 'OutDocFilename' => 4, 'OutDocTemplate' => 5, 'ProUid' => 6, 'OutDocReportGenerator' => 7, 'OutDocLandscape' => 8, 'OutDocMedia' => 9, 'OutDocLeftMargin' => 10, 'OutDocRightMargin' => 11, 'OutDocTopMargin' => 12, 'OutDocBottomMargin' => 13, 'OutDocGenerate' => 14, 'OutDocType' => 15, 'OutDocCurrentRevision' => 16, 'OutDocFieldMapping' => 17, 'OutDocVersioning' => 18, 'OutDocDestinationPath' => 19, 'OutDocTags' => 20, 'OutDocPdfSecurityEnabled' => 21, 'OutDocPdfSecurityOpenPassword' => 22, 'OutDocPdfSecurityOwnerPassword' => 23, 'OutDocPdfSecurityPermissions' => 24, 'OutDocOpenType' => 25, ), + BasePeer::TYPE_COLNAME => array (OutputDocumentPeer::OUT_DOC_UID => 0, OutputDocumentPeer::OUT_DOC_ID => 1, OutputDocumentPeer::OUT_DOC_TITLE => 2, OutputDocumentPeer::OUT_DOC_DESCRIPTION => 3, OutputDocumentPeer::OUT_DOC_FILENAME => 4, OutputDocumentPeer::OUT_DOC_TEMPLATE => 5, OutputDocumentPeer::PRO_UID => 6, OutputDocumentPeer::OUT_DOC_REPORT_GENERATOR => 7, OutputDocumentPeer::OUT_DOC_LANDSCAPE => 8, OutputDocumentPeer::OUT_DOC_MEDIA => 9, OutputDocumentPeer::OUT_DOC_LEFT_MARGIN => 10, OutputDocumentPeer::OUT_DOC_RIGHT_MARGIN => 11, OutputDocumentPeer::OUT_DOC_TOP_MARGIN => 12, OutputDocumentPeer::OUT_DOC_BOTTOM_MARGIN => 13, OutputDocumentPeer::OUT_DOC_GENERATE => 14, OutputDocumentPeer::OUT_DOC_TYPE => 15, OutputDocumentPeer::OUT_DOC_CURRENT_REVISION => 16, OutputDocumentPeer::OUT_DOC_FIELD_MAPPING => 17, OutputDocumentPeer::OUT_DOC_VERSIONING => 18, OutputDocumentPeer::OUT_DOC_DESTINATION_PATH => 19, OutputDocumentPeer::OUT_DOC_TAGS => 20, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_ENABLED => 21, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OPEN_PASSWORD => 22, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OWNER_PASSWORD => 23, OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS => 24, OutputDocumentPeer::OUT_DOC_OPEN_TYPE => 25, ), + BasePeer::TYPE_FIELDNAME => array ('OUT_DOC_UID' => 0, 'OUT_DOC_ID' => 1, 'OUT_DOC_TITLE' => 2, 'OUT_DOC_DESCRIPTION' => 3, 'OUT_DOC_FILENAME' => 4, 'OUT_DOC_TEMPLATE' => 5, 'PRO_UID' => 6, 'OUT_DOC_REPORT_GENERATOR' => 7, 'OUT_DOC_LANDSCAPE' => 8, 'OUT_DOC_MEDIA' => 9, 'OUT_DOC_LEFT_MARGIN' => 10, 'OUT_DOC_RIGHT_MARGIN' => 11, 'OUT_DOC_TOP_MARGIN' => 12, 'OUT_DOC_BOTTOM_MARGIN' => 13, 'OUT_DOC_GENERATE' => 14, 'OUT_DOC_TYPE' => 15, 'OUT_DOC_CURRENT_REVISION' => 16, 'OUT_DOC_FIELD_MAPPING' => 17, 'OUT_DOC_VERSIONING' => 18, 'OUT_DOC_DESTINATION_PATH' => 19, 'OUT_DOC_TAGS' => 20, 'OUT_DOC_PDF_SECURITY_ENABLED' => 21, 'OUT_DOC_PDF_SECURITY_OPEN_PASSWORD' => 22, 'OUT_DOC_PDF_SECURITY_OWNER_PASSWORD' => 23, 'OUT_DOC_PDF_SECURITY_PERMISSIONS' => 24, 'OUT_DOC_OPEN_TYPE' => 25, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, ) ); /** @@ -236,6 +239,8 @@ abstract class BaseOutputDocumentPeer $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_UID); + $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_ID); + $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_TITLE); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_DESCRIPTION); diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 0d9a4d5c0..b83c05482 100644 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -554,7 +554,7 @@ - +
@@ -576,6 +576,7 @@ + @@ -585,6 +586,9 @@ + + + @@ -680,7 +684,7 @@
- +
@@ -702,6 +706,7 @@ + @@ -714,6 +719,9 @@ + + + @@ -877,7 +885,7 @@
- +
@@ -899,6 +907,7 @@ + @@ -923,6 +932,9 @@ + + + @@ -5761,11 +5773,12 @@ - - - + + + + + - @@ -5783,8 +5796,17 @@ - - + + + + + + + + + + +
diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index fd285c4bc..253471d9b 100644 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -258,6 +258,7 @@ DROP TABLE IF EXISTS `DYNAFORM`; CREATE TABLE `DYNAFORM` ( `DYN_UID` VARCHAR(32) default '' NOT NULL, + `DYN_ID` INTEGER NOT NULL AUTO_INCREMENT, `DYN_TITLE` MEDIUMTEXT NOT NULL, `DYN_DESCRIPTION` MEDIUMTEXT, `PRO_UID` VARCHAR(32) default '0' NOT NULL, @@ -267,7 +268,8 @@ CREATE TABLE `DYNAFORM` `DYN_LABEL` MEDIUMTEXT, `DYN_VERSION` INTEGER NOT NULL, `DYN_UPDATE_DATE` DATETIME, - PRIMARY KEY (`DYN_UID`) + PRIMARY KEY (`DYN_UID`), + UNIQUE KEY `INDEX_DYN_ID` (`DYN_ID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Forms required'; #----------------------------------------------------------------------------- #-- GROUPWF @@ -323,6 +325,7 @@ DROP TABLE IF EXISTS `INPUT_DOCUMENT`; CREATE TABLE `INPUT_DOCUMENT` ( `INP_DOC_UID` VARCHAR(32) default '' NOT NULL, + `INP_DOC_ID` INTEGER NOT NULL AUTO_INCREMENT, `PRO_UID` VARCHAR(32) default '0' NOT NULL, `INP_DOC_TITLE` MEDIUMTEXT NOT NULL, `INP_DOC_DESCRIPTION` MEDIUMTEXT, @@ -335,7 +338,8 @@ CREATE TABLE `INPUT_DOCUMENT` `INP_DOC_TYPE_FILE` VARCHAR(200) default '*.*', `INP_DOC_MAX_FILESIZE` INTEGER default 0 NOT NULL, `INP_DOC_MAX_FILESIZE_UNIT` VARCHAR(2) default 'KB' NOT NULL, - PRIMARY KEY (`INP_DOC_UID`) + PRIMARY KEY (`INP_DOC_UID`), + UNIQUE KEY `INDEX_INP_DOC_ID` (`INP_DOC_ID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Documentation required'; #----------------------------------------------------------------------------- #-- ISO_COUNTRY @@ -425,6 +429,7 @@ DROP TABLE IF EXISTS `OUTPUT_DOCUMENT`; CREATE TABLE `OUTPUT_DOCUMENT` ( `OUT_DOC_UID` VARCHAR(32) default '' NOT NULL, + `OUT_DOC_ID` INTEGER NOT NULL AUTO_INCREMENT, `OUT_DOC_TITLE` MEDIUMTEXT NOT NULL, `OUT_DOC_DESCRIPTION` MEDIUMTEXT, `OUT_DOC_FILENAME` MEDIUMTEXT, @@ -449,7 +454,8 @@ CREATE TABLE `OUTPUT_DOCUMENT` `OUT_DOC_PDF_SECURITY_OWNER_PASSWORD` VARCHAR(32) default '', `OUT_DOC_PDF_SECURITY_PERMISSIONS` VARCHAR(150) default '', `OUT_DOC_OPEN_TYPE` INTEGER default 1, - PRIMARY KEY (`OUT_DOC_UID`) + PRIMARY KEY (`OUT_DOC_UID`), + UNIQUE KEY `INDEX_OUT_DOC_ID` (`OUT_DOC_ID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8'; #----------------------------------------------------------------------------- #-- PROCESS @@ -3208,11 +3214,12 @@ CREATE TABLE `APP_DATA_CHANGE_LOG` `PRO_ID` INTEGER default 0, `TAS_ID` INTEGER default 0, `USR_ID` INTEGER default 0, - `DYN_ID` INTEGER default 0, - `SOURCE_ID` VARCHAR(32) default '', - `ST_TYPE` VARCHAR(32) default '', + `OBJECT_TYPE` INTEGER default 0, + `OBJECT_ID` INTEGER default 0, + `OBJECT_UID` VARCHAR(32) default '', + `EXECUTED_AT` INTEGER default 0, + `SOURCE_ID` INTEGER default 0, `DATA` MEDIUMTEXT NOT NULL, - `SOURCE_TO_SAVE` VARCHAR(32) default '', `SKIN` VARCHAR(32) default '', `LANGUAGE` VARCHAR(32) default '', PRIMARY KEY (`CHANGE_LOG_ID`), @@ -3221,7 +3228,10 @@ CREATE TABLE `APP_DATA_CHANGE_LOG` KEY `indexProId`(`PRO_ID`), KEY `indexTasId`(`TAS_ID`), KEY `indexUsrId`(`USR_ID`), - KEY `indexDynId`(`DYN_ID`) + KEY `indexObjectType`(`OBJECT_TYPE`), + KEY `indexObjectId`(`OBJECT_ID`), + KEY `indexExecutedAt`(`EXECUTED_AT`), + KEY `indexSourceId`(`SOURCE_ID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Change log'; # This restores the fkey checks, after having unset them earlier SET FOREIGN_KEY_CHECKS = 1; diff --git a/workflow/engine/methods/services/ActionsByEmail.php b/workflow/engine/methods/services/ActionsByEmail.php index de76cc293..8e3a3f3a6 100644 --- a/workflow/engine/methods/services/ActionsByEmail.php +++ b/workflow/engine/methods/services/ActionsByEmail.php @@ -1,6 +1,8 @@ verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { // since all the request parameters using this script are encrypted @@ -61,6 +63,13 @@ if (isset($_GET['BROWSER_TIME_ZONE_OFFSET'])) { throw $e; } + ChangeLog::getChangeLog() + ->setSourceId(ChangeLog::FromABE); + + $caseFieldsABE['CURRENT_DYNAFORM'] = ''; + $caseFieldsABE['USER_UID'] = $caseFieldsABE['CURRENT_USER_UID']; + $caseFieldsABE['OBJECT_TYPE'] = ''; + $case->updateCase($_REQUEST['APP_UID'], $caseFieldsABE); $ws = new WsBase(); diff --git a/workflow/engine/methods/services/ActionsByEmailDataForm.php b/workflow/engine/methods/services/ActionsByEmailDataForm.php index 3e54a488c..d597caca1 100644 --- a/workflow/engine/methods/services/ActionsByEmailDataForm.php +++ b/workflow/engine/methods/services/ActionsByEmailDataForm.php @@ -44,7 +44,7 @@ if (isset($_GET['BROWSER_TIME_ZONE_OFFSET'])) { $configuration = $result->getRow(); $action = 'ActionsByEmailDataFormPost.php?APP_UID=' . $_REQUEST['APP_UID'] . '&DEL_INDEX=' . - $_REQUEST['DEL_INDEX'] . '&ABER=' . $_REQUEST['ABER']; + $_REQUEST['DEL_INDEX'] . '&ABER=' . $_REQUEST['ABER'] . '&DYN_UID=' . $_REQUEST['DYN_UID']; $record = []; $record['DYN_CONTENT'] = $configuration['DYN_CONTENT']; diff --git a/workflow/engine/methods/services/ActionsByEmailDataFormPost.php b/workflow/engine/methods/services/ActionsByEmailDataFormPost.php index 54a36fec1..69586c4e8 100644 --- a/workflow/engine/methods/services/ActionsByEmailDataFormPost.php +++ b/workflow/engine/methods/services/ActionsByEmailDataFormPost.php @@ -1,7 +1,8 @@ verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { $G_PUBLISH = new Publisher(); try { @@ -29,6 +30,7 @@ if (PMLicensedFeatures $appUid = G::decrypt($_GET['APP_UID'], URL_KEY); $delIndex = G::decrypt($_REQUEST['DEL_INDEX'], URL_KEY); $aber = G::decrypt($_REQUEST['ABER'], URL_KEY); + $dynUid = G::decrypt($_REQUEST['DYN_UID'], URL_KEY); $forms = isset($_REQUEST['form']) ? $_REQUEST['form'] : []; //Load data related to the case @@ -50,15 +52,18 @@ if (PMLicensedFeatures $_SESSION[$index] = $value; } + $casesFields['CURRENT_DYNAFORM'] = $dynUid; + $casesFields['USER_UID'] = $casesFields['CURRENT_USER_UID']; + + ChangeLog::getChangeLog() + ->setSourceId(ChangeLog::FromABE); + //Update case info $case->updateCase($appUid, $casesFields); $wsBaseInstance = new WsBase(); $result = $wsBaseInstance->derivateCase( - $casesFields['CURRENT_USER_UID'], - $appUid, - $delIndex, - true + $casesFields['CURRENT_USER_UID'], $appUid, $delIndex, true ); $code = (is_array($result) ? $result['status_code'] : $result->status_code); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php index cf38f3d09..22f751313 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php @@ -2,40 +2,41 @@ namespace ProcessMaker\BusinessModel; -use ProcessMaker\BusinessModel\Lists; -use G; -use Criteria; -use UsersPeer; -use AppDelegationPeer; -use AppDelayPeer; -use ProcessMaker\Core\System; -use ProcessMaker\Util\DateTime; -use PmLicenseManager; -use Bootstrap; -use ProcessPeer; -use BpmnProjectPeer; -use Propel; -use ResultSet; -use Process; -use Cases; -use ProcessMaker\BusinessModel\Task as BusinessModelTask; -use ProcessMaker\Services\Api\Project\Activity\Step as ActivityStep; -use Exception; use AppCacheView; -use database; -use TaskPeer; -use StepPeer; -use GulliverBasePeer; +use AppDelayPeer; +use AppDelegationPeer; use AppDocument; -use Users; -use ProcessMaker\BusinessModel\User as BusinessModelUser; -use ProcessMaker\BusinessModel\Cases as BusinessModelCases; -use ProcessMaker\Core\RoutingScreen; -use Configurations; -use InputDocument; use AppFolder; +use Bootstrap; +use BpmnProjectPeer; +use Cases; +use Configurations; +use Criteria; +use database; +use Exception; +use G; +use GulliverBasePeer; +use InputDocument; +use PmLicenseManager; use PMmemcached; +use Process; +use ProcessMaker\BusinessModel\Cases as BusinessModelCases; +use ProcessMaker\BusinessModel\Lists; +use ProcessMaker\BusinessModel\Task as BusinessModelTask; +use ProcessMaker\BusinessModel\User as BusinessModelUser; +use ProcessMaker\ChangeLog\ChangeLog; +use ProcessMaker\Core\RoutingScreen; +use ProcessMaker\Core\System; +use ProcessMaker\Services\Api\Project\Activity\Step as ActivityStep; +use ProcessMaker\Util\DateTime; +use ProcessPeer; +use Propel; use RBAC; +use ResultSet; +use StepPeer; +use TaskPeer; +use Users; +use UsersPeer; class Light { @@ -599,6 +600,9 @@ class Light $tasks ); + ChangeLog::getChangeLog() + ->register(); + $array = json_decode(json_encode($fields), true); $array['message'] = trim(strip_tags($array['message'])); if ($array ["status_code"] != 0) { diff --git a/workflow/engine/src/ProcessMaker/ChangeLog/ChangeLog.php b/workflow/engine/src/ProcessMaker/ChangeLog/ChangeLog.php new file mode 100644 index 000000000..9ba247a6e --- /dev/null +++ b/workflow/engine/src/ProcessMaker/ChangeLog/ChangeLog.php @@ -0,0 +1,820 @@ +date; + } + + /** + * Get appNumber. + * + * @return int + */ + function getAppNumber() + { + return $this->appNumber; + } + + /** + * Get delIndex. + * + * @return int + */ + function getDelIndex() + { + return $this->delIndex; + } + + /** + * Get proId. + * + * @return int + */ + function getProId() + { + return $this->proId; + } + + /** + * Get tasId. + * + * @return int + */ + function getTasId() + { + return $this->tasId; + } + + /** + * Get usrId. + * + * @return int + */ + function getUsrId() + { + return $this->usrId; + } + + /** + * Get objectType. + * + * @return int + */ + function getObjectType() + { + return $this->objectType; + } + + /** + * Get objectId. + * + * @return int + */ + function getObjectId() + { + return $this->objectId; + } + + /** + * Get objectUid. + * + * @return type + */ + function getObjectUid() + { + return $this->objectUid; + } + + /** + * Get executedAt. + * + * @return int + */ + function getExecutedAt() + { + return $this->executedAt; + } + + /** + * Get sourceId. + * + * @return string + */ + function getSourceId() + { + return $this->sourceId; + } + + /** + * Get data. + * + * @return array + */ + function getData() + { + return $this->data; + } + + /** + * Get skin. + * + * @return string + */ + function getSkin() + { + return $this->skin; + } + + /** + * Get language. + * + * @return string + */ + function getLanguage() + { + return $this->language; + } + + /** + * Get stepTypeObject. + * @return string + */ + function getStepTypeObject() + { + return $this->stepTypeObject; + } + + /** + * Set date. + * + * @param datetime $date + * @return $this + */ + function setDate($date) + { + $this->date = $date; + return $this; + } + + /** + * Set appNumber. + * + * @param int $appNumber + * @return $this + */ + function setAppNumber($appNumber) + { + $this->appNumber = $appNumber; + return $this; + } + + /** + * Set delIndex. + * + * @param int $delIndex + * @return $this + */ + function setDelIndex($delIndex) + { + $this->delIndex = $delIndex; + return $this; + } + + /** + * Set proId. + * + * @param int $proId + * @return $this + */ + function setProId($proId) + { + $this->proId = $proId; + return $this; + } + + /** + * Set tasId. + * + * @param int $tasId + * @return $this + */ + function setTasId($tasId) + { + $this->tasId = $tasId; + return $this; + } + + /** + * Set usrId. + * + * @param int $usrId + * @return $this + */ + function setUsrId($usrId) + { + $this->usrId = $usrId; + return $this; + } + + /** + * Set objectType. + * + * @param int $objectType + * @return $this + */ + function setObjectType($objectType) + { + $this->objectType = $objectType; + return $this; + } + + /** + * Set objectId. + * + * @param int $objectId + * @return $this + */ + function setObjectId($objectId) + { + $this->objectId = $objectId; + return $this; + } + + /** + * Set objectUid. + * + * @param string $objectUid + * @return $this + */ + function setObjectUid($objectUid) + { + $this->objectUid = $objectUid; + return $this; + } + + /** + * Set executedAt. + * + * @param int $executedAt + * @return $this + */ + function setExecutedAt($executedAt) + { + $this->executedAt = $executedAt; + return $this; + } + + /** + * Set sourceId. + * + * @param string $sourceId + * @return $this + */ + function setSourceId($sourceId) + { + $this->sourceId = $sourceId; + return $this; + } + + /** + * Set data. + * + * @param string $data + * @return $this + */ + function setData($data) + { + $this->data = $data; + return $this; + } + + /** + * Set skin. + * + * @param string $skin + * @return $this + */ + function setSkin($skin) + { + $this->skin = $skin; + return $this; + } + + /** + * Set language. + * + * @param string $language + * @return $this + */ + function setLanguage($language) + { + $this->language = $language; + return $this; + } + + /** + * Set stepTypeObject. + * + * @param string $stepTypeObject + * @return $this + */ + function setStepTypeObject($stepTypeObject) + { + $this->stepTypeObject = $stepTypeObject; + return $this; + } + + /** + * Registers an entry in the database with all the data established in the + * object at that moment. + * + * @return $this + */ + public function register() + { + $appDataChangeLog = new AppDataChangeLog(); + $appDataChangeLog->setDate($this->getDate()); + $appDataChangeLog->setAppNumber($this->getAppNumber()); + $appDataChangeLog->setDelIndex($this->getDelIndex()); + $appDataChangeLog->setProId($this->getProId()); + $appDataChangeLog->setTasId($this->getTasId()); + $appDataChangeLog->setUsrId($this->getUsrId()); + $appDataChangeLog->setObjectType($this->getObjectType()); + $appDataChangeLog->setObjectId($this->getObjectId()); + $appDataChangeLog->setObjectUid($this->getObjectUid()); + $appDataChangeLog->setExecutedAt($this->getExecutedAt()); + $appDataChangeLog->setSourceId($this->getSourceId()); + $appDataChangeLog->setData($this->getData()); + $appDataChangeLog->setSkin($this->getSkin()); + $appDataChangeLog->setLanguage($this->getLanguage()); + $appDataChangeLog->save(); + return $this; + } + + /** + * Get 'usrId' for the value 'usrUid', the value is set to cache if the + * parameter 'force' is false, if 'force' is 'true' you get it again. + * + * @param string $usrUid + * @param boolean $force + * @return $this + */ + public function getUsrIdByUsrUid($usrUid = '', $force = false) + { + $usrId = $this->getUsrId(); + if (!empty($usrId) && $force === false) { + return $this; + } + if (!empty($usrUid)) { + $usersPeer = UsersPeer::retrieveByPK($usrUid); + if ($usersPeer === null) { + $this->setUsrId(0); + } else { + $this->setUsrId($usersPeer->getUsrId()); + } + } + return $this; + } + + /** + * Get 'proId' for the value 'proUid', the value is set to cache if the + * parameter 'force' is false, if 'force' is 'true' you get it again. + * + * @param string $proUid + * @param boolean $force + * @return $this + */ + public function getProIdByProUid($proUid, $force = false) + { + $proId = $this->getProId(); + if (!empty($proId) && $force === false) { + return $this; + } + if (!empty($proUid)) { + $processPeer = ProcessPeer::retrieveByPK($proUid); + if ($processPeer === null) { + $this->setProId(0); + } else { + $this->setProId($processPeer->getProId()); + } + } + return $this; + } + + /** + * Get 'tasId' for the value 'tasUid', the value is set to cache if the + * parameter 'force' is false, if 'force' is 'true' you get it again. + * + * @param string $tasUid + * @param boolean $force + * @return $this + */ + public function getTasIdByTasUid($tasUid, $force = false) + { + $tasId = $this->getTasId(); + if (!empty($tasId) && $force === false) { + return $this; + } + if (!empty($tasUid)) { + $taskPeer = TaskPeer::retrieveByPK($tasUid); + if ($taskPeer === null) { + $this->setTasId(0); + } else { + $this->setTasId($taskPeer->getTasId()); + } + } + return $this; + } + + /** + * Gets the id of the object, given the object 'uid' and its type. + * + * @param string $uid + * @param string $objType + * @return $this + */ + public function getObjectIdByUidAndObjType($uid, $objType) + { + switch ($objType) { + case 'DYNAFORM': + $this->setObjectType(self::DYNAFORM); + $this->setObjectUid($uid); + if (!empty($uid)) { + $object = DynaformPeer::retrieveByPK($uid); + if ($object !== null) { + $id = $object->getDynId(); + $this->setObjectId($id); + } else { + $this->setObjectId(0); + } + } + break; + case 'OUTPUT_DOCUMENT': + $this->setObjectType(self::OUTPUT_DOCUMENT); + $this->setObjectUid($uid); + if (!empty($uid)) { + $object = OutputDocumentPeer::retrieveByPK($uid); + if ($object !== null) { + $id = $object->getOutDocId(); + $this->setObjectId($id); + } else { + $this->setObjectId(0); + } + } + break; + case 'INPUT_DOCUMENT': + $this->setObjectType(self::INPUT_DOCUMENT); + $this->setObjectUid($uid); + if (!empty($uid)) { + $object = InputDocumentPeer::retrieveByPK($uid); + if ($object !== null) { + $id = $object->getInpDocId(); + $this->setObjectId($id); + } else { + $this->setObjectId(0); + } + } + break; + case 'ASSIGN_TASK': + $this->setObjectType(self::TRIGGER); + $this->setObjectUid($uid); + $this->setObjectId(0); + break; + case 'EXTERNAL': + $this->setObjectType(self::EXTERNAL_STEP); + $this->setObjectUid($uid); + $this->setObjectId(0); + break; + default : + $this->setObjectType(self::UNKNOW_OBJECT); + $this->setObjectUid($uid); + $this->setObjectId(0); + break; + } + switch ($uid) { + case "-1": + $this->setObjectUid(0); + $this->setExecutedAt(self::BEFORE_ASSIGNMENT); + break; + case "-2": + $this->setObjectUid(0); + if ($this->getExecutedAt() === 1) { + $this->setExecutedAt(self::BEFORE_ROUTING); + } + if ($this->getExecutedAt() === 2) { + $this->setExecutedAt(self::AFTER_ROUTING); + } + break; + } + return $this; + } + + /** + * Get the id of the step, given the type of the trigger in execution. + * + * @param string $triggerType + * @return $this + */ + public function getExecutedAtIdByTriggerType($triggerType) + { + switch ($triggerType) { + case 'BEFORE': + $this->setExecutedAt(self::BEFORE); + break; + case 'AFTER': + $this->setExecutedAt(self::AFTER); + break; + default : + $this->setExecutedAt(self::UNKNOW_STEP); + break; + } + return $this; + } + + /** + * Get object name. + * + * @param int $id + * @return string|null + */ + public function getObjectNameById($id) + { + return isset(self::$objects[$id]) ? self::$objects[$id] : null; + } + + /** + * Get application name. + * + * @param int $id + * @return string|null + */ + public function getApplicationNameById($id) + { + return isset(self::$applications[$id]) ? self::$applications[$id] : null; + } + + /** + * It obtains a single object to be used as a record of the whole environment. + * + * @return object + */ + public static function getChangeLog() + { + if (self::$changeLog === null) { + self::$changeLog = new ChangeLog(); + } + return self::$changeLog; + } +} diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php index 866baef3d..da7712590 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php @@ -3,6 +3,7 @@ namespace ProcessMaker\Services\OAuth2; use Luracast\Restler\iAuthenticate; use Luracast\Restler\RestException; +use ProcessMaker\ChangeLog\ChangeLog; use ProcessMaker\Core\System; class Server implements iAuthenticate @@ -372,6 +373,19 @@ class Server implements iAuthenticate $_SESSION['USR_TIME_ZONE'] = $userTimeZone; } + + ChangeLog::getChangeLog() + ->setUsrId(is_null($user) ? 0 : $user->getUsrId()) + ->setSkin(SYS_SKIN) + ->setLanguage(SYS_LANG); + + if ($token['client_id'] === config('oauthClients.mobile.clientId')) { + ChangeLog::getChangeLog() + ->setSourceId(ChangeLog::FromMobile); + } else { + ChangeLog::getChangeLog() + ->setSourceId(ChangeLog::FromWeb); + } return $allowed; } diff --git a/workflow/public_html/sysGeneric.php b/workflow/public_html/sysGeneric.php index 1c9d476ed..10ceeb548 100644 --- a/workflow/public_html/sysGeneric.php +++ b/workflow/public_html/sysGeneric.php @@ -23,6 +23,7 @@ */ use Illuminate\Foundation\Http\Kernel; +use ProcessMaker\ChangeLog\ChangeLog; use ProcessMaker\Plugins\PluginRegistry; /** @@ -1070,6 +1071,11 @@ if (!defined('EXECUTE_BY_CRON')) { } else { //NewRelic Snippet - By JHL transactionLog($phpFile); + ChangeLog::getChangeLog() + ->setSourceId(ChangeLog::FromWeb) + ->setSkin(SYS_SKIN) + ->setLanguage(SYS_LANG) + ->getUsrIdByUsrUid(empty($_SESSION['USER_LOGGED']) ? '' : $_SESSION['USER_LOGGED']); require_once $phpFile; }