diff --git a/workflow/engine/methods/cases/cases_Reassign.php b/workflow/engine/methods/cases/cases_Reassign.php index 942f624c1..ca4ab3bd8 100755 --- a/workflow/engine/methods/cases/cases_Reassign.php +++ b/workflow/engine/methods/cases/cases_Reassign.php @@ -1,120 +1,122 @@ -. - * - * 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 ); +. + * + * 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() ); -} - + + + $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 f1f13df61..7ae15e085 100755 --- a/workflow/engine/methods/cases/cases_ReassignByUser.php +++ b/workflow/engine/methods/cases/cases_ReassignByUser.php @@ -1,150 +1,152 @@ -. - * - * 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'; +. + * + * 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 ); + 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::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_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() ); -} + + + 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. - */ -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; - } +. + * + * 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::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() ); -} - + + +} 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 908ac3db8..a6cb95f65 100755 --- a/workflow/engine/methods/cases/cases_Redirect.php +++ b/workflow/engine/methods/cases/cases_Redirect.php @@ -1,39 +1,39 @@ -. - * - * 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 - * - * @author Everth S . Berrios - */ -require_once 'classes/model/AppDocument.php'; -$oAppDocument = new AppDocument(); -$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'] ); - -G::header( 'location: cases_ShowOutputDocument?a=' . $a . '&ext=' . $ext ); - +. + * + * 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 + * + * @author Everth S . Berrios + */ +require_once 'classes/model/AppDocument.php'; +$oAppDocument = new AppDocument(); +$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'] ); + +G::header( 'location: cases_ShowOutputDocument?a=' . $a . '&ext=' . $ext ); + diff --git a/workflow/engine/methods/cases/cases_Resume.php b/workflow/engine/methods/cases/cases_Resume.php index e34ad352a..b705697e8 100755 --- a/workflow/engine/methods/cases/cases_Resume.php +++ b/workflow/engine/methods/cases/cases_Resume.php @@ -1,94 +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; -} - -/* Includes */ -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 */ +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) { +$_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(); - +} + +$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( ' var Cse = {}; Cse.panels = {}; @@ -100,21 +101,21 @@ $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); - ' ); - -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 7150134a7..3f28a2c2b 100755 --- a/workflow/engine/methods/cases/cases_Save.php +++ b/workflow/engine/methods/cases/cases_Save.php @@ -1,78 +1,82 @@ -. - * - * 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' ); - +. + * + * 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 */ /* 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' ); -} - +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 e09482d7d..02c4ad0f9 100755 --- a/workflow/engine/methods/cases/cases_SaveData.php +++ b/workflow/engine/methods/cases/cases_SaveData.php @@ -1,320 +1,321 @@ -. - * - * 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' ) - ) ) ); - } - - $oForm = new Form( $_SESSION["PROCESS"] . "/" . $_GET["UID"], PATH_DYNAFORM ); - $oForm->validatePost(); - - //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"] ); - - $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 - - #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' ); - - $_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; - } - } - } - //$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']; - - $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 ); - } - } - - //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; - - 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]; - $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 (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]; - } - - if ($indocUid != null) { - require_once ("classes/model/AppFolder.php"); - require_once ("classes/model/InputDocument.php"); - - $oInputDocument = new InputDocument(); - $aID = $oInputDocument->load( $indocUid ); - - //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 - ); - } - - $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; - - G::uploadFile( $arrayFileTmpName[$i], $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 ); - $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; - } - - $oAppDocument->update( $aFields ); - - 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(); - } - - $_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 ($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 ); - } - - 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(); -} - +. + * + * 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' ) + ) ) ); + } + + $oForm = new Form( $_SESSION["PROCESS"] . "/" . $_GET["UID"], PATH_DYNAFORM ); + $oForm->validatePost(); + + //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"] ); + + $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 + + #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' ); + + $_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; + } + } + } + //$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']; + + $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 ); + } + } + + //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; + + 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]; + $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 (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]; + } + + if ($indocUid != null) { + require_once ("classes/model/AppFolder.php"); + require_once ("classes/model/InputDocument.php"); + + $oInputDocument = new InputDocument(); + $aID = $oInputDocument->load( $indocUid ); + + //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 + ); + } + + $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; + + G::uploadFile( $arrayFileTmpName[$i], $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 ); + $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; + } + + $oAppDocument->update( $aFields ); + + 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(); + } + + $_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 ($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 ); + } + + 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(); +} + diff --git a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php index 0ee4d00eb..942ca40b8 100755 --- a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php +++ b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php @@ -1,55 +1,55 @@ -. - * - * 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. + */ //validate the data post -$oForm = new Form( $_SESSION['PROCESS'] . '/' . $_GET['UID'], PATH_DYNAFORM ); -$oForm->validatePost(); - -/* Includes */ -G::LoadClass( 'case' ); - +$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'] ); - +$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 = 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 ); - +$oCase->updateCase( $_SESSION['APPLICATION'], $aData ); + //go to the next step -$aNextStep = $oCase->getNextSupervisorStep( $_SESSION['PROCESS'], $_SESSION['STEP_POSITION'] ); -$_SESSION['STEP_POSITION'] = $aNextStep['POSITION']; +$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'] ); diff --git a/workflow/engine/methods/cases/cases_SaveDocument.php b/workflow/engine/methods/cases/cases_SaveDocument.php index 8a4f43c9e..b9a5033f7 100755 --- a/workflow/engine/methods/cases/cases_SaveDocument.php +++ b/workflow/engine/methods/cases/cases_SaveDocument.php @@ -1,244 +1,243 @@ -. - * - * 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. + */ //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']; - +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() ); - +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) { +$_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'] ); + $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 = 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 ); - +$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(); - + + +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'] ); - +$oFolder = new AppFolder(); +$folderId = $oFolder->createFromPath( $aID['INP_DOC_DESTINATION_PATH'] ); + //Tags -$fileTags = $oFolder->parseTags( $aID['INP_DOC_TAGS'] ); - -switch ($actionType) { +$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; + $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; + + + $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'] : ''); - + $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 ); - +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; - } + $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 ); - } - } + $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(); - } -} +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 ) { @@ -247,5 +246,5 @@ $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep; $G_PUBLISH = new Publisher; $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); G::RenderPage( 'publish' ); - }*/ - + }*/ + diff --git a/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php b/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php index 2fdefdadf..bc6afa63d 100755 --- a/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php +++ b/workflow/engine/methods/cases/cases_SchedulerGetPlugins.php @@ -1,77 +1,80 @@ -getCaseSchedulerPlugins(); - $selectedPlugin = ""; - if ((isset( $_REQUEST['plg_uid'] )) && ($_REQUEST['plg_uid'] != "")) - $selectedPlugin = $_REQUEST['plg_uid']; - if (! empty( $activePluginsForCaseScheduler )) { - echo ''; +$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 ))) { + } +} + +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'] != "")) { + 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 ); - } -} - + $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 e83de4f19..9e82b7fb8 100755 --- a/workflow/engine/methods/cases/cases_SchedulerGetProcesses.php +++ b/workflow/engine/methods/cases/cases_SchedulerGetProcesses.php @@ -1,33 +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 135aa6139..7420bcc46 100755 --- a/workflow/engine/methods/cases/cases_SchedulerGetTasks.php +++ b/workflow/engine/methods/cases/cases_SchedulerGetTasks.php @@ -1,6 +1,6 @@ +. - * - * 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 aa506828d..ac65e891c 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_ChangeStatus.php +++ b/workflow/engine/methods/cases/cases_Scheduler_ChangeStatus.php @@ -1,27 +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')) { @@ -45,10 +45,10 @@ switch ($RBAC->userCanAccess('PM_FACTORY')) 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'] ); +$oCaseScheduler = new CaseScheduler(); +$oCaseScheduler->changeStatus( $_GET['SCH_UID'] ); G::header( 'location: ' . $_SERVER['HTTP_REFERER'] ); diff --git a/workflow/engine/methods/cases/cases_Scheduler_Edit.php b/workflow/engine/methods/cases/cases_Scheduler_Edit.php index e1c07c7d3..41f5f0dd0 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_Edit.php +++ b/workflow/engine/methods/cases/cases_Scheduler_Edit.php @@ -1,135 +1,135 @@ -. - * - * 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: +. + * + * 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: 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; - } -*/ - - require_once 'classes/model/CaseScheduler.php'; - require_once 'classes/model/Process.php'; - require_once 'classes/model/Task.php'; - + die; + break; + case -1: + G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); + G::header('location: ../login/login'); + 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"; - + $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; + $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'] ) ); - + $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() ); -} - + 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 e92074fb4..f575b2e4c 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_List.php +++ b/workflow/engine/methods/cases/cases_Scheduler_List.php @@ -1,31 +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: @@ -38,57 +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 ); - +}*/ + +$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 ); + + +$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'] = ''; - } -} +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' ); + + +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 316c3a012..eaaec8343 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_Log.php +++ b/workflow/engine/methods/cases/cases_Scheduler_Log.php @@ -1,43 +1,44 @@ -. - * - * 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(); - +. + * + * 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' ); - + + +$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 05b20cdf0..998fcf2b4 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_Log_Detail.php +++ b/workflow/engine/methods/cases/cases_Scheduler_Log_Detail.php @@ -1,87 +1,87 @@ -. - * - * 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: - 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. + */ +try { + global $RBAC; -/* - $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')); - $aFields['MESSAGE3'] = str_replace("\r\n","
",G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS')); - $aFields['MESSAGE4'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME')); - $aFields['MESSAGE5'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME')); - // the default role variable sets the value that will be showed as the default for the role field. - $aFields['DEFAULT_ROLE'] = 'PROCESSMAKER_OPERATOR'; - $aFields['START_DATE'] = date('Y-m-d'); - $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' ); + /* + switch ($RBAC->userCanAccess('PM_FACTORY')) + { + 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; + } + */ + + /* + $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')); + $aFields['MESSAGE3'] = str_replace("\r\n","
",G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS')); + $aFields['MESSAGE4'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME')); + $aFields['MESSAGE5'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME')); + // the default role variable sets the value that will be showed as the default for the role field. + $aFields['DEFAULT_ROLE'] = 'PROCESSMAKER_OPERATOR'; + $aFields['START_DATE'] = date('Y-m-d'); + $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] ); + + + $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() ); -} - + $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 602b651b4..33f970ac0 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_New.php +++ b/workflow/engine/methods/cases/cases_Scheduler_New.php @@ -1,77 +1,76 @@ -. - * - * 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: - 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; - } -*/ + switch ($RBAC->userCanAccess('PM_FACTORY')) + { + 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; + } + */ + /* + $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')); + $aFields['MESSAGE3'] = str_replace("\r\n","
",G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS')); + $aFields['MESSAGE4'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME')); + $aFields['MESSAGE5'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME')); + // the default role variable sets the value that will be showed as the default for the role field. + $aFields['DEFAULT_ROLE'] = 'PROCESSMAKER_OPERATOR'; + $aFields['START_DATE'] = date('Y-m-d'); + $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)); + */ -/* - $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')); - $aFields['MESSAGE3'] = str_replace("\r\n","
",G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS')); - $aFields['MESSAGE4'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME')); - $aFields['MESSAGE5'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME')); - // the default role variable sets the value that will be showed as the default for the role field. - $aFields['DEFAULT_ROLE'] = 'PROCESSMAKER_OPERATOR'; - $aFields['START_DATE'] = date('Y-m-d'); - $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)); -*/ + 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 ) ); - 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 */ /*-- Base @@ -80,17 +79,17 @@ try { $_DBArray['NewCase'] = $oCase->getStartCases( $_SESSION['USER_LOGGED'] ); */ - $oCaseScheduler = new CaseScheduler(); + $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() ); -} - + + $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 69027cbd2..a6b36e3f4 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_Save.php +++ b/workflow/engine/methods/cases/cases_Scheduler_Save.php @@ -1,245 +1,243 @@ -. - * - * 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')) - { - 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; - } - */ - - 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'; + global $RBAC; + switch ($RBAC->userCanAccess('PM_FACTORY')) + { + 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; + } + */ + + 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 ) ); - + $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) { + + + $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; + $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; - + $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' ); - } + 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 ); - } + $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']; - } + } 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 ))) { + $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 ); - } - } - + $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 // @@ -259,11 +257,11 @@ try { // $event->update($editEvent); // //End Adding // } - - - G::header( 'location: cases_Scheduler_List?PRO_UID=' . $_POST['form']['PRO_UID'] ); - -} catch (Exception $oException) { - die( $oException->getMessage() ); -} - + + + 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 2d5d0918b..995eaaefb 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_Update.php +++ b/workflow/engine/methods/cases/cases_Scheduler_Update.php @@ -1,281 +1,284 @@ -. - * - * 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')) - { - 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; - } - */ - - 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']; - + global $RBAC; + switch ($RBAC->userCanAccess('PM_FACTORY')) + { + 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; + } + */ + + 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; + $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']; - } + $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 ($_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' ); - } + $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"; - } - } + $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; + } elseif ($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 ); + } elseif ($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 ); + } elseif ($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) { - + } else { + if ($sOption == '4') { + $aData['SCH_END_DATE'] = $aData['SCH_START_TIME']; + } + if ($recalculateDate) { + $aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME']; + } elseif ($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"; - } + $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']; - - } + 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 ))) { + $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() ); -} - + $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() ); +} +