Merged colosa/processmaker into master

This commit is contained in:
Quenta Ronald
2015-04-14 15:07:32 -04:00
16 changed files with 452 additions and 625 deletions

View File

@@ -0,0 +1,20 @@
<?php
try {
if (!$_POST || count($_POST) == 0) {
throw new Exception("The information sent is empty.");
}
$prossesUid = trim($_POST["form"]["PRO_UID"]);
$caseSchedulerUid = trim($_POST["form"]["SCH_UID"]);
$caseScheduler = new \ProcessMaker\BusinessModel\CaseScheduler();
$caseScheduler->createUpdate($caseSchedulerUid, $prossesUid, $_SESSION["USER_LOGGED"], $_POST["form"], (isset($_POST["pluginFields"]))? $_POST["pluginFields"] : array());
G::header("Location: cases_Scheduler_List?PRO_UID=" . $prossesUid);
} catch (Exception $e) {
echo $e->getMessage();
exit(0);
}

View File

@@ -131,7 +131,7 @@ try {
}
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_Edit.xml', '', $aFields, 'cases_Scheduler_Update' );
$G_PUBLISH->AddContent("xmlform", "xmlform", "cases" . PATH_SEP . "cases_Scheduler_Edit.xml", "", $aFields, "CaseSchedulerCreateUpdate");
G::RenderPage( 'publishBlank', 'blank' );

View File

@@ -91,7 +91,7 @@ try {
$aFields['SCH_LIST'] .= htmlspecialchars($item['SCH_NAME'], ENT_QUOTES) . '^';
}
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_New.xml', '', $aFields, 'cases_Scheduler_Save' );
$G_PUBLISH->AddContent("xmlform", "xmlform", "cases" . PATH_SEP . "cases_Scheduler_New.xml", "", $aFields, "CaseSchedulerCreateUpdate");
G::RenderPage( 'publishBlank', 'blank' );
} catch (Exception $oException) {

View File

@@ -1,265 +0,0 @@
<?php
/**
* cases_Scheduler_Save.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2010 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <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.
*/
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'] = Bootstrap::hashPassword($_POST['form']['SCH_USER_PASSWORD']);
$aData['SCH_DEL_USER_UID'] = $_POST['form']['SCH_USER_UID'];
$aData['PRO_UID'] = $_POST['form']['PRO_UID'];
$aData['TAS_UID'] = $_POST['form']['TAS_UID'];
$aData['SCH_STATE'] = 'ACTIVE';
$aData['SCH_LAST_STATE'] = 'CREATED'; // 'ACTIVE';
$aData['USR_UID'] = $_SESSION['USER_LOGGED'];
$sOption = $_POST['form']['SCH_OPTION'];
$aData['SCH_OPTION'] = $sOption;
if ($_POST['form']['SCH_START_DATE'] != '') {
$sDateTmp = $_POST['form']['SCH_START_DATE'];
} else {
$sDateTmp = date( 'Y-m-d' );
}
$sTimeTmp = $_POST['form']['SCH_START_TIME'];
$aData['SCH_START_TIME'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
$aData['SCH_START_DATE'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
$nActualTime = $_POST['form']['SCH_START_TIME']; // time();
// $nActualDate = date("Y-m-d H:i:s", $nActualTime);
$sValue = '';
$sDaysPerformTask = '';
$sWeeks = '';
$sMonths = '';
$sMonths = '';
$sStartDay = '';
$nSW = 0;
$aData['SCH_START_DAY'] = '';
$aData['SCH_REPEAT_EVERY'] = '';
$aData['SCH_REPEAT_UNTIL'] = '';
$aData['SCH_DAYS_PERFORM_TASK'] = '';
switch ($sOption) {
case '1': // Option 1
$sValue = $_POST['form']['SCH_DAYS_PERFORM_TASK'];
switch ($sValue) {
case '1':
$aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|1';
break;
case '2':
$aData['SCH_OPTION'] = '2';
$aData['SCH_EVERY_DAYS'] = '1';
$aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
break;
case '3': // Every [n] Days
$sDaysPerformTask = $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
$aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|' . $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
break;
}
break;
case '2': // If the option is zero, set by default 1
if (empty( $_POST['form']['SCH_EVERY_DAYS'] )) {
$nEveryDays = 1;
} else {
$nEveryDays = $_POST['form']['SCH_EVERY_DAYS'];
}
$aData['SCH_EVERY_DAYS'] = $nEveryDays;
$sWeeks = '';
if (! empty( $_POST['form']['SCH_WEEK_DAYS'] )) {
$aWeekDays = $_POST['form']['SCH_WEEK_DAYS'];
foreach ($aWeekDays as $value) {
$sWeeks = $sWeeks . $value . '|';
}
}
if (! empty( $_POST['form']['SCH_WEEK_DAYS_2'] )) {
$aWeekDays2 = $_POST['form']['SCH_WEEK_DAYS_2'];
foreach ($aWeekDays2 as $value) {
$sWeeks = $sWeeks . $value . '|';
}
}
$sStartTime = $_POST['form']['SCH_START_TIME'];
$aData['SCH_WEEK_DAYS'] = $sWeeks;
break;
case '3':
$nStartDay = $_POST['form']['SCH_START_DAY'];
if ($nStartDay == 1) {
$aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_1'];
} else {
$aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_2_WEEKS'] . '|' . $_POST['form']['SCH_START_DAY_OPT_2_DAYS_WEEK'];
}
$sMonths = '';
if (! empty( $_POST['form']['SCH_MONTHS'] )) {
$aMonths = $_POST['form']['SCH_MONTHS'];
foreach ($aMonths as $value) {
$sMonths = $sMonths . $value . '|';
}
}
if (! empty( $_POST['form']['SCH_MONTHS_2'] )) {
$aMonths2 = $_POST['form']['SCH_MONTHS_2'];
foreach ($aMonths2 as $value) {
$sMonths = $sMonths . $value . '|';
}
}
if (! empty( $_POST['form']['SCH_MONTHS_3'] )) {
$aMonths3 = $_POST['form']['SCH_MONTHS_3'];
foreach ($aMonths3 as $value) {
$sMonths = $sMonths . $value . '|';
}
}
$aData['SCH_MONTHS'] = $sMonths;
$sStartDay = $aData['SCH_START_DAY'];
$sValue = $nStartDay;
break;
}
if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) {
if ($sStartDay == '') {
$sStartDay = date( 'Y-m-d' );
}
$dCurrentMonth = (int)(date("m"));
$dCurrentDay = (int)(date("d"));
$aStartDay = explode( "|", $aData['SCH_START_DAY'] );
if ($sOption == '3' && $aStartDay[0] == '1') {
$monthsArray = explode( "|", $sMonths );
foreach ($monthsArray as $row) {
if ((int)($row) == $dCurrentMonth && $dCurrentDay <= (int)($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 );
}
} else {
if ($sOption == '4') {
$aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
}
$aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
if ($sOption == 5) {
$aData['SCH_START_TIME'] = time();
$aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
$nextRun = $_POST['form']['SCH_REPEAT_EVERY'] * 60 * 60;
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
$date = $aData['SCH_START_TIME'];
$date += $nextRun;
$date = date( "Y-m-d H:i", $date );
$aData['SCH_TIME_NEXT_RUN'] = $date;
}
}
if (trim( $_POST['form']['SCH_END_DATE'] ) != '') {
$aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
}
if (! empty( $_POST['form']['SCH_REPEAT_TASK_CHK'] )) {
$nOptEvery = $_POST['form']['SCH_REPEAT_EVERY_OPT'];
if ($nOptEvery == 2) {
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'] * 60;
} else {
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
}
}
if ((isset( $_POST['form']['CASE_SH_PLUGIN_UID'] )) && ($_POST['form']['CASE_SH_PLUGIN_UID'] != "")) {
$aData['CASE_SH_PLUGIN_UID'] = $_POST['form']['CASE_SH_PLUGIN_UID'];
}
//$aData['SCH_END_DATE'] = "2020-12-30";
$oCaseScheduler->create( $aData );
$sch_uid = $oCaseScheduler->getSchUid();
if ((isset( $_POST['form']['CASE_SH_PLUGIN_UID'] )) && ($_POST['form']['CASE_SH_PLUGIN_UID'] != "")) {
$params = explode( "--", $_REQUEST['form']['CASE_SH_PLUGIN_UID'] );
$oPluginRegistry = & PMPluginRegistry::getSingleton();
$activePluginsForCaseScheduler = $oPluginRegistry->getCaseSchedulerPlugins();
foreach ($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail) {
if (($caseSchedulerPluginDetail->sNamespace == $params[0]) && ($caseSchedulerPluginDetail->sActionId == $params[1])) {
$caseSchedulerSelected = $caseSchedulerPluginDetail;
}
}
if ((isset( $caseSchedulerSelected )) && (is_object( $caseSchedulerSelected ))) {
//Save the form
$oData = $_POST['pluginFields'];
$oData['SCH_UID'] = $aData['SCH_UID'];
$oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData );
}
}
// //Added by Qennix
// //Update Start Time Event in BPMN
//
// echo $_POST['form']['TAS_UID']."<<----";
// if (isset($_POST['form']['TAS_UID'])){
// require_once 'classes/model/Event.php';
// require_once 'classes/model/Task.php';
// echo $_POST['form']['TAS_UID']."<<----";
//
// $oTask = new Task();
// $oTask->load($_POST['form']['TAS_UID']);
// $evn_uid = $oTask->getStartingEvent();
// $event = new Event();
// $editEvent = array();
// $editEvent['EVN_UID'] = $evn_uid;
// $editEvent['EVN_ACTION'] = $sch_uid;
// $event->update($editEvent);
// //End Adding
// }
G::header( 'location: cases_Scheduler_List?PRO_UID=' . $_POST['form']['PRO_UID'] );
} catch (Exception $oException) {
die( $oException->getMessage() );
}

View File

@@ -1,290 +0,0 @@
<?php
/**
* cases_Scheduler_Save.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2010 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <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.
*/
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!' );
}
foreach ($_POST["form"] as $key => $value) {
$_POST["form"][$key] = trim($value);
}
$aData = array();
$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'] = Bootstrap::hashPassword($_POST['form']['SCH_USER_PASSWORD']);
}
$aData['SCH_DEL_USER_UID'] = $_POST['form']['SCH_USER_UID'];
// $aData['SCH_TIME_NEXT_RUN'] = time();
//$aData['SCH_LAST_RUN_TIME'] = time();
// $aData['SCH_STATE'] = 'ACTIVE';
// $aData['SCH_LAST_STATE'] = 'ACTIVE';
$aData['USR_UID'] = $_SESSION['USER_LOGGED'];
$sOption = $_POST['form']['SCH_OPTION'];
$aData['SCH_OPTION'] = $sOption;
$sDateTmp = $_POST['form']['SCH_START_DATE'];
$sTimeTmp = $_POST['form']['SCH_START_TIME'];
$aData['SCH_START_TIME'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
$aData['SCH_START_DATE'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) );
$previousStartTime = date( 'Y-m-d', strtotime( $_POST['form']['PREV_SCH_START_DATE'] ) ) . ' ' . date( 'H:i:s', strtotime( $_POST['form']['PREV_SCH_START_TIME'] ) );
$previousStartDate = date( 'Y-m-d', strtotime( $_POST['form']['PREV_SCH_START_DATE'] ) ) . ' ' . date( 'H:i:s', strtotime( $_POST['form']['PREV_SCH_START_TIME'] ) );
$sValue = '';
$sDaysPerformTask = '';
$sWeeks = '';
$sMonths = '';
$sMonths = '';
$sStartDay = '';
$nSW = 0;
switch ($sOption) {
case '1':
// Option 1
$sValue = $_POST['form']['SCH_DAYS_PERFORM_TASK'];
switch ($sValue) {
case '1':
$aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|1';
break;
case '2':
$aData['SCH_OPTION'] = '2';
$aData['SCH_EVERY_DAYS'] = '1';
$aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
break;
case '3': // Every [n] Days
$sDaysPerformTask = $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
$aData['SCH_DAYS_PERFORM_TASK'] = $_POST['form']['SCH_DAYS_PERFORM_TASK'] . '|' . $_POST['form']['SCH_DAYS_PERFORM_TASK_OPT_3'];
break;
}
break;
case '2':
// If the option is zero, set by default 1
if (empty( $_POST['form']['SCH_EVERY_DAYS'] )) {
$nEveryDays = 1;
} else {
$nEveryDays = $_POST['form']['SCH_EVERY_DAYS'];
}
$aData['SCH_EVERY_DAYS'] = $nEveryDays;
$sWeeks = '';
if (! empty( $_POST['form']['SCH_WEEK_DAYS'] )) {
$aWeekDays = $_POST['form']['SCH_WEEK_DAYS'];
foreach ($aWeekDays as $value) {
$sWeeks = $sWeeks . $value . '|';
}
}
if (! empty( $_POST['form']['SCH_WEEK_DAYS_2'] )) {
$aWeekDays2 = $_POST['form']['SCH_WEEK_DAYS_2'];
foreach ($aWeekDays2 as $value) {
$sWeeks = $sWeeks . $value . '|';
}
}
$sStartTime = $_POST['form']['SCH_START_TIME'];
$aData['SCH_WEEK_DAYS'] = $sWeeks;
break;
case '3':
$nStartDay = $_POST['form']['SCH_START_DAY'];
if ($nStartDay == 1) {
$aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_1'];
} else {
$aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['form']['SCH_START_DAY_OPT_2_WEEKS'] . '|' . $_POST['form']['SCH_START_DAY_OPT_2_DAYS_WEEK'];
}
$sMonths = '';
if (! empty( $_POST['form']['SCH_MONTHS'] )) {
$aMonths = $_POST['form']['SCH_MONTHS'];
foreach ($aMonths as $value) {
$sMonths = $sMonths . $value . '|';
}
}
if (! empty( $_POST['form']['SCH_MONTHS_2'] )) {
$aMonths2 = $_POST['form']['SCH_MONTHS_2'];
foreach ($aMonths2 as $value) {
$sMonths = $sMonths . $value . '|';
}
}
if (! empty( $_POST['form']['SCH_MONTHS_3'] )) {
$aMonths3 = $_POST['form']['SCH_MONTHS_3'];
foreach ($aMonths3 as $value) {
$sMonths = $sMonths . $value . '|';
}
}
$aData['SCH_MONTHS'] = $sMonths;
$sStartDay = $aData['SCH_START_DAY'];
$sValue = $nStartDay;
break;
}
if (trim( $_POST['form']['SCH_END_DATE'] ) != '') {
$aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
}
// if the start date has changed then recalculate the next run time
if ($_POST['form']['SCH_START_DATE'] == $_POST['form']['PREV_SCH_START_DATE']) {
$recalculateDate = false;
} else {
$recalculateDate = true;
}
if (date( 'H:i:s', strtotime( $_POST['form']['SCH_START_TIME'] ) ) == date( 'H:i:s', strtotime( $_POST['form']['PREV_SCH_START_TIME'] ) )) {
$recalculateTime = false;
} else {
$recalculateTime = true;
}
// if the start date has changed then recalculate the next run time
// var_dump($recalculateTime);
// die();
$nActualTime = $_POST['form']['SCH_START_TIME'];
if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) {
if ($sStartDay == '') {
$sStartDay = date( 'Y-m-d' );
}
// echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."<br>";
$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'];
} 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";
}
// var_dump($recalculateTime);
// var_dump($aData['SCH_TIME_NEXT_RUN']);
// die;
if ($sOption == '5') {
$date = $oCaseScheduler->getSchLastRunTime();
if ($date == null) {
$date = $oCaseScheduler->getSchStartTime();
}
$date = strtotime( $date );
$nextRun = $_POST['form']['SCH_REPEAT_EVERY'] * 60 * 60;
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
$date += $nextRun;
$date = date( "Y-m-d H:i", $date );
$aData['SCH_TIME_NEXT_RUN'] = $date;
}
}
if (! empty( $_POST['form']['SCH_REPEAT_TASK_CHK'] )) {
$nOptEvery = $_POST['form']['SCH_REPEAT_EVERY_OPT'];
if ($nOptEvery == 2) {
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'] * 60;
} else {
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
}
}
// var_dump ($aData['SCH_TIME_NEXT_RUN']);
// die;
$oCaseScheduler->Update( $aData );
if ((isset( $_POST['form']['CASE_SH_PLUGIN_UID'] )) && ($_POST['form']['CASE_SH_PLUGIN_UID'] != "")) {
$params = explode( "--", $_REQUEST['form']['CASE_SH_PLUGIN_UID'] );
$oPluginRegistry = & PMPluginRegistry::getSingleton();
$activePluginsForCaseScheduler = $oPluginRegistry->getCaseSchedulerPlugins();
foreach ($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail) {
if (($caseSchedulerPluginDetail->sNamespace == $params[0]) && ($caseSchedulerPluginDetail->sActionId == $params[1])) {
$caseSchedulerSelected = $caseSchedulerPluginDetail;
}
}
if ((isset( $caseSchedulerSelected )) && (is_object( $caseSchedulerSelected ))) {
//Save the form
$oData = $_POST['pluginFields'];
$oData['SCH_UID'] = $aData['SCH_UID'];
$oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData );
}
}
G::header( 'location: cases_Scheduler_List?PRO_UID=' . $_POST['form']['PRO_UID'] );
} catch (Exception $oException) {
die( $oException->getMessage() );
}

View File

@@ -32,13 +32,9 @@ try {
throw (new Exception( G::LoadTranslation('ID_TASK') . "'" . $TaskFields['TAS_TITLE'] . "'" . G::LoadTranslation('ID_NOT_HAVE_USERS')));
}
if (G::is_https())
$http = 'https://';
else
$http = 'http://';
$http = (G::is_https())? "https://" : "http://";
$sContent = '';
$infoProcess = new Process();
$resultProcess = $infoProcess->load($sPRO_UID);
@@ -76,7 +72,7 @@ try {
$template->assign( 'wsUser', $sWS_USER );
$template->assign( 'wsPass', Bootstrap::hashPassword($sWS_PASS, '', true) );
$template->assign( 'wsRoundRobin', $sWS_ROUNDROBIN );
G::auditLog('WebEntry','Generate web entry with web services ('.$dynTitle.'.php) in process "'.$resultProcess['PRO_TITLE'].'"');
if ($sWE_USR == "2") {
@@ -94,7 +90,7 @@ try {
file_put_contents( $fileName, $template->getOutputContent() );
//creating the third file, only if this wsClient.php file doesn't exist.
$fileName = $pathProcess . 'wsClient.php';
$pluginTpl = file_exists(PATH_CORE . 'test' . PATH_SEP . 'unit' . PATH_SEP . 'ws' . PATH_SEP . 'wsClient.php') ? PATH_CORE . 'test' . PATH_SEP . 'unit' . PATH_SEP . 'ws' . PATH_SEP . 'wsClient.php' : PATH_CORE . 'templates' . PATH_SEP . 'processes' . PATH_SEP . 'wsClient.php';
$pluginTpl = PATH_CORE . "templates" . PATH_SEP . "processes" . PATH_SEP . "wsClient.php";
if (file_exists( $fileName )) {
if (filesize( $fileName ) != filesize( $pluginTpl )) {
@copy( $fileName, $pathProcess . 'wsClient.php.bck' );
@@ -123,7 +119,7 @@ try {
$link = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sPRO_UID . '/' . $dynTitle . '.php';
print $link;
//print "\n<a href='$link' target='_new' > $link </a>";
} else {
$G_FORM = new Form( $sPRO_UID . '/' . $sDYNAFORM, PATH_DYNAFORM, SYS_LANG, false );
$G_FORM->action = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/cases_StartExternal.php';