ILIAS  release_7 Revision v7.30-3-g800a261c036
ilDclTable Class Reference

Class ilDclBaseFieldModel. More...

+ Collaboration diagram for ilDclTable:

Public Member Functions

 __construct ($a_id=0)
 
 doRead ()
 Read table. More...
 
 doCreate ($create_tablefield_setting=true, $create_standardview=true)
 
 doUpdate ()
 
 setId ($a_id)
 Set table id. More...
 
 getId ()
 Get table id. More...
 
 setObjId ($a_id)
 
 getObjId ()
 
 setTitle ($a_title)
 
 getTitle ()
 
 getCollectionObject ()
 
 getRecords ()
 
 loadRecords ()
 
 deleteField ($field_id)
 
 getField ($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 ($ref_id, $with_active_detailedview=false, $user_id=0)
 For current user. More...
 
 getFirstTableViewId ($ref_id, $user_id=0)
 get id of first (for current user) available view 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 ($ref_id, ilDclBaseRecordModel $record)
 
 hasPermissionToDeleteRecord ($ref_id, ilDclBaseRecordModel $record)
 
 hasPermissionToDeleteRecords ($ref_id)
 
 hasPermissionToViewRecord ($ref_id, $record, $user_id=0)
 
 checkLimit ()
 
 updateFields ()
 Update fields. More...
 
 sortFields (&$fields)
 sortFields More...
 
 buildOrderFields ()
 buildOrderFields orders the fields. More...
 
 getFieldByTitle ($title)
 Get a field by title. More...
 
 setAddPerm ($add_perm)
 
 getAddPerm ()
 
 setDeletePerm ($delete_perm)
 
 getDeletePerm ()
 
 setEditByOwner ($edit_by_owner)
 
 getEditByOwner ()
 
 getDeleteByOwner ()
 
 setDeleteByOwner ($delete_by_owner)
 
 setEditPerm ($edit_perm)
 
 getEditPerm ()
 
 setLimited ($limited)
 
 getLimited ()
 
 setLimitEnd ($limit_end)
 
 getLimitEnd ()
 
 setLimitStart ($limit_start)
 
 getLimitStart ()
 
 setIsVisible ($is_visible)
 
 getIsVisible ()
 
 setDescription ($description)
 
 getDescription ()
 
 setDefaultSortField ($default_sort_field)
 /** More...
 
 getDefaultSortField ()
 
 setDefaultSortFieldOrder ($default_sort_field_order)
 
 getDefaultSortFieldOrder ()
 
 setPublicCommentsEnabled ($public_comments)
 
 getPublicCommentsEnabled ()
 
 setViewOwnRecordsPerm ($view_own_perm)
 
 getViewOwnRecordsPerm ()
 
 getSaveConfirmation ()
 
 setSaveConfirmation ($save_confirmation)
 
 hasCustomFields ()
 hasCustomFields More...
 
 compareOrder ($a, $b)
 
 cloneStructure (ilDclTable $original)
 
 afterClone ()
 
 _hasRecords ()
 _hasRecords More...
 
 addField ($field)
 
 setExportEnabled ($export_enabled)
 
 getExportEnabled ()
 
 getOrder ()
 
 updateOrder ()
 
 setOrder ($table_order)
 
 setImportEnabled ($import_enabled)
 
 getImportEnabled ()
 

Static Public Member Functions

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

Protected Member Functions

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

Protected Attributes

 $id = 0
 
 $objId
 
 $obj
 
 $title
 
 $fields
 
 $stdFields
 
 $records
 
 $is_visible
 
 $add_perm
 
 $edit_perm
 
 $delete_perm
 
 $edit_by_owner
 
 $delete_by_owner
 
 $save_confirmation
 
 $limited
 
 $limit_start
 
 $limit_end
 
 $export_enabled
 
 $table_order
 
 $import_enabled
 
 $default_sort_field = 0
 
 $default_sort_field_order = 'asc'
 
 $description = ''
 
 $public_comments = 0
 
 $view_own_records_perm = 0
 
 $all_fields = null
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilDclTable::__construct (   $a_id = 0)
Parameters
int$a_id

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

142 {
143 if ($a_id != 0) {
144 $this->id = $a_id;
145 $this->doRead();
146 }
147 }
doRead()
Read table.

References doRead().

+ Here is the call graph for this function:

Member Function Documentation

◆ _getTableIdByTitle()

static ilDclTable::_getTableIdByTitle (   $title,
  $obj_id 
)
static
Parameters
$titleTitle of table
$obj_idDataCollection object ID where the table belongs to
Returns
int

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

1413 {
1414 global $DIC;
1415 $ilDB = $DIC['ilDB'];
1416 $result = $ilDB->query(
1417 'SELECT id FROM il_dcl_table WHERE title = ' . $ilDB->quote($title, 'text') . ' AND obj_id = '
1418 . $ilDB->quote($obj_id, 'integer')
1419 );
1420 $id = 0;
1421 while ($rec = $ilDB->fetchAssoc($result)) {
1422 $id = $rec['id'];
1423 }
1424
1425 return $id;
1426 }
$result
global $DIC
Definition: goto.php:24
global $ilDB

References $DIC, $id, $ilDB, $result, and $title.

Referenced by ilObjDataCollection\reorderTables().

+ Here is the caller graph for this function:

◆ _hasFieldByTitle()

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

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

Parameters
$titleTitle of field
$obj_idObj-ID of the table
Returns
bool

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

1509 {
1510 global $DIC;
1511 $ilDB = $DIC['ilDB'];
1512 $result = $ilDB->query(
1513 'SELECT * FROM il_dcl_field WHERE table_id = ' . $ilDB->quote($obj_id, 'integer') . ' AND title = '
1514 . $ilDB->quote($title, 'text')
1515 );
1516
1517 return ($ilDB->numRows($result)) ? true : false;
1518 }
return true
Flag indicating whether or not HTTP headers will be sent when outputting captcha image/audio.

References $DIC, $ilDB, $result, $title, and true.

Referenced by ilDclFieldEditGUI\checkInput().

+ Here is the caller graph for this function:

◆ _hasRecords()

ilDclTable::_hasRecords ( )

_hasRecords

Returns
boolean

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

1376 {
1377 return (count($this->getRecords()) > 0) ? true : false;
1378 }

References getRecords(), and true.

+ Here is the call graph for this function:

◆ _tableExists()

static ilDclTable::_tableExists (   $table_id)
static
Parameters
$table_idint
Returns
bool returns true iff there exists a table with id $table_id

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

1396 {
1397 global $DIC;
1398 $ilDB = $DIC['ilDB'];
1399 $query = "SELECT * FROM il_dcl_table WHERE id = " . $table_id;
1400 $result = $ilDB->query($query);
1401
1402 return $result->numRows() != 0;
1403 }
$query

References $DIC, $ilDB, $query, and $result.

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

+ Here is the caller graph for this function:

◆ addField()

ilDclTable::addField (   $field)
Parameters
$fieldilDclBaseFieldModel add an already created field for eg. ordering.

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

1385 {
1386 $this->all_fields[$field->getId()] = $field;
1387 }

◆ afterClone()

ilDclTable::afterClone ( )

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

1363 {
1364 foreach ($this->getFields() as $field) {
1365 $field->afterClone($this->getRecords());
1366 }
1367 }
getFields()
Returns all fields of this table including the standard fields.

References getFields(), and getRecords().

+ Here is the call graph for this function:

◆ buildOrderFields()

ilDclTable::buildOrderFields ( )

buildOrderFields orders the fields.

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

925 {
926 $fields = $this->getFields();
927 $this->sortByOrder($fields);
928 $count = 10;
929 $offset = 10;
930 foreach ($fields as $field) {
931 if (!is_null($field->getOrder())) {
932 $field->setOrder($count);
933 $count = $count + $offset;
934 $field->doUpdate();
935 }
936 }
937 }
sortByOrder(&$array)

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

Referenced by doCreate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkLimit()

ilDclTable::checkLimit ( )
Returns
bool

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

866 {
867 if ($this->getLimited()) {
868 $now = new ilDateTime(date("Y-m-d H:i:s"), IL_CAL_DATE);
869 $from = new ilDateTime($this->getLimitStart(), IL_CAL_DATE);
870 $to = new ilDateTime($this->getLimitEnd(), IL_CAL_DATE);
871
872 return ($from <= $now && $now <= $to);
873 }
874
875 return true;
876 }
const IL_CAL_DATE
@classDescription Date and time handling

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

Referenced by hasPermissionToDeleteRecord(), and hasPermissionToEditRecord().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneStructure()

ilDclTable::cloneStructure ( ilDclTable  $original)
Parameters
ilDclTable$original

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

1288 {
1289 $this->setTitle($original->getTitle());
1290 $this->setDescription($original->getDescription());
1291 $this->setIsVisible($original->getIsVisible());
1292 $this->setEditByOwner($original->getEditByOwner());
1293 $this->setAddPerm($original->getAddPerm());
1294 $this->setEditPerm($original->getEditPerm());
1295 $this->setDeleteByOwner($original->getDeleteByOwner());
1296 $this->setSaveConfirmation($original->getSaveConfirmation());
1297 $this->setDeletePerm($original->getDeletePerm());
1298 $this->setLimited($original->getLimited());
1299 $this->setLimitStart($original->getLimitStart());
1300 $this->setLimitEnd($original->getLimitEnd());
1301 $this->setViewOwnRecordsPerm($original->getViewOwnRecordsPerm());
1302 $this->setExportEnabled($original->getExportEnabled());
1303 $this->setImportEnabled($original->getImportEnabled());
1306 $this->setOrder($original->getOrder());
1307
1308 $this->doCreate(true, false);
1309 // reset stdFields to get new for the created object
1310
1312 // Clone standard-fields
1313 $org_std_fields = $original->getStandardFields();
1314 foreach ($this->getStandardFields() as $element_key => $std_field) {
1315 $std_field->cloneStructure($org_std_fields[$element_key]);
1316 if ($std_field->getId() === $original->getDefaultSortField()) {
1317 $default_sort_field = $std_field->getId();
1318 }
1319 }
1320
1321 // Clone fields
1322 $new_fields = array();
1323 foreach ($original->getFields() as $orig_field) {
1324 if (!$orig_field->isStandardField()) {
1325 $class_name = get_class($orig_field);
1326 $new_field = new $class_name();
1327 $new_field->setTableId($this->getId());
1328 $new_field->cloneStructure($orig_field->getId());
1329 $new_fields[$orig_field->getId()] = $new_field;
1330
1331 if ($orig_field->getId() === $original->getDefaultSortField()) {
1332 $default_sort_field = $new_field->getId();
1333 }
1334 }
1335 }
1336
1338 $this->doUpdate();
1339
1340 // Clone Records with recordfields
1341 foreach ($original->getRecords() as $orig_record) {
1342 $new_record = new ilDclBaseRecordModel();
1343 $new_record->setTableId($this->getId());
1344 $new_record->cloneStructure($orig_record->getId(), $new_fields);
1345 }
1346
1347 //clone tableviews (includes pageobjects)
1348 foreach ($original->getTableViews() as $orig_tableview) {
1349 $new_tableview = new ilDclTableView();
1350 $new_tableview->setTableId($this->getId());
1351 $new_tableview->cloneStructure($orig_tableview, $new_fields);
1352 }
1353
1354 // mandatory for all cloning functions
1355 ilDclCache::setCloneOf($original->getId(), $this->getId(), ilDclCache::TYPE_TABLE);
1356 }
Class ilDclBaseRecordModel.
static setCloneOf($old, $new, $type)
Class ilDclTableView.
setViewOwnRecordsPerm($view_own_perm)
setPublicCommentsEnabled($public_comments)
setDefaultSortField($default_sort_field)
/**
setLimited($limited)
setEditByOwner($edit_by_owner)
setDeleteByOwner($delete_by_owner)
setDefaultSortFieldOrder($default_sort_field_order)
setSaveConfirmation($save_confirmation)
setImportEnabled($import_enabled)
setExportEnabled($export_enabled)
cloneStructure(ilDclTable $original)
setLimitEnd($limit_end)
setOrder($table_order)
setDescription($description)
setEditPerm($edit_perm)
setDeletePerm($delete_perm)
doCreate($create_tablefield_setting=true, $create_standardview=true)
getId()
Get table id.
setAddPerm($add_perm)
setTitle($a_title)
setIsVisible($is_visible)
setLimitStart($limit_start)

References $default_sort_field, cloneStructure(), 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.

Referenced by cloneStructure().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compareOrder()

ilDclTable::compareOrder (   $a,
  $b 
)
Parameters
$a
$b
Returns
int

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

1269 {
1270 if (is_null($a->getOrder() == null) && is_null($b->getOrder() == null)) {
1271 return 0;
1272 }
1273 if (is_null($a->getOrder())) {
1274 return 1;
1275 }
1276 if (is_null($b->getOrder())) {
1277 return -1;
1278 }
1279
1280 return $a->getOrder() < $b->getOrder() ? -1 : 1;
1281 }
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples

References Vendor\Package\$a, and Vendor\Package\$b.

◆ deleteField()

ilDclTable::deleteField (   $field_id)
Parameters
$field_id

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

411 {
412 $field = ilDclCache::getFieldCache($field_id);
413 $records = $this->getRecords();
414
415 foreach ($records as $record) {
416 $record->deleteField($field_id);
417 }
418
419 $field->doDelete();
420 }
static getFieldCache($field_id=0)

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

+ Here is the call graph for this function:

◆ doCreate()

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

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

227 {
228 global $DIC;
229 $ilDB = $DIC['ilDB'];
230
231 $id = $ilDB->nextId("il_dcl_table");
232 $this->setId($id);
233 $query = "INSERT INTO il_dcl_table (" . "id" . ", obj_id" . ", title" . ", add_perm" . ", edit_perm" . ", delete_perm" . ", edit_by_owner"
234 . ", limited" . ", limit_start" . ", limit_end" . ", is_visible" . ", export_enabled" . ", import_enabled" . ", default_sort_field_id"
235 . ", default_sort_field_order" . ", description" . ", public_comments" . ", view_own_records_perm"
236 . ", delete_by_owner, save_confirmation , table_order ) VALUES (" . $ilDB->quote($this->getId(), "integer") . ","
237 . $ilDB->quote($this->getObjId(), "integer") . "," . $ilDB->quote($this->getTitle(), "text") . ","
238 . $ilDB->quote($this->getAddPerm() ? 1 : 0, "integer") . "," . $ilDB->quote($this->getEditPerm() ? 1 : 0, "integer") . ","
239 . $ilDB->quote($this->getDeletePerm() ? 1 : 0, "integer") . "," . $ilDB->quote($this->getEditByOwner() ? 1 : 0, "integer") . ","
240 . $ilDB->quote($this->getLimited() ? 1 : 0, "integer") . "," . $ilDB->quote($this->getLimitStart(), "timestamp") . ","
241 . $ilDB->quote($this->getLimitEnd(), "timestamp") . "," . $ilDB->quote($this->getIsVisible() ? 1 : 0, "integer") . ","
242 . $ilDB->quote($this->getExportEnabled() ? 1 : 0, "integer") . "," . $ilDB->quote($this->getImportEnabled() ? 1 : 0, "integer") . ","
243 . $ilDB->quote($this->getDefaultSortField(), "text") . "," . $ilDB->quote($this->getDefaultSortFieldOrder(), "text") . ","
244 . $ilDB->quote($this->getDescription(), "text") . "," . $ilDB->quote($this->getPublicCommentsEnabled(), "integer") . ","
245 . $ilDB->quote($this->getViewOwnRecordsPerm(), "integer") . "," . $ilDB->quote($this->getDeleteByOwner() ? 1 : 0, 'integer') . ","
246 . $ilDB->quote($this->getSaveConfirmation() ? 1 : 0, 'integer') . "," . $ilDB->quote($this->getOrder(), 'integer') . ")";
247
248 $ilDB->manipulate($query);
249
250 if ($create_standardview) {
251 //standard tableview
253 }
254
255 if ($create_tablefield_setting) {
256 $this->buildOrderFields();
257 }
258 }
static createOrGetStandardView($table_id, $create_default_settings=true)
setId($a_id)
Set table id.
buildOrderFields()
buildOrderFields orders the fields.

References $DIC, $id, $ilDB, $query, 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doesRecordBelongToUser()

ilDclTable::doesRecordBelongToUser ( ilDclBaseRecordModel  $record)
protected
Parameters
ilDclBaseRecordModel$record
Returns
bool

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

854 {
855 global $DIC;
856 $ilUser = $DIC['ilUser'];
857
858 return ($ilUser->getId() == $record->getOwner());
859 }
$ilUser
Definition: imgupload.php:18

References $DIC, $ilUser, and ilDclBaseRecordModel\getOwner().

Referenced by hasPermissionToDeleteRecord(), and hasPermissionToEditRecord().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doRead()

ilDclTable::doRead ( )

Read table.

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

154 {
155 global $DIC;
156 $ilDB = $DIC['ilDB'];
157
158 $query = "SELECT * FROM il_dcl_table WHERE id = " . $ilDB->quote($this->getId(), "integer");
159 $set = $ilDB->query($query);
160 $rec = $ilDB->fetchAssoc($set);
161
162 $this->setObjId($rec["obj_id"]);
163 $this->setTitle($rec["title"]);
164 $this->setAddPerm($rec["add_perm"]);
165 $this->setEditPerm($rec["edit_perm"]);
166 $this->setDeletePerm($rec["delete_perm"]);
167 $this->setEditByOwner($rec["edit_by_owner"]);
168 $this->setExportEnabled($rec["export_enabled"]);
169 $this->setImportEnabled($rec["import_enabled"]);
170 $this->setLimited($rec["limited"]);
171 $this->setLimitStart($rec["limit_start"]);
172 $this->setLimitEnd($rec["limit_end"]);
173 $this->setIsVisible($rec["is_visible"]);
174 $this->setDescription($rec['description']);
175 $this->setDefaultSortField($rec['default_sort_field_id']);
176 $this->setDefaultSortFieldOrder($rec['default_sort_field_order']);
177 $this->setPublicCommentsEnabled($rec['public_comments']);
178 $this->setViewOwnRecordsPerm($rec['view_own_records_perm']);
179 $this->setDeleteByOwner($rec['delete_by_owner']);
180 $this->setSaveConfirmation($rec['save_confirmation']);
181 $this->setOrder($rec['table_order']);
182 }

References $DIC, $ilDB, $query, 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doUpdate()

ilDclTable::doUpdate ( )

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

265 {
266 global $DIC;
267 $ilDB = $DIC['ilDB'];
268
269 $ilDB->update(
270 "il_dcl_table",
271 array(
272 "obj_id" => array("integer", $this->getObjId()),
273 "title" => array("text", $this->getTitle()),
274 "add_perm" => array("integer", (int) $this->getAddPerm()),
275 "edit_perm" => array("integer", (int) $this->getEditPerm()),
276 "delete_perm" => array("integer", (int) $this->getDeletePerm()),
277 "edit_by_owner" => array("integer", (int) $this->getEditByOwner()),
278 "limited" => array("integer", $this->getLimited()),
279 "limit_start" => array("timestamp", $this->getLimitStart()),
280 "limit_end" => array("timestamp", $this->getLimitEnd()),
281 "is_visible" => array("integer", $this->getIsVisible() ? 1 : 0),
282 "export_enabled" => array("integer", $this->getExportEnabled() ? 1 : 0),
283 "import_enabled" => array("integer", $this->getImportEnabled() ? 1 : 0),
284 "description" => array("text", $this->getDescription()),
285 "default_sort_field_id" => array("text", $this->getDefaultSortField()),
286 "default_sort_field_order" => array("text", $this->getDefaultSortFieldOrder()),
287 "public_comments" => array("integer", $this->getPublicCommentsEnabled() ? 1 : 0),
288 "view_own_records_perm" => array("integer", $this->getViewOwnRecordsPerm()),
289 'delete_by_owner' => array('integer', $this->getDeleteByOwner() ? 1 : 0),
290 'save_confirmation' => array('integer', $this->getSaveConfirmation() ? 1 : 0),
291 'table_order' => array('integer', $this->getOrder()),
292 ),
293 array(
294 "id" => array("integer", $this->getId()),
295 )
296 );
297 }

References $DIC, $ilDB, 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAddPerm()

ilDclTable::getAddPerm ( )
Returns
boolean

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

974 {
975 return (bool) $this->add_perm;
976 }

References $add_perm.

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

+ Here is the caller graph for this function:

◆ getCollectionObject()

ilDclTable::getCollectionObject ( )
Returns
ilObjDataCollection

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

362 {
363 $this->loadObj();
364
365 return $this->obj;
366 }

References $obj, and loadObj().

+ Here is the call graph for this function:

◆ getCustomFields()

ilDclTable::getCustomFields ( )

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

496 {
497 if (!$this->fields) {
498 $this->loadCustomFields();
499 }
500
501 return $this->fields;
502 }
$errors fields
Definition: imgupload.php:51

References $fields, and fields.

◆ getDefaultSortField()

ilDclTable::getDefaultSortField ( )
Returns
string

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

1169 {
1171 }

References $default_sort_field.

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

+ Here is the caller graph for this function:

◆ getDefaultSortFieldOrder()

ilDclTable::getDefaultSortFieldOrder ( )
Returns
string

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

1190 {
1192 }

References $default_sort_field_order.

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

+ Here is the caller graph for this function:

◆ getDeleteByOwner()

ilDclTable::getDeleteByOwner ( )
Returns
boolean

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

1025 {
1026 return (bool) $this->delete_by_owner;
1027 }

References $delete_by_owner.

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

+ Here is the caller graph for this function:

◆ getDeletePerm()

ilDclTable::getDeletePerm ( )
Returns
boolean

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

995 {
996 return (bool) $this->delete_perm;
997 }

References $delete_perm.

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

+ Here is the caller graph for this function:

◆ getDescription()

ilDclTable::getDescription ( )
Returns
string

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

1148 {
1149 return $this->description;
1150 }

References $description.

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

+ Here is the caller graph for this function:

◆ getEditableFields()

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

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

707 {
708 $fields = $this->getRecordFields();
709 $editableFields = array();
710
711 foreach ($fields as $field) {
712 if (!$field->getViewSetting($_POST["tableview_id"])->isLocked($creation_mode)) {
713 $editableFields[] = $field;
714 }
715 }
716
717 return $editableFields;
718 }
$_POST["username"]
getRecordFields()
Returns all fields of this table which are NOT standard fields.

References $_POST, $fields, and getRecordFields().

+ Here is the call graph for this function:

◆ getEditByOwner()

ilDclTable::getEditByOwner ( )
Returns
boolean

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

1016 {
1017 return (bool) $this->edit_by_owner;
1018 }

References $edit_by_owner.

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

+ Here is the caller graph for this function:

◆ getEditPerm()

ilDclTable::getEditPerm ( )
Returns
boolean

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

1058 {
1059 return (bool) $this->edit_perm;
1060 }

References $edit_perm.

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

+ Here is the caller graph for this function:

◆ getExportableFields()

ilDclTable::getExportableFields ( )

Return all the fields that are marked as exportable.

Returns
array ilDclBaseFieldModel

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

727 {
728 $fields = $this->getFields();
729 $exportableFields = array();
730 foreach ($fields as $field) {
731 if ($field->getExportable()) {
732 $exportableFields[] = $field;
733 }
734 }
735
736 return $exportableFields;
737 }

References $fields, and getFields().

+ Here is the call graph for this function:

◆ getExportEnabled()

ilDclTable::getExportEnabled ( )
Returns
boolean

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

1442 {
1443 return $this->export_enabled;
1444 }

References $export_enabled.

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

+ Here is the caller graph for this function:

◆ getField()

ilDclTable::getField (   $field_id)
Parameters
$field_id
Returns
ilDclBaseFieldModel|null

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

429 {
430 $fields = $this->getFields();
431 $field = null;
432 foreach ($fields as $field_1) {
433 if ($field_1->getId() == $field_id) {
434 $field = $field_1;
435 }
436 }
437
438 return $field;
439 }

References $fields, and getFields().

+ Here is the call graph for this function:

◆ getFieldByTitle()

ilDclTable::getFieldByTitle (   $title)

Get a field by title.

Parameters
$title
Returns
ilDclBaseFieldModel

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

948 {
949 $return = null;
950 foreach ($this->getFields() as $field) {
951 if ($field->getTitle() == $title) {
952 $return = $field;
953 break;
954 }
955 }
956
957 return $return;
958 }

References $title, and getFields().

+ Here is the call graph for this function:

◆ getFieldIds()

ilDclTable::getFieldIds ( )
Parameters
bool$force_include_comments
Returns
array

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

448 {
449 $field_ids = array();
450 foreach ($this->getFields() as $field) {
451 if ($field->getId()) {
452 $field_ids[] = $field->getId();
453 }
454 }
455
456 return $field_ids;
457 }

References getFields().

+ 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 558 of file class.ilDclTable.php.

559 {
560 if ($this->all_fields == null) {
561 $this->reloadFields();
562 }
563
564 return $this->all_fields;
565 }

References $all_fields, and reloadFields().

Referenced by afterClone(), buildOrderFields(), cloneStructure(), getExportableFields(), getField(), getFieldByTitle(), getFieldIds(), getNewFieldOrder(), ilObjDataCollectionTest\testDefaultTable(), and updateFields().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFirstTableViewId()

ilDclTable::getFirstTableViewId (   $ref_id,
  $user_id = 0 
)

get id of first (for current user) available view

Parameters
$ref_id
int$user_id
Returns
bool

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

625 {
626 $tableview = array_shift($this->getVisibleTableViews($ref_id, false, $user_id));
627
628 return $tableview ? $tableview->getId() : false;
629 }
getVisibleTableViews($ref_id, $with_active_detailedview=false, $user_id=0)
For current user.

References getVisibleTableViews().

+ Here is the call graph for this function:

◆ getId()

ilDclTable::getId ( )

Get table id.

Returns
int

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

317 {
318 return $this->id;
319 }

References $id.

Referenced by cloneStructure(), doCreate(), doRead(), doUpdate(), getNewTableviewOrder(), and getTableViews().

+ Here is the caller graph for this function:

◆ getImportEnabled()

ilDclTable::getImportEnabled ( )
Returns
boolean

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

1495 {
1496 return $this->import_enabled;
1497 }

References $import_enabled.

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

+ Here is the caller graph for this function:

◆ getIsVisible()

ilDclTable::getIsVisible ( )
Returns
boolean

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

1130 {
1131 return $this->is_visible;
1132 }

References $is_visible.

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

+ Here is the caller graph for this function:

◆ getLimited()

ilDclTable::getLimited ( )
Returns
boolean

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

1076 {
1077 return $this->limited;
1078 }

References $limited.

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

+ Here is the caller graph for this function:

◆ getLimitEnd()

ilDclTable::getLimitEnd ( )
Returns
string

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

1094 {
1095 return $this->limit_end;
1096 }

References $limit_end.

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

+ Here is the caller graph for this function:

◆ getLimitStart()

ilDclTable::getLimitStart ( )
Returns
string

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

1112 {
1113 return $this->limit_start;
1114 }

References $limit_start.

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

+ 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 510 of file class.ilDclTable.php.

511 {
512 $fields = $this->getFields();
513 $place = 0;
514 foreach ($fields as $field) {
515 if (!$field->isStandardField()) {
516 $place = $field->getOrder() + 1;
517 }
518 }
519
520 return $place;
521 }

References $fields, and getFields().

+ Here is the call graph for this function:

◆ getNewTableviewOrder()

ilDclTable::getNewTableviewOrder ( )
Returns
int

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

528 {
529 return (ilDclTableView::getCountForTableId($this->getId()) + 1) * 10;
530 }
static getCountForTableId($table_id)

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

+ Here is the call graph for this function:

◆ getObjId()

ilDclTable::getObjId ( )
Returns
int

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

335 {
336 return $this->objId;
337 }

References $objId.

Referenced by doCreate(), doUpdate(), hasPermissionToDeleteRecord(), hasPermissionToDeleteRecords(), hasPermissionToEditRecord(), and hasPermissionToViewRecord().

+ Here is the caller graph for this function:

◆ getOrder()

ilDclTable::getOrder ( )
Returns
int

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

1451 {
1452 if (!$this->table_order) {
1453 $this->updateOrder();
1454 }
1455
1456 return $this->table_order;
1457 }

References $table_order, and updateOrder().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPublicCommentsEnabled()

ilDclTable::getPublicCommentsEnabled ( )
Returns
boolean

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

1208 {
1210 }

References $public_comments.

Referenced by cloneStructure(), doCreate(), doUpdate(), and ilObjDataCollectionTest\testDefaultTable().

+ 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 695 of file class.ilDclTable.php.

696 {
697 $this->loadCustomFields();
698
699 return $this->fields;
700 }

References $fields.

Referenced by getEditableFields(), and ilObjDataCollectionTest\testDefaultTable().

+ Here is the caller graph for this function:

◆ getRecords()

ilDclTable::getRecords ( )
Returns
ilDclBaseRecordModel[]

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

381 {
382 if ($this->records == null) {
383 $this->loadRecords();
384 }
385
386 return $this->records;
387 }

References $records, and loadRecords().

Referenced by _hasRecords(), afterClone(), cloneStructure(), deleteField(), and ilObjDataCollectionTest\testDefaultTable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSaveConfirmation()

ilDclTable::getSaveConfirmation ( )
Returns
boolean

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

1235 {
1237 }

References $save_confirmation.

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

+ Here is the caller graph for this function:

◆ getTableViews()

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

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

584 {
586 }
static getAllForTableId($table_id)

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

Referenced by cloneStructure(), getVisibleTableViews(), sortTableViews(), and ilObjDataCollectionTest\testDefaultTableViewCreated().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTitle()

ilDclTable::getTitle ( )
Returns
string

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

353 {
354 return $this->title;
355 }

References $title.

Referenced by cloneStructure(), doCreate(), doUpdate(), and ilObjDataCollectionTest\testDefaultTable().

+ Here is the caller graph for this function:

◆ getViewOwnRecordsPerm()

ilDclTable::getViewOwnRecordsPerm ( )
Returns
boolean

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

1226 {
1227 return (bool) $this->view_own_records_perm;
1228 }

References $view_own_records_perm.

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

+ Here is the caller graph for this function:

◆ getVisibleTableViews()

ilDclTable::getVisibleTableViews (   $ref_id,
  $with_active_detailedview = false,
  $user_id = 0 
)

For current user.

Parameters
int$ref_idDataCollections reference
int$user_id
Returns
ilDclTableView[]

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

598 {
599 if (ilObjDataCollectionAccess::hasWriteAccess($ref_id, $user_id) && !$with_active_detailedview) {
600 return $this->getTableViews();
601 }
602
603 $visible_views = array();
604 foreach ($this->getTableViews() as $tableView) {
605 if (ilObjDataCollectionAccess::hasAccessToTableView($tableView, $user_id)) {
606 if (!$with_active_detailedview || ilDclDetailedViewDefinition::isActive($tableView->getId())) {
607 $visible_views[] = $tableView;
608 }
609 }
610 }
611
612 return $visible_views;
613 }
static hasAccessToTableView($tableview, $user_id=0)
This only checks access to the tableview - if the full access check is required, use hasAccessTo($ref...

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

Referenced by getFirstTableViewId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasCustomFields()

ilDclTable::hasCustomFields ( )

hasCustomFields

Returns
boolean

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

1255 {
1256 $this->loadCustomFields();
1257
1258 return (count($this->fields) > 0) ? true : false;
1259 }

References fields, and true.

◆ hasPermissionToDeleteRecord()

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

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

778 {
779 if ($this->getObjId() != ilObjDataCollection::_lookupObjectId($ref_id)) {
780 return false;
781 }
783 return true;
784 }
786 return false;
787 }
788 if (!$this->checkLimit()) {
789 return false;
790 }
791 if ($this->getDeletePerm() && !$this->getDeleteByOwner()) {
792 return true;
793 }
794 if ($this->getDeleteByOwner()) {
795 return $this->doesRecordBelongToUser($record);
796 }
797
798 return false;
799 }
doesRecordBelongToUser(ilDclBaseRecordModel $record)
static _lookupObjectId($a_ref_id)
lookup object id

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

+ Here is the call graph for this function:

◆ hasPermissionToDeleteRecords()

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

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

808 {
809 if ($this->getObjId() != ilObjDataCollection::_lookupObjectId($ref_id)) {
810 return false;
811 }
812
815 }

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

+ Here is the call graph for this function:

◆ hasPermissionToEditRecord()

ilDclTable::hasPermissionToEditRecord (   $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 746 of file class.ilDclTable.php.

747 {
748 if ($this->getObjId() != ilObjDataCollection::_lookupObjectId($ref_id)) {
749 return false;
750 }
752 return true;
753 }
755 return false;
756 }
757 if (!$this->checkLimit()) {
758 return false;
759 }
760 if ($this->getEditPerm() && !$this->getEditByOwner()) {
761 return true;
762 }
763 if ($this->getEditByOwner()) {
764 return $this->doesRecordBelongToUser($record);
765 }
766
767 return false;
768 }
static hasEditAccess($ref, $user_id=0)
Has permission to view and edit all entries event when he is not the owner.

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

+ Here is the call graph for this function:

◆ hasPermissionToViewRecord()

ilDclTable::hasPermissionToViewRecord (   $ref_id,
  $record,
  $user_id = 0 
)
Parameters
int$ref_id
$recordilDclBaseRecordModel
int$user_id
Returns
bool

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

826 {
827 global $DIC;
828 $ilUser = $DIC['ilUser'];
829 if ($this->getObjId() != ilObjDataCollection::_lookupObjectId($ref_id)) {
830 return false;
831 }
832 if (ilObjDataCollectionAccess::hasWriteAccess($ref_id, $user_id) || ilObjDataCollectionAccess::hasEditAccess($ref_id, $user_id)) {
833 return true;
834 }
836 // Check for view only own entries setting
837 if ($this->getViewOwnRecordsPerm() && ($user_id ? $user_id : $ilUser->getId()) != $record->getOwner()) {
838 return false;
839 }
840
841 return true;
842 }
843
844 return false;
845 }

References $DIC, $ilUser, ilObject2\_lookupObjectId(), getObjId(), getViewOwnRecordsPerm(), ilObjDataCollectionAccess\hasEditAccess(), ilObjDataCollectionAccess\hasReadAccess(), and ilObjDataCollectionAccess\hasWriteAccess().

+ Here is the call graph for this function:

◆ loadObj()

ilDclTable::loadObj ( )
protected

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

370 {
371 if ($this->obj == null) {
372 $this->obj = new ilObjDataCollection($this->objId, false);
373 }
374 }
Class ilObjDataCollection.

Referenced by getCollectionObject().

+ Here is the caller graph for this function:

◆ loadRecords()

ilDclTable::loadRecords ( )

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

391 {
392 global $DIC;
393 $ilDB = $DIC['ilDB'];
394
395 $records = array();
396 $query = "SELECT id FROM il_dcl_record WHERE table_id = " . $ilDB->quote($this->id, "integer");
397 $set = $ilDB->query($query);
398
399 while ($rec = $ilDB->fetchAssoc($set)) {
400 $records[$rec['id']] = ilDclCache::getRecordCache($rec['id']);
401 }
402
403 $this->records = $records;
404 }
static getRecordCache($record_id=0)

References $DIC, $ilDB, $query, $records, and ilDclCache\getRecordCache().

Referenced by getRecords().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reloadFields()

ilDclTable::reloadFields ( )

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

569 {
570 $this->loadCustomFields();
571 $this->stdFields = $this->getStandardFields();
572 $fields = array_merge($this->fields, $this->stdFields);
573
574 $this->sortByOrder($fields);
575
576 $this->all_fields = $fields;
577 }

References $fields, fields, and sortByOrder().

Referenced by getFields().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setAddPerm()

ilDclTable::setAddPerm (   $add_perm)
Parameters
boolean$add_perm

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

965 {
966 $this->add_perm = $add_perm;
967 }

References $add_perm.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setDefaultSortField()

ilDclTable::setDefaultSortField (   $default_sort_field)

/**

Parameters
string$default_sort_field

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

1159 {
1160 $default_sort_field = ($default_sort_field) ? $default_sort_field : 0; // Change null or empty strings to zero
1161 $this->default_sort_field = $default_sort_field;
1162 }

References $default_sort_field.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setDefaultSortFieldOrder()

ilDclTable::setDefaultSortFieldOrder (   $default_sort_field_order)
Parameters
string$default_sort_field_order

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

1178 {
1179 if (!in_array($default_sort_field_order, array('asc', 'desc'))) {
1181 }
1182 $this->default_sort_field_order = $default_sort_field_order;
1183 }

References $default_sort_field_order.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setDeleteByOwner()

ilDclTable::setDeleteByOwner (   $delete_by_owner)
Parameters
boolean$delete_by_owner

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

1034 {
1035 $this->delete_by_owner = $delete_by_owner;
1036 if ($delete_by_owner) {
1037 $this->setDeletePerm(true);
1038 }
1039 }

References $delete_by_owner, and setDeletePerm().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDeletePerm()

ilDclTable::setDeletePerm (   $delete_perm)
Parameters
boolean$delete_perm

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

983 {
984 $this->delete_perm = $delete_perm;
985 if (!$delete_perm) {
986 $this->setDeleteByOwner(false);
987 }
988 }

References $delete_perm, and setDeleteByOwner().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDescription()

ilDclTable::setDescription (   $description)
Parameters
string$description

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

1139 {
1140 $this->description = $description;
1141 }

References $description.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setEditByOwner()

ilDclTable::setEditByOwner (   $edit_by_owner)
Parameters
boolean$edit_by_owner

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

1004 {
1005 $this->edit_by_owner = $edit_by_owner;
1006 if ($edit_by_owner) {
1007 $this->setEditPerm(true);
1008 }
1009 }

References $edit_by_owner, and setEditPerm().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setEditPerm()

ilDclTable::setEditPerm (   $edit_perm)
Parameters
boolean$edit_perm

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

1046 {
1047 $this->edit_perm = $edit_perm;
1048 if (!$edit_perm) {
1049 $this->setEditByOwner(false);
1050 }
1051 }

References $edit_perm, and setEditByOwner().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setExportEnabled()

ilDclTable::setExportEnabled (   $export_enabled)
Parameters
boolean$export_enabled

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

1433 {
1434 $this->export_enabled = $export_enabled;
1435 }

References $export_enabled.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setId()

ilDclTable::setId (   $a_id)

Set table id.

Parameters
int$a_id

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

306 {
307 $this->id = $a_id;
308 }

Referenced by doCreate().

+ Here is the caller graph for this function:

◆ setImportEnabled()

ilDclTable::setImportEnabled (   $import_enabled)
Parameters
boolean$import_enabled

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

1486 {
1487 $this->import_enabled = $import_enabled;
1488 }

References $import_enabled.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setIsVisible()

ilDclTable::setIsVisible (   $is_visible)
Parameters
boolean$is_visible

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

1121 {
1122 $this->is_visible = $is_visible;
1123 }

References $is_visible.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setLimited()

ilDclTable::setLimited (   $limited)
Parameters
boolean$limited

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

1067 {
1068 $this->limited = $limited;
1069 }

References $limited.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setLimitEnd()

ilDclTable::setLimitEnd (   $limit_end)
Parameters
string$limit_end

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

1085 {
1086 $this->limit_end = $limit_end;
1087 }

References $limit_end.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setLimitStart()

ilDclTable::setLimitStart (   $limit_start)
Parameters
string$limit_start

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

1103 {
1104 $this->limit_start = $limit_start;
1105 }

References $limit_start.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setObjId()

ilDclTable::setObjId (   $a_id)
Parameters
$a_id

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

326 {
327 $this->objId = $a_id;
328 }

Referenced by doRead().

+ Here is the caller graph for this function:

◆ setOrder()

ilDclTable::setOrder (   $table_order)
Parameters
int$table_order

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

1477 {
1478 $this->table_order = $table_order;
1479 }

References $table_order.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setPublicCommentsEnabled()

ilDclTable::setPublicCommentsEnabled (   $public_comments)
Parameters
boolean$public_comments

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

1199 {
1200 $this->public_comments = $public_comments;
1201 }

References $public_comments.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setSaveConfirmation()

ilDclTable::setSaveConfirmation (   $save_confirmation)
Parameters
boolean$save_confirmation

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

1244 {
1245 $this->save_confirmation = $save_confirmation;
1246 }

References $save_confirmation.

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setTitle()

ilDclTable::setTitle (   $a_title)
Parameters
$a_title

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

344 {
345 $this->title = $a_title;
346 }

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ setViewOwnRecordsPerm()

ilDclTable::setViewOwnRecordsPerm (   $view_own_perm)
Parameters
boolean$view_own_perm

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

1217 {
1218 $this->view_own_records_perm = (int) $view_own_perm;
1219 }

Referenced by cloneStructure(), and doRead().

+ Here is the caller graph for this function:

◆ sortByOrder()

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

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

913 {
914 // php-bug: https://bugs.php.net/bug.php?id=50688
915 // fixed in php 7 but for now we need the @ a workaround
916 @usort($array, array($this, "compareOrder"));
917 }

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

+ Here is the caller graph for this function:

◆ sortFields()

ilDclTable::sortFields ( $fields)

sortFields

Parameters
$fieldsilDclBaseFieldModel[]

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

896 {
897 $this->sortByOrder($fields);
898 //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.
899 $named = array();
900 foreach ($fields as $field) {
901 $named[$field->getId()] = $field;
902 }
903
904 $fields = $named;
905 }

References $fields, and sortByOrder().

+ Here is the call graph for this function:

◆ sortTableViews()

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

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

537 {
538 if ($tableviews == null) {
539 $tableviews = $this->getTableViews();
540 }
541
542 $order = 10;
543 foreach ($tableviews as $tableview) {
544 $tableview->setTableviewOrder($order);
545 $tableview->update();
546 $order += 10;
547 }
548 }

References getTableViews().

+ Here is the call graph for this function:

◆ updateFields()

ilDclTable::updateFields ( )

Update fields.

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

883 {
884 foreach ($this->getFields() as $field) {
885 $field->doUpdate();
886 }
887 }

References getFields().

+ Here is the call graph for this function:

◆ updateOrder()

ilDclTable::updateOrder ( )

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

1464 {
1465 global $DIC;
1466 $ilDB = $DIC['ilDB'];
1467 $result = $ilDB->query('SELECT MAX(table_order) AS table_order FROM il_dcl_table WHERE obj_id = ' . $ilDB->quote($this->getCollectionObject()->getId(), 'integer'));
1468 $this->table_order = $ilDB->fetchObject($result)->table_order + 10;
1469 $ilDB->query('UPDATE il_dcl_table SET table_order = ' . $ilDB->quote($this->table_order, 'integer') . ' WHERE id = ' . $ilDB->quote($this->getId(), 'integer'));
1470 }

References $DIC, $ilDB, and $result.

Referenced by getOrder().

+ Here is the caller graph for this function:

Field Documentation

◆ $add_perm

ilDclTable::$add_perm
protected

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

Referenced by getAddPerm(), and setAddPerm().

◆ $all_fields

ilDclTable::$all_fields = null
protected

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

Referenced by getFields().

◆ $default_sort_field

ilDclTable::$default_sort_field = 0
protected

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

Referenced by cloneStructure(), getDefaultSortField(), and setDefaultSortField().

◆ $default_sort_field_order

ilDclTable::$default_sort_field_order = 'asc'
protected

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

Referenced by getDefaultSortFieldOrder(), and setDefaultSortFieldOrder().

◆ $delete_by_owner

ilDclTable::$delete_by_owner
protected

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

Referenced by getDeleteByOwner(), and setDeleteByOwner().

◆ $delete_perm

ilDclTable::$delete_perm
protected

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

Referenced by getDeletePerm(), and setDeletePerm().

◆ $description

ilDclTable::$description = ''
protected

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

Referenced by getDescription(), and setDescription().

◆ $edit_by_owner

ilDclTable::$edit_by_owner
protected

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

Referenced by getEditByOwner(), and setEditByOwner().

◆ $edit_perm

ilDclTable::$edit_perm
protected

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

Referenced by getEditPerm(), and setEditPerm().

◆ $export_enabled

ilDclTable::$export_enabled
protected

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

Referenced by getExportEnabled(), and setExportEnabled().

◆ $fields

◆ $id

ilDclTable::$id = 0
protected

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

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

◆ $import_enabled

ilDclTable::$import_enabled
protected

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

Referenced by getImportEnabled(), and setImportEnabled().

◆ $is_visible

ilDclTable::$is_visible
protected

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

Referenced by getIsVisible(), and setIsVisible().

◆ $limit_end

ilDclTable::$limit_end
protected

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

Referenced by getLimitEnd(), and setLimitEnd().

◆ $limit_start

ilDclTable::$limit_start
protected

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

Referenced by getLimitStart(), and setLimitStart().

◆ $limited

ilDclTable::$limited
protected

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

Referenced by getLimited(), and setLimited().

◆ $obj

ilDclTable::$obj
protected

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

Referenced by getCollectionObject().

◆ $objId

ilDclTable::$objId
protected

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

Referenced by getObjId().

◆ $public_comments

ilDclTable::$public_comments = 0
protected

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

Referenced by getPublicCommentsEnabled(), and setPublicCommentsEnabled().

◆ $records

◆ $save_confirmation

ilDclTable::$save_confirmation
protected

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

Referenced by getSaveConfirmation(), and setSaveConfirmation().

◆ $stdFields

ilDclTable::$stdFields
protected

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

◆ $table_order

ilDclTable::$table_order
protected

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

Referenced by getOrder(), and setOrder().

◆ $title

ilDclTable::$title
protected

◆ $view_own_records_perm

ilDclTable::$view_own_records_perm = 0
protected

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

Referenced by getViewOwnRecordsPerm().


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