| 
    ILIAS
    release_10 Revision v10.1-43-ga1241a92c2f
    
   | 
  
Forum notifications. More...
 Inheritance diagram for ilForumCronNotification:
 Collaboration diagram for ilForumCronNotification:Public Member Functions | |
| __construct (ilDBInterface $database=null, ilForumNotificationCache $notificationCache=null, ilLanguage $lng=null, ilSetting $settings=null, \ILIAS\Refinery\Factory $refinery=null, ilCronManager $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) | |
  Public Member Functions inherited from ilCronJob | |
| setDateTimeProvider (?Closure $date_time_provider) | |
| isDue (?DateTimeImmutable $last_run, ?CronJobScheduleType $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 (?CronJobScheduleType $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 () | |
| addCustomSettingsToForm (ilPropertyFormGUI $a_form) | |
| 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 ilCronManager | $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 | |
  Protected Attributes inherited from ilCronJob | |
| CronJobScheduleType | $schedule_type = null | 
| int | $schedule_value = null | 
| Closure | $date_time_provider = null | 
Forum notifications.
Definition at line 28 of file class.ilForumCronNotification.php.
| ilForumCronNotification::__construct | ( | ilDBInterface | $database = null,  | 
        
| ilForumNotificationCache | $notificationCache = null,  | 
        ||
| ilLanguage | $lng = null,  | 
        ||
| ilSetting | $settings = null,  | 
        ||
| \ILIAS\Refinery\Factory | $refinery = null,  | 
        ||
| ilCronManager | $cronManager = null  | 
        ||
| ) | 
Definition at line 54 of file class.ilForumCronNotification.php.
References $DIC, ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ILIAS\Repository\settings().
 Here is the call graph for this function:| ilForumCronNotification::activationWasToggled | ( | ilDBInterface | $db, | 
| ilSetting | $setting, | ||
| bool | $a_currently_active | ||
| ) | 
Definition at line 375 of file class.ilForumCronNotification.php.
References ilSetting\set().
 Here is the call graph for this function:| ilForumCronNotification::addCustomSettingsToForm | ( | ilPropertyFormGUI | $a_form | ) | 
Definition at line 386 of file class.ilForumCronNotification.php.
References ilPropertyFormGUI\addItem(), ILIAS\Repository\lng(), and ILIAS\Repository\settings().
 Here is the call graph for this function:
      
  | 
  private | 
| array<string,string|int|float|null> | $row | 
Definition at line 354 of file class.ilForumCronNotification.php.
Referenced by sendCronForumNotification().
 Here is the caller graph for this function:| ilForumCronNotification::addToExternalSettingsForm | ( | int | $a_form_id, | 
| array & | $a_fields, | ||
| bool | $a_is_active | ||
| ) | 
Definition at line 366 of file class.ilForumCronNotification.php.
References ilAdministrationSettingsFormHandler\FORM_FORUM, and ILIAS\Repository\lng().
 Here is the call graph for this function:
      
  | 
  private | 
Definition at line 604 of file class.ilForumCronNotification.php.
Referenced by sendNotificationForCensoredPosts(), sendNotificationForNewPosts(), sendNotificationForUncensoredPosts(), and sendNotificationForUpdatedPosts().
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 623 of file class.ilForumCronNotification.php.
Referenced by sendNotificationForDeletedPosts(), and sendNotificationForDeletedThreads().
 Here is the caller graph for this function:| ilForumCronNotification::existsProviderObject | ( | int | $provider_id, | 
| int | $notification_type | ||
| ) | 
Definition at line 346 of file class.ilForumCronNotification.php.
Referenced by sendCronForumNotification().
 Here is the caller graph for this function:| ilForumCronNotification::getDefaultScheduleType | ( | ) | 
Definition at line 87 of file class.ilForumCronNotification.php.
| ilForumCronNotification::getDefaultScheduleValue | ( | ) | 
Definition at line 92 of file class.ilForumCronNotification.php.
| ilForumCronNotification::getDescription | ( | ) | 
Definition at line 82 of file class.ilForumCronNotification.php.
References ILIAS\Repository\lng().
 Here is the call graph for this function:
      
  | 
  protected | 
Definition at line 207 of file class.ilForumCronNotification.php.
References $DIC, $ref_id, and getRefIdsByObjId().
Referenced by sendCronForumNotification().
 Here is the call graph for this function:
 Here is the caller graph for this function:| ilForumCronNotification::getId | ( | ) | 
Definition at line 72 of file class.ilForumCronNotification.php.
Referenced by keepAlive().
 Here is the caller graph for this function:
      
  | 
  protected | 
Definition at line 198 of file class.ilForumCronNotification.php.
References ilObject\_getAllReferences().
Referenced by getFirstAccessibleRefIdBUserAndObjId().
 Here is the call graph for this function:
 Here is the caller graph for this function:| ilForumCronNotification::getTitle | ( | ) | 
Definition at line 77 of file class.ilForumCronNotification.php.
References ILIAS\Repository\lng().
 Here is the call graph for this function:| ilForumCronNotification::hasAutoActivation | ( | ) | 
Definition at line 97 of file class.ilForumCronNotification.php.
| ilForumCronNotification::hasCustomSettings | ( | ) | 
Definition at line 107 of file class.ilForumCronNotification.php.
| ilForumCronNotification::hasFlexibleSchedule | ( | ) | 
Definition at line 102 of file class.ilForumCronNotification.php.
| ilForumCronNotification::keepAlive | ( | ) | 
Definition at line 112 of file class.ilForumCronNotification.php.
References getId(), and ILIAS\Repository\logger().
Referenced by sendCronForumNotification(), sendDeleteNotifications(), and sendNotification().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 361 of file class.ilForumCronNotification.php.
Referenced by sendCronForumNotification().
 Here is the caller graph for this function:| ilForumCronNotification::run | ( | ) | 
Definition at line 119 of file class.ilForumCronNotification.php.
References $DIC, ILIAS\Repository\lng(), ILIAS\Repository\logger(), sendNotificationForCensoredPosts(), sendNotificationForDeletedPosts(), sendNotificationForDeletedThreads(), sendNotificationForNewPosts(), sendNotificationForUncensoredPosts(), sendNotificationForUpdatedPosts(), ILIAS\Repository\settings(), ilCronJobResult\STATUS_NO_ACTION, and ilCronJobResult\STATUS_OK.
 Here is the call graph for this function:| ilForumCronNotification::saveCustomSettings | ( | ilPropertyFormGUI | $a_form | ) | 
Definition at line 410 of file class.ilForumCronNotification.php.
References ilPropertyFormGUI\getInput(), ILIAS\Repository\refinery(), ILIAS\Repository\settings(), and ILIAS\Refinery\transform().
 Here is the call graph for this function:| ilForumCronNotification::sendCronForumNotification | ( | ilDBStatement | $res, | 
| int | $notification_type | ||
| ) | 
Definition at line 230 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(), ilForumAuthorInformationCache\preloadUserObjects(), resetProviderCache(), ilForumMailNotification\TYPE_POST_DELETED, and ilForumMailNotification\TYPE_THREAD_DELETED.
Referenced by sendDeleteNotifications(), and sendNotification().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 577 of file class.ilForumCronNotification.php.
References keepAlive(), ILIAS\Repository\logger(), sendCronForumNotification(), and ilDBConstants\T_INTEGER.
Referenced by sendNotificationForDeletedPosts(), and sendNotificationForDeletedThreads().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 565 of file class.ilForumCronNotification.php.
References keepAlive(), ILIAS\Repository\logger(), and sendCronForumNotification().
Referenced by sendNotificationForCensoredPosts(), sendNotificationForNewPosts(), sendNotificationForUncensoredPosts(), and sendNotificationForUpdatedPosts().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 479 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().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 549 of file class.ilForumCronNotification.php.
References $res, createSelectOfDeletionNotificationsSql(), ilForumNotificationEvents\POST_DELETED, sendDeleteNotifications(), ilDBConstants\T_INTEGER, and ilForumMailNotification\TYPE_POST_DELETED.
Referenced by run().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 533 of file class.ilForumCronNotification.php.
References $res, createSelectOfDeletionNotificationsSql(), sendDeleteNotifications(), ilDBConstants\T_INTEGER, ilForumNotificationEvents\THREAD_DELETED, and ilForumMailNotification\TYPE_THREAD_DELETED.
Referenced by run().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 428 of file class.ilForumCronNotification.php.
References $res, createForumPostSql(), sendNotification(), ilDBConstants\T_INTEGER, ilDBConstants\T_TIMESTAMP, and ilForumMailNotification\TYPE_POST_NEW.
Referenced by run().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 506 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().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Definition at line 452 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().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  staticprivate | 
Definition at line 40 of file class.ilForumCronNotification.php.
      
  | 
  staticprivate | 
Definition at line 42 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 52 of file class.ilForumCronNotification.php.
      
  | 
  staticprivate | 
Definition at line 36 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 49 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 44 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 46 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 50 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 48 of file class.ilForumCronNotification.php.
      
  | 
  staticprivate | 
Definition at line 34 of file class.ilForumCronNotification.php.
      
  | 
  staticprivate | 
Definition at line 38 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 51 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 45 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 47 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 31 of file class.ilForumCronNotification.php.
      
  | 
  private | 
Definition at line 30 of file class.ilForumCronNotification.php.