diff --git a/webservices/check_sla_for_tickets.php b/webservices/check_sla_for_tickets.php new file mode 100644 index 000000000..998d607ee --- /dev/null +++ b/webservices/check_sla_for_tickets.php @@ -0,0 +1,54 @@ + + * @author Romain Quetiez + * @author Denis Flaven + * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL + */ + +require_once('../application/startup.inc.php'); + +require_once('../application/loginwebpage.class.inc.php'); +LoginWebPage::DoLogin(); // Check user rights and prompt if needed + +$oMyChange = new CMDBChange(); +$oMyChange->Set("date", time()); +$oMyChange->Set("userinfo", "Automatic updates"); +$iChangeId = $oMyChange->DBInsertNoReload(); + +$oSet = new DBObjectSet(DBObjectSearch::FromOQL('SELECT Incident WHERE escalation_deadline < NOW()')); +while ($oToEscalate = $oSet->Fetch()) +{ + $oToEscalate->ApplyStimulus('ev_timeout'); + $oToEscalate->Set('escalation_deadline', null); + $oToEscalate->DBUpdateTracked($oMyChange); + echo "

ticket ".$oToEscalate->Get('ref')." reached ESCALATION deadline

\n"; +} + +$oSet = new DBObjectSet(DBObjectSearch::FromOQL('SELECT Incident WHERE closure_deadline < NOW()')); +while ($oToEscalate = $oSet->Fetch()) +{ + $oToEscalate->ApplyStimulus('ev_close'); + $oToEscalate->Set('closure_deadline', null); + $oToEscalate->DBUpdateTracked($oMyChange); + echo "

ticket ".$oToEscalate->Get('ref')." reached CLOSURE deadline

\n"; +} + +?>