21 $message =
"Standard fields cannot be read from DB";
31 $message =
"Standard fields cannot be written to DB";
48 $this->
setLocked($original_record->getLocked());
49 $this->
setOrder($original_record->getOrder());
50 $this->
setRequired($original_record->getRequired());
51 $this->
setUnique($original_record->isUnique());
79 "title" =>
$lng->txt(
"dcl_id"),
80 "description" =>
$lng->txt(
"dcl_id_description"),
85 "id" =>
"create_date",
86 "title" =>
$lng->txt(
"dcl_creation_date"),
87 "description" =>
$lng->txt(
"dcl_creation_date_description"),
92 "id" =>
"last_update",
93 "title" =>
$lng->txt(
"dcl_last_update"),
94 "description" =>
$lng->txt(
"dcl_last_update_description"),
100 "title" =>
$lng->txt(
"dcl_owner"),
101 "description" =>
$lng->txt(
"dcl_owner_description"),
106 "id" =>
"last_edit_by",
107 "title" =>
$lng->txt(
"dcl_last_edited_by"),
108 "description" =>
$lng->txt(
"dcl_last_edited_by_description"),
114 'title' =>
$lng->txt(
'dcl_comments'),
115 'description' =>
$lng->txt(
'dcl_comments_desc'),
132 $stdFields =
array();
133 foreach (self::_getStandardFieldsAsArray() as $array) {
137 $field->buildFromDBRecord($array);
138 $stdFields[] = $field;
152 $ilDB = $DIC[
'ilDB'];
158 'dcl_last_edited_by',
161 $identifiers .=
$ilDB->quote($id,
'text') .
',';
163 $identifiers = rtrim($identifiers,
',');
164 $sql =
$ilDB->query(
'SELECT value FROM lng_data WHERE identifier IN (' . $identifiers
167 while ($rec =
$ilDB->fetchAssoc($sql)) {
168 $titles[] = $rec[
'value'];
182 $ilDB = $DIC[
'ilDB'];
184 foreach (
array(
'dcl_owner' ) as
$id) {
185 $identifiers .=
$ilDB->quote($id,
'text') .
',';
187 $identifiers = rtrim($identifiers,
',');
188 $sql =
$ilDB->query(
'SELECT value, identifier FROM lng_data WHERE identifier IN (' 189 . $identifiers .
')');
191 while ($rec =
$ilDB->fetchAssoc($sql)) {
192 $titles[$rec[
'identifier']][] = $rec[
'value'];
207 foreach (self::_getStandardFieldsAsArray() as $field) {
208 if ($field[
"id"] == $field_id) {
227 foreach (self::_getStandardFieldsAsArray() as $fields_data) {
228 if (
$id == $fields_data[
'id']) {
269 if ($this->
getId() ==
'owner' || $this->
getId() ==
'last_edit_by') {
270 $join_str =
"LEFT JOIN usr_data AS sort_usr_data_{$this->getId()} ON (sort_usr_data_{$this->getId()}.usr_id = record.{$this->getId()})";
271 $select_str =
" sort_usr_data_{$this->getId()}.login AS field_{$this->getId()},";
273 $select_str =
" record.{$this->getId()} AS field_{$this->getId()},";
276 $sql_obj->setSelectStatement($select_str);
277 $sql_obj->setJoinStatement($join_str);
279 if ($this->
getId() !==
"comments") {
280 $sql_obj->setOrderStatement(
"field_{$this->getId()} " . $direction);
298 $ilDB = $DIC[
'ilDB'];
300 $where_additions =
"";
303 $join_str =
"INNER JOIN usr_data AS filter_usr_data_{$this->getId()} ON (filter_usr_data_{$this->getId()}.usr_id = record.{$this->getId()} AND filter_usr_data_{$this->getId()}.login LIKE " 304 .
$ilDB->quote(
"%$filter_value%",
'text') .
") ";
307 $from = (isset($filter_value[
'from'])) ? $filter_value[
'from'] : null;
308 $to = (isset($filter_value[
'to'])) ? $filter_value[
'to'] : null;
309 if (is_numeric(
$from)) {
310 $where_additions .=
" AND record.{$this->getId()} >= " 313 if (is_numeric($to)) {
314 $where_additions .=
" AND record.{$this->getId()} <= " 315 .
$ilDB->quote($to,
'integer');
319 $date_from = (isset($filter_value[
'from'])
320 && is_object($filter_value[
'from'])) ? $filter_value[
'from'] : null;
321 $date_to = (isset($filter_value[
'to'])
322 && is_object($filter_value[
'to'])) ? $filter_value[
'to'] : null;
327 $where_additions .=
" AND (record.{$this->getId()} >= " 328 . strip_tags(
$ilDB->quote($date_from,
'date')) .
")";
331 $where_additions .=
" AND (record.{$this->getId()} <= " 332 . strip_tags(
$ilDB->quote($date_to,
'date')) .
")";
339 $sql_obj->setJoinStatement($join_str);
340 $sql_obj->setWhereStatement($where_additions);
351 if ($this->
getId() ==
'comments') {
362 if ($this->
getId() ==
'comments') {
366 return parent::hasNumericSorting();
376 return $this->
id !=
'comments' 388 parent::fillHeaderExcel($worksheet,
$row, $col);
389 if ($this->
getId() ==
'owner') {
407 $value = $excel->getCell(
$row, $col);
getRecordQuerySortObject($direction="asc", $sort_by_status=false)
Returns a query-object for building the record-loader-sql-query.
Class ilDclBaseFieldModel.
getRecordQueryFilterObject($filter_value="", ilDclBaseFieldModel $sort_field=null)
Returns a query-object for building the record-loader-sql-query.
static _getNonImportableStandardFieldTitles()
Class ilDclRecordQueryObject.
static _lookupId($a_user_str)
Lookup id by login.
cloneStructure($original_record)
static getTableCache($table_id=0)
static _getDatatypeForId($id)
gives you the datatype id of a specified standard field.
getTableId()
Get table id.
static _getImportableStandardFieldTitle()
static _getStandardFields($table_id)
catch(Exception $e) $message
static _getStandardFieldsAsArray()
setRequired($a_required)
Set Required.
setCell($a_row, $a_col, $a_value, $a_datatype=null)
Set cell value.
Class ilDclBaseFieldModel.
const INPUTFORMAT_DATETIME
fillHeaderExcel(ilExcel $worksheet, &$row, &$col)
static _isStandardField($field_id)
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
updateTableFieldSetting()
update exportable and fieldorder
setExportable($exportable)
getValueFromExcel($excel, $row, $col)
getDatatypeId()
Get datatype_id.