19 declare(strict_types=1);
    32     public const JOB_ID = 
'xapi_deletion_cron';
    40     private \ILIAS\DI\Container 
$dic;
    47         $DIC->language()->loadLanguageModule(
'cmix');
    52         $lrsTypeId = 
$settings->get(
'lrs_type_id', 
'0');
    57             $this->lrsType = null;
    70         return $this->dic->language()->txt(
"cron_xapi_del");
    75         return $this->dic->language()->txt(
"cron_xapi_del_desc");
    96         return CronJobScheduleType::SCHEDULE_TYPE_DAILY;
   118         $this->log->debug(
'run');
   162         $newDeletedObjects = $this->model->getNewDeletedXapiObjects();
   165         $deletedObjectData = array();
   167         foreach ($newDeletedObjects as $deletedObject) {
   168             $this->log->debug(
"delete for " . (
string)$deletedObject[
'obj_id']);
   170             $this->model->setXapiObjAsUpdated($deletedObject[
'obj_id']);
   173                 (
int) $deletedObject[
'obj_id'],
   174                 (
int) $deletedObject[
'type_id'],
   175                 (
string) $deletedObject[
'activity_id'],
   179             $done = $deleteRequest->delete();
   183                 $this->log->debug(
"deleted data for object: " . (
string)$deletedObject[
'obj_id']);
   184                 $deletedObjectData[] = $deletedObject[
'obj_id'];
   185                 $this->model->deleteXapiObjectEntry($deletedObject[
'obj_id']);
   187                 $this->log->debug(
"error: delete data for object: " . (
string) $deletedObject[
'obj_id']);
   188                 $this->model->resetUpdatedXapiObj($deletedObject[
'obj_id']);
   195         $newDeletedUsers = $this->model->getNewDeletedUsers();
   196         foreach ($newDeletedUsers as $deletedUser) {
   197             $usrId = $deletedUser[
'usr_id'];
   198             $objId = $deletedUser[
'obj_id'];
   200             $this->model->setUserAsUpdated($usrId);
   201             $xapiObject = $this->model->getXapiObjectData(
$objId);
   203             if (in_array(
$objId, $deletedObjectData)) {
   204                 $this->log->debug(
"nothing to do, because of complete object data deletion in previous step");
   209                 (
int) $xapiObject[
'lrs_type_id'],
   210                 (
string) $xapiObject[
'activity_id'],
   214             $done = $deleteRequest->delete();
   217                 $this->model->deleteUserEntry($usrId, $objId);
   218                 $this->log->debug(
"deleted object " . (
string) $objId . 
" data for user " . (
string) $usrId);
   220                 $this->log->debug(
"error deleting object " . (
string) $objId . 
" data for user " . (
string) $usrId);
   221                 $this->model->resetUpdatedXapiUser($usrId, $objId);
 
static getLogger(string $a_component_id)
Get component logger. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
hasAutoActivation()
@inheritdoc 
 
Class ilCmiXapiStatementsDeleteRequest. 
 
hasFlexibleSchedule()
@inheritdoc 
 
ilCmiXapiLrsType $lrsType
 
getDefaultScheduleValue()