4require_once 
'./Modules/DataCollection/classes/Fields/Base/class.ilDclBaseRecordFieldModel.php';
 
    5require_once 
'./Modules/DataCollection/classes/Fields/Base/class.ilDclDatatype.php';
 
    6require_once 
'./Services/Exceptions/classes/class.ilException.php';
 
    7require_once 
'./Services/User/classes/class.ilUserUtil.php';
 
    8require_once(
'./Services/Object/classes/class.ilCommonActionDispatcherGUI.php');
 
    9require_once(
'./Modules/DataCollection/classes/class.ilObjDataCollection.php');
 
   10require_once(
'./Modules/DataCollection/classes/Table/class.ilDclTable.php');
 
   11require_once(
'./Services/Notes/classes/class.ilNote.php');
 
   12require_once(
'./Services/Notes/classes/class.ilNoteGUI.php');
 
   89                $date = explode(
' ', $value);
 
   98        public function doUpdate($omit_notification = 
false) {
 
  107                        "last_update"  => array(
 
  115                        "last_edit_by" => array(
 
  120                $ilDB->update(
"il_dcl_record", $values, array(
 
  128                        $recordfield->doUpdate();
 
  132                if (!$omit_notification) {
 
  133                        ilObjDataCollection::sendNotification(
"update_record", $this->
getTableId(), $this->
id);
 
  145                $query = 
"Select * From il_dcl_record WHERE id = " . 
$ilDB->quote($this->
getId(), 
"integer") . 
" ORDER BY id";
 
  148                $rec = 
$ilDB->fetchAssoc($set);
 
  166                        throw new ilException(
"The field does not have a related table!");
 
  169                $id = 
$ilDB->nextId(
"il_dcl_record");
 
  171                $query = 
"INSERT INTO il_dcl_record ( 
  186                        $recordField->doCreate();
 
  198                $this->recordfields[$field_id]->delete();
 
  199                if (count($this->recordfields) == 1) {
 
  231                $this->table_id = $a_id;
 
  251                $this->create_date = $a_datetime;
 
  271                $this->last_update = $a_datetime;
 
  291                $this->owner = $a_id;
 
  333                        $record_field = $this->recordfields[$field_id];
 
  336                        $this->recordfields[$field_id]->setValue($value);
 
  352                        $this->recordfields[$field_id]->setValueFromForm($form);
 
  365                return $this->recordfields[$field->getId()]->getValueFromExcel($excel, 
$row, $col);
 
  376                foreach ($this->recordfields as 
$id => $record_field) {
 
  377                        $return[
$id] = $record_field->getValue();
 
  391                if ($field_id === NULL) {
 
  398                        return $this->recordfields[$field_id]->getValue();
 
  411                if ($field_id === NULL) {
 
  418                        return $this->recordfields[$field_id]->getValueForRepresentation();
 
  435                        return $this->recordfields[$field_id]->getExportValue();
 
  451                        return $this->recordfields[$field_id]->getPlainText();
 
  467                        $this->recordfields[$field_id]->fillExcelExport(
$worksheet, 
$row, $col);
 
  482                        if (is_object($this->recordfields[$field_id])) {
 
  483                                $html = $this->recordfields[$field_id]->getRecordRepresentation()->getHTML();
 
  509                        if (is_object($this->recordfields[$field_id])) {
 
  510                                $html = $this->recordfields[$field_id]->getSortingValue();
 
  530        public function getRecordFieldSingleHTML($field_id, array 
$options = array()) {
 
  536                        $field = $this->recordfields[$field_id];
 
  541                        $html = $field->getRecordRepresentation()->getSingleHTML(
$options, 
false);
 
  560                        $this->recordfields[$field_id]->getRecordRepresentation()->fillFormInput($form);
 
  570                if ($item = $form->getItemByPostVar(
"field_".$field_id)) {
 
  586                $this->$field_id = $value;
 
  594                if ($item = $form->getItemByPostVar(
'field_' . $field_id)) {
 
  613                                return $usr_data[
'login'];
 
  617                return $this->$field_id;
 
  630                                return $this->
getId();
 
  642                                        ->getId(), 
'dcl', $this->getId());
 
  645                                return "<a class='dcl_comment' href='#' onclick=\"return " . $ajax_link . 
"\"> 
  647                                . 
"' alt='{$nComments} Comments'><span class='ilHActProp'>{$nComments}</span></a>";
 
  660                    false, 
"", 
"y", 
true, 
true));
 
  671                if ($this->recordfields == NULL) {
 
  674                        foreach ($this->table->getRecordFields() as $field) {
 
  689                if ($this->table == NULL) {
 
  703                return $this->recordfields[$field_id];
 
  712        public function doDelete($omit_notification = 
false) {
 
  715                $ilAppEventHandler = 
$DIC[
'ilAppEventHandler'];
 
  718                foreach ($this->recordfields as $recordfield) {
 
  725                                $this->
deleteMob($recordfield->getValue());
 
  728                        $recordfield->delete();
 
  731                $query = 
"DELETE FROM il_dcl_record WHERE id = " . 
$ilDB->quote($this->
getId(), 
"integer");
 
  734                $this->table->loadRecords();
 
  736                if (!$omit_notification) {
 
  737                        ilObjDataCollection::sendNotification(
"delete_record", $this->
getTableId(), $this->
getId());
 
  739                        $ilAppEventHandler->raise(
'Modules/DataCollection',
 
  743                                        'table_id' => $this->table_id,
 
  744                                        'record_id' => $this->
getId(),
 
  762                $this->
setOwner($original->getOwner());
 
  764                foreach($new_fields as 
$old => 
$new){
 
  765                        $old_rec_field = $original->getRecordField(
$old);
 
  767                        $new_rec_field->cloneStructure($old_rec_field);
 
  768                        $this->recordfields[] = $new_rec_field;
 
  809                foreach ($this->table->getFilterableFields() as $field) {
 
  810                        if (! isset($filter[
"filter_" . $field->getId()]) || ! $filter[
"filter_" . $field->getId()]) {
 
  878                if ($this->comments === NULL) {
 
An exception for terminatinating execution or to throw for unit testing.
static buildAjaxHash($a_node_type, $a_node_id, $a_obj_type, $a_obj_id, $a_sub_type=null, $a_sub_id=null)
Build ajax hash.
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
Class ilDclBaseRecordModel.
setId($a_id)
Set field id.
setLastEditBy($last_edit_by)
setStandardFieldFromForm($field_id, &$form)
fillRecordFieldFormInput($field_id, &$form)
getComments()
Get all comments of this record.
getCreateDate()
Get Creation Date.
getStandardFieldPlainText($field_id)
hasPermissionToEdit($ref_id)
getTableId()
Get Table ID.
loadRecordFields()
Load record fields.
deleteMob($obj_id)
Delete MOB.
fillStandardFieldFormInput($field_id, &$form)
setStandardField($field_id, $value)
setLastUpdate($a_datetime)
Set Last Update Date.
deleteFile($obj_id)
Delete a file.
getRecordFieldExportValue($field_id)
Get Field Export Value.
setRecordFieldValueFromForm($field_id, &$form)
Set a field value.
passThroughFilter(array $filter)
setOwner($a_id)
Set Owner.
cloneStructure($original_id, $new_fields)
getRecordFieldPlainText($field_id)
Get Field Export Value.
setCreateDate($a_datetime)
Set Creation Date.
doDelete($omit_notification=false)
Delete.
doUpdate($omit_notification=false)
doUpdate
hasPermissionToView($ref_id)
getStandardField($field_id)
getRecordField($field_id)
getRecordFieldSortingValue($field_id, array $options=array())
hasPermissionToDelete($ref_id)
getRecordFieldValueFromExcel($excel, $row, $col, $field)
getRecordFieldValue($field_id)
Get Field Value.
getLastUpdate()
Get Last Update Date.
getStandardFieldHTML($field_id, array $options=array())
getRecordFieldHTML($field_id, array $options=array())
setTableId($a_id)
Set Table ID.
getRecordFieldRepresentationValue($field_id)
Get Field Value for Representation in a Form.
fillRecordFieldExcelExport(ilExcel $worksheet, &$row, &$col, $field_id)
setRecordFieldValue($field_id, $value)
Set a field value.
static getRecordFieldCache($record, $field)
static getTableCache($table_id=0)
static getRecordCache($record_id=0)
static setCloneOf($old, $new, $type)
static getFieldRepresentation(ilDclBaseFieldModel $field)
static _isStandardField($field_id)
static _tableExists($table_id)
Base class for ILIAS Exception handling.
static getListCommentsJSCall($a_hash, $a_update_code=null)
Get list comments js call.
static _getNotesOfObject($a_rep_obj_id, $a_obj_id, $a_obj_type, $a_type=IL_NOTE_PRIVATE, $a_incl_sub=false, $a_filter="", $a_all_public="y", $a_repository_mode=true, $a_sort_ascending=false)
get all notes related to a specific object
static _lookupName($a_user_id)
lookup user name
static _lookupObjId($a_id)
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false)
Default behaviour is:
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file
if(!is_array($argv)) $options