18 declare(strict_types=1);
    30             = 
"INNER JOIN il_dcl_record_field AS filter_record_field_{$this->getId()} ON (filter_record_field_{$this->getId()}.record_id = record.id AND filter_record_field_{$this->getId()}.field_id = "    31             . $this->db->quote($this->
getId(), 
'integer') . 
") ";
    32         $join_str .= 
"INNER JOIN il_dcl_stloc{$this->getStorageLocation()}_value AS filter_stloc_{$this->getId()} ON (filter_stloc_{$this->getId()}.record_field_id = filter_record_field_{$this->getId()}.id AND filter_stloc_{$this->getId()}.value LIKE "    33             . $this->db->quote(
"%$filter_value%", 
'text') . 
") ";
    36         $sql_obj->setJoinStatement($join_str);
    49                 'title' => $form->
getInput(
"field_" . $this->
getId() . 
"_title"),
    59         if (isset($value[
'link'])) {
    60             $value = $value[
'link'];
    61             $link = (substr($value, 0, 3) === 
'www') ? 
'https://' . $value : $value;
    62             if (!filter_var($link, FILTER_VALIDATE_URL) && !filter_var($link, FILTER_VALIDATE_EMAIL) && $link != 
'') {
    67         return parent::checkValidity($value, $record_id);
    70     protected function areEqual($value_1, $value_2): bool
    72         return parent::areEqual($value_1[
'link'] ?? $value_1, $value_2[
'link'] ?? $value_2);
    96             if (substr($regex, 0, 1) != 
"/") {
    97                 $regex = 
"/" . $regex;
    99             if (substr($regex, -1) != 
"/") {
   104                 $preg_match = preg_match($regex, $value);
   109             if ($preg_match === 
false) {
   115     public function strlen(
string $value, 
string $encoding = 
'UTF-8'): 
int   118             case function_exists(
'mb_strlen'):
   119                 return mb_strlen($value, $encoding);
   120             case function_exists(
'iconv_strlen'):
   121                 return iconv_strlen($value, $encoding);
   129         parent::fillHeaderExcel($worksheet, $row, $col);
   138         foreach ($titles as $k => 
$title) {
   139             if (!mb_detect_encoding(
$title, 
"UTF-8", 
true) == 
"UTF-8") {
   140                 $title = mb_convert_encoding(
$title, 
'UTF-8', 
'ISO-8859-1');
   143                 $import_fields[$k] = $this;
   145                     unset($titles[$k + 1]);
 
getValidFieldProperties()
 
hasProperty(string $key)
Checks if a certain property for a field is set. 
 
fillHeaderExcel(ilExcel $worksheet, int &$row, int &$col)
 
checkTitlesForImport(array &$titles, array &$import_fields)
 
checkRegexAndLength(string $value)
 
getRecordQueryFilterObject( $filter_value="", ?ilDclBaseFieldModel $sort_field=null)
 
checkValidity($value, ?int $record_id=null)
 
const PROP_LINK_DETAIL_PAGE_TEXT
 
setCell(int $a_row, int $col, $value, ?string $datatype=null, bool $disable_strip_tags_for_strings=false)
Set cell value. 
 
strlen(string $value, string $encoding='UTF-8')
 
const PROP_LENGTH
General properties. 
 
checkValidityFromForm(ilPropertyFormGUI &$form, ?int $record_id=null)
 
areEqual($value_1, $value_2)