Skip to content

Commit c2d00b3

Browse files
committed
Component/Calendar: contribute cron jobs
1 parent 809a5e1 commit c2d00b3

4 files changed

Lines changed: 40 additions & 16 deletions

File tree

components/ILIAS/Calendar/Calendar.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,17 @@ public function init(
5151
$contribute[Component\Resource\PublicAsset::class] = fn() =>
5252
new Component\Resource\NodeModule("eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js");
5353
*/
54+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
55+
new \ilCalendarCronRemoteReader(
56+
'components\\' . self::class,
57+
$use[\ILIAS\Language\Language::class],
58+
true
59+
);
60+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
61+
new \ilConsultationHourCron(
62+
'components\\' . self::class,
63+
$use[\ILIAS\Language\Language::class],
64+
true
65+
);
5466
}
5567
}

components/ILIAS/Calendar/classes/ConsultationHours/class.ilConsultationHourCron.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,24 @@
2626
*/
2727
class ilConsultationHourCron extends ilCronJob
2828
{
29-
protected ilLanguage $lng;
3029
protected ilDBInterface $db;
3130
protected ilSetting $setting;
3231

33-
public function __construct()
32+
public function __construct(
33+
string $component,
34+
\ILIAS\Language\Language $lng,
35+
bool $registration = false
36+
) {
37+
parent::__construct($component, $lng);
38+
$this->lng->loadLanguageModule('dateplaner');
39+
if (!$registration) {
40+
$this->additionalConstruct();
41+
}
42+
}
43+
44+
private function additionalConstruct()
3445
{
3546
global $DIC;
36-
37-
$this->lng = $DIC->language();
38-
$this->lng->loadLanguageModule('dateplaner');
3947
$this->db = $DIC->database();
4048
$this->setting = $DIC->settings();
4149
}

components/ILIAS/Calendar/classes/Cron/class.ilCalendarCronRemoteReader.php

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,24 @@ class ilCalendarCronRemoteReader extends ilCronJob
2424
{
2525
private const DEFAULT_SYNC_HOURS = 1;
2626

27-
private ilLanguage $lng;
2827
private ilLogger $logger;
29-
3028
private ?ilCalendarSettings $calendar_settings = null;
3129

32-
public function __construct()
30+
public function __construct(
31+
string $component,
32+
\ILIAS\Language\Language $lng,
33+
bool $registration = false
34+
) {
35+
parent::__construct($component, $lng);
36+
$this->lng->loadLanguageModule('dateplaner');
37+
if (!$registration) {
38+
$this->additionalConstruct();
39+
}
40+
}
41+
42+
private function additionalConstruct()
3343
{
3444
global $DIC;
35-
36-
$this->lng = $DIC->language();
3745
$this->logger = $DIC->logger()->cal();
3846
$this->calendar_settings = ilCalendarSettings::_getInstance();
3947
}
@@ -106,8 +114,8 @@ public function run(): ilCronJobResult
106114
$reader->setUser($remoteCalendar->getRemoteUser());
107115
$reader->setPass($remoteCalendar->getRemotePass());
108116
try {
109-
$reader->read();
110-
$reader->import($remoteCalendar);
117+
$reader->read();
118+
$reader->import($remoteCalendar);
111119
} catch (Exception $e) {
112120
$this->logger->warning('Remote Calendar: ' . $remoteCalendar->getCategoryID());
113121
$this->logger->warning('Reading remote calendar failed with message: ' . $e->getMessage());

components/ILIAS/Calendar/service.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@
1616
<event type="listen" id="components/ILIAS/Exercise" />
1717
<event type="listen" id="components/ILIAS/EmployeeTalk" />
1818
</events>
19-
<crons>
20-
<cron id="cal_remote_reader" class="ilCalendarCronRemoteReader" path="Services/Calendar/classes/Cron/" />
21-
<cron id="cal_consultation" class="ilConsultationHourCron" path="Services/Calendar/classes/ConsultationHours/" />
22-
</crons>
2319
<pluginslots>
2420
<pluginslot id="capm" name="AppointmentCustomModal" />
2521
<pluginslot id="capg" name="AppointmentCustomGrid" />

0 commit comments

Comments
 (0)