ILIAS
trunk Revision v11.0_alpha-1866-gfa368f7776e
|
Forum notifications. More...
Public Member Functions | |
__construct (?ilDBInterface $database=null, ?ilForumNotificationCache $notificationCache=null, ?ilLanguage $lng=null, ?ilSetting $settings=null, ?\ILIAS\Refinery\Factory $refinery=null, ?JobManager $cronManager=null) | |
getId () | |
getTitle () | |
getDescription () | |
getDefaultScheduleType () | |
getDefaultScheduleValue () | |
hasAutoActivation () | |
hasFlexibleSchedule () | |
hasCustomSettings () | |
keepAlive () | |
run () | |
sendCronForumNotification (ilDBStatement $res, int $notification_type) | |
existsProviderObject (int $provider_id, int $notification_type) | |
addToExternalSettingsForm (int $a_form_id, array &$a_fields, bool $a_is_active) | |
activationWasToggled (ilDBInterface $db, ilSetting $setting, bool $a_currently_active) | |
addCustomSettingsToForm (ilPropertyFormGUI $a_form) | |
saveCustomSettings (ilPropertyFormGUI $a_form) | |
![]() | |
setDateTimeProvider (?\Closure $date_time_provider) | |
isDue (?\DateTimeImmutable $last_run, ?JobScheduleType $schedule_type, ?int $schedule_value, bool $is_manually_executed=false) | |
getScheduleType () | |
Get current schedule type (if flexible) More... | |
getScheduleValue () | |
Get current schedule value (if flexible) More... | |
setSchedule (?JobScheduleType $a_type, ?int $a_value) | |
Update current schedule (if flexible) More... | |
getAllScheduleTypes () | |
Get all available schedule types. More... | |
getScheduleTypesWithValues () | |
getValidScheduleTypes () | |
Returns a collection of all valid schedule types for a specific job. More... | |
isManuallyExecutable () | |
hasCustomSettings () | |
usesLegacyForms () | |
getCustomConfigurationInput (\ILIAS\UI\Factory $ui_factory, \ILIAS\Refinery\Factory $factory, \ilLanguage $lng) | |
addCustomSettingsToForm (\ilPropertyFormGUI $a_form) | |
saveCustomConfiguration (mixed $form_data) | |
saveCustomSettings (\ilPropertyFormGUI $a_form) | |
addToExternalSettingsForm (int $a_form_id, array &$a_fields, bool $a_is_active) | |
activationWasToggled (\ilDBInterface $db, \ilSetting $setting, bool $a_currently_active) | |
Important: This method is (also) called from the setup process, where the constructor of an ilCronJob ist NOT executed. More... | |
getId () | |
getTitle () | |
getDescription () | |
hasAutoActivation () | |
Is to be activated on "installation", does only work for ILIAS core cron jobs. More... | |
hasFlexibleSchedule () | |
getDefaultScheduleType () | |
getDefaultScheduleValue () | |
run () | |
Protected Member Functions | |
getRefIdsByObjId (int $a_obj_id) | |
getFirstAccessibleRefIdBUserAndObjId (int $a_user_id, int $a_obj_id) | |
Private Member Functions | |
addProviderObject (int $provider_id, array $row, int $notification_type) | |
resetProviderCache () | |
sendNotificationForNewPosts (string $threshold_date) | |
sendNotificationForUpdatedPosts (string $threshold_date) | |
sendNotificationForCensoredPosts (string $threshold_date) | |
sendNotificationForUncensoredPosts (string $threshold_date) | |
sendNotificationForDeletedThreads () | |
sendNotificationForDeletedPosts () | |
sendNotification (ilDBStatement $res, string $actionName, int $notificationType) | |
sendDeleteNotifications (ilDBStatement $res, string $action, string $actionDescription, int $notificationType) | |
createForumPostSql (string $condition) | |
createSelectOfDeletionNotificationsSql () | |
Private Attributes | |
const | KEEP_ALIVE_CHUNK_SIZE = 25 |
const | DEFAULT_MAX_NOTIFICATION_AGE_IN_DAYS = 30 |
readonly ilLanguage | $lng |
readonly ilSetting | $settings |
ilLogger | $logger |
ilTree | $tree |
int | $num_sent_messages = 0 |
readonly ilDBInterface | $ilDB |
readonly ilForumNotificationCache | $notificationCache |
readonly ILIAS Refinery Factory | $refinery |
readonly JobManager | $cronManager |
Static Private Attributes | |
static array | $providerObject = [] |
static array | $deleted_ids_cache = [] |
static array | $ref_ids_by_obj_id = [] |
static array | $accessible_ref_ids_by_user = [] |
static array | $container_by_frm_ref_id = [] |
Additional Inherited Members | |
![]() | |
JobScheduleType | $schedule_type = null |
int | $schedule_value = null |
Closure | $date_time_provider = null |
Forum notifications.
Definition at line 31 of file class.ilForumCronNotification.php.
ilForumCronNotification::__construct | ( | ?ilDBInterface | $database = null , |
?ilForumNotificationCache | $notificationCache = null , |
||
?ilLanguage | $lng = null , |
||
?ilSetting | $settings = null , |
||
?\ILIAS\Refinery\Factory | $refinery = null , |
||
?JobManager | $cronManager = null |
||
) |
Definition at line 57 of file class.ilForumCronNotification.php.
References $DIC, ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ILIAS\Repository\settings().
ilForumCronNotification::activationWasToggled | ( | ilDBInterface | $db, |
ilSetting | $setting, | ||
bool | $a_currently_active | ||
) |
Definition at line 378 of file class.ilForumCronNotification.php.
References ilSetting\set().
ilForumCronNotification::addCustomSettingsToForm | ( | ilPropertyFormGUI | $a_form | ) |
Definition at line 389 of file class.ilForumCronNotification.php.
References ilPropertyFormGUI\addItem(), ILIAS\Repository\lng(), ilNumberInputGUI\setSize(), and ILIAS\Repository\settings().
|
private |
array<string,string|int|float|null> | $row |
Definition at line 357 of file class.ilForumCronNotification.php.
Referenced by sendCronForumNotification().
ilForumCronNotification::addToExternalSettingsForm | ( | int | $a_form_id, |
array & | $a_fields, | ||
bool | $a_is_active | ||
) |
Definition at line 369 of file class.ilForumCronNotification.php.
References ilAdministrationSettingsFormHandler\FORM_FORUM, and ILIAS\Repository\lng().
|
private |
Definition at line 607 of file class.ilForumCronNotification.php.
Referenced by sendNotificationForCensoredPosts(), sendNotificationForNewPosts(), sendNotificationForUncensoredPosts(), and sendNotificationForUpdatedPosts().
|
private |
Definition at line 626 of file class.ilForumCronNotification.php.
Referenced by sendNotificationForDeletedPosts(), and sendNotificationForDeletedThreads().
ilForumCronNotification::existsProviderObject | ( | int | $provider_id, |
int | $notification_type | ||
) |
Definition at line 349 of file class.ilForumCronNotification.php.
Referenced by sendCronForumNotification().
ilForumCronNotification::getDefaultScheduleType | ( | ) |
Definition at line 90 of file class.ilForumCronNotification.php.
ilForumCronNotification::getDefaultScheduleValue | ( | ) |
Definition at line 95 of file class.ilForumCronNotification.php.
ilForumCronNotification::getDescription | ( | ) |
Definition at line 85 of file class.ilForumCronNotification.php.
References ILIAS\Repository\lng().
|
protected |
Definition at line 210 of file class.ilForumCronNotification.php.
References $DIC, $ref_id, and getRefIdsByObjId().
Referenced by sendCronForumNotification().
ilForumCronNotification::getId | ( | ) |
Definition at line 75 of file class.ilForumCronNotification.php.
Referenced by keepAlive().
|
protected |
Definition at line 201 of file class.ilForumCronNotification.php.
References ilObject\_getAllReferences().
Referenced by getFirstAccessibleRefIdBUserAndObjId().
ilForumCronNotification::getTitle | ( | ) |
Definition at line 80 of file class.ilForumCronNotification.php.
References ILIAS\Repository\lng().
ilForumCronNotification::hasAutoActivation | ( | ) |
Definition at line 100 of file class.ilForumCronNotification.php.
ilForumCronNotification::hasCustomSettings | ( | ) |
Definition at line 110 of file class.ilForumCronNotification.php.
ilForumCronNotification::hasFlexibleSchedule | ( | ) |
Definition at line 105 of file class.ilForumCronNotification.php.
ilForumCronNotification::keepAlive | ( | ) |
Definition at line 115 of file class.ilForumCronNotification.php.
References getId(), and ILIAS\Repository\logger().
Referenced by sendCronForumNotification(), sendDeleteNotifications(), and sendNotification().
|
private |
Definition at line 364 of file class.ilForumCronNotification.php.
Referenced by sendCronForumNotification().
ilForumCronNotification::run | ( | ) |
Definition at line 122 of file class.ilForumCronNotification.php.
References $DIC, ILIAS\Repository\lng(), ILIAS\Repository\logger(), null, sendNotificationForCensoredPosts(), sendNotificationForDeletedPosts(), sendNotificationForDeletedThreads(), sendNotificationForNewPosts(), sendNotificationForUncensoredPosts(), sendNotificationForUpdatedPosts(), and ILIAS\Repository\settings().
ilForumCronNotification::saveCustomSettings | ( | ilPropertyFormGUI | $a_form | ) |
Definition at line 413 of file class.ilForumCronNotification.php.
References ilPropertyFormGUI\getInput(), ILIAS\Repository\refinery(), ILIAS\Repository\settings(), and ILIAS\Refinery\transform().
ilForumCronNotification::sendCronForumNotification | ( | ilDBStatement | $res, |
int | $notification_type | ||
) |
Definition at line 233 of file class.ilForumCronNotification.php.
References $container, $DIC, $provider, $ref_id, addProviderObject(), ANONYMOUS_USER_ID, existsProviderObject(), getFirstAccessibleRefIdBUserAndObjId(), ilObjectFactory\getInstanceByRefId(), ILIAS\Repository\int(), keepAlive(), ILIAS\Repository\logger(), null, ilForumAuthorInformationCache\preloadUserObjects(), resetProviderCache(), ilForumMailNotification\TYPE_POST_DELETED, and ilForumMailNotification\TYPE_THREAD_DELETED.
Referenced by sendDeleteNotifications(), and sendNotification().
|
private |
Definition at line 580 of file class.ilForumCronNotification.php.
References keepAlive(), ILIAS\Repository\logger(), sendCronForumNotification(), and ilDBConstants\T_INTEGER.
Referenced by sendNotificationForDeletedPosts(), and sendNotificationForDeletedThreads().
|
private |
Definition at line 568 of file class.ilForumCronNotification.php.
References keepAlive(), ILIAS\Repository\logger(), and sendCronForumNotification().
Referenced by sendNotificationForCensoredPosts(), sendNotificationForNewPosts(), sendNotificationForUncensoredPosts(), and sendNotificationForUpdatedPosts().
|
private |
Definition at line 482 of file class.ilForumCronNotification.php.
References $res, ilForumNotificationEvents\CENSORED, createForumPostSql(), sendNotification(), ilDBConstants\T_INTEGER, ilDBConstants\T_TIMESTAMP, and ilForumMailNotification\TYPE_POST_CENSORED.
Referenced by run().
|
private |
Definition at line 552 of file class.ilForumCronNotification.php.
References $res, createSelectOfDeletionNotificationsSql(), ilForumNotificationEvents\POST_DELETED, sendDeleteNotifications(), ilDBConstants\T_INTEGER, and ilForumMailNotification\TYPE_POST_DELETED.
Referenced by run().
|
private |
Definition at line 536 of file class.ilForumCronNotification.php.
References $res, createSelectOfDeletionNotificationsSql(), sendDeleteNotifications(), ilDBConstants\T_INTEGER, ilForumNotificationEvents\THREAD_DELETED, and ilForumMailNotification\TYPE_THREAD_DELETED.
Referenced by run().
|
private |
Definition at line 431 of file class.ilForumCronNotification.php.
References $res, createForumPostSql(), sendNotification(), ilDBConstants\T_INTEGER, ilDBConstants\T_TIMESTAMP, and ilForumMailNotification\TYPE_POST_NEW.
Referenced by run().
|
private |
Definition at line 509 of file class.ilForumCronNotification.php.
References $res, createForumPostSql(), sendNotification(), ilDBConstants\T_INTEGER, ilDBConstants\T_TIMESTAMP, ilForumMailNotification\TYPE_POST_UNCENSORED, and ilForumNotificationEvents\UNCENSORED.
Referenced by run().
|
private |
Definition at line 455 of file class.ilForumCronNotification.php.
References $res, createForumPostSql(), sendNotification(), ilDBConstants\T_INTEGER, ilDBConstants\T_TIMESTAMP, ilForumMailNotification\TYPE_POST_UPDATED, and ilForumNotificationEvents\UPDATED.
Referenced by run().
|
staticprivate |
Definition at line 43 of file class.ilForumCronNotification.php.
|
staticprivate |
Definition at line 45 of file class.ilForumCronNotification.php.
|
private |
Definition at line 55 of file class.ilForumCronNotification.php.
|
staticprivate |
Definition at line 39 of file class.ilForumCronNotification.php.
|
private |
Definition at line 52 of file class.ilForumCronNotification.php.
|
private |
Definition at line 47 of file class.ilForumCronNotification.php.
|
private |
Definition at line 49 of file class.ilForumCronNotification.php.
|
private |
Definition at line 53 of file class.ilForumCronNotification.php.
|
private |
Definition at line 51 of file class.ilForumCronNotification.php.
|
staticprivate |
Definition at line 37 of file class.ilForumCronNotification.php.
|
staticprivate |
Definition at line 41 of file class.ilForumCronNotification.php.
|
private |
Definition at line 54 of file class.ilForumCronNotification.php.
|
private |
Definition at line 48 of file class.ilForumCronNotification.php.
|
private |
Definition at line 50 of file class.ilForumCronNotification.php.
|
private |
Definition at line 34 of file class.ilForumCronNotification.php.
|
private |
Definition at line 33 of file class.ilForumCronNotification.php.