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'];
Example #2
0
    /**

     * this function remove all Process except the PROCESS ROW

     *

     * @param string $sProUid

     * @return boolean

     */

    public function removeProcessRows ($sProUid)

    {

        try {

            //Instance all classes necesaries

            $oProcess = new Process();

            $oDynaform = new Dynaform();

            $oInputDocument = new InputDocument();

            $oOutputDocument = new OutputDocument();

            $oTrigger = new Triggers();

            $oStepTrigger = new StepTrigger();

            $oRoute = new Route();

            $oStep = new Step();

            $oSubProcess = new SubProcess();

            $oCaseTracker = new CaseTracker();

            $oCaseTrackerObject = new CaseTrackerObject();

            $oObjectPermission = new ObjectPermission();

            $oSwimlaneElement = new SwimlanesElements();

            $oConnection = new DbSource();

            $oStage = new Stage();

            $oEvent = new Event();

            $oCaseScheduler = new CaseScheduler();

            $oConfig = new Configuration();



            //Delete the tasks of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( TaskPeer::PRO_UID, $sProUid );

            $oDataset = TaskPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            $oTask = new Task();

            while ($aRow = $oDataset->getRow()) {

                $oCriteria = new Criteria( 'workflow' );

                $oCriteria->add( StepTriggerPeer::TAS_UID, $aRow['TAS_UID'] );

                StepTriggerPeer::doDelete( $oCriteria );

                if ($oTask->taskExists( $aRow['TAS_UID'] )) {

                    $oTask->remove( $aRow['TAS_UID'] );

                }

                $oDataset->next();

            }



            //Delete the dynaforms of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( DynaformPeer::PRO_UID, $sProUid );

            $oDataset = DynaformPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                $sWildcard = PATH_DYNAFORM . $aRow['PRO_UID'] . PATH_SEP . $aRow['DYN_UID'] . '_tmp*';

                foreach (glob( $sWildcard ) as $fn) {

                    @unlink( $fn );

                }

                $sWildcard = PATH_DYNAFORM . $aRow['PRO_UID'] . PATH_SEP . $aRow['DYN_UID'] . '.*';

                foreach (glob( $sWildcard ) as $fn) {

                    @unlink( $fn );

                }

                if ($oDynaform->dynaformExists( $aRow['DYN_UID'] )) {

                    $oDynaform->remove( $aRow['DYN_UID'] );

                }

                $oDataset->next();

            }



            //Delete the input documents of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( InputDocumentPeer::PRO_UID, $sProUid );

            $oDataset = InputDocumentPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oInputDocument->InputExists( $aRow['INP_DOC_UID'] )) {

                    $oInputDocument->remove( $aRow['INP_DOC_UID'] );

                }

                $oDataset->next();

            }



            //Delete the output documents of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( OutputDocumentPeer::PRO_UID, $sProUid );

            $oDataset = OutputDocumentPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oOutputDocument->OutputExists( $aRow['OUT_DOC_UID'] )) {

                    $oOutputDocument->remove( $aRow['OUT_DOC_UID'] );

                }

                $oDataset->next();

            }



            //Delete the steps

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( StepPeer::PRO_UID, $sProUid );

            $oDataset = StepPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                //Delete the steptrigger of process

                /*$oCriteria = new Criteria('workflow');

                  $oCriteria->add(StepTriggerPeer::STEP_UID, $aRow['STEP_UID']);

                  $oDataseti = StepTriggerPeer::doSelectRS($oCriteria);

                  $oDataseti->setFetchmode(ResultSet::FETCHMODE_ASSOC);

                  $oDataseti->next();

                  while ($aRowi = $oDataseti->getRow()) {

                  if ($oStepTrigger->stepTriggerExists($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']))

                  $oStepTrigger->remove($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']);

                  $oDataseti->next();

                  }*/

                $oStep->remove( $aRow['STEP_UID'] );

                $oDataset->next();

            }



            //Delete the StepSupervisor

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( StepSupervisorPeer::PRO_UID, $sProUid );

            $oDataset = StepSupervisorPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oStep->StepExists( $aRow['STEP_UID'] )) {

                    $oStep->remove( $aRow['STEP_UID'] );

                }

                $oDataset->next();

            }



            //Delete the triggers of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( TriggersPeer::PRO_UID, $sProUid );

            $oDataset = TriggersPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oTrigger->TriggerExists( $aRow['TRI_UID'] )) {

                    $oTrigger->remove( $aRow['TRI_UID'] );

                }

                $oDataset->next();

            }

            //Delete the routes of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( RoutePeer::PRO_UID, $sProUid );

            $oDataset = RoutePeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oRoute->routeExists( $aRow['ROU_UID'] )) {

                    $oRoute->remove( $aRow['ROU_UID'] );

                }

                $oDataset->next();

            }

            //Delete the swimlanes elements of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( SwimlanesElementsPeer::PRO_UID, $sProUid );

            $oDataset = SwimlanesElementsPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oSwimlaneElement->swimlanesElementsExists( $aRow['SWI_UID'] )) {

                    $oSwimlaneElement->remove( $aRow['SWI_UID'] );

                }

                $oDataset->next();

            }



            //Delete the DB connections of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( DbSourcePeer::PRO_UID, $sProUid );

            $oDataset = DbSourcePeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oConnection->Exists( $aRow['DBS_UID'], $aRow['PRO_UID'] )) {

                    $oConnection->remove( $aRow['DBS_UID'], $aRow['PRO_UID'] );

                }

                $oDataset->next();

            }



            //Delete the sub process of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( SubProcessPeer::PRO_PARENT, $sProUid );

            $oDataset = SubProcessPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oSubProcess->subProcessExists( $aRow['SP_UID'] )) {

                    $oSubProcess->remove( $aRow['SP_UID'] );

                }

                $oDataset->next();

            }



            //Delete the caseTracker of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( CaseTrackerPeer::PRO_UID, $sProUid );

            $oDataset = CaseTrackerPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oCaseTracker->caseTrackerExists( $aRow['PRO_UID'] )) {

                    $oCaseTracker->remove( $aRow['PRO_UID'] );

                }

                $oDataset->next();

            }



            //Delete the caseTrackerObject of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( CaseTrackerObjectPeer::PRO_UID, $sProUid );

            $oDataset = CaseTrackerObjectPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oCaseTrackerObject->caseTrackerObjectExists( $aRow['CTO_UID'] )) {

                    $oCaseTrackerObject->remove( $aRow['CTO_UID'] );

                }

                $oDataset->next();

            }



            //Delete the ObjectPermission of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( ObjectPermissionPeer::PRO_UID, $sProUid );

            $oDataset = ObjectPermissionPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oObjectPermission->Exists( $aRow['OP_UID'] )) {

                    $oObjectPermission->remove( $aRow['OP_UID'] );

                }

                $oDataset->next();

            }



            //Delete the Stage of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( StagePeer::PRO_UID, $sProUid );

            $oDataset = StagePeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oStage->Exists( $aRow['STG_UID'] )) {

                    $oStage->remove( $aRow['STG_UID'] );

                }

                $oDataset->next();

            }



            //Delete the Event of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( EventPeer::PRO_UID, $sProUid );

            $oDataset = EventPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oEvent->Exists( $aRow['EVN_UID'] )) {

                    $oEvent->remove( $aRow['EVN_UID'] );

                }

                $oDataset->next();

                if ($oEvent->existsByTaskUidFrom( $aRow['TAS_UID'] )) {

                    $aRowEvent = $oEvent->getRowByTaskUidFrom( $aRow['TAS_UID'] );

                    $oEvent->remove( $aRowEvent['EVN_UID'] );

                }

                $oDataset->next();

            }



            //Delete the CaseScheduler of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( CaseSchedulerPeer::PRO_UID, $sProUid );

            $oDataset = CaseSchedulerPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oCaseScheduler->Exists( $aRow['SCH_UID'] )) {

                    $oCaseScheduler->remove( $aRow['SCH_UID'] );

                }

                $oDataset->next();

            }



            //Delete the TaskExtraProperties of the process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->addSelectColumn( ConfigurationPeer::CFG_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::OBJ_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::CFG_VALUE );

            $oCriteria->addSelectColumn( TaskPeer::PRO_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::USR_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::APP_UID );

            $oCriteria->add( TaskPeer::PRO_UID, $sProUid );

            $oCriteria->add( ConfigurationPeer::CFG_UID, 'TAS_EXTRA_PROPERTIES' );

            $oCriteria->addJoin( ConfigurationPeer::OBJ_UID, TaskPeer::TAS_UID );

            $oDataset = ConfigurationPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oConfig->exists($aRow['CFG_UID'], $aRow['OBJ_UID'], $aRow['PRO_UID'], $aRow['USR_UID'], $aRow['APP_UID'])) {

                    $oConfig->remove( $aRow['CFG_UID'], $aRow['OBJ_UID'], $aRow['PRO_UID'], $aRow['USR_UID'], $aRow['APP_UID'] );

                }

                $oDataset->next();

            }



            return true;

        } catch (Exception $oError) {

            throw ($oError);

        }

    }
 *
 * 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'))
{
	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::LoadClass('cases_Scheduler');
  $oCases_Scheduler= new Cases_Scheduler();
  $oCases_Scheduler->changeStatus ( $_GET['SCH_UID'] );
  G::header('location: ' . $_SERVER['HTTP_REFERER']);
*/
require_once 'classes/model/CaseScheduler.php';
//  G::LoadClass('CaseScheduler');
$oCaseScheduler = new CaseScheduler();
$oCaseScheduler->changeStatus($_GET['SCH_UID']);
G::header('location: ' . $_SERVER['HTTP_REFERER']);
  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!');
 }
 if (empty($_POST['SCH_UID'])) {
     $aData['SCH_UID'] = G::generateUniqueID();
 } else {
     $aData['SCH_UID'] = $_POST['SCH_UID'];
 }
 $aData['SCH_NAME'] = $_POST['SCH_NAME'];
 $aData['SCH_DEL_USER_NAME'] = $_POST['SCH_DEL_USER_NAME'];
 $aData['SCH_DEL_USER_PASS'] = md5($_POST['SCH_USER_PASSWORD']);
 $aData['SCH_DEL_USER_UID'] = $_POST['SCH_DEL_USER_UID'];
 $aData['PRO_UID'] = $_POST['PRO_UID'];
 $aData['TAS_UID'] = $_POST['TAS_UID'];
 $aData['SCH_STATE'] = 'ACTIVE';
Example #5
0
 public function updateCaseScheduler($schUid, $data)
 {
     try {
         $data = array_merge(array("SCH_UID" => $schUid), $data);
         $caseScheduler = new \CaseScheduler();
         $caseScheduler->update($data);
         self::log("Update Case Scheduler Success!");
     } catch (\Exception $e) {
         self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
         throw $e;
     }
 }
 public function caseNewSchedulerList($sSchUID)
 {
     try {
         $oCaseScheduler = new CaseScheduler();
         $aRows = $oCaseScheduler->load($sSchUID);
         return $aRows;
     } catch (Exception $oError) {
         throw $oError;
     }
 }
 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";
 // 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:
Example #8
0
function executeScheduledCases($sNow = null)
{
    try {
        global $sFilter;
        global $sNow;
        $log = array();
        if ($sFilter != '' && strpos($sFilter, 'scheduler') === false) {
            return false;
        }
        setExecutionMessage("Executing the scheduled starting cases");
        setExecutionResultMessage('PROCESSING');
        $sNow = isset($sNow) ? $sNow : date('Y-m-d H:i:s');
        $oCaseScheduler = new CaseScheduler();
        $oCaseScheduler->caseSchedulerCron($sNow, $log, 1);
        foreach ($log as $value) {
            $arrayCron = unserialize(trim(@file_get_contents(PATH_DATA . "cron")));
            $arrayCron["processcTimeStart"] = time();
            @file_put_contents(PATH_DATA . "cron", serialize($arrayCron));
            saveLog('executeScheduledCases', 'action', "OK Case# {$value}");
        }
        setExecutionResultMessage('DONE');
    } catch (Exception $oError) {
        setExecutionResultMessage('WITH ERRORS', 'error');
        eprintln("  '-" . $oError->getMessage(), 'red');
    }
}
 function loadCS($params)
 {
     require_once 'classes/model/CaseScheduler.php';
     $SCH_UID = $params->SCH_UID;
     $oCaseScheduler = new CaseScheduler();
     $data = $oCaseScheduler->load($SCH_UID);
     $start_date = $data['SCH_START_DATE'];
     $start_date = date('Y-m-d', strtotime($start_date));
     $data['START_DATE'] = $start_date;
     $end_date = $data['SCH_END_DATE'];
     if ($end_date != '') {
         $end_date = date('Y-m-d', strtotime($end_date));
     }
     $data['END_DATE'] = $end_date;
     $exec_time = $data['SCH_START_TIME'];
     $exec_time = date('H:i', strtotime($exec_time));
     $data['EXEC_TIME'] = $exec_time;
     $weeks = $data['SCH_WEEK_DAYS'];
     $week = explode('|', $weeks);
     $w1 = $w2 = $w3 = $w4 = $w5 = $w6 = $w7 = false;
     foreach ($week as $w) {
         switch ($w) {
             case 1:
                 $w1 = true;
                 break;
             case 2:
                 $w2 = true;
                 break;
             case 3:
                 $w3 = true;
                 break;
             case 4:
                 $w4 = true;
                 break;
             case 5:
                 $w5 = true;
                 break;
             case 6:
                 $w6 = true;
                 break;
             case 7:
                 $w7 = true;
                 break;
         }
     }
     $data['W1'] = $w1;
     $data['W2'] = $w2;
     $data['W3'] = $w3;
     $data['W4'] = $w4;
     $data['W5'] = $w5;
     $data['W6'] = $w6;
     $data['W7'] = $w7;
     $years = $data['SCH_MONTHS'];
     $year = explode('|', $years);
     $m1 = $m2 = $m3 = $m4 = $m5 = $m6 = $m7 = $m8 = $m9 = $m10 = $m11 = $m12 = false;
     foreach ($year as $month) {
         switch ($month) {
             case 1:
                 $m1 = true;
                 break;
             case 2:
                 $m2 = true;
                 break;
             case 3:
                 $m3 = true;
                 break;
             case 4:
                 $m4 = true;
                 break;
             case 5:
                 $m5 = true;
                 break;
             case 6:
                 $m6 = true;
                 break;
             case 7:
                 $m7 = true;
                 break;
             case 8:
                 $m8 = true;
                 break;
             case 9:
                 $m9 = true;
                 break;
             case 10:
                 $m10 = true;
                 break;
             case 11:
                 $m11 = true;
                 break;
             case 12:
                 $m12 = true;
                 break;
         }
     }
     $data['M1'] = $m1;
     $data['M2'] = $m2;
     $data['M3'] = $m3;
     $data['M4'] = $m4;
     $data['M5'] = $m5;
     $data['M6'] = $m6;
     $data['M7'] = $m7;
     $data['M8'] = $m8;
     $data['M9'] = $m9;
     $data['M10'] = $m10;
     $data['M11'] = $m11;
     $data['M12'] = $m12;
     $start_options = $data['SCH_START_DAY'];
     $options = explode('|', $start_options);
     $data['TYPE_CMB'] = $options[0];
     if ($options[0] == 1) {
         $data['EACH_DAY'] = $options[1];
     } else {
         $data['CMB_1'] = $options[1];
         $data['CMB_2'] = $options[2];
     }
     $this->success = true;
     $this->data = $data;
 }
	  die;
	break;
	case -1:
	  G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
	  G::header('location: ../login/login');
	  die;
	break;
}*/
$G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'cases';
$G_ID_MENU_SELECTED = 'CASES';
$G_ID_SUB_MENU_SELECTED = 'CASES_SCHEDULER';
require_once 'classes/model/CaseScheduler.php';
$process = isset($_GET['PRO_UID']) ? $_GET['PRO_UID'] : $_SESSION['PROCESS'];
$sDelimiter = DBAdapter::getStringDelimiter();
$oCaseScheduler = new CaseScheduler();
$aRows = $oCaseScheduler->getAllByProcess($process);
//$oCaseScheduler->caseSchedulerCron();
// g::pr($aRows); die;
$fieldNames = array('SCH_UID' => 'char', 'SCH_NAME' => 'char', 'PRO_UID' => 'char', 'TAS_UID' => 'char', 'SCH_TIME_NEXT_RUN' => 'char', 'SCH_LAST_RUN_TIME' => 'char', 'SCH_STATE' => 'char', 'SCH_LAST_STATE' => 'char', 'USR_UID' => 'char', 'SCH_OPTION' => 'char', 'SCH_START_TIME' => 'char', 'SCH_START_DATE' => 'char', 'SCH_DAYS_PERFORM_TASK' => 'char', 'SCH_EVERY_DAYS' => 'char', 'SCH_WEEK_DAYS' => 'char', 'SCH_START_DAY' => 'char', 'SCH_MONTHS' => 'char', 'SCH_END_DATE' => 'char', 'SCH_REPEAT_EVERY' => 'char', 'SCH_REPEAT_UNTIL' => 'char', 'SCH_REPEAT_STOP_IF_RUNNING' => 'char', 'PRO_PARENT' => 'char', 'PRO_TIME' => 'char', 'PRO_TIMEUNIT' => 'char', 'PRO_STATUS' => 'char', 'PRO_TYPE_DAY' => 'char', 'PRO_TYPE' => 'char', 'PRO_ASSIGNMENT' => 'char', 'PRO_SHOW_MAP' => 'char', 'PRO_SHOW_MESSAGE' => 'char', 'PRO_SUBPROCESS' => 'char', 'PRO_TRI_DELETED' => 'char', 'PRO_TRI_CANCELED' => 'char', 'PRO_TRI_PAUSED' => 'char', 'PRO_TRI_REASSIGNED' => 'char', 'PRO_SHOW_DELEGATE' => 'char', 'PRO_SHOW_DYNAFORM' => 'char', 'PRO_CATEGORY' => 'char', 'PRO_SUB_CATEGORY' => 'char', 'PRO_INDUSTRY' => 'char', 'PRO_UPDATE_DATE' => 'char', 'PRO_CREATE_DATE' => 'char', 'PRO_CREATE_USER' => 'char', 'PRO_HEIGHT' => 'char', 'PRO_WIDTH' => 'char', 'PRO_TITLE_X' => 'char', 'PRO_TITLE_Y' => 'char', 'PRO_DEBUG' => 'char', 'PRO_TITLE' => 'char', 'PRO_DESCRIPTION' => 'char', 'TAS_TYPE' => 'char', 'TAS_DURATION' => 'char', 'TAS_DELAY_TYPE' => 'char', 'TAS_TEMPORIZER' => 'char', 'TAS_TYPE_DAY' => 'char', 'TAS_TIMEUNIT' => 'char', 'TAS_ALERT' => 'char', 'TAS_PRIORITY_VARIABLE' => 'char', 'TAS_ASSIGN_TYPE' => 'char', 'TAS_ASSIGN_VARIABLE' => 'char', 'TAS_ASSIGN_LOCATION' => 'char', 'TAS_ASSIGN_LOCATION_ADHOC' => 'char', 'TAS_TRANSFER_FLY' => 'char', 'TAS_LAST_ASSIGNED' => 'char', 'TAS_USER' => 'char', 'TAS_CAN_UPLOAD' => 'char', 'TAS_VIEW_UPLOAD' => 'char', 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 'char', 'TAS_CAN_CANCEL' => 'char', 'TAS_OWNER_APP' => 'char', 'STG_UID' => 'char', 'TAS_CAN_PAUSE' => 'char', 'TAS_CAN_SEND_MESSAGE' => 'char', 'TAS_CAN_DELETE_DOCS' => 'char', 'TAS_SELF_SERVICE' => 'char', 'TAS_START' => 'char', 'TAS_TO_LAST_USER' => 'char', 'TAS_SEND_LAST_EMAIL' => 'char', 'TAS_DERIVATION' => 'char', 'TAS_POSX' => 'char', 'TAS_POSY' => 'char', 'TAS_COLOR' => 'char', 'TAS_TITLE' => 'char', 'TAS_DESCRIPTION' => 'char', 'TAS_DEF_TITLE' => 'char', 'TAS_DEF_DESCRIPTION' => 'char', 'TAS_DEF_PROC_CODE' => 'char', 'TAS_DEF_MESSAGE' => 'char');
$aRows = array_merge(array($fieldNames), $aRows);
//krumo ($aRows);
for ($j = 0; $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;
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * 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;
}
*/
// print_r($_GET); print_r($_POST);  die;
require_once 'classes/model/CaseScheduler.php';
$oCaseScheduler = new CaseScheduler();
if (!isset($_GET['SCH_UID'])) {
    return;
}
$oCaseScheduler->remove($_GET['SCH_UID']);
/* Redirect */
Example #12
0
    public function updateEventStartObjects($eventUid, $taskUid)
    {
        $event = \BpmnEventPeer::retrieveByPK($eventUid);

        //Case-Scheduler - Update
        if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "TIMER") {
            $caseScheduler = new \CaseScheduler();

            if ($caseScheduler->Exists($eventUid)) {
                $this->wp->updateCaseScheduler($eventUid, array("TAS_UID" => $taskUid));
            }
        }

        //Update web entry
        //if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "MESSAGE") {
        //    $this->wp->updateWebEntry($eventUid, array("TAS_UID" => $taskUid));
        //}
    }
Example #13
0
function executeScheduledCases($sNow = null)
{
    try {
        global $sFilter;
        global $sNow;
        $log = array();
        if ($sFilter != '' && strpos($sFilter, 'scheduler') === false) {
            return false;
        }
        setExecutionMessage("Executing the scheduled starting cases");
        setExecutionResultMessage('PROCESSING');
        $sNow = isset($sNow) ? $sNow : date('Y-m-d H:i:s');
        $oCaseScheduler = new CaseScheduler();
        $oCaseScheduler->caseSchedulerCron($sNow, $log);
        foreach ($log as $value) {
            saveLog('executeScheduledCases', 'action', "OK Case# {$value}");
        }
        setExecutionResultMessage('DONE');
    } catch (Exception $oError) {
        setExecutionResultMessage('WITH ERRORS', 'error');
        eprintln("  '-" . $oError->getMessage(), 'red');
    }
}