2 require_once(
'./Modules/DataCollection/classes/Fields/Base/class.ilDclBaseRecordRepresentation.php');
25 if (is_array($value)) {
26 $link = $value[
'link'];
27 $link_value = $value[
'title'] ? $value[
'title'] : $this->
shortenLink($link);
33 if (substr($link, 0, 3) ===
'www') {
34 $link =
'http://' . $link;
37 if (preg_match(
"/^[a-z0-9!#$%&'*+=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i", $link)) {
38 $link =
"mailto:" . $link;
39 } elseif (!(preg_match(
'~(^(news|(ht|f)tp(s?)\://){1}\S+)~i', $link))) {
43 $html =
"<a rel='noopener' target='_blank' href='" . htmlspecialchars($link, ENT_QUOTES) .
"'>" . htmlspecialchars($link_value, ENT_QUOTES) .
"</a>";
46 $this->ctrl->clearParametersByClass(
"ilDclDetailedViewGUI");
47 $this->ctrl->setParameterByClass(
'ilDclDetailedViewGUI',
'record_id', $this->
getRecordField()->
getRecord()->getId());
48 $this->ctrl->setParameterByClass(
'ilDclDetailedViewGUI',
'tableview_id',
$_GET[
'tableview_id']);
49 $html =
'<a href="' . $this->ctrl->getLinkTargetByClass(
"ilDclDetailedViewGUI",
'renderRecord') .
'">' . $value .
'</a>';
51 $html = (is_array($value) && isset($value[
'link']))? $value[
'link'] : $value;
65 if (strlen($value) > self::LINK_MAX_LENGTH) {
66 if (substr($value, 0, 7) ==
"http://") {
67 $value = substr($value, 7);
69 if (substr($value, 0, 8) ==
"https://") {
70 $value = substr($value, 8);
72 if (substr($value, 0, 4) ==
"www.") {
73 $value = substr($value, 4);
78 if (strlen($value) > self::LINK_MAX_LENGTH) {
79 $link = substr($value, 0, (self::LINK_MAX_LENGTH - 3) / 2);
81 $link .= substr($value, -(self::LINK_MAX_LENGTH - 3) / 2);
91 $input_field = $form->getItemByPostVar(
'field_'.$this->
getField()->getId());
94 $value = is_array($raw_input) ? $raw_input[
'link'] : $raw_input;
95 $field_values =
array();
97 $field_values[
"field_".$this->getRecordField()->getField()->getId().
"_title"] = (isset($raw_input[
'title']))? $raw_input[
'title'] :
'';
101 $breaks =
array(
"<br />" );
102 $value = str_ireplace($breaks,
"", $value);
105 $field_values[
"field_".$this->getRecordField()->getField()->getId()] = $value;
106 $input_field->setValueByArray($field_values);
getRecord()
Getter shortcut for record.
getField()
Getter shortcut for field.
const PROP_LINK_DETAIL_PAGE_TEXT
getFormInput()
Gets the value from from the record field.
Class ilDclTextFieldRepresentation.
Create styles array
The data for the language used.
Class ilDclBaseRecordRepresentation.
shortenLink($value)
This method shortens a link.
getRecordField()
Get Record Field.
getHTML($link=true)
Outputs html of a certain field.