ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilDclTable Class Reference
+ Collaboration diagram for ilDclTable:

Public Member Functions

 __construct (int $a_id=0)
 
 doRead ()
 Read table. More...
 
 doDelete (bool $delete_only_content=false, bool $omit_notification=false)
 Delete table Attention this does not delete the maintable of it's the maintable of the collection. More...
 
 doCreate (bool $create_tablefield_setting=true, bool $create_standardview=true)
 
 doUpdate ()
 
 setId (int $a_id)
 Set table id. More...
 
 getId ()
 Get table id. More...
 
 setObjId (int $a_id)
 
 getObjId ()
 
 setTitle (string $a_title)
 
 getTitle ()
 
 getCollectionObject ()
 
 getRecords ()
 
 loadRecords ()
 
 deleteField (int $field_id)
 
 getField (string $field_id)
 
 getFieldIds ()
 
 getCustomFields ()
 
 getNewFieldOrder ()
 getNewOrder More...
 
 getNewTableviewOrder ()
 
 sortTableViews (array $tableviews=null)
 
 getFields ()
 Returns all fields of this table including the standard fields. More...
 
 reloadFields ()
 
 getTableViews ()
 
 getVisibleTableViews (int $user_id=0, bool $with_active_detailedview=false)
 
 getFirstTableViewId (int $user_id=0, bool $with_detailed_view=false)
 
 getFieldsForFormula ()
 Returns all fields of this table including the standard fields, wich are supported for formulas. More...
 
 getRecordFields ()
 Returns all fields of this table which are NOT standard fields. More...
 
 getEditableFields (bool $creation_mode)
 
 getExportableFields ()
 Return all the fields that are marked as exportable. More...
 
 hasPermissionToEditRecord (int $ref_id, ilDclBaseRecordModel $record)
 
 hasPermissionToDeleteRecord (int $ref_id, ilDclBaseRecordModel $record)
 
 hasPermissionToDeleteRecords (int $ref_id)
 
 hasPermissionToViewRecord (int $ref_id, ilDclBaseRecordModel $record, int $user_id=0)
 
 checkLimit ()
 
 updateFields ()
 Update fields. More...
 
 sortFields (array &$fields)
 sortFields More...
 
 buildOrderFields ()
 buildOrderFields orders the fields. More...
 
 getFieldByTitle (string $title)
 Get a field by title. More...
 
 setAddPerm (bool $add_perm)
 
 getAddPerm ()
 
 setDeletePerm (bool $delete_perm)
 
 getDeletePerm ()
 
 setEditByOwner (bool $edit_by_owner)
 
 getEditByOwner ()
 
 getDeleteByOwner ()
 
 setDeleteByOwner (bool $delete_by_owner)
 
 setEditPerm (bool $edit_perm)
 
 getEditPerm ()
 
 setLimited (bool $limited)
 
 getLimited ()
 
 setLimitEnd (string $limit_end)
 
 getLimitEnd ()
 
 setLimitStart (string $limit_start)
 
 getLimitStart ()
 
 setIsVisible (bool $is_visible)
 
 getIsVisible ()
 
 setDescription (string $description)
 
 getDescription ()
 
 setDefaultSortField (string $default_sort_field)
 
 getDefaultSortField ()
 
 setDefaultSortFieldOrder (string $default_sort_field_order)
 
 getDefaultSortFieldOrder ()
 
 setPublicCommentsEnabled (bool $public_comments)
 
 getPublicCommentsEnabled ()
 
 setViewOwnRecordsPerm (bool $view_own_perm)
 
 getViewOwnRecordsPerm ()
 
 getSaveConfirmation ()
 
 setSaveConfirmation (bool $save_confirmation)
 
 hasCustomFields ()
 
 compareOrder (ilDclBaseFieldModel $a, ilDclBaseFieldModel $b)
 
 cloneStructure (ilDclTable $original)
 
 afterClone ()
 
 _hasRecords ()
 _hasRecords More...
 
 addField (ilDclBaseFieldModel $field)
 
 setExportEnabled (bool $export_enabled)
 
 getExportEnabled ()
 
 getOrder ()
 
 updateOrder ()
 
 setOrder (int $table_order)
 
 setImportEnabled (bool $import_enabled)
 
 getImportEnabled ()
 
 getPartialRecords (string $ref_id, string $sort, string $direction, ?int $limit, int $offset, array $filter=[])
 Return only the needed subset of record objects for the table, according to sorting, paging and filters. More...
 
 showInvalidFields (bool $value)
 

Static Public Member Functions

static _tableExists (int $table_id)
 
static _getTableIdByTitle (string $title, int $obj_id)
 
static _hasFieldByTitle (string $title, int $obj_id)
 Checks if a table has a field with the given title. More...
 

Protected Member Functions

 loadObj ()
 
 loadCustomFields ()
 
 doesRecordBelongToUser (ilDclBaseRecordModel $record)
 
 sortByOrder (array &$array)
 

Protected Attributes

int $id = 0
 
int $objId = null
 
ilObjDataCollection $obj = null
 
string $title = ""
 
array $fields = []
 
array $stdFields = []
 
array $records = []
 
bool $is_visible = false
 
bool $add_perm = false
 
bool $edit_perm = false
 
bool $delete_perm = false
 
bool $edit_by_owner = false
 
bool $delete_by_owner = false
 
bool $save_confirmation = false
 
bool $limited = false
 
string $limit_start = ""
 
string $limit_end = ""
 
bool $export_enabled = false
 
int $table_order = 0
 
bool $import_enabled = false
 
string $default_sort_field = "0"
 
string $default_sort_field_order = 'asc'
 Default sort-order (asc|desc) More...
 
string $description = ''
 Description for this table displayed above records. More...
 
bool $public_comments = false
 True if users can add comments on each record of this table. More...
 
int $view_own_records_perm = 0
 True if user can only view his/her own entries in the table. More...
 
array $all_fields = null
 table fields and std fields combined More...
 
ILIAS HTTP Services $http
 
ILIAS Refinery Factory $refinery
 
ilObjUser $user
 
ilDBInterface $db
 
bool $show_invalid = false
 

Detailed Description

Definition at line 24 of file class.ilDclTable.php.

Constructor & Destructor Documentation

◆ __construct()

ilDclTable::__construct ( int  $a_id = 0)

Definition at line 83 of file class.ilDclTable.php.

References $DIC, doRead(), ILIAS\FileDelivery\http(), ILIAS\Repository\refinery(), and ILIAS\Repository\user().

84  {
85  global $DIC;
86 
87  $this->http = $DIC->http();
88  $this->refinery = $DIC->refinery();
89  $this->db = $DIC->database();
90  $this->user = $DIC->user();
91 
92  if ($a_id != 0) {
93  $this->id = $a_id;
94  $this->doRead();
95  }
96  }
doRead()
Read table.
static http()
Fetches the global http state from ILIAS.
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

Member Function Documentation

◆ _getTableIdByTitle()

static ilDclTable::_getTableIdByTitle ( string  $title,
int  $obj_id 
)
static
Parameters
int$obj_idDatacollection object ID where the table belongs to

Definition at line 1114 of file class.ilDclTable.php.

References $DIC, $id, and $ilDB.

1114  : int
1115  {
1116  global $DIC;
1117  $ilDB = $DIC['ilDB'];
1118 
1119  $result = $ilDB->query(
1120  'SELECT id FROM il_dcl_table WHERE title = ' . $ilDB->quote($title, 'text') . ' AND obj_id = '
1121  . $ilDB->quote($obj_id, 'integer')
1122  );
1123  $id = 0;
1124  while ($rec = $ilDB->fetchAssoc($result)) {
1125  $id = $rec['id'];
1126  }
1127 
1128  return $id;
1129  }
global $DIC
Definition: shib_login.php:25

◆ _hasFieldByTitle()

static ilDclTable::_hasFieldByTitle ( string  $title,
int  $obj_id 
)
static

Checks if a table has a field with the given title.

Parameters
string$titleTitle of field
int$obj_idof the table

Definition at line 1183 of file class.ilDclTable.php.

References $DIC, and $ilDB.

Referenced by ilDclFieldEditGUI\checkInput().

1183  : bool
1184  {
1185  global $DIC;
1186  $ilDB = $DIC['ilDB'];
1187  $result = $ilDB->query(
1188  'SELECT * FROM il_dcl_field WHERE table_id = ' . $ilDB->quote($obj_id, 'integer') . ' AND title = '
1189  . $ilDB->quote($title, 'text')
1190  );
1191 
1192  return (bool) $ilDB->numRows($result);
1193  }
global $DIC
Definition: shib_login.php:25
+ Here is the caller graph for this function:

◆ _hasRecords()

ilDclTable::_hasRecords ( )

_hasRecords

Definition at line 1084 of file class.ilDclTable.php.

References getRecords().

1084  : bool
1085  {
1086  return count($this->getRecords()) > 0;
1087  }
+ Here is the call graph for this function:

◆ _tableExists()

static ilDclTable::_tableExists ( int  $table_id)
static
Returns
bool returns true if there exists a table with id $table_id

Definition at line 1100 of file class.ilDclTable.php.

References $DIC, and $ilDB.

Referenced by ilDclBaseRecordModel\doCreate(), and ilDclBaseFieldModel\doCreate().

1100  : bool
1101  {
1102  global $DIC;
1103  $ilDB = $DIC['ilDB'];
1104 
1105  $query = "SELECT * FROM il_dcl_table WHERE id = " . $table_id;
1106  $result = $ilDB->query($query);
1107 
1108  return $result->numRows() != 0;
1109  }
global $DIC
Definition: shib_login.php:25
+ Here is the caller graph for this function:

◆ addField()

ilDclTable::addField ( ilDclBaseFieldModel  $field)
Parameters
ilDclBaseFieldModel$fieldadd an already created field for eg. ordering.

Definition at line 1092 of file class.ilDclTable.php.

References ilDclBaseFieldModel\getId().

1092  : void
1093  {
1094  $this->all_fields[$field->getId()] = $field;
1095  }
+ Here is the call graph for this function:

◆ afterClone()

ilDclTable::afterClone ( )

Definition at line 1074 of file class.ilDclTable.php.

References getFields(), and getRecords().

1074  : void
1075  {
1076  foreach ($this->getFields() as $field) {
1077  $field->afterClone($this->getRecords());
1078  }
1079  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:

◆ buildOrderFields()

ilDclTable::buildOrderFields ( )

buildOrderFields orders the fields.

Definition at line 784 of file class.ilDclTable.php.

References getFields(), and sortByOrder().

Referenced by doCreate().

784  : void
785  {
786  $fields = $this->getFields();
787  $this->sortByOrder($fields);
788  $count = 10;
789  $offset = 10;
790  foreach ($fields as $field) {
791  if (!is_null($field->getOrder())) {
792  $field->setOrder($count);
793  $count = $count + $offset;
794  $field->doUpdate();
795  }
796  }
797  }
sortByOrder(array &$array)
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkLimit()

ilDclTable::checkLimit ( )

Definition at line 711 of file class.ilDclTable.php.

References getLimited(), getLimitEnd(), getLimitStart(), and IL_CAL_DATE.

Referenced by hasPermissionToDeleteRecord(), and hasPermissionToEditRecord().

711  : bool
712  {
713  if ($this->getLimited()) {
714  $from = null;
715  $to = null;
716  $now = new ilDateTime(date("Y-m-d H:i:s"), IL_CAL_DATE);
717 
718  if ($this->getLimitStart() != "") {
719  $from = new ilDateTime($this->getLimitStart(), IL_CAL_DATE);
720  }
721  if ($this->getLimitEnd() != "") {
722  $to = new ilDateTime($this->getLimitEnd(), IL_CAL_DATE);
723  }
724 
725  if ($from == null && $to == null) {
726  return true;
727  }
728  if ($from <= $now && $now <= $to) {
729  return true;
730  }
731  if ($from <= $now && $to == null) {
732  return true;
733  }
734  if ($from == null && $now <= $to) {
735  return true;
736  }
737 
738  return ($from <= $now && $now <= $to);
739  }
740 
741  return true;
742  }
const IL_CAL_DATE
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneStructure()

ilDclTable::cloneStructure ( ilDclTable  $original)

Definition at line 1003 of file class.ilDclTable.php.

References doCreate(), doUpdate(), getAddPerm(), getDefaultSortField(), getDefaultSortFieldOrder(), getDeleteByOwner(), getDeletePerm(), getDescription(), getEditByOwner(), getEditPerm(), getExportEnabled(), getFields(), getId(), getImportEnabled(), getIsVisible(), getLimited(), getLimitEnd(), getLimitStart(), getOrder(), getPublicCommentsEnabled(), getRecords(), getSaveConfirmation(), getTableViews(), getTitle(), getViewOwnRecordsPerm(), setAddPerm(), ilDclCache\setCloneOf(), setDefaultSortField(), setDefaultSortFieldOrder(), setDeleteByOwner(), setDeletePerm(), setDescription(), setEditByOwner(), setEditPerm(), setExportEnabled(), setImportEnabled(), setIsVisible(), setLimited(), setLimitEnd(), setLimitStart(), setOrder(), setPublicCommentsEnabled(), setSaveConfirmation(), setTitle(), setViewOwnRecordsPerm(), and ilDclCache\TYPE_TABLE.

1003  : void
1004  {
1005  $this->setTitle($original->getTitle());
1006  $this->setDescription($original->getDescription());
1007  $this->setIsVisible($original->getIsVisible());
1008  $this->setEditByOwner($original->getEditByOwner());
1009  $this->setAddPerm($original->getAddPerm());
1010  $this->setEditPerm($original->getEditPerm());
1011  $this->setDeleteByOwner($original->getDeleteByOwner());
1012  $this->setSaveConfirmation($original->getSaveConfirmation());
1013  $this->setDeletePerm($original->getDeletePerm());
1014  $this->setLimited($original->getLimited());
1015  $this->setLimitStart($original->getLimitStart());
1016  $this->setLimitEnd($original->getLimitEnd());
1017  $this->setViewOwnRecordsPerm($original->getViewOwnRecordsPerm());
1018  $this->setExportEnabled($original->getExportEnabled());
1019  $this->setImportEnabled($original->getImportEnabled());
1022  $this->setOrder($original->getOrder());
1023 
1024  $this->doCreate(true, false);
1025  // reset stdFields to get new for the created object
1026 
1027  $default_sort_field = 0;
1028  // Clone standard-fields
1029  $org_std_fields = $original->getStandardFields();
1030  foreach ($this->getStandardFields() as $element_key => $std_field) {
1031  $std_field->clone($org_std_fields[$element_key]);
1032  if ($std_field->getId() === $original->getDefaultSortField()) {
1033  $default_sort_field = $std_field->getId();
1034  }
1035  }
1036 
1037  // Clone fields
1038  $new_fields = [];
1039  foreach ($original->getFields() as $orig_field) {
1040  if (!$orig_field->isStandardField()) {
1041  $class_name = get_class($orig_field);
1042  $new_field = new $class_name();
1043  $new_field->setTableId($this->getId());
1044  $new_field->cloneStructure((int) $orig_field->getId());
1045  $new_fields[$orig_field->getId()] = $new_field;
1046 
1047  if ($orig_field->getId() === $original->getDefaultSortField()) {
1048  $default_sort_field = $new_field->getId();
1049  }
1050  }
1051  }
1052 
1053  $this->setDefaultSortField((string) $default_sort_field);
1054  $this->doUpdate();
1055 
1056  // Clone Records with recordfields
1057  foreach ($original->getRecords() as $orig_record) {
1058  $new_record = new ilDclBaseRecordModel();
1059  $new_record->setTableId($this->getId());
1060  $new_record->cloneStructure($orig_record->getId(), $new_fields);
1061  }
1062 
1063  //clone tableviews (includes pageobjects)
1064  foreach ($original->getTableViews() as $orig_tableview) {
1065  $new_tableview = new ilDclTableView();
1066  $new_tableview->setTableId($this->getId());
1067  $new_tableview->cloneStructure($orig_tableview, $new_fields);
1068  }
1069 
1070  // mandatory for all cloning functions
1071  ilDclCache::setCloneOf($original->getId(), $this->getId(), ilDclCache::TYPE_TABLE);
1072  }
setIsVisible(bool $is_visible)
setEditByOwner(bool $edit_by_owner)
setDeleteByOwner(bool $delete_by_owner)
setEditPerm(bool $edit_perm)
getFields()
Returns all fields of this table including the standard fields.
setLimitStart(string $limit_start)
getId()
Get table id.
setDefaultSortFieldOrder(string $default_sort_field_order)
setOrder(int $table_order)
setTitle(string $a_title)
setLimitEnd(string $limit_end)
static setCloneOf(int $old, int $new, string $type)
string $default_sort_field
setExportEnabled(bool $export_enabled)
setSaveConfirmation(bool $save_confirmation)
setAddPerm(bool $add_perm)
setDeletePerm(bool $delete_perm)
setImportEnabled(bool $import_enabled)
setDescription(string $description)
doCreate(bool $create_tablefield_setting=true, bool $create_standardview=true)
setDefaultSortField(string $default_sort_field)
setViewOwnRecordsPerm(bool $view_own_perm)
setPublicCommentsEnabled(bool $public_comments)
setLimited(bool $limited)
+ Here is the call graph for this function:

◆ compareOrder()

ilDclTable::compareOrder ( ilDclBaseFieldModel  $a,
ilDclBaseFieldModel  $b 
)

Definition at line 988 of file class.ilDclTable.php.

References ilDclBaseFieldModel\getOrder().

988  : int
989  {
990  if (is_null($a->getOrder() == null) && is_null($b->getOrder() == null)) {
991  return 0;
992  }
993  if (is_null($a->getOrder())) {
994  return 1;
995  }
996  if (is_null($b->getOrder())) {
997  return -1;
998  }
999 
1000  return $a->getOrder() < $b->getOrder() ? -1 : 1;
1001  }
+ Here is the call graph for this function:

◆ deleteField()

ilDclTable::deleteField ( int  $field_id)

Definition at line 326 of file class.ilDclTable.php.

References ilDclCache\getFieldCache(), and getRecords().

326  : void
327  {
328  $field = ilDclCache::getFieldCache($field_id);
329  $records = $this->getRecords();
330 
331  foreach ($records as $record) {
332  $record->deleteField($field_id);
333  }
334 
335  $field->doDelete();
336  }
static getFieldCache(int $field_id=0)
+ Here is the call graph for this function:

◆ doCreate()

ilDclTable::doCreate ( bool  $create_tablefield_setting = true,
bool  $create_standardview = true 
)

Definition at line 158 of file class.ilDclTable.php.

References buildOrderFields(), ilDclTableView\createOrGetStandardView(), getAddPerm(), getDefaultSortField(), getDefaultSortFieldOrder(), getDeleteByOwner(), getDeletePerm(), getDescription(), getEditByOwner(), getEditPerm(), getExportEnabled(), getId(), getImportEnabled(), getIsVisible(), getLimited(), getLimitEnd(), getLimitStart(), getObjId(), getOrder(), getPublicCommentsEnabled(), getSaveConfirmation(), getTitle(), getViewOwnRecordsPerm(), and setId().

Referenced by cloneStructure().

158  : void
159  {
160  $id = $this->db->nextId("il_dcl_table");
161  $this->setId($id);
162  $query = "INSERT INTO il_dcl_table (" . "id" . ", obj_id" . ", title" . ", add_perm" . ", edit_perm" . ", delete_perm" . ", edit_by_owner"
163  . ", limited" . ", limit_start" . ", limit_end" . ", is_visible" . ", export_enabled" . ", import_enabled" . ", default_sort_field_id"
164  . ", default_sort_field_order" . ", description" . ", public_comments" . ", view_own_records_perm"
165  . ", delete_by_owner, save_confirmation , table_order ) VALUES (" . $this->db->quote(
166  $this->getId(),
167  "integer"
168  ) . ","
169  . $this->db->quote($this->getObjId(), "integer") . "," . $this->db->quote($this->getTitle(), "text") . ","
170  . $this->db->quote($this->getAddPerm() ? 1 : 0, "integer") . "," . $this->db->quote(
171  $this->getEditPerm() ? 1 : 0,
172  "integer"
173  ) . ","
174  . $this->db->quote(
175  $this->getDeletePerm() ? 1 : 0,
176  "integer"
177  ) . "," . $this->db->quote($this->getEditByOwner() ? 1 : 0, "integer") . ","
178  . $this->db->quote($this->getLimited() ? 1 : 0, "integer") . "," . $this->db->quote(
179  $this->getLimitStart(),
180  "timestamp"
181  ) . ","
182  . $this->db->quote($this->getLimitEnd(), "timestamp") . "," . $this->db->quote(
183  $this->getIsVisible() ? 1 : 0,
184  "integer"
185  ) . ","
186  . $this->db->quote(
187  $this->getExportEnabled() ? 1 : 0,
188  "integer"
189  ) . "," . $this->db->quote($this->getImportEnabled() ? 1 : 0, "integer") . ","
190  . $this->db->quote($this->getDefaultSortField(), "text") . "," . $this->db->quote(
191  $this->getDefaultSortFieldOrder(),
192  "text"
193  ) . ","
194  . $this->db->quote($this->getDescription(), "text") . "," . $this->db->quote(
195  $this->getPublicCommentsEnabled(),
196  "integer"
197  ) . ","
198  . $this->db->quote(
199  $this->getViewOwnRecordsPerm(),
200  "integer"
201  ) . "," . $this->db->quote($this->getDeleteByOwner() ? 1 : 0, 'integer') . ","
202  . $this->db->quote($this->getSaveConfirmation() ? 1 : 0, 'integer') . "," . $this->db->quote(
203  $this->getOrder(),
204  'integer'
205  ) . ")";
206 
207  $this->db->manipulate($query);
208 
209  if ($create_standardview) {
210  //standard tableview
212  }
213 
214  if ($create_tablefield_setting) {
215  $this->buildOrderFields();
216  }
217  }
static createOrGetStandardView(int $table_id)
setId(int $a_id)
Set table id.
getId()
Get table id.
buildOrderFields()
buildOrderFields orders the fields.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doDelete()

ilDclTable::doDelete ( bool  $delete_only_content = false,
bool  $omit_notification = false 
)

Delete table Attention this does not delete the maintable of it's the maintable of the collection.

unlink the the maintable in the collections object to make this work.

Definition at line 142 of file class.ilDclTable.php.

References getId(), getRecordFields(), and getRecords().

142  : void
143  {
144  foreach ($this->getRecords() as $record) {
145  $record->doDelete($omit_notification);
146  }
147 
148  foreach ($this->getRecordFields() as $field) {
149  $field->doDelete();
150  }
151 
152  if (!$delete_only_content) {
153  $query = "DELETE FROM il_dcl_table WHERE id = " . $this->db->quote($this->getId(), "integer");
154  $this->db->manipulate($query);
155  }
156  }
getId()
Get table id.
getRecordFields()
Returns all fields of this table which are NOT standard fields.
+ Here is the call graph for this function:

◆ doesRecordBelongToUser()

ilDclTable::doesRecordBelongToUser ( ilDclBaseRecordModel  $record)
protected

Definition at line 706 of file class.ilDclTable.php.

References ilDclBaseRecordModel\getOwner(), and ILIAS\Repository\user().

Referenced by hasPermissionToDeleteRecord(), and hasPermissionToEditRecord().

706  : bool
707  {
708  return ($this->user->getId() == $record->getOwner());
709  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doRead()

ilDclTable::doRead ( )

Read table.

Definition at line 101 of file class.ilDclTable.php.

References getId(), setAddPerm(), setDefaultSortField(), setDefaultSortFieldOrder(), setDeleteByOwner(), setDeletePerm(), setDescription(), setEditByOwner(), setEditPerm(), setExportEnabled(), setImportEnabled(), setIsVisible(), setLimited(), setLimitEnd(), setLimitStart(), setObjId(), setOrder(), setPublicCommentsEnabled(), setSaveConfirmation(), setTitle(), and setViewOwnRecordsPerm().

Referenced by __construct().

101  : void
102  {
103  $query = "SELECT * FROM il_dcl_table WHERE id = " . $this->db->quote($this->getId(), "integer");
104  $set = $this->db->query($query);
105  $rec = $this->db->fetchAssoc($set);
106 
107  $this->setObjId($rec["obj_id"]);
108  if (null !== $rec["title"]) {
109  $this->setTitle($rec["title"]);
110  }
111  $this->setAddPerm((bool) $rec["add_perm"]);
112  $this->setEditPerm((bool) $rec["edit_perm"]);
113  $this->setDeletePerm((bool) $rec["delete_perm"]);
114  $this->setEditByOwner((bool) $rec["edit_by_owner"]);
115  if (null !== $rec["export_enabled"]) {
116  $this->setExportEnabled((bool) $rec["export_enabled"]);
117  }
118  $this->setImportEnabled((bool) $rec["import_enabled"]);
119  $this->setLimited((bool) $rec["limited"]);
120  $this->setLimitStart((string) $rec["limit_start"]);
121  $this->setLimitEnd((string) $rec["limit_end"]);
122  $this->setIsVisible((bool) $rec["is_visible"]);
123  if (null !== $rec['description']) {
124  $this->setDescription($rec['description']);
125  }
126  $this->setDefaultSortField((string) $rec['default_sort_field_id']);
127  $this->setDefaultSortFieldOrder($rec['default_sort_field_order']);
128  $this->setPublicCommentsEnabled((bool) $rec['public_comments']);
129  $this->setViewOwnRecordsPerm((bool) $rec['view_own_records_perm']);
130  $this->setDeleteByOwner((bool) $rec['delete_by_owner']);
131  $this->setSaveConfirmation((bool) $rec['save_confirmation']);
132  if (null !== $rec['table_order']) {
133  $this->setOrder($rec['table_order']);
134  }
135  }
setIsVisible(bool $is_visible)
setObjId(int $a_id)
setEditByOwner(bool $edit_by_owner)
setDeleteByOwner(bool $delete_by_owner)
setEditPerm(bool $edit_perm)
setLimitStart(string $limit_start)
getId()
Get table id.
setDefaultSortFieldOrder(string $default_sort_field_order)
setOrder(int $table_order)
setTitle(string $a_title)
setLimitEnd(string $limit_end)
setExportEnabled(bool $export_enabled)
setSaveConfirmation(bool $save_confirmation)
setAddPerm(bool $add_perm)
setDeletePerm(bool $delete_perm)
setImportEnabled(bool $import_enabled)
setDescription(string $description)
setDefaultSortField(string $default_sort_field)
setViewOwnRecordsPerm(bool $view_own_perm)
setPublicCommentsEnabled(bool $public_comments)
setLimited(bool $limited)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doUpdate()

ilDclTable::doUpdate ( )

Definition at line 219 of file class.ilDclTable.php.

References getAddPerm(), getDefaultSortField(), getDefaultSortFieldOrder(), getDeleteByOwner(), getDeletePerm(), getDescription(), getEditByOwner(), getEditPerm(), getExportEnabled(), getId(), getImportEnabled(), getIsVisible(), getLimited(), getLimitEnd(), getLimitStart(), getObjId(), getOrder(), getPublicCommentsEnabled(), getSaveConfirmation(), getTitle(), and getViewOwnRecordsPerm().

Referenced by cloneStructure(), and ilDclTableEditGUI\setAsDefault().

219  : void
220  {
221  $this->db->update(
222  "il_dcl_table",
223  [
224  "obj_id" => ["integer", $this->getObjId()],
225  "title" => ["text", $this->getTitle()],
226  "add_perm" => ["integer", (int) $this->getAddPerm()],
227  "edit_perm" => ["integer", (int) $this->getEditPerm()],
228  "delete_perm" => ["integer", (int) $this->getDeletePerm()],
229  "edit_by_owner" => ["integer", (int) $this->getEditByOwner()],
230  "limited" => ["integer", $this->getLimited()],
231  "limit_start" => ["timestamp", $this->getLimitStart()],
232  "limit_end" => ["timestamp", $this->getLimitEnd()],
233  "is_visible" => ["integer", $this->getIsVisible() ? 1 : 0],
234  "export_enabled" => ["integer", $this->getExportEnabled() ? 1 : 0],
235  "import_enabled" => ["integer", $this->getImportEnabled() ? 1 : 0],
236  "description" => ["text", $this->getDescription()],
237  "default_sort_field_id" => ["text", $this->getDefaultSortField()],
238  "default_sort_field_order" => ["text", $this->getDefaultSortFieldOrder()],
239  "public_comments" => ["integer", $this->getPublicCommentsEnabled() ? 1 : 0],
240  "view_own_records_perm" => ["integer", $this->getViewOwnRecordsPerm()],
241  'delete_by_owner' => ['integer', $this->getDeleteByOwner() ? 1 : 0],
242  'save_confirmation' => ['integer', $this->getSaveConfirmation() ? 1 : 0],
243  'table_order' => ['integer', $this->getOrder()],
244  ],
245  [
246  "id" => ["integer", $this->getId()],
247  ]
248  );
249  }
getId()
Get table id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAddPerm()

ilDclTable::getAddPerm ( )

Definition at line 820 of file class.ilDclTable.php.

References $add_perm.

Referenced by cloneStructure(), doCreate(), and doUpdate().

820  : bool
821  {
822  return $this->add_perm;
823  }
+ Here is the caller graph for this function:

◆ getCollectionObject()

ilDclTable::getCollectionObject ( )

Definition at line 287 of file class.ilDclTable.php.

References $obj, and loadObj().

Referenced by getVisibleTableViews().

288  {
289  $this->loadObj();
290 
291  return $this->obj;
292  }
ilObjDataCollection $obj
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCustomFields()

ilDclTable::getCustomFields ( )
Returns
ilDclBaseFieldModel[]

Definition at line 397 of file class.ilDclTable.php.

References $fields, and loadCustomFields().

397  : array
398  {
399  if (!$this->fields) {
400  $this->loadCustomFields();
401  }
402 
403  return $this->fields;
404  }
+ Here is the call graph for this function:

◆ getDefaultSortField()

ilDclTable::getDefaultSortField ( )

Definition at line 933 of file class.ilDclTable.php.

References $default_sort_field.

Referenced by cloneStructure(), doCreate(), and doUpdate().

933  : string
934  {
936  }
string $default_sort_field
+ Here is the caller graph for this function:

◆ getDefaultSortFieldOrder()

ilDclTable::getDefaultSortFieldOrder ( )

Definition at line 946 of file class.ilDclTable.php.

References $default_sort_field_order.

Referenced by cloneStructure(), doCreate(), and doUpdate().

946  : string
947  {
949  }
string $default_sort_field_order
Default sort-order (asc|desc)
+ Here is the caller graph for this function:

◆ getDeleteByOwner()

ilDclTable::getDeleteByOwner ( )

Definition at line 851 of file class.ilDclTable.php.

References $delete_by_owner.

Referenced by cloneStructure(), doCreate(), doUpdate(), and hasPermissionToDeleteRecord().

851  : bool
852  {
853  return $this->delete_by_owner;
854  }
+ Here is the caller graph for this function:

◆ getDeletePerm()

ilDclTable::getDeletePerm ( )

Definition at line 833 of file class.ilDclTable.php.

References $delete_perm.

Referenced by cloneStructure(), doCreate(), doUpdate(), hasPermissionToDeleteRecord(), and hasPermissionToDeleteRecords().

833  : bool
834  {
835  return $this->delete_perm;
836  }
+ Here is the caller graph for this function:

◆ getDescription()

ilDclTable::getDescription ( )

Definition at line 922 of file class.ilDclTable.php.

References $description.

Referenced by cloneStructure(), doCreate(), and doUpdate().

922  : string
923  {
924  return $this->description;
925  }
string $description
Description for this table displayed above records.
+ Here is the caller graph for this function:

◆ getEditableFields()

ilDclTable::getEditableFields ( bool  $creation_mode)
Parameters
bool$creation_mode
Returns
array

Definition at line 574 of file class.ilDclTable.php.

References getRecordFields(), ILIAS\FileDelivery\http(), and ILIAS\Repository\refinery().

574  : array
575  {
576  $fields = $this->getRecordFields();
577  $editableFields = [];
578 
579  foreach ($fields as $field) {
580  $tableview_id = $this->http->wrapper()->post()->retrieve(
581  'tableview_id',
582  $this->refinery->kindlyTo()->int()
583  );
584  if (!$field->getViewSetting($tableview_id)->isLocked($creation_mode)) {
585  $editableFields[] = $field;
586  }
587  }
588 
589  return $editableFields;
590  }
static http()
Fetches the global http state from ILIAS.
getRecordFields()
Returns all fields of this table which are NOT standard fields.
+ Here is the call graph for this function:

◆ getEditByOwner()

ilDclTable::getEditByOwner ( )

Definition at line 846 of file class.ilDclTable.php.

References $edit_by_owner.

Referenced by cloneStructure(), doCreate(), doUpdate(), and hasPermissionToEditRecord().

846  : bool
847  {
848  return $this->edit_by_owner;
849  }
+ Here is the caller graph for this function:

◆ getEditPerm()

ilDclTable::getEditPerm ( )

Definition at line 872 of file class.ilDclTable.php.

References $edit_perm.

Referenced by cloneStructure(), doCreate(), doUpdate(), and hasPermissionToEditRecord().

872  : bool
873  {
874  return $this->edit_perm;
875  }
+ Here is the caller graph for this function:

◆ getExportableFields()

ilDclTable::getExportableFields ( )

Return all the fields that are marked as exportable.

Returns
ilDclBaseFieldModel[]

Definition at line 596 of file class.ilDclTable.php.

References getFields().

596  : array
597  {
598  $fields = $this->getFields();
599  $exportableFields = [];
600  foreach ($fields as $field) {
601  if ($field->getExportable()) {
602  $exportableFields[] = $field;
603  }
604  }
605 
606  return $exportableFields;
607  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:

◆ getExportEnabled()

ilDclTable::getExportEnabled ( )

Definition at line 1136 of file class.ilDclTable.php.

References $export_enabled.

Referenced by cloneStructure(), doCreate(), and doUpdate().

1136  : bool
1137  {
1138  return $this->export_enabled;
1139  }
+ Here is the caller graph for this function:

◆ getField()

ilDclTable::getField ( string  $field_id)

Definition at line 338 of file class.ilDclTable.php.

References getFields().

Referenced by getPartialRecords().

339  {
340  $fields = $this->getFields();
341  $field = null;
342  foreach ($fields as $field_1) {
343  if ($field_1->getId() == $field_id) {
344  $field = $field_1;
345  }
346  }
347 
348  return $field;
349  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFieldByTitle()

ilDclTable::getFieldByTitle ( string  $title)

Get a field by title.

Definition at line 802 of file class.ilDclTable.php.

References $title, and getFields().

Referenced by getPartialRecords().

803  {
804  $return = null;
805  foreach ($this->getFields() as $field) {
806  if ($field->getTitle() == $title) {
807  $return = $field;
808  break;
809  }
810  }
811 
812  return $return;
813  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFieldIds()

ilDclTable::getFieldIds ( )

Definition at line 351 of file class.ilDclTable.php.

References getFields().

351  : array
352  {
353  $field_ids = [];
354  foreach ($this->getFields() as $field) {
355  if ($field->getId()) {
356  $field_ids[] = $field->getId();
357  }
358  }
359 
360  return $field_ids;
361  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:

◆ getFields()

ilDclTable::getFields ( )

Returns all fields of this table including the standard fields.

Parameters
bool$force_include_commentsby default false, so comments will only load when enabled in tablesettings
Returns
ilDclBaseFieldModel[]

Definition at line 453 of file class.ilDclTable.php.

References $all_fields, and reloadFields().

Referenced by afterClone(), buildOrderFields(), cloneStructure(), ilDclContentExporter\fillHeaderExcel(), ilDclContentExporter\fillRowExcel(), getExportableFields(), getField(), getFieldByTitle(), getFieldIds(), getFieldsForFormula(), getNewFieldOrder(), and updateFields().

453  : array
454  {
455  if ($this->all_fields == null) {
456  $this->reloadFields();
457  }
458 
459  return $this->all_fields;
460  }
array $all_fields
table fields and std fields combined
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFieldsForFormula()

ilDclTable::getFieldsForFormula ( )

Returns all fields of this table including the standard fields, wich are supported for formulas.

Returns
ilDclBaseFieldModel[]

Definition at line 514 of file class.ilDclTable.php.

References $stdFields, ilDclStandardField\_getStandardFields(), getFields(), getPublicCommentsEnabled(), and ilDclFormulaFieldModel\SUPPORTED_FIELDS.

514  : array
515  {
516  $syntax_chars = array_merge(
517  array_map(static fn(Operators $function): string => $function->value, Operators::cases()),
518  array_map(static fn(Functions $function): string => $function->value, Functions::cases()),
519  ['(', ')', ',']
520  );
521  foreach ($this->getFields() as $field) {
522  if (in_array($field->getDatatypeId(), ilDclFormulaFieldModel::SUPPORTED_FIELDS)) {
523  foreach ($syntax_chars as $element) {
524  if (str_contains($field->getTitle(), $element)) {
525  continue 2;
526  }
527  }
528  $return[] = $field;
529  }
530  }
531 
532  return $return;
533  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:

◆ getFirstTableViewId()

ilDclTable::getFirstTableViewId ( int  $user_id = 0,
bool  $with_detailed_view = false 
)

Definition at line 502 of file class.ilDclTable.php.

References $user_id, and getVisibleTableViews().

502  : ?int
503  {
504  $array = $this->getVisibleTableViews($user_id, $with_detailed_view);
505  $tableview = array_shift($array);
506 
507  return $tableview?->getId();
508  }
getVisibleTableViews(int $user_id=0, bool $with_active_detailedview=false)
+ Here is the call graph for this function:

◆ getId()

ilDclTable::getId ( )

Get table id.

Definition at line 262 of file class.ilDclTable.php.

References $id.

Referenced by cloneStructure(), doCreate(), doDelete(), doRead(), doUpdate(), ilDclTableListGUI\getActions(), getNewTableviewOrder(), getPartialRecords(), getTableViews(), loadCustomFields(), ilDclTableEditGUI\setAsDefault(), and updateOrder().

262  : int
263  {
264  return $this->id;
265  }
+ Here is the caller graph for this function:

◆ getImportEnabled()

ilDclTable::getImportEnabled ( )

Definition at line 1173 of file class.ilDclTable.php.

References $import_enabled.

Referenced by cloneStructure(), doCreate(), and doUpdate().

1173  : bool
1174  {
1175  return $this->import_enabled;
1176  }
+ Here is the caller graph for this function:

◆ getIsVisible()

ilDclTable::getIsVisible ( )

Definition at line 912 of file class.ilDclTable.php.

References $is_visible.

Referenced by cloneStructure(), doCreate(), and doUpdate().

912  : bool
913  {
914  return $this->is_visible;
915  }
+ Here is the caller graph for this function:

◆ getLimited()

ilDclTable::getLimited ( )

Definition at line 882 of file class.ilDclTable.php.

References $limited.

Referenced by checkLimit(), cloneStructure(), doCreate(), and doUpdate().

882  : bool
883  {
884  return $this->limited;
885  }
+ Here is the caller graph for this function:

◆ getLimitEnd()

ilDclTable::getLimitEnd ( )

Definition at line 892 of file class.ilDclTable.php.

References $limit_end.

Referenced by checkLimit(), cloneStructure(), doCreate(), and doUpdate().

892  : string
893  {
894  return $this->limit_end;
895  }
+ Here is the caller graph for this function:

◆ getLimitStart()

ilDclTable::getLimitStart ( )

Definition at line 902 of file class.ilDclTable.php.

References $limit_start.

Referenced by checkLimit(), cloneStructure(), doCreate(), and doUpdate().

902  : string
903  {
904  return $this->limit_start;
905  }
string $limit_start
+ Here is the caller graph for this function:

◆ getNewFieldOrder()

ilDclTable::getNewFieldOrder ( )

getNewOrder

Returns
int returns the place where a new field should be placed.

Definition at line 410 of file class.ilDclTable.php.

References getFields().

410  : int
411  {
412  $fields = $this->getFields();
413  $place = 0;
414  foreach ($fields as $field) {
415  if (!$field->isStandardField()) {
416  $place = $field->getOrder() + 1;
417  }
418  }
419 
420  return $place;
421  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:

◆ getNewTableviewOrder()

ilDclTable::getNewTableviewOrder ( )
Returns
int

Definition at line 426 of file class.ilDclTable.php.

References ilDclTableView\getCountForTableId(), and getId().

426  : int
427  {
428  return (ilDclTableView::getCountForTableId($this->getId()) + 1) * 10;
429  }
getId()
Get table id.
static getCountForTableId(int $table_id)
+ Here is the call graph for this function:

◆ getObjId()

ilDclTable::getObjId ( )

◆ getOrder()

ilDclTable::getOrder ( )

Definition at line 1141 of file class.ilDclTable.php.

References $table_order, and updateOrder().

Referenced by cloneStructure(), doCreate(), doUpdate(), and ilDclTableListGUI\getActions().

1141  : int
1142  {
1143  if (!$this->table_order) {
1144  $this->updateOrder();
1145  }
1146 
1147  return $this->table_order;
1148  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPartialRecords()

ilDclTable::getPartialRecords ( string  $ref_id,
string  $sort,
string  $direction,
?int  $limit,
int  $offset,
array  $filter = [] 
)

Return only the needed subset of record objects for the table, according to sorting, paging and filters.

Parameters
string$sortTitle of a field where the ilTable2GUI is sorted
string$direction'desc' or 'asc'
int$limitLimit of records
int$offsetOffset from records
array$filterContaining the filter values
Returns
array Array with two keys: 'record' => Contains the record objects, 'total' => Number of total records (without slicing)

Definition at line 1204 of file class.ilDclTable.php.

References Vendor\Package\$a, Vendor\Package\$b, $DIC, $id, $records, getField(), getFieldByTitle(), getId(), getObjId(), ilDclCache\getRecordCache(), getViewOwnRecordsPerm(), ilObjDataCollectionAccess\hasEditAccess(), ilObjDataCollectionAccess\hasWriteAccess(), ilSession\set(), and ILIAS\Repository\user().

Referenced by ilDclRecordListGUI\getRecordListTableGUI().

1211  : array {
1212  $sort_field = $this->getFieldByTitle($sort);
1213  $direction = strtolower($direction);
1214  $direction = (in_array($direction, ['desc', 'asc'])) ? $direction : 'asc';
1215 
1216  // Sorting by a status from an ILIAS Ref field. This column is added dynamically to the table, there is no field model
1217  $sort_by_status = false;
1218  if (substr($sort, 0, 8) == '_status_') {
1219  $sort_by_status = true;
1220  $sort_field = $this->getFieldByTitle(substr($sort, 8));
1221  }
1222 
1223  if (is_null($sort_field)) {
1224  $sort_field = $this->getField('id');
1225  }
1226 
1227  $sort_query_object = $sort_field->getRecordQuerySortObject($direction, $sort_by_status);
1228 
1229  $select_str = ($sort_query_object != null) ? $sort_query_object->getSelectStatement() : '';
1230  $join_str = ($sort_query_object != null) ? $sort_query_object->getJoinStatement() : '';
1231  $where_str = ($sort_query_object != null) ? $sort_query_object->getWhereStatement() : '';
1232  $order_str = ($sort_query_object != null) ? $sort_query_object->getOrderStatement() : '';
1233  $group_str = ($sort_query_object != null) ? $sort_query_object->getGroupStatement() : '';
1234 
1235  if (count($filter)) {
1236  foreach ($filter as $key => $filter_value) {
1237  $filter_field_id = substr($key, 7);
1238  $filter_field = $this->getField($filter_field_id);
1239  $filter_record_query_object = $filter_field->getRecordQueryFilterObject($filter_value, $sort_field);
1240 
1241  if ($filter_record_query_object) {
1242  $select_str .= $filter_record_query_object->getSelectStatement();
1243  $join_str .= $filter_record_query_object->getJoinStatement();
1244  $where_str .= $filter_record_query_object->getWhereStatement();
1245  $group_str .= $filter_record_query_object->getGroupStatement();
1246  }
1247  }
1248  }
1249 
1250  // Build the query string
1251  $sql = "SELECT DISTINCT record.id, record.owner";
1252  if ($select_str) {
1253  $sql .= ', ';
1254  }
1255 
1256  $as = ' AS ';
1257 
1258  $sql .= rtrim($select_str, ',') . " FROM il_dcl_record $as record ";
1259  $sql .= $join_str;
1260  $sql .= " WHERE record.table_id = " . $this->db->quote($this->getId(), 'integer');
1261 
1262  if (strlen($where_str) > 0) {
1263  $sql .= $where_str;
1264  }
1265 
1266  if (strlen($group_str) > 0) {
1267  $sql .= " GROUP BY " . $group_str;
1268  }
1269 
1270  if (strlen($order_str) > 0) {
1271  $sql .= " ORDER BY " . $order_str;
1272  }
1273 
1274  $set = $this->db->query($sql);
1275  $total_record_ids = [];
1276 
1278  while ($rec = $this->db->fetchAssoc($set)) {
1279  // Quick check if the current user is allowed to view the record
1280  if (!$is_allowed_to_view && ($this->getViewOwnRecordsPerm() && $this->user->getId() != $rec['owner'])) {
1281  continue;
1282  }
1283  $total_record_ids[] = $rec['id'];
1284  }
1285  // Save record-ids in session to enable prev/next links in detail view
1286  ilSession::set('dcl_table_id', $this->getId());
1287  ilSession::set('dcl_record_ids', $total_record_ids);
1288 
1289  if ($sort_query_object != null) {
1290  $total_record_ids = $sort_query_object->applyCustomSorting($sort_field, $total_record_ids, $direction);
1291  }
1292 
1293  if ($sort === 'n_comments') {
1294  global $DIC;
1295  $comments_nr = [];
1296  foreach ($total_record_ids as $id) {
1297  $comments_nr[$id] = $DIC->notes()->domain()->getNrOfCommentsForContext($DIC->notes()->data()->context($this->getObjId(), $id, 'dcl'));
1298  }
1299  uasort($comments_nr, static fn($a, $b) => ($direction === 'asc' ? 1 : -1) * ($a <=> $b));
1300  $total_record_ids = array_keys($comments_nr);
1301  }
1302 
1303  // Now slice the array to load only the needed records in memory
1304  $record_ids = array_slice($total_record_ids, $offset, $limit);
1305 
1306  $records = [];
1307  foreach ($record_ids as $id) {
1309  }
1310 
1311  return ['records' => $records, 'total' => count($total_record_ids)];
1312  }
getFieldByTitle(string $title)
Get a field by title.
getId()
Get table id.
$ref_id
Definition: ltiauth.php:66
global $DIC
Definition: shib_login.php:25
static hasWriteAccess(int $ref, ?int $user_id=0)
getField(string $field_id)
static getRecordCache(?int $record_id)
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples
static hasEditAccess(int $ref, ?int $user_id=0)
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPublicCommentsEnabled()

ilDclTable::getPublicCommentsEnabled ( )

Definition at line 956 of file class.ilDclTable.php.

References $public_comments.

Referenced by cloneStructure(), doCreate(), doUpdate(), and getFieldsForFormula().

956  : bool
957  {
958  return $this->public_comments;
959  }
bool $public_comments
True if users can add comments on each record of this table.
+ Here is the caller graph for this function:

◆ getRecordFields()

ilDclTable::getRecordFields ( )

Returns all fields of this table which are NOT standard fields.

Returns
ilDclBaseFieldModel[]

Definition at line 563 of file class.ilDclTable.php.

References $fields, and loadCustomFields().

Referenced by doDelete(), getEditableFields(), ilDclContentImporter\getImportFieldsFromTitles(), and ilDclDetailedViewGUI\renderRecord().

563  : array
564  {
565  $this->loadCustomFields();
566 
567  return $this->fields;
568  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRecords()

ilDclTable::getRecords ( )
Returns
ilDclBaseRecordModel[]

Definition at line 304 of file class.ilDclTable.php.

References $records, and loadRecords().

Referenced by _hasRecords(), afterClone(), cloneStructure(), deleteField(), and doDelete().

304  : array
305  {
306  if ($this->records == null) {
307  $this->loadRecords();
308  }
309 
310  return $this->records;
311  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSaveConfirmation()

ilDclTable::getSaveConfirmation ( )

Definition at line 971 of file class.ilDclTable.php.

References $save_confirmation.

Referenced by cloneStructure(), doCreate(), and doUpdate().

971  : bool
972  {
974  }
bool $save_confirmation
+ Here is the caller graph for this function:

◆ getTableViews()

ilDclTable::getTableViews ( )
Returns
ilDclTableView[] all tableviews ordered by tableview_order

Definition at line 476 of file class.ilDclTable.php.

References ilDclTableView\getAllForTableId(), and getId().

Referenced by cloneStructure(), getVisibleTableViews(), and sortTableViews().

476  : array
477  {
478  return ilDclTableView::getAllForTableId($this->getId());
479  }
getId()
Get table id.
static getAllForTableId(int $table_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTitle()

ilDclTable::getTitle ( )

Definition at line 282 of file class.ilDclTable.php.

References $title.

Referenced by cloneStructure(), doCreate(), doUpdate(), and ilDclTableEditGUI\initForm().

282  : string
283  {
284  return $this->title;
285  }
+ Here is the caller graph for this function:

◆ getViewOwnRecordsPerm()

ilDclTable::getViewOwnRecordsPerm ( )

Definition at line 966 of file class.ilDclTable.php.

References $view_own_records_perm.

Referenced by cloneStructure(), doCreate(), doUpdate(), getPartialRecords(), and hasPermissionToViewRecord().

966  : bool
967  {
968  return (bool) $this->view_own_records_perm;
969  }
int $view_own_records_perm
True if user can only view his/her own entries in the table.
+ Here is the caller graph for this function:

◆ getVisibleTableViews()

ilDclTable::getVisibleTableViews ( int  $user_id = 0,
bool  $with_active_detailedview = false 
)
Returns
ilDclTableView[]

Definition at line 484 of file class.ilDclTable.php.

References $user_id, getCollectionObject(), getTableViews(), ilObjDataCollectionAccess\hasAccessToTableView(), ilObjDataCollectionAccess\hasWriteAccess(), and ilDclDetailedViewDefinition\isActive().

Referenced by getFirstTableViewId().

484  : array
485  {
486  if (ilObjDataCollectionAccess::hasWriteAccess($this->getCollectionObject()->getRefId(), $user_id) && !$with_active_detailedview) {
487  return $this->getTableViews();
488  }
489 
490  $visible_views = [];
491  foreach ($this->getTableViews() as $tableView) {
493  if (!$with_active_detailedview || ilDclDetailedViewDefinition::isActive($tableView->getId())) {
494  $visible_views[] = $tableView;
495  }
496  }
497  }
498 
499  return $visible_views;
500  }
static hasAccessToTableView(ilDclTableView $tableview, ?int $user_id=0)
static hasWriteAccess(int $ref, ?int $user_id=0)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasCustomFields()

ilDclTable::hasCustomFields ( )

Definition at line 981 of file class.ilDclTable.php.

References loadCustomFields().

981  : bool
982  {
983  $this->loadCustomFields();
984 
985  return count($this->fields) > 0;
986  }
+ Here is the call graph for this function:

◆ hasPermissionToDeleteRecord()

ilDclTable::hasPermissionToDeleteRecord ( int  $ref_id,
ilDclBaseRecordModel  $record 
)
Parameters
int$ref_idthe reference id of the current datacollection object
ilDclBaseRecordModel$recordthe record which will be deleted

Definition at line 645 of file class.ilDclTable.php.

References ilObject\_lookupObjectId(), checkLimit(), doesRecordBelongToUser(), getDeleteByOwner(), getDeletePerm(), getObjId(), ilObjDataCollectionAccess\hasAddRecordAccess(), and ilObjDataCollectionAccess\hasWriteAccess().

645  : bool
646  {
648  return false;
649  }
651  return true;
652  }
654  return false;
655  }
656  if (!$this->checkLimit()) {
657  return false;
658  }
659  if ($this->getDeletePerm() && !$this->getDeleteByOwner()) {
660  return true;
661  }
662  if ($this->getDeleteByOwner()) {
663  return $this->doesRecordBelongToUser($record);
664  }
665 
666  return false;
667  }
static hasAddRecordAccess(int $ref, ?int $user_id=0)
doesRecordBelongToUser(ilDclBaseRecordModel $record)
$ref_id
Definition: ltiauth.php:66
static _lookupObjectId(int $ref_id)
static hasWriteAccess(int $ref, ?int $user_id=0)
+ Here is the call graph for this function:

◆ hasPermissionToDeleteRecords()

ilDclTable::hasPermissionToDeleteRecords ( int  $ref_id)
Parameters
$ref_id
Returns
bool

Definition at line 673 of file class.ilDclTable.php.

References ilObject\_lookupObjectId(), getDeletePerm(), getObjId(), ilObjDataCollectionAccess\hasAddRecordAccess(), and ilObjDataCollectionAccess\hasWriteAccess().

673  : bool
674  {
676  return false;
677  }
678 
681  }
static hasAddRecordAccess(int $ref, ?int $user_id=0)
$ref_id
Definition: ltiauth.php:66
static _lookupObjectId(int $ref_id)
static hasWriteAccess(int $ref, ?int $user_id=0)
+ Here is the call graph for this function:

◆ hasPermissionToEditRecord()

ilDclTable::hasPermissionToEditRecord ( int  $ref_id,
ilDclBaseRecordModel  $record 
)
Parameters
$ref_idint the reference id of the current datacollection object
$recordilDclBaseRecordModel the record which will be edited
Returns
bool

Definition at line 614 of file class.ilDclTable.php.

References ilObject\_lookupObjectId(), checkLimit(), doesRecordBelongToUser(), getEditByOwner(), getEditPerm(), getObjId(), ilObjDataCollectionAccess\hasAddRecordAccess(), ilObjDataCollectionAccess\hasEditAccess(), and ilObjDataCollectionAccess\hasWriteAccess().

614  : bool
615  {
617  return false;
618  }
620  return true;
621  }
623  return false;
624  }
625  if ($this->getEditByOwner()) {
626  return $this->doesRecordBelongToUser($record);
627  }
628  if (!$this->checkLimit()) {
629  return false;
630  }
632  return true;
633  }
634  if ($this->getEditPerm() && !$this->getEditByOwner()) {
635  return true;
636  }
637 
638  return false;
639  }
static hasAddRecordAccess(int $ref, ?int $user_id=0)
doesRecordBelongToUser(ilDclBaseRecordModel $record)
$ref_id
Definition: ltiauth.php:66
static _lookupObjectId(int $ref_id)
static hasWriteAccess(int $ref, ?int $user_id=0)
static hasEditAccess(int $ref, ?int $user_id=0)
+ Here is the call graph for this function:

◆ hasPermissionToViewRecord()

ilDclTable::hasPermissionToViewRecord ( int  $ref_id,
ilDclBaseRecordModel  $record,
int  $user_id = 0 
)

Definition at line 683 of file class.ilDclTable.php.

References $user_id, ilObject\_lookupObjectId(), getObjId(), ilDclBaseRecordModel\getOwner(), getViewOwnRecordsPerm(), ilObjDataCollectionAccess\hasEditAccess(), ilObjDataCollectionAccess\hasReadAccess(), ilObjDataCollectionAccess\hasWriteAccess(), and ILIAS\Repository\user().

683  : bool
684  {
686  return false;
687  }
689  $ref_id,
690  $user_id
692  return true;
693  }
695  // Check for view only own entries setting
696  if ($this->getViewOwnRecordsPerm() && ($user_id ?: $this->user->getId()) != $record->getOwner()) {
697  return false;
698  }
699 
700  return true;
701  }
702 
703  return false;
704  }
$ref_id
Definition: ltiauth.php:66
static _lookupObjectId(int $ref_id)
static hasWriteAccess(int $ref, ?int $user_id=0)
static hasReadAccess(int $ref, ?int $user_id=0)
static hasEditAccess(int $ref, ?int $user_id=0)
+ Here is the call graph for this function:

◆ loadCustomFields()

ilDclTable::loadCustomFields ( )
protected

Definition at line 363 of file class.ilDclTable.php.

References $fields, ilDclCache\buildFieldFromRecord(), ilDclDatatype\getAllDatatype(), getId(), and ilDclCache\preloadFieldProperties().

Referenced by getCustomFields(), getRecordFields(), hasCustomFields(), and reloadFields().

363  : void
364  {
365  if (!$this->fields) {
366  $query
367  = "SELECT DISTINCT il_dcl_field.*, il_dcl_tfield_set.field_order
368  FROM il_dcl_field
369  INNER JOIN il_dcl_tfield_set
370  ON ( il_dcl_tfield_set.field NOT IN ('owner',
371  'last_update',
372  'last_edit_by',
373  'id',
374  'create_date')
375  AND il_dcl_tfield_set.table_id = il_dcl_field.table_id
376  AND il_dcl_tfield_set.field = " . $this->db->cast("il_dcl_field.id", "text") . ")
377  WHERE il_dcl_field.table_id = %s
378  ORDER BY il_dcl_tfield_set.field_order ASC";
379 
380  $set = $this->db->queryF($query, ['integer'], [$this->getId()]);
381  $fields = [];
382  while ($rec = $this->db->fetchAssoc($set)) {
383  $field = ilDclCache::buildFieldFromRecord($rec);
384  if ($this->show_invalid || in_array($field->getDatatypeId(), array_keys(ilDclDatatype::getAllDatatype()))) {
385  $fields[] = $field;
386  }
387  }
388  $this->fields = $fields;
389 
391  }
392  }
static preloadFieldProperties(array $fields)
Preloads field properties.
getId()
Get table id.
static getAllDatatype(bool $force=false)
Get all possible Datatypes.
static buildFieldFromRecord(array $rec)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadObj()

ilDclTable::loadObj ( )
protected

Definition at line 294 of file class.ilDclTable.php.

Referenced by getCollectionObject().

294  : void
295  {
296  if ($this->obj == null) {
297  $this->obj = new ilObjDataCollection($this->objId, false);
298  }
299  }
+ Here is the caller graph for this function:

◆ loadRecords()

ilDclTable::loadRecords ( )

Definition at line 313 of file class.ilDclTable.php.

References $records, and ilDclCache\getRecordCache().

Referenced by getRecords().

313  : void
314  {
315  $records = [];
316  $query = "SELECT id FROM il_dcl_record WHERE table_id = " . $this->db->quote($this->id, "integer");
317  $set = $this->db->query($query);
318 
319  while ($rec = $this->db->fetchAssoc($set)) {
320  $records[$rec['id']] = ilDclCache::getRecordCache($rec['id']);
321  }
322 
323  $this->records = $records;
324  }
static getRecordCache(?int $record_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reloadFields()

ilDclTable::reloadFields ( )

Definition at line 462 of file class.ilDclTable.php.

References $fields, loadCustomFields(), and sortByOrder().

Referenced by getFields().

462  : void
463  {
464  $this->loadCustomFields();
465  $this->stdFields = $this->getStandardFields();
466  $fields = array_merge($this->fields, $this->stdFields);
467 
468  $this->sortByOrder($fields);
469 
470  $this->all_fields = $fields;
471  }
sortByOrder(array &$array)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setAddPerm()

ilDclTable::setAddPerm ( bool  $add_perm)

Definition at line 815 of file class.ilDclTable.php.

References $add_perm.

Referenced by cloneStructure(), and doRead().

815  : void
816  {
817  $this->add_perm = $add_perm;
818  }
+ Here is the caller graph for this function:

◆ setDefaultSortField()

ilDclTable::setDefaultSortField ( string  $default_sort_field)

Definition at line 927 of file class.ilDclTable.php.

References $default_sort_field.

Referenced by cloneStructure(), and doRead().

927  : void
928  {
929  $default_sort_field = ($default_sort_field) ?: ""; // Change null or empty strings to zero
930  $this->default_sort_field = $default_sort_field;
931  }
string $default_sort_field
+ Here is the caller graph for this function:

◆ setDefaultSortFieldOrder()

ilDclTable::setDefaultSortFieldOrder ( string  $default_sort_field_order)

Definition at line 938 of file class.ilDclTable.php.

References $default_sort_field_order.

Referenced by cloneStructure(), and doRead().

938  : void
939  {
940  if (!in_array($default_sort_field_order, ['asc', 'desc'])) {
942  }
943  $this->default_sort_field_order = $default_sort_field_order;
944  }
string $default_sort_field_order
Default sort-order (asc|desc)
+ Here is the caller graph for this function:

◆ setDeleteByOwner()

ilDclTable::setDeleteByOwner ( bool  $delete_by_owner)

Definition at line 856 of file class.ilDclTable.php.

References $delete_by_owner, and setDeletePerm().

Referenced by cloneStructure(), doRead(), and setDeletePerm().

856  : void
857  {
858  $this->delete_by_owner = $delete_by_owner;
859  if ($delete_by_owner) {
860  $this->setDeletePerm(true);
861  }
862  }
setDeletePerm(bool $delete_perm)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDeletePerm()

ilDclTable::setDeletePerm ( bool  $delete_perm)

Definition at line 825 of file class.ilDclTable.php.

References $delete_perm, and setDeleteByOwner().

Referenced by cloneStructure(), doRead(), and setDeleteByOwner().

825  : void
826  {
827  $this->delete_perm = $delete_perm;
828  if (!$delete_perm) {
829  $this->setDeleteByOwner(false);
830  }
831  }
setDeleteByOwner(bool $delete_by_owner)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDescription()

ilDclTable::setDescription ( string  $description)

Definition at line 917 of file class.ilDclTable.php.

References $description.

Referenced by cloneStructure(), and doRead().

917  : void
918  {
919  $this->description = $description;
920  }
string $description
Description for this table displayed above records.
+ Here is the caller graph for this function:

◆ setEditByOwner()

ilDclTable::setEditByOwner ( bool  $edit_by_owner)

Definition at line 838 of file class.ilDclTable.php.

References $edit_by_owner, and setEditPerm().

Referenced by cloneStructure(), doRead(), and setEditPerm().

838  : void
839  {
840  $this->edit_by_owner = $edit_by_owner;
841  if ($edit_by_owner) {
842  $this->setEditPerm(true);
843  }
844  }
setEditPerm(bool $edit_perm)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setEditPerm()

ilDclTable::setEditPerm ( bool  $edit_perm)

Definition at line 864 of file class.ilDclTable.php.

References $edit_perm, and setEditByOwner().

Referenced by cloneStructure(), doRead(), and setEditByOwner().

864  : void
865  {
866  $this->edit_perm = $edit_perm;
867  if (!$edit_perm) {
868  $this->setEditByOwner(false);
869  }
870  }
setEditByOwner(bool $edit_by_owner)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setExportEnabled()

ilDclTable::setExportEnabled ( bool  $export_enabled)

Definition at line 1131 of file class.ilDclTable.php.

References $export_enabled.

Referenced by cloneStructure(), and doRead().

1131  : void
1132  {
1133  $this->export_enabled = $export_enabled;
1134  }
+ Here is the caller graph for this function:

◆ setId()

ilDclTable::setId ( int  $a_id)

Set table id.

Definition at line 254 of file class.ilDclTable.php.

Referenced by doCreate().

254  : void
255  {
256  $this->id = $a_id;
257  }
+ Here is the caller graph for this function:

◆ setImportEnabled()

ilDclTable::setImportEnabled ( bool  $import_enabled)

Definition at line 1168 of file class.ilDclTable.php.

References $import_enabled.

Referenced by cloneStructure(), and doRead().

1168  : void
1169  {
1170  $this->import_enabled = $import_enabled;
1171  }
+ Here is the caller graph for this function:

◆ setIsVisible()

ilDclTable::setIsVisible ( bool  $is_visible)

Definition at line 907 of file class.ilDclTable.php.

References $is_visible.

Referenced by cloneStructure(), and doRead().

907  : void
908  {
909  $this->is_visible = $is_visible;
910  }
+ Here is the caller graph for this function:

◆ setLimited()

ilDclTable::setLimited ( bool  $limited)

Definition at line 877 of file class.ilDclTable.php.

References $limited.

Referenced by cloneStructure(), and doRead().

877  : void
878  {
879  $this->limited = $limited;
880  }
+ Here is the caller graph for this function:

◆ setLimitEnd()

ilDclTable::setLimitEnd ( string  $limit_end)

Definition at line 887 of file class.ilDclTable.php.

References $limit_end.

Referenced by cloneStructure(), and doRead().

887  : void
888  {
889  $this->limit_end = $limit_end;
890  }
+ Here is the caller graph for this function:

◆ setLimitStart()

ilDclTable::setLimitStart ( string  $limit_start)

Definition at line 897 of file class.ilDclTable.php.

References $limit_start.

Referenced by cloneStructure(), and doRead().

897  : void
898  {
899  $this->limit_start = $limit_start;
900  }
string $limit_start
+ Here is the caller graph for this function:

◆ setObjId()

ilDclTable::setObjId ( int  $a_id)

Definition at line 267 of file class.ilDclTable.php.

Referenced by doRead().

267  : void
268  {
269  $this->objId = $a_id;
270  }
+ Here is the caller graph for this function:

◆ setOrder()

ilDclTable::setOrder ( int  $table_order)

Definition at line 1163 of file class.ilDclTable.php.

References $table_order.

Referenced by cloneStructure(), doRead(), and ilDclTableEditGUI\setAsDefault().

1163  : void
1164  {
1165  $this->table_order = $table_order;
1166  }
+ Here is the caller graph for this function:

◆ setPublicCommentsEnabled()

ilDclTable::setPublicCommentsEnabled ( bool  $public_comments)

Definition at line 951 of file class.ilDclTable.php.

References $public_comments.

Referenced by cloneStructure(), and doRead().

951  : void
952  {
953  $this->public_comments = $public_comments;
954  }
bool $public_comments
True if users can add comments on each record of this table.
+ Here is the caller graph for this function:

◆ setSaveConfirmation()

ilDclTable::setSaveConfirmation ( bool  $save_confirmation)

Definition at line 976 of file class.ilDclTable.php.

References $save_confirmation.

Referenced by cloneStructure(), and doRead().

976  : void
977  {
978  $this->save_confirmation = $save_confirmation;
979  }
bool $save_confirmation
+ Here is the caller graph for this function:

◆ setTitle()

ilDclTable::setTitle ( string  $a_title)

Definition at line 277 of file class.ilDclTable.php.

Referenced by cloneStructure(), and doRead().

277  : void
278  {
279  $this->title = $a_title;
280  }
+ Here is the caller graph for this function:

◆ setViewOwnRecordsPerm()

ilDclTable::setViewOwnRecordsPerm ( bool  $view_own_perm)

Definition at line 961 of file class.ilDclTable.php.

References ILIAS\Repository\int().

Referenced by cloneStructure(), and doRead().

961  : void
962  {
963  $this->view_own_records_perm = (int) $view_own_perm;
964  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showInvalidFields()

ilDclTable::showInvalidFields ( bool  $value)

Definition at line 1314 of file class.ilDclTable.php.

1314  : void
1315  {
1316  $this->show_invalid = $value;
1317  }

◆ sortByOrder()

ilDclTable::sortByOrder ( array &  $array)
protected
Parameters
ilDclBaseFieldModel[]$array the array to sort

Definition at line 773 of file class.ilDclTable.php.

Referenced by buildOrderFields(), reloadFields(), and sortFields().

773  : void
774  {
775  // php-bug: https://bugs.php.net/bug.php?id=50688
776  // fixed in php 7 but for now we need the @ a workaround
777  usort($array, [$this, "compareOrder"]);
778  }
+ Here is the caller graph for this function:

◆ sortFields()

ilDclTable::sortFields ( array &  $fields)

sortFields

Parameters
ilDclBaseFieldModel[]$fields

Definition at line 758 of file class.ilDclTable.php.

References sortByOrder().

758  : void
759  {
760  $this->sortByOrder($fields);
761  //After sorting the array loses it's keys respectivly their keys are set form $field->id to 1,2,3... so we reset the keys.
762  $named = [];
763  foreach ($fields as $field) {
764  $named[$field->getId()] = $field;
765  }
766 
767  $fields = $named;
768  }
sortByOrder(array &$array)
+ Here is the call graph for this function:

◆ sortTableViews()

ilDclTable::sortTableViews ( array  $tableviews = null)
Parameters
ilDclTableView[]$tableviews

Definition at line 434 of file class.ilDclTable.php.

References getTableViews().

434  : void
435  {
436  if ($tableviews == null) {
437  $tableviews = $this->getTableViews();
438  }
439 
440  $order = 10;
441  foreach ($tableviews as $tableview) {
442  $tableview->setTableviewOrder($order);
443  $tableview->update();
444  $order += 10;
445  }
446  }
+ Here is the call graph for this function:

◆ updateFields()

ilDclTable::updateFields ( )

Update fields.

Definition at line 747 of file class.ilDclTable.php.

References getFields().

747  : void
748  {
749  foreach ($this->getFields() as $field) {
750  $field->doUpdate();
751  }
752  }
getFields()
Returns all fields of this table including the standard fields.
+ Here is the call graph for this function:

◆ updateOrder()

ilDclTable::updateOrder ( )

Definition at line 1150 of file class.ilDclTable.php.

References getId().

Referenced by getOrder().

1150  : void
1151  {
1152  $result = $this->db->query('SELECT MAX(table_order) AS table_order FROM il_dcl_table WHERE obj_id = ' . $this->db->quote(
1153  $this->getCollectionObject()->getId(),
1154  'integer'
1155  ));
1156  $this->table_order = $this->db->fetchObject($result)->table_order + 10;
1157  $this->db->query('UPDATE il_dcl_table SET table_order = ' . $this->db->quote(
1158  $this->table_order,
1159  'integer'
1160  ) . ' WHERE id = ' . $this->db->quote($this->getId(), 'integer'));
1161  }
getId()
Get table id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $add_perm

bool ilDclTable::$add_perm = false
protected

Definition at line 43 of file class.ilDclTable.php.

Referenced by getAddPerm(), and setAddPerm().

◆ $all_fields

array ilDclTable::$all_fields = null
protected

table fields and std fields combined

Definition at line 76 of file class.ilDclTable.php.

Referenced by getFields().

◆ $db

ilDBInterface ilDclTable::$db
protected

Definition at line 80 of file class.ilDclTable.php.

◆ $default_sort_field

string ilDclTable::$default_sort_field = "0"
protected

Definition at line 56 of file class.ilDclTable.php.

Referenced by getDefaultSortField(), and setDefaultSortField().

◆ $default_sort_field_order

string ilDclTable::$default_sort_field_order = 'asc'
protected

Default sort-order (asc|desc)

Definition at line 60 of file class.ilDclTable.php.

Referenced by getDefaultSortFieldOrder(), and setDefaultSortFieldOrder().

◆ $delete_by_owner

bool ilDclTable::$delete_by_owner = false
protected

Definition at line 47 of file class.ilDclTable.php.

Referenced by getDeleteByOwner(), and setDeleteByOwner().

◆ $delete_perm

bool ilDclTable::$delete_perm = false
protected

Definition at line 45 of file class.ilDclTable.php.

Referenced by getDeletePerm(), and setDeletePerm().

◆ $description

string ilDclTable::$description = ''
protected

Description for this table displayed above records.

Definition at line 64 of file class.ilDclTable.php.

Referenced by getDescription(), and setDescription().

◆ $edit_by_owner

bool ilDclTable::$edit_by_owner = false
protected

Definition at line 46 of file class.ilDclTable.php.

Referenced by getEditByOwner(), and setEditByOwner().

◆ $edit_perm

bool ilDclTable::$edit_perm = false
protected

Definition at line 44 of file class.ilDclTable.php.

Referenced by getEditPerm(), and setEditPerm().

◆ $export_enabled

bool ilDclTable::$export_enabled = false
protected

Definition at line 52 of file class.ilDclTable.php.

Referenced by getExportEnabled(), and setExportEnabled().

◆ $fields

array ilDclTable::$fields = []
protected

◆ $http

ILIAS HTTP Services ilDclTable::$http
protected

Definition at line 77 of file class.ilDclTable.php.

◆ $id

int ilDclTable::$id = 0
protected

Definition at line 26 of file class.ilDclTable.php.

Referenced by _getTableIdByTitle(), getId(), and getPartialRecords().

◆ $import_enabled

bool ilDclTable::$import_enabled = false
protected

Definition at line 54 of file class.ilDclTable.php.

Referenced by getImportEnabled(), and setImportEnabled().

◆ $is_visible

bool ilDclTable::$is_visible = false
protected

Definition at line 42 of file class.ilDclTable.php.

Referenced by getIsVisible(), and setIsVisible().

◆ $limit_end

string ilDclTable::$limit_end = ""
protected

Definition at line 51 of file class.ilDclTable.php.

Referenced by getLimitEnd(), and setLimitEnd().

◆ $limit_start

string ilDclTable::$limit_start = ""
protected

Definition at line 50 of file class.ilDclTable.php.

Referenced by getLimitStart(), and setLimitStart().

◆ $limited

bool ilDclTable::$limited = false
protected

Definition at line 49 of file class.ilDclTable.php.

Referenced by getLimited(), and setLimited().

◆ $obj

ilObjDataCollection ilDclTable::$obj = null
protected

Definition at line 28 of file class.ilDclTable.php.

Referenced by getCollectionObject().

◆ $objId

int ilDclTable::$objId = null
protected

Definition at line 27 of file class.ilDclTable.php.

Referenced by getObjId().

◆ $public_comments

bool ilDclTable::$public_comments = false
protected

True if users can add comments on each record of this table.

Definition at line 68 of file class.ilDclTable.php.

Referenced by getPublicCommentsEnabled(), and setPublicCommentsEnabled().

◆ $records

array ilDclTable::$records = []
protected

Definition at line 41 of file class.ilDclTable.php.

Referenced by getPartialRecords(), getRecords(), and loadRecords().

◆ $refinery

ILIAS Refinery Factory ilDclTable::$refinery
protected

Definition at line 78 of file class.ilDclTable.php.

◆ $save_confirmation

bool ilDclTable::$save_confirmation = false
protected

Definition at line 48 of file class.ilDclTable.php.

Referenced by getSaveConfirmation(), and setSaveConfirmation().

◆ $show_invalid

bool ilDclTable::$show_invalid = false
protected

Definition at line 81 of file class.ilDclTable.php.

◆ $stdFields

array ilDclTable::$stdFields = []
protected

Definition at line 37 of file class.ilDclTable.php.

Referenced by getFieldsForFormula().

◆ $table_order

int ilDclTable::$table_order = 0
protected

Definition at line 53 of file class.ilDclTable.php.

Referenced by getOrder(), and setOrder().

◆ $title

string ilDclTable::$title = ""
protected

Definition at line 29 of file class.ilDclTable.php.

Referenced by getFieldByTitle(), and getTitle().

◆ $user

ilObjUser ilDclTable::$user
protected

Definition at line 79 of file class.ilDclTable.php.

◆ $view_own_records_perm

int ilDclTable::$view_own_records_perm = 0
protected

True if user can only view his/her own entries in the table.

Definition at line 72 of file class.ilDclTable.php.

Referenced by getViewOwnRecordsPerm().


The documentation for this class was generated from the following file: