44 public static function getImageTagByType(
string $a_type,
string $a_path,
bool $a_big =
false): string
48 $lng = $DIC->language();
56 return "<img src=\"" .
$filename .
"\" alt=\"" .
$lng->txt(
"obj_" . $a_type) .
"\" title=\"" .
$lng->txt(
58 ) .
"\" border=\"0\" vspace=\"0\"/>";
69 string $module_path =
"",
70 string $mode =
"output",
74 return "./images/" . $image_name;
78 $styleDefinition = $DIC[
"styleDefinition"] ?? null;
80 if ($module_path !=
"") {
81 throw new \LogicException(
82 "\$module_path only supports '' as value." 88 if ($use_custom_skin) {
101 return "./assets/images/" . $image_name;
112 if (substr($relative_path, 0, 2) ==
'./') {
113 $relative_path = (substr($relative_path, 1));
115 if (substr($relative_path, 0, 1) !=
'/') {
116 $relative_path =
'/' . $relative_path;
118 $htmlpath = ILIAS_HTTP_PATH . $relative_path;
133 string $mode =
"output",
134 string $a_css_name =
"" 136 $force_reload = ($mode !==
"filesystem");
137 $use_default_style_file = ($a_css_name ===
"");
142 if ($use_default_style_file) {
145 $stylesheet_name = $a_css_name;
148 if ($use_custom_skin) {
150 "./Customizing/skin/" 155 $filename =
"./assets/css/" . $stylesheet_name;
158 if (!$force_reload) {
166 $skin_version = $skin->getVersion();
167 if ($skin_version !==
"") {
168 $skin_version_appendix = str_replace(
".",
"-", $skin_version);
170 $skin_version_appendix =
'0';
173 return $filename .
"?skin_version=" . $skin_version_appendix;
193 if (is_file(
"./" . $in_style)) {
196 return "assets/css/delos_cont.css";
206 public static function switchColor(
int $a_num,
string $a_css1,
string $a_css2): string
219 public static function makeClickable(
string $a_text,
bool $detectGotoLinks =
false): string
223 $ret = $DIC->refinery()->string()->makeClickable()->transform($a_text);
225 if ($detectGotoLinks) {
226 $goto =
'<a[^>]*href="(' . str_replace(
'@',
'\@', ILIAS_HTTP_PATH) .
'/goto';
227 $regExp = $goto .
'.php\?target=\w+_(\d+)[^"]*)"[^>]*>[^<]*</a>';
228 $ret = preg_replace_callback(
229 '@' . $regExp .
'@i',
230 [self::class,
'replaceLinkProperties'],
235 $regExp = $goto .
'_[^"><]*[a-z0-9]+_([0-9]+)\.html)"[^>]*>[^<]*</a>';
236 $ret = preg_replace_callback(
237 '@' . $regExp .
'@i',
238 [self::class,
'replaceLinkProperties'],
249 $cache = $DIC[
'ilObjDataCache'];
254 $obj_id = $cache->lookupObjId(
$ref_id);
256 $title = $cache->lookupTitle($obj_id);
257 $link =
'<a href="' . $matches[1] .
'" target="_self">' . $title .
'</a>';
277 if ($mailAddressParserFactory === null) {
282 $parser = $mailAddressParserFactory->getParser($a_email);
283 $addresses = $parser->parse();
293 public static function isLogin(
string $a_login): bool
295 if (empty($a_login)) {
299 if (strlen($a_login) < 3) {
306 if (!preg_match(
"/^[A-Za-z0-9_\.\+\*\@!\$\%\~\-]+$/", $a_login)) {
319 public static function img(
321 ?
string $a_alt = null,
328 $img =
'<img src="' . $a_src .
'"';
329 if (!is_null($a_alt)) {
330 $img .=
' alt="' . htmlspecialchars($a_alt) .
'"';
332 if ($a_width !=
"") {
333 $img .=
' width="' . htmlspecialchars($a_width) .
'"';
335 if ($a_height !=
"") {
336 $img .=
' height="' . htmlspecialchars($a_height) .
'"';
338 if ($a_class !=
"") {
339 $img .=
' class="' . $a_class .
'"';
342 $img .=
' id="' . $a_id .
'"';
355 string $mime =
"application/octet-stream" 359 Delivery::DIRECT_PHP_OUTPUT,
363 $delivery->setSendMimeType(
true);
364 $delivery->setDisposition(Delivery::DISP_ATTACHMENT);
365 $delivery->setDownloadFileName($a_filename);
366 $delivery->setConvertFileNameToAsci(
true);
367 $repsonse = $DIC->http()->response()->withBody(Streams::ofString($a_data));
368 $DIC->http()->saveResponse($repsonse);
369 $delivery->deliver();
381 $url = (is_int(strpos($a_url,
"?")))
382 ? $a_url . $amp . $a_par
383 : $a_url .
"?" . $a_par;
391 public static function stripSlashes(
string $a_str,
bool $a_strip_html =
true,
string $a_allow =
""): string
393 if (ini_get(
"magic_quotes_gpc")) {
394 $a_str = stripslashes($a_str);
405 if (ini_get(
"magic_quotes_gpc")) {
406 $a_str = stripslashes($a_str);
415 public static function secureString(
string $a_str,
bool $a_strip_html =
true,
string $a_allow =
""): string
419 $allow_tags = explode(
">", $a_allow);
422 foreach ($allow_tags as $allow) {
424 $allow = str_replace(
"<",
"", $allow);
426 if (!in_array($allow, $sec_tags)) {
427 $only_secure =
false;
429 $allow_array[] = $allow;
434 if (($only_secure || $a_allow ==
"") && $a_strip_html) {
435 if ($a_allow ===
"") {
454 $a_str = strip_tags($a_str);
498 private static function maskSecureTags(
string $a_str, array $allow_array): string
500 foreach ($allow_array as $t) {
513 [
"param" =>
"align",
"value" =>
"left"],
514 [
"param" =>
"align",
"value" =>
"center"],
515 [
"param" =>
"align",
"value" =>
"justify"],
516 [
"param" =>
"align",
"value" =>
"right"]
531 foreach ($allow_array as $t) {
544 [
"param" =>
"align",
"value" =>
"left"],
545 [
"param" =>
"align",
"value" =>
"center"],
546 [
"param" =>
"align",
"value" =>
"justify"],
547 [
"param" =>
"align",
"value" =>
"right"]
565 if (ini_get(
"magic_quotes_gpc")) {
566 return stripslashes($a_str);
590 bool $a_make_links_clickable,
591 bool $a_detect_goto_links =
false 595 if ($a_make_links_clickable) {
612 $numberOfMatches = preg_match_all(
613 '/(?:(?:http|https|ftp|ftps|mailto):|www\.)(?:[a-zA-Z0-9]|[;\/?:|&=+$,]|[\\-_.!~*\'()]|%[0-9a-fA-F]{2}|#|[;?:@&=+$,])+/',
621 foreach ($matches[0] as $match) {
622 $matched_text = $match[0];
626 $encoded .= nl2br(htmlspecialchars(substr($a_str, $pos1, $pos2 - $pos1)));
632 $pos1 = $pos2 + strlen($matched_text);
634 if ($pos1 < strlen($a_str)) {
635 $encoded .= nl2br(htmlspecialchars(substr($a_str, $pos1)));
638 $encoded = nl2br(htmlspecialchars($a_str));
643 private static function maskAttributeTag(
string $a_str,
string $tag,
string $tag_att): string
647 $ilLog = $DIC[
"ilLog"];
650 $att = $ws .
"[^>]*" . $ws;
653 '/<(' . $tag . $att .
'(' . $tag_att . $ws .
'="' . $ws .
'(([$@!*()~;,_0-9A-z\/:=%.&#?+\-])*)")' . $att .
')>/i',
658 $a_str = preg_replace(
659 "/<" . preg_quote($found[1],
"/") .
">/i",
660 '<' . $tag .
' ' . $tag_att . $tag_att .
'="' . $found[3] .
'">',
663 if ($old_str == $a_str) {
665 "ilUtil::maskA-" . htmlentities($old_str) .
" == " .
671 $a_str = str_ireplace(
683 $ilLog = $DIC[
"ilLog"];
686 '/<(' . $tag .
' ' . $tag_att . $tag_att .
'="(([$@!*()~;,_0-9A-z\/:=%.&#?+\-])*)")>/i',
691 $a_str = preg_replace(
692 "/<" . preg_quote($found[1],
"/") .
">/i",
696 if ($old_str == $a_str) {
698 "ilUtil::unmaskA-" . htmlentities($old_str) .
" == " .
704 $a_str = str_replace(
'</' . $tag .
'>',
'</' . $tag .
'>', $a_str);
708 public static function maskTag(
string $a_str,
string $tag, array $fix_param = []): string
710 $a_str = str_replace(
711 [
"<$tag>",
"<" . strtoupper($tag) .
">"],
712 "<" . $tag .
">",
715 $a_str = str_replace(
716 [
"</$tag>",
"</" . strtoupper($tag) .
">"],
717 "</" . $tag .
">",
721 foreach ($fix_param as $p) {
724 $a_str = str_replace(
726 "<" .
"$tag $k=\"$v\"" .
">",
734 private static function unmaskTag(
string $a_str,
string $tag, array $fix_param = []): string
736 $a_str = str_replace(
"<" . $tag .
">",
"<" . $tag .
">", $a_str);
737 $a_str = str_replace(
"</" . $tag .
">",
"</" . $tag .
">", $a_str);
739 foreach ($fix_param as $p) {
742 $a_str = str_replace(
743 "<$tag $k=\"$v\">",
744 "<" .
"$tag $k=\"$v\"" .
">",
756 $a_str = str_ireplace(
"javascript",
"jvscrpt", $a_str);
757 $a_str = str_ireplace([
"%00",
776 public static function stripScriptHTML(
string $a_str,
string $a_allow =
"",
bool $a_rm_js =
true): string
778 $negativestr =
"a,abbr,acronym,address,applet,area,base,basefont," .
779 "big,blockquote,body,br,button,caption,center,cite,code,col," .
780 "colgroup,dd,del,dfn,dir,div,dl,dt,em,fieldset,font,form,frame," .
781 "frameset,h1,h2,h3,h4,h5,h6,head,hr,html,i,iframe,img,input,ins,isindex,kbd," .
782 "label,legend,li,link,map,menu,meta,noframes,noscript,object,ol," .
783 "optgroup,option,p,param,q,s,samp,script,select,small,span," .
784 "strike,strong,style,sub,sup,table,tbody,td,textarea,tfoot,th,thead," .
785 "title,tr,tt,u,ul,var";
786 $a_allow = strtolower($a_allow);
787 $negatives = explode(
",", $negativestr);
789 while ($outer_old_str != $a_str) {
790 $outer_old_str = $a_str;
791 foreach ($negatives as $item) {
792 $pos = strpos($a_allow,
"<$item>");
795 if ($pos ===
false) {
797 while ($old_str != $a_str) {
799 $a_str = preg_replace(
"/<\/?\s*$item(\/?)\s*>/i",
"", $a_str);
800 $a_str = preg_replace(
"/<\/?\s*$item(\/?)\s+([^>]*)>/i",
"", $a_str);
808 $a_str = preg_replace(
"/<\s*\w*(\/?)(\s+[^>]*)?(\s+on[^>]*)>/i",
"", $a_str);
811 $a_str = preg_replace(
"/<\s*\w*(\/?)\s+[^>]*javascript[^>]*>/i",
"", $a_str);
815 $a_str = preg_replace(
"/<\s*\w*(\/?)\s+[^>]*expression[^>]*>/i",
"", $a_str);
827 if (filter_var($url, FILTER_VALIDATE_URL) ===
false &&
828 filter_var(
"http://" . $url, FILTER_VALIDATE_URL) ===
false &&
829 filter_var(
"http:" . $url, FILTER_VALIDATE_URL) ===
false &&
830 filter_var(
"http://de.de" . $url, FILTER_VALIDATE_URL) ===
false &&
831 filter_var(
"http://de.de/" . $url, FILTER_VALIDATE_URL) ===
false) {
834 if (trim(strtolower(parse_url($url, PHP_URL_SCHEME) ??
'')) ===
"javascript") {
838 return htmlspecialchars($url, ENT_QUOTES);
849 while (($spos = strpos($a_parstr,
"=")) && $ok) {
851 $cpar = substr($a_parstr, 0, $spos);
852 $a_parstr = substr($a_parstr, $spos, strlen($a_parstr) - $spos);
853 while (substr($cpar, 0, 1) ==
"," || substr($cpar, 0, 1) ==
" " || substr($cpar, 0, 1) == chr(13) || substr(
858 $cpar = substr($cpar, 1, strlen($cpar) - 1);
860 while (substr($cpar, strlen($cpar) - 1, 1) ==
" " || substr($cpar, strlen($cpar) - 1, 1) == chr(
862 ) || substr($cpar, strlen($cpar) - 1, 1) == chr(10)) {
863 $cpar = substr($cpar, 0, strlen($cpar) - 1);
868 while ($cpar != $cpar_old) {
870 $cpar = preg_replace(
"/[^a-zA-Z0-9_]/i",
"", $cpar);
875 if ($spos = strpos($a_parstr,
"\"")) {
876 $a_parstr = substr($a_parstr, $spos + 1, strlen($a_parstr) - $spos);
877 $spos = strpos($a_parstr,
"\"");
879 $cval = substr($a_parstr, 0, $spos);
881 $a_parstr = substr($a_parstr, $spos + 1, strlen($a_parstr) - $spos - 1);
891 return $ok ? $par : [];
897 public static function yn2tf(
string $a_yn): bool
899 if (strtolower($a_yn) ===
"y") {
909 public static function tf2yn(
bool $a_tf): string
925 if (($a_mime ==
"image/gif") || ($a_mime ==
"image/jpeg") ||
926 ($a_mime ==
"image/png") || ($a_mime ==
"application/x-shockwave-flash") ||
927 ($a_mime ==
"image/tiff") || ($a_mime ==
"image/x-ms-bmp") ||
928 ($a_mime ==
"image/psd") || ($a_mime ==
"image/iff")) {
938 public static function redirect(
string $a_script): void
942 if (!isset($DIC[
'ilCtrl']) || !$DIC[
'ilCtrl'] instanceof
ilCtrl) {
945 $DIC->ctrl()->redirectToURL($a_script);
957 if (substr($a_value, 0, 4) ==
"il__") {
958 $a_value =
"il_" .
IL_INST_ID .
"_" . substr($a_value, 4, strlen($a_value) - 4);
979 $ilDB = $DIC->database();
982 if (isset($DIC[
"ilErr"])) {
986 if (empty($a_group_name)) {
987 $message = __METHOD__ .
": No groupname given!";
991 $clause = ($a_id !== null) ?
" AND obj_id != " .
$ilDB->quote($a_id) .
" " :
"";
993 $q =
"SELECT obj_id FROM object_data " .
994 "WHERE title = " .
$ilDB->quote($a_group_name,
"text") .
" " .
995 "AND type = " .
$ilDB->quote(
"grp",
"text") .
1000 return $r->numRows() > 0;
1008 return (strtolower(substr(php_uname(), 0, 3)) ===
"win");
1016 public static function now(): string
1018 return date(
"Y-m-d H:i:s");
1051 string $a_operation,
1057 $ilDB = $DIC->database();
1058 $rbacreview = $DIC->rbac()->review();
1059 $ilAccess = $DIC->access();
1060 $ilUser = $DIC->user();
1062 $tree = $DIC->repositoryTree();
1064 if (!is_array($a_obj_type)) {
1065 $where =
"WHERE type = " .
$ilDB->quote($a_obj_type,
"text") .
" ";
1067 $where =
"WHERE " .
$ilDB->in(
"type", $a_obj_type,
false,
"text") .
" ";
1079 $a_usr_id = $a_usr_id ?: $ilUser->getId();
1080 $a_roles = $rbacreview->assignedRoles($a_usr_id);
1085 $query =
"SELECT ref_id FROM object_reference obr LEFT JOIN object_data obd ON obr.obj_id = obd.obj_id " .
1086 "LEFT JOIN tree ON obr.ref_id = tree.child " .
1093 while ($row =
$ilDB->fetchObject(
$res)) {
1099 if ($counter++ >= $limit) {
1103 $ref_ids[] = $row->ref_id;
1109 if ($a_operation ==
'edit_permissions' or strpos($a_operation,
'create') !==
false) {
1110 $check_owner =
") ";
1112 $check_owner =
"OR owner = " .
$ilDB->quote($a_usr_id,
"integer") .
") ";
1116 $ops_id = $ops_ids[0];
1118 $and =
"AND ((" .
$ilDB->in(
"rol_id", $a_roles,
false,
"integer") .
" ";
1120 $query =
"SELECT DISTINCT(obr.ref_id),obr.obj_id,type FROM object_reference obr " .
1121 "JOIN object_data obd ON obd.obj_id = obr.obj_id " .
1122 "LEFT JOIN rbac_pa ON obr.ref_id = rbac_pa.ref_id " .
1125 "AND (" .
$ilDB->like(
"ops_id",
"text",
"%i:" . $ops_id .
"%") .
" " .
1126 "OR " .
$ilDB->like(
"ops_id",
"text",
"%:\"" . $ops_id .
"\";%") .
")) " .
1133 if ($counter >= $limit) {
1143 if ($ilAccess->checkAccessOfUser($a_usr_id, $a_operation,
'', $row->ref_id, $row->type, $row->obj_id)) {
1145 $ref_ids[] = $row->ref_id;
1148 return $ref_ids ?: [];
1159 public static function isHTML(
string $a_text): bool
1161 if (strlen(strip_tags($a_text)) < strlen($a_text)) {
1176 $test_str = explode(
'_', $role_title);
1177 $prefix = $test_str[0] ??
'';
1179 if ($prefix ===
'il') {
1180 $ref_id = $test_str[3] ?? null;
1196 $test_str = explode(
'_', $ilias_id);
1198 $parsed_inst_id = (
int) ($test_str[1] ?? 0);
1199 $prefix = $test_str[0] ??
'';
1201 if ($prefix ===
'il' && $parsed_inst_id === $inst_id && count($test_str) === 4) {
1202 return is_numeric($test_str[3]) ? (
int) $test_str[3] : null;
1213 public static function _sortIds(array $a_ids,
string $a_table,
string $a_field,
string $a_id_name): array
1217 $ilDB = $DIC->database();
1224 $where =
"WHERE " . $a_id_name .
" IN (";
1228 $query =
"SELECT " . $a_id_name .
" FROM " . $a_table .
" " .
1230 "ORDER BY " . $a_field;
1235 $ids[] = $row->$a_id_name;
1251 $box_factory = $DIC->ui()->factory()->messageBox();
1254 $box = $box_factory->info($a_txt);
1257 $box = $box_factory->success($a_txt);
1260 $box = $box_factory->confirmation($a_txt);
1263 $box = $box_factory->failure($a_txt);
1269 return $DIC->ui()->renderer()->render($box);
1276 string $a_cookie_name,
1277 string $a_cookie_value =
'',
1278 bool $a_also_set_super_global =
true,
1279 bool $a_set_cookie_invalid =
false 1283 $http = $DIC->http();
1284 $cookie_jar =
$http->cookieJar();
1288 $cookie_expire = null;
1289 if (defined(
'IL_COOKIE_EXPIRE') && is_numeric(IL_COOKIE_EXPIRE) && IL_COOKIE_EXPIRE > 0) {
1290 $cookie_expire = (
int) IL_COOKIE_EXPIRE;
1294 if ($a_set_cookie_invalid) {
1295 $expires = time() - 10;
1296 } elseif ($cookie_expire > 0) {
1297 $expires = time() + $cookie_expire;
1300 $cookie = $cookie_factory->create($a_cookie_name, $a_cookie_value)
1301 ->withExpires($expires)
1302 ->withSecure(defined(
'IL_COOKIE_SECURE') ? IL_COOKIE_SECURE :
false)
1304 ->withDomain(defined(
'IL_COOKIE_DOMAIN') ? IL_COOKIE_DOMAIN :
'')
1305 ->withHttpOnly(defined(
'IL_COOKIE_HTTPONLY') ? IL_COOKIE_HTTPONLY :
false);
1309 defined(
'IL_COOKIE_SECURE') && IL_COOKIE_SECURE &&
1310 (!isset(session_get_cookie_params()[
'samesite']) || strtolower(session_get_cookie_params()[
'samesite']) !==
'strict')
1312 $cookie = $cookie->withSamesite(Cookie::SAMESITE_LAX);
1314 $jar = $cookie_jar->with($cookie);
1328 if ((isset(
$_SERVER[
'SHELL']) &&
$_SERVER[
'SHELL']) || PHP_SAPI ===
'cli' ||
1333 return ILIAS_HTTP_PATH;
1353 $exploded = explode(
'_', $a_import_id);
1355 $parsed[
'orig'] = $a_import_id;
1356 if ($exploded[0] ==
'il') {
1357 $parsed[
'prefix'] = $exploded[0];
1359 if (is_numeric($exploded[1])) {
1360 $parsed[
'inst_id'] = (
int) $exploded[1];
1362 $parsed[
'type'] = $exploded[2];
1364 if (is_numeric($exploded[3])) {
1365 $parsed[
'id'] = (
int) $exploded[3];
1381 int $a_decimals = 0,
1382 string $a_dec_point = null,
1383 string $a_thousands_sep = null,
1384 bool $a_suppress_dot_zero =
false 1388 $lng = $DIC->language();
1390 if ($a_dec_point === null) {
1393 if ($a_dec_point ===
'-lang_sep_decimal-') {
1397 if ($a_thousands_sep === null) {
1398 $a_thousands_sep =
$lng->txt(
'lang_sep_thousand');
1400 if ($a_thousands_sep ===
'-lang_sep_thousand-') {
1401 $a_thousands_sep =
",";
1404 $txt = number_format($a_float, $a_decimals, $a_dec_point, $a_thousands_sep);
1407 if (($a_suppress_dot_zero == 0 || $a_decimals == 0)
1408 && substr(
$txt, -2) == $a_dec_point .
'0' 1412 if ($a_float == 0 and
$txt ==
"") {
1439 $lng = $DIC->language();
1440 if ($a_lng == null) {
1446 if ($size >= $mag * $mag * $mag) {
1447 $scaled_size = $size / $mag / $mag / $mag;
1448 $scaled_unit =
'lang_size_gb';
1450 if ($size >= $mag * $mag) {
1451 $scaled_size = $size / $mag / $mag;
1452 $scaled_unit =
'lang_size_mb';
1454 if ($size >= $mag) {
1455 $scaled_size = $size / $mag;
1456 $scaled_unit =
'lang_size_kb';
1458 $scaled_size = $size;
1459 $scaled_unit =
'lang_size_bytes';
1464 $result = self::fmtFloat(
1467 ==
'lang_size_bytes') ? 0 : 1,
1468 $a_lng->txt(
'lang_sep_decimal'),
1469 $a_lng->txt(
'lang_sep_thousand'),
1472 .
' ' . $a_lng->txt($scaled_unit);
1473 if ($a_mode ==
'long' && $size > $mag) {
1474 $result .=
' (' . self::fmtFloat(
1477 $a_lng->txt(
'lang_sep_decimal'),
1478 $a_lng->txt(
'lang_sep_thousand')
1480 . $a_lng->txt(
'lang_size_bytes') .
')';
setMimeType(string $mime_type)
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
static appendUrlParameterString(string $a_url, string $a_par, bool $xml_style=false)
static getSystemMessageHTML(string $a_txt, string $a_type="info")
Get HTML for a system message.
static quoteArray(array $a_array)
Quotes all members of an array for usage in DB query statement.
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
Class InitCtrlService wraps the initialization of ilCtrl.
static is_email(string $a_email, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
This preg-based function checks whether an e-mail address is formally valid.
static usesHTTP()
Uses HTTP aka browser.
static isHTML(string $a_text)
Checks if a given string contains HTML or not.
static switchColor(int $a_num, string $a_css1, string $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows) ...
static secureString(string $a_str, bool $a_strip_html=true, string $a_allow="")
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
static stripScriptHTML(string $a_str, string $a_allow="", bool $a_rm_js=true)
static getImageTagByType(string $a_type, string $a_path, bool $a_big=false)
Builds an html image tag.
static maskTag(string $a_str, string $tag, array $fix_param=[])
static maskSecureTags(string $a_str, array $allow_array)
static replaceLinkProperties(array $matches)
static _getOperationIdsByName(array $operations)
get ops_id's by name.
static deliverData(string $a_data, string $a_filename, string $mime="application/octet-stream")
static secureLink(string $a_str)
static secureUrl(string $url)
static img(string $a_src, ?string $a_alt=null, $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static now()
Return current timestamp in Y-m-d H:i:s format.
static fmtFloat(float $a_float, int $a_decimals=0, string $a_dec_point=null, string $a_thousands_sep=null, bool $a_suppress_dot_zero=false)
format a float
static getNewContentStyleSheetLocation(string $mode="output")
get full style sheet file name (path inclusive) of current user
static htmlencodePlainString(string $a_str, bool $a_make_links_clickable, bool $a_detect_goto_links=false)
Encodes a plain text string into HTML for display in a browser.
Class ilMailRfc822AddressParserFactory.
static unmaskAttributeTag(string $a_str, string $tag, string $tag_att)
static securePlainString(string $a_str)
static getCurrentSkin()
get the current skin use always this function instead of getting the account's skin the current skin ...
static setCookie(string $a_cookie_name, string $a_cookie_value='', bool $a_also_set_super_global=true, bool $a_set_cookie_invalid=false)
static formatSize(int $size, string $a_mode='short', ?ilLanguage $a_lng=null)
Returns the specified file size value in a human friendly form.
static isLogin(string $a_login)
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static unmaskSecureTags(string $a_str, array $allow_array)
static getHtmlPath(string $relative_path)
get url of path
static _getObjectsByOperations( $a_obj_type, string $a_operation, int $a_usr_id=0, int $limit=0)
Get all objects of a specific type and check access This function is not recursive, instead it parses the serialized rbac_pa entries.
static parseImportId(string $a_import_id)
Parse an ilias import id Typically of type il_[IL_INST_ID]_[OBJ_TYPE]_[OBJ_ID] returns array( 'orig' ...
static _sortIds(array $a_ids, string $a_table, string $a_field, string $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,7),'usr_data','lastname','usr_id') => sorts by lastname.
static redirect(string $a_script)
static maskAttributeTag(string $a_str, string $tag, string $tag_att)
static deducibleSize(string $a_mime)
checks if mime type is provided by getimagesize()
static extractParameterString(string $a_parstr)
static __extractId(string $ilias_id, int $inst_id)
extract ref id from role title, e.g.
static groupNameExists(string $a_group_name, ?int $a_id=null)
checks if group name already exists.
static yn2tf(string $a_yn)
static getCurrentStyle()
get the current style or sub style use always this function instead of getting the account's style th...
static unmaskTag(string $a_str, string $tag, array $fix_param=[])
static insertInstIntoID(string $a_value)
inserts installation id into ILIAS id
static makeClickable(string $a_text, bool $detectGotoLinks=false)
const IL_COOKIE_PATH(isset($_GET['client_id']))
static __extractRefId(string $role_title)
extract ref id from role title, e.g.
static stripOnlySlashes(string $a_str)