示例#1
0
 public function validatePassword($sPassword, $sLastUpdate, $iChangePasswordNextTime)
 {
     if (!defined('PPP_MINIMUM_LENGTH')) {
         define('PPP_MINIMUM_LENGTH', 5);
     }
     if (!defined('PPP_MAXIMUM_LENGTH')) {
         define('PPP_MAXIMUM_LENGTH', 20);
     }
     if (!defined('PPP_NUMERICAL_CHARACTER_REQUIRED')) {
         define('PPP_NUMERICAL_CHARACTER_REQUIRED', 0);
     }
     if (!defined('PPP_UPPERCASE_CHARACTER_REQUIRED')) {
         define('PPP_UPPERCASE_CHARACTER_REQUIRED', 0);
     }
     if (!defined('PPP_SPECIAL_CHARACTER_REQUIRED')) {
         define('PPP_SPECIAL_CHARACTER_REQUIRED', 0);
     }
     if (!defined('PPP_EXPIRATION_IN')) {
         define('PPP_EXPIRATION_IN', 0);
     }
     if (!defined('PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN')) {
         define('PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN', 0);
     }
     if (function_exists('mb_strlen')) {
         $iLength = mb_strlen($sPassword);
     } else {
         $iLength = strlen($sPassword);
     }
     $aErrors = array();
     if ($iLength < PPP_MINIMUM_LENGTH) {
         $aErrors[] = 'ID_PPP_MINIMUM_LENGTH';
     }
     if ($iLength > PPP_MAXIMUM_LENGTH) {
         $aErrors[] = 'ID_PPP_MAXIMUM_LENGTH';
     }
     if (PPP_NUMERICAL_CHARACTER_REQUIRED == 1) {
         if (preg_match_all('/[0-9]/', $sPassword, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) == 0) {
             $aErrors[] = 'ID_PPP_NUMERICAL_CHARACTER_REQUIRED';
         }
     }
     if (PPP_UPPERCASE_CHARACTER_REQUIRED == 1) {
         if (preg_match_all('/[A-Z]/', $sPassword, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) == 0) {
             $aErrors[] = 'ID_PPP_UPPERCASE_CHARACTER_REQUIRED';
         }
     }
     if (PPP_SPECIAL_CHARACTER_REQUIRED == 1) {
         if (preg_match_all('/[��\\!|"@�#$~%�&�\\/()=\'?��*+\\-_.:,;]/', $sPassword, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) == 0) {
             $aErrors[] = 'ID_PPP_SPECIAL_CHARACTER_REQUIRED';
         }
     }
     if (PPP_EXPIRATION_IN > 0) {
         G::LoadClass('calendar');
         $oCalendar = new calendar();
         if ($oCalendar->pmCalendarUid == '') {
             $oCalendar->pmCalendarUid = '00000000000000000000000000000001';
             $oCalendar->getCalendarData();
         }
         $fDays = $oCalendar->calculateDuration(date('Y-m-d H:i:s'), $sLastUpdate);
         if ($fDays > PPP_EXPIRATION_IN * 24) {
             $aErrors[] = 'ID_PPP_EXPIRATION_IN';
         }
     }
     if (PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN == 1) {
         if ($iChangePasswordNextTime == 1) {
             $aErrors[] = 'ID_PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN';
         }
     }
     return $aErrors;
 }
示例#2
0
 public function calculateDueDate($sNextTasParam)
 {
     //Get Task properties
     $task = TaskPeer::retrieveByPK($this->getTasUid());
     $aData['TAS_UID'] = $this->getTasUid();
     //Added to allow User defined Timing Control at Run time from Derivation screen
     if (isset($sNextTasParam['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY']) && $sNextTasParam['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY'] == 'true') {
         $aData['TAS_DURATION'] = $sNextTasParam['NEXT_TASK']['TAS_DURATION'];
         $aData['TAS_TIMEUNIT'] = $sNextTasParam['NEXT_TASK']['TAS_TIMEUNIT'];
         $aData['TAS_TYPE_DAY'] = $sNextTasParam['NEXT_TASK']['TAS_TYPE_DAY'];
         if (isset($sNextTasParam['NEXT_TASK']['TAS_CALENDAR']) && $sNextTasParam['NEXT_TASK']['TAS_CALENDAR'] != '') {
             $aCalendarUID = $sNextTasParam['NEXT_TASK']['TAS_CALENDAR'];
         } else {
             $aCalendarUID = '';
         }
         //Updating the task Table , so that user will see updated values in the assign screen in consequent cases
         $oTask = new Task();
         $oTask->update($aData);
     } else {
         if (is_null($task)) {
             return 0;
         }
         $aData['TAS_DURATION'] = $task->getTasDuration();
         $aData['TAS_TIMEUNIT'] = $task->getTasTimeUnit();
         $aData['TAS_TYPE_DAY'] = $task->getTasTypeDay();
         $aCalendarUID = '';
     }
     //use the dates class to calculate dates
     $calendar = new calendar();
     if ($calendar->pmCalendarUid == '') {
         $calendar->getCalendar(null, $task->getProUid(), $aData['TAS_UID']);
         $calendar->getCalendarData();
     }
     $iDueDate = $calendar->calculateDate($this->getDelDelegateDate(), $aData['TAS_DURATION'], $aData['TAS_TIMEUNIT']);
     return $iDueDate;
 }
示例#3
0
 public function toCalculateTime($aData, $iDate = null)
 {
     G::LoadClass('calendar');
     $oCalendar = new calendar();
     $iDate = isset($iDate) ? $iDate : date('Y-m-d H:i:s');
     $estimatedDuration = $aData['EVN_TAS_ESTIMATED_DURATION'];
     //task duration
     $when = $aData['EVN_WHEN'];
     //how many days
     $whenOccurs = $aData['EVN_WHEN_OCCURS'];
     //time on action (AFTER_TIME/TASK_STARTED)
     if ($oCalendar->pmCalendarUid == '') {
         $oCalendar->getCalendar(null, $aData['PRO_UID'], $aData['TAS_UID']);
         $oCalendar->getCalendarData();
     }
     if ($whenOccurs == 'TASK_STARTED') {
         $calculatedDueDateA = $oCalendar->calculateDate($iDate, $when, 'days');
         $sActionDate = date('Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS']);
     } else {
         $calculatedDueDateA = $oCalendar->calculateDate($iDate, $estimatedDuration + $when, 'days');
         $sActionDate = date('Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS']);
     }
     return $sActionDate;
 }
示例#4
0
function executeCaseSelfService()

{

    try {

        global $sFilter;



        if ($sFilter != "" && strpos($sFilter, "unassigned-case") === false) {

            return false;

        }



        $criteria = new Criteria("workflow");



        //SELECT

        $criteria->addSelectColumn(AppCacheViewPeer::APP_UID);

        $criteria->addSelectColumn(AppCacheViewPeer::DEL_INDEX);

        $criteria->addSelectColumn(AppCacheViewPeer::DEL_DELEGATE_DATE);

        $criteria->addSelectColumn(AppCacheViewPeer::APP_NUMBER);

        $criteria->addSelectColumn(AppCacheViewPeer::PRO_UID);

        $criteria->addSelectColumn(TaskPeer::TAS_UID);

        $criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_TIME);

        $criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_TIME_UNIT);

        $criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_TRIGGER_UID);

        /*----------------------------------********---------------------------------*/



        //FROM

        $condition = array();

        $condition[] = array(AppCacheViewPeer::TAS_UID, TaskPeer::TAS_UID);

        $condition[] = array(TaskPeer::TAS_SELFSERVICE_TIMEOUT, 1);

        $criteria->addJoinMC($condition, Criteria::LEFT_JOIN);



        //WHERE

        $criteria->add(AppCacheViewPeer::USR_UID, "");

        $criteria->add(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN");



        //QUERY

        $rsCriteria = AppCacheViewPeer::doSelectRS($criteria);

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



        setExecutionMessage("Unassigned case");

        saveLog("unassignedCase", "action", "Unassigned case", "c");



        $calendar = new calendar();



        while ($rsCriteria->next()) {



            $row = $rsCriteria->getRow();

			$flag = false;



            $appcacheAppUid   = $row["APP_UID"];

            $appcacheDelIndex = $row["DEL_INDEX"];

            $appcacheDelDelegateDate = $row["DEL_DELEGATE_DATE"];

            $appcacheAppNumber = $row["APP_NUMBER"];

            $appcacheProUid    = $row["PRO_UID"];

            $taskUid = $row["TAS_UID"];

            $taskSelfServiceTime = intval($row["TAS_SELFSERVICE_TIME"]);

            $taskSelfServiceTimeUnit = $row["TAS_SELFSERVICE_TIME_UNIT"];

            $taskSelfServiceTriggerUid = $row["TAS_SELFSERVICE_TRIGGER_UID"];

            /*----------------------------------********---------------------------------*/



            if ($calendar->pmCalendarUid == '') {

            	$calendar->getCalendar(null, $appcacheProUid, $taskUid);

            	$calendar->getCalendarData();

            }



            $dueDate = $calendar->calculateDate(

                $appcacheDelDelegateDate,

                $taskSelfServiceTime,

                $taskSelfServiceTimeUnit //HOURS|DAYS|MINUTES

                //1

            );



            if (time() > $dueDate["DUE_DATE_SECONDS"] && $flag == false) {

                $sessProcess = null;

                $sessProcessSw = 0;



                //Load data

                $case = new Cases();

                $appFields = $case->loadCase($appcacheAppUid);



                $appFields["APP_DATA"]["APPLICATION"] = $appcacheAppUid;



                if (isset($_SESSION["PROCESS"])) {

                    $sessProcess = $_SESSION["PROCESS"];

                    $sessProcessSw = 1;

                }



                $_SESSION["PROCESS"] = $appFields["PRO_UID"];



                //Execute trigger

                $criteriaTgr = new Criteria();

                $criteriaTgr->add(TriggersPeer::TRI_UID, $taskSelfServiceTriggerUid);



                $rsCriteriaTgr = TriggersPeer::doSelectRS($criteriaTgr);

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



                if ($rsCriteriaTgr->next()) {

                    $row = $rsCriteriaTgr->getRow();



                    if (is_array($row) && $row["TRI_TYPE"] == "SCRIPT") {



                        $arrayCron = unserialize(trim(@file_get_contents(PATH_DATA . "cron")));

                        $arrayCron["processcTimeProcess"] = 60; //Minutes

                        $arrayCron["processcTimeStart"]   = time();

                        @file_put_contents(PATH_DATA . "cron", serialize($arrayCron));



                        //Trigger

                        global $oPMScript;



                        $oPMScript = new PMScript();

                        $oPMScript->setFields($appFields["APP_DATA"]);

                        $oPMScript->setScript($row["TRI_WEBBOT"]);

                        $oPMScript->execute();



                        /*----------------------------------********---------------------------------*/

                        $appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], $oPMScript->aFields);



                        unset($appFields['APP_STATUS']);

                        unset($appFields['APP_PROC_STATUS']);

                        unset($appFields['APP_PROC_CODE']);

                        unset($appFields['APP_PIN']);

                        $case->updateCase($appFields["APP_UID"], $appFields);



                        saveLog("unassignedCase", "action", "OK Executed tigger to the case $appcacheAppNumber");

                    }

                }



                unset($_SESSION["PROCESS"]);



                if ($sessProcessSw == 1) {

                    $_SESSION["PROCESS"] = $sessProcess;

                }

            }

        }



        setExecutionResultMessage("DONE");

    } catch (Exception $e) {

        setExecutionResultMessage("WITH ERRORS", "error");

        eprintln("  '-" . $e->getMessage(), "red");

        saveLog("unassignedCase", "error", "Error in unassigned case: " . $e->getMessage());

    }

}
示例#5
0
	public function calculateDuration($cron = 0) 

	{

		$this->writeFileIfCalledFromCronForCalculateDuration($cron);

		$this->patchDataWithValuesForCalculateDuration();

		$rs = $this->recordSetForCalculateDuration();

		$rs->next();

		$row = $rs->getRow();

		$i = 0;

		$calendar = new calendar();

		$now = new DateTime();

		while (is_array ($row)) {

			$oAppDel = AppDelegationPeer::retrieveByPk( $row['APP_UID'], $row['DEL_INDEX'] );

            $calendar = new calendar();

            $calendar->getCalendar($row['USR_UID'], $row['PRO_UID'], $row['TAS_UID']);

            $calData = $calendar->getCalendarData();

            $calculatedValues = $this->getValuesToStoreForCalculateDuration($row, $calendar, $calData, $now);



			$oAppDel->setDelStarted($calculatedValues['isStarted']);

			$oAppDel->setDelFinished($calculatedValues['isFinished']);

			$oAppDel->setDelDelayed($calculatedValues['isDelayed']);

			$oAppDel->setDelQueueDuration($calculatedValues['queueTime']);

			$oAppDel->setDelDelayDuration($calculatedValues['delayTime']);

			$oAppDel->setDelDuration($calculatedValues['durationTime']);

			$oAppDel->setAppOverduePercentage($calculatedValues['percentDelay']);

			$RES = $oAppDel->save();

			$rs->next();

			$row = $rs->getRow();

		}

	}
示例#6
0
    public function calculateDuration ($cron = 0)

    {

        try {

            if ($cron == 1) {

                $arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) );

                $arrayCron["processcTimeStart"] = time();

                @file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) );

            }



            //patch  rows with initdate = null and finish_date

            $c = new Criteria();

            $c->clearSelectColumns();

            $c->addSelectColumn( AppDelegationPeer::APP_UID );

            $c->addSelectColumn( AppDelegationPeer::DEL_INDEX );

            $c->addSelectColumn( AppDelegationPeer::DEL_DELEGATE_DATE );

            $c->addSelectColumn( AppDelegationPeer::DEL_FINISH_DATE );

            $c->add( AppDelegationPeer::DEL_INIT_DATE, null, Criteria::ISNULL );

            $c->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNOTNULL );

            //$c->add(AppDelegationPeer::DEL_INDEX, 1);





            $rs = AppDelegationPeer::doSelectRS( $c );

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

            $rs->next();

            $row = $rs->getRow();



            while (is_array( $row )) {

                $oAppDel = AppDelegationPeer::retrieveByPk( $row['APP_UID'], $row['DEL_INDEX'] );

                if (isset( $row['DEL_FINISH_DATE'] )) {

                    $oAppDel->setDelInitDate( $row['DEL_FINISH_DATE'] );

                } else {

                    $oAppDel->setDelInitDate( $row['DEL_INIT_DATE'] );

                }

                $oAppDel->save();



                $rs->next();

                $row = $rs->getRow();

            }

            //walk in all rows with DEL_STARTED = 0 or DEL_FINISHED = 0





            $c = new Criteria( 'workflow' );

            $c->clearSelectColumns();

            $c->addSelectColumn( AppDelegationPeer::APP_UID );

            $c->addSelectColumn( AppDelegationPeer::DEL_INDEX );

            $c->addSelectColumn( AppDelegationPeer::USR_UID);

            $c->addSelectColumn( AppDelegationPeer::PRO_UID);

            $c->addSelectColumn( AppDelegationPeer::TAS_UID);

            $c->addSelectColumn( AppDelegationPeer::DEL_DELEGATE_DATE );

            $c->addSelectColumn( AppDelegationPeer::DEL_INIT_DATE );

            $c->addSelectColumn( AppDelegationPeer::DEL_TASK_DUE_DATE );

            $c->addSelectColumn( AppDelegationPeer::DEL_FINISH_DATE );

            $c->addSelectColumn( AppDelegationPeer::DEL_DURATION );

            $c->addSelectColumn( AppDelegationPeer::DEL_QUEUE_DURATION );

            $c->addSelectColumn( AppDelegationPeer::DEL_DELAY_DURATION );

            $c->addSelectColumn( AppDelegationPeer::DEL_STARTED );

            $c->addSelectColumn( AppDelegationPeer::DEL_FINISHED );

            $c->addSelectColumn( AppDelegationPeer::DEL_DELAYED );

            $c->addSelectColumn( TaskPeer::TAS_DURATION );

            $c->addSelectColumn( TaskPeer::TAS_TIMEUNIT );

            $c->addSelectColumn( TaskPeer::TAS_TYPE_DAY );



            $c->addJoin( AppDelegationPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN );

            //$c->add(AppDelegationPeer::DEL_INIT_DATE, NULL, Criteria::ISNULL);

            //$c->add(AppDelegationPeer::APP_UID, '7694483844a37bfeb0931b1063501289');

            //$c->add(AppDelegationPeer::DEL_STARTED, 0);





            $cton1 = $c->getNewCriterion( AppDelegationPeer::DEL_STARTED, 0 );

            $cton2 = $c->getNewCriterion( AppDelegationPeer::DEL_FINISHED, 0 );

            $cton1->addOR( $cton2 );

            $c->add( $cton1 );



            $rs = AppDelegationPeer::doSelectRS( $c );

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

            $rs->next();

            $row = $rs->getRow();

            $i = 0;

            //print "<table colspacing='2' border='1'>";

            //print "<tr><td>iDelegateDate </td><td>iInitDate </td><td>iDueDate </td><td>iFinishDate </td><td>isStarted </td><td>isFinished </td><td>isDelayed </td><td>queueDuration </td><td>delDuration </td><td>delayDuration</td></tr>";



            $calendar = new calendar();



            $now = strtotime( 'now' );

            while (is_array( $row )) {

                $fTaskDuration = $row['TAS_DURATION'];

                $fTaskDurationUnit = $row['TAS_TIMEUNIT'];

                $iDelegateDate = strtotime( $row['DEL_DELEGATE_DATE'] );

                $iInitDate = strtotime( $row['DEL_INIT_DATE'] );

                $iDueDate = strtotime( $row['DEL_TASK_DUE_DATE'] );

                $iFinishDate = strtotime( $row['DEL_FINISH_DATE'] );

                $isStarted = intval( $row['DEL_STARTED'] );

                $isFinished = intval( $row['DEL_FINISHED'] );

                $isDelayed = intval( $row['DEL_DELAYED'] );

                $queueDuration = $this->getDiffDate( $iInitDate, $iDelegateDate );

                $delDuration = 0;

                $delayDuration = 0;

                $overduePercentage = 0.0;

                //get the object,

                $oAppDel = AppDelegationPeer::retrieveByPk( $row['APP_UID'], $row['DEL_INDEX'] );



				//getting the calendar

				$calendar->getCalendar($row['USR_UID'], $row['PRO_UID'], $row['TAS_UID']);

				$calData = $calendar->getCalendarData();

				

                //if the task is not started

                if ($isStarted == 0) {

                    if ($row['DEL_INIT_DATE'] != null && $row['DEL_INIT_DATE'] != '') {

                        $oAppDel->setDelStarted( 1 );

                        $queueDuration = $this->getDiffDate( $iInitDate, $iDelegateDate );

                        $oAppDel->setDelQueueDuration( $queueDuration );

                    } else {

                        //the task was not started

                        $queueDuration = $this->getDiffDate( $now, $iDelegateDate );

                        $oAppDel->setDelQueueDuration( $queueDuration );



                        //we are putting negative number if the task is not delayed, and positive number for the time the task is delayed

                        //$delayDuration = $this->getDiffDate( $now, $iDueDate );

                        $delayDuration = $calendar->dashCalculateDurationWithCalendar( $row['DEL_TASK_DUE_DATE'], date("Y-m-d H:i:s"), $calData );

                        $delayDuration = $delayDuration / (24 * 60 * 60); //Days

                        $oAppDel->setDelDelayDuration( $delayDuration );

                        if ($fTaskDuration != 0) {

                            $overduePercentage = $delayDuration / $fTaskDuration;

                            $oAppDel->setAppOverduePercentage( $overduePercentage );

                            if ($iDueDate < $now) {

                                $oAppDel->setDelDelayed( 1 );

                            }

                        }

                    }

                }



                //if the task was not finished

                if ($isFinished == 0) {

                    if ($row['DEL_FINISH_DATE'] != null && $row['DEL_FINISH_DATE'] != '') {

                        $oAppDel->setAppOverduePercentage( $overduePercentage );

                        $oAppDel->setDelFinished( 1 );



                        //$delDuration = $this->getDiffDate( $iFinishDate, $iInitDate );

                        $delDuration = $calendar->dashCalculateDurationWithCalendar($row['DEL_INIT_DATE'], $row['DEL_FINISH_DATE'], $calData );//by jen

                        $delDuration = $delDuration / (24 * 60 * 60); //Saving the delDuration in days. The calculateDurationSLA func returns mins.

                        $oAppDel->setDelDuration( $delDuration );

                        //calculate due date if correspond

                        $dueDate = strtotime($iDueDate);

                        $finishDate = strtotime($iFinishDate);

                        if ($dueDate < $finishDate) {

                            $oAppDel->setDelDelayed( 1 );

                            //$delayDuration = $this->getDiffDate( $iFinishDate, $iDueDate );

                            $delayDuration = $calendar->dashCalculateDurationWithCalendar( $row['DEL_TASK_DUE_DATE'], $row['DEL_FINISH_DATE'], $calData );

                            $delayDuration = $delayDuration / (24 * 60 * 60); //Days

                        } else {

                            $oAppDel->setDelDelayed( 0 );

                            $delayDuration = 0;

                        }

                        $oAppDel->setDelDelayDuration( $delayDuration );

                    } else {

                        //the task was not completed

                        if ($row['DEL_INIT_DATE'] != null && $row['DEL_INIT_DATE'] != '') {

                        	//$delDuration = $this->getDiffDate( $now, $iInitDate );

                            $delDuration = $calendar->dashCalculateDurationWithCalendar($row['DEL_INIT_DATE'], date("Y-m-d H:i:s"), $calData );//by jen

                            $delDuration = $delDuration / (24 * 60 * 60); //Saving the delDuration in days. The calculateDurationSLA func returns mins.

                        } else {

                            //$delDuration = $this->getDiffDate( $now, $iDelegateDate );

                            $delDuration = $calendar->dashCalculateDurationWithCalendar($row['DEL_DELEGATE_DATE'], date("Y-m-d H:i:s"), $calData ); //byJen

                            $delDuration = $delDuration / (24 * 60 * 60); //Saving the delDuration in days. The calculateDurationSLA func returns mins.

                        }

                        $oAppDel->setDelDuration( $delDuration );



                        //we are putting negative number if the task is not delayed, and positive number for the time the task is delayed

                        //$delayDuration = $this->getDiffDate( $now, $iDueDate );

                        $delayDuration = 0;

                        if($now > $iDueDate){

                        	$delayDuration = $calendar->dashCalculateDurationWithCalendar( $row['DEL_TASK_DUE_DATE'], date("Y-m-d H:i:s"), $calData );

                        	$delayDuration = $delayDuration / (24 * 60 * 60);

                        }

                         //Days

                        $oAppDel->setDelDelayDuration( $delayDuration );

                        if ($fTaskDuration != 0) {

                            $overduePercentage = $delayDuration / $fTaskDuration;

                            $oAppDel->setAppOverduePercentage( $overduePercentage );

                            if ($iDueDate < $now) {

                                $oAppDel->setDelDelayed( 1 );

                            }

                        }

                    }



                }

                //and finally save the record

                $RES = $oAppDel->save();

                $rs->next();

                $row = $rs->getRow();

            }



            if ($cron == 1) {

                $arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) );

                $arrayCron["processcTimeStart"] = time();

                @file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) );

            }

        } catch (Exception $oError) {

            error_log( $oError->getMessage() );

        }

    }