diff --git a/workflow/engine/methods/cases/cases_CatchExecute.php b/workflow/engine/methods/cases/cases_CatchExecute.php
index 6458b1e4d..2deba8920 100755
--- a/workflow/engine/methods/cases/cases_CatchExecute.php
+++ b/workflow/engine/methods/cases/cases_CatchExecute.php
@@ -1,82 +1,74 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-
-
-/* Permissions */
-switch ($RBAC->userCanAccess('PM_CASES'))
-{
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
-}
-
-
-if (isset($_POST['form']['BTN_CANCEL'])) {
- header ( "Location: ../cases/main");
- die;
-}
-
-/* Includes */
-G::LoadClass('case');
-
-$oCase = new Cases();
-$sAppUid = $_SESSION['APPLICATION'];
-$iDelIndex = $_SESSION['INDEX'];
-
-$oAppDelegation = new AppDelegation();
-$aDelegation = $oAppDelegation->load($sAppUid, $iDelIndex);
-
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+if (isset( $_POST['form']['BTN_CANCEL'] )) {
+ header( "Location: ../cases/main" );
+ die();
+}
+
+/* Includes */
+G::LoadClass( 'case' );
+
+$oCase = new Cases();
+$sAppUid = $_SESSION['APPLICATION'];
+$iDelIndex = $_SESSION['INDEX'];
+
+$oAppDelegation = new AppDelegation();
+$aDelegation = $oAppDelegation->load( $sAppUid, $iDelIndex );
+
//if there are no user in the delegation row, this case is still in selfservice
-if ( $aDelegation['USR_UID'] == "" ) {
- $oCase->setCatchUser( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'] );
-} else {
- G::SendMessageText(G::LoadTranslation('ID_CASE_ALREADY_DERIVATED'), 'error');
-}
-
-$validation = (SYS_SKIN != 'uxs')? 'true' : 'false';
-
-die(''
-);
-
+ ' );
+
diff --git a/workflow/engine/methods/cases/cases_CatchSelfService.php b/workflow/engine/methods/cases/cases_CatchSelfService.php
index f6efaf06d..29e6df412 100755
--- a/workflow/engine/methods/cases/cases_CatchSelfService.php
+++ b/workflow/engine/methods/cases/cases_CatchSelfService.php
@@ -1,95 +1,91 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-/* Permissions */
-switch ($RBAC->userCanAccess('PM_CASES'))
-{
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
-}
-
-/* Includes */
-G::LoadClass('case');
-
-$oCase = new Cases();
-$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
-
-
-/* Render page */
-require_once 'classes/model/Process.php';
-require_once 'classes/model/Task.php';
-
-$objProc = new Process();
-$aProc = $objProc->load($Fields['PRO_UID' ] );
-$Fields['PRO_TITLE'] = $aProc['PRO_TITLE'];
-
-$objTask = new Task();
-$aTask = $objTask->load($Fields['TAS_UID' ] );
-$Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
-
-$Fields['STATUS'] .= ' ( '. G::LoadTranslation('ID_UNASSIGNED') . ' )';
-
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+G::LoadClass( 'case' );
+
+$oCase = new Cases();
+$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
+
+/* Render page */
+require_once 'classes/model/Process.php';
+require_once 'classes/model/Task.php';
+
+$objProc = new Process();
+$aProc = $objProc->load( $Fields['PRO_UID'] );
+$Fields['PRO_TITLE'] = $aProc['PRO_TITLE'];
+
+$objTask = new Task();
+$aTask = $objTask->load( $Fields['TAS_UID'] );
+$Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
+
+$Fields['STATUS'] .= ' ( ' . G::LoadTranslation( 'ID_UNASSIGNED' ) . ' )';
+
//now getting information about the PREVIOUS task. If is the first task then no preious, use 1
-$oAppDel = new AppDelegation();
-$oAppDel->Load($Fields['APP_UID'], ($Fields['DEL_PREVIOUS']==0 ? $Fields['DEL_PREVIOUS'] = 1 : $Fields['DEL_PREVIOUS']) );
-
-$aAppDel = $oAppDel->toArray(BasePeer::TYPE_FIELDNAME);
-try {
- $oCurUser = new Users();
- $oCurUser->load($aAppDel['USR_UID']);
- $Fields['PREVIOUS_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
-}
-catch (Exception $oError) {
- $Fields['PREVIOUS_USER'] = '';
-}
-
-$objTask = new Task();
-$aTask = $objTask->load($aAppDel['TAS_UID' ] );
-$Fields['PREVIOUS_TASK'] = $aTask['TAS_TITLE'];
-
+$oAppDel = new AppDelegation();
+$oAppDel->Load( $Fields['APP_UID'], ($Fields['DEL_PREVIOUS'] == 0 ? $Fields['DEL_PREVIOUS'] = 1 : $Fields['DEL_PREVIOUS']) );
+
+$aAppDel = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME );
+try {
+ $oCurUser = new Users();
+ $oCurUser->load( $aAppDel['USR_UID'] );
+ $Fields['PREVIOUS_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
+} catch (Exception $oError) {
+ $Fields['PREVIOUS_USER'] = '';
+}
+
+$objTask = new Task();
+$aTask = $objTask->load( $aAppDel['TAS_UID'] );
+$Fields['PREVIOUS_TASK'] = $aTask['TAS_TITLE'];
+
//To enable information (dynaforms, steps) before claim a case
-$_SESSION['bNoShowSteps'] = true;
-$G_MAIN_MENU = 'processmaker';
-$G_SUB_MENU = 'caseOptions';
-$G_ID_MENU_SELECTED = 'CASES';
-$G_ID_SUB_MENU_SELECTED = '_';
-$oHeadPublisher =& headPublisher::getSingleton();
-$oHeadPublisher->addScriptCode("
+$_SESSION['bNoShowSteps'] = true;
+$G_MAIN_MENU = 'processmaker';
+$G_SUB_MENU = 'caseOptions';
+$G_ID_MENU_SELECTED = 'CASES';
+$G_ID_SUB_MENU_SELECTED = '_';
+$oHeadPublisher = & headPublisher::getSingleton();
+$oHeadPublisher->addScriptCode( "
if (typeof parent != 'undefined') {
if (parent.showCaseNavigatorPanel) {
parent.showCaseNavigatorPanel('{$Fields['APP_STATUS']}');
}
-}");
-$oHeadPublisher->addScriptCode('
+}" );
+$oHeadPublisher->addScriptCode( '
var Cse = {};
Cse.panels = {};
var leimnud = new maborak();
@@ -100,11 +96,11 @@ $oHeadPublisher->addScriptCode('
leimnud.Package.Load("cases_Step",{Type:"file",Absolute:true,Path:"/jscore/cases/core/cases_Step.js"});
leimnud.Package.Load("processmap",{Type:"file",Absolute:true,Path:"/jscore/processmap/core/processmap.js"});
leimnud.exec(leimnud.fix.memoryLeak);
- ');
-$oHeadPublisher =& headPublisher::getSingleton();
-$oHeadPublisher->addScriptFile('/jscore/cases/core/cases_Step.js');
-
-
-$G_PUBLISH = new Publisher;
-$G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_CatchSelfService.xml', '', $Fields, 'cases_CatchExecute');
-G::RenderPage( 'publish', 'blank');
+ ' );
+$oHeadPublisher = & headPublisher::getSingleton();
+$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );
+
+$G_PUBLISH = new Publisher();
+$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_CatchSelfService.xml', '', $Fields, 'cases_CatchExecute' );
+G::RenderPage( 'publish', 'blank' );
+
diff --git a/workflow/engine/methods/cases/cases_Delete.php b/workflow/engine/methods/cases/cases_Delete.php
index 68cfa3dd7..29d0bc3ef 100755
--- a/workflow/engine/methods/cases/cases_Delete.php
+++ b/workflow/engine/methods/cases/cases_Delete.php
@@ -1,60 +1,57 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-/* Permissions */
-switch ($RBAC->userCanAccess('PM_CASES'))
-{
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+G::LoadClass( 'case' );
+
+/* Process the info */
+try {
+ $oCase = new Cases();
+ if (isset( $_POST['APP_UIDS'] )) {
+ $ids = explode( ',', $_POST['APP_UIDS'] );
+ foreach ($ids as $id)
+ $oCase->removeCase( $id );
+
+ if (count( $_POST['APP_UIDS'] ) > 1)
+ echo 'The Case was deleted successfully';
+ else
+ echo 'All Cases were deleted successfully';
+ }
+} catch (Exception $e) {
+ echo $e->getMessage();
}
-/* Includes */
-G::LoadClass('case');
-
-/* Process the info */
-try{
- $oCase = new Cases();
- if( isset($_POST['APP_UIDS']) ){
- $ids = explode(',', $_POST['APP_UIDS']);
- foreach($ids as $id)
- $oCase->removeCase($id);
-
- if( count($_POST['APP_UIDS']) > 1)
- echo 'The Case was deleted successfully';
- else
- echo 'All Cases were deleted successfully';
- }
-} catch(Exception $e){
- echo $e->getMessage();
-}
-
-
diff --git a/workflow/engine/methods/cases/cases_DeleteDocument.php b/workflow/engine/methods/cases/cases_DeleteDocument.php
index 980f79da6..90e77b7c5 100755
--- a/workflow/engine/methods/cases/cases_DeleteDocument.php
+++ b/workflow/engine/methods/cases/cases_DeleteDocument.php
@@ -1,63 +1,59 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-/* Permissions */
-switch ($RBAC->userCanAccess('PM_CASES'))
-{
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
-}
-
-/* Includes */
-require_once ( "classes/model/AppDocumentPeer.php" );
-G::LoadClass('case');
-
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+require_once ("classes/model/AppDocumentPeer.php");
+G::LoadClass( 'case' );
+
/* GET , POST & $_SESSION Vars */
/* Process the info */
-$oAppDocument = new AppDocument();
-$oAppDocument->remove($_GET['DOC']);
-$oCase = new Cases();
-$oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List');
-if ($_GET['TYPE'] == 'INPUT')
-{
- $aNextStep = $oCase->getNextStep($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] - 1);
-}
-if ($_GET['TYPE'] == 'OUTPUT')
-{
- $aNextStep = $oCase->getNextStep($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION']);
-}
-$_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
-
-/* Redirect */
-G::header('location: ' . $aNextStep['PAGE']);
-?>
\ No newline at end of file
+$oAppDocument = new AppDocument();
+$oAppDocument->remove( $_GET['DOC'] );
+$oCase = new Cases();
+$oCase->thisIsTheCurrentUser( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List' );
+if ($_GET['TYPE'] == 'INPUT') {
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] - 1 );
+}
+if ($_GET['TYPE'] == 'OUTPUT') {
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );
+}
+$_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
+
+/* Redirect */
+G::header( 'location: ' . $aNextStep['PAGE'] );
+
diff --git a/workflow/engine/methods/cases/cases_DeleteDocumentToRevise.php b/workflow/engine/methods/cases/cases_DeleteDocumentToRevise.php
index c0ca8a6eb..5569d6595 100644
--- a/workflow/engine/methods/cases/cases_DeleteDocumentToRevise.php
+++ b/workflow/engine/methods/cases/cases_DeleteDocumentToRevise.php
@@ -1,51 +1,50 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-/* Permissions */
-switch ($RBAC->userCanAccess('PM_CASES'))
-{
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
-}
-
-/* Includes */
-require_once ( "classes/model/AppDocumentPeer.php" );
-G::LoadClass('case');
-
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+require_once ("classes/model/AppDocumentPeer.php");
+G::LoadClass( 'case' );
+
/* GET , POST & $_SESSION Vars */
/* Process the info */
-$oAppDocument = new AppDocument();
-$oAppDocument->remove($_GET['DOC']);
-
-/* Redirect */
-G::header('location: ' . $_SERVER['HTTP_REFERER']);
+$oAppDocument = new AppDocument();
+$oAppDocument->remove( $_GET['DOC'] );
+
+/* Redirect */
+G::header( 'location: ' . $_SERVER['HTTP_REFERER'] );
+
diff --git a/workflow/engine/methods/cases/cases_Derivate.php b/workflow/engine/methods/cases/cases_Derivate.php
index 14afed35d..369baa1ff 100755
--- a/workflow/engine/methods/cases/cases_Derivate.php
+++ b/workflow/engine/methods/cases/cases_Derivate.php
@@ -1,193 +1,185 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-
-
-/* Permissions */
-switch ($RBAC->userCanAccess('PM_CASES'))
-{
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
-}
-
-/* Includes */
-G::LoadClass('pmScript');
-G::LoadClass('case');
-G::LoadClass('derivation');
-
-require_once 'classes/model/Event.php';
-
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+G::LoadClass( 'pmScript' );
+G::LoadClass( 'case' );
+G::LoadClass( 'derivation' );
+
+require_once 'classes/model/Event.php';
+
/* GET , POST & $_SESSION Vars */
/* Process the info */
-$sStatus = 'TO_DO';
-foreach ($_POST['form']['TASKS'] as $aValues){
-}
-
-try {
- //load data
- $oCase = new Cases ();
- //warning: we are not using the result value of function thisIsTheCurrentUser, so I'm commenting to optimize speed.
- //$oCase->thisIsTheCurrentUser( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List');
- $appFields = $oCase->loadCase( $_SESSION['APPLICATION'] );
- $appFields['APP_DATA'] = array_merge($appFields['APP_DATA'], G::getSystemConstants());
- //cleaning debug variables
- $_SESSION['TRIGGER_DEBUG']['DATA'] = Array();
- $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array();
- $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array();
-
- $triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', -2, 'BEFORE');
-
- //if there are some triggers to execute
- if( sizeof($triggers) > 0) {
- //Execute triggers before derivation
- $appFields['APP_DATA'] = $oCase->ExecuteTriggers ( $_SESSION['TASK'], 'ASSIGN_TASK', -2, 'BEFORE', $appFields['APP_DATA'] );
-
- //save trigger variables for debugger
- $_SESSION['TRIGGER_DEBUG']['info'][0]['NUM_TRIGGERS'] = sizeof($triggers);
- $_SESSION['TRIGGER_DEBUG']['info'][0]['TIME'] = 'BEFORE';
- $_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_NAMES'] = $oCase->getTriggerNames($triggers);
- $_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_VALUES'] = $triggers;
- }
-
- $appFields['DEL_INDEX'] = $_SESSION['INDEX'];
- $appFields['TAS_UID'] = $_SESSION['TASK'];
-
- $oCase->updateCase ( $_SESSION['APPLICATION'], $appFields); //Save data
-
- //derivate case
- $oDerivation = new Derivation();
- $aCurrentDerivation = array(
- 'APP_UID' => $_SESSION['APPLICATION'],
- 'DEL_INDEX' => $_SESSION['INDEX'],
- 'APP_STATUS' => $sStatus,
- 'TAS_UID' => $_SESSION['TASK'],
- 'ROU_TYPE' => $_POST['form']['ROU_TYPE']
- );
-
- $oDerivation->derivate( $aCurrentDerivation, $_POST['form']['TASKS'] );
-
- $appFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); //refresh appFields, because in derivations should change some values
- $triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', -2, 'AFTER'); //load the triggers after derivation
- if( sizeof($triggers) > 0 ) {
- $appFields['APP_DATA'] = $oCase->ExecuteTriggers ( $_SESSION['TASK'], 'ASSIGN_TASK', -2, 'AFTER', $appFields['APP_DATA'] ); //Execute triggers after derivation
-
- $_SESSION['TRIGGER_DEBUG']['info'][1]['NUM_TRIGGERS'] = sizeof($triggers);
- $_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = 'AFTER';
- $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames($triggers);
- $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers;
- }
- $oCase->updateCase ( $_SESSION['APPLICATION'], $appFields);
-
- // Send notifications - Start
- $oUser = new Users();
- $aUser = $oUser->load($_SESSION['USER_LOGGED']);
- if (trim($aUser['USR_EMAIL'])=='') {
- $aUser['USR_EMAIL'] = 'info@'.$_SERVER['HTTP_HOST'];
- }
- $sFromName = '"' . $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . '" <'.$aUser['USR_EMAIL'].'>';
- try {
- $oCase->sendNotifications($_SESSION['TASK'], $_POST['form']['TASKS'], $appFields['APP_DATA'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $sFromName);
- } catch(Exception $e){
- G::SendTemporalMessage(G::loadTranslation('ID_NOTIFICATION_ERROR').' - '. $e->getMessage(), 'warning', 'string', null, '100%');
- }
- // Send notifications - End
-
- // Events - Start
- $oEvent = new Event();
-
- $oEvent->closeAppEvents($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['TASK']);
- $oCurrentAppDel = AppDelegationPeer::retrieveByPk($_SESSION['APPLICATION'], $_SESSION['INDEX']+1 );
- $multipleDelegation = false;
- // check if there are multiple derivations
- if( count($_POST['form']['TASKS'] ) >1 ) {
- $multipleDelegation = true;
- }
- // If the case has been delegated
- if ( isset($oCurrentAppDel) ) {
- // if there is just a single derivation the TASK_UID can be set by the delegation data
- if ( !$multipleDelegation ){
- $aCurrentAppDel = $oCurrentAppDel->toArray( BasePeer::TYPE_FIELDNAME);
- $oEvent->createAppEvents($aCurrentAppDel['PRO_UID'], $aCurrentAppDel['APP_UID'], $aCurrentAppDel['DEL_INDEX'], $aCurrentAppDel['TAS_UID']);
- }
- else {
- // else we need to check every task and create the events if it have any
- foreach ( $_POST['form']['TASKS'] as $taskDelegated ){
- $aCurrentAppDel = $oCurrentAppDel->toArray( BasePeer::TYPE_FIELDNAME);
- $oEvent->createAppEvents($aCurrentAppDel['PRO_UID'], $aCurrentAppDel['APP_UID'], $aCurrentAppDel['DEL_INDEX'], $taskDelegated['TAS_UID']);
- }
- }
- }
- //Events - End
- $debuggerAvailable = true;
-
- if (isset($_SESSION['user_experience'])) {
- $aNextStep['PAGE'] = 'casesListExtJsRedirector?ux=' . $_SESSION['user_experience'];
- $debuggerAvailable = false;
- }
- else {
- $aNextStep['PAGE'] = 'casesListExtJsRedirector';
- }
-
- if (isset($_SESSION['PMDEBUGGER']) && $_SESSION['PMDEBUGGER'] && $debuggerAvailable) {
- $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
- $loc = 'cases_Step?' .'breakpoint=triggerdebug';
- }
- else {
- $loc = $aNextStep['PAGE'];
- }
+$sStatus = 'TO_DO';
+foreach ($_POST['form']['TASKS'] as $aValues) {
+}
+
+try {
+ //load data
+ $oCase = new Cases();
+ //warning: we are not using the result value of function thisIsTheCurrentUser, so I'm commenting to optimize speed.
+ //$oCase->thisIsTheCurrentUser( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List');
+ $appFields = $oCase->loadCase( $_SESSION['APPLICATION'] );
+ $appFields['APP_DATA'] = array_merge( $appFields['APP_DATA'], G::getSystemConstants() );
+ //cleaning debug variables
+ $_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
+
+ $triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', - 2, 'BEFORE' );
+
+ //if there are some triggers to execute
+ if (sizeof( $triggers ) > 0) {
+ //Execute triggers before derivation
+ $appFields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', - 2, 'BEFORE', $appFields['APP_DATA'] );
+
+ //save trigger variables for debugger
+ $_SESSION['TRIGGER_DEBUG']['info'][0]['NUM_TRIGGERS'] = sizeof( $triggers );
+ $_SESSION['TRIGGER_DEBUG']['info'][0]['TIME'] = 'BEFORE';
+ $_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
+ $_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_VALUES'] = $triggers;
+ }
+
+ $appFields['DEL_INDEX'] = $_SESSION['INDEX'];
+ $appFields['TAS_UID'] = $_SESSION['TASK'];
+
+ $oCase->updateCase( $_SESSION['APPLICATION'], $appFields ); //Save data
+
+
+ //derivate case
+ $oDerivation = new Derivation();
+ $aCurrentDerivation = array ('APP_UID' => $_SESSION['APPLICATION'],'DEL_INDEX' => $_SESSION['INDEX'],'APP_STATUS' => $sStatus,'TAS_UID' => $_SESSION['TASK'],'ROU_TYPE' => $_POST['form']['ROU_TYPE']
+ );
+
+ $oDerivation->derivate( $aCurrentDerivation, $_POST['form']['TASKS'] );
+
+ $appFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); //refresh appFields, because in derivations should change some values
+ $triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', - 2, 'AFTER' ); //load the triggers after derivation
+ if (sizeof( $triggers ) > 0) {
+ $appFields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', - 2, 'AFTER', $appFields['APP_DATA'] ); //Execute triggers after derivation
+
+
+ $_SESSION['TRIGGER_DEBUG']['info'][1]['NUM_TRIGGERS'] = sizeof( $triggers );
+ $_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = 'AFTER';
+ $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
+ $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers;
+ }
+ $oCase->updateCase( $_SESSION['APPLICATION'], $appFields );
+
+ // Send notifications - Start
+ $oUser = new Users();
+ $aUser = $oUser->load( $_SESSION['USER_LOGGED'] );
+ if (trim( $aUser['USR_EMAIL'] ) == '') {
+ $aUser['USR_EMAIL'] = 'info@' . $_SERVER['HTTP_HOST'];
+ }
+ $sFromName = '"' . $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . '" <' . $aUser['USR_EMAIL'] . '>';
+ try {
+ $oCase->sendNotifications( $_SESSION['TASK'], $_POST['form']['TASKS'], $appFields['APP_DATA'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $sFromName );
+ } catch (Exception $e) {
+ G::SendTemporalMessage( G::loadTranslation( 'ID_NOTIFICATION_ERROR' ) . ' - ' . $e->getMessage(), 'warning', 'string', null, '100%' );
+ }
+ // Send notifications - End
+
+
+ // Events - Start
+ $oEvent = new Event();
+
+ $oEvent->closeAppEvents( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['TASK'] );
+ $oCurrentAppDel = AppDelegationPeer::retrieveByPk( $_SESSION['APPLICATION'], $_SESSION['INDEX'] + 1 );
+ $multipleDelegation = false;
+ // check if there are multiple derivations
+ if (count( $_POST['form']['TASKS'] ) > 1) {
+ $multipleDelegation = true;
+ }
+ // If the case has been delegated
+ if (isset( $oCurrentAppDel )) {
+ // if there is just a single derivation the TASK_UID can be set by the delegation data
+ if (! $multipleDelegation) {
+ $aCurrentAppDel = $oCurrentAppDel->toArray( BasePeer::TYPE_FIELDNAME );
+ $oEvent->createAppEvents( $aCurrentAppDel['PRO_UID'], $aCurrentAppDel['APP_UID'], $aCurrentAppDel['DEL_INDEX'], $aCurrentAppDel['TAS_UID'] );
+ } else {
+ // else we need to check every task and create the events if it have any
+ foreach ($_POST['form']['TASKS'] as $taskDelegated) {
+ $aCurrentAppDel = $oCurrentAppDel->toArray( BasePeer::TYPE_FIELDNAME );
+ $oEvent->createAppEvents( $aCurrentAppDel['PRO_UID'], $aCurrentAppDel['APP_UID'], $aCurrentAppDel['DEL_INDEX'], $taskDelegated['TAS_UID'] );
+ }
+ }
+ }
+ //Events - End
+ $debuggerAvailable = true;
+
+ if (isset( $_SESSION['user_experience'] )) {
+ $aNextStep['PAGE'] = 'casesListExtJsRedirector?ux=' . $_SESSION['user_experience'];
+ $debuggerAvailable = false;
+ } else {
+ $aNextStep['PAGE'] = 'casesListExtJsRedirector';
+ }
+
+ if (isset( $_SESSION['PMDEBUGGER'] ) && $_SESSION['PMDEBUGGER'] && $debuggerAvailable) {
+ $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
+ $loc = 'cases_Step?' . 'breakpoint=triggerdebug';
+ } else {
+ $loc = $aNextStep['PAGE'];
+ }
//Triggers After
- if (isset($_SESSION['TRIGGER_DEBUG']['ISSET'])) {
- if ($_SESSION['TRIGGER_DEBUG']['ISSET'] == 1 ) {
- $oTemplatePower = new TemplatePower(PATH_TPL . 'cases/cases_Step.html');
- $oTemplatePower->prepare();
- $G_PUBLISH = new Publisher;
- $G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
- $_POST['NextStep'] = $loc;
- $G_PUBLISH->AddContent('view', 'cases/showDebugFrameLoader');
- $G_PUBLISH->AddContent('view', 'cases/showDebugFrameBreaker');
- $_SESSION['TRIGGER_DEBUG']['ISSET'] == 0;
- G::RenderPage('publish', 'blank');
- exit();
- } else {
- unset($_SESSION['TRIGGER_DEBUG']);
- }
- }
-
- G::header("location: $loc");
-}
-catch ( Exception $e ) {
- $aMessage = array();
- $aMessage['MESSAGE'] = $e->getMessage() . '
'.$e->getTraceAsString();
- $G_PUBLISH = new Publisher;
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
- G::RenderPage( 'publish', 'blank');
-}
+ if (isset( $_SESSION['TRIGGER_DEBUG']['ISSET'] )) {
+ if ($_SESSION['TRIGGER_DEBUG']['ISSET'] == 1) {
+ $oTemplatePower = new TemplatePower( PATH_TPL . 'cases/cases_Step.html' );
+ $oTemplatePower->prepare();
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower );
+ $_POST['NextStep'] = $loc;
+ $G_PUBLISH->AddContent( 'view', 'cases/showDebugFrameLoader' );
+ $G_PUBLISH->AddContent( 'view', 'cases/showDebugFrameBreaker' );
+ $_SESSION['TRIGGER_DEBUG']['ISSET'] == 0;
+ G::RenderPage( 'publish', 'blank' );
+ exit();
+ } else {
+ unset( $_SESSION['TRIGGER_DEBUG'] );
+ }
+ }
+
+ G::header( "location: $loc" );
+} catch (Exception $e) {
+ $aMessage = array ();
+ $aMessage['MESSAGE'] = $e->getMessage() . '
' . $e->getTraceAsString();
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
+ G::RenderPage( 'publish', 'blank' );
+}
+
diff --git a/workflow/engine/methods/cases/cases_List.php b/workflow/engine/methods/cases/cases_List.php
index 2c24d1ece..dba1e1488 100755
--- a/workflow/engine/methods/cases/cases_List.php
+++ b/workflow/engine/methods/cases/cases_List.php
@@ -1,113 +1,111 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-
-/**
- * Cases list (Refactored)
- * By Erik A. O.
- */
-
-/* Permissions */
-if (($RBAC_Response = $RBAC->userCanAccess("PM_CASES"))!=1) return $RBAC_Response;
-
-/* Includes */
-G::LoadClass('case');
-G::LoadClass('configuration');
-
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+
+/**
+ * Cases list (Refactored)
+ * By Erik A.
+ * O.
+ */
+
+/* Permissions */
+if (($RBAC_Response = $RBAC->userCanAccess( "PM_CASES" )) != 1)
+ return $RBAC_Response;
+
+ /* Includes */
+G::LoadClass( 'case' );
+G::LoadClass( 'configuration' );
+
// $_GET['l'] has the type of cases list like todo,pause,cancel, all
-
-$conf = new Configurations();
-if (!isset($_GET['l'])) {
- $confCasesList = $conf->loadObject('ProcessMaker','cases_List','',$_SESSION['USER_LOGGED'],'');
- if (is_array($confCasesList)) {
- $sTypeList = $confCasesList['sTypeList'];
- }
- else {
- $sTypeList = 'to_do';
- }
-}
-else {
- $sTypeList = $_GET['l'];
- $confCasesList=array('sTypeList'=>$sTypeList);
- $conf->saveObject($confCasesList,'ProcessMaker','cases_List','',$_SESSION['USER_LOGGED'],'');
-}
-
-$sUIDUserLogged = $_SESSION['USER_LOGGED'];
-$_SESSION['CASES_MENU_OPTION'] = $sTypeList;
-
-$oCases = new Cases();
-
-/** here we verify if there is a any case with a unpause on this day*/
-if( $sTypeList === 'to_do' or $sTypeList === 'draft' or $sTypeList === 'paused') {
- $oCases->ThrowUnpauseDaemon(date('Y-m-d'));
-}
-
+
+
+$conf = new Configurations();
+if (! isset( $_GET['l'] )) {
+ $confCasesList = $conf->loadObject( 'ProcessMaker', 'cases_List', '', $_SESSION['USER_LOGGED'], '' );
+ if (is_array( $confCasesList )) {
+ $sTypeList = $confCasesList['sTypeList'];
+ } else {
+ $sTypeList = 'to_do';
+ }
+} else {
+ $sTypeList = $_GET['l'];
+ $confCasesList = array ('sTypeList' => $sTypeList
+ );
+ $conf->saveObject( $confCasesList, 'ProcessMaker', 'cases_List', '', $_SESSION['USER_LOGGED'], '' );
+}
+
+$sUIDUserLogged = $_SESSION['USER_LOGGED'];
+$_SESSION['CASES_MENU_OPTION'] = $sTypeList;
+
+$oCases = new Cases();
+
+/**
+ * here we verify if there is a any case with a unpause on this day
+ */
+if ($sTypeList === 'to_do' or $sTypeList === 'draft' or $sTypeList === 'paused') {
+ $oCases->ThrowUnpauseDaemon( date( 'Y-m-d' ) );
+}
+
/* *
* Prepare the addtional filters before to show
* By Erik
- */
-
-$aAdditionalFilter = Array();
-
-
-if( isset($_GET['PROCESS_UID']) and $_GET['PROCESS_UID'] != "0" && $_GET['PROCESS_UID'] != ""){
- $PRO_UID = $_GET['PROCESS_UID'];
- $aAdditionalFilter['PRO_UID'] = $PRO_UID;
-} else {
- $PRO_UID = "0";
-}
-if( isset($_GET['READ']) and $_GET['READ'] == "1" ){
- $aAdditionalFilter['READ'] = $_GET['READ'];
-}
-if( isset($_GET['UNREAD']) and $_GET['UNREAD'] == "1" ){
- $aAdditionalFilter['UNREAD'] = $_GET['UNREAD'];
-}
-
-if( isset($_GET['APP_STATUS_FILTER']) and $_GET['APP_STATUS_FILTER'] != "ALL" ){
- $aAdditionalFilter['APP_STATUS_FILTER'] = $_GET['APP_STATUS_FILTER'];
-}
-
-if( isset($_GET['MINE']) and $_GET['MINE'] == "1" ){
- $aAdditionalFilter['MINE'] = $_GET['MINE'];
-}
-
-
-
-
-switch ( $sTypeList ) {
- case 'to_do' :
- if ( defined( 'ENABLE_CASE_LIST_OPTIMIZATION' ) ) {
- $aCriteria = $oCases->prepareCriteriaForToDo($sUIDUserLogged);
- $xmlfile = 'cases/cases_ListTodoNew';
- }
- else
- list($aCriteria, $xmlfile) = $oCases->getConditionCasesList( $sTypeList, $sUIDUserLogged, true, $aAdditionalFilter);
- break;
- default :
- list($aCriteria, $xmlfile) = $oCases->getConditionCasesList( $sTypeList, $sUIDUserLogged, true, $aAdditionalFilter);
-}
-
+ */
+
+$aAdditionalFilter = Array ();
+
+if (isset( $_GET['PROCESS_UID'] ) and $_GET['PROCESS_UID'] != "0" && $_GET['PROCESS_UID'] != "") {
+ $PRO_UID = $_GET['PROCESS_UID'];
+ $aAdditionalFilter['PRO_UID'] = $PRO_UID;
+} else {
+ $PRO_UID = "0";
+}
+if (isset( $_GET['READ'] ) and $_GET['READ'] == "1") {
+ $aAdditionalFilter['READ'] = $_GET['READ'];
+}
+if (isset( $_GET['UNREAD'] ) and $_GET['UNREAD'] == "1") {
+ $aAdditionalFilter['UNREAD'] = $_GET['UNREAD'];
+}
+
+if (isset( $_GET['APP_STATUS_FILTER'] ) and $_GET['APP_STATUS_FILTER'] != "ALL") {
+ $aAdditionalFilter['APP_STATUS_FILTER'] = $_GET['APP_STATUS_FILTER'];
+}
+
+if (isset( $_GET['MINE'] ) and $_GET['MINE'] == "1") {
+ $aAdditionalFilter['MINE'] = $_GET['MINE'];
+}
+
+switch ($sTypeList) {
+ case 'to_do':
+ if (defined( 'ENABLE_CASE_LIST_OPTIMIZATION' )) {
+ $aCriteria = $oCases->prepareCriteriaForToDo( $sUIDUserLogged );
+ $xmlfile = 'cases/cases_ListTodoNew';
+ } else
+ list ($aCriteria, $xmlfile) = $oCases->getConditionCasesList( $sTypeList, $sUIDUserLogged, true, $aAdditionalFilter );
+ break;
+ default:
+ list ($aCriteria, $xmlfile) = $oCases->getConditionCasesList( $sTypeList, $sUIDUserLogged, true, $aAdditionalFilter );
+}
+
/*
$rs = ApplicationPeer::doSelectRS($aCriteria);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
@@ -120,54 +118,50 @@ $rs = ApplicationPeer::doSelectRS($aCriteria);
g::pr($aRows1);die;*/
/* GET , POST & $_SESSION Vars */
-if( !isset($_GET['PROCESS_UID']) ) {
- $oCase = new Cases();
- $rs = ApplicationPeer::doSelectRS($aCriteria);
- $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-
- $aProcess = Array();
- while($rs->next()) {
- $aRow = $rs->getRow();
+if (! isset( $_GET['PROCESS_UID'] )) {
+ $oCase = new Cases();
+ $rs = ApplicationPeer::doSelectRS( $aCriteria );
+ $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+
+ $aProcess = Array ();
+ while ($rs->next()) {
+ $aRow = $rs->getRow();
//g::pr($aRow); die;
- if( !InAssocArray($aRow, 'PRO_UID', $aRow['PRO_UID']) ){
- array_push($aProcess, Array('PRO_UID'=>$aRow['PRO_UID'], 'PRO_TITLE'=>$aRow['APP_PRO_TITLE']));
- }
- }
-
- $_DBArray['_PROCESSES'] = array_merge(Array(Array('PRO_UID'=>'char', 'PRO_TITLE'=>'char')), $aProcess);
- $_SESSION['_DBArray'] = $_DBArray;
-} else {
- $_DBArray = $_SESSION['_DBArray'];
-}
-
-
-/* Render page */
-$G_PUBLISH = new Publisher;
-$G_PUBLISH->ROWS_PER_PAGE = 12;
-
-if ($sTypeList == 'to_reassign') {
- $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_ReassignBy', '', array('REASSIGN_BY' => 1));
-}
-
-$aData = Array(
- 'PROCESS_FILTER'=>$PRO_UID,
- 'APP_STATUS_FILTER'=>(isset($_GET['APP_STATUS_FILTER'])?$_GET['APP_STATUS_FILTER']:'0')
-);
-
-$G_PUBLISH->AddContent('propeltable', 'paged-table', $xmlfile, $aCriteria, $aData);
-
-G::RenderPage('publish', 'blank');
-
-
-
-function InAssocArray($a, $k, $v){
- foreach($a as $item){
- if( isset($item[$k]) && $v == $item[$k]) return true;
- }
- return false;
-}
-
-
+ if (! InAssocArray( $aRow, 'PRO_UID', $aRow['PRO_UID'] )) {
+ array_push( $aProcess, Array ('PRO_UID' => $aRow['PRO_UID'],'PRO_TITLE' => $aRow['APP_PRO_TITLE'] ) );
+ }
+ }
+
+ $_DBArray['_PROCESSES'] = array_merge( Array (Array ('PRO_UID' => 'char','PRO_TITLE' => 'char' ) ), $aProcess );
+ $_SESSION['_DBArray'] = $_DBArray;
+} else {
+ $_DBArray = $_SESSION['_DBArray'];
+}
+
+/* Render page */
+$G_PUBLISH = new Publisher();
+$G_PUBLISH->ROWS_PER_PAGE = 12;
+
+if ($sTypeList == 'to_reassign') {
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_ReassignBy', '', array ('REASSIGN_BY' => 1 ) );
+}
+
+$aData = Array ('PROCESS_FILTER' => $PRO_UID,'APP_STATUS_FILTER' => (isset( $_GET['APP_STATUS_FILTER'] ) ? $_GET['APP_STATUS_FILTER'] : '0')
+);
+
+$G_PUBLISH->AddContent( 'propeltable', 'paged-table', $xmlfile, $aCriteria, $aData );
+
+G::RenderPage( 'publish', 'blank' );
+
+function InAssocArray ($a, $k, $v)
+{
+ foreach ($a as $item) {
+ if (isset( $item[$k] ) && $v == $item[$k])
+ return true;
+ }
+ return false;
+}
+
?>
-
-
+
+
diff --git a/workflow/engine/methods/cases/cases_New.php b/workflow/engine/methods/cases/cases_New.php
index ea1987596..8f0271c9f 100755
--- a/workflow/engine/methods/cases/cases_New.php
+++ b/workflow/engine/methods/cases/cases_New.php
@@ -1,162 +1,162 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
- //we're looking for the type of view
- function putTypeView(){
- require_once 'classes/model/Configuration.php';
- $oConfiguration = new Configuration();
- $oCriteria = new Criteria('workflow');
- $oCriteria->add(ConfigurationPeer::CFG_UID, 'StartNewCase');
- $oCriteria->add(ConfigurationPeer::USR_UID, $_SESSION['USER_LOGGED']);
-
- if(ConfigurationPeer::doCount($oCriteria)) {
- $conf = ConfigurationPeer::doSelect($oCriteria);
- return $conf[0]->getCfgValue();
- } else {
- return 'dropdown';
- }
- }
-
-$_GET['change']=(isset($_GET['change']))?$_GET['change']:putTypeView();
-
- /* Permissions */
- switch ($RBAC->userCanAccess('PM_CASES'))
- {
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
-
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- }
-
- /* Includes */
- G::LoadClass('case');
-
- /* GET , POST & $_SESSION Vars */
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+//we're looking for the type of view
+function putTypeView ()
+{
+ require_once 'classes/model/Configuration.php';
+ $oConfiguration = new Configuration();
+ $oCriteria = new Criteria( 'workflow' );
+ $oCriteria->add( ConfigurationPeer::CFG_UID, 'StartNewCase' );
+ $oCriteria->add( ConfigurationPeer::USR_UID, $_SESSION['USER_LOGGED'] );
+
+ if (ConfigurationPeer::doCount( $oCriteria )) {
+ $conf = ConfigurationPeer::doSelect( $oCriteria );
+ return $conf[0]->getCfgValue();
+ } else {
+ return 'dropdown';
+ }
+}
+
+$_GET['change'] = (isset( $_GET['change'] )) ? $_GET['change'] : putTypeView();
+
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+G::LoadClass( 'case' );
+
+/* GET , POST & $_SESSION Vars */
/* Menues */
- $G_MAIN_MENU = 'processmaker';
- $G_SUB_MENU = 'cases';
- $G_ID_MENU_SELECTED = 'CASES';
- $G_ID_SUB_MENU_SELECTED = 'CASES_DRAFT';
-
- /* Prepare page before to show */
- $aFields = array();
- $oCase = new Cases();
- $bCanStart = $oCase->canStartCase( $_SESSION['USER_LOGGED'] );
- if ($bCanStart)
- {
- $aFields['LANG'] = SYS_LANG;
- $aFields['USER'] = $_SESSION['USER_LOGGED'];
- $sXmlForm = 'cases/cases_New.xml';
+ $G_MAIN_MENU = 'processmaker';
+$G_SUB_MENU = 'cases';
+$G_ID_MENU_SELECTED = 'CASES';
+$G_ID_SUB_MENU_SELECTED = 'CASES_DRAFT';
+
+/* Prepare page before to show */
+$aFields = array ();
+$oCase = new Cases();
+$bCanStart = $oCase->canStartCase( $_SESSION['USER_LOGGED'] );
+if ($bCanStart) {
+ $aFields['LANG'] = SYS_LANG;
+ $aFields['USER'] = $_SESSION['USER_LOGGED'];
+ $sXmlForm = 'cases/cases_New.xml';
//$_DBArray['NewCase'] = $oCase->getStartCases( $_SESSION['USER_LOGGED'] );
- $_DBArray['NewCase'] = $oCase->getStartCasesPerType( $_SESSION['USER_LOGGED'], $_GET['change'] );
-
- }
- else {
- $sXmlForm = 'cases/cases_CannotInitiateCase.xml';
- }
-
- if ( isset( $_SESSION['G_MESSAGE']) && strlen($_SESSION['G_MESSAGE']) > 0 ) {
- $aMessage = array();
- $aMessage['MESSAGE'] = $_SESSION['G_MESSAGE'];
- //$_SESSION['G_MESSAGE_TYPE'];
- unset($_SESSION['G_MESSAGE']);
- unset($_SESSION['G_MESSAGE_TYPE']);
- }
-
- //get the config parameter to show in dropdown or list
- require_once 'classes/model/Configuration.php';
- $oConfiguration = new Configuration();
- $oCriteria = new Criteria('workflow');
- $oCriteria->add(ConfigurationPeer::CFG_UID, 'StartNewCase');
- $oCriteria->add(ConfigurationPeer::USR_UID, $_SESSION['USER_LOGGED']);
-
- if( ConfigurationPeer::doCount($oCriteria) == 0) {
- $aData['CFG_UID'] = 'StartNewCase';
- $aData['OBJ_UID'] = '';
- $aData['CFG_VALUE'] = 'dropdown';
- $aData['PRO_UID'] = '';
- $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
- $aData['APP_UID'] = '';
-
- $oConfig = new Configuration();
- $oConfig->create($aData);
- $listType = 'dropdown';
- }
- else {
- $oConfiguration = new Configuration();
- $oCriteria = new Criteria('workflow');
- $oCriteria->add(ConfigurationPeer::CFG_UID, 'StartNewCase');
- $oCriteria->add(ConfigurationPeer::USR_UID, $_SESSION['USER_LOGGED']);
- $conf = ConfigurationPeer::doSelect($oCriteria);
-
- $listType = $conf[0]->getCfgValue();
- }
- if ( isset($_GET['change'] ) ) {
- $listType= $_GET['change'];
- $aData['CFG_UID'] = 'StartNewCase';
- $aData['OBJ_UID'] = '';
- $aData['CFG_VALUE'] = $listType;
- $aData['PRO_UID'] = '';
- $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
- $aData['APP_UID'] = '';
-
- $oConfig = new Configuration();
- $oConfig->update($aData);
- }
-
- /* Render page */
- $G_PUBLISH = new Publisher;
- $aFields['CHANGE_LINK'] = G::LoadTranslation( 'ID_CHANGE_VIEW' );
-
- if ( isset ( $aMessage ) ) {
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
- }
- if ( $listType == 'dropdown' )
- $G_PUBLISH->AddContent('xmlform', 'xmlform', $sXmlForm, '', $aFields, 'cases_Save');
-
- if ( $listType == 'link' ) {
- if ($bCanStart) $sXmlForm = 'cases/cases_NewRadioGroup.xml';
- $G_PUBLISH->AddContent('xmlform', 'xmlform', $sXmlForm, '', $aFields, 'cases_Save');
- }
-
- if ( $listType == 'category' ) {
- if ($bCanStart) $sXmlForm = 'cases/cases_NewCategory.xml';
- $G_PUBLISH->AddContent('view', 'cases/cases_NewCategory');
- }
-
- G::RenderPage( 'publish', 'blank' );
-
+ $_DBArray['NewCase'] = $oCase->getStartCasesPerType( $_SESSION['USER_LOGGED'], $_GET['change'] );
+
+} else {
+ $sXmlForm = 'cases/cases_CannotInitiateCase.xml';
+}
+
+if (isset( $_SESSION['G_MESSAGE'] ) && strlen( $_SESSION['G_MESSAGE'] ) > 0) {
+ $aMessage = array ();
+ $aMessage['MESSAGE'] = $_SESSION['G_MESSAGE'];
+ //$_SESSION['G_MESSAGE_TYPE'];
+ unset( $_SESSION['G_MESSAGE'] );
+ unset( $_SESSION['G_MESSAGE_TYPE'] );
+}
+
+//get the config parameter to show in dropdown or list
+require_once 'classes/model/Configuration.php';
+$oConfiguration = new Configuration();
+$oCriteria = new Criteria( 'workflow' );
+$oCriteria->add( ConfigurationPeer::CFG_UID, 'StartNewCase' );
+$oCriteria->add( ConfigurationPeer::USR_UID, $_SESSION['USER_LOGGED'] );
+
+if (ConfigurationPeer::doCount( $oCriteria ) == 0) {
+ $aData['CFG_UID'] = 'StartNewCase';
+ $aData['OBJ_UID'] = '';
+ $aData['CFG_VALUE'] = 'dropdown';
+ $aData['PRO_UID'] = '';
+ $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
+ $aData['APP_UID'] = '';
+
+ $oConfig = new Configuration();
+ $oConfig->create( $aData );
+ $listType = 'dropdown';
+} else {
+ $oConfiguration = new Configuration();
+ $oCriteria = new Criteria( 'workflow' );
+ $oCriteria->add( ConfigurationPeer::CFG_UID, 'StartNewCase' );
+ $oCriteria->add( ConfigurationPeer::USR_UID, $_SESSION['USER_LOGGED'] );
+ $conf = ConfigurationPeer::doSelect( $oCriteria );
+
+ $listType = $conf[0]->getCfgValue();
+}
+if (isset( $_GET['change'] )) {
+ $listType = $_GET['change'];
+ $aData['CFG_UID'] = 'StartNewCase';
+ $aData['OBJ_UID'] = '';
+ $aData['CFG_VALUE'] = $listType;
+ $aData['PRO_UID'] = '';
+ $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
+ $aData['APP_UID'] = '';
+
+ $oConfig = new Configuration();
+ $oConfig->update( $aData );
+}
+
+/* Render page */
+$G_PUBLISH = new Publisher();
+$aFields['CHANGE_LINK'] = G::LoadTranslation( 'ID_CHANGE_VIEW' );
+
+if (isset( $aMessage )) {
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
+}
+if ($listType == 'dropdown')
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $sXmlForm, '', $aFields, 'cases_Save' );
+
+if ($listType == 'link') {
+ if ($bCanStart)
+ $sXmlForm = 'cases/cases_NewRadioGroup.xml';
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $sXmlForm, '', $aFields, 'cases_Save' );
+}
+
+if ($listType == 'category') {
+ if ($bCanStart)
+ $sXmlForm = 'cases/cases_NewCategory.xml';
+ $G_PUBLISH->AddContent( 'view', 'cases/cases_NewCategory' );
+}
+
+G::RenderPage( 'publish', 'blank' );
+
?>
\ No newline at end of file
+
+
diff --git a/workflow/engine/methods/cases/cases_NextStep.php b/workflow/engine/methods/cases/cases_NextStep.php
index b11738ce5..868905b57 100755
--- a/workflow/engine/methods/cases/cases_NextStep.php
+++ b/workflow/engine/methods/cases/cases_NextStep.php
@@ -1,32 +1,32 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-if (($RBAC_Response=$RBAC->userCanAccess("PM_CASES"))!=1) return $RBAC_Response;
-//go to the next step
-G::LoadClass('case');
-$oCase = new Cases();
-$aNextStep = $oCase->getNextStep($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION']);
-$_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
-G::header('location: ' . $aNextStep['PAGE']);
-?>
\ No newline at end of file
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+if (($RBAC_Response = $RBAC->userCanAccess( "PM_CASES" )) != 1)
+ return $RBAC_Response;
+ //go to the next step
+G::LoadClass( 'case' );
+$oCase = new Cases();
+$aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );
+$_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
+G::header( 'location: ' . $aNextStep['PAGE'] );
+
diff --git a/workflow/engine/methods/cases/cases_Open.php b/workflow/engine/methods/cases/cases_Open.php
index 48490449a..5e244c744 100755
--- a/workflow/engine/methods/cases/cases_Open.php
+++ b/workflow/engine/methods/cases/cases_Open.php
@@ -1,205 +1,203 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-
-/* Permissions */
-if( $RBAC->userCanAccess('PM_CASES') != 1 ) {
- switch( $RBAC->userCanAccess('PM_CASES') ) {
- case - 2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- break;
- case - 1:
- default:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- break;
- }
-}
-
-/* Includes */
-require_once 'classes/model/AppDelay.php';
-G::LoadClass('case');
-
-$oCase = new Cases();
-
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+
+/* Permissions */
+if ($RBAC->userCanAccess( 'PM_CASES' ) != 1) {
+ switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ break;
+ case - 1:
+ default:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ break;
+ }
+}
+
+/* Includes */
+require_once 'classes/model/AppDelay.php';
+G::LoadClass( 'case' );
+
+$oCase = new Cases();
+
//cleaning the case session data
-Cases::clearCaseSessionData();
-
-try {
- //Loading data for a Jump request
- if( ! isset($_GET['APP_UID']) && isset($_GET['APP_NUMBER']) ) {
- $_GET['APP_UID'] = $oCase->getApplicationUIDByNumber($_GET['APP_NUMBER']);
- $_GET['DEL_INDEX'] = $oCase->getCurrentDelegation($_GET['APP_UID'], $_SESSION['USER_LOGGED']);
-
- //if the application doesn't exist
- if( is_null($_GET['APP_UID']) ) {
- G::SendMessageText(G::LoadTranslation('ID_CASE_DOES_NOT_EXISTS'), 'info');
- G::header('location: casesListExtJs');
- exit;
- }
-
- //if the application exists but the
- if( is_null($_GET['DEL_INDEX']) ) {
- G::SendMessageText(G::LoadTranslation('ID_CASE_IS_CURRENTLY_WITH_ANOTHER_USER'), 'info');
- G::header('location: casesListExtJs');
- exit;
- }
- //wrong implemented, need refactored
- //$participated = $oCase->userParticipatedInCase($_GET['APP_UID'], $_SESSION['USER_LOGGED']); ???????
- }
-
- $sAppUid = $_GET['APP_UID'];
- $iDelIndex = $_GET['DEL_INDEX'];
- $_action = isset($_GET['action'])? $_GET['action']: '';
-
- //loading application data
- $aFields = $oCase->loadCase($sAppUid, $iDelIndex);
-// g::pr($aFields);
-// die;
-
- switch($aFields['APP_STATUS']){
- case 'DRAFT':
- case 'TO_DO':
- //check if the case is in pause, check a valid record in table APP_DELAY
- if( AppDelay::isPaused($sAppUid, $iDelIndex) ) {
- //the case is paused show only the resume
- $_SESSION['APPLICATION'] = $sAppUid;
- $_SESSION['INDEX'] = $iDelIndex;
- $_SESSION['PROCESS'] = $aFields['PRO_UID'];
- $_SESSION['TASK'] = -1;
- $_SESSION['STEP_POSITION'] = 0;
-
- require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
- exit;
- }
-
- /**
- * these routine is to verify if the case was acceded from advaced search list
- */
- if( $_action == 'search' ) {
- //verify if the case is with teh current user
- $c = new Criteria('workflow');
- $c->add(AppDelegationPeer::APP_UID, $sAppUid);
- $c->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX);
- $oDataset = AppDelegationPeer::doSelectRs($c);
- $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $oDataset->next();
- $aData = $oDataset->getRow();
-
-
- if ( $aData['USR_UID'] != $_SESSION['USER_LOGGED'] &&
- $aData['USR_UID'] != "" //distinct "" for selfservice
- ) {
- //so we show just the resume
- $_SESSION['alreadyDerivated'] = true;
- //the case is paused show only the resume
- $_SESSION['APPLICATION'] = $sAppUid;
- $_SESSION['INDEX'] = $iDelIndex;
- $_SESSION['PROCESS'] = $aFields['PRO_UID'];
- $_SESSION['TASK'] = -1;
- $_SESSION['STEP_POSITION'] = 0;
-
- require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
- exit;
- }
- }
-
-
- //proceed and try to open the case
- $oAppDelegation = new AppDelegation();
- $aDelegation = $oAppDelegation->load($sAppUid, $iDelIndex);
-
- //if there are no user in the delegation row, this case is in selfservice
- if( $aDelegation['USR_UID'] == "" /*&& $aDelegation['DEL_THREAD_STATUS'] == 'SELFSERVICE'*/ ) {
-
- $_SESSION['APPLICATION'] = $sAppUid;
- $_SESSION['INDEX'] = $iDelIndex;
- $_SESSION['PROCESS'] = $aFields['PRO_UID'];
- $_SESSION['TASK'] = -1;
- $_SESSION['STEP_POSITION'] = 0;
- $_SESSION['CURRENT_TASK'] = $aFields['TAS_UID'];
-
- //if the task is in the valid selfservice tasks for this user, then catch the case, else just view the resume
- if( $oCase->isSelfService($_SESSION['USER_LOGGED'], $aFields['TAS_UID'], $sAppUid) ) {
- require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_CatchSelfService.php');
- } else {
- require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
- }
-
- exit;
- }
-
- //if the current users is in the AppDelegation row, then open the case
- if( ($aDelegation['USR_UID'] == $_SESSION['USER_LOGGED']) && $_action != 'sent' ) {
- $_SESSION['APPLICATION'] = $sAppUid;
- $_SESSION['INDEX'] = $iDelIndex;
-
- if( is_null($aFields['DEL_INIT_DATE']) ) {
- $oCase->setDelInitDate($sAppUid, $iDelIndex);
- $aFields = $oCase->loadCase($sAppUid, $iDelIndex);
- }
-
- $_SESSION['PROCESS'] = $aFields['PRO_UID'];
- $_SESSION['TASK'] = $aFields['TAS_UID'];
- $_SESSION['STEP_POSITION'] = 0;
-
- /* Redirect to next step */
- unset($_SESSION['bNoShowSteps']);
- $aNextStep = $oCase->getNextStep($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION']);
- $sPage = $aNextStep['PAGE'];
- G::header('location: ' . $sPage);
-
-
- } else {
- //when the case have another user or current user doesnt have rights to this selfservice,
- //just view the case Resume
-
- $_SESSION['APPLICATION'] = $sAppUid;
- $_SESSION['INDEX'] = $iDelIndex;
- $_SESSION['PROCESS'] = $aFields['PRO_UID'];
- $_SESSION['TASK'] = -1;
- $Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
- $_SESSION['CURRENT_TASK'] = $Fields['TAS_UID'];
- $_SESSION['STEP_POSITION'] = 0;
- require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
- }
- break;
-
- default: //APP_STATUS <> DRAFT and TO_DO
- $_SESSION['APPLICATION'] = $sAppUid;
- $_SESSION['INDEX'] = $iDelIndex != "" ? $iDelIndex : $oCase->getCurrentDelegationCase($_GET['APP_UID']);
- $_SESSION['PROCESS'] = $aFields['PRO_UID'];
- $_SESSION['TASK'] = -1;
- $_SESSION['STEP_POSITION'] = 0;
-
- require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
- }
-} catch( Exception $e ) {
- $aMessage = array ();
- $aMessage['MESSAGE'] = $e->getMessage();
- $G_PUBLISH = new Publisher();
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage);
- G::RenderPage('publishBlank', 'blank');
+Cases::clearCaseSessionData();
+
+try {
+ //Loading data for a Jump request
+ if (! isset( $_GET['APP_UID'] ) && isset( $_GET['APP_NUMBER'] )) {
+ $_GET['APP_UID'] = $oCase->getApplicationUIDByNumber( $_GET['APP_NUMBER'] );
+ $_GET['DEL_INDEX'] = $oCase->getCurrentDelegation( $_GET['APP_UID'], $_SESSION['USER_LOGGED'] );
+
+ //if the application doesn't exist
+ if (is_null( $_GET['APP_UID'] )) {
+ G::SendMessageText( G::LoadTranslation( 'ID_CASE_DOES_NOT_EXISTS' ), 'info' );
+ G::header( 'location: casesListExtJs' );
+ exit();
+ }
+
+ //if the application exists but the
+ if (is_null( $_GET['DEL_INDEX'] )) {
+ G::SendMessageText( G::LoadTranslation( 'ID_CASE_IS_CURRENTLY_WITH_ANOTHER_USER' ), 'info' );
+ G::header( 'location: casesListExtJs' );
+ exit();
+ }
+ //wrong implemented, need refactored
+ //$participated = $oCase->userParticipatedInCase($_GET['APP_UID'], $_SESSION['USER_LOGGED']); ???????
+ }
+
+ $sAppUid = $_GET['APP_UID'];
+ $iDelIndex = $_GET['DEL_INDEX'];
+ $_action = isset( $_GET['action'] ) ? $_GET['action'] : '';
+
+ //loading application data
+ $aFields = $oCase->loadCase( $sAppUid, $iDelIndex );
+ // g::pr($aFields);
+ // die;
+
+
+ switch ($aFields['APP_STATUS']) {
+ case 'DRAFT':
+ case 'TO_DO':
+ //check if the case is in pause, check a valid record in table APP_DELAY
+ if (AppDelay::isPaused( $sAppUid, $iDelIndex )) {
+ //the case is paused show only the resume
+ $_SESSION['APPLICATION'] = $sAppUid;
+ $_SESSION['INDEX'] = $iDelIndex;
+ $_SESSION['PROCESS'] = $aFields['PRO_UID'];
+ $_SESSION['TASK'] = - 1;
+ $_SESSION['STEP_POSITION'] = 0;
+
+ require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
+ exit();
+ }
+
+ /**
+ * these routine is to verify if the case was acceded from advaced search list
+ */
+ if ($_action == 'search') {
+ //verify if the case is with teh current user
+ $c = new Criteria( 'workflow' );
+ $c->add( AppDelegationPeer::APP_UID, $sAppUid );
+ $c->addDescendingOrderByColumn( AppDelegationPeer::DEL_INDEX );
+ $oDataset = AppDelegationPeer::doSelectRs( $c );
+ $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+ $oDataset->next();
+ $aData = $oDataset->getRow();
+
+ if ($aData['USR_UID'] != $_SESSION['USER_LOGGED'] && $aData['USR_UID'] != "") //distinct "" for selfservice
+{
+ //so we show just the resume
+ $_SESSION['alreadyDerivated'] = true;
+ //the case is paused show only the resume
+ $_SESSION['APPLICATION'] = $sAppUid;
+ $_SESSION['INDEX'] = $iDelIndex;
+ $_SESSION['PROCESS'] = $aFields['PRO_UID'];
+ $_SESSION['TASK'] = - 1;
+ $_SESSION['STEP_POSITION'] = 0;
+
+ require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
+ exit();
+ }
+ }
+
+ //proceed and try to open the case
+ $oAppDelegation = new AppDelegation();
+ $aDelegation = $oAppDelegation->load( $sAppUid, $iDelIndex );
+
+ //if there are no user in the delegation row, this case is in selfservice
+ if ($aDelegation['USR_UID'] == "" /*&& $aDelegation['DEL_THREAD_STATUS'] == 'SELFSERVICE'*/ ) {
+
+ $_SESSION['APPLICATION'] = $sAppUid;
+ $_SESSION['INDEX'] = $iDelIndex;
+ $_SESSION['PROCESS'] = $aFields['PRO_UID'];
+ $_SESSION['TASK'] = - 1;
+ $_SESSION['STEP_POSITION'] = 0;
+ $_SESSION['CURRENT_TASK'] = $aFields['TAS_UID'];
+
+ //if the task is in the valid selfservice tasks for this user, then catch the case, else just view the resume
+ if ($oCase->isSelfService( $_SESSION['USER_LOGGED'], $aFields['TAS_UID'], $sAppUid )) {
+ require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_CatchSelfService.php');
+ } else {
+ require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
+ }
+
+ exit();
+ }
+
+ //if the current users is in the AppDelegation row, then open the case
+ if (($aDelegation['USR_UID'] == $_SESSION['USER_LOGGED']) && $_action != 'sent') {
+ $_SESSION['APPLICATION'] = $sAppUid;
+ $_SESSION['INDEX'] = $iDelIndex;
+
+ if (is_null( $aFields['DEL_INIT_DATE'] )) {
+ $oCase->setDelInitDate( $sAppUid, $iDelIndex );
+ $aFields = $oCase->loadCase( $sAppUid, $iDelIndex );
+ }
+
+ $_SESSION['PROCESS'] = $aFields['PRO_UID'];
+ $_SESSION['TASK'] = $aFields['TAS_UID'];
+ $_SESSION['STEP_POSITION'] = 0;
+
+ /* Redirect to next step */
+ unset( $_SESSION['bNoShowSteps'] );
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );
+ $sPage = $aNextStep['PAGE'];
+ G::header( 'location: ' . $sPage );
+
+ } else {
+ //when the case have another user or current user doesnt have rights to this selfservice,
+ //just view the case Resume
+
+
+ $_SESSION['APPLICATION'] = $sAppUid;
+ $_SESSION['INDEX'] = $iDelIndex;
+ $_SESSION['PROCESS'] = $aFields['PRO_UID'];
+ $_SESSION['TASK'] = - 1;
+ $Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
+ $_SESSION['CURRENT_TASK'] = $Fields['TAS_UID'];
+ $_SESSION['STEP_POSITION'] = 0;
+ require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
+ }
+ break;
+
+ default: //APP_STATUS <> DRAFT and TO_DO
+ $_SESSION['APPLICATION'] = $sAppUid;
+ $_SESSION['INDEX'] = $iDelIndex != "" ? $iDelIndex : $oCase->getCurrentDelegationCase( $_GET['APP_UID'] );
+ $_SESSION['PROCESS'] = $aFields['PRO_UID'];
+ $_SESSION['TASK'] = - 1;
+ $_SESSION['STEP_POSITION'] = 0;
+
+ require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
+ }
+} catch (Exception $e) {
+ $aMessage = array ();
+ $aMessage['MESSAGE'] = $e->getMessage();
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
+ G::RenderPage( 'publishBlank', 'blank' );
}
+
diff --git a/workflow/engine/methods/cases/cases_OpenToRevise.php b/workflow/engine/methods/cases/cases_OpenToRevise.php
index 6de2d8a62..6b7f49276 100755
--- a/workflow/engine/methods/cases/cases_OpenToRevise.php
+++ b/workflow/engine/methods/cases/cases_OpenToRevise.php
@@ -1,79 +1,75 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-/* Permissions */
-
-if( $RBAC->userCanAccess('PM_SUPERVISOR') != 1 )
- switch ($RBAC->userCanAccess('PM_SUPERVISOR')) {
- case - 2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- default:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
-}
-
-/* Includes */
-G::LoadClass('case');
-
-/* GET , POST & $_SESSION Vars */
-if (isset($_SESSION['APPLICATION'])) {
- unset($_SESSION['APPLICATION']);
-}
-if (isset($_SESSION['PROCESS'])) {
- unset($_SESSION['PROCESS']);
-}
-if (isset($_SESSION['INDEX'])) {
- unset($_SESSION['INDEX']);
-}
-if (isset($_SESSION['STEP_POSITION'])) {
- unset($_SESSION['STEP_POSITION']);
-}
-
-/* Process the info */
-$oCase = new Cases();
-$sAppUid = $_GET['APP_UID'];
-$iDelIndex = $_GET['DEL_INDEX'];
-
-
-$_SESSION['APPLICATION'] = $_GET['APP_UID'];
-$_SESSION['INDEX'] = $_GET['DEL_INDEX'];
-
-$aFields = $oCase->loadCase($sAppUid, $iDelIndex);
-
-$_SESSION['PROCESS'] = $aFields['PRO_UID'];
-$_SESSION['TASK'] = $aFields['TAS_UID'];
-$_SESSION['STEP_POSITION'] = 0;
-
-/* Redirect to next step */
-$aNextStep = $oCase->getNextSupervisorStep($_SESSION['PROCESS'],0);
-$sPage = "cases_StepToRevise?type=DYNAFORM&PRO_UID=".$aFields['PRO_UID']."&DYN_UID=".$aNextStep['UID']."&APP_UID=$sAppUid&DEL_INDEX=$iDelIndex&position=1";//$aNextStep['PAGE'];
-G::header('location: ' . $sPage);
-
-
-?>
\ No newline at end of file
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+/* Permissions */
+
+if ($RBAC->userCanAccess( 'PM_SUPERVISOR' ) != 1)
+ switch ($RBAC->userCanAccess( 'PM_SUPERVISOR' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ default:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ }
+
+ /* Includes */
+G::LoadClass( 'case' );
+
+/* GET , POST & $_SESSION Vars */
+if (isset( $_SESSION['APPLICATION'] )) {
+ unset( $_SESSION['APPLICATION'] );
+}
+if (isset( $_SESSION['PROCESS'] )) {
+ unset( $_SESSION['PROCESS'] );
+}
+if (isset( $_SESSION['INDEX'] )) {
+ unset( $_SESSION['INDEX'] );
+}
+if (isset( $_SESSION['STEP_POSITION'] )) {
+ unset( $_SESSION['STEP_POSITION'] );
+}
+
+/* Process the info */
+$oCase = new Cases();
+$sAppUid = $_GET['APP_UID'];
+$iDelIndex = $_GET['DEL_INDEX'];
+
+$_SESSION['APPLICATION'] = $_GET['APP_UID'];
+$_SESSION['INDEX'] = $_GET['DEL_INDEX'];
+
+$aFields = $oCase->loadCase( $sAppUid, $iDelIndex );
+
+$_SESSION['PROCESS'] = $aFields['PRO_UID'];
+$_SESSION['TASK'] = $aFields['TAS_UID'];
+$_SESSION['STEP_POSITION'] = 0;
+
+/* Redirect to next step */
+$aNextStep = $oCase->getNextSupervisorStep( $_SESSION['PROCESS'], 0 );
+$sPage = "cases_StepToRevise?type=DYNAFORM&PRO_UID=" . $aFields['PRO_UID'] . "&DYN_UID=" . $aNextStep['UID'] . "&APP_UID=$sAppUid&DEL_INDEX=$iDelIndex&position=1"; //$aNextStep['PAGE'];
+G::header( 'location: ' . $sPage );
+
diff --git a/workflow/engine/methods/cases/cases_PrintView.php b/workflow/engine/methods/cases/cases_PrintView.php
index 42fc53372..51779daad 100755
--- a/workflow/engine/methods/cases/cases_PrintView.php
+++ b/workflow/engine/methods/cases/cases_PrintView.php
@@ -1,104 +1,96 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
-
- require_once 'classes/model/Dynaform.php';
- require_once 'classes/model/Process.php';
-
- $currentDynUid = '';
- if (isset($_GET['DYNUIDPRINT']) && $_GET['DYNUIDPRINT'] != '') {
- $currentDynUid = $_GET['DYNUIDPRINT'];
- } elseif (isset($_SESSION['DYN_UID_PRINT'])) {
- $currentDynUid = $_SESSION['DYN_UID_PRINT'];
- } elseif (isset($_SESSION['CURRENT_DYN_UID'])) {
- $currentDynUid = $_SESSION['CURRENT_DYN_UID'];
- }
-
- $oDynaform = new Dynaform();
- $aDyn = $oDynaform->load($currentDynUid);
-
- G::LoadClass('case');
- $oCase = new Cases();
-
- if (isset($_SESSION['APPLICATION'])) {
- $Fields = $oCase->loadCase($_SESSION['APPLICATION']);
- $Fields['APP_DATA'] = array_merge($Fields['APP_DATA'], G::getSystemConstants());
- } else {
- $Fields['APP_DATA'] = Array();
- }
-
- $G_MAIN_MENU = 'processmaker';
- $G_ID_MENU_SELECTED = 'USERS';
- $G_PUBLISH = new Publisher;
-
- $idProcess = (isset($Fields['APP_DATA']['PROCESS'])) ? $Fields['APP_DATA']['PROCESS'] : $_SESSION['PROCESS'];
- $oProcess = new Process();
- $aProcessFieds = $oProcess->load($idProcess);
- $sProcess = $oProcess->getProTitle();
-
- $noShowTitle = 0;
- if (isset($aProcessFieds['PRO_SHOW_MESSAGE'])) {
- $noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
- }
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+
+ require_once 'classes/model/Dynaform.php';
+ require_once 'classes/model/Process.php';
+
+ $currentDynUid = '';
+ if (isset( $_GET['DYNUIDPRINT'] ) && $_GET['DYNUIDPRINT'] != '') {
+ $currentDynUid = $_GET['DYNUIDPRINT'];
+ } elseif (isset( $_SESSION['DYN_UID_PRINT'] )) {
+ $currentDynUid = $_SESSION['DYN_UID_PRINT'];
+ } elseif (isset( $_SESSION['CURRENT_DYN_UID'] )) {
+ $currentDynUid = $_SESSION['CURRENT_DYN_UID'];
+ }
+
+ $oDynaform = new Dynaform();
+ $aDyn = $oDynaform->load( $currentDynUid );
+
+ G::LoadClass( 'case' );
+ $oCase = new Cases();
+
+ if (isset( $_SESSION['APPLICATION'] )) {
+ $Fields = $oCase->loadCase( $_SESSION['APPLICATION'] );
+ $Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], G::getSystemConstants() );
+ } else {
+ $Fields['APP_DATA'] = Array ();
+ }
+
+ $G_MAIN_MENU = 'processmaker';
+ $G_ID_MENU_SELECTED = 'USERS';
+ $G_PUBLISH = new Publisher();
+
+ $idProcess = (isset( $Fields['APP_DATA']['PROCESS'] )) ? $Fields['APP_DATA']['PROCESS'] : $_SESSION['PROCESS'];
+ $oProcess = new Process();
+ $aProcessFieds = $oProcess->load( $idProcess );
+ $sProcess = $oProcess->getProTitle();
+
+ $noShowTitle = 0;
+ if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) {
+ $noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
+ }
//Add content content step - Start
- if (isset($_SESSION['APPLICATION'])) {
- $array['CASE'] = G::LoadTranslation('ID_CASE');
- $array['USER'] = G::LoadTranslation('ID_USER');
- $array['WORKSPACE'] = G::LoadTranslation('ID_WORKSPACE');
- $array['APP_NUMBER'] = $Fields['APP_NUMBER'];
- $array['APP_TITLE'] = $Fields['TITLE'];
- $array['USR_USERNAME'] = $Fields['APP_DATA']['USR_USERNAME'];
- $array['USER_ENV'] = $Fields['APP_DATA']['SYS_SYS'];
- $array['DATEPRINT'] = date('Y-m-d H:m:s');
- }
- $array['APP_PROCESS'] = $sProcess;
-
- if (isset($Fields['TITLE']) && strlen($Fields['TITLE']) > 0) {
- $array['TITLE'] = G::LoadTranslation('ID_TITLE');
- } else {
- $array['TITLE'] = '';
- }
- $array['PROCESS'] = G::LoadTranslation('ID_PROCESS');
- $array['DATELABEL'] = G::LoadTranslation('DATE_LABEL');
-
- $aDyn['DYN_UID'] = $currentDynUid;
- if ($noShowTitle == 0) {
- $G_PUBLISH->AddContent('smarty', 'cases/cases_PrintViewTitle', '', '', $array);
- }
- $G_PUBLISH->AddContent('dynaform',
- 'xmlform',
- $aDyn['PRO_UID'] . '/' . $aDyn['DYN_UID'],
- '',
- $Fields['APP_DATA'],
- '',
- '',
- 'view');
- G::RenderPage('publish', 'blank');
-} catch (Exception $oException) {
- die($oException->getMessage());
-}
+ if (isset( $_SESSION['APPLICATION'] )) {
+ $array['CASE'] = G::LoadTranslation( 'ID_CASE' );
+ $array['USER'] = G::LoadTranslation( 'ID_USER' );
+ $array['WORKSPACE'] = G::LoadTranslation( 'ID_WORKSPACE' );
+ $array['APP_NUMBER'] = $Fields['APP_NUMBER'];
+ $array['APP_TITLE'] = $Fields['TITLE'];
+ $array['USR_USERNAME'] = $Fields['APP_DATA']['USR_USERNAME'];
+ $array['USER_ENV'] = $Fields['APP_DATA']['SYS_SYS'];
+ $array['DATEPRINT'] = date( 'Y-m-d H:m:s' );
+ }
+ $array['APP_PROCESS'] = $sProcess;
+
+ if (isset( $Fields['TITLE'] ) && strlen( $Fields['TITLE'] ) > 0) {
+ $array['TITLE'] = G::LoadTranslation( 'ID_TITLE' );
+ } else {
+ $array['TITLE'] = '';
+ }
+ $array['PROCESS'] = G::LoadTranslation( 'ID_PROCESS' );
+ $array['DATELABEL'] = G::LoadTranslation( 'DATE_LABEL' );
+
+ $aDyn['DYN_UID'] = $currentDynUid;
+ if ($noShowTitle == 0) {
+ $G_PUBLISH->AddContent( 'smarty', 'cases/cases_PrintViewTitle', '', '', $array );
+ }
+ $G_PUBLISH->AddContent( 'dynaform', 'xmlform', $aDyn['PRO_UID'] . '/' . $aDyn['DYN_UID'], '', $Fields['APP_DATA'], '', '', 'view' );
+ G::RenderPage( 'publish', 'blank' );
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
?>
-
+
+
diff --git a/workflow/engine/methods/cases/cases_Reassign.php b/workflow/engine/methods/cases/cases_Reassign.php
index e1df7dfe2..942f624c1 100755
--- a/workflow/engine/methods/cases/cases_Reassign.php
+++ b/workflow/engine/methods/cases/cases_Reassign.php
@@ -1,121 +1,120 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
- global $RBAC;
- switch ($RBAC->userCanAccess('PM_REASSIGNCASE')) {
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- }
-
-G::LoadSystem('templatePower');
-$tpl = new TemplatePower(PATH_TPL ."cases/cases_Reassign.html");
-$tpl->prepare();
-
-require_once 'classes/model/AppDelegation.php';
-$oCriteria = new Criteria('workflow');
-$oCriteria->add(AppDelegationPeer::APP_UID, $_GET['APP_UID']);
-$oCriteria->add(AppDelegationPeer::DEL_INDEX, $_GET['DEL_INDEX']);
-$oCriteria->add(AppDelegationPeer::DEL_FINISH_DATE, null);
-$oDataset = AppDelegationPeer::doSelectRS($oCriteria);
-$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-$oDataset->next();
-$c=0;
-G::LoadClass('tasks');
-$oTasks=new Tasks();
-G::LoadClass('groups');
-$oGroups = new Groups();
-require_once 'classes/model/Users.php';
-$oUser = new Users();
-$name = '';
- while ($aRow = $oDataset->getRow()) {
- $c++;
-
- $aUsr=array();
- $aUsrUid=array();
- $aAux1 = $oTasks->getGroupsOfTask($aRow['TAS_UID'], 1);
- foreach ($aAux1 as $value1) {
- $aAux2 = $oGroups->getUsersOfGroup($value1['GRP_UID']);
- foreach ($aAux2 as $value2) {
- if($aRow['USR_UID']!=$value2['USR_UID']) {
- if(!in_array($value2['USR_UID'], $aUsrUid)) {//var_dump($aRow['USR_UID'], $value2['USR_UID']);echo '
';
- $aAux = $oUser->load($value2['USR_UID']);
- $aUsr[$aAux['USR_FIRSTNAME'] . ' ' . $aAux['USR_LASTNAME']] = $aAux;
- $aUsrUid[]=$value2['USR_UID'];
- }
- }
- }
- }
-
- $aUsers=$oTasks->getUsersOfTask($aRow['TAS_UID'], 1);
- foreach($aUsers as $key => $value)
- {
- if($aRow['USR_UID']!=$value['USR_UID'])
- { if(!in_array($value['USR_UID'], $aUsrUid))
- $aUsr[$value['USR_FIRSTNAME'] . ' ' . $value['USR_LASTNAME']]=$value;
- }
- }
- ksort($aUsr);
- //$users='';
- //$users='';
-
- //$tpl->assign( "USERS", $users );
-
- $oDataset->next();
- }
- $tpl->gotoBlock('_ROOT');
- $tpl->assign( "US", $name );
- $tpl->assign( "ID_NO_REASSIGN", '-');
- $tpl->assign( "APP_UID", $_GET['APP_UID']);
- $tpl->assign( "DEL_INDEX", $_GET['DEL_INDEX']);
-
- $G_MAIN_MENU = 'processmaker';
- $G_SUB_MENU = 'cases';
- $G_ID_MENU_SELECTED = 'CASES';
- $G_ID_SUB_MENU_SELECTED = 'CASES_TO_REASSIGN';
- $G_PUBLISH = new Publisher;
- $G_PUBLISH->AddContent('template', '', '', '', $tpl);
- G::RenderPage('publish', 'blank');
-
-}
-catch (Exception $oException) {
- die($oException->getMessage());
-}
-?>
\ No newline at end of file
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+ global $RBAC;
+ switch ($RBAC->userCanAccess( 'PM_REASSIGNCASE' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ }
+
+ G::LoadSystem( 'templatePower' );
+ $tpl = new TemplatePower( PATH_TPL . "cases/cases_Reassign.html" );
+ $tpl->prepare();
+
+ require_once 'classes/model/AppDelegation.php';
+ $oCriteria = new Criteria( 'workflow' );
+ $oCriteria->add( AppDelegationPeer::APP_UID, $_GET['APP_UID'] );
+ $oCriteria->add( AppDelegationPeer::DEL_INDEX, $_GET['DEL_INDEX'] );
+ $oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null );
+ $oDataset = AppDelegationPeer::doSelectRS( $oCriteria );
+ $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+ $oDataset->next();
+ $c = 0;
+ G::LoadClass( 'tasks' );
+ $oTasks = new Tasks();
+ G::LoadClass( 'groups' );
+ $oGroups = new Groups();
+ require_once 'classes/model/Users.php';
+ $oUser = new Users();
+ $name = '';
+ while ($aRow = $oDataset->getRow()) {
+ $c ++;
+
+ $aUsr = array ();
+ $aUsrUid = array ();
+ $aAux1 = $oTasks->getGroupsOfTask( $aRow['TAS_UID'], 1 );
+ foreach ($aAux1 as $value1) {
+ $aAux2 = $oGroups->getUsersOfGroup( $value1['GRP_UID'] );
+ foreach ($aAux2 as $value2) {
+ if ($aRow['USR_UID'] != $value2['USR_UID']) {
+ if (! in_array( $value2['USR_UID'], $aUsrUid )) { //var_dump($aRow['USR_UID'], $value2['USR_UID']);echo '
';
+ $aAux = $oUser->load( $value2['USR_UID'] );
+ $aUsr[$aAux['USR_FIRSTNAME'] . ' ' . $aAux['USR_LASTNAME']] = $aAux;
+ $aUsrUid[] = $value2['USR_UID'];
+ }
+ }
+ }
+ }
+
+ $aUsers = $oTasks->getUsersOfTask( $aRow['TAS_UID'], 1 );
+ foreach ($aUsers as $key => $value) {
+ if ($aRow['USR_UID'] != $value['USR_UID']) {
+ if (! in_array( $value['USR_UID'], $aUsrUid ))
+ $aUsr[$value['USR_FIRSTNAME'] . ' ' . $value['USR_LASTNAME']] = $value;
+ }
+ }
+ ksort( $aUsr );
+ //$users='';
+ //$users='';
+
+
+ //$tpl->assign( "USERS", $users );
+
+
+ $oDataset->next();
+ }
+ $tpl->gotoBlock( '_ROOT' );
+ $tpl->assign( "US", $name );
+ $tpl->assign( "ID_NO_REASSIGN", '-' );
+ $tpl->assign( "APP_UID", $_GET['APP_UID'] );
+ $tpl->assign( "DEL_INDEX", $_GET['DEL_INDEX'] );
+
+ $G_MAIN_MENU = 'processmaker';
+ $G_SUB_MENU = 'cases';
+ $G_ID_MENU_SELECTED = 'CASES';
+ $G_ID_SUB_MENU_SELECTED = 'CASES_TO_REASSIGN';
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'template', '', '', '', $tpl );
+ G::RenderPage( 'publish', 'blank' );
+
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
+
diff --git a/workflow/engine/methods/cases/cases_ReassignByUser.php b/workflow/engine/methods/cases/cases_ReassignByUser.php
index 537df26da..f1f13df61 100755
--- a/workflow/engine/methods/cases/cases_ReassignByUser.php
+++ b/workflow/engine/methods/cases/cases_ReassignByUser.php
@@ -1,166 +1,150 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-
-/**
- * Reassign ByUser routines
- * Author Erik Amaru Ortiz
- */
-
-try {
- global $RBAC;
- switch ($RBAC->userCanAccess('PM_REASSIGNCASE')) {
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- }
-
- if (!isset($_GET['REASSIGN_USER'])) {
- $_GET['REASSIGN_USER'] = '';
- }
- $_GET['REASSIGN_BY'] = 2;
- $G_MAIN_MENU = 'processmaker';
- $G_SUB_MENU = 'cases';
- $G_ID_MENU_SELECTED = 'CASES';
- $G_ID_SUB_MENU_SELECTED = 'CASES_TO_REASSIGN';
- //////////////////
- ///SELECT USR_UID, CONCAT(USR_FIRSTNAME, ' ', USR_LASTNAME, ' (', USR_USERNAME, ')') AS USER_FULLNAME FROM USERS WHERE USR_STATUS <> 'CLOSED'//////
- require_once 'classes/model/Users.php';
- $oCriteria=new Criteria();
- $oCriteria->addSelectColumn(UsersPeer::USR_UID);
- $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
- $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
- $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
- $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
- $oCriteria->add(UsersPeer::USR_STATUS,'', Criteria::NOT_EQUAL);
- $oDataset=UsersPeer::doSelectRS($oCriteria);
- $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- ///////////////////////
- G::loadClass('configuration');
- $oConf = new Configurations;
- $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS','');
-
- $defaultOption = isset($oConf->aConfig['format'])? $oConf->aConfig['format']: '';
- $aUserInfo = array();
- $aUserInfo[] = array('USR_UID' => 'char','USER_FULLNAME' => 'char');
- while( $oDataset->next()){
- $aRow1 = $oDataset->getRow();
- $infoUser = G::getFormatUserList($defaultOption,$aRow1);
- $aUserInfo[]=array(
- 'USR_UID' => $aRow1['USR_UID'],
- 'USER_FULLNAME' => $infoUser
- );
- }
- global $_DBArray;
- $_DBArray['aUserInfo'] = $aUserInfo;
- $_SESSION['_DBArray'] = $_DBArray;
- //////////////////
- $G_PUBLISH = new Publisher;
- $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_ReassignBy', '', $_GET);
-
- $sUserToReassign = trim($_GET['REASSIGN_USER']);
-
- if ($_GET['REASSIGN_USER'] != '') {
-
- G::LoadClass('tasks');
- G::LoadClass('groups');
- $oTasks = new Tasks();
- $oGroups = new Groups();
- $oUser = new Users();
- G::LoadClass('case');
- $oCases = new Cases();
-
- list($oCriteriaToDo,$sXMLFile) = $oCases->getConditionCasesList('to_do', $sUserToReassign);
- list($oCriteriaDraft,$sXMLFile) = $oCases->getConditionCasesList('draft', $sUserToReassign);
-
- $aCasesList = Array();
-
- $oDataset = ApplicationPeer::doSelectRS($oCriteriaToDo);
- $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-
- while ( $oDataset->next() ) {
- array_push($aCasesList, $oDataset->getRow());
- }
-
- $oDataset = ApplicationPeer::doSelectRS($oCriteriaDraft);
- $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-
- while ( $oDataset->next() ) {
- array_push($aCasesList, $oDataset->getRow());
- }
-
- $filedNames = Array (
- "APP_UID",
- "APP_NUMBER",
- "APP_UPDATE_DATE",
- "DEL_PRIORITY",
- "DEL_INDEX",
- "TAS_UID",
- "DEL_INIT_DATE",
- "DEL_FINISH_DATE",
- "USR_UID",
- "APP_STATUS",
- "DEL_TASK_DUE_DATE",
- "APP_CURRENT_USER",
- "APP_TITLE",
- "APP_PRO_TITLE",
- "APP_TAS_TITLE",
- "APP_DEL_PREVIOUS_USER",
- );
-
- $aCasesList = array_merge(Array($filedNames), $aCasesList);
-
- // G::pr($aCasesList); die;
-
-
- require_once ( 'classes/class.xmlfield_InputPM.php' );
-
- global $_DBArray;
- $_DBArray['reassign_byuser'] = $aCasesList;
- $_SESSION['_DBArray'] = $_DBArray;
- G::LoadClass('ArrayPeer');
- $oCriteria = new Criteria('dbarray');
- $oCriteria->setDBArrayTable('reassign_byuser');
-
- $oHeadPublisher =& headPublisher::getSingleton();
- $oHeadPublisher->addScriptFile ( '/jscore/cases/reassignByUser.js' );
- $G_PUBLISH->ROWS_PER_PAGE = 12;
- $G_PUBLISH->AddContent('propeltable', 'cases/paged-table-reassigByUser', 'cases/cases_ToReassignByUserList', $oCriteria, Array('FROM_USR_UID'=>$sUserToReassign));
-
- }
-
- G::RenderPage('publish', 'blank');
-}
-catch (Exception $oException) {
- die($oException->getMessage());
-}
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+
+/**
+ * Reassign ByUser routines
+ * Author Erik Amaru Ortiz
+ */
+
+try {
+ global $RBAC;
+ switch ($RBAC->userCanAccess( 'PM_REASSIGNCASE' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ }
+
+ if (! isset( $_GET['REASSIGN_USER'] )) {
+ $_GET['REASSIGN_USER'] = '';
+ }
+ $_GET['REASSIGN_BY'] = 2;
+ $G_MAIN_MENU = 'processmaker';
+ $G_SUB_MENU = 'cases';
+ $G_ID_MENU_SELECTED = 'CASES';
+ $G_ID_SUB_MENU_SELECTED = 'CASES_TO_REASSIGN';
+ //////////////////
+ ///SELECT USR_UID, CONCAT(USR_FIRSTNAME, ' ', USR_LASTNAME, ' (', USR_USERNAME, ')') AS USER_FULLNAME FROM USERS WHERE USR_STATUS <> 'CLOSED'//////
+ require_once 'classes/model/Users.php';
+ $oCriteria = new Criteria();
+ $oCriteria->addSelectColumn( UsersPeer::USR_UID );
+ $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME );
+ $oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME );
+ $oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME );
+ $oCriteria->addSelectColumn( UsersPeer::USR_EMAIL );
+ $oCriteria->add( UsersPeer::USR_STATUS, '', Criteria::NOT_EQUAL );
+ $oDataset = UsersPeer::doSelectRS( $oCriteria );
+ $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+ ///////////////////////
+ G::loadClass( 'configuration' );
+ $oConf = new Configurations();
+ $oConf->loadConfig( $obj, 'ENVIRONMENT_SETTINGS', '' );
+
+ $defaultOption = isset( $oConf->aConfig['format'] ) ? $oConf->aConfig['format'] : '';
+ $aUserInfo = array ();
+ $aUserInfo[] = array ('USR_UID' => 'char','USER_FULLNAME' => 'char'
+ );
+ while ($oDataset->next()) {
+ $aRow1 = $oDataset->getRow();
+ $infoUser = G::getFormatUserList( $defaultOption, $aRow1 );
+ $aUserInfo[] = array ('USR_UID' => $aRow1['USR_UID'],'USER_FULLNAME' => $infoUser
+ );
+ }
+ global $_DBArray;
+ $_DBArray['aUserInfo'] = $aUserInfo;
+ $_SESSION['_DBArray'] = $_DBArray;
+ //////////////////
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_ReassignBy', '', $_GET );
+
+ $sUserToReassign = trim( $_GET['REASSIGN_USER'] );
+
+ if ($_GET['REASSIGN_USER'] != '') {
+
+ G::LoadClass( 'tasks' );
+ G::LoadClass( 'groups' );
+ $oTasks = new Tasks();
+ $oGroups = new Groups();
+ $oUser = new Users();
+ G::LoadClass( 'case' );
+ $oCases = new Cases();
+
+ list ($oCriteriaToDo, $sXMLFile) = $oCases->getConditionCasesList( 'to_do', $sUserToReassign );
+ list ($oCriteriaDraft, $sXMLFile) = $oCases->getConditionCasesList( 'draft', $sUserToReassign );
+
+ $aCasesList = Array ();
+
+ $oDataset = ApplicationPeer::doSelectRS( $oCriteriaToDo );
+ $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+
+ while ($oDataset->next()) {
+ array_push( $aCasesList, $oDataset->getRow() );
+ }
+
+ $oDataset = ApplicationPeer::doSelectRS( $oCriteriaDraft );
+ $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+
+ while ($oDataset->next()) {
+ array_push( $aCasesList, $oDataset->getRow() );
+ }
+
+ $filedNames = Array ("APP_UID","APP_NUMBER","APP_UPDATE_DATE","DEL_PRIORITY","DEL_INDEX","TAS_UID","DEL_INIT_DATE","DEL_FINISH_DATE","USR_UID","APP_STATUS","DEL_TASK_DUE_DATE","APP_CURRENT_USER","APP_TITLE","APP_PRO_TITLE","APP_TAS_TITLE","APP_DEL_PREVIOUS_USER"
+ );
+
+ $aCasesList = array_merge( Array ($filedNames
+ ), $aCasesList );
+
+ // G::pr($aCasesList); die;
+
+
+ require_once ('classes/class.xmlfield_InputPM.php');
+
+ global $_DBArray;
+ $_DBArray['reassign_byuser'] = $aCasesList;
+ $_SESSION['_DBArray'] = $_DBArray;
+ G::LoadClass( 'ArrayPeer' );
+ $oCriteria = new Criteria( 'dbarray' );
+ $oCriteria->setDBArrayTable( 'reassign_byuser' );
+
+ $oHeadPublisher = & headPublisher::getSingleton();
+ $oHeadPublisher->addScriptFile( '/jscore/cases/reassignByUser.js' );
+ $G_PUBLISH->ROWS_PER_PAGE = 12;
+ $G_PUBLISH->AddContent( 'propeltable', 'cases/paged-table-reassigByUser', 'cases/cases_ToReassignByUserList', $oCriteria, Array ('FROM_USR_UID' => $sUserToReassign
+ ) );
+
+ }
+
+ G::RenderPage( 'publish', 'blank' );
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
?>
-
\ No newline at end of file
+
+
diff --git a/workflow/engine/methods/cases/cases_Reassign_save.php b/workflow/engine/methods/cases/cases_Reassign_save.php
index 949e99c00..0b6620654 100755
--- a/workflow/engine/methods/cases/cases_Reassign_save.php
+++ b/workflow/engine/methods/cases/cases_Reassign_save.php
@@ -1,79 +1,75 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
- global $RBAC;
- switch ($RBAC->userCanAccess('PM_REASSIGNCASE')) {
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- }
- //print_r($_POST); die;
- G::LoadClass('case');
- $oCase = new Cases();
-
- if ($_POST['USERS'] != '') {
- $oCase->reassignCase($_POST['APP_UID'], $_POST['DEL_INDEX'], $_SESSION['USER_LOGGED'], $_POST['USERS']);
-
- }
-
- require_once 'classes/model/Users.php';
- $oUser = new Users();
- $aUser = $oUser->load($_POST['USERS']);
-
- $Fields=array();
-
- $Fields['USERS'] = $aUser['USR_FIRSTNAME'].' '.$aUser['USR_LASTNAME'].' ('.$aUser['USR_USERNAME'].')';
-
-
-
- G::LoadClass('case');
- $oCases=new Cases();
- $aCases=$oCases->loadCase($_POST['APP_UID'], $_POST['DEL_INDEX'] );
-
- $Fields['APP_NUMBER']=$aCases['APP_NUMBER'];
-
- $G_MAIN_MENU = 'processmaker';
- $G_SUB_MENU = 'cases';
- $G_ID_MENU_SELECTED = 'CASES';
- $G_ID_SUB_MENU_SELECTED = 'CASES_TO_REASSIGN';
- $G_PUBLISH = new Publisher;
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_Reassign.xml', '', $Fields, '');
- G::RenderPage( 'publish', 'blank' );
- //G::SendMessageText(G::LoadTranslation('ID_FINISHED'), 'info');
- //G::header('Location: cases_List');
-
-}
-catch (Exception $oException) {
- die($oException->getMessage());
-}
-
-?>
\ No newline at end of file
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+ global $RBAC;
+ switch ($RBAC->userCanAccess( 'PM_REASSIGNCASE' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ }
+ //print_r($_POST); die;
+ G::LoadClass( 'case' );
+ $oCase = new Cases();
+
+ if ($_POST['USERS'] != '') {
+ $oCase->reassignCase( $_POST['APP_UID'], $_POST['DEL_INDEX'], $_SESSION['USER_LOGGED'], $_POST['USERS'] );
+
+ }
+
+ require_once 'classes/model/Users.php';
+ $oUser = new Users();
+ $aUser = $oUser->load( $_POST['USERS'] );
+
+ $Fields = array ();
+
+ $Fields['USERS'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' (' . $aUser['USR_USERNAME'] . ')';
+
+ G::LoadClass( 'case' );
+ $oCases = new Cases();
+ $aCases = $oCases->loadCase( $_POST['APP_UID'], $_POST['DEL_INDEX'] );
+
+ $Fields['APP_NUMBER'] = $aCases['APP_NUMBER'];
+
+ $G_MAIN_MENU = 'processmaker';
+ $G_SUB_MENU = 'cases';
+ $G_ID_MENU_SELECTED = 'CASES';
+ $G_ID_SUB_MENU_SELECTED = 'CASES_TO_REASSIGN';
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Reassign.xml', '', $Fields, '' );
+ G::RenderPage( 'publish', 'blank' );
+ //G::SendMessageText(G::LoadTranslation('ID_FINISHED'), 'info');
+ //G::header('Location: cases_List');
+
+
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
+
diff --git a/workflow/engine/methods/cases/cases_Redirect.php b/workflow/engine/methods/cases/cases_Redirect.php
index c18ecc45c..908ac3db8 100755
--- a/workflow/engine/methods/cases/cases_Redirect.php
+++ b/workflow/engine/methods/cases/cases_Redirect.php
@@ -1,10 +1,10 @@
.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * along with this program. If not, see .
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
*/
/*
* Created on 19-03-2009
@@ -29,13 +28,12 @@
*/
require_once 'classes/model/AppDocument.php';
$oAppDocument = new AppDocument();
-$aFields = $oAppDocument->load($_GET['a']);
+$aFields = $oAppDocument->load( $_GET['a'] );
require_once 'classes/model/OutputDocument.php';
$oOutputDocument = new OutputDocument();
-$aOD = $oOutputDocument->load($aFields['DOC_UID']);
-$a = $_GET['a'];
-$ext = strtolower($aOD['OUT_DOC_GENERATE']);
+$aOD = $oOutputDocument->load( $aFields['DOC_UID'] );
+$a = $_GET['a'];
+$ext = strtolower( $aOD['OUT_DOC_GENERATE'] );
+G::header( 'location: cases_ShowOutputDocument?a=' . $a . '&ext=' . $ext );
-G::header('location: cases_ShowOutputDocument?a='.$a.'&ext='.$ext );
-?>
\ No newline at end of file
diff --git a/workflow/engine/methods/cases/cases_Resume.php b/workflow/engine/methods/cases/cases_Resume.php
index b075450ee..e34ad352a 100755
--- a/workflow/engine/methods/cases/cases_Resume.php
+++ b/workflow/engine/methods/cases/cases_Resume.php
@@ -1,97 +1,95 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
- /* Permissions */
- switch ($RBAC->userCanAccess('PM_CASES'))
- {
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- }
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+G::LoadClass( 'case' );
+
+/* GET , POST & $_SESSION Vars */
- /* Includes */
- G::LoadClass('case');
-
- /* GET , POST & $_SESSION Vars */
-
- /* Menues */
- $_SESSION['bNoShowSteps'] = true;
- $G_MAIN_MENU = 'processmaker';
- $G_SUB_MENU = 'caseOptions';
- $G_ID_MENU_SELECTED = 'CASES';
- $G_ID_SUB_MENU_SELECTED = '_';
-
- /* Prepare page before to show */
- $oCase = new Cases();
- $Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
- $participated = $oCase->userParticipatedInCase($_GET['APP_UID'], $_SESSION['USER_LOGGED']);
-
- if ($RBAC->userCanAccess('PM_ALLCASES') < 0 && $participated == 0) {
+/* Menues */
+$_SESSION['bNoShowSteps'] = true;
+$G_MAIN_MENU = 'processmaker';
+$G_SUB_MENU = 'caseOptions';
+$G_ID_MENU_SELECTED = 'CASES';
+$G_ID_SUB_MENU_SELECTED = '_';
+
+/* Prepare page before to show */
+$oCase = new Cases();
+$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
+$participated = $oCase->userParticipatedInCase( $_GET['APP_UID'], $_SESSION['USER_LOGGED'] );
+
+if ($RBAC->userCanAccess( 'PM_ALLCASES' ) < 0 && $participated == 0) {
/*if (strtoupper($Fields['APP_STATUS']) != 'COMPLETED') {
$oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'SHOW_MESSAGE');
- }*/
- $aMessage['MESSAGE'] = G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED');
- $G_PUBLISH = new Publisher();
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage);
- G::RenderPage('publishBlank', 'blank');
- die;
- }
- if (isset($aRow['APP_TYPE'])) {
- switch ($aRow['APP_TYPE']) {
- case 'PAUSE':
- $Fields['STATUS'] = ucfirst(strtolower(G::LoadTranslation('ID_PAUSED')));
- break;
- case 'CANCEL':
- $Fields['STATUS'] = ucfirst(strtolower(G::LoadTranslation('ID_CANCELLED')));
- break;
- }
-
+ }*/
+ $aMessage['MESSAGE'] = G::LoadTranslation( 'ID_NO_PERMISSION_NO_PARTICIPATED' );
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
+ G::RenderPage( 'publishBlank', 'blank' );
+ die();
+}
+if (isset( $aRow['APP_TYPE'] )) {
+ switch ($aRow['APP_TYPE']) {
+ case 'PAUSE':
+ $Fields['STATUS'] = ucfirst( strtolower( G::LoadTranslation( 'ID_PAUSED' ) ) );
+ break;
+ case 'CANCEL':
+ $Fields['STATUS'] = ucfirst( strtolower( G::LoadTranslation( 'ID_CANCELLED' ) ) );
+ break;
+ }
+
//$Fields['STATUS'] = $aRow['APP_TYPE'];
- }
-
- $actions = 'false';
- if( $_GET['action'] == 'paused')
- $actions = 'true';
-
- /* Render page */
- $oHeadPublisher =& headPublisher::getSingleton();
-
- $oHeadPublisher->addScriptCode("
+}
+
+$actions = 'false';
+if ($_GET['action'] == 'paused')
+ $actions = 'true';
+
+ /* Render page */
+$oHeadPublisher = & headPublisher::getSingleton();
+
+$oHeadPublisher->addScriptCode( "
if (typeof parent != 'undefined') {
if (parent.showCaseNavigatorPanel) {
parent.showCaseNavigatorPanel('{$Fields['APP_STATUS']}');
}
- }");
-
- $oHeadPublisher->addScriptCode('
+ }" );
+
+$oHeadPublisher->addScriptCode( '
var Cse = {};
Cse.panels = {};
var leimnud = new maborak();
@@ -102,20 +100,21 @@
leimnud.Package.Load("cases_Step",{Type:"file",Absolute:true,Path:"/jscore/cases/core/cases_Step.js"});
leimnud.Package.Load("processmap",{Type:"file",Absolute:true,Path:"/jscore/processmap/core/processmap.js"});
leimnud.exec(leimnud.fix.memoryLeak);
- ');
-
- require_once 'classes/model/Process.php';
-
- $objProc = new Process();
- $aProc = $objProc->load($Fields['PRO_UID' ] );
- $Fields['PRO_TITLE'] = $aProc['PRO_TITLE'];
-
- $objTask = new Task();
- $aTask = $objTask->load($Fields['TAS_UID' ] );
- $Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
-
- $oHeadPublisher =& headPublisher::getSingleton();
- $oHeadPublisher->addScriptFile('/jscore/cases/core/cases_Step.js');
- $G_PUBLISH = new Publisher;
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_Resume.xml', '', $Fields, '');
- G::RenderPage( 'publish', 'blank');
+ ' );
+
+require_once 'classes/model/Process.php';
+
+$objProc = new Process();
+$aProc = $objProc->load( $Fields['PRO_UID'] );
+$Fields['PRO_TITLE'] = $aProc['PRO_TITLE'];
+
+$objTask = new Task();
+$aTask = $objTask->load( $Fields['TAS_UID'] );
+$Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
+
+$oHeadPublisher = & headPublisher::getSingleton();
+$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );
+$G_PUBLISH = new Publisher();
+$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume.xml', '', $Fields, '' );
+G::RenderPage( 'publish', 'blank' );
+
diff --git a/workflow/engine/methods/cases/cases_Save.php b/workflow/engine/methods/cases/cases_Save.php
index 59326afad..7150134a7 100755
--- a/workflow/engine/methods/cases/cases_Save.php
+++ b/workflow/engine/methods/cases/cases_Save.php
@@ -1,76 +1,78 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
- /* Permissions */
- switch ($RBAC->userCanAccess('PM_CASES'))
- {
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+/* Permissions */
+switch ($RBAC->userCanAccess( 'PM_CASES' )) {
+ case - 2:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+
+ case - 1:
+ G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
+ G::header( 'location: ../login/login' );
+ die();
+ break;
+}
+
+/* Includes */
+G::LoadClass( 'case' );
+
+/* GET , POST & $_SESSION Vars */
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- }
-
- /* Includes */
- G::LoadClass('case');
-
- /* GET , POST & $_SESSION Vars */
-
- /* unset any variable, because we are starting a new case */
- if (isset($_SESSION['APPLICATION'])) unset($_SESSION['APPLICATION']);
- if (isset($_SESSION['PROCESS'])) unset($_SESSION['PROCESS']);
- if (isset($_SESSION['TASK'])) unset($_SESSION['TASK']);
- if (isset($_SESSION['INDEX'])) unset($_SESSION['INDEX']);
- if (isset($_SESSION['STEP_POSITION'])) unset($_SESSION['STEP_POSITION']);
-
- /* Process */
- try {
- $oCase = new Cases();
- $aData = $oCase->startCase( $_POST['form']['TAS_UID'], $_SESSION['USER_LOGGED'] );
- $_SESSION['APPLICATION'] = $aData['APPLICATION'];
- $_SESSION['INDEX'] = $aData['INDEX'];
- $_SESSION['PROCESS'] = $aData['PROCESS'];
- $_SESSION['TASK'] = $_POST['form']['TAS_UID'];
- $_SESSION['STEP_POSITION'] = 0;
-
- $_SESSION['CASES_REFRESH'] = true;
-
- $oCase = new Cases();
- $aNextStep = $oCase->getNextStep($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION']);
- $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep;
-
- G::header('location: ' . $aNextStep['PAGE']);
- }
- catch ( Exception $e ) {
- $_SESSION['G_MESSAGE'] = $e->getMessage();
- $_SESSION['G_MESSAGE_TYPE'] = 'error';
- G::header('location: cases_New' );
- }
-?>
+/* unset any variable, because we are starting a new case */
+if (isset( $_SESSION['APPLICATION'] ))
+ unset( $_SESSION['APPLICATION'] );
+if (isset( $_SESSION['PROCESS'] ))
+ unset( $_SESSION['PROCESS'] );
+if (isset( $_SESSION['TASK'] ))
+ unset( $_SESSION['TASK'] );
+if (isset( $_SESSION['INDEX'] ))
+ unset( $_SESSION['INDEX'] );
+if (isset( $_SESSION['STEP_POSITION'] ))
+ unset( $_SESSION['STEP_POSITION'] );
+
+ /* Process */
+try {
+ $oCase = new Cases();
+ $aData = $oCase->startCase( $_POST['form']['TAS_UID'], $_SESSION['USER_LOGGED'] );
+ $_SESSION['APPLICATION'] = $aData['APPLICATION'];
+ $_SESSION['INDEX'] = $aData['INDEX'];
+ $_SESSION['PROCESS'] = $aData['PROCESS'];
+ $_SESSION['TASK'] = $_POST['form']['TAS_UID'];
+ $_SESSION['STEP_POSITION'] = 0;
+
+ $_SESSION['CASES_REFRESH'] = true;
+
+ $oCase = new Cases();
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );
+ $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep;
+
+ G::header( 'location: ' . $aNextStep['PAGE'] );
+} catch (Exception $e) {
+ $_SESSION['G_MESSAGE'] = $e->getMessage();
+ $_SESSION['G_MESSAGE_TYPE'] = 'error';
+ G::header( 'location: cases_New' );
+}
+
diff --git a/workflow/engine/methods/cases/cases_SaveData.php b/workflow/engine/methods/cases/cases_SaveData.php
index d8a7315dd..e09482d7d 100755
--- a/workflow/engine/methods/cases/cases_SaveData.php
+++ b/workflow/engine/methods/cases/cases_SaveData.php
@@ -12,337 +12,309 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
+ * along with this program. If not, see .
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
*/
//validate the data post
+
try {
- if ($_GET['APP_UID'] !== $_SESSION ['APPLICATION']) {
- throw new Exception(G::LoadTranslation('ID_INVALID_APPLICATION_ID_MSG', array('{1}', G::LoadTranslation('ID_REOPEN'))));
- }
+ if ($_GET['APP_UID'] !== $_SESSION['APPLICATION']) {
+ throw new Exception( G::LoadTranslation( 'ID_INVALID_APPLICATION_ID_MSG', array ('{1}',G::LoadTranslation( 'ID_REOPEN' )
+ ) ) );
+ }
- $oForm = new Form($_SESSION["PROCESS"] . "/" . $_GET["UID"], PATH_DYNAFORM);
- $oForm->validatePost();
+ $oForm = new Form( $_SESSION["PROCESS"] . "/" . $_GET["UID"], PATH_DYNAFORM );
+ $oForm->validatePost();
- //Includes
- G::LoadClass("case");
+ //Includes
+ G::LoadClass( "case" );
- //Load the variables
- $oCase = new Cases();
- $oCase->thisIsTheCurrentUser($_SESSION["APPLICATION"], $_SESSION["INDEX"], $_SESSION["USER_LOGGED"], "REDIRECT", "cases_List");
- $Fields = $oCase->loadCase($_SESSION["APPLICATION"]);
+ //Load the variables
+ $oCase = new Cases();
+ $oCase->thisIsTheCurrentUser( $_SESSION["APPLICATION"], $_SESSION["INDEX"], $_SESSION["USER_LOGGED"], "REDIRECT", "cases_List" );
+ $Fields = $oCase->loadCase( $_SESSION["APPLICATION"] );
- $Fields["APP_DATA"] = array_merge($Fields["APP_DATA"], G::getSystemConstants());
- $Fields["APP_DATA"] = array_merge($Fields["APP_DATA"], $_POST["form"]);
+ $Fields["APP_DATA"] = array_merge( $Fields["APP_DATA"], G::getSystemConstants() );
+ $Fields["APP_DATA"] = array_merge( $Fields["APP_DATA"], $_POST["form"] );
- #here we must verify if is a debug session
- $trigger_debug_session = $_SESSION ['TRIGGER_DEBUG'] ['ISSET']; #here we must verify if is a debugg session
+ #here we must verify if is a debug session
+ $trigger_debug_session = $_SESSION['TRIGGER_DEBUG']['ISSET']; #here we must verify if is a debugg session
+ #trigger debug routines...
- #trigger debug routines...
+ //cleaning debug variables
+ $_SESSION['TRIGGER_DEBUG']['ERRORS'] = Array ();
+ $_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
+ $triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER' );
- //cleaning debug variables
- $_SESSION ['TRIGGER_DEBUG'] ['ERRORS'] = Array ();
- $_SESSION ['TRIGGER_DEBUG'] ['DATA'] = Array ();
- $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_NAMES'] = Array ();
- $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_VALUES'] = Array ();
+ $_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] = count( $triggers );
+ $_SESSION['TRIGGER_DEBUG']['TIME'] = 'AFTER';
+ if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = $triggers;
+ }
- $triggers = $oCase->loadTriggers ( $_SESSION ['TASK'], 'DYNAFORM', $_GET ['UID'], 'AFTER' );
+ if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {
+ //Execute after triggers - Start
+ $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
+ //Execute after triggers - End
+ }
- $_SESSION ['TRIGGER_DEBUG'] ['NUM_TRIGGERS'] = count ( $triggers );
- $_SESSION ['TRIGGER_DEBUG'] ['TIME'] = 'AFTER';
- if ($_SESSION ['TRIGGER_DEBUG'] ['NUM_TRIGGERS'] != 0) {
- $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_NAMES'] = $oCase->getTriggerNames ( $triggers );
- $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_VALUES'] = $triggers;
- }
-
- if ($_SESSION ['TRIGGER_DEBUG'] ['NUM_TRIGGERS'] != 0) {
- //Execute after triggers - Start
- $Fields ['APP_DATA'] = $oCase->ExecuteTriggers ( $_SESSION ['TASK'], 'DYNAFORM', $_GET ['UID'], 'AFTER', $Fields ['APP_DATA'] );
- //Execute after triggers - End
- }
-
- //save data in PM Tables if necessary
- $newValues = array ();
- foreach ( $_POST ['form'] as $sField => $sAux ) {
- if (isset ( $oForm->fields [$sField]->pmconnection ) && isset ( $oForm->fields [$sField]->pmfield )) {
- if (($oForm->fields [$sField]->pmconnection != '') && ($oForm->fields [$sField]->pmfield != '')) {
- if (isset ( $oForm->fields [$oForm->fields [$sField]->pmconnection] )) {
- require_once PATH_CORE . 'classes' . PATH_SEP . 'model' . PATH_SEP . 'AdditionalTables.php';
- $oAdditionalTables = new AdditionalTables ( );
- try {
- $aData = $oAdditionalTables->load ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, true );
- } catch ( Exception $oError ) {
- $aData = array ('FIELDS' => array () );
- }
- $aKeys = array ();
- $aAux = explode ( '|', $oForm->fields [$oForm->fields [$sField]->pmconnection]->keys );
- $i = 0;
- $aValues = array ();
- foreach ( $aData ['FIELDS'] as $aField ) {
- if ($aField ['FLD_KEY'] == '1') {
- $aKeys [$aField ['FLD_NAME']] = (isset ( $aAux [$i] ) ? G::replaceDataField ( $aAux [$i], $Fields ['APP_DATA'] ) : '');
- $i ++;
- }
- if ($aField ['FLD_NAME'] == $oForm->fields [$sField]->pmfield) {
- $aValues [$aField ['FLD_NAME']] = $Fields ['APP_DATA'] [$sField];
- } else {
- $aValues [$aField ['FLD_NAME']] = '';
- }
- }
- try {
- $aRow = $oAdditionalTables->getDataTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aKeys );
- } catch ( Exception $oError ) {
- $aRow = false;
- }
- if ($aRow) {
- foreach ( $aValues as $sKey => $sValue ) {
- if ($sKey != $oForm->fields [$sField]->pmfield) {
- $aValues [$sKey] = $aRow [$sKey];
- }
- }
- try {
- $oAdditionalTables->updateDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aValues );
- } catch ( Exception $oError ) {
- //Nothing
- }
- }
- else {
- try {
- // assembling the field list in order to save the data ina new record of a pm table
- if (empty($newValues)){
- $newValues = $aValues;
- }
- else {
- foreach ($aValues as $aValueKey=>$aValueCont) {
- if (trim($newValues[$aValueKey])==''){
- $newValues[$aValueKey] = $aValueCont;
- }
+ //save data in PM Tables if necessary
+ $newValues = array ();
+ foreach ($_POST['form'] as $sField => $sAux) {
+ if (isset( $oForm->fields[$sField]->pmconnection ) && isset( $oForm->fields[$sField]->pmfield )) {
+ if (($oForm->fields[$sField]->pmconnection != '') && ($oForm->fields[$sField]->pmfield != '')) {
+ if (isset( $oForm->fields[$oForm->fields[$sField]->pmconnection] )) {
+ require_once PATH_CORE . 'classes' . PATH_SEP . 'model' . PATH_SEP . 'AdditionalTables.php';
+ $oAdditionalTables = new AdditionalTables();
+ try {
+ $aData = $oAdditionalTables->load( $oForm->fields[$oForm->fields[$sField]->pmconnection]->pmtable, true );
+ } catch (Exception $oError) {
+ $aData = array ('FIELDS' => array ()
+ );
+ }
+ $aKeys = array ();
+ $aAux = explode( '|', $oForm->fields[$oForm->fields[$sField]->pmconnection]->keys );
+ $i = 0;
+ $aValues = array ();
+ foreach ($aData['FIELDS'] as $aField) {
+ if ($aField['FLD_KEY'] == '1') {
+ $aKeys[$aField['FLD_NAME']] = (isset( $aAux[$i] ) ? G::replaceDataField( $aAux[$i], $Fields['APP_DATA'] ) : '');
+ $i ++;
+ }
+ if ($aField['FLD_NAME'] == $oForm->fields[$sField]->pmfield) {
+ $aValues[$aField['FLD_NAME']] = $Fields['APP_DATA'][$sField];
+ } else {
+ $aValues[$aField['FLD_NAME']] = '';
+ }
+ }
+ try {
+ $aRow = $oAdditionalTables->getDataTable( $oForm->fields[$oForm->fields[$sField]->pmconnection]->pmtable, $aKeys );
+ } catch (Exception $oError) {
+ $aRow = false;
+ }
+ if ($aRow) {
+ foreach ($aValues as $sKey => $sValue) {
+ if ($sKey != $oForm->fields[$sField]->pmfield) {
+ $aValues[$sKey] = $aRow[$sKey];
+ }
+ }
+ try {
+ $oAdditionalTables->updateDataInTable( $oForm->fields[$oForm->fields[$sField]->pmconnection]->pmtable, $aValues );
+ } catch (Exception $oError) {
+ //Nothing
+ }
+ } else {
+ try {
+ // assembling the field list in order to save the data ina new record of a pm table
+ if (empty( $newValues )) {
+ $newValues = $aValues;
+ } else {
+ foreach ($aValues as $aValueKey => $aValueCont) {
+ if (trim( $newValues[$aValueKey] ) == '') {
+ $newValues[$aValueKey] = $aValueCont;
+ }
+ }
+ }
+ //$oAdditionalTables->saveDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aValues );
+ } catch (Exception $oError) {
+ //Nothing
+ }
+ }
}
- }
- //$oAdditionalTables->saveDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aValues );
- } catch ( Exception $oError ) {
- //Nothing
}
- }
}
- }
}
- }
- //save data
- $aData = array ();
- $aData ['APP_NUMBER'] = $Fields ['APP_NUMBER'];
- $aData ['APP_PROC_STATUS'] = $Fields ['APP_PROC_STATUS'];
- $aData ['APP_DATA'] = $Fields ['APP_DATA'];
- $aData ['DEL_INDEX'] = $_SESSION ['INDEX'];
- $aData ['TAS_UID'] = $_SESSION ['TASK'];
- $aData ['CURRENT_DYNAFORM'] = $_GET ['UID'];
- $aData ['USER_UID'] = $_SESSION ['USER_LOGGED'];
- $aData ['APP_STATUS'] = $Fields ['APP_STATUS'];
- $aData ['PRO_UID'] = $_SESSION ['PROCESS'];
+ //save data
+ $aData = array ();
+ $aData['APP_NUMBER'] = $Fields['APP_NUMBER'];
+ $aData['APP_PROC_STATUS'] = $Fields['APP_PROC_STATUS'];
+ $aData['APP_DATA'] = $Fields['APP_DATA'];
+ $aData['DEL_INDEX'] = $_SESSION['INDEX'];
+ $aData['TAS_UID'] = $_SESSION['TASK'];
+ $aData['CURRENT_DYNAFORM'] = $_GET['UID'];
+ $aData['USER_UID'] = $_SESSION['USER_LOGGED'];
+ $aData['APP_STATUS'] = $Fields['APP_STATUS'];
+ $aData['PRO_UID'] = $_SESSION['PROCESS'];
- $oCase->updateCase ( $_SESSION ['APPLICATION'], $aData );
+ $oCase->updateCase( $_SESSION['APPLICATION'], $aData );
- // saving the data ina pm table in case that is a new record
- if (!empty($newValues)) {
- $id = key($newValues);
- if (! $oAdditionalTables->updateDataInTable( $oForm->fields [$oForm->fields[$id]->pmconnection]->pmtable, $newValues) ) {//<--This is to know if it is a new registry on the PM Table
- $oAdditionalTables->saveDataInTable( $oForm->fields [$oForm->fields[$id]->pmconnection]->pmtable, $newValues);
+ // saving the data ina pm table in case that is a new record
+ if (! empty( $newValues )) {
+ $id = key( $newValues );
+ if (! $oAdditionalTables->updateDataInTable( $oForm->fields[$oForm->fields[$id]->pmconnection]->pmtable, $newValues )) { //<--This is to know if it is a new registry on the PM Table
+ $oAdditionalTables->saveDataInTable( $oForm->fields[$oForm->fields[$id]->pmconnection]->pmtable, $newValues );
+ }
}
- }
- //Save files
- require_once ("classes/model/AppDocument.php");
+ //Save files
+ require_once ("classes/model/AppDocument.php");
- if (isset($_FILES["form"]["name"]) && count($_FILES["form"]["name"]) > 0) {
- $arrayField = array();
- $arrayFileName = array();
- $arrayFileTmpName = array();
- $arrayFileError = array();
- $i = 0;
+ if (isset( $_FILES["form"]["name"] ) && count( $_FILES["form"]["name"] ) > 0) {
+ $arrayField = array ();
+ $arrayFileName = array ();
+ $arrayFileTmpName = array ();
+ $arrayFileError = array ();
+ $i = 0;
- foreach ($_FILES["form"]["name"] as $fieldIndex => $fieldValue) {
- if (is_array($fieldValue)) {
- foreach ($fieldValue as $index => $value) {
- if (is_array($value)) {
- foreach ($value as $grdFieldIndex => $grdFieldValue) {
- $arrayField[$i]["grdName"] = $fieldIndex;
- $arrayField[$i]["grdFieldName"] = $grdFieldIndex;
- $arrayField[$i]["index"] = $index;
+ foreach ($_FILES["form"]["name"] as $fieldIndex => $fieldValue) {
+ if (is_array( $fieldValue )) {
+ foreach ($fieldValue as $index => $value) {
+ if (is_array( $value )) {
+ foreach ($value as $grdFieldIndex => $grdFieldValue) {
+ $arrayField[$i]["grdName"] = $fieldIndex;
+ $arrayField[$i]["grdFieldName"] = $grdFieldIndex;
+ $arrayField[$i]["index"] = $index;
- $arrayFileName[$i] = $_FILES["form"]["name"][$fieldIndex][$index][$grdFieldIndex];
- $arrayFileTmpName[$i] = $_FILES["form"]["tmp_name"][$fieldIndex][$index][$grdFieldIndex];
- $arrayFileError[$i] = $_FILES["form"]["error"][$fieldIndex][$index][$grdFieldIndex];
- $i = $i + 1;
- }
- }
- }
- } else {
- $arrayField[$i] = $fieldIndex;
+ $arrayFileName[$i] = $_FILES["form"]["name"][$fieldIndex][$index][$grdFieldIndex];
+ $arrayFileTmpName[$i] = $_FILES["form"]["tmp_name"][$fieldIndex][$index][$grdFieldIndex];
+ $arrayFileError[$i] = $_FILES["form"]["error"][$fieldIndex][$index][$grdFieldIndex];
+ $i = $i + 1;
+ }
+ }
+ }
+ } else {
+ $arrayField[$i] = $fieldIndex;
- $arrayFileName[$i] = $_FILES["form"]["name"][$fieldIndex];
- $arrayFileTmpName[$i] = $_FILES["form"]["tmp_name"][$fieldIndex];
- $arrayFileError[$i] = $_FILES["form"]["error"][$fieldIndex];
- $i = $i + 1;
- }
- }
+ $arrayFileName[$i] = $_FILES["form"]["name"][$fieldIndex];
+ $arrayFileTmpName[$i] = $_FILES["form"]["tmp_name"][$fieldIndex];
+ $arrayFileError[$i] = $_FILES["form"]["error"][$fieldIndex];
+ $i = $i + 1;
+ }
+ }
- if (count($arrayField) > 0) {
- for ($i = 0; $i <= count($arrayField) - 1; $i++) {
- if ($arrayFileError[$i] == 0) {
- $indocUid = null;
- $fieldName = null;
+ if (count( $arrayField ) > 0) {
+ for ($i = 0; $i <= count( $arrayField ) - 1; $i ++) {
+ if ($arrayFileError[$i] == 0) {
+ $indocUid = null;
+ $fieldName = null;
- if (is_array($arrayField[$i])) {
- if (isset($_POST["INPUTS"][$arrayField[$i]["grdName"]][$arrayField[$i]["grdFieldName"]]) &&
- !empty($_POST["INPUTS"][$arrayField[$i]["grdName"]][$arrayField[$i]["grdFieldName"]])
- ) {
- $indocUid = $_POST["INPUTS"][$arrayField[$i]["grdName"]][$arrayField[$i]["grdFieldName"]];
- }
+ if (is_array( $arrayField[$i] )) {
+ if (isset( $_POST["INPUTS"][$arrayField[$i]["grdName"]][$arrayField[$i]["grdFieldName"]] ) && ! empty( $_POST["INPUTS"][$arrayField[$i]["grdName"]][$arrayField[$i]["grdFieldName"]] )) {
+ $indocUid = $_POST["INPUTS"][$arrayField[$i]["grdName"]][$arrayField[$i]["grdFieldName"]];
+ }
- $fieldName = $arrayField[$i]["grdName"] . "_" . $arrayField[$i]["index"] . "_" . $arrayField[$i]["grdFieldName"];
- } else {
- if (isset($_POST["INPUTS"][$arrayField[$i]]) &&
- !empty($_POST["INPUTS"][$arrayField[$i]])
- ) {
- $indocUid = $_POST["INPUTS"][$arrayField[$i]];
- }
+ $fieldName = $arrayField[$i]["grdName"] . "_" . $arrayField[$i]["index"] . "_" . $arrayField[$i]["grdFieldName"];
+ } else {
+ if (isset( $_POST["INPUTS"][$arrayField[$i]] ) && ! empty( $_POST["INPUTS"][$arrayField[$i]] )) {
+ $indocUid = $_POST["INPUTS"][$arrayField[$i]];
+ }
- $fieldName = $arrayField[$i];
- }
+ $fieldName = $arrayField[$i];
+ }
- if ($indocUid != null) {
- require_once ("classes/model/AppFolder.php");
- require_once ("classes/model/InputDocument.php");
+ if ($indocUid != null) {
+ require_once ("classes/model/AppFolder.php");
+ require_once ("classes/model/InputDocument.php");
- $oInputDocument = new InputDocument();
- $aID = $oInputDocument->load($indocUid);
+ $oInputDocument = new InputDocument();
+ $aID = $oInputDocument->load( $indocUid );
- //Get the Custom Folder ID (create if necessary)
- $oFolder = new AppFolder();
+ //Get the Custom Folder ID (create if necessary)
+ $oFolder = new AppFolder();
- $aFields = array (
- "APP_UID" => $_SESSION["APPLICATION"],
- "DEL_INDEX" => $_SESSION["INDEX"],
- "USR_UID" => $_SESSION["USER_LOGGED"],
- "DOC_UID" => $indocUid,
- "APP_DOC_TYPE" => "INPUT",
- "APP_DOC_CREATE_DATE" => date("Y-m-d H:i:s"),
- "APP_DOC_COMMENT" => "",
- "APP_DOC_TITLE" => "",
- "APP_DOC_FILENAME" => $arrayFileName[$i],
- "FOLDER_UID" => $oFolder->createFromPath($aID["INP_DOC_DESTINATION_PATH"]),
- "APP_DOC_TAGS" => $oFolder->parseTags($aID["INP_DOC_TAGS"]),
- "APP_DOC_FIELDNAME" => $fieldName
- );
- } else {
- $aFields = array (
- "APP_UID" => $_SESSION["APPLICATION"],
- "DEL_INDEX" => $_SESSION["INDEX"],
- "USR_UID" => $_SESSION["USER_LOGGED"],
- "DOC_UID" => -1,
- "APP_DOC_TYPE" => "ATTACHED",
- "APP_DOC_CREATE_DATE" => date("Y-m-d H:i:s"),
- "APP_DOC_COMMENT" => "",
- "APP_DOC_TITLE" => "",
- "APP_DOC_FILENAME" => $arrayFileName[$i],
- "APP_DOC_FIELDNAME" => $fieldName
- );
- }
+ $aFields = array ("APP_UID" => $_SESSION["APPLICATION"],"DEL_INDEX" => $_SESSION["INDEX"],"USR_UID" => $_SESSION["USER_LOGGED"],"DOC_UID" => $indocUid,"APP_DOC_TYPE" => "INPUT","APP_DOC_CREATE_DATE" => date( "Y-m-d H:i:s" ),"APP_DOC_COMMENT" => "","APP_DOC_TITLE" => "","APP_DOC_FILENAME" => $arrayFileName[$i],"FOLDER_UID" => $oFolder->createFromPath( $aID["INP_DOC_DESTINATION_PATH"] ),"APP_DOC_TAGS" => $oFolder->parseTags( $aID["INP_DOC_TAGS"] ),"APP_DOC_FIELDNAME" => $fieldName
+ );
+ } else {
+ $aFields = array ("APP_UID" => $_SESSION["APPLICATION"],"DEL_INDEX" => $_SESSION["INDEX"],"USR_UID" => $_SESSION["USER_LOGGED"],"DOC_UID" => - 1,"APP_DOC_TYPE" => "ATTACHED","APP_DOC_CREATE_DATE" => date( "Y-m-d H:i:s" ),"APP_DOC_COMMENT" => "","APP_DOC_TITLE" => "","APP_DOC_FILENAME" => $arrayFileName[$i],"APP_DOC_FIELDNAME" => $fieldName
+ );
+ }
- $oAppDocument = new AppDocument();
- $oAppDocument->create($aFields);
+ $oAppDocument = new AppDocument();
+ $oAppDocument->create( $aFields );
- $iDocVersion = $oAppDocument->getDocVersion();
- $sAppDocUid = $oAppDocument->getAppDocUid();
- $aInfo = pathinfo($oAppDocument->getAppDocFilename());
- $sExtension = ((isset($aInfo["extension"]))? $aInfo["extension"] : "");
- $sPathName = PATH_DOCUMENT . $_SESSION ["APPLICATION"] . PATH_SEP;
- $sFileName = $sAppDocUid . "_" . $iDocVersion . "." . $sExtension;
+ $iDocVersion = $oAppDocument->getDocVersion();
+ $sAppDocUid = $oAppDocument->getAppDocUid();
+ $aInfo = pathinfo( $oAppDocument->getAppDocFilename() );
+ $sExtension = ((isset( $aInfo["extension"] )) ? $aInfo["extension"] : "");
+ $sPathName = PATH_DOCUMENT . $_SESSION["APPLICATION"] . PATH_SEP;
+ $sFileName = $sAppDocUid . "_" . $iDocVersion . "." . $sExtension;
- G::uploadFile($arrayFileTmpName[$i], $sPathName, $sFileName);
+ G::uploadFile( $arrayFileTmpName[$i], $sPathName, $sFileName );
- //Plugin Hook PM_UPLOAD_DOCUMENT for upload document
- $oPluginRegistry = &PMPluginRegistry::getSingleton();
+ //Plugin Hook PM_UPLOAD_DOCUMENT for upload document
+ $oPluginRegistry = &PMPluginRegistry::getSingleton();
- if ($oPluginRegistry->existsTrigger(PM_UPLOAD_DOCUMENT) && class_exists("uploadDocumentData")) {
- $triggerDetail = $oPluginRegistry->getTriggerInfo(PM_UPLOAD_DOCUMENT);
- $documentData = new uploadDocumentData($_SESSION["APPLICATION"], $_SESSION["USER_LOGGED"], $sPathName . $sFileName, $aFields["APP_DOC_FILENAME"], $sAppDocUid, $iDocVersion);
- $uploadReturn = $oPluginRegistry->executeTriggers(PM_UPLOAD_DOCUMENT, $documentData);
+ if ($oPluginRegistry->existsTrigger( PM_UPLOAD_DOCUMENT ) && class_exists( "uploadDocumentData" )) {
+ $triggerDetail = $oPluginRegistry->getTriggerInfo( PM_UPLOAD_DOCUMENT );
+ $documentData = new uploadDocumentData( $_SESSION["APPLICATION"], $_SESSION["USER_LOGGED"], $sPathName . $sFileName, $aFields["APP_DOC_FILENAME"], $sAppDocUid, $iDocVersion );
+ $uploadReturn = $oPluginRegistry->executeTriggers( PM_UPLOAD_DOCUMENT, $documentData );
- if ($uploadReturn) {
- $aFields["APP_DOC_PLUGIN"] = $triggerDetail->sNamespace;
+ if ($uploadReturn) {
+ $aFields["APP_DOC_PLUGIN"] = $triggerDetail->sNamespace;
- if (!isset($aFields["APP_DOC_UID"])) {
- $aFields["APP_DOC_UID"] = $sAppDocUid;
- }
+ if (! isset( $aFields["APP_DOC_UID"] )) {
+ $aFields["APP_DOC_UID"] = $sAppDocUid;
+ }
- if (!isset($aFields["DOC_VERSION"])) {
- $aFields["DOC_VERSION"] = $iDocVersion;
- }
+ if (! isset( $aFields["DOC_VERSION"] )) {
+ $aFields["DOC_VERSION"] = $iDocVersion;
+ }
- $oAppDocument->update($aFields);
+ $oAppDocument->update( $aFields );
- unlink($sPathName . $sFileName);
- }
- }
- }
- }
- }
- }
+ unlink( $sPathName . $sFileName );
+ }
+ }
+ }
+ }
+ }
+ }
- //Go to the next step
- $aNextStep = $oCase->getNextStep ( $_SESSION ['PROCESS'], $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['STEP_POSITION'] );
- if (isset ( $_GET ['_REFRESH_'] )) {
- G::header ( 'location: ' . $_SERVER ['HTTP_REFERER'] );
- die ();
- }
+ //Go to the next step
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );
+ if (isset( $_GET['_REFRESH_'] )) {
+ G::header( 'location: ' . $_SERVER['HTTP_REFERER'] );
+ die();
+ }
- $_SESSION ['STEP_POSITION'] = $aNextStep ['POSITION'];
- $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep ['PAGE'];
- $debuggerAvailable = true;
+ $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
+ $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep['PAGE'];
+ $debuggerAvailable = true;
- if (isset($_SESSION['current_ux']) && $_SESSION['current_ux'] == 'SIMPLIFIED') {
- $debuggerAvailable = false;
- }
+ if (isset( $_SESSION['current_ux'] ) && $_SESSION['current_ux'] == 'SIMPLIFIED') {
+ $debuggerAvailable = false;
+ }
- if ($trigger_debug_session && $debuggerAvailable) {
- $_SESSION ['TRIGGER_DEBUG'] ['BREAKPAGE'] = $aNextStep ['PAGE'];
- $aNextStep ['PAGE'] = $aNextStep ['PAGE'] . '&breakpoint=triggerdebug';
- }
+ if ($trigger_debug_session && $debuggerAvailable) {
+ $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
+ $aNextStep['PAGE'] = $aNextStep['PAGE'] . '&breakpoint=triggerdebug';
+ }
- $oForm->validatePost ();
- $oJSON = new Services_JSON ( );
- $_POST ['__notValidateThisFields__'] = (isset($_POST ['__notValidateThisFields__']) && $_POST ['__notValidateThisFields__']!='')?$_POST ['__notValidateThisFields__']:$_POST ['DynaformRequiredFields'];
- if ($missing_req_values = $oForm->validateRequiredFields ( $_POST ['form'], $oJSON->decode ( stripslashes ( $_POST ['__notValidateThisFields__'] ) ) )) {
- $_POST ['next_step'] = $aNextStep;
- $_POST ['previous_step'] = $oCase->getPreviousStep ( $_SESSION ['PROCESS'], $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['STEP_POSITION'] );
- $_POST ['req_val'] = $missing_req_values;
- $G_PUBLISH = new Publisher ( );
- $G_PUBLISH->AddContent ( 'view', 'cases/missRequiredFields' );
- G::RenderPage ( 'publish', 'blank' );
- exit ( 0 );
- }
+ $oForm->validatePost();
+ $oJSON = new Services_JSON();
+ $_POST['__notValidateThisFields__'] = (isset( $_POST['__notValidateThisFields__'] ) && $_POST['__notValidateThisFields__'] != '') ? $_POST['__notValidateThisFields__'] : $_POST['DynaformRequiredFields'];
+ if ($missing_req_values = $oForm->validateRequiredFields( $_POST['form'], $oJSON->decode( stripslashes( $_POST['__notValidateThisFields__'] ) ) )) {
+ $_POST['next_step'] = $aNextStep;
+ $_POST['previous_step'] = $oCase->getPreviousStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );
+ $_POST['req_val'] = $missing_req_values;
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent( 'view', 'cases/missRequiredFields' );
+ G::RenderPage( 'publish', 'blank' );
+ exit( 0 );
+ }
- G::header ( 'location: ' . $aNextStep ['PAGE'] );
+ G::header( 'location: ' . $aNextStep['PAGE'] );
+} catch (Exception $e) {
+ $G_PUBLISH = new Publisher();
+ $aMessage = array ();
+ $aMessage['MESSAGE'] = $e->getMessage();
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
+ G::RenderPage( 'publish', 'blank' );
+ die();
}
-catch (Exception $e) {
- $G_PUBLISH = new Publisher;
- $aMessage = array();
- $aMessage['MESSAGE'] = $e->getMessage();
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
- G::RenderPage( 'publish', 'blank' );
- die;
-}
\ No newline at end of file
+
diff --git a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php
index 9a759b179..0ee4d00eb 100755
--- a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php
+++ b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php
@@ -1,57 +1,55 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
- //validate the data post
- $oForm = new Form($_SESSION['PROCESS']. '/' . $_GET['UID'], PATH_DYNAFORM);
- $oForm->validatePost();
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+//validate the data post
+$oForm = new Form( $_SESSION['PROCESS'] . '/' . $_GET['UID'], PATH_DYNAFORM );
+$oForm->validatePost();
+
+/* Includes */
+G::LoadClass( 'case' );
+
+//load the variables
+$oCase = new Cases();
+$Fields = $oCase->loadCase( $_SESSION['APPLICATION'] );
+$Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], $_POST['form'] );
+
+//save data
+$aData = array ();
+$aData['APP_NUMBER'] = $Fields['APP_NUMBER'];
+$aData['APP_PROC_STATUS'] = $Fields['APP_PROC_STATUS'];
+$aData['APP_DATA'] = $Fields['APP_DATA'];
+$aData['DEL_INDEX'] = $_SESSION['INDEX'];
+$aData['TAS_UID'] = $_SESSION['TASK'];
+$aData['CURRENT_DYNAFORM'] = $_GET['UID'];
+$aData['PRO_UID'] = $Fields['PRO_UID'];
+$aData['USER_UID'] = $_SESSION['USER_LOGGED'];
+$aData['APP_STATUS'] = $Fields['APP_STATUS'];
+
+//$aData = $oCase->loadCase( $_SESSION['APPLICATION'] );
+$oCase->updateCase( $_SESSION['APPLICATION'], $aData );
+
+//go to the next step
+$aNextStep = $oCase->getNextSupervisorStep( $_SESSION['PROCESS'], $_SESSION['STEP_POSITION'] );
+$_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
+G::header( 'location: cases_StepToRevise?DYN_UID=' . $aNextStep['UID'] . '&APP_UID=' . $_SESSION['APPLICATION'] . '&DEL_INDEX=' . $_SESSION['INDEX'] );
- /* Includes */
- G::LoadClass('case');
-
- //load the variables
- $oCase = new Cases();
- $Fields = $oCase->loadCase( $_SESSION['APPLICATION'] );
- $Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], $_POST['form']);
-
- //save data
- $aData = array();
- $aData['APP_NUMBER'] = $Fields['APP_NUMBER'];
- $aData['APP_PROC_STATUS'] = $Fields['APP_PROC_STATUS'];
- $aData['APP_DATA'] = $Fields['APP_DATA'];
- $aData['DEL_INDEX'] = $_SESSION['INDEX'];
- $aData['TAS_UID'] = $_SESSION['TASK'];
- $aData['CURRENT_DYNAFORM'] = $_GET['UID'];
- $aData['PRO_UID'] = $Fields['PRO_UID'];
- $aData['USER_UID'] = $_SESSION['USER_LOGGED'];
- $aData['APP_STATUS'] = $Fields['APP_STATUS'];
-
- //$aData = $oCase->loadCase( $_SESSION['APPLICATION'] );
- $oCase->updateCase( $_SESSION['APPLICATION'], $aData );
-
- //go to the next step
- $aNextStep = $oCase->getNextSupervisorStep($_SESSION['PROCESS'], $_SESSION['STEP_POSITION']);
- $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
- G::header('location: cases_StepToRevise?DYN_UID='.$aNextStep['UID'].'&APP_UID='.$_SESSION['APPLICATION'].'&DEL_INDEX='.$_SESSION['INDEX']);
-
-
\ No newline at end of file
diff --git a/workflow/engine/methods/cases/cases_SaveDocument.php b/workflow/engine/methods/cases/cases_SaveDocument.php
index 26024ec7b..8a4f43c9e 100755
--- a/workflow/engine/methods/cases/cases_SaveDocument.php
+++ b/workflow/engine/methods/cases/cases_SaveDocument.php
@@ -1,297 +1,251 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
- //try {
-
- //First review if there is no error with the uploaded document
- if ((isset($_FILES['form']))&&($_FILES['form']['error']['APP_DOC_FILENAME'] != 0)) {
- $code=$_FILES['form']['error']['APP_DOC_FILENAME'];
- switch ($code) {
- case UPLOAD_ERR_INI_SIZE:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_INI_SIZE');
- break;
- case UPLOAD_ERR_FORM_SIZE:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_FORM_SIZE');
- break;
- case UPLOAD_ERR_PARTIAL:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_PARTIAL');
- break;
- case UPLOAD_ERR_NO_FILE:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_NO_FILE');
- break;
- case UPLOAD_ERR_NO_TMP_DIR:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_NO_TMP_DIR');
- break;
- case UPLOAD_ERR_CANT_WRITE:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_CANT_WRITE');
- break;
- case UPLOAD_ERR_EXTENSION:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_EXTENSION');
- break;
-
- default:
- $message = G::LoadTranslation('ID_UPLOAD_ERR_UNKNOWN');
- break;
- }
- G::SendMessageText($message, "ERROR");
- $backUrlObj=explode("sys".SYS_SYS,$_SERVER['HTTP_REFERER']);
- G::header("location: "."/sys".SYS_SYS.$backUrlObj[1]);
- die;
- }
-
-
- $docUid=$_POST['form']['DOC_UID'];
- $appDocUid=$_POST['form']['APP_DOC_UID'];
- $docVersion=$_POST['form']['docVersion'];
- $actionType=$_POST['form']['actionType'];
-
-
- //load the variables
- G::LoadClass('case');
- $oCase = new Cases();
- $oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List');
- $Fields = $oCase->loadCase($_SESSION['APPLICATION']);
- $Fields['APP_DATA'] = array_merge($Fields['APP_DATA'], G::getSystemConstants());
-
- #trigger debug routines...
-
- //cleaning debug variables
- $_SESSION['TRIGGER_DEBUG']['ERRORS'] = Array();
- $_SESSION['TRIGGER_DEBUG']['DATA'] = Array();
- $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array();
- $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array();
-
- $triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'INPUT_DOCUMENT', $_GET['UID'], 'AFTER');
-
- $_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] = count($triggers);
- $_SESSION['TRIGGER_DEBUG']['TIME'] = 'AFTER';
- if($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0){
- $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = $oCase->getTriggerNames($triggers);
- $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = $triggers;
- }
-
- if( $_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0 ) {
- //Execute after triggers - Start
- $Fields['APP_DATA'] = $oCase->ExecuteTriggers ( $_SESSION['TASK'], 'INPUT_DOCUMENT', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+//try {
+
+
+//First review if there is no error with the uploaded document
+if ((isset( $_FILES['form'] )) && ($_FILES['form']['error']['APP_DOC_FILENAME'] != 0)) {
+ $code = $_FILES['form']['error']['APP_DOC_FILENAME'];
+ switch ($code) {
+ case UPLOAD_ERR_INI_SIZE:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_INI_SIZE' );
+ break;
+ case UPLOAD_ERR_FORM_SIZE:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_FORM_SIZE' );
+ break;
+ case UPLOAD_ERR_PARTIAL:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_PARTIAL' );
+ break;
+ case UPLOAD_ERR_NO_FILE:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_NO_FILE' );
+ break;
+ case UPLOAD_ERR_NO_TMP_DIR:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_NO_TMP_DIR' );
+ break;
+ case UPLOAD_ERR_CANT_WRITE:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_CANT_WRITE' );
+ break;
+ case UPLOAD_ERR_EXTENSION:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_EXTENSION' );
+ break;
+
+ default:
+ $message = G::LoadTranslation( 'ID_UPLOAD_ERR_UNKNOWN' );
+ break;
+ }
+ G::SendMessageText( $message, "ERROR" );
+ $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] );
+ G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] );
+ die();
+}
+
+$docUid = $_POST['form']['DOC_UID'];
+$appDocUid = $_POST['form']['APP_DOC_UID'];
+$docVersion = $_POST['form']['docVersion'];
+$actionType = $_POST['form']['actionType'];
+
+//load the variables
+G::LoadClass( 'case' );
+$oCase = new Cases();
+$oCase->thisIsTheCurrentUser( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List' );
+$Fields = $oCase->loadCase( $_SESSION['APPLICATION'] );
+$Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], G::getSystemConstants() );
+
+#trigger debug routines...
+
+
+//cleaning debug variables
+$_SESSION['TRIGGER_DEBUG']['ERRORS'] = Array ();
+$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
+$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
+$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
+
+$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'INPUT_DOCUMENT', $_GET['UID'], 'AFTER' );
+
+$_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] = count( $triggers );
+$_SESSION['TRIGGER_DEBUG']['TIME'] = 'AFTER';
+if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
+ $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = $triggers;
+}
+
+if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {
+ //Execute after triggers - Start
+ $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'INPUT_DOCUMENT', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
//Execute after triggers - End
- }
-
-
- //save data
- $aData = array();
- $aData['APP_NUMBER'] = $Fields['APP_NUMBER'];
- $aData['APP_PROC_STATUS'] = $Fields['APP_PROC_STATUS'];
- $aData['APP_DATA'] = $Fields['APP_DATA'];
- $aData['DEL_INDEX'] = $_SESSION['INDEX'];
- $aData['TAS_UID'] = $_SESSION['TASK'];
- //$aData = $oCase->loadCase($_SESSION['APPLICATION']);
- $oCase->updateCase( $_SESSION['APPLICATION'], $aData );
-
- //save info
-
- require_once ( "classes/model/AppDocument.php" );
- require_once ('classes/model/AppFolder.php');
- require_once ('classes/model/InputDocument.php');
-
- $oInputDocument = new InputDocument();
- $aID = $oInputDocument->load($_GET['UID']);
-
-
- $oAppDocument = new AppDocument();
-
-
- //Get the Custom Folder ID (create if necessary)
- $oFolder=new AppFolder();
- $folderId=$oFolder->createFromPath($aID['INP_DOC_DESTINATION_PATH']);
-
- //Tags
- $fileTags=$oFolder->parseTags($aID['INP_DOC_TAGS']);
-
- switch($actionType){
- case "R": //replace
- $aFields = array('APP_DOC_UID' => $appDocUid,
- 'APP_UID' => $_SESSION['APPLICATION'],
- 'DOC_VERSION' => $docVersion,
- 'DEL_INDEX' => $_SESSION['INDEX'],
- 'USR_UID' => $_SESSION['USER_LOGGED'],
- 'DOC_UID' => $docUid,
- 'APP_DOC_TYPE' => $_POST['form']['APP_DOC_TYPE'],
- 'APP_DOC_CREATE_DATE' => date('Y-m-d H:i:s'),
- 'APP_DOC_COMMENT' => isset($_POST['form']['APP_DOC_COMMENT']) ? $_POST['form']['APP_DOC_COMMENT'] : '',
- 'APP_DOC_TITLE' => '',
- 'APP_DOC_FILENAME' => isset($_FILES['form']['name']['APP_DOC_FILENAME']) ? $_FILES['form']['name']['APP_DOC_FILENAME'] : '',
- 'FOLDER_UID' => $folderId,
- 'APP_DOC_TAGS' => $fileTags);
-
-
- $oAppDocument->update($aFields);
- break;
- case "NV": //New Version
-
-
- $aFields = array('APP_DOC_UID' => $appDocUid,
- 'APP_UID' => $_SESSION['APPLICATION'],
- 'DEL_INDEX' => $_SESSION['INDEX'],
- 'USR_UID' => $_SESSION['USER_LOGGED'],
- 'DOC_UID' => $docUid,
- 'APP_DOC_TYPE' => $_POST['form']['APP_DOC_TYPE'],
- 'APP_DOC_CREATE_DATE' => date('Y-m-d H:i:s'),
- 'APP_DOC_COMMENT' => isset($_POST['form']['APP_DOC_COMMENT']) ? $_POST['form']['APP_DOC_COMMENT'] : '',
- 'APP_DOC_TITLE' => '',
- 'APP_DOC_FILENAME' => isset($_FILES['form']['name']['APP_DOC_FILENAME']) ? $_FILES['form']['name']['APP_DOC_FILENAME'] : '',
- 'FOLDER_UID' => $folderId,
- 'APP_DOC_TAGS' => $fileTags);
-
- $oAppDocument->create($aFields);
- break;
- default: //New
- $aFields = array(
- 'APP_UID' => $_SESSION['APPLICATION'],
- 'DEL_INDEX' => $_SESSION['INDEX'],
- 'USR_UID' => $_SESSION['USER_LOGGED'],
- 'DOC_UID' => $docUid,
- 'APP_DOC_TYPE' => $_POST['form']['APP_DOC_TYPE'],
- 'APP_DOC_CREATE_DATE' => date('Y-m-d H:i:s'),
- 'APP_DOC_COMMENT' => isset($_POST['form']['APP_DOC_COMMENT']) ? $_POST['form']['APP_DOC_COMMENT'] : '',
- 'APP_DOC_TITLE' => '',
- 'APP_DOC_FILENAME' => isset($_FILES['form']['name']['APP_DOC_FILENAME']) ? $_FILES['form']['name']['APP_DOC_FILENAME'] : '',
- 'FOLDER_UID' => $folderId,
- 'APP_DOC_TAGS' => $fileTags);
-
-
- $oAppDocument->create($aFields);
- break;
- }
-
-
- $sAppDocUid = $oAppDocument->getAppDocUid();
- $iDocVersion = $oAppDocument->getDocVersion();
- $info = pathinfo( $oAppDocument->getAppDocFilename() );
- $ext = (isset($info['extension']) ? $info['extension'] : '');
-
- //save the file
- if (!empty($_FILES['form'])) {
- if ($_FILES['form']['error']['APP_DOC_FILENAME'] == 0) {
- $sPathName = PATH_DOCUMENT . $_SESSION['APPLICATION'] . PATH_SEP;
- $sFileName = $sAppDocUid . "_".$iDocVersion. '.' . $ext;
- G::uploadFile($_FILES['form']['tmp_name']['APP_DOC_FILENAME'], $sPathName, $sFileName );
-
+}
+
+//save data
+$aData = array ();
+$aData['APP_NUMBER'] = $Fields['APP_NUMBER'];
+$aData['APP_PROC_STATUS'] = $Fields['APP_PROC_STATUS'];
+$aData['APP_DATA'] = $Fields['APP_DATA'];
+$aData['DEL_INDEX'] = $_SESSION['INDEX'];
+$aData['TAS_UID'] = $_SESSION['TASK'];
+//$aData = $oCase->loadCase($_SESSION['APPLICATION']);
+$oCase->updateCase( $_SESSION['APPLICATION'], $aData );
+
+//save info
+
+
+require_once ("classes/model/AppDocument.php");
+require_once ('classes/model/AppFolder.php');
+require_once ('classes/model/InputDocument.php');
+
+$oInputDocument = new InputDocument();
+$aID = $oInputDocument->load( $_GET['UID'] );
+
+$oAppDocument = new AppDocument();
+
+//Get the Custom Folder ID (create if necessary)
+$oFolder = new AppFolder();
+$folderId = $oFolder->createFromPath( $aID['INP_DOC_DESTINATION_PATH'] );
+
+//Tags
+$fileTags = $oFolder->parseTags( $aID['INP_DOC_TAGS'] );
+
+switch ($actionType) {
+ case "R": //replace
+ $aFields = array ('APP_DOC_UID' => $appDocUid,'APP_UID' => $_SESSION['APPLICATION'],'DOC_VERSION' => $docVersion,'DEL_INDEX' => $_SESSION['INDEX'],'USR_UID' => $_SESSION['USER_LOGGED'],'DOC_UID' => $docUid,'APP_DOC_TYPE' => $_POST['form']['APP_DOC_TYPE'],'APP_DOC_CREATE_DATE' => date( 'Y-m-d H:i:s' ),'APP_DOC_COMMENT' => isset( $_POST['form']['APP_DOC_COMMENT'] ) ? $_POST['form']['APP_DOC_COMMENT'] : '','APP_DOC_TITLE' => '','APP_DOC_FILENAME' => isset( $_FILES['form']['name']['APP_DOC_FILENAME'] ) ? $_FILES['form']['name']['APP_DOC_FILENAME'] : '','FOLDER_UID' => $folderId,'APP_DOC_TAGS' => $fileTags
+ );
+
+ $oAppDocument->update( $aFields );
+ break;
+ case "NV": //New Version
+
+
+ $aFields = array ('APP_DOC_UID' => $appDocUid,'APP_UID' => $_SESSION['APPLICATION'],'DEL_INDEX' => $_SESSION['INDEX'],'USR_UID' => $_SESSION['USER_LOGGED'],'DOC_UID' => $docUid,'APP_DOC_TYPE' => $_POST['form']['APP_DOC_TYPE'],'APP_DOC_CREATE_DATE' => date( 'Y-m-d H:i:s' ),'APP_DOC_COMMENT' => isset( $_POST['form']['APP_DOC_COMMENT'] ) ? $_POST['form']['APP_DOC_COMMENT'] : '','APP_DOC_TITLE' => '','APP_DOC_FILENAME' => isset( $_FILES['form']['name']['APP_DOC_FILENAME'] ) ? $_FILES['form']['name']['APP_DOC_FILENAME'] : '','FOLDER_UID' => $folderId,'APP_DOC_TAGS' => $fileTags
+ );
+
+ $oAppDocument->create( $aFields );
+ break;
+ default: //New
+ $aFields = array ('APP_UID' => $_SESSION['APPLICATION'],'DEL_INDEX' => $_SESSION['INDEX'],'USR_UID' => $_SESSION['USER_LOGGED'],'DOC_UID' => $docUid,'APP_DOC_TYPE' => $_POST['form']['APP_DOC_TYPE'],'APP_DOC_CREATE_DATE' => date( 'Y-m-d H:i:s' ),'APP_DOC_COMMENT' => isset( $_POST['form']['APP_DOC_COMMENT'] ) ? $_POST['form']['APP_DOC_COMMENT'] : '','APP_DOC_TITLE' => '','APP_DOC_FILENAME' => isset( $_FILES['form']['name']['APP_DOC_FILENAME'] ) ? $_FILES['form']['name']['APP_DOC_FILENAME'] : '','FOLDER_UID' => $folderId,'APP_DOC_TAGS' => $fileTags
+ );
+
+ $oAppDocument->create( $aFields );
+ break;
+}
+
+$sAppDocUid = $oAppDocument->getAppDocUid();
+$iDocVersion = $oAppDocument->getDocVersion();
+$info = pathinfo( $oAppDocument->getAppDocFilename() );
+$ext = (isset( $info['extension'] ) ? $info['extension'] : '');
+
+//save the file
+if (! empty( $_FILES['form'] )) {
+ if ($_FILES['form']['error']['APP_DOC_FILENAME'] == 0) {
+ $sPathName = PATH_DOCUMENT . $_SESSION['APPLICATION'] . PATH_SEP;
+ $sFileName = $sAppDocUid . "_" . $iDocVersion . '.' . $ext;
+ G::uploadFile( $_FILES['form']['tmp_name']['APP_DOC_FILENAME'], $sPathName, $sFileName );
+
//Plugin Hook PM_UPLOAD_DOCUMENT for upload document
- $oPluginRegistry =& PMPluginRegistry::getSingleton();
- if ( $oPluginRegistry->existsTrigger ( PM_UPLOAD_DOCUMENT ) && class_exists ('uploadDocumentData' ) ) {
- $triggerDetail=$oPluginRegistry->getTriggerInfo( PM_UPLOAD_DOCUMENT );
- $oData['APP_UID'] = $_SESSION['APPLICATION'];
- $documentData = new uploadDocumentData (
- $_SESSION['APPLICATION'],
- $_SESSION['USER_LOGGED'],
- $sPathName . $sFileName,
- $aFields['APP_DOC_FILENAME'],
- $sAppDocUid,
- $iDocVersion
- );
-
- $uploadReturn=$oPluginRegistry->executeTriggers ( PM_UPLOAD_DOCUMENT , $documentData );
- if($uploadReturn){
- $aFields['APP_DOC_PLUGIN']=$triggerDetail->sNamespace;
- if(!isset($aFields['APP_DOC_UID'])){
- $aFields['APP_DOC_UID']=$sAppDocUid;
- }
- if(!isset($aFields['DOC_VERSION'])){
- $aFields['DOC_VERSION']=$iDocVersion;
- }
- //$oAppDocument1 = new AppDocument();
- //G::pr($aFields);die;
- $oAppDocument->update($aFields);
- unlink ( $sPathName . $sFileName );
- }
- }
- //end plugin
- }
- }
-
- //go to the next step
- //if (!isset($_POST['form']['MORE'])) {
- if (false) {
- $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION']);
- $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
-
- if($_SESSION['TRIGGER_DEBUG']['ISSET']){
- $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
- G::header('location: ' . $aNextStep['PAGE'].'&breakpoint=triggerdebug');
- die;
- }
-
- G::header('location: ' . $aNextStep['PAGE']);
- die;
- }
- else {
- if (isset($_SERVER['HTTP_REFERER'])) {
- if ($_SERVER['HTTP_REFERER'] != '') {
-
- if($_SESSION['TRIGGER_DEBUG']['ISSET']){
- $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $_SERVER['HTTP_REFERER'];
- G::header('location: ' . $_SERVER['HTTP_REFERER'].'&breakpoint=triggerdebug');
- die;
- }
-
- G::header('location: ' . $_SERVER['HTTP_REFERER']);
- die;
- }
- else {
- $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] - 1);
- $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
-
- if($_SESSION['TRIGGER_DEBUG']['ISSET']){
- $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
- G::header('location: ' . $aNextStep['PAGE'].'&breakpoint=triggerdebug');
- die;
- }
-
- G::header('location: ' . $aNextStep['PAGE']);
- die;
- }
- }
- else {
- $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] - 1);
- $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
-
- if($_SESSION['TRIGGER_DEBUG']['ISSET']){
- $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
- G::header('location: ' . $aNextStep['PAGE'].'&breakpoint=triggerdebug');
- die;
- }
-
- G::header('location: ' . $aNextStep['PAGE']);
- die;
- }
- }
- $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep;
+ $oPluginRegistry = & PMPluginRegistry::getSingleton();
+ if ($oPluginRegistry->existsTrigger( PM_UPLOAD_DOCUMENT ) && class_exists( 'uploadDocumentData' )) {
+ $triggerDetail = $oPluginRegistry->getTriggerInfo( PM_UPLOAD_DOCUMENT );
+ $oData['APP_UID'] = $_SESSION['APPLICATION'];
+ $documentData = new uploadDocumentData( $_SESSION['APPLICATION'], $_SESSION['USER_LOGGED'], $sPathName . $sFileName, $aFields['APP_DOC_FILENAME'], $sAppDocUid, $iDocVersion );
+
+ $uploadReturn = $oPluginRegistry->executeTriggers( PM_UPLOAD_DOCUMENT, $documentData );
+ if ($uploadReturn) {
+ $aFields['APP_DOC_PLUGIN'] = $triggerDetail->sNamespace;
+ if (! isset( $aFields['APP_DOC_UID'] )) {
+ $aFields['APP_DOC_UID'] = $sAppDocUid;
+ }
+ if (! isset( $aFields['DOC_VERSION'] )) {
+ $aFields['DOC_VERSION'] = $iDocVersion;
+ }
+ //$oAppDocument1 = new AppDocument();
+ //G::pr($aFields);die;
+ $oAppDocument->update( $aFields );
+ unlink( $sPathName . $sFileName );
+ }
+ }
+ //end plugin
+ }
+}
+
+//go to the next step
+//if (!isset($_POST['form']['MORE'])) {
+if (false) {
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );
+ $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
+
+ if ($_SESSION['TRIGGER_DEBUG']['ISSET']) {
+ $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
+ G::header( 'location: ' . $aNextStep['PAGE'] . '&breakpoint=triggerdebug' );
+ die();
+ }
+
+ G::header( 'location: ' . $aNextStep['PAGE'] );
+ die();
+} else {
+ if (isset( $_SERVER['HTTP_REFERER'] )) {
+ if ($_SERVER['HTTP_REFERER'] != '') {
+
+ if ($_SESSION['TRIGGER_DEBUG']['ISSET']) {
+ $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $_SERVER['HTTP_REFERER'];
+ G::header( 'location: ' . $_SERVER['HTTP_REFERER'] . '&breakpoint=triggerdebug' );
+ die();
+ }
+
+ G::header( 'location: ' . $_SERVER['HTTP_REFERER'] );
+ die();
+ } else {
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] - 1 );
+ $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
+
+ if ($_SESSION['TRIGGER_DEBUG']['ISSET']) {
+ $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
+ G::header( 'location: ' . $aNextStep['PAGE'] . '&breakpoint=triggerdebug' );
+ die();
+ }
+
+ G::header( 'location: ' . $aNextStep['PAGE'] );
+ die();
+ }
+ } else {
+ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] - 1 );
+ $_SESSION['STEP_POSITION'] = $aNextStep['POSITION'];
+
+ if ($_SESSION['TRIGGER_DEBUG']['ISSET']) {
+ $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE'];
+ G::header( 'location: ' . $aNextStep['PAGE'] . '&breakpoint=triggerdebug' );
+ die();
+ }
+
+ G::header( 'location: ' . $aNextStep['PAGE'] );
+ die();
+ }
+}
+$_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep;
/*
} catch ( Exception $e ) {
-
+
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage( 'publish' );
- }*/
\ No newline at end of file
+ }*/
+
diff --git a/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php b/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php
index 015504f20..2fdefdadf 100755
--- a/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php
+++ b/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php
@@ -1,71 +1,77 @@
-getCaseSchedulerPlugins();
-$selectedPlugin="";
-if((isset($_REQUEST['plg_uid']))&&($_REQUEST['plg_uid']!="")) $selectedPlugin=$_REQUEST['plg_uid'];
-if(!empty($activePluginsForCaseScheduler)){
- echo '';
- //G::pr($activePlugnsForCaseScheduler);
-}
-}
-function pluginCaseSchedulerForm(){
- if(!isset($_REQUEST ['selectedOption'])) die;
- $G_PUBLISH = new Publisher;
- $params=explode("--",$_REQUEST ['selectedOption']);
- $oPluginRegistry =& PMPluginRegistry::getSingleton();
- $activePluginsForCaseScheduler=$oPluginRegistry->getCaseSchedulerPlugins();
-
- foreach($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail){
- if(($caseSchedulerPluginDetail->sNamespace==$params[0])&&($caseSchedulerPluginDetail->sActionId==$params[1])){
- $caseSchedulerSelected=$caseSchedulerPluginDetail;
- }
- }
- if((isset($caseSchedulerSelected))&&(is_object($caseSchedulerSelected))){
- //Render the form
- if((isset($_REQUEST['sch_uid']))&&($_REQUEST['sch_uid']!="")){
- //$oData=$oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionGetFields, array("SCH_UID"=>$_REQUEST['sch_uid']) );
- $oData=array("SCH_UID"=>$_REQUEST['sch_uid'],"PRO_UID"=>$_REQUEST['pro_uid']);
- }else{
- $oData=array("PRO_UID"=>$_REQUEST['pro_uid']);
- }
-
- $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionForm, $oData );
- }
-
-}
-?>
\ No newline at end of file
+$functionParams = isset( $_REQUEST['params'] ) ? $_REQUEST['params'] : array ();
+$functionName( $functionParams );
+
+function searchSavedJob ($schUid)
+{
+
+}
+
+function pluginsList ()
+{
+ $oPluginRegistry = & PMPluginRegistry::getSingleton();
+ $activePluginsForCaseScheduler = $oPluginRegistry->getCaseSchedulerPlugins();
+ $selectedPlugin = "";
+ if ((isset( $_REQUEST['plg_uid'] )) && ($_REQUEST['plg_uid'] != ""))
+ $selectedPlugin = $_REQUEST['plg_uid'];
+ if (! empty( $activePluginsForCaseScheduler )) {
+ echo '';
+ //G::pr($activePlugnsForCaseScheduler);
+ }
+}
+
+function pluginCaseSchedulerForm ()
+{
+ if (! isset( $_REQUEST['selectedOption'] ))
+ die();
+ $G_PUBLISH = new Publisher();
+ $params = explode( "--", $_REQUEST['selectedOption'] );
+ $oPluginRegistry = & PMPluginRegistry::getSingleton();
+ $activePluginsForCaseScheduler = $oPluginRegistry->getCaseSchedulerPlugins();
+
+ foreach ($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail) {
+ if (($caseSchedulerPluginDetail->sNamespace == $params[0]) && ($caseSchedulerPluginDetail->sActionId == $params[1])) {
+ $caseSchedulerSelected = $caseSchedulerPluginDetail;
+ }
+ }
+ if ((isset( $caseSchedulerSelected )) && (is_object( $caseSchedulerSelected ))) {
+ //Render the form
+ if ((isset( $_REQUEST['sch_uid'] )) && ($_REQUEST['sch_uid'] != "")) {
+ //$oData=$oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionGetFields, array("SCH_UID"=>$_REQUEST['sch_uid']) );
+ $oData = array ("SCH_UID" => $_REQUEST['sch_uid'],"PRO_UID" => $_REQUEST['pro_uid']
+ );
+ } else {
+ $oData = array ("PRO_UID" => $_REQUEST['pro_uid']
+ );
+ }
+ $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionForm, $oData );
+ }
+}
+
diff --git a/workflow/engine/methods/cases/cases_SchedulerGetProcesses.php b/workflow/engine/methods/cases/cases_SchedulerGetProcesses.php
index 41841a8f2..e83de4f19 100755
--- a/workflow/engine/methods/cases/cases_SchedulerGetProcesses.php
+++ b/workflow/engine/methods/cases/cases_SchedulerGetProcesses.php
@@ -1,38 +1,33 @@
-
-';
-
-require_once ("classes/model/TaskPeer.php");
-require_once ("classes/model/ProcessPeer.php");
-require_once ("classes/model/TaskUserPeer.php");
-G::LoadClass ( 'Content' );
-
- $oCriteria = new Criteria('workflow');
- $oCriteria->addSelectColumn(ProcessPeer::PRO_UID);
- $oCriteria->setDistinct();
- $oCriteria->addSelectColumn(ContentPeer::CON_VALUE);
- $oCriteria->addJoin(ProcessPeer::PRO_UID, TaskPeer::PRO_UID, Criteria::LEFT_JOIN);
- $oCriteria->addJoin(ProcessPeer::PRO_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN);
- $oCriteria->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN);
- $oCriteria->add(TaskUserPeer::USR_UID, $oUserId);
- $oCriteria->add(TaskPeer::TAS_START, 'true');
- $oCriteria->add(ContentPeer::CON_CATEGORY, 'PRO_TITLE');
- $oCriteria->add(ContentPeer::CON_LANG, SYS_LANG);
- $oCriteria->addAnd(ProcessPeer::PRO_UID, $process);
-
- $resultSet = TaskUserPeer::doSelectRS($oCriteria);
- while ($resultSet->next()){
- $row = $resultSet->getRow();
-
- echo $row[1];
- echo "";
+require_once ("classes/model/TaskPeer.php");
+require_once ("classes/model/ProcessPeer.php");
+require_once ("classes/model/TaskUserPeer.php");
+G::LoadClass( 'Content' );
+
+$oCriteria = new Criteria( 'workflow' );
+$oCriteria->addSelectColumn( ProcessPeer::PRO_UID );
+$oCriteria->setDistinct();
+$oCriteria->addSelectColumn( ContentPeer::CON_VALUE );
+$oCriteria->addJoin( ProcessPeer::PRO_UID, TaskPeer::PRO_UID, Criteria::LEFT_JOIN );
+$oCriteria->addJoin( ProcessPeer::PRO_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN );
+$oCriteria->addJoin( TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN );
+$oCriteria->add( TaskUserPeer::USR_UID, $oUserId );
+$oCriteria->add( TaskPeer::TAS_START, 'true' );
+$oCriteria->add( ContentPeer::CON_CATEGORY, 'PRO_TITLE' );
+$oCriteria->add( ContentPeer::CON_LANG, SYS_LANG );
+$oCriteria->addAnd( ProcessPeer::PRO_UID, $process );
+
+$resultSet = TaskUserPeer::doSelectRS( $oCriteria );
+while ($resultSet->next()) {
+ $row = $resultSet->getRow();
+
+ echo $row[1];
+ echo "";
//var_dump($row);
- }
-
-//echo "";
-?>
-
-
+}
+//echo "";
+
diff --git a/workflow/engine/methods/cases/cases_SchedulerGetTasks.php b/workflow/engine/methods/cases/cases_SchedulerGetTasks.php
index 43f43717b..135aa6139 100755
--- a/workflow/engine/methods/cases/cases_SchedulerGetTasks.php
+++ b/workflow/engine/methods/cases/cases_SchedulerGetTasks.php
@@ -1,25 +1,23 @@
-
\ No newline at end of file
+
+
diff --git a/workflow/engine/methods/cases/cases_SchedulerValidateUser.php b/workflow/engine/methods/cases/cases_SchedulerValidateUser.php
index 146c805f9..322710d6c 100755
--- a/workflow/engine/methods/cases/cases_SchedulerValidateUser.php
+++ b/workflow/engine/methods/cases/cases_SchedulerValidateUser.php
@@ -1,71 +1,70 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-
-
-/**
- * process_SchedulerValidate_User
- * validates if the username and password are valid data and if the user assigned
- * to the process and task has the rights and persmissions required to create a cron task
- */
-
-
-$sWS_USER = trim($_REQUEST['USERNAME']);
-$sWS_PASS = trim($_REQUEST['PASSWORD']);
-
-if (G::is_https ())
- $http = 'https://';
- else
- $http = 'http://';
-
-$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2';
-@$client = new SoapClient ( $endpoint );
-
-$user = $sWS_USER;
-$pass = $sWS_PASS;
-
-$params = array('userid' => $user, 'password' => $pass);
-$result = $client->__SoapCall('login', array($params));
-
-if ($result->status_code == 0) {
- if (!class_exists('Users')) {
- require ("classes/model/UsersPeer.php");
- }
- $oCriteria = new Criteria('workflow');
- $oCriteria->addSelectColumn('USR_UID');
- $oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER);
- $resultSet = UsersPeer::doSelectRS($oCriteria);
- $resultSet->next();
- $user_id = $resultSet->getRow();
- $result->message = $user_id[0];
-
- G::LoadClass('case');
- $caseInstance = new Cases();
- if (!$caseInstance->canStartCase($result->message, $_REQUEST['PRO_UID'])) {
- $result->status_code = -1000;
- $result->message = G::LoadTranslation('ID_USER_CASES_NOT_START');
- }
-}
-
-die(G::json_encode($result));
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+
+/**
+ * process_SchedulerValidate_User
+ * validates if the username and password are valid data and if the user assigned
+ * to the process and task has the rights and persmissions required to create a cron task
+ */
+
+$sWS_USER = trim( $_REQUEST['USERNAME'] );
+$sWS_PASS = trim( $_REQUEST['PASSWORD'] );
+
+if (G::is_https()) {
+ $http = 'https://';
+} else {
+ $http = 'http://';
+}
+
+$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2';
+@$client = new SoapClient( $endpoint );
+
+$user = $sWS_USER;
+$pass = $sWS_PASS;
+
+$params = array ('userid' => $user,'password' => $pass);
+$result = $client->__SoapCall( 'login', array ($params) );
+
+if ($result->status_code == 0) {
+ if (! class_exists( 'Users' )) {
+ require ("classes/model/UsersPeer.php");
+ }
+ $oCriteria = new Criteria( 'workflow' );
+ $oCriteria->addSelectColumn( 'USR_UID' );
+ $oCriteria->add( UsersPeer::USR_USERNAME, $sWS_USER );
+ $resultSet = UsersPeer::doSelectRS( $oCriteria );
+ $resultSet->next();
+ $user_id = $resultSet->getRow();
+ $result->message = $user_id[0];
+
+ G::LoadClass( 'case' );
+ $caseInstance = new Cases();
+ if (! $caseInstance->canStartCase( $result->message, $_REQUEST['PRO_UID'] )) {
+ $result->status_code = - 1000;
+ $result->message = G::LoadTranslation( 'ID_USER_CASES_NOT_START' );
+ }
+}
+
+die( G::json_encode( $result ) );
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_ChangeStatus.php b/workflow/engine/methods/cases/cases_Scheduler_ChangeStatus.php
index a4774d3a3..aa506828d 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_ChangeStatus.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_ChangeStatus.php
@@ -1,28 +1,27 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-global $RBAC;
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+global $RBAC;
/*
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
@@ -37,20 +36,19 @@ switch ($RBAC->userCanAccess('PM_FACTORY'))
die;
break;
}
-
+
*/
-/*
+/*
G::LoadClass('cases_Scheduler');
$oCases_Scheduler= new Cases_Scheduler();
$oCases_Scheduler->changeStatus ( $_GET['SCH_UID'] );
G::header('location: ' . $_SERVER['HTTP_REFERER']);
*/
- require_once 'classes/model/CaseScheduler.php';
-
+require_once 'classes/model/CaseScheduler.php';
+
// G::LoadClass('CaseScheduler');
- $oCaseScheduler= new CaseScheduler();
- $oCaseScheduler->changeStatus ( $_GET['SCH_UID'] );
- G::header('location: ' . $_SERVER['HTTP_REFERER']);
+$oCaseScheduler = new CaseScheduler();
+$oCaseScheduler->changeStatus( $_GET['SCH_UID'] );
+G::header( 'location: ' . $_SERVER['HTTP_REFERER'] );
-
\ No newline at end of file
diff --git a/workflow/engine/methods/cases/cases_Scheduler_Delete.php b/workflow/engine/methods/cases/cases_Scheduler_Delete.php
index 9fdfde099..be1b66c8b 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_Delete.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_Delete.php
@@ -1,10 +1,10 @@
.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
+ *
*/
/* Permissions */
@@ -39,15 +39,13 @@ switch ($RBAC->userCanAccess('PM_CASES'))
break;
}
*/
+// print_r($_GET); print_r($_POST); die;
- // print_r($_GET); print_r($_POST); die;
-
-
- require_once 'classes/model/CaseScheduler.php';
- $oCaseScheduler = new CaseScheduler();
- if ( !isset($_GET['SCH_UID'] ) ) return;
- $oCaseScheduler->remove($_GET['SCH_UID']);
-
-
+require_once 'classes/model/CaseScheduler.php';
+$oCaseScheduler = new CaseScheduler();
+if ( !isset($_GET['SCH_UID'] ) ) {
+ return;
+}
+$oCaseScheduler->remove($_GET['SCH_UID']);
/* Redirect */
-?>
\ No newline at end of file
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_Edit.php b/workflow/engine/methods/cases/cases_Scheduler_Edit.php
index 244eba7a2..e1c07c7d3 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_Edit.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_Edit.php
@@ -1,31 +1,30 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
- global $RBAC;
-
-/*
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+ global $RBAC;
+
+/*
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
case -2:
@@ -39,100 +38,98 @@ try {
die;
break;
}
-*/
-
- require_once 'classes/model/CaseScheduler.php';
- require_once 'classes/model/Process.php';
- require_once 'classes/model/Task.php';
-
-// $G_MAIN_MENU = 'processmaker';
-// $G_ID_MENU_SELECTED = 'CASES';
- $G_PUBLISH = new Publisher;
-
- G::LoadClass('case');
-
- /* Prepare page before to show */
-
-
- $oCaseScheduler = new CaseScheduler();
- $aFields = $oCaseScheduler->load($_GET['SCH_UID']);
-
-
- $aFields['UID_SCHEDULER'] ="scheduler" ;
-
- // load according the scheduler option selected daily/weekly/monthly/one time
- $nOpt = $aFields['SCH_OPTION'];
- switch($nOpt){
- case 1 : $aStartDay = explode('|', $aFields['SCH_DAYS_PERFORM_TASK']);
- if($aStartDay[0] != 3) {
- $aFields['SCH_DAYS_PERFORM_TASK'] = $aStartDay[0];
- } else {
- $aFields['SCH_DAYS_PERFORM_TASK'] = $aStartDay[0];
- $aFields['SCH_DAYS_PERFORM_TASK_OPT_3'] = $aStartDay[1];
- }
-
- break;
- case 2 :
- $aFields['SCH_WEEK_DAYS_2'] = $aFields['SCH_WEEK_DAYS'];
- break;
- case 3 : // $nStartDay = $aFields['SCH_START_DAY'];
- $aStartDay = explode('|', $aFields['SCH_START_DAY']);
- if($aStartDay[0] == 1){
- $aFields['SCH_START_DAY_OPT_1'] = $aStartDay[1];
- } else {
- $aFields['SCH_START_DAY_OPT_2_WEEKS'] = $aStartDay[1];
- $aFields['SCH_START_DAY_OPT_2_DAYS_WEEK'] = $aStartDay[2];
- }
- $aFields['SCH_START_DAY'] = $aStartDay[0];
- $aFields['SCH_MONTHS_2'] = $aFields['SCH_MONTHS'];
- $aFields['SCH_MONTHS_3'] = $aFields['SCH_MONTHS'];
- break;
- case 4 :
-
- break;
- }
-
- $aFields['SCH_START_TIME'] = date('H:i' , strtotime($aFields['SCH_START_TIME']));
- $aFields['PREV_SCH_START_TIME'] = $aFields['SCH_START_TIME'];
-
- $aFields['SCH_START_DATE'] = date('Y-m-d', strtotime($aFields['SCH_START_DATE']));
- $aFields['PREV_SCH_START_DATE'] = $aFields['SCH_START_DATE'];
-
- if(!empty($aFields['SCH_END_DATE'])){
- $aFields['SCH_END_DATE'] = date('Y-m-d', strtotime($aFields['SCH_END_DATE']));
- $aFields['PREV_SCH_END_DATE'] = date('Y-m-d', strtotime($aFields['SCH_END_DATE']));
- }
- if($aFields['SCH_REPEAT_STOP_IF_RUNNING']==0 || $aFields['SCH_REPEAT_STOP_IF_RUNNING']==null){
- $aFields['SCH_REPEAT_STOP_IF_RUNNING']=null;
- }else {
- $aFields['SCH_REPEAT_STOP_IF_RUNNING']='On';
- }
-
- $aFields['SCH_USER_NAME'] = $aFields['SCH_DEL_USER_NAME'];
- $aFields['SCH_USER_PASSWORD'] = 'DefaultPM';
- $aFields['SCH_USER_UID'] = $aFields['SCH_DEL_USER_UID'];
- $aFields['SCH_START_DATE'] = date ("Y-m-d",strtotime($aFields['SCH_START_DATE']));
-
- // validating if any of the advanced fields is non empty
-// var_dump($aFields['SCH_END_DATE']);
-// var_dump($aFields['SCH_REPEAT_EVERY']);
-// die();
- if ($aFields['SCH_END_DATE']!=NULL||trim($aFields['SCH_REPEAT_EVERY'])!=''){
- $aFields['SCH_ADVANCED'] = 'true';
- } else {
- $aFields['SCH_ADVANCED'] = 'false';
- }
-
- $aFields['PRO_UID_TMP'] = isset($_GET['PRO_UID'])?$_GET['PRO_UID']:$_SESSION['PROCESS'];
- $aFields['PHP_START_DATE'] = date('Y-m-d');
- $aFields['PHP_END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 5));
-
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_Scheduler_Edit.xml', '', $aFields, 'cases_Scheduler_Update');
-
- G::RenderPage('publishBlank','blank');
-
-} catch (Exception $oException) {
- die($oException->getMessage());
-}
-
-?>
\ No newline at end of file
+*/
+
+ require_once 'classes/model/CaseScheduler.php';
+ require_once 'classes/model/Process.php';
+ require_once 'classes/model/Task.php';
+
+ // $G_MAIN_MENU = 'processmaker';
+ // $G_ID_MENU_SELECTED = 'CASES';
+ $G_PUBLISH = new Publisher();
+
+ G::LoadClass( 'case' );
+
+ /* Prepare page before to show */
+
+ $oCaseScheduler = new CaseScheduler();
+ $aFields = $oCaseScheduler->load( $_GET['SCH_UID'] );
+
+ $aFields['UID_SCHEDULER'] = "scheduler";
+
+ // load according the scheduler option selected daily/weekly/monthly/one time
+ $nOpt = $aFields['SCH_OPTION'];
+ switch ($nOpt) {
+ case 1:
+ $aStartDay = explode( '|', $aFields['SCH_DAYS_PERFORM_TASK'] );
+ if ($aStartDay[0] != 3) {
+ $aFields['SCH_DAYS_PERFORM_TASK'] = $aStartDay[0];
+ } else {
+ $aFields['SCH_DAYS_PERFORM_TASK'] = $aStartDay[0];
+ $aFields['SCH_DAYS_PERFORM_TASK_OPT_3'] = $aStartDay[1];
+ }
+
+ break;
+ case 2:
+ $aFields['SCH_WEEK_DAYS_2'] = $aFields['SCH_WEEK_DAYS'];
+ break;
+ case 3: // $nStartDay = $aFields['SCH_START_DAY'];
+ $aStartDay = explode( '|', $aFields['SCH_START_DAY'] );
+ if ($aStartDay[0] == 1) {
+ $aFields['SCH_START_DAY_OPT_1'] = $aStartDay[1];
+ } else {
+ $aFields['SCH_START_DAY_OPT_2_WEEKS'] = $aStartDay[1];
+ $aFields['SCH_START_DAY_OPT_2_DAYS_WEEK'] = $aStartDay[2];
+ }
+ $aFields['SCH_START_DAY'] = $aStartDay[0];
+ $aFields['SCH_MONTHS_2'] = $aFields['SCH_MONTHS'];
+ $aFields['SCH_MONTHS_3'] = $aFields['SCH_MONTHS'];
+ break;
+ case 4:
+
+ break;
+ }
+
+ $aFields['SCH_START_TIME'] = date( 'H:i', strtotime( $aFields['SCH_START_TIME'] ) );
+ $aFields['PREV_SCH_START_TIME'] = $aFields['SCH_START_TIME'];
+
+ $aFields['SCH_START_DATE'] = date( 'Y-m-d', strtotime( $aFields['SCH_START_DATE'] ) );
+ $aFields['PREV_SCH_START_DATE'] = $aFields['SCH_START_DATE'];
+
+ if (! empty( $aFields['SCH_END_DATE'] )) {
+ $aFields['SCH_END_DATE'] = date( 'Y-m-d', strtotime( $aFields['SCH_END_DATE'] ) );
+ $aFields['PREV_SCH_END_DATE'] = date( 'Y-m-d', strtotime( $aFields['SCH_END_DATE'] ) );
+ }
+ if ($aFields['SCH_REPEAT_STOP_IF_RUNNING'] == 0 || $aFields['SCH_REPEAT_STOP_IF_RUNNING'] == null) {
+ $aFields['SCH_REPEAT_STOP_IF_RUNNING'] = null;
+ } else {
+ $aFields['SCH_REPEAT_STOP_IF_RUNNING'] = 'On';
+ }
+
+ $aFields['SCH_USER_NAME'] = $aFields['SCH_DEL_USER_NAME'];
+ $aFields['SCH_USER_PASSWORD'] = 'DefaultPM';
+ $aFields['SCH_USER_UID'] = $aFields['SCH_DEL_USER_UID'];
+ $aFields['SCH_START_DATE'] = date( "Y-m-d", strtotime( $aFields['SCH_START_DATE'] ) );
+
+ // validating if any of the advanced fields is non empty
+ // var_dump($aFields['SCH_END_DATE']);
+ // var_dump($aFields['SCH_REPEAT_EVERY']);
+ // die();
+ if ($aFields['SCH_END_DATE'] != NULL || trim( $aFields['SCH_REPEAT_EVERY'] ) != '') {
+ $aFields['SCH_ADVANCED'] = 'true';
+ } else {
+ $aFields['SCH_ADVANCED'] = 'false';
+ }
+
+ $aFields['PRO_UID_TMP'] = isset( $_GET['PRO_UID'] ) ? $_GET['PRO_UID'] : $_SESSION['PROCESS'];
+ $aFields['PHP_START_DATE'] = date( 'Y-m-d' );
+ $aFields['PHP_END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) );
+
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_Edit.xml', '', $aFields, 'cases_Scheduler_Update' );
+
+ G::RenderPage( 'publishBlank', 'blank' );
+
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_List.php b/workflow/engine/methods/cases/cases_Scheduler_List.php
index 66011c9be..e92074fb4 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_List.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_List.php
@@ -1,30 +1,31 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-
-if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response;
-global $RBAC;
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+
+if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) {
+ return $RBAC_Response;
+}
+global $RBAC;
/*switch ($RBAC->userCanAccess('PM_USERS'))
{
case -2:
@@ -37,140 +38,57 @@ global $RBAC;
G::header('location: ../login/login');
die;
break;
-}*/
-
-
-$G_MAIN_MENU = 'processmaker';
-$G_SUB_MENU = 'cases';
-
-$G_ID_MENU_SELECTED = 'CASES';
-$G_ID_SUB_MENU_SELECTED = 'CASES_SCHEDULER';
-require_once 'classes/model/CaseScheduler.php';
-$process = isset($_GET['PRO_UID'])?$_GET['PRO_UID']:$_SESSION['PROCESS'];
-$sDelimiter = DBAdapter::getStringDelimiter();
-
- $oCaseScheduler = new CaseScheduler();
- $aRows = $oCaseScheduler->getAllByProcess($process);
-
- //$oCaseScheduler->caseSchedulerCron();
- // g::pr($aRows); die;
-
-$fieldNames = Array(
- 'SCH_UID' => 'char',
- 'SCH_NAME' => 'char',
- 'PRO_UID' => 'char',
- 'TAS_UID' => 'char',
- 'SCH_TIME_NEXT_RUN' => 'char',
- 'SCH_LAST_RUN_TIME' => 'char',
- 'SCH_STATE' => 'char',
- 'SCH_LAST_STATE' => 'char',
- 'USR_UID' => 'char',
- 'SCH_OPTION' => 'char',
- 'SCH_START_TIME' => 'char',
- 'SCH_START_DATE' => 'char',
- 'SCH_DAYS_PERFORM_TASK' => 'char',
- 'SCH_EVERY_DAYS' => 'char',
- 'SCH_WEEK_DAYS' => 'char',
- 'SCH_START_DAY' => 'char',
- 'SCH_MONTHS' => 'char',
- 'SCH_END_DATE' => 'char',
- 'SCH_REPEAT_EVERY' => 'char',
- 'SCH_REPEAT_UNTIL' => 'char',
- 'SCH_REPEAT_STOP_IF_RUNNING' => 'char',
- 'PRO_PARENT' => 'char',
- 'PRO_TIME' => 'char',
- 'PRO_TIMEUNIT' => 'char',
- 'PRO_STATUS' => 'char',
- 'PRO_TYPE_DAY' => 'char',
- 'PRO_TYPE' => 'char',
- 'PRO_ASSIGNMENT' => 'char',
- 'PRO_SHOW_MAP' => 'char',
- 'PRO_SHOW_MESSAGE' => 'char',
- 'PRO_SUBPROCESS' => 'char',
- 'PRO_TRI_DELETED' => 'char',
- 'PRO_TRI_CANCELED' => 'char',
- 'PRO_TRI_PAUSED' => 'char',
- 'PRO_TRI_REASSIGNED' => 'char',
- 'PRO_SHOW_DELEGATE' => 'char',
- 'PRO_SHOW_DYNAFORM' => 'char',
- 'PRO_CATEGORY' => 'char',
- 'PRO_SUB_CATEGORY' => 'char',
- 'PRO_INDUSTRY' => 'char',
- 'PRO_UPDATE_DATE' => 'char',
- 'PRO_CREATE_DATE' => 'char',
- 'PRO_CREATE_USER' => 'char',
- 'PRO_HEIGHT' => 'char',
- 'PRO_WIDTH' => 'char',
- 'PRO_TITLE_X' => 'char',
- 'PRO_TITLE_Y' => 'char',
- 'PRO_DEBUG' => 'char',
- 'PRO_TITLE' => 'char',
- 'PRO_DESCRIPTION' => 'char',
- 'TAS_TYPE' => 'char',
- 'TAS_DURATION' => 'char',
- 'TAS_DELAY_TYPE' => 'char',
- 'TAS_TEMPORIZER' => 'char',
- 'TAS_TYPE_DAY' => 'char',
- 'TAS_TIMEUNIT' => 'char',
- 'TAS_ALERT' => 'char',
- 'TAS_PRIORITY_VARIABLE' => 'char',
- 'TAS_ASSIGN_TYPE' => 'char',
- 'TAS_ASSIGN_VARIABLE' => 'char',
- 'TAS_ASSIGN_LOCATION' => 'char',
- 'TAS_ASSIGN_LOCATION_ADHOC' => 'char',
- 'TAS_TRANSFER_FLY' => 'char',
- 'TAS_LAST_ASSIGNED' => 'char',
- 'TAS_USER' => 'char',
- 'TAS_CAN_UPLOAD' => 'char',
- 'TAS_VIEW_UPLOAD' => 'char',
- 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 'char',
- 'TAS_CAN_CANCEL' => 'char',
- 'TAS_OWNER_APP' => 'char',
- 'STG_UID' => 'char',
- 'TAS_CAN_PAUSE' => 'char',
- 'TAS_CAN_SEND_MESSAGE' => 'char',
- 'TAS_CAN_DELETE_DOCS' => 'char',
- 'TAS_SELF_SERVICE' => 'char',
- 'TAS_START' => 'char',
- 'TAS_TO_LAST_USER' => 'char',
- 'TAS_SEND_LAST_EMAIL' => 'char',
- 'TAS_DERIVATION' => 'char',
- 'TAS_POSX' => 'char',
- 'TAS_POSY' => 'char',
- 'TAS_COLOR' => 'char',
- 'TAS_TITLE' => 'char',
- 'TAS_DESCRIPTION' => 'char',
- 'TAS_DEF_TITLE' => 'char',
- 'TAS_DEF_DESCRIPTION' => 'char',
- 'TAS_DEF_PROC_CODE' => 'char',
- 'TAS_DEF_MESSAGE' => 'char'
-);
-
-
-$aRows = array_merge(Array($fieldNames), $aRows);
-//krumo ($aRows);
-for($j=0;$jgetAllByProcess( $process );
+
+//$oCaseScheduler->caseSchedulerCron();
// g::pr($aRows); die;
-
-global $_DBArray;
-$_DBArray['cases_scheduler'] = $aRows;
-$_SESSION['_DBArray'] = $_DBArray;
-G::LoadClass('ArrayPeer');
-$oCriteria = new Criteria('dbarray');
-$oCriteria->setDBArrayTable('cases_scheduler');
+
+
+$fieldNames = Array ('SCH_UID' => 'char','SCH_NAME' => 'char','PRO_UID' => 'char','TAS_UID' => 'char','SCH_TIME_NEXT_RUN' => 'char','SCH_LAST_RUN_TIME' => 'char','SCH_STATE' => 'char','SCH_LAST_STATE' => 'char','USR_UID' => 'char','SCH_OPTION' => 'char','SCH_START_TIME' => 'char','SCH_START_DATE' => 'char','SCH_DAYS_PERFORM_TASK' => 'char','SCH_EVERY_DAYS' => 'char','SCH_WEEK_DAYS' => 'char','SCH_START_DAY' => 'char','SCH_MONTHS' => 'char','SCH_END_DATE' => 'char','SCH_REPEAT_EVERY' => 'char','SCH_REPEAT_UNTIL' => 'char','SCH_REPEAT_STOP_IF_RUNNING' => 'char','PRO_PARENT' => 'char','PRO_TIME' => 'char','PRO_TIMEUNIT' => 'char','PRO_STATUS' => 'char','PRO_TYPE_DAY' => 'char','PRO_TYPE' => 'char','PRO_ASSIGNMENT' => 'char','PRO_SHOW_MAP' => 'char','PRO_SHOW_MESSAGE' => 'char',
+ 'PRO_SUBPROCESS' => 'char','PRO_TRI_DELETED' => 'char','PRO_TRI_CANCELED' => 'char','PRO_TRI_PAUSED' => 'char','PRO_TRI_REASSIGNED' => 'char','PRO_SHOW_DELEGATE' => 'char','PRO_SHOW_DYNAFORM' => 'char','PRO_CATEGORY' => 'char','PRO_SUB_CATEGORY' => 'char','PRO_INDUSTRY' => 'char','PRO_UPDATE_DATE' => 'char','PRO_CREATE_DATE' => 'char','PRO_CREATE_USER' => 'char','PRO_HEIGHT' => 'char','PRO_WIDTH' => 'char','PRO_TITLE_X' => 'char','PRO_TITLE_Y' => 'char','PRO_DEBUG' => 'char','PRO_TITLE' => 'char','PRO_DESCRIPTION' => 'char','TAS_TYPE' => 'char','TAS_DURATION' => 'char','TAS_DELAY_TYPE' => 'char','TAS_TEMPORIZER' => 'char','TAS_TYPE_DAY' => 'char','TAS_TIMEUNIT' => 'char','TAS_ALERT' => 'char','TAS_PRIORITY_VARIABLE' => 'char','TAS_ASSIGN_TYPE' => 'char',
+ 'TAS_ASSIGN_VARIABLE' => 'char','TAS_ASSIGN_LOCATION' => 'char','TAS_ASSIGN_LOCATION_ADHOC' => 'char','TAS_TRANSFER_FLY' => 'char','TAS_LAST_ASSIGNED' => 'char','TAS_USER' => 'char','TAS_CAN_UPLOAD' => 'char','TAS_VIEW_UPLOAD' => 'char','TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 'char','TAS_CAN_CANCEL' => 'char','TAS_OWNER_APP' => 'char','STG_UID' => 'char','TAS_CAN_PAUSE' => 'char','TAS_CAN_SEND_MESSAGE' => 'char','TAS_CAN_DELETE_DOCS' => 'char','TAS_SELF_SERVICE' => 'char','TAS_START' => 'char','TAS_TO_LAST_USER' => 'char','TAS_SEND_LAST_EMAIL' => 'char','TAS_DERIVATION' => 'char','TAS_POSX' => 'char','TAS_POSY' => 'char','TAS_COLOR' => 'char','TAS_TITLE' => 'char','TAS_DESCRIPTION' => 'char','TAS_DEF_TITLE' => 'char','TAS_DEF_DESCRIPTION' => 'char',
+ 'TAS_DEF_PROC_CODE' => 'char','TAS_DEF_MESSAGE' => 'char'
+);
+
+$aRows = array_merge( Array ($fieldNames
+), $aRows );
+//krumo ($aRows);
+for ($j = 0; $j < count( $aRows ); $j ++) {
+ if ($aRows[$j]['SCH_STATE'] == 'PROCESSED') {
+ $aRows[$j]['SCH_TIME_NEXT_RUN'] = '';
+ }
+}
+// g::pr($aRows); die;
+
+
+global $_DBArray;
+$_DBArray['cases_scheduler'] = $aRows;
+$_SESSION['_DBArray'] = $_DBArray;
+G::LoadClass( 'ArrayPeer' );
+$oCriteria = new Criteria( 'dbarray' );
+$oCriteria->setDBArrayTable( 'cases_scheduler' );
//krumo ($oCriteria);
//var_dump ($oCriteria);
//$oCriteria->add('PRO_UID', $_SESSION['PROCESS']);
//krumo($_SESSION);
-
-
-$G_PUBLISH = new Publisher;
-$G_PUBLISH->ROWS_PER_PAGE = 10;
-$G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_Scheduler_List', $oCriteria, array('CONFIRM' => G::LoadTranslation('ID_MSG_CONFIRM_DELETE_CASE_SCHEDULER')));
-$G_PUBLISH->oPropelTable->rowsPerPage = 10;
-G::RenderPage('publishBlank', 'blank');
-
+
+
+$G_PUBLISH = new Publisher();
+$G_PUBLISH->ROWS_PER_PAGE = 10;
+$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'cases/cases_Scheduler_List', $oCriteria, array ('CONFIRM' => G::LoadTranslation( 'ID_MSG_CONFIRM_DELETE_CASE_SCHEDULER' )
+) );
+$G_PUBLISH->oPropelTable->rowsPerPage = 10;
+G::RenderPage( 'publishBlank', 'blank' );
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_Log.php b/workflow/engine/methods/cases/cases_Scheduler_Log.php
index 15a9da6a7..316c3a012 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_Log.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_Log.php
@@ -1,44 +1,43 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response;
-
-$G_PUBLISH = new Publisher;
-G::LoadClass('configuration');
-$c = new Configurations();
-$configPage = $c->getConfiguration('casesSchedulerLogList', 'pageSize','',$_SESSION['USER_LOGGED']);
-$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
-
-$oHeadPublisher =& headPublisher::getSingleton();
-
-$oHeadPublisher->addExtJsScript('cases/casesSchedulerLog', false); //adding a javascript file .js
-$oHeadPublisher->addContent('cases/casesSchedulerLog'); //adding a html file .html.
-
-$oHeadPublisher->assign('CONFIG', $Config);
-
-
-G::RenderPage('publish', 'extJs');
-
-?>
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1)
+ return $RBAC_Response;
+
+$G_PUBLISH = new Publisher();
+G::LoadClass( 'configuration' );
+$c = new Configurations();
+$configPage = $c->getConfiguration( 'casesSchedulerLogList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
+$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20;
+
+$oHeadPublisher = & headPublisher::getSingleton();
+
+$oHeadPublisher->addExtJsScript( 'cases/casesSchedulerLog', false ); //adding a javascript file .js
+$oHeadPublisher->addContent( 'cases/casesSchedulerLog' ); //adding a html file .html.
+
+
+$oHeadPublisher->assign( 'CONFIG', $Config );
+
+G::RenderPage( 'publish', 'extJs' );
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_Log_Detail.php b/workflow/engine/methods/cases/cases_Scheduler_Log_Detail.php
index ae8162b3d..05b20cdf0 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_Log_Detail.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_Log_Detail.php
@@ -1,31 +1,30 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
- global $RBAC;
-
-/*
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+ global $RBAC;
+
+ /*
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
case -2:
@@ -39,9 +38,9 @@ try {
die;
break;
}
-*/
+*/
-/*
+/*
$aFields['MESSAGE0'] = str_replace("\r\n","
",G::LoadTranslation('ID_USER_REGISTERED')) . '!';
$aFields['MESSAGE1'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME'));
$aFields['MESSAGE2'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_DUE_DATE'));
@@ -54,39 +53,35 @@ try {
$aFields['END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 5));
$aFields['USR_DUE_DATE']= date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 1));
*/
- if (!class_exists('LogCasesSchedulerPeer')){
- require_once('classes/model/LogCasesScheduler.php');
- }
-
- $G_PUBLISH = new Publisher;
-
- $oCriteria = new Criteria ('workflow');
-// var_dump(htmlspecialchars($_GET['WS_ROUTE']));
-// var_dump(htmlentities($_GET['WS_ROUTE']));
-
- $oCriteria->add(LogCasesSchedulerPeer::LOG_CASE_UID,$_REQUEST['LOG_CASE_UID']);
-
- $result = LogCasesSchedulerPeer::doSelectRS($oCriteria);
- $result->next();
- $row = $result->getRow();
- $aFields['PRO_UID'] = $row[1];
- $aFields['TAS_UID'] = $row[2];
- $aFields['SCH_UID'] = $row[7];
- $aFields['USR_NAME'] = $row[3];
- $aFields['EXEC_DATE'] = $row[4];
- $aFields['EXEC_HOUR'] = $row[5];
- $aFields['RESULT'] = $row[6];
- $aFields['WS_CREATE_CASE_STATUS'] = $row[8];
- $aFields['WS_ROUTE_CASE_STATUS'] = htmlentities($row[9]);
-//var_dump($aFields);
-//$aFields = $_GET;
-
-
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_Scheduler_Log_Detail.xml', '', $aFields, '');
- G::RenderPage('publishBlank', 'blank');
-
-}
-catch (Exception $oException) {
- die($oException->getMessage());
-}
-?>
\ No newline at end of file
+ if (! class_exists( 'LogCasesSchedulerPeer' )) {
+ require_once ('classes/model/LogCasesScheduler.php');
+ }
+
+ $G_PUBLISH = new Publisher();
+ $oCriteria = new Criteria( 'workflow' );
+ // var_dump(htmlspecialchars($_GET['WS_ROUTE']));
+ // var_dump(htmlentities($_GET['WS_ROUTE']));
+
+
+ $oCriteria->add( LogCasesSchedulerPeer::LOG_CASE_UID, $_REQUEST['LOG_CASE_UID'] );
+ $result = LogCasesSchedulerPeer::doSelectRS( $oCriteria );
+ $result->next();
+ $row = $result->getRow();
+ $aFields['PRO_UID'] = $row[1];
+ $aFields['TAS_UID'] = $row[2];
+ $aFields['SCH_UID'] = $row[7];
+ $aFields['USR_NAME'] = $row[3];
+ $aFields['EXEC_DATE'] = $row[4];
+ $aFields['EXEC_HOUR'] = $row[5];
+ $aFields['RESULT'] = $row[6];
+ $aFields['WS_CREATE_CASE_STATUS'] = $row[8];
+ $aFields['WS_ROUTE_CASE_STATUS'] = htmlentities( $row[9] );
+ //var_dump($aFields);
+ //$aFields = $_GET;
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_Log_Detail.xml', '', $aFields, '' );
+ G::RenderPage( 'publishBlank', 'blank' );
+
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_New.php b/workflow/engine/methods/cases/cases_Scheduler_New.php
index 35395fe43..602b651b4 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_New.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_New.php
@@ -1,31 +1,30 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
- global $RBAC;
-
-/*
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+ global $RBAC;
+
+ /*
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
case -2:
@@ -39,9 +38,9 @@ try {
die;
break;
}
-*/
+*/
-/*
+/*
$aFields['MESSAGE0'] = str_replace("\r\n","
",G::LoadTranslation('ID_USER_REGISTERED')) . '!';
$aFields['MESSAGE1'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME'));
$aFields['MESSAGE2'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_DUE_DATE'));
@@ -55,47 +54,43 @@ try {
$aFields['USR_DUE_DATE']= date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 1));
*/
- require_once 'classes/model/CaseScheduler.php';
- require_once 'classes/model/Process.php';
- require_once 'classes/model/Task.php';
+ require_once 'classes/model/CaseScheduler.php';
+ require_once 'classes/model/Process.php';
+ require_once 'classes/model/Task.php';
+
+ $G_MAIN_MENU = 'processmaker';
+ $G_SUB_MENU = 'cases';
+
+ $G_ID_MENU_SELECTED = 'CASES';
+ $G_ID_SUB_MENU_SELECTED = 'CASES_SCHEDULER';
+
+ $G_PUBLISH = new Publisher();
+
+ G::LoadClass( 'case' );
+ $aFields['PHP_START_DATE'] = date( 'Y-m-d' );
+ $aFields['PRO_UID'] = isset( $_GET['PRO_UID'] ) ? $_GET['PRO_UID'] : $_SESSION['PROCESS'];
+ $aFields['PHP_CURRENT_DATE'] = $aFields['PHP_START_DATE'];
+ $aFields['PHP_END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) );
+
+ /* Prepare page before to show */
-$G_MAIN_MENU = 'processmaker';
-$G_SUB_MENU = 'cases';
+ /*-- Base
+ $aFields = array();
+ $oCase = new Cases();
+ $_DBArray['NewCase'] = $oCase->getStartCases( $_SESSION['USER_LOGGED'] );
+ */
-$G_ID_MENU_SELECTED = 'CASES';
-$G_ID_SUB_MENU_SELECTED = 'CASES_SCHEDULER';
-
- $G_PUBLISH = new Publisher;
-
- G::LoadClass('case');
- $aFields['PHP_START_DATE'] = date('Y-m-d');
- $aFields['PRO_UID'] = isset($_GET['PRO_UID'])?$_GET['PRO_UID']:$_SESSION['PROCESS'];
- $aFields['PHP_CURRENT_DATE'] = $aFields['PHP_START_DATE'];
- $aFields['PHP_END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 5));
-
- /* Prepare page before to show */
-
- /*-- Base
- $aFields = array();
- $oCase = new Cases();
- $_DBArray['NewCase'] = $oCase->getStartCases( $_SESSION['USER_LOGGED'] );
- */
-
-
- $oCaseScheduler = new CaseScheduler();
- //$_DBArray['NewProcess'] = $oCaseScheduler->getProcessDescription();
- //$_DBArray['NewTask'] = $oCaseScheduler->getTaskDescription();
-
- // var_dump($oCaseScheduler->getAllProcess()); die;
-
- $aFields['UID_SCHEDULER'] ="scheduler" ;
-
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_Scheduler_New.xml', '', $aFields, 'cases_Scheduler_Save');
- G::RenderPage('publishBlank', 'blank');
-
-
-}
-catch (Exception $oException) {
- die($oException->getMessage());
-}
-?>
\ No newline at end of file
+ $oCaseScheduler = new CaseScheduler();
+ //$_DBArray['NewProcess'] = $oCaseScheduler->getProcessDescription();
+ //$_DBArray['NewTask'] = $oCaseScheduler->getTaskDescription();
+ // var_dump($oCaseScheduler->getAllProcess()); die;
+
+ $aFields['UID_SCHEDULER'] = "scheduler";
+
+ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_New.xml', '', $aFields, 'cases_Scheduler_Save' );
+ G::RenderPage( 'publishBlank', 'blank' );
+
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_Save.php b/workflow/engine/methods/cases/cases_Scheduler_Save.php
index 7435a1b1b..69027cbd2 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_Save.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_Save.php
@@ -1,29 +1,28 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
- /*
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+ /*
global $RBAC;
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
@@ -38,238 +37,233 @@ try {
die;
break;
}
- */
-
-
- require_once 'classes/model/CaseScheduler.php';
- $oCaseScheduler = new CaseScheduler();
-
- if (empty($_POST)) {
- die('The information sended is empty!');
- }
-
- $aData['SCH_UID'] = G::generateUniqueID();
- $aData['SCH_NAME'] = $_POST['form']['SCH_NAME'];
- $aData['SCH_DEL_USER_NAME'] = $_POST['form']['SCH_USER_NAME'];
- $aData['SCH_DEL_USER_PASS'] = md5($_POST['form']['SCH_USER_PASSWORD']);
- $aData['SCH_DEL_USER_UID'] = $_POST['form']['SCH_USER_UID'];
- $aData['PRO_UID'] = $_POST['form']['PRO_UID'];
- $aData['TAS_UID'] = $_POST['form']['TAS_UID'];
-
- $aData['SCH_STATE'] = 'ACTIVE';
- $aData['SCH_LAST_STATE'] = 'CREATED'; // 'ACTIVE';
- $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
-
- $sOption = $_POST['form']['SCH_OPTION'];
- $aData['SCH_OPTION'] = $sOption;
-
-
-
- if ($_POST['form']['SCH_START_DATE']!=''){
- $sDateTmp = $_POST['form']['SCH_START_DATE'];
- } else {
- $sDateTmp = date('Y-m-d');
- }
- $sTimeTmp = $_POST['form']['SCH_START_TIME'];
- $aData['SCH_START_TIME'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
- $aData['SCH_START_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
-
+ */
+
+ require_once 'classes/model/CaseScheduler.php';
+ $oCaseScheduler = new CaseScheduler();
+
+ if (empty( $_POST )) {
+ die( 'The information sended is empty!' );
+ }
+
+ $aData['SCH_UID'] = G::generateUniqueID();
+ $aData['SCH_NAME'] = $_POST['form']['SCH_NAME'];
+ $aData['SCH_DEL_USER_NAME'] = $_POST['form']['SCH_USER_NAME'];
+ $aData['SCH_DEL_USER_PASS'] = md5( $_POST['form']['SCH_USER_PASSWORD'] );
+ $aData['SCH_DEL_USER_UID'] = $_POST['form']['SCH_USER_UID'];
+ $aData['PRO_UID'] = $_POST['form']['PRO_UID'];
+ $aData['TAS_UID'] = $_POST['form']['TAS_UID'];
+
+ $aData['SCH_STATE'] = 'ACTIVE';
+ $aData['SCH_LAST_STATE'] = 'CREATED'; // 'ACTIVE';
+ $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
+
+ $sOption = $_POST['form']['SCH_OPTION'];
+ $aData['SCH_OPTION'] = $sOption;
+
+ if ($_POST['form']['SCH_START_DATE'] != '') {
+ $sDateTmp = $_POST['form']['SCH_START_DATE'];
+ } else {
+ $sDateTmp = date( 'Y-m-d' );
+ }
+ $sTimeTmp = $_POST['form']['SCH_START_TIME'];
+ $aData['SCH_START_TIME'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
+ $aData['SCH_START_DATE'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
+
$nActualTime = $_POST['form']['SCH_START_TIME']; // time();
// $nActualDate = date("Y-m-d H:i:s", $nActualTime);
-
- $sValue = '';
- $sDaysPerformTask = '';
- $sWeeks = '';
- $sMonths = '';
- $sMonths = '';
- $sStartDay = '';
- $nSW = 0;
- $aData['SCH_START_DAY'] = '';
- $aData['SCH_REPEAT_EVERY'] = '';
- $aData['SCH_REPEAT_UNTIL'] = '';
- $aData['SCH_DAYS_PERFORM_TASK'] = '';
- switch($sOption){
- case '1' : // Option 1
- $sValue = $_POST['form']['SCH_DAYS_PERFORM_TASK'];
- switch($sValue){
- case '1' : $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|1';
- break;
- case '2' :
- $aData['SCH_OPTION'] = '2';
- $aData['SCH_EVERY_DAYS'] = '1';
- $aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
- break;
- case '3' : // Every [n] Days
- $sDaysPerformTask = $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
- $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|' . $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
- break;
- }
- break;
-
- case '2' : // If the option is zero, set by default 1
- if(empty($_POST['form']['SCH_EVERY_DAYS']))
- $nEveryDays = 1;
- else
- $nEveryDays = $_POST['form']['SCH_EVERY_DAYS'];
- $aData['SCH_EVERY_DAYS'] = $nEveryDays;
- $sWeeks = '';
- if(!empty($_POST['form']['SCH_WEEK_DAYS'])){
- $aWeekDays = $_POST['form']['SCH_WEEK_DAYS'];
- foreach($aWeekDays as $value) {
- $sWeeks = $sWeeks . $value . '|';
- }
- }
- if(!empty($_POST['form']['SCH_WEEK_DAYS_2'])){
- $aWeekDays2 = $_POST['form']['SCH_WEEK_DAYS_2'];
- foreach($aWeekDays2 as $value) {
- $sWeeks = $sWeeks . $value . '|';
- }
- }
- $sStartTime = $_POST['form']['SCH_START_TIME'];
- $aData['SCH_WEEK_DAYS'] = $sWeeks;
-
- break;
- case '3' :
- $nStartDay = $_POST['form']['SCH_START_DAY'];
- if($nStartDay == 1){
- $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_1'];
- } else {
- $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_2_WEEKS'] . '|' . $_POST['form']['SCH_START_DAY_OPT_2_DAYS_WEEK'];
- }
-
- $sMonths = '';
- if(!empty($_POST['form']['SCH_MONTHS'])){
- $aMonths = $_POST['form']['SCH_MONTHS'];
- foreach($aMonths as $value) {
- $sMonths = $sMonths . $value . '|' ;
- }
- }
- if(!empty($_POST['form']['SCH_MONTHS_2'])){
- $aMonths2 = $_POST['form']['SCH_MONTHS_2'];
- foreach($aMonths2 as $value) {
- $sMonths = $sMonths . $value . '|' ;
- }
- }
- if(!empty($_POST['form']['SCH_MONTHS_3'])){
- $aMonths3 = $_POST['form']['SCH_MONTHS_3'];
- foreach($aMonths3 as $value) {
- $sMonths = $sMonths . $value . '|' ;
- }
- }
- $aData['SCH_MONTHS'] = $sMonths;
- $sStartDay = $aData['SCH_START_DAY'];
- $sValue = $nStartDay;
- break;
-
-
- }
- echo "
sOption: ".$sOption;
- if(($sOption!='1') && ($sOption!='4') && ($sOption!='5') ) {
- if ($sStartDay==''){
- $sStartDay = date('Y-m-d');
- }
- // echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."
";
- $dCurrentDay = date("d");
- $dCurrentMonth = date("m");
- $aStartDay = explode( "|" , $aData['SCH_START_DAY'] );
- if($sOption=='3'&&$aStartDay[0]=='1'){
- $monthsArray = explode("|",$sMonths);
- foreach ($monthsArray as $row){
- if ( $dCurrentMonth == $row && $dCurrentDay<$aStartDay[1] ){
- $startTime = $_POST['form']['SCH_START_TIME'].":00";
- $aData['SCH_TIME_NEXT_RUN'] = date('Y') . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
- break;
- } else {
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
- }
- }
- } else {
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
- }
- // print_r ($aData['SCH_TIME_NEXT_RUN']);
- // die;
- } else {
- if ($sOption=='4'){
- $aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
- }
- $aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
- if ($sOption == 5) {
- $aData['SCH_START_TIME'] = time();
- $aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
- $nextRun = $_POST['form']['SCH_REPEAT_EVERY']*60*60;
- $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
- $date = $aData['SCH_START_TIME'];
- $date += $nextRun;
- $date = date("Y-m-d H:i", $date );
- $aData['SCH_TIME_NEXT_RUN'] = $date;
- }
- }
- if(trim($_POST['form']['SCH_END_DATE'])!=''){
- $aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
- }
-
- if(!empty($_POST['form']['SCH_REPEAT_TASK_CHK'])){
- $nOptEvery = $_POST['form']['SCH_REPEAT_EVERY_OPT'];
- if($nOptEvery ==2)
- $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'] * 60;
- else
- $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
-
-
- }
-
- if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){
- $aData['CASE_SH_PLUGIN_UID'] = $_POST['form']['CASE_SH_PLUGIN_UID'];
- }
- //$aData['SCH_END_DATE'] = "2020-12-30";
- $oCaseScheduler->create($aData);
- $sch_uid = $oCaseScheduler->getSchUid();
-
- if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){
- $params=explode("--",$_REQUEST ['form']['CASE_SH_PLUGIN_UID']);
- $oPluginRegistry =& PMPluginRegistry::getSingleton();
- $activePluginsForCaseScheduler=$oPluginRegistry->getCaseSchedulerPlugins();
-
- foreach($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail){
- if(($caseSchedulerPluginDetail->sNamespace==$params[0])&&($caseSchedulerPluginDetail->sActionId==$params[1])){
- $caseSchedulerSelected=$caseSchedulerPluginDetail;
-
- }
- }
- if((isset($caseSchedulerSelected))&&(is_object($caseSchedulerSelected))){
- //Save the form
- $oData=$_POST['pluginFields'];
- $oData['SCH_UID'] =$aData['SCH_UID'];
- $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData );
- }
- }
-
-// //Added by Qennix
-// //Update Start Time Event in BPMN
-//
-// echo $_POST['form']['TAS_UID']."<<----";
-// if (isset($_POST['form']['TAS_UID'])){
-// require_once 'classes/model/Event.php';
-// require_once 'classes/model/Task.php';
-// echo $_POST['form']['TAS_UID']."<<----";
-//
-// $oTask = new Task();
-// $oTask->load($_POST['form']['TAS_UID']);
-// $evn_uid = $oTask->getStartingEvent();
-// $event = new Event();
-// $editEvent = array();
-// $editEvent['EVN_UID'] = $evn_uid;
-// $editEvent['EVN_ACTION'] = $sch_uid;
-// $event->update($editEvent);
-// //End Adding
-// }
-
- G::header('location: cases_Scheduler_List?PRO_UID='.$_POST['form']['PRO_UID']);
-
-
-}
-catch (Exception $oException) {
- die($oException->getMessage());
-}
-
-?>
\ No newline at end of file
+
+
+ $sValue = '';
+ $sDaysPerformTask = '';
+ $sWeeks = '';
+ $sMonths = '';
+ $sMonths = '';
+ $sStartDay = '';
+ $nSW = 0;
+ $aData['SCH_START_DAY'] = '';
+ $aData['SCH_REPEAT_EVERY'] = '';
+ $aData['SCH_REPEAT_UNTIL'] = '';
+ $aData['SCH_DAYS_PERFORM_TASK'] = '';
+ switch ($sOption) {
+ case '1': // Option 1
+ $sValue = $_POST['form']['SCH_DAYS_PERFORM_TASK'];
+ switch ($sValue) {
+ case '1':
+ $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|1';
+ break;
+ case '2':
+ $aData['SCH_OPTION'] = '2';
+ $aData['SCH_EVERY_DAYS'] = '1';
+ $aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
+ break;
+ case '3': // Every [n] Days
+ $sDaysPerformTask = $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
+ $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|' . $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
+ break;
+ }
+ break;
+
+ case '2': // If the option is zero, set by default 1
+ if (empty( $_POST['form']['SCH_EVERY_DAYS'] ))
+ $nEveryDays = 1;
+ else
+ $nEveryDays = $_POST['form']['SCH_EVERY_DAYS'];
+ $aData['SCH_EVERY_DAYS'] = $nEveryDays;
+ $sWeeks = '';
+ if (! empty( $_POST['form']['SCH_WEEK_DAYS'] )) {
+ $aWeekDays = $_POST['form']['SCH_WEEK_DAYS'];
+ foreach ($aWeekDays as $value) {
+ $sWeeks = $sWeeks . $value . '|';
+ }
+ }
+ if (! empty( $_POST['form']['SCH_WEEK_DAYS_2'] )) {
+ $aWeekDays2 = $_POST['form']['SCH_WEEK_DAYS_2'];
+ foreach ($aWeekDays2 as $value) {
+ $sWeeks = $sWeeks . $value . '|';
+ }
+ }
+ $sStartTime = $_POST['form']['SCH_START_TIME'];
+ $aData['SCH_WEEK_DAYS'] = $sWeeks;
+
+ break;
+ case '3':
+ $nStartDay = $_POST['form']['SCH_START_DAY'];
+ if ($nStartDay == 1) {
+ $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_1'];
+ } else {
+ $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_2_WEEKS'] . '|' . $_POST['form']['SCH_START_DAY_OPT_2_DAYS_WEEK'];
+ }
+
+ $sMonths = '';
+ if (! empty( $_POST['form']['SCH_MONTHS'] )) {
+ $aMonths = $_POST['form']['SCH_MONTHS'];
+ foreach ($aMonths as $value) {
+ $sMonths = $sMonths . $value . '|';
+ }
+ }
+ if (! empty( $_POST['form']['SCH_MONTHS_2'] )) {
+ $aMonths2 = $_POST['form']['SCH_MONTHS_2'];
+ foreach ($aMonths2 as $value) {
+ $sMonths = $sMonths . $value . '|';
+ }
+ }
+ if (! empty( $_POST['form']['SCH_MONTHS_3'] )) {
+ $aMonths3 = $_POST['form']['SCH_MONTHS_3'];
+ foreach ($aMonths3 as $value) {
+ $sMonths = $sMonths . $value . '|';
+ }
+ }
+ $aData['SCH_MONTHS'] = $sMonths;
+ $sStartDay = $aData['SCH_START_DAY'];
+ $sValue = $nStartDay;
+ break;
+
+ }
+ echo "
sOption: " . $sOption;
+ if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) {
+ if ($sStartDay == '') {
+ $sStartDay = date( 'Y-m-d' );
+ }
+ // echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."
";
+ $dCurrentDay = date( "d" );
+ $dCurrentMonth = date( "m" );
+ $aStartDay = explode( "|", $aData['SCH_START_DAY'] );
+ if ($sOption == '3' && $aStartDay[0] == '1') {
+ $monthsArray = explode( "|", $sMonths );
+ foreach ($monthsArray as $row) {
+ if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) {
+ $startTime = $_POST['form']['SCH_START_TIME'] . ":00";
+ $aData['SCH_TIME_NEXT_RUN'] = date( 'Y' ) . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
+ break;
+ } else {
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp );
+ }
+ }
+ } else {
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp );
+ }
+ // print_r ($aData['SCH_TIME_NEXT_RUN']);
+ // die;
+ } else {
+ if ($sOption == '4') {
+ $aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
+ }
+ $aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
+ if ($sOption == 5) {
+ $aData['SCH_START_TIME'] = time();
+ $aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
+ $nextRun = $_POST['form']['SCH_REPEAT_EVERY'] * 60 * 60;
+ $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
+ $date = $aData['SCH_START_TIME'];
+ $date += $nextRun;
+ $date = date( "Y-m-d H:i", $date );
+ $aData['SCH_TIME_NEXT_RUN'] = $date;
+ }
+ }
+ if (trim( $_POST['form']['SCH_END_DATE'] ) != '') {
+ $aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
+ }
+
+ if (! empty( $_POST['form']['SCH_REPEAT_TASK_CHK'] )) {
+ $nOptEvery = $_POST['form']['SCH_REPEAT_EVERY_OPT'];
+ if ($nOptEvery == 2)
+ $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'] * 60;
+ else
+ $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
+
+ }
+
+ if ((isset( $_POST['form']['CASE_SH_PLUGIN_UID'] )) && ($_POST['form']['CASE_SH_PLUGIN_UID'] != "")) {
+ $aData['CASE_SH_PLUGIN_UID'] = $_POST['form']['CASE_SH_PLUGIN_UID'];
+ }
+ //$aData['SCH_END_DATE'] = "2020-12-30";
+ $oCaseScheduler->create( $aData );
+ $sch_uid = $oCaseScheduler->getSchUid();
+
+ if ((isset( $_POST['form']['CASE_SH_PLUGIN_UID'] )) && ($_POST['form']['CASE_SH_PLUGIN_UID'] != "")) {
+ $params = explode( "--", $_REQUEST['form']['CASE_SH_PLUGIN_UID'] );
+ $oPluginRegistry = & PMPluginRegistry::getSingleton();
+ $activePluginsForCaseScheduler = $oPluginRegistry->getCaseSchedulerPlugins();
+
+ foreach ($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail) {
+ if (($caseSchedulerPluginDetail->sNamespace == $params[0]) && ($caseSchedulerPluginDetail->sActionId == $params[1])) {
+ $caseSchedulerSelected = $caseSchedulerPluginDetail;
+
+ }
+ }
+ if ((isset( $caseSchedulerSelected )) && (is_object( $caseSchedulerSelected ))) {
+ //Save the form
+ $oData = $_POST['pluginFields'];
+ $oData['SCH_UID'] = $aData['SCH_UID'];
+ $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData );
+ }
+ }
+
+ // //Added by Qennix
+ // //Update Start Time Event in BPMN
+ //
+ // echo $_POST['form']['TAS_UID']."<<----";
+ // if (isset($_POST['form']['TAS_UID'])){
+ // require_once 'classes/model/Event.php';
+ // require_once 'classes/model/Task.php';
+ // echo $_POST['form']['TAS_UID']."<<----";
+ //
+ // $oTask = new Task();
+ // $oTask->load($_POST['form']['TAS_UID']);
+ // $evn_uid = $oTask->getStartingEvent();
+ // $event = new Event();
+ // $editEvent = array();
+ // $editEvent['EVN_UID'] = $evn_uid;
+ // $editEvent['EVN_ACTION'] = $sch_uid;
+ // $event->update($editEvent);
+ // //End Adding
+ // }
+
+
+ G::header( 'location: cases_Scheduler_List?PRO_UID=' . $_POST['form']['PRO_UID'] );
+
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
+
diff --git a/workflow/engine/methods/cases/cases_Scheduler_Update.php b/workflow/engine/methods/cases/cases_Scheduler_Update.php
index ef3f7cbb7..2d5d0918b 100755
--- a/workflow/engine/methods/cases/cases_Scheduler_Update.php
+++ b/workflow/engine/methods/cases/cases_Scheduler_Update.php
@@ -1,29 +1,28 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
-try {
-/*
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
+try {
+ /*
global $RBAC;
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
@@ -38,247 +37,245 @@ try {
die;
break;
}
- */
-
- require_once 'classes/model/CaseScheduler.php';
-
-
- if (empty($_POST)) {
- die('The information sended is empty!');
- }
- $aData['SCH_UID'] = $_POST['form']['SCH_UID'];
- $aData['SCH_NAME'] = $_POST['form']['SCH_NAME'];
- $aData['PRO_UID'] = $_POST['form']['PRO_UID'];
- $aData['TAS_UID'] = $_POST['form']['TAS_UID'];
-
- $oCaseScheduler = new CaseScheduler();
- $oCaseScheduler->Load($aData['SCH_UID']);
-
- $aData['SCH_DEL_USER_NAME'] = $_POST['form']['SCH_USER_NAME'];
- if ($_POST['form']['SCH_USER_PASSWORD'] != 'DefaultPM'){
- $aData['SCH_DEL_USER_PASS'] = md5($_POST['form']['SCH_USER_PASSWORD']);
- }
- $aData['SCH_DEL_USER_UID'] = $_POST['form']['SCH_USER_UID'];
-
-// $aData['SCH_TIME_NEXT_RUN'] = time();
- //$aData['SCH_LAST_RUN_TIME'] = time();
-// $aData['SCH_STATE'] = 'ACTIVE';
-// $aData['SCH_LAST_STATE'] = 'ACTIVE';
- $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
-
- $sOption = $_POST['form']['SCH_OPTION'];
- $aData['SCH_OPTION'] = $sOption;
-
- $sDateTmp = $_POST['form']['SCH_START_DATE'];
- $sTimeTmp = $_POST['form']['SCH_START_TIME'];
- $aData['SCH_START_TIME'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
- $aData['SCH_START_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
- $previousStartTime = date('Y-m-d', strtotime($_POST['form']['PREV_SCH_START_DATE'])) . ' ' . date('H:i:s', strtotime($_POST['form']['PREV_SCH_START_TIME']));
- $previousStartDate = date('Y-m-d', strtotime($_POST['form']['PREV_SCH_START_DATE'])) . ' ' . date('H:i:s', strtotime($_POST['form']['PREV_SCH_START_TIME']));
-
- $sValue = '';
- $sDaysPerformTask = '';
- $sWeeks = '';
- $sMonths = '';
- $sMonths = '';
- $sStartDay = '';
- $nSW = 0;
-
- switch($sOption){
- case '1' : // Option 1
- $sValue = $_POST['form']['SCH_DAYS_PERFORM_TASK'];
- switch($sValue){
- case '1' : $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|1';
- break;
- case '2' :
- $aData['SCH_OPTION'] = '2';
- $aData['SCH_EVERY_DAYS'] = '1';
- $aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
- break;
- case '3' : // Every [n] Days
- $sDaysPerformTask = $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
- $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|' . $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
- break;
- }
- break;
- case '2' : // If the option is zero, set by default 1
- if(empty($_POST['form']['SCH_EVERY_DAYS']))
- $nEveryDays = 1;
- else
- $nEveryDays = $_POST['form']['SCH_EVERY_DAYS'];
- $aData['SCH_EVERY_DAYS'] = $nEveryDays;
- $sWeeks = '';
- if(!empty($_POST['form']['SCH_WEEK_DAYS'])){
- $aWeekDays = $_POST['form']['SCH_WEEK_DAYS'];
- foreach($aWeekDays as $value) {
- $sWeeks = $sWeeks . $value . '|';
- }
- }
- if(!empty($_POST['form']['SCH_WEEK_DAYS_2'])){
- $aWeekDays2 = $_POST['form']['SCH_WEEK_DAYS_2'];
- foreach($aWeekDays2 as $value) {
- $sWeeks = $sWeeks . $value . '|';
- }
- }
- $sStartTime = $_POST['form']['SCH_START_TIME'];
- $aData['SCH_WEEK_DAYS'] = $sWeeks;
- break;
-
- case '3' :
- $nStartDay = $_POST['form']['SCH_START_DAY'];
- if($nStartDay == 1){
- $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_1'];
- } else {
- $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_2_WEEKS'] . '|' . $_POST['form']['SCH_START_DAY_OPT_2_DAYS_WEEK'];
- }
-
- $sMonths = '';
- if(!empty($_POST['form']['SCH_MONTHS'])){
- $aMonths = $_POST['form']['SCH_MONTHS'];
- foreach($aMonths as $value) {
- $sMonths = $sMonths . $value . '|' ;
- }
- }
- if(!empty($_POST['form']['SCH_MONTHS_2'])){
- $aMonths2 = $_POST['form']['SCH_MONTHS_2'];
- foreach($aMonths2 as $value) {
- $sMonths = $sMonths . $value . '|' ;
- }
- }
- if(!empty($_POST['form']['SCH_MONTHS_3'])){
- $aMonths3 = $_POST['form']['SCH_MONTHS_3'];
- foreach($aMonths3 as $value) {
- $sMonths = $sMonths . $value . '|' ;
- }
- }
- $aData['SCH_MONTHS'] = $sMonths;
- $sStartDay = $aData['SCH_START_DAY'];
- $sValue = $nStartDay;
- break;
-
- }
- if(trim($_POST['form']['SCH_END_DATE'])!=''){
- $aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
- }
-// if the start date has changed then recalculate the next run time
- if ($_POST['form']['SCH_START_DATE']==$_POST['form']['PREV_SCH_START_DATE']) {
- $recalculateDate = false;
- } else {
- $recalculateDate = true;
- }
- if (date('H:i:s', strtotime($_POST['form']['SCH_START_TIME']))==date('H:i:s', strtotime($_POST['form']['PREV_SCH_START_TIME']))){
- $recalculateTime = false;
- } else {
- $recalculateTime = true;
- }
-// if the start date has changed then recalculate the next run time
-
-// var_dump($recalculateTime);
-// die();
- $nActualTime = $_POST['form']['SCH_START_TIME'];
- if(($sOption!='1') && ($sOption!='4') && ($sOption!='5')) {
- if ($sStartDay==''){
- $sStartDay = date('Y-m-d');
- }
-// echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."
";
- $dCurrentDay = date("d");
- $dCurrentMonth = date("m");
- $aStartDay = explode( "|" , $aData['SCH_START_DAY'] );
- if($sOption=='3'&&$aStartDay[0]=='1'){
- $monthsArray = explode("|",$sMonths);
- foreach ($monthsArray as $row){
- if ( $dCurrentMonth == $row && $dCurrentDay<$aStartDay[1] ){
- $startTime = $_POST['form']['SCH_START_TIME'].":00";
- if ($recalculateDate) {
- $aData['SCH_TIME_NEXT_RUN'] = date('Y') . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
- } else if ($recalculateTime){
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun("Y-m-d"). " " . $_POST['form']['SCH_START_TIME'] . ":00";
- }
- break;
- } else {
- if ($recalculateDate) {
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
- } else if ($recalculateTime){
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun("Y-m-d"). " " . $_POST['form']['SCH_START_TIME'] . ":00";
- }
- }
- }
- } else {
- if ($recalculateDate) {
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
- } else if ($recalculateTime){
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun("Y-m-d"). " " . $_POST['form']['SCH_START_TIME'] . ":00";
- }
- }
-// print_r ($aData['SCH_TIME_NEXT_RUN']);
-// die;
- } else {
- if ($sOption=='4'){
- $aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
- }
- if ($recalculateDate) {
- $aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
- } else if ($recalculateTime){
-
-// $Fields = $oCaseScheduler->Load($aData['SCH_UID']);
-// $Fields['SCH_LAST_STATE'] = $aRow['SCH_STATE'];
-// $Fields['SCH_STATE'] = 'PROCESSED';
-// $this->Update($Fields);
- $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun("Y-m-d"). " " . $_POST['form']['SCH_START_TIME'] . ":00";
- }
-// var_dump($recalculateTime);
-// var_dump($aData['SCH_TIME_NEXT_RUN']);
-// die;
- if ($sOption=='5') {
- $date = $oCaseScheduler->getSchLastRunTime();
- if ($date == null) {
- $date = $oCaseScheduler->getSchStartTime();
- }
- $date = strtotime($date);
- $nextRun = $_POST['form']['SCH_REPEAT_EVERY']*60*60;
- $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
- $date += $nextRun;
- $date = date("Y-m-d H:i", $date );
- $aData['SCH_TIME_NEXT_RUN'] = $date;
- }
- }
-
- if(!empty($_POST['form']['SCH_REPEAT_TASK_CHK'])){
- $nOptEvery = $_POST['form']['SCH_REPEAT_EVERY_OPT'];
- if($nOptEvery ==2)
- $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'] * 60;
- else
- $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
-
-
- }
-// var_dump ($aData['SCH_TIME_NEXT_RUN']);
-// die;
- $oCaseScheduler ->Update($aData);
- if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){
- $params=explode("--",$_REQUEST ['form']['CASE_SH_PLUGIN_UID']);
- $oPluginRegistry =& PMPluginRegistry::getSingleton();
- $activePluginsForCaseScheduler=$oPluginRegistry->getCaseSchedulerPlugins();
-
- foreach($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail){
- if(($caseSchedulerPluginDetail->sNamespace==$params[0])&&($caseSchedulerPluginDetail->sActionId==$params[1])){
- $caseSchedulerSelected=$caseSchedulerPluginDetail;
-
- }
- }
- if((isset($caseSchedulerSelected))&&(is_object($caseSchedulerSelected))){
- //Save the form
- $oData=$_POST['pluginFields'];
- $oData['SCH_UID'] =$aData['SCH_UID'];
- $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData );
- }
- }
-
- G::header('location: cases_Scheduler_List?PRO_UID='.$_POST['form']['PRO_UID']);
-
-
-}
-catch (Exception $oException) {
- die($oException->getMessage());
-}
-?>
\ No newline at end of file
+ */
+
+ require_once 'classes/model/CaseScheduler.php';
+
+ if (empty( $_POST )) {
+ die( 'The information sended is empty!' );
+ }
+ $aData['SCH_UID'] = $_POST['form']['SCH_UID'];
+ $aData['SCH_NAME'] = $_POST['form']['SCH_NAME'];
+ $aData['PRO_UID'] = $_POST['form']['PRO_UID'];
+ $aData['TAS_UID'] = $_POST['form']['TAS_UID'];
+
+ $oCaseScheduler = new CaseScheduler();
+ $oCaseScheduler->Load( $aData['SCH_UID'] );
+
+ $aData['SCH_DEL_USER_NAME'] = $_POST['form']['SCH_USER_NAME'];
+ if ($_POST['form']['SCH_USER_PASSWORD'] != 'DefaultPM') {
+ $aData['SCH_DEL_USER_PASS'] = md5( $_POST['form']['SCH_USER_PASSWORD'] );
+ }
+ $aData['SCH_DEL_USER_UID'] = $_POST['form']['SCH_USER_UID'];
+
+ // $aData['SCH_TIME_NEXT_RUN'] = time();
+ //$aData['SCH_LAST_RUN_TIME'] = time();
+ // $aData['SCH_STATE'] = 'ACTIVE';
+ // $aData['SCH_LAST_STATE'] = 'ACTIVE';
+ $aData['USR_UID'] = $_SESSION['USER_LOGGED'];
+
+ $sOption = $_POST['form']['SCH_OPTION'];
+ $aData['SCH_OPTION'] = $sOption;
+
+ $sDateTmp = $_POST['form']['SCH_START_DATE'];
+ $sTimeTmp = $_POST['form']['SCH_START_TIME'];
+ $aData['SCH_START_TIME'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
+ $aData['SCH_START_DATE'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
+ $previousStartTime = date( 'Y-m-d', strtotime( $_POST['form']['PREV_SCH_START_DATE'] ) ) . ' ' . date( 'H:i:s', strtotime( $_POST['form']['PREV_SCH_START_TIME'] ) );
+ $previousStartDate = date( 'Y-m-d', strtotime( $_POST['form']['PREV_SCH_START_DATE'] ) ) . ' ' . date( 'H:i:s', strtotime( $_POST['form']['PREV_SCH_START_TIME'] ) );
+
+ $sValue = '';
+ $sDaysPerformTask = '';
+ $sWeeks = '';
+ $sMonths = '';
+ $sMonths = '';
+ $sStartDay = '';
+ $nSW = 0;
+
+ switch ($sOption) {
+ case '1': // Option 1
+ $sValue = $_POST['form']['SCH_DAYS_PERFORM_TASK'];
+ switch ($sValue) {
+ case '1':
+ $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|1';
+ break;
+ case '2':
+ $aData['SCH_OPTION'] = '2';
+ $aData['SCH_EVERY_DAYS'] = '1';
+ $aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
+ break;
+ case '3': // Every [n] Days
+ $sDaysPerformTask = $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
+ $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|' . $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
+ break;
+ }
+ break;
+ case '2': // If the option is zero, set by default 1
+ if (empty( $_POST['form']['SCH_EVERY_DAYS'] ))
+ $nEveryDays = 1;
+ else
+ $nEveryDays = $_POST['form']['SCH_EVERY_DAYS'];
+ $aData['SCH_EVERY_DAYS'] = $nEveryDays;
+ $sWeeks = '';
+ if (! empty( $_POST['form']['SCH_WEEK_DAYS'] )) {
+ $aWeekDays = $_POST['form']['SCH_WEEK_DAYS'];
+ foreach ($aWeekDays as $value) {
+ $sWeeks = $sWeeks . $value . '|';
+ }
+ }
+ if (! empty( $_POST['form']['SCH_WEEK_DAYS_2'] )) {
+ $aWeekDays2 = $_POST['form']['SCH_WEEK_DAYS_2'];
+ foreach ($aWeekDays2 as $value) {
+ $sWeeks = $sWeeks . $value . '|';
+ }
+ }
+ $sStartTime = $_POST['form']['SCH_START_TIME'];
+ $aData['SCH_WEEK_DAYS'] = $sWeeks;
+ break;
+
+ case '3':
+ $nStartDay = $_POST['form']['SCH_START_DAY'];
+ if ($nStartDay == 1) {
+ $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_1'];
+ } else {
+ $aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_2_WEEKS'] . '|' . $_POST['form']['SCH_START_DAY_OPT_2_DAYS_WEEK'];
+ }
+
+ $sMonths = '';
+ if (! empty( $_POST['form']['SCH_MONTHS'] )) {
+ $aMonths = $_POST['form']['SCH_MONTHS'];
+ foreach ($aMonths as $value) {
+ $sMonths = $sMonths . $value . '|';
+ }
+ }
+ if (! empty( $_POST['form']['SCH_MONTHS_2'] )) {
+ $aMonths2 = $_POST['form']['SCH_MONTHS_2'];
+ foreach ($aMonths2 as $value) {
+ $sMonths = $sMonths . $value . '|';
+ }
+ }
+ if (! empty( $_POST['form']['SCH_MONTHS_3'] )) {
+ $aMonths3 = $_POST['form']['SCH_MONTHS_3'];
+ foreach ($aMonths3 as $value) {
+ $sMonths = $sMonths . $value . '|';
+ }
+ }
+ $aData['SCH_MONTHS'] = $sMonths;
+ $sStartDay = $aData['SCH_START_DAY'];
+ $sValue = $nStartDay;
+ break;
+
+ }
+ if (trim( $_POST['form']['SCH_END_DATE'] ) != '') {
+ $aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
+ }
+ // if the start date has changed then recalculate the next run time
+ if ($_POST['form']['SCH_START_DATE'] == $_POST['form']['PREV_SCH_START_DATE']) {
+ $recalculateDate = false;
+ } else {
+ $recalculateDate = true;
+ }
+ if (date( 'H:i:s', strtotime( $_POST['form']['SCH_START_TIME'] ) ) == date( 'H:i:s', strtotime( $_POST['form']['PREV_SCH_START_TIME'] ) )) {
+ $recalculateTime = false;
+ } else {
+ $recalculateTime = true;
+ }
+ // if the start date has changed then recalculate the next run time
+
+
+ // var_dump($recalculateTime);
+ // die();
+ $nActualTime = $_POST['form']['SCH_START_TIME'];
+ if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) {
+ if ($sStartDay == '') {
+ $sStartDay = date( 'Y-m-d' );
+ }
+ // echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."
";
+ $dCurrentDay = date( "d" );
+ $dCurrentMonth = date( "m" );
+ $aStartDay = explode( "|", $aData['SCH_START_DAY'] );
+ if ($sOption == '3' && $aStartDay[0] == '1') {
+ $monthsArray = explode( "|", $sMonths );
+ foreach ($monthsArray as $row) {
+ if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) {
+ $startTime = $_POST['form']['SCH_START_TIME'] . ":00";
+ if ($recalculateDate) {
+ $aData['SCH_TIME_NEXT_RUN'] = date( 'Y' ) . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
+ } else if ($recalculateTime) {
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun( "Y-m-d" ) . " " . $_POST['form']['SCH_START_TIME'] . ":00";
+ }
+ break;
+ } else {
+ if ($recalculateDate) {
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp );
+ } else if ($recalculateTime) {
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun( "Y-m-d" ) . " " . $_POST['form']['SCH_START_TIME'] . ":00";
+ }
+ }
+ }
+ } else {
+ if ($recalculateDate) {
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp );
+ } else if ($recalculateTime) {
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun( "Y-m-d" ) . " " . $_POST['form']['SCH_START_TIME'] . ":00";
+ }
+ }
+ // print_r ($aData['SCH_TIME_NEXT_RUN']);
+ // die;
+ } else {
+ if ($sOption == '4') {
+ $aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
+ }
+ if ($recalculateDate) {
+ $aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
+ } else if ($recalculateTime) {
+
+ // $Fields = $oCaseScheduler->Load($aData['SCH_UID']);
+ // $Fields['SCH_LAST_STATE'] = $aRow['SCH_STATE'];
+ // $Fields['SCH_STATE'] = 'PROCESSED';
+ // $this->Update($Fields);
+ $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->getSchTimeNextRun( "Y-m-d" ) . " " . $_POST['form']['SCH_START_TIME'] . ":00";
+ }
+ // var_dump($recalculateTime);
+ // var_dump($aData['SCH_TIME_NEXT_RUN']);
+ // die;
+ if ($sOption == '5') {
+ $date = $oCaseScheduler->getSchLastRunTime();
+ if ($date == null) {
+ $date = $oCaseScheduler->getSchStartTime();
+ }
+ $date = strtotime( $date );
+ $nextRun = $_POST['form']['SCH_REPEAT_EVERY'] * 60 * 60;
+ $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
+ $date += $nextRun;
+ $date = date( "Y-m-d H:i", $date );
+ $aData['SCH_TIME_NEXT_RUN'] = $date;
+ }
+ }
+
+ if (! empty( $_POST['form']['SCH_REPEAT_TASK_CHK'] )) {
+ $nOptEvery = $_POST['form']['SCH_REPEAT_EVERY_OPT'];
+ if ($nOptEvery == 2)
+ $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'] * 60;
+ else
+ $aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
+
+ }
+ // var_dump ($aData['SCH_TIME_NEXT_RUN']);
+ // die;
+ $oCaseScheduler->Update( $aData );
+ if ((isset( $_POST['form']['CASE_SH_PLUGIN_UID'] )) && ($_POST['form']['CASE_SH_PLUGIN_UID'] != "")) {
+ $params = explode( "--", $_REQUEST['form']['CASE_SH_PLUGIN_UID'] );
+ $oPluginRegistry = & PMPluginRegistry::getSingleton();
+ $activePluginsForCaseScheduler = $oPluginRegistry->getCaseSchedulerPlugins();
+
+ foreach ($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail) {
+ if (($caseSchedulerPluginDetail->sNamespace == $params[0]) && ($caseSchedulerPluginDetail->sActionId == $params[1])) {
+ $caseSchedulerSelected = $caseSchedulerPluginDetail;
+
+ }
+ }
+ if ((isset( $caseSchedulerSelected )) && (is_object( $caseSchedulerSelected ))) {
+ //Save the form
+ $oData = $_POST['pluginFields'];
+ $oData['SCH_UID'] = $aData['SCH_UID'];
+ $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData );
+ }
+ }
+
+ G::header( 'location: cases_Scheduler_List?PRO_UID=' . $_POST['form']['PRO_UID'] );
+
+} catch (Exception $oException) {
+ die( $oException->getMessage() );
+}
+
diff --git a/workflow/engine/methods/cases/cases_ShowDocument.php b/workflow/engine/methods/cases/cases_ShowDocument.php
index 010e1eb02..a77a39470 100755
--- a/workflow/engine/methods/cases/cases_ShowDocument.php
+++ b/workflow/engine/methods/cases/cases_ShowDocument.php
@@ -1,97 +1,89 @@
-.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- *
- */
+.
+ *
+ * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
+ * Coral Gables, FL, 33134, USA, or email info@colosa.com.
+ */
/*
* Created on 13-02-2008
*
* @author David Callizaya
- */
-
-require_once ( "classes/model/AppDocumentPeer.php" );
-
-$oAppDocument = new AppDocument();
-if(!isset($_GET['v'])){//Load last version of the document
- $docVersion=$oAppDocument->getLastAppDocVersion($_GET['a']);
-}else{
- $docVersion=$_GET['v'];
-}
-$oAppDocument->Fields = $oAppDocument->load($_GET['a'],$docVersion);
-
-$sAppDocUid = $oAppDocument->getAppDocUid();
-$iDocVersion = $oAppDocument->getDocVersion();
-$info = pathinfo( $oAppDocument->getAppDocFilename() );
-$ext = $info['extension'];
-
-if (isset($_GET['b'])) {
- if ($_GET['b'] == '0') {
- $bDownload = false;
- }
- else {
- $bDownload = true;
- }
-}
-else {
- $bDownload = true;
-}
-
-
-$realPath = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/' . $sAppDocUid .'_'.$iDocVersion . '.' . $ext ;
-$realPath1 = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/' . $sAppDocUid . '.' . $ext ;
-$sw_file_exists=false;
-if(file_exists($realPath)){
- $sw_file_exists=true;
-}elseif(file_exists($realPath1)){
- $sw_file_exists=true;
- $realPath=$realPath1;
-}
-
-if(!$sw_file_exists){
- $error_message="'".$oAppDocument->Fields['APP_DOC_FILENAME']. "' ".G::LoadTranslation('ID_ERROR_STREAMING_FILE');
- if((isset($_POST['request']))&&($_POST['request']==true)){
- $res ['success'] = 'failure';
- $res ['message'] = $error_message;
- print G::json_encode ( $res );
- }else{
- G::SendMessageText($error_message, "ERROR");
- $backUrlObj=explode("sys".SYS_SYS,$_SERVER['HTTP_REFERER']);
- G::header("location: "."/sys".SYS_SYS.$backUrlObj[1]);
- die;
- }
-
-}else{
- if((isset($_POST['request']))&&($_POST['request']==true)){
- $res ['success'] = 'success';
- $res ['message'] = $oAppDocument->Fields['APP_DOC_FILENAME'];
- print G::json_encode ( $res );
- }else{
- G::streamFile ( $realPath, $bDownload, $oAppDocument->Fields['APP_DOC_FILENAME'] );
- }
-}
-
-
-
-
-
-
-?>
\ No newline at end of file
+ */
+
+require_once ("classes/model/AppDocumentPeer.php");
+
+$oAppDocument = new AppDocument();
+if (! isset( $_GET['v'] )) {
+ //Load last version of the document
+ $docVersion = $oAppDocument->getLastAppDocVersion( $_GET['a'] );
+} else {
+ $docVersion = $_GET['v'];
+}
+
+$oAppDocument->Fields = $oAppDocument->load( $_GET['a'], $docVersion );
+
+$sAppDocUid = $oAppDocument->getAppDocUid();
+$iDocVersion = $oAppDocument->getDocVersion();
+$info = pathinfo( $oAppDocument->getAppDocFilename() );
+$ext = $info['extension'];
+
+if (isset( $_GET['b'] )) {
+ if ($_GET['b'] == '0') {
+ $bDownload = false;
+ } else {
+ $bDownload = true;
+ }
+} else {
+ $bDownload = true;
+}
+
+$realPath = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/' . $sAppDocUid . '_' . $iDocVersion . '.' . $ext;
+$realPath1 = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/' . $sAppDocUid . '.' . $ext;
+$sw_file_exists = false;
+if (file_exists( $realPath )) {
+ $sw_file_exists = true;
+} elseif (file_exists( $realPath1 )) {
+ $sw_file_exists = true;
+ $realPath = $realPath1;
+}
+
+if (! $sw_file_exists) {
+ $error_message = "'" . $oAppDocument->Fields['APP_DOC_FILENAME'] . "' " . G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
+ if ((isset( $_POST['request'] )) && ($_POST['request'] == true)) {
+ $res['success'] = 'failure';
+ $res['message'] = $error_message;
+ print G::json_encode( $res );
+ } else {
+ G::SendMessageText( $error_message, "ERROR" );
+ $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] );
+ G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] );
+ die();
+ }
+
+} else {
+ if ((isset( $_POST['request'] )) && ($_POST['request'] == true)) {
+ $res['success'] = 'success';
+ $res['message'] = $oAppDocument->Fields['APP_DOC_FILENAME'];
+ print G::json_encode( $res );
+ } else {
+ G::streamFile( $realPath, $bDownload, $oAppDocument->Fields['APP_DOC_FILENAME'] );
+ }
+}
+
diff --git a/workflow/engine/methods/cases/cases_generatePMTable.php b/workflow/engine/methods/cases/cases_generatePMTable.php
index c1dd246b6..8385b8ff7 100755
--- a/workflow/engine/methods/cases/cases_generatePMTable.php
+++ b/workflow/engine/methods/cases/cases_generatePMTable.php
@@ -1,110 +1,100 @@
-'APP_UID'),array('FLD_NAME'=>'CON_NAME'),array('FLD_NAME'=>'CON_ADDR'),array('FLD_NAME'=>'_cedula'));
-
+$pmTableFields = array (array ('FLD_NAME' => 'APP_UID'
+),array ('FLD_NAME' => 'CON_NAME'
+),array ('FLD_NAME' => 'CON_ADDR'
+),array ('FLD_NAME' => '_cedula'
+)
+);
+
// setting the data to assemble the table
-$aData = array();
-$aData['ADD_TAB_NAME'] = $pmTableName;
+$aData = array ();
+$aData['ADD_TAB_NAME'] = $pmTableName;
// creating the objects to create the table and records
-$oFields = new Fields();
-$oAdditionalTables = new AdditionalTables();
-
-$sAddTabUid = $oAdditionalTables->create($aData, $pmTableFields);
-
-foreach ($pmTableFields as $iRow => $aRow) {
- $pmTableFields[$iRow]['FLD_NAME'] = strtoupper($aRow['FLD_NAME']);
- $pmTableFields[$iRow]['FLD_DESCRIPTION'] = isset($aRow['FLD_DESCRIPTION']) ? $aRow['FLD_DESCRIPTION'] : $aRow['FLD_NAME'];
- $pmTableFields[$iRow]['FLD_TYPE'] = isset($aRow['FLD_TYPE']) ? $aRow['FLD_TYPE'] : 'VARCHAR';
- $pmTableFields[$iRow]['FLD_SIZE'] = isset($aRow['FLD_SIZE']) ? $aRow['FLD_SIZE'] : '32';
- $pmTableFields[$iRow]['FLD_NULL'] = isset($aRow['FLD_NULL']) ? $aRow['FLD_NULL'] : 'off';
- $pmTableFields[$iRow]['FLD_AUTO_INCREMENT'] = isset($aRow['FLD_AUTO_INCREMENT']) ? $aRow['FLD_AUTO_INCREMENT'] : 'off';
- $pmTableFields[$iRow]['FLD_KEY'] = isset($aRow['FLD_KEY']) ? $aRow['FLD_KEY'] : 'off';
- $pmTableFields[$iRow]['FLD_FOREIGN_KEY'] = isset($aRow['FLD_FOREIGN_KEY']) ? $aRow['FLD_FOREIGN_KEY'] : 'off';
- $pmTableFields[$iRow]['FLD_FOREIGN_KEY_TABLE'] = isset($aRow['FLD_FOREIGN_KEY_TABLE']) ? $aRow['FLD_FOREIGN_KEY_TABLE'] : '';
-}
-
-foreach ($pmTableFields as $iRow => $aRow) {
-
- $oFields->create(array('FLD_INDEX' => $iRow+1,
- 'ADD_TAB_UID' => $sAddTabUid,
- 'FLD_NAME' => $aRow['FLD_NAME'],
- 'FLD_DESCRIPTION' => isset($aRow['FLD_DESCRIPTION']) ? $aRow['FLD_DESCRIPTION'] : '',
- 'FLD_TYPE' => isset($aRow['FLD_TYPE']) ? $aRow['FLD_TYPE'] : 'VARCHAR',
- 'FLD_SIZE' => isset($aRow['FLD_SIZE']) ? $aRow['FLD_SIZE'] : '32',
- 'FLD_NULL' => ($aRow['FLD_NULL'] == 'on' ? 1 : 0),
- 'FLD_AUTO_INCREMENT' => ($aRow['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0),
- 'FLD_KEY' => ($aRow['FLD_KEY'] == 'on' ? 1 : 0),
- 'FLD_FOREIGN_KEY' => ($aRow['FLD_FOREIGN_KEY'] == 'on' ? 1 : 0),
- 'FLD_FOREIGN_KEY_TABLE' => isset($aRow['FLD_FOREIGN_KEY_TABLE']) ? $aRow['FLD_FOREIGN_KEY_TABLE'] : ''));
-
- $aFields[] = array('sType' => isset($aRow['FLD_TYPE']) ? $aRow['FLD_TYPE'] : 'VARCHAR',
- 'iSize' => isset($aRow['FLD_SIZE']) ? $aRow['FLD_SIZE'] : '32',
- 'sFieldName' => $aRow['FLD_NAME'],
- 'bNull' => ($aRow['FLD_NULL'] == 'on' ? 1 : 0),
- 'bAI' => ($aRow['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0),
- 'bPrimaryKey' => ($aRow['FLD_KEY'] == 'on' ? 1 : 0));
-}
-
-$oAdditionalTables->createTable(strtoupper($pmTableName), 'wf', $aFields);
-$oAdditionalTables->createPropelClasses(strtoupper($pmTableName), $pmTableName, $pmTableFields, $sAddTabUid);
-
-require_once ( "classes/model/Application.php" );
-require_once ( "classes/model/AdditionalTables.php" );
-require_once ( "classes/model/Fields.php" );
-
-
-$Criteria = new Criteria('workflow');
-$Criteria->addSelectColumn (ApplicationPeer::APP_UID);
-$Criteria->addSelectColumn (ApplicationPeer::APP_DATA);
-
+$oFields = new Fields();
+$oAdditionalTables = new AdditionalTables();
+
+$sAddTabUid = $oAdditionalTables->create( $aData, $pmTableFields );
+
+foreach ($pmTableFields as $iRow => $aRow) {
+ $pmTableFields[$iRow]['FLD_NAME'] = strtoupper( $aRow['FLD_NAME'] );
+ $pmTableFields[$iRow]['FLD_DESCRIPTION'] = isset( $aRow['FLD_DESCRIPTION'] ) ? $aRow['FLD_DESCRIPTION'] : $aRow['FLD_NAME'];
+ $pmTableFields[$iRow]['FLD_TYPE'] = isset( $aRow['FLD_TYPE'] ) ? $aRow['FLD_TYPE'] : 'VARCHAR';
+ $pmTableFields[$iRow]['FLD_SIZE'] = isset( $aRow['FLD_SIZE'] ) ? $aRow['FLD_SIZE'] : '32';
+ $pmTableFields[$iRow]['FLD_NULL'] = isset( $aRow['FLD_NULL'] ) ? $aRow['FLD_NULL'] : 'off';
+ $pmTableFields[$iRow]['FLD_AUTO_INCREMENT'] = isset( $aRow['FLD_AUTO_INCREMENT'] ) ? $aRow['FLD_AUTO_INCREMENT'] : 'off';
+ $pmTableFields[$iRow]['FLD_KEY'] = isset( $aRow['FLD_KEY'] ) ? $aRow['FLD_KEY'] : 'off';
+ $pmTableFields[$iRow]['FLD_FOREIGN_KEY'] = isset( $aRow['FLD_FOREIGN_KEY'] ) ? $aRow['FLD_FOREIGN_KEY'] : 'off';
+ $pmTableFields[$iRow]['FLD_FOREIGN_KEY_TABLE'] = isset( $aRow['FLD_FOREIGN_KEY_TABLE'] ) ? $aRow['FLD_FOREIGN_KEY_TABLE'] : '';
+}
+
+foreach ($pmTableFields as $iRow => $aRow) {
+
+ $oFields->create( array ('FLD_INDEX' => $iRow + 1,'ADD_TAB_UID' => $sAddTabUid,'FLD_NAME' => $aRow['FLD_NAME'],'FLD_DESCRIPTION' => isset( $aRow['FLD_DESCRIPTION'] ) ? $aRow['FLD_DESCRIPTION'] : '','FLD_TYPE' => isset( $aRow['FLD_TYPE'] ) ? $aRow['FLD_TYPE'] : 'VARCHAR','FLD_SIZE' => isset( $aRow['FLD_SIZE'] ) ? $aRow['FLD_SIZE'] : '32','FLD_NULL' => ($aRow['FLD_NULL'] == 'on' ? 1 : 0),'FLD_AUTO_INCREMENT' => ($aRow['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0),'FLD_KEY' => ($aRow['FLD_KEY'] == 'on' ? 1 : 0),'FLD_FOREIGN_KEY' => ($aRow['FLD_FOREIGN_KEY'] == 'on' ? 1 : 0),'FLD_FOREIGN_KEY_TABLE' => isset( $aRow['FLD_FOREIGN_KEY_TABLE'] ) ? $aRow['FLD_FOREIGN_KEY_TABLE'] : ''
+ ) );
+
+ $aFields[] = array ('sType' => isset( $aRow['FLD_TYPE'] ) ? $aRow['FLD_TYPE'] : 'VARCHAR','iSize' => isset( $aRow['FLD_SIZE'] ) ? $aRow['FLD_SIZE'] : '32','sFieldName' => $aRow['FLD_NAME'],'bNull' => ($aRow['FLD_NULL'] == 'on' ? 1 : 0),'bAI' => ($aRow['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0),'bPrimaryKey' => ($aRow['FLD_KEY'] == 'on' ? 1 : 0)
+ );
+}
+
+$oAdditionalTables->createTable( strtoupper( $pmTableName ), 'wf', $aFields );
+$oAdditionalTables->createPropelClasses( strtoupper( $pmTableName ), $pmTableName, $pmTableFields, $sAddTabUid );
+
+require_once ("classes/model/Application.php");
+require_once ("classes/model/AdditionalTables.php");
+require_once ("classes/model/Fields.php");
+
+$Criteria = new Criteria( 'workflow' );
+$Criteria->addSelectColumn( ApplicationPeer::APP_UID );
+$Criteria->addSelectColumn( ApplicationPeer::APP_DATA );
+
// $Criteria->add (AppCacheViewPeer::DEL_THREAD_STATUS, 'OPEN');
-$oDataset = ApplicationPeer::doSelectRS($Criteria);
-$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-$oDataset->next();
-$aProcesses = array();
-$i = 0;
-while ($aRow = $oDataset->getRow()) {
- $appuid = $aRow['APP_UID'];
- $data = unserialize ( $aRow['APP_DATA'] );
-$cedula = '234'. rand (1000,999999);
-$nombre = 'nombre '. rand (1000,999999);
-$direccion = 'direccion '. rand (1000,999999);
- if ( isset ( $data['_cedula'] ) ) {
- $cedula = $data['_cedula'];
- $nombre = isset($data['_nombre']) ? $data['_nombre'] : '';
- $direccion = isset($data['_direccion']) ? $data['_direccion'] : '';
- print "$i $appuid $cedula
";
- }
-// print_r ( $aRow);
- $sql = "insert CONTENDERS VALUES ( '$appuid', '$nombre', '$direccion', '$cedula' )";
-
- $con = Propel::getConnection('workflow');
- $stmt = $con->createStatement();
- $rs = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC);
-
- $i++;
-// if ( $i == 100 ) die;
-/* if ( strpos ( $aRow['APP_DATA'], 'cedula' ) !== false ) {
+$oDataset = ApplicationPeer::doSelectRS( $Criteria );
+$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+$oDataset->next();
+$aProcesses = array ();
+$i = 0;
+while ($aRow = $oDataset->getRow()) {
+ $appuid = $aRow['APP_UID'];
+ $data = unserialize( $aRow['APP_DATA'] );
+ $cedula = '234' . rand( 1000, 999999 );
+ $nombre = 'nombre ' . rand( 1000, 999999 );
+ $direccion = 'direccion ' . rand( 1000, 999999 );
+ if (isset( $data['_cedula'] )) {
+ $cedula = $data['_cedula'];
+ $nombre = isset( $data['_nombre'] ) ? $data['_nombre'] : '';
+ $direccion = isset( $data['_direccion'] ) ? $data['_direccion'] : '';
+ print "$i $appuid $cedula
";
+ }
+ // print_r ( $aRow);
+ $sql = "insert CONTENDERS VALUES ( '$appuid', '$nombre', '$direccion', '$cedula' )";
+
+ $con = Propel::getConnection( 'workflow' );
+ $stmt = $con->createStatement();
+ $rs = $stmt->executeQuery( $sql, ResultSet::FETCHMODE_ASSOC );
+
+ $i ++;
+ // if ( $i == 100 ) die;
+ /* if ( strpos ( $aRow['APP_DATA'], 'cedula' ) !== false ) {
print_r ( $aRow );
print "
";
$i++;
if ( $i == 10 ) die;
}
-*/
- $oDataset->next();
-}
-print "--$i--";
-
-?>
+*/
+ $oDataset->next();
+}
+print "--$i--";
+