diff --git a/workflow/engine/methods/services/xpdl.php b/workflow/engine/methods/services/xpdl.php
index 5fcac30ec..fc75926a4 100755
--- a/workflow/engine/methods/services/xpdl.php
+++ b/workflow/engine/methods/services/xpdl.php
@@ -1,184 +1,184 @@
-createElement($indice);
- else
- $nodo = $obj->createElement($indice, $contenido);
-
- $padre->appendChild($nodo);
- }
- else
- { if($contenido=='')
- $nodo = $obj->createElement($indice);
- else
- $nodo = $obj->createElement($indice, $contenido);
-
- $obj->appendChild($nodo);
- }
- if(is_array($atributos))
- {
- foreach($atributos as $key => $value)
- {
- $atributo = $obj->createAttribute($key);
- $nodo->appendChild($atributo);
-
- $texto = $obj->createTextNode($value);
- $atributo->appendChild($texto);
- }
- }
- return $nodo;
-}
-
-function derivationRules($aRoute, $doc, $nodo_derivationrule)
-{ $tam = count($aRoute);
- $c=0;
- switch($aRoute[$c]['ROU_TYPE'])
- {
- case 'SEQUENTIAL':
- $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'Sequential', '', '');
- $nodo_nexttask = addNodox($doc, $nodo_routeType, 'NextTask', '', '');
- if($aRoute[$c]['ROU_NEXT_TASK'] != -1)
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
- else
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
- break;
- case 'EVALUATE':
- $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'Evaluations', '', '');
- while($c < $tam)
- {
- $nodo_evaluation= addNodox($doc, $nodo_routeType, 'Evaluation', '', array('Condition'=> $aRoute[$c]['ROU_CONDITION']));
- $nodo_nexttask = addNodox($doc, $nodo_evaluation, 'NextTask', '', '');
- if($aRoute[$c]['ROU_NEXT_TASK'] != -1)
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
- else
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
- $c++;
- }
- break;
- case 'SELECT':
- $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'Selections', '', '');
- while($c < $tam)
- {
- $nodo_selection= addNodox($doc, $nodo_routeType, 'Selection', '', array('Description'=> $aRoute[$c]['ROU_CONDITION']));
- $nodo_nexttask = addNodox($doc, $nodo_selection, 'NextTask', '', '');
- if($aRoute[$c]['ROU_NEXT_TASK'] != -1)
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
- else
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
- $c++;
- }
- break;
- case 'PARALLEL':
- $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'ParallelForks', '', '');
- while($c < $tam)
- {
- $nodo_parallelfork= addNodox($doc, $nodo_routeType, 'ParallelFork', '', '');
- $nodo_nexttask = addNodox($doc, $nodo_parallelfork, 'NextTask', '', '');
- if($aRoute[$c]['ROU_NEXT_TASK'] != -1)
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
- else
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
- $c++;
- }
- break;
- case 'PARALLEL-BY-EVALUATION':
- $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'ParallelForksByEvaluation', '', '');
- while($c < $tam)
- {
- $nodo_evaluation= addNodox($doc, $nodo_routeType, 'Evaluation', '', array('Condition'=> $aRoute[$c]['ROU_CONDITION']));
- $nodo_nexttask = addNodox($doc, $nodo_evaluation, 'NextTask', '', '');
- if($aRoute[$c]['ROU_NEXT_TASK'] != -1)
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
- else
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
- $c++;
- }
- break;
- case 'SEC-JOIN':
- $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'ParallelJoin', '', '');
- $nodo_nexttask = addNodox($doc, $nodo_routeType, 'NextTask', '', '');
- if($aRoute[$c]['ROU_NEXT_TASK'] != -1)
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
- else
- $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
- break;
- }
-}
-
-/****-_--__---___----___---__--_-****/
-
-G::LoadClass('tasks');
-require_once 'classes/model/Process.php';
-
-$doc = new DOMDocument('1.0', 'UTF-8');
-$nodo_padre = addNodox($doc, '', 'Processes', '', array('xmlns:xsi'=>'http://www.w3.org/2001/XMLSchema-instance','xsi:noNamespaceSchemaLocation'=>'ColosaSchema.xsd'));
-
-$aProcesses = array();
-$oCriteria = new Criteria('workflow');
-$oCriteria->addSelectColumn(ProcessPeer::PRO_UID);
-//$oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL);
-//$oCriteria->add(ProcessPeer::PRO_UID, '946679494980c3d0ba0814088444708');
-$oDataset = ProcessPeer::doSelectRS($oCriteria);
-$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-$oDataset->next();
-$oProcess = new Process();
-
-while ($aRow = $oDataset->getRow()) {
- $aProcess = $oProcess->load($aRow['PRO_UID']);
- $nodo_process = addNodox($doc, $nodo_padre, 'Process', '', array('Title'=> $aProcess['PRO_TITLE'],'Description'=> $aProcess['PRO_DESCRIPTION']));
- $nodo_tasks = addNodox($doc, $nodo_process, 'Tasks', '', '');
-
- $oTask = new Tasks();
- $aTasks= $oTask->getAllTasks($aProcess['PRO_UID']);
- foreach($aTasks as $key => $value)
- { //print_r($value); echo "
";
- $aRoute = $oTask->getRoute($aProcess['PRO_UID'], $value['TAS_UID']);
- //print_r($aRoute[0]['ROU_UID']); echo "
";
- /*foreach($aRoute as $k => $v)
- echo $k."-->".$v."
";
- */
- if($value['TAS_TYPE']=='NORMAL')
- {
- $ini = ($value['TAS_START']=='TRUE') ? 'true' : 'false';
-
- $nodo_task = addNodox($doc, $nodo_tasks, 'Task', '', array('Title'=> $value['TAS_TITLE'],'Description'=> $value['TAS_DESCRIPTION'],'Id'=> 'ID'.$value['TAS_UID'],'StartingTask'=> $ini));
- $nodo_coordinates = addNodox($doc, $nodo_task, 'Coordinates', '', array('XCoordinate'=> $value['TAS_POSX'],'YCoordinate'=> $value['TAS_POSY']));
- $nodo_derivationrule = addNodox($doc, $nodo_task, 'DerivationRule', '', '');
-
- derivationRules($aRoute, $doc, $nodo_derivationrule);
-
- $nodo_assignmentrules = addNodox($doc, $nodo_task, 'AssignmentRules', '', '');
- $nodo_cyclicalassignment = addNodox($doc, $nodo_assignmentrules, 'CyclicalAssignment', '', '');
- $nodo_timingcontrol = addNodox($doc, $nodo_task, 'TimingControl', '', array('TaskDuration'=> $value['TAS_DURATION']));
- $nodo_permissions = addNodox($doc, $nodo_task, 'Permissions', '', '');
- $nodo_caselabels = addNodox($doc, $nodo_task, 'CaseLabels', '', '');
- $nodo_notifications = addNodox($doc, $nodo_task, 'Notifications', '', '');
- }
- else
- { require_once ( "classes/model/SubProcess.php" );
- $oCriteria = new Criteria('workflow');
- $oCriteria->add(SubProcessPeer::PRO_PARENT, $value['PRO_UID']);
- $oCriteria->add(SubProcessPeer::TAS_PARENT, $value['TAS_UID']);
- $oDataset = SubProcessPeer::doSelectRS($oCriteria);
- $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $oDataset->next();
- $aRow = $oDataset->getRow();
- $nodo_task = addNodox($doc, $nodo_tasks, 'SubProcess', '', array('Title'=> $value['TAS_TITLE'],'Description'=> $value['TAS_DESCRIPTION'],'Id'=> 'ID'.$value['TAS_UID'], 'ProcessRef'=>$aRow['PRO_UID']));
- $nodo_coordinates = addNodox($doc, $nodo_task, 'Coordinates', '', array('XCoordinate'=> $value['TAS_POSX'],'YCoordinate'=> $value['TAS_POSY']));
- $nodo_derivationrule = addNodox($doc, $nodo_task, 'DerivationRule', '', '');
-
- derivationRules($aRoute, $doc, $nodo_derivationrule);
- }
- }
- $oDataset->next();
-}
-//die;
-$doc->preserveWhiteSpace = false;
-$doc->formatOutput = true;
-$doc->save(PATH_METHODS.'services/test_xpdl.xml');
-echo "xml for xpdl creado!!!
";
-
-?>
\ No newline at end of file
+createElement($indice);
+ } else {
+ $nodo = $obj->createElement($indice, $contenido);
+ }
+ $padre->appendChild($nodo);
+ } else {
+ if ($contenido=='') {
+ $nodo = $obj->createElement($indice);
+ } else {
+ $nodo = $obj->createElement($indice, $contenido);
+ }
+
+ $obj->appendChild($nodo);
+ }
+
+ if (is_array($atributos)) {
+ foreach ($atributos as $key => $value) {
+ $atributo = $obj->createAttribute($key);
+ $nodo->appendChild($atributo);
+
+ $texto = $obj->createTextNode($value);
+ $atributo->appendChild($texto);
+ }
+ }
+ return $nodo;
+}
+
+function derivationRules($aRoute, $doc, $nodo_derivationrule)
+{
+ $tam = count($aRoute);
+ $c=0;
+ switch ($aRoute[$c]['ROU_TYPE'])
+ {
+ case 'SEQUENTIAL':
+ $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'Sequential', '', '');
+ $nodo_nexttask = addNodox($doc, $nodo_routeType, 'NextTask', '', '');
+ if ($aRoute[$c]['ROU_NEXT_TASK'] != -1) {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '',
+ array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
+ } else {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
+ }
+ break;
+ case 'EVALUATE':
+ $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'Evaluations', '', '');
+ while ($c < $tam) {
+ $nodo_evaluation= addNodox($doc, $nodo_routeType, 'Evaluation', '', array('Condition'=> $aRoute[$c]['ROU_CONDITION']));
+ $nodo_nexttask = addNodox($doc, $nodo_evaluation, 'NextTask', '', '');
+ if ($aRoute[$c]['ROU_NEXT_TASK'] != -1) {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
+ } else {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
+ }
+ $c++;
+ }
+ break;
+ case 'SELECT':
+ $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'Selections', '', '');
+ while ($c < $tam) {
+ $nodo_selection= addNodox($doc, $nodo_routeType, 'Selection', '', array('Description'=> $aRoute[$c]['ROU_CONDITION']));
+ $nodo_nexttask = addNodox($doc, $nodo_selection, 'NextTask', '', '');
+ if ($aRoute[$c]['ROU_NEXT_TASK'] != -1) {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
+ } else {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
+ }
+ $c++;
+ }
+ break;
+ case 'PARALLEL':
+ $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'ParallelForks', '', '');
+ while ($c < $tam) {
+ $nodo_parallelfork= addNodox($doc, $nodo_routeType, 'ParallelFork', '', '');
+ $nodo_nexttask = addNodox($doc, $nodo_parallelfork, 'NextTask', '', '');
+
+ if ($aRoute[$c]['ROU_NEXT_TASK'] != -1) {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
+ } else {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
+ }
+ $c++;
+ }
+ break;
+ case 'PARALLEL-BY-EVALUATION':
+ $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'ParallelForksByEvaluation', '', '');
+ while ($c < $tam) {
+ $nodo_evaluation= addNodox($doc, $nodo_routeType, 'Evaluation', '', array('Condition'=> $aRoute[$c]['ROU_CONDITION']));
+ $nodo_nexttask = addNodox($doc, $nodo_evaluation, 'NextTask', '', '');
+ if ($aRoute[$c]['ROU_NEXT_TASK'] != -1) {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
+ } else {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
+ }
+ $c++;
+ }
+ break;
+ case 'SEC-JOIN':
+ $nodo_routeType = addNodox($doc, $nodo_derivationrule, 'ParallelJoin', '', '');
+ $nodo_nexttask = addNodox($doc, $nodo_routeType, 'NextTask', '', '');
+ if ($aRoute[$c]['ROU_NEXT_TASK'] != -1) {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'TaskRef', '', array('TaskId'=> 'ID'.$aRoute[$c]['ROU_NEXT_TASK']));
+ } else {
+ $nodo_taskref = addNodox($doc, $nodo_nexttask, 'End', '', '');
+ }
+ break;
+ }
+}
+
+/****-_--__---___----___---__--_-****/
+
+G::LoadClass('tasks');
+require_once 'classes/model/Process.php';
+
+$doc = new DOMDocument('1.0', 'UTF-8');
+$nodo_padre = addNodox($doc, '', 'Processes', '', array('xmlns:xsi'=>'http://www.w3.org/2001/XMLSchema-instance','xsi:noNamespaceSchemaLocation'=>'ColosaSchema.xsd'));
+
+$aProcesses = array();
+$oCriteria = new Criteria('workflow');
+$oCriteria->addSelectColumn(ProcessPeer::PRO_UID);
+//$oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL);
+//$oCriteria->add(ProcessPeer::PRO_UID, '946679494980c3d0ba0814088444708');
+$oDataset = ProcessPeer::doSelectRS($oCriteria);
+$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+$oDataset->next();
+$oProcess = new Process();
+
+while ($aRow = $oDataset->getRow()) {
+ $aProcess = $oProcess->load($aRow['PRO_UID']);
+ $nodo_process = addNodox($doc, $nodo_padre, 'Process', '', array('Title'=> $aProcess['PRO_TITLE'],'Description'=> $aProcess['PRO_DESCRIPTION']));
+ $nodo_tasks = addNodox($doc, $nodo_process, 'Tasks', '', '');
+
+ $oTask = new Tasks();
+ $aTasks= $oTask->getAllTasks($aProcess['PRO_UID']);
+ foreach ($aTasks as $key => $value) {
+ //print_r($value); echo "
";
+ $aRoute = $oTask->getRoute($aProcess['PRO_UID'], $value['TAS_UID']);
+ //print_r($aRoute[0]['ROU_UID']); echo "
";
+ /*foreach($aRoute as $k => $v)
+ echo $k."-->".$v."
";
+ */
+ if ($value['TAS_TYPE']=='NORMAL') {
+ $ini = ($value['TAS_START']=='TRUE') ? 'true' : 'false';
+
+ $nodo_task = addNodox($doc, $nodo_tasks, 'Task', '', array('Title'=> $value['TAS_TITLE'],'Description'=> $value['TAS_DESCRIPTION'],'Id'=> 'ID'.$value['TAS_UID'],'StartingTask'=> $ini));
+ $nodo_coordinates = addNodox($doc, $nodo_task, 'Coordinates', '', array('XCoordinate'=> $value['TAS_POSX'],'YCoordinate'=> $value['TAS_POSY']));
+ $nodo_derivationrule = addNodox($doc, $nodo_task, 'DerivationRule', '', '');
+
+ derivationRules($aRoute, $doc, $nodo_derivationrule);
+
+ $nodo_assignmentrules = addNodox($doc, $nodo_task, 'AssignmentRules', '', '');
+ $nodo_cyclicalassignment = addNodox($doc, $nodo_assignmentrules, 'CyclicalAssignment', '', '');
+ $nodo_timingcontrol = addNodox($doc, $nodo_task, 'TimingControl', '', array('TaskDuration'=> $value['TAS_DURATION']));
+ $nodo_permissions = addNodox($doc, $nodo_task, 'Permissions', '', '');
+ $nodo_caselabels = addNodox($doc, $nodo_task, 'CaseLabels', '', '');
+ $nodo_notifications = addNodox($doc, $nodo_task, 'Notifications', '', '');
+ } else {
+ require_once ( "classes/model/SubProcess.php" );
+ $oCriteria = new Criteria('workflow');
+ $oCriteria->add(SubProcessPeer::PRO_PARENT, $value['PRO_UID']);
+ $oCriteria->add(SubProcessPeer::TAS_PARENT, $value['TAS_UID']);
+ $oDataset = SubProcessPeer::doSelectRS($oCriteria);
+ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $oDataset->next();
+ $aRow = $oDataset->getRow();
+ $nodo_task = addNodox($doc, $nodo_tasks, 'SubProcess', '', array('Title'=> $value['TAS_TITLE'],'Description'=> $value['TAS_DESCRIPTION'],'Id'=> 'ID'.$value['TAS_UID'], 'ProcessRef'=>$aRow['PRO_UID']));
+ $nodo_coordinates = addNodox($doc, $nodo_task, 'Coordinates', '', array('XCoordinate'=> $value['TAS_POSX'],'YCoordinate'=> $value['TAS_POSY']));
+ $nodo_derivationrule = addNodox($doc, $nodo_task, 'DerivationRule', '', '');
+
+ derivationRules($aRoute, $doc, $nodo_derivationrule);
+ }
+ }
+ $oDataset->next();
+}
+//die;
+$doc->preserveWhiteSpace = false;
+$doc->formatOutput = true;
+$doc->save(PATH_METHODS.'services/test_xpdl.xml');
+echo "xml for xpdl creado!!!
";
+