19 declare(strict_types=1);
    32         $this->type = $this::TYPE;
    38         if (
$data = $this->db->fetchObject($stmt)) {
    47     protected function doCreate(
bool $clone_mode = 
false): void
    51             $main_table->setObjId($this->
getId());
    52             $main_table->setTitle($this->
getTitle());
    53             $main_table->setAddPerm(
true);
    54             $main_table->setEditPerm(
true);
    55             $main_table->setDeletePerm(
false);
    56             $main_table->setDeleteByOwner(
true);
    57             $main_table->setEditByOwner(
true);
    58             $main_table->setLimited(
false);
    59             $main_table->setIsVisible(
true);
    60             $main_table->doCreate();
    79             $table->doDelete(
false, 
true);
   117         $mail->setType($action);
   118         $mail->setActor($this->
user->getId());
   119         $mail->setObjId($this->
getId());
   121         $mail->setRecord($record);
   124         foreach ($users as $user_id) {
   126                 $user_id !== $this->
user->getId() &&
   127                 $record->
getTable()->hasPermissionToViewRecord($this->
getRefId(), $record, $user_id) &&
   128                 [] !== $record->
getTable()->getVisibleTableViews($user_id)
   130                 $mail->addRecipient($user_id);
   144         $new_obj->cloneStructure($this->
getRefId());
   153         $this->
setRating($original->getRating());
   157         foreach ($original->getTables() as $table) {
   159             $new_table->setObjId($this->
getId());
   160             $new_table->cloneStructure($table);
   164             $table->afterClone();
   170         $this->is_online = $a_val;
   180         $this->rating = $a_val;
   190         $this->public_notes = $a_val;
   200         $this->approval = $a_val;
   223         $stmt = $this->db->queryF(
   224             'SELECT id FROM il_dcl_table WHERE obj_id = %s ORDER BY table_order',
   229         while ($rec = $this->db->fetchAssoc($stmt)) {
   247             if ($table->getIsVisible() && $table->getVisibleTableViews()) {
   248                 $tables[$table->getId()] = $table;
 
const TYPE_DATACOLLECTION
 
sendRecordNotification(int $action, ilDclBaseRecordModel $record)
 
setNotification(bool $a_val)
 
doCloneObject(ilObject2 $new_obj, int $a_target_id, ?int $a_copy_id=null)
 
static getNotificationsForObject(int $type, int $id, ?int $page_id=null, bool $ignore_threshold=false)
Get all users/recipients for given object. 
 
const TYPE_DATA_COLLECTION
 
static getTableCache(int $table_id=null)
 
static setCloneOf(int $old, int $new, string $type)
 
static updateNotificationTime(int $type, int $id, array $user_ids, ?int $page_id=null, bool $activate_new_entries=true)
Update the last mail timestamp for given object and users. 
 
setPublicNotes(bool $a_val)
 
doCreate(bool $clone_mode=false)
 
static _getInstance(int $a_copy_id)
 
getTableById(int $table_id)
 
cloneStructure(int $original_id)