29 if (is_array($value)) {
30 $link = $value[
'link'];
31 $link_value = $value[
'title'] ? $value[
'title'] : $this->
shortenLink($link);
37 if (substr($link, 0, 3) ===
'www') {
38 $link =
'http://' . $link;
41 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)) {
42 $link =
"mailto:" . $link;
43 } elseif (!(preg_match(
'~(^(news|(ht|f)tp(s?)\://){1}\S+)~i', $link))) {
47 $html =
"<a rel='noopener' target='_blank' href='" . htmlspecialchars($link, ENT_QUOTES) .
"'>" . htmlspecialchars($link_value, ENT_QUOTES) .
"</a>";
49 $this->ctrl->clearParametersByClass(
"ilDclDetailedViewGUI");
50 $this->ctrl->setParameterByClass(
'ilDclDetailedViewGUI',
'record_id', $this->
getRecordField()->
getRecord()->getId());
51 $this->ctrl->setParameterByClass(
'ilDclDetailedViewGUI',
'tableview_id',
$_GET[
'tableview_id']);
52 $html =
'<a href="' . $this->ctrl->getLinkTargetByClass(
"ilDclDetailedViewGUI",
'renderRecord') .
'">' . $value .
'</a>';
54 $html = (is_array($value) && isset($value[
'link'])) ? $value[
'link'] : $value;
71 if (strlen($value) > self::LINK_MAX_LENGTH) {
72 if (substr($value, 0, 7) ==
"http://") {
73 $value = substr($value, 7);
75 if (substr($value, 0, 8) ==
"https://") {
76 $value = substr($value, 8);
78 if (substr($value, 0, 4) ==
"www.") {
79 $value = substr($value, 4);
84 if (strlen($value) > self::LINK_MAX_LENGTH) {
85 $link = substr($value, 0, (self::LINK_MAX_LENGTH - 3) / 2);
87 $link .= substr($value, -(self::LINK_MAX_LENGTH - 3) / 2);
99 $input_field =
$form->getItemByPostVar(
'field_' . $this->
getField()->getId());
102 $value = is_array($raw_input) ? $raw_input[
'link'] : $raw_input;
103 $field_values = array();
105 $field_values[
"field_" . $this->
getRecordField()->getField()->getId() .
"_title"] = (isset($raw_input[
'title'])) ? $raw_input[
'title'] :
'';
109 $breaks = array(
"<br />");
110 $value = str_ireplace($breaks,
"", $value);
113 $field_values[
"field_" . $this->
getRecordField()->getField()->getId()] = $value;
114 $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.
if(isset($_POST['submit'])) $form
Class ilDclTextFieldRepresentation.
Class ilDclBaseRecordRepresentation.
shortenLink($value)
This method shortens a link.
getRecordField()
Get Record Field.
getHTML($link=true)
Outputs html of a certain field.