Skip to content

Commit 3bad331

Browse files
committed
Component/CmiXapi: contribute cron jobs
1 parent e0a0dba commit 3bad331

4 files changed

Lines changed: 41 additions & 13 deletions

File tree

components/ILIAS/CmiXapi/CmiXapi.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,17 @@ public function init(
3636
new \ilCmiXapiSetupAgent(
3737
$pull[\ILIAS\Refinery\Factory::class]
3838
);
39+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
40+
new \ilXapiResultsCronjob(
41+
'components\\' . self::class,
42+
$use[\ILIAS\Language\Language::class],
43+
true
44+
);
45+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
46+
new \ilCmiXapiDelCron(
47+
'components\\' . self::class,
48+
$use[\ILIAS\Language\Language::class],
49+
true
50+
);
3951
}
4052
}

components/ILIAS/CmiXapi/classes/class.ilCmiXapiDelCron.php

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,29 @@ class ilCmiXapiDelCron extends ilCronJob
3939

4040
private \ILIAS\DI\Container $dic;
4141

42-
public function __construct()
42+
public function __construct(
43+
string $component,
44+
\ILIAS\Language\Language $lng,
45+
bool $registration = false
46+
) {
47+
parent::__construct($component, $lng);
48+
$this->lng->loadLanguageModule('cmix');
49+
if (!$registration) {
50+
$this->additionalConstruct();
51+
}
52+
}
53+
54+
private function additionalConstruct()
4355
{
4456
global $DIC; /* @var \ILIAS\DI\Container $DIC */
4557
$this->dic = $DIC;
4658

47-
$DIC->language()->loadLanguageModule('cmix');
48-
4959
$this->log = ilLoggerFactory::getLogger('cmix');
5060

5161
$settings = new ilSetting(self::JOB_ID);
5262
$lrsTypeId = $settings->get('lrs_type_id', '0');
5363

54-
if($lrsTypeId) {
64+
if ($lrsTypeId) {
5565
$this->lrsType = new ilCmiXapiLrsType((int) $lrsTypeId);
5666
} else {
5767
$this->lrsType = null;
@@ -224,7 +234,7 @@ public function run(): ilCronJobResult
224234
$deletedObjectData = array();
225235
$allDone = true;
226236
foreach ($newDeletedObjects as $deletedObject) {
227-
$this->log->debug("delete for " . (string)$deletedObject['obj_id']);
237+
$this->log->debug("delete for " . (string) $deletedObject['obj_id']);
228238
// set object to updated
229239
$this->model->setXapiObjAsUpdated($deletedObject['obj_id']);
230240
// delete data
@@ -239,7 +249,7 @@ public function run(): ilCronJobResult
239249
// entry in xxcf_users is already deleted from ilXapiCmi5StatementsDeleteRequest
240250
// delete in obj_id from xxcf_data_settings
241251
if ($done) {
242-
$this->log->debug("deleted data for object: " . (string)$deletedObject['obj_id']);
252+
$this->log->debug("deleted data for object: " . (string) $deletedObject['obj_id']);
243253
$deletedObjectData[] = $deletedObject['obj_id'];
244254
$this->model->deleteXapiObjectEntry($deletedObject['obj_id']);
245255
} else {

components/ILIAS/CmiXapi/classes/class.ilXapiResultsCronjob.php

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,23 @@ class ilXapiResultsCronjob extends ilCronJob
4040

4141
private \ILIAS\DI\Container $dic;
4242

43-
public function __construct()
43+
public function __construct(
44+
string $component,
45+
\ILIAS\Language\Language $lng,
46+
bool $registration = false
47+
) {
48+
parent::__construct($component, $lng);
49+
$this->lng->loadLanguageModule('cmix');
50+
if (!$registration) {
51+
$this->additionalConstruct();
52+
}
53+
}
54+
55+
private function additionalConstruct()
4456
{
4557
global $DIC; /* @var \ILIAS\DI\Container $DIC */
4658
$this->dic = $DIC;
4759

48-
$DIC->language()->loadLanguageModule('cmix');
49-
5060
$this->log = ilLoggerFactory::getLogger('cmix');
5161

5262
$this->initThisRunTS();

components/ILIAS/CmiXapi/module.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,6 @@
3131
<event type="listen" id="components/ILIAS/Course" />
3232
<event type="listen" id="components/ILIAS/Group" />
3333
</events>
34-
<crons>
35-
<cron id="xapi_results_evaluation" class="ilXapiResultsCronjob" />
36-
<cron id="xapi_deletion_cron" class="ilCmiXapiDelCron" />
37-
</crons>
3834
<copage />
3935
<web_access_checker />
4036
<logging />

0 commit comments

Comments
 (0)