ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilUtil Class Reference

Util class various functions, usage as namespace. More...

+ Collaboration diagram for ilUtil:

Static Public Member Functions

static getImageTagByType (string $a_type, string $a_path, bool $a_big=false)
 Builds an html image tag. More...
 
static getImagePath (string $image_name, string $module_path="", string $mode="output", bool $offline=false)
 get image path (for images located in a template directory) More...
 
static getHtmlPath (string $relative_path)
 get url of path More...
 
static getStyleSheetLocation (string $mode="output", string $a_css_name="")
 get full style sheet file name (path inclusive) of current user More...
 
static getNewContentStyleSheetLocation (string $mode="output")
 get full style sheet file name (path inclusive) of current user More...
 
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) More...
 
static makeClickable (string $a_text, bool $detectGotoLinks=false)
 
static is_email (string $a_email, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
 This preg-based function checks whether an e-mail address is formally valid. More...
 
static isLogin (string $a_login)
 
static img (string $a_src, ?string $a_alt=null, $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
 Build img tag. More...
 
static deliverData (string $a_data, string $a_filename, string $mime="application/octet-stream")
 
static appendUrlParameterString (string $a_url, string $a_par, bool $xml_style=false)
 
static stripSlashes (string $a_str, bool $a_strip_html=true, string $a_allow="")
 
static stripOnlySlashes (string $a_str)
 
static secureString (string $a_str, bool $a_strip_html=true, string $a_allow="")
 
static getSecureTags ()
 
static securePlainString (string $a_str)
 
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. More...
 
static maskTag (string $a_str, string $tag, array $fix_param=[])
 
static secureLink (string $a_str)
 
static stripScriptHTML (string $a_str, string $a_allow="", bool $a_rm_js=true)
 
static secureUrl (string $url)
 
static extractParameterString (string $a_parstr)
 
static yn2tf (string $a_yn)
 
static tf2yn (bool $a_tf)
 
static deducibleSize (string $a_mime)
 checks if mime type is provided by getimagesize() More...
 
static redirect (string $a_script)
 
static insertInstIntoID (string $a_value)
 inserts installation id into ILIAS id More...
 
static groupNameExists (string $a_group_name, ?int $a_id=null)
 checks if group name already exists. More...
 
static isWindows ()
 
static now ()
 Return current timestamp in Y-m-d H:i:s format. More...
 
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. More...
 
static isHTML (string $a_text)
 Checks if a given string contains HTML or not. More...
 
static __extractRefId (string $role_title)
 extract ref id from role title, e.g. More...
 
static __extractId (string $ilias_id, int $inst_id)
 extract ref id from role title, e.g. More...
 
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. More...
 
static getSystemMessageHTML (string $a_txt, string $a_type="info")
 Get HTML for a system message. More...
 
static setCookie (string $a_cookie_name, string $a_cookie_value='', bool $a_also_set_super_global=true, bool $a_set_cookie_invalid=false)
 
static _getHttpPath ()
 
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' => 'il_4800_rolt_123' 'prefix' => 'il' 'inst_id => '4800' 'type' => 'rolt' 'id' => '123'. More...
 
static formatSize (int $size, string $a_mode='short', ?ilLanguage $a_lng=null)
 Returns the specified file size value in a human friendly form. More...
 

Static Protected Member Functions

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 More...
 

Static Private Member Functions

static replaceLinkProperties (array $matches)
 
static maskSecureTags (string $a_str, array $allow_array)
 
static unmaskSecureTags (string $a_str, array $allow_array)
 
static maskAttributeTag (string $a_str, string $tag, string $tag_att)
 
static unmaskAttributeTag (string $a_str, string $tag, string $tag_att)
 
static unmaskTag (string $a_str, string $tag, array $fix_param=[])
 

Detailed Description

Util class various functions, usage as namespace.

Author
Sascha Hofmann sasch.nosp@m.ahof.nosp@m.mann@.nosp@m.gmx..nosp@m.de
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Deprecated:
The 2021 Technical Board has decided to mark the ilUtil class as deprecated. The ilUtil is a historically grown helper class with many different UseCases and functions. The class is not under direct maintainership and the responsibilities are unclear. In this context, the class should no longer be used in the code and existing uses should be converted to their own service in the medium term. If you need ilUtil for the implementation of a new function in ILIAS > 7, please contact the Technical Board.

Definition at line 37 of file class.ilUtil.php.

Member Function Documentation

◆ __extractId()

static ilUtil::__extractId ( string  $ilias_id,
int  $inst_id 
)
static

extract ref id from role title, e.g.

893 from 'il_122_role_893'

Parameters
string$ilias_idwith format like il_<instid>_<objTyp>_ID
int$inst_idInstallation ID must match inst id in param ilias_id
Deprecated:

Definition at line 1194 of file class.ilUtil.php.

References ILIAS\Repository\int().

Referenced by ilObjUser\_getUserData(), ilUserImportParser\extractRolesBeginTag(), ilObjectXMLParser\handlerBeginTag(), ilExerciseXMLParser\handlerBeginTag(), ilFileXMLParser\handlerBeginTag(), ilUserImportParser\importBeginTag(), ilSoapUserAdministration\importUsers(), ilSoapRBACAdministration\parseUserID(), ilGroupXMLParser\save(), and ilUserImportParser\verifyBeginTag().

1194  : ?int
1195  {
1196  $test_str = explode('_', $ilias_id);
1197 
1198  $parsed_inst_id = (int) ($test_str[1] ?? 0);
1199  $prefix = $test_str[0] ?? '';
1200 
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;
1203  }
1204  return null;
1205  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __extractRefId()

static ilUtil::__extractRefId ( string  $role_title)
static

extract ref id from role title, e.g.

893 from 'il_crs_member_893'

Parameters
string$role_titlewith format like il_crs_member_893
Deprecated:

Definition at line 1174 of file class.ilUtil.php.

References $ref_id, and ILIAS\Repository\int().

Referenced by ilSoapCourseAdministration\getCoursesForUser(), ilSoapGroupAdministration\getGroupsForUser(), and ilSoapRoleObjectXMLWriter\start().

1174  : ?int
1175  {
1176  $test_str = explode('_', $role_title);
1177  $prefix = $test_str[0] ?? '';
1178 
1179  if ($prefix === 'il') {
1180  $ref_id = $test_str[3] ?? null;
1181  return is_numeric($ref_id) ? (int) $ref_id : null;
1182  }
1183  return null;
1184  }
$ref_id
Definition: ltiauth.php:66
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getHttpPath()

static ilUtil::_getHttpPath ( )
static
Deprecated:

Definition at line 1322 of file class.ilUtil.php.

References $_SERVER, $DIC, $ilIliasIniFile, and ilContext\usesHTTP().

Referenced by ilSamlIdpTableGUI\__construct(), ILIAS\Mail\Attachments\MailAttachmentTableGUI\__construct(), ilSessionReminderCheck\__construct(), ilMail\_getAutoGeneratedMessageString(), ILIAS\Mail\Placeholder\MailSignatureIliasUrlPlaceholder\addPlaceholder(), ilAuthProviderCAS\doAuthentication(), ilErrorHandling\errorHandler(), ilPasswordAssistanceGUI\getBaseUrl(), ilMailEnvironmentHelper\getHttpPath(), ilTestPlayerAbstractGUI\getNavigationUrlParameter(), ilForumMailNotification\getPermanentLink(), ilForumMailEventNotificationSender\getPermanentLink(), ilChatroomAdminViewGUI\getReadmePath(), ilMailFormCall\getRefererRedirectUrl(), ilSoapClient\init(), ilCronManagerImpl\runActiveJobs(), ilMailSummaryNotification\send(), ilCronDeleteInactiveUserReminderMail\sendReminder(), ilMailFolderGUI\showFolder(), and ilStartUpGUI\showLogout().

1322  : string
1323  {
1324  global $DIC;
1325 
1326  $ilIliasIniFile = $DIC["ilIliasIniFile"];
1327 
1328  if ((isset($_SERVER['SHELL']) && $_SERVER['SHELL']) || PHP_SAPI === 'cli' ||
1329  // fallback for windows systems, useful in crons
1330  (class_exists("ilContext") && !ilContext::usesHTTP())) {
1331  return $ilIliasIniFile->readVariable('server', 'http_path');
1332  } else {
1333  return ILIAS_HTTP_PATH;
1334  }
1335  }
static usesHTTP()
Uses HTTP aka browser.
$ilIliasIniFile
Definition: server.php:35
$_SERVER['HTTP_HOST']
Definition: raiseError.php:10
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getObjectsByOperations()

static ilUtil::_getObjectsByOperations (   $a_obj_type,
string  $a_operation,
int  $a_usr_id = 0,
int  $limit = 0 
)
static

Get all objects of a specific type and check access This function is not recursive, instead it parses the serialized rbac_pa entries.

Get all objects of a specific type where access is granted for the given operation. This function does a checkAccess call for all objects in the object hierarchy and return only the objects of the given type. Please note if access is not granted to any object in the hierarchy the function skips all objects under it. Example: You want a list of all Courses that are visible and readable for the user. The function call would be: $your_list = IlUtil::getObjectsByOperation ("crs", "visible"); Lets say there is a course A where the user would have access to according to his role assignments. Course A lies within a group object which is not readable for the user. Therefore course A won't appear in the result list although the queried operations 'read' would actually permit the user to access course A.

public

Parameters
string/arrayobject type 'lm' or array('lm','sahs')
stringpermission to check e.g. 'visible' or 'read'
intid of user in question
intlimit of results. if not given it defaults to search max hits.If limit is -1 limit is unlimited
Returns
array of ref_ids

Definition at line 1049 of file class.ilUtil.php.

References $DIC, $ilDB, $ilSetting, $res, ilRbacReview\_getOperationIdsByName(), ilDBConstants\FETCHMODE_OBJECT, ILIAS\Repository\int(), RECOVERY_FOLDER_ID, and SYSTEM_ROLE_ID.

Referenced by ilGroupActionTargetExplorerGUI\__construct(), ilObjSurveyQuestionPool\_getAvailableQuestionpools(), ilObjQuestionPool\_getAvailableQuestionpools(), ilObjTest\_getAvailableTests(), ilECSSettingsGUI\exportImported(), ilGroupUserActionProvider\getCommandAccess(), ilCourseGroupingAssignmentTableGUI\getItems(), ilObjSurvey\getQuestionblocksTable(), and ilECSSettingsGUI\imported().

1054  : array {
1055  global $DIC;
1056 
1057  $ilDB = $DIC->database();
1058  $rbacreview = $DIC->rbac()->review();
1059  $ilAccess = $DIC->access();
1060  $ilUser = $DIC->user();
1061  $ilSetting = $DIC->settings();
1062  $tree = $DIC->repositoryTree();
1063 
1064  if (!is_array($a_obj_type)) {
1065  $where = "WHERE type = " . $ilDB->quote($a_obj_type, "text") . " ";
1066  } else {
1067  $where = "WHERE " . $ilDB->in("type", $a_obj_type, false, "text") . " ";
1068  }
1069 
1070  // limit number of results default is search result limit
1071  if (!$limit) {
1072  $limit = (int) $ilSetting->get('search_max_hits', "100");
1073  }
1074  if ($limit == -1) {
1075  $limit = 10000;
1076  }
1077 
1078  // default to logged in usr
1079  $a_usr_id = $a_usr_id ?: $ilUser->getId();
1080  $a_roles = $rbacreview->assignedRoles($a_usr_id);
1081 
1082  // Since no rbac_pa entries are available for the system role. This function returns !all! ref_ids in the case the user
1083  // is assigned to the system role
1084  if ($rbacreview->isAssigned($a_usr_id, SYSTEM_ROLE_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 " .
1087  $where .
1088  "AND tree = 1";
1089 
1090  $res = $ilDB->query($query);
1091  $counter = 0;
1092  $ref_ids = [];
1093  while ($row = $ilDB->fetchObject($res)) {
1094  // Filter recovery folder
1095  if ($tree->isGrandChild(RECOVERY_FOLDER_ID, $row->ref_id)) {
1096  continue;
1097  }
1098 
1099  if ($counter++ >= $limit) {
1100  break;
1101  }
1102 
1103  $ref_ids[] = $row->ref_id;
1104  }
1105  return $ref_ids;
1106  } // End Administrators
1107 
1108  // Check ownership if it is not asked for edit_permission or a create permission
1109  if ($a_operation == 'edit_permissions' or strpos($a_operation, 'create') !== false) {
1110  $check_owner = ") ";
1111  } else {
1112  $check_owner = "OR owner = " . $ilDB->quote($a_usr_id, "integer") . ") ";
1113  }
1114 
1115  $ops_ids = ilRbacReview::_getOperationIdsByName([$a_operation]);
1116  $ops_id = $ops_ids[0];
1117 
1118  $and = "AND ((" . $ilDB->in("rol_id", $a_roles, false, "integer") . " ";
1119 
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 " .
1123  $where .
1124  $and .
1125  "AND (" . $ilDB->like("ops_id", "text", "%i:" . $ops_id . "%") . " " .
1126  "OR " . $ilDB->like("ops_id", "text", "%:\"" . $ops_id . "\";%") . ")) " .
1127  $check_owner;
1128 
1129  $res = $ilDB->query($query);
1130  $counter = 0;
1131  $ref_ids = [];
1132  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1133  if ($counter >= $limit) {
1134  break;
1135  }
1136 
1137  // Filter objects in recovery folder
1138  if ($tree->isGrandChild(RECOVERY_FOLDER_ID, $row->ref_id)) {
1139  continue;
1140  }
1141 
1142  // Check deleted, hierarchical access ...
1143  if ($ilAccess->checkAccessOfUser($a_usr_id, $a_operation, '', $row->ref_id, $row->type, $row->obj_id)) {
1144  $counter++;
1145  $ref_ids[] = $row->ref_id;
1146  }
1147  }
1148  return $ref_ids ?: [];
1149  }
$res
Definition: ltiservices.php:69
const SYSTEM_ROLE_ID
Definition: constants.php:29
static _getOperationIdsByName(array $operations)
get ops_id&#39;s by name.
global $DIC
Definition: shib_login.php:25
global $ilSetting
Definition: privfeed.php:32
const RECOVERY_FOLDER_ID
Definition: constants.php:37
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _sortIds()

static ilUtil::_sortIds ( array  $a_ids,
string  $a_table,
string  $a_field,
string  $a_id_name 
)
static

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.

Deprecated:

Definition at line 1213 of file class.ilUtil.php.

References $DIC, $ilDB, $res, ilDBConstants\FETCHMODE_OBJECT, and ilArrayUtil\quoteArray().

Referenced by ilObjRoleGUI\adoptPermObject(), ilMailSearchObjectGUI\cancel(), ilAppointmentPresentationCourseGUI\collectPropertiesAndActions(), ilObjSessionGUI\eventsListObject(), ilMemberExport\fetchUsers(), ilAttendanceList\getHTML(), ilCourseGroupingAssignmentTableGUI\getItems(), ilPermissionGUI\initRoleForm(), ilConsultationHoursTableGUI\parse(), ilLDAPSettingsGUI\prepareGlobalRoleSelection(), ilAuthShibbolethSettingsGUI\prepareRoleSelect(), ilECSSettingsGUI\prepareRoleSelect(), ilCASSettingsGUI\prepareRoleSelection(), ilOpenIdConnectSettingsGUI\prepareRoleSelection(), ilSamlSettingsGUI\prepareRoleSelection(), and ILIAS\Calendar\ConsultationHours\BookingDataProvider\read().

1213  : array
1214  {
1215  global $DIC;
1216 
1217  $ilDB = $DIC->database();
1218 
1219  if (!$a_ids) {
1220  return [];
1221  }
1222 
1223  // use database to sort user array
1224  $where = "WHERE " . $a_id_name . " IN (";
1225  $where .= implode(",", ilArrayUtil::quoteArray($a_ids));
1226  $where .= ") ";
1227 
1228  $query = "SELECT " . $a_id_name . " FROM " . $a_table . " " .
1229  $where .
1230  "ORDER BY " . $a_field;
1231 
1232  $res = $ilDB->query($query);
1233  $ids = [];
1234  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1235  $ids[] = $row->$a_id_name;
1236  }
1237  return $ids;
1238  }
$res
Definition: ltiservices.php:69
static quoteArray(array $a_array)
Quotes all members of an array for usage in DB query statement.
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ appendUrlParameterString()

static ilUtil::appendUrlParameterString ( string  $a_url,
string  $a_par,
bool  $xml_style = false 
)
static
Deprecated:

Definition at line 375 of file class.ilUtil.php.

References $url.

Referenced by ilCmiXapiStatementsDeleteRequest\_lookUpDataCount(), ilObjectListGUI\appendRepositoryFrameParameter(), ilXapiCompliantStatementsReportLinkBuilder\appendRequestParameters(), ilCmiXapiAbstractReportLinkBuilder\appendRequestParameters(), assImagemapQuestionGUI\buildAreaLinkTarget(), ilCmiXapiLaunchGUI\buildLaunchLink(), ilPasswordAssistanceGUI\buildUrl(), ilAssQuestionHintRequestGUI\confirmRequestCmd(), ilStartUpGUI\doApacheAuthentication(), ilRTEGlobalTemplate\fillJavascriptFile(), ilGlobalTemplate\fillJavascriptFile(), ilDataCollectionGlobalTemplate\fillJavascriptFile(), ilAssQuestionHintsTableGUI\fillRow(), ilCmiXapiStatementsDeleteRequest\getBatchUrl(), ilObjQuestionPoolListGUI\getCommandLink(), ilObjTestListGUI\getCommandLink(), ilCmiXapiStatementsDeleteRequest\getDeleteStateUrls(), ILIAS\LearningModule\Menu\ilLMMenuGUI\getEntries(), ilIntLinkRepItemExplorerGUI\getNodeHref(), assImagemapQuestionGUI\getPreviousSolutionConfirmationCheckboxHtml(), ilAuthFrontendCredentialsApache\getTargetUrl(), ILIAS\StaticURL\Handler\LegacyGotoHandler\handle(), ilInitialisation\redirect(), ilInternalLinkGUI\renderLink(), ilPCQuestionGUI\setTabs(), and ilAuthFrontendCredentialsSoap\tryAuthenticationOnLoginPage().

375  : string
376  {
377  $amp = $xml_style
378  ? "&amp;"
379  : "&";
380 
381  $url = (is_int(strpos($a_url, "?")))
382  ? $a_url . $amp . $a_par
383  : $a_url . "?" . $a_par;
384 
385  return $url;
386  }
$url
Definition: shib_logout.php:63
+ Here is the caller graph for this function:

◆ deducibleSize()

static ilUtil::deducibleSize ( string  $a_mime)
static

checks if mime type is provided by getimagesize()

Deprecated:

Definition at line 923 of file class.ilUtil.php.

Referenced by ilObjMediaObject\_determineWidthHeight(), and ilMediaItem\getOriginalSize().

923  : bool
924  {
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")) {
929  return true;
930  } else {
931  return false;
932  }
933  }
+ Here is the caller graph for this function:

◆ deliverData()

static ilUtil::deliverData ( string  $a_data,
string  $a_filename,
string  $mime = "application/octet-stream" 
)
static
Deprecated:
use ilFileDelivery

Definition at line 352 of file class.ilUtil.php.

References $DIC, and ILIAS\FileDelivery\Delivery\setMimeType().

Referenced by ilCertificateUtilHelper\deliverData(), ilMemberExportGUI\deliverData(), ilObjTest\deliverPDFfromFO(), ilPublicUserProfileGUI\deliverVCard(), ilObjLanguageFolderGUI\downloadDeprecatedObject(), ilPRGMembersExportGUI\downloadExportFile(), ilMemberExportGUI\downloadExportFile(), ilObjLanguageExtGUI\downloadObject(), ilSurveyParticipantsGUI\exportAllCodesObject(), ilRegistrationSettingsGUI\exportCodes(), ilSurveyParticipantsGUI\exportCodesObject(), ilSessionOverviewGUI\exportCSV(), ilSurveyEvaluationGUI\exportCumulatedResults(), ilSurveyEvaluationGUI\exportEvaluationUser(), ilObjLinkResourceGUI\exportHTML(), ilObjTestFolderGUI\exportLegacyLogsObject(), ilObjTestGUI\exportLegacyLogsObject(), ilDidacticTemplateSettingsGUI\exportTemplate(), ilCalendarRemoteAccessHandler\handleRequest(), ilForumExportGUI\printPost(), ilObjSCORMLearningModule\sendExportFile(), and ilChatroomHistoryGUI\showMessages().

356  : void {
357  global $DIC;
358  $delivery = new Delivery(
359  Delivery::DIRECT_PHP_OUTPUT,
360  $DIC->http()
361  );
362  $delivery->setMimeType($mime);
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();
370  }
setMimeType(string $mime_type)
Definition: Delivery.php:274
global $DIC
Definition: shib_login.php:25
Class Delivery.
Definition: Delivery.php:38
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ extractParameterString()

static ilUtil::extractParameterString ( string  $a_parstr)
static
Deprecated:

Definition at line 844 of file class.ilUtil.php.

Referenced by ilPCMediaObjectGUI\saveAliasProperties(), and ilMediaItem\setParameters().

844  : array
845  {
846  // parse parameters in array
847  $par = [];
848  $ok = true;
849  while (($spos = strpos($a_parstr, "=")) && $ok) {
850  // extract parameter
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(
854  $cpar,
855  0,
856  1
857  ) == chr(10)) {
858  $cpar = substr($cpar, 1, strlen($cpar) - 1);
859  }
860  while (substr($cpar, strlen($cpar) - 1, 1) == " " || substr($cpar, strlen($cpar) - 1, 1) == chr(
861  13
862  ) || substr($cpar, strlen($cpar) - 1, 1) == chr(10)) {
863  $cpar = substr($cpar, 0, strlen($cpar) - 1);
864  }
865 
866  // parameter name should only
867  $cpar_old = "";
868  while ($cpar != $cpar_old) {
869  $cpar_old = $cpar;
870  $cpar = preg_replace("/[^a-zA-Z0-9_]/i", "", $cpar);
871  }
872 
873  // extract value
874  if ($cpar != "") {
875  if ($spos = strpos($a_parstr, "\"")) {
876  $a_parstr = substr($a_parstr, $spos + 1, strlen($a_parstr) - $spos);
877  $spos = strpos($a_parstr, "\"");
878  if (is_int($spos)) {
879  $cval = substr($a_parstr, 0, $spos);
880  $par[$cpar] = $cval;
881  $a_parstr = substr($a_parstr, $spos + 1, strlen($a_parstr) - $spos - 1);
882  } else {
883  $ok = false;
884  }
885  } else {
886  $ok = false;
887  }
888  }
889  }
890 
891  return $ok ? $par : [];
892  }
+ Here is the caller graph for this function:

◆ fmtFloat()

static ilUtil::fmtFloat ( float  $a_float,
int  $a_decimals = 0,
string  $a_dec_point = null,
string  $a_thousands_sep = null,
bool  $a_suppress_dot_zero = false 
)
staticprotected

format a float

this functions takes php's number_format function and formats the given value with appropriate thousand and decimal separator.

Deprecated:

Definition at line 1379 of file class.ilUtil.php.

References $DIC, $lng, and $txt.

1385  : string {
1386  global $DIC;
1387 
1388  $lng = $DIC->language();
1389 
1390  if ($a_dec_point === null) {
1391  $a_dec_point = ".";
1392  }
1393  if ($a_dec_point === '-lang_sep_decimal-') {
1394  $a_dec_point = ".";
1395  }
1396 
1397  if ($a_thousands_sep === null) {
1398  $a_thousands_sep = $lng->txt('lang_sep_thousand');
1399  }
1400  if ($a_thousands_sep === '-lang_sep_thousand-') {
1401  $a_thousands_sep = ",";
1402  }
1403 
1404  $txt = number_format($a_float, $a_decimals, $a_dec_point, $a_thousands_sep);
1405 
1406  // remove trailing ".0"
1407  if (($a_suppress_dot_zero == 0 || $a_decimals == 0)
1408  && substr($txt, -2) == $a_dec_point . '0'
1409  ) {
1410  $txt = substr($txt, 0, strlen($txt) - 2);
1411  }
1412  if ($a_float == 0 and $txt == "") {
1413  $txt = "0";
1414  }
1415 
1416  return $txt;
1417  }
global $DIC
Definition: shib_login.php:25
$txt
Definition: error.php:30
global $lng
Definition: privfeed.php:32

◆ formatSize()

static ilUtil::formatSize ( int  $size,
string  $a_mode = 'short',
?ilLanguage  $a_lng = null 
)
static

Returns the specified file size value in a human friendly form.

By default, the oder of magnitude 1024 is used. Thus the value returned by this function is the same value that Windows and Mac OS X return for a file. The value is a GibiBig, MebiBit, KibiBit or byte unit.

For more information about these units see: http://en.wikipedia.org/wiki/Megabyte

Parameters
integersize in bytes
stringmode: "short" is useful for display in the repository "long" is useful for display on the info page of an object
ilLanguageThe language object, or null if you want to use the system language.

Definition at line 1435 of file class.ilUtil.php.

References $DIC, and $lng.

Referenced by ilMemberExportFileTableGUI\fillRow(), ilExportTableGUI\fillRow(), ilFileSystemTableGUI\fillRow(), ILIAS\Mail\Attachments\MailAttachmentTableGUI\getRows(), ilMailAttachmentGUI\saveAttachments(), and ilMailFormGUI\showForm().

1435  : string
1436  {
1437  global $DIC;
1438 
1439  $lng = $DIC->language();
1440  if ($a_lng == null) {
1441  $a_lng = $lng;
1442  }
1443 
1444  $mag = 1024;
1445 
1446  if ($size >= $mag * $mag * $mag) {
1447  $scaled_size = $size / $mag / $mag / $mag;
1448  $scaled_unit = 'lang_size_gb';
1449  } else {
1450  if ($size >= $mag * $mag) {
1451  $scaled_size = $size / $mag / $mag;
1452  $scaled_unit = 'lang_size_mb';
1453  } else {
1454  if ($size >= $mag) {
1455  $scaled_size = $size / $mag;
1456  $scaled_unit = 'lang_size_kb';
1457  } else {
1458  $scaled_size = $size;
1459  $scaled_unit = 'lang_size_bytes';
1460  }
1461  }
1462  }
1463 
1464  $result = self::fmtFloat(
1465  $scaled_size,
1466  ($scaled_unit
1467  == 'lang_size_bytes') ? 0 : 1,
1468  $a_lng->txt('lang_sep_decimal'),
1469  $a_lng->txt('lang_sep_thousand'),
1470  true
1471  )
1472  . ' ' . $a_lng->txt($scaled_unit);
1473  if ($a_mode == 'long' && $size > $mag) {
1474  $result .= ' (' . self::fmtFloat(
1475  $size,
1476  0,
1477  $a_lng->txt('lang_sep_decimal'),
1478  $a_lng->txt('lang_sep_thousand')
1479  ) . ' '
1480  . $a_lng->txt('lang_size_bytes') . ')';
1481  }
1482 
1483  return $result;
1484  }
global $DIC
Definition: shib_login.php:25
global $lng
Definition: privfeed.php:32
+ Here is the caller graph for this function:

◆ getHtmlPath()

static ilUtil::getHtmlPath ( string  $relative_path)
static

get url of path

Parameters
$relative_pathstring: complete path to file, relative to web root (e.g. /public/data/pfplms103/mobs/mm_732/athena_standing.jpg)
Deprecated:

Definition at line 110 of file class.ilUtil.php.

Referenced by ilObjMediaObject\_getURL(), SurveyTextQuestionGUI\getPrintView(), SurveySingleChoiceQuestionGUI\getPrintView(), SurveyMultipleChoiceQuestionGUI\getPrintView(), SurveyMatrixQuestionGUI\getPrintView(), assSingleChoiceGUI\renderSolutionOutput(), assMultipleChoiceGUI\renderSolutionOutput(), assKprimChoiceGUI\renderSolutionOutput(), and ilAuthFrontendCredentialsApache\tryAuthenticationOnLoginPage().

110  : string
111  {
112  if (substr($relative_path, 0, 2) == './') {
113  $relative_path = (substr($relative_path, 1));
114  }
115  if (substr($relative_path, 0, 1) != '/') {
116  $relative_path = '/' . $relative_path;
117  }
118  $htmlpath = ILIAS_HTTP_PATH . $relative_path;
119  return $htmlpath;
120  }
+ Here is the caller graph for this function:

◆ getImagePath()

static ilUtil::getImagePath ( string  $image_name,
string  $module_path = "",
string  $mode = "output",
bool  $offline = false 
)
static

get image path (for images located in a template directory)

Deprecated:
use UI Service!

Definition at line 67 of file class.ilUtil.php.

References $DIC, $filename, ilStyleDefinition\getCurrentSkin(), and ilStyleDefinition\getCurrentStyle().

Referenced by ilPollUserTableGUI\__construct(), ilStudyProgrammeIndividualPlanTableGUI\__construct(), ilStudyProgrammeExpandableProgressListGUI\__construct(), ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\Extract\Video\VideoItem\__construct(), ilTermDefinitionEditorGUI\__construct(), ilRepositoryObjectPlugin\_getImagePath(), ilPCTableGUI\_renderTable(), ilWikiPageGUI\addHeaderAction(), ilObjDataCollectionGUI\addHeaderAction(), ilContainerRenderer\addHeaderRow(), ilContainerGUI\addHeaderRow(), ILIAS\UI\Implementation\Component\Layout\Page\PageQueryActionHandler\allCommand(), ilUserPrivacySettingsGUI\appendChatJsToTemplate(), ilExSubmissionObjectGUI\askUnlinkBlogObject(), ilExSubmissionObjectGUI\askUnlinkPortfolioObject(), ilPersonalSkillsGUI\assignMaterials(), ilObjAuthSettingsGUI\authSettingsObject(), ilLPStatusIcons\buildImagePath(), assMatchingQuestionGUI\buildTermHtml(), ilMembershipGUI\confirmAssignFromWaitingList(), ilMembershipGUI\confirmAssignSubscribers(), ilMailFolderGUI\confirmDeleteMails(), ilSessionMembershipGUI\confirmDeleteParticipants(), ilMembershipGUI\confirmDeleteParticipants(), ilObjRoleGUI\confirmDeleteRoleObject(), ilObjMediaCastGUI\confirmDeletionItemsObject(), ilMembershipGUI\confirmRefuseFromList(), ilMembershipGUI\confirmRefuseSubscribers(), ilCourseParticipantsGroupsGUI\confirmRemove(), ilObjForumGUI\decorateWithAutosave(), ilObjSkillTreeGUI\deleteNodes(), ilPDNewsGUI\displayHeader(), ilPDNotesGUI\displayHeader(), ilPageObjectGUI\displayMedia(), ilLMPageObjectGUI\editLayout(), ilObjTypeDefinitionGUI\editObject(), ilGlossaryTermGUI\editTerm(), ilObjSessionGUI\eventsListObject(), ilAchievementsGUI\executeCommand(), ilPCInteractiveImageGUI\executeCommand(), ilObjSAHSLearningModuleGUI\executeCommand(), ilLMPageObjectGUI\executeCommand(), ilPortfolioRepositoryGUI\executeCommand(), ilBlogPostingGUI\executeCommand(), ilSystemStyleHTMLExport\export(), ilCOPageHTMLExport\exportHTMLMOB(), ILIAS\Wiki\Export\WikiHtmlExport\exportPageHTML(), ilTable2GUI\fillActionRow(), ilLuceneAdvancedSearchGUI\fillAdminPanel(), ilLuceneSearchGUI\fillAdminPanel(), ILIAS\components\UICore\MetaTemplate\PageContentGUI\fillAdminPanel(), ilGlobalTemplate\fillAdminPanel(), ilDataCollectionGlobalTemplate\fillAdminPanel(), ilTable2GUI\fillHeader(), ilShibbolethRoleAssignmentTableGUI\fillRow(), ilLDAPRoleAssignmentTableGUI\fillRow(), ilConditionHandlerTableGUI\fillRow(), ilAccessPermissionsStatusTableGUI\fillRow(), ilCalendarSharedListTableGUI\fillRow(), ilECSServerTableGUI\fillRow(), ilAvailableRolesStatusTableGUI\fillRow(), ilCourseObjectiveQuestionsTableGUI\fillRow(), ilCalendarInboxSharedTableGUI\fillRow(), ilHistoryTableGUI\fillRow(), ilLDAPServerTableGUI\fillRow(), ilCalendarManageTableGUI\fillRow(), ilLMPagesTableGUI\fillRow(), ilClipboardTableGUI\fillRow(), ilPageLayoutTableGUI\fillRow(), ilItemGroupItemsTableGUI\fillRow(), ilLPCollectionSettingsTableGUI\fillRow(), ilExportIDTableGUI\fillRow(), ilTimingsPersonalTableGUI\fillRow(), ilCourseReferenceDeleteConfirmationTableGUI\fillRow(), ilTimingsManageTableGUI\fillRow(), ilSessionOverviewTableGUI\fillRow(), ilSurveyQuestionsTableGUI\fillRow(), ilSessionMaterialsTableGUI\fillRow(), ilSurveyQuestionTableGUI\fillRow(), ilFileSystemTableGUI\fillRow(), ilLPProgressTableGUI\fillRow(), ilTrUserObjectsPropsTableGUI\fillRow(), ilQuestionBrowserTableGUI\fillRow(), ilMediaPoolTableGUI\fillRow(), ilTrObjectUsersPropsTableGUI\fillRow(), ilTrMatrixTableGUI\fillRow(), ilDclFieldListTableGUI\fillRowFromObject(), ilGlobalTemplate\fillSideIcons(), ilDataCollectionGlobalTemplate\fillSideIcons(), assQuestion\fixUnavailableSkinImageSources(), ilSCORMPresentationGUI\frameset(), assQuestionGUI\generateCorrectnessIconsForCorrectness(), ilForumThreadFormGUI\generateInputItems(), ilUserAvatarResolver\getAvatar(), ILIAS\Mail\Folder\MailFolderTableUI\getAvatar(), ilPCInteractiveImage\getBackgroundImage(), ILIAS\TestQuestionPool\Questions\Presentation\QuestionTable\getColums(), ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\StandardPagePartProvider\getContent(), ilAssNestedOrderingElementsInputGUI\getCorrectnessIcon(), ILIAS\LearningModule\Table\SubObjectRetrieval\getData(), ilPCMediaObjectGUI\getEnabledMapAreas(), ilFirstLoginLearningHistoryProvider\getEntries(), ilCourseLearningHistoryProvider\getEntries(), ilLearningHistoryEntryCollector\getEntries(), ilBadgeLearningHistoryProvider\getEntries(), ilSkillLearningHistoryProvider\getEntries(), ilStudyProgrammeExpandableProgressListGUI\getExpandedImageURL(), ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\StandardPagePartProvider\getFaviconPath(), ilLMPresentationGUI\getHeaderAction(), ilDclBooleanRecordRepresentation\getHTML(), ilMainMenuSearchGUI\getHTML(), ilNewsTimelineGUI\getHTML(), ilAdvancedSelectionListGUI\getHTML(), ilRatingGUI\getHTML(), ilForumNotificationTableGUI\getIcon(), ILIAS\File\Icon\IconDatabaseRepository\getIconFilePathBySuffix(), ILIAS\Administration\AdministrationMainBarProvider\getIconForGroup(), ilObject\getIconForType(), ilSkillTreeNode\getIconPath(), ilObjSCORMInitData\getIliasScormVars(), ILIAS\Object\Properties\CoreProperties\TileImage\ilObjectTileImage\getImage(), ilExplorer\getImage(), ilImageMapEditorGUI\getImageMapOutput(), ilCertificateUtilHelper\getImagePath(), ilSCORM13PlayerGUI\getInlineCSS(), ilContainerStartObjectsContentTableGUI\getItems(), ilObjContentObjectGUI\getLayoutOption(), ilCalendarSelectionBlockGUI\getLegacyContent(), ilPDMailBlockGUI\getListItemForData(), ILIAS\COPage\PC\InteractiveImage\InteractiveImageQueryActionHandler\getLoader(), ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\StandardPagePartProvider\getLogo(), ilLMHtmlExportViewLayoutProvider\getMainBarModification(), ILIAS\Test\Results\Presentation\AttemptResultsTable\getMapping(), ILIAS\User\Provider\UserMetaBarProvider\getMetaBarItems(), ilLMEditorExplorerGUI\getNodeIcon(), ilMediaPoolExplorerGUI\getNodeIcon(), ilSkillTreeExplorerGUI\getNodeIcon(), ilTaxonomyExplorerGUI\getNodeIcon(), ilSkillTemplateTreeExplorerGUI\getNodeIcon(), ilVirtualSkillTreeExplorerGUI\getNodeIcon(), ilMailExplorer\getNodeIcon(), ilWorkspaceExplorerGUI\getNodeIcon(), ilLMTOCExplorerGUI\getNodeIcon(), ilPersonalSkillExplorerGUI\getNodeIcon(), ilPRGActionNoteBuilder\getNoteFor(), ilStudyProgrammeExpandableProgressListGUI\getNotExpandedImageURL(), ilExplorer\getOutput(), ilSCORMExplorer\getOutputIcons(), ILIAS\Portfolio\PortfolioPrintViewProviderGUI\getPages(), ilPortfolioRepositoryGUI\getPortfolioList(), assSingleChoiceGUI\getPreview(), assMultipleChoiceGUI\getPreview(), assKprimChoiceGUI\getPreview(), SurveyTextQuestionGUI\getPrintView(), SurveySingleChoiceQuestionGUI\getPrintView(), SurveyMultipleChoiceQuestionGUI\getPrintView(), SurveyMatrixQuestionGUI\getPrintView(), ilTestQuestionHeaderBlockBuilder\getQuestionInfoHTML(), ilTestQuestionNavigationGUI\getQuestionMarkIconSource(), ilDidacticTemplateSettingsTableDataRetrieval\getRecords(), ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\StandardPagePartProvider\getResponsiveLogo(), ilTestServiceGUI\getResultsSignature(), ILIAS\Portfolio\PortfolioPrintViewProviderGUI\getSelectionForm(), ILIAS\Blog\BlogPrintViewProviderGUI\getSelectionForm(), ILIAS\Wiki\WikiPrintViewProviderGUI\getSelectionForm(), ilObjExerciseGUI\getService(), ILIAS\Membership\GlobalScreen\MembershipMainBarProvider\getStaticSubItems(), ILIAS\MyStaff\Provider\StaffMainBarProvider\getStaticSubItems(), ILIAS\EmployeeTalk\Provider\MyStaffListEntryProvider\getStaticSubItems(), ILIAS\Repository\Provider\RepositoryMainBarProvider\getStaticSubItems(), ILIAS\MainMenu\Provider\StandardTopItemsProvider\getStaticTopItems(), ILIAS\components\Authentication\Pages\AuthPageLanguagesOverviewTable\getStatusIcon(), ilPRGStatusInfoBuilder\getStatusInfoFor(), ilObjGlossaryGUI\getTemplate(), assKprimChoiceGUI\getTestOutput(), assSingleChoiceGUI\getTestOutput(), assMultipleChoiceGUI\getTestOutput(), ilPageObjectGUI\getTinyMenu(), ilLMGSToolProvider\getTocTool(), ilTaxonomyGSToolProvider\getToolsForContextStack(), ilLMEditGSToolProvider\getToolsForContextStack(), ilMediaPoolGSToolProvider\getToolsForContextStack(), ilCOPageEditGSToolProvider\getToolsForContextStack(), ilLMGSToolProvider\getToolsForContextStack(), ilSkillGSToolProvider\getToolsForContextStack(), ILIAS\UI\Implementation\Component\Layout\Page\PageQueryActionHandler\getTopActions(), ilLMPresentationGUI\ilMedia(), ilLMPageObjectGUI\initEditLayoutForm(), ilObjGroupGUI\initForm(), ilConditionHandlerGUI\initFormCondition(), ilObjCmiXapiGUI\initHeaderAction(), ilObjBookingPoolGUI\initHeaderAction(), ilObjLTIConsumerGUI\initHeaderAction(), ilObjStudyProgrammeGUI\initHeaderAction(), ilObjGroupGUI\initHeaderAction(), ilObjBlogGUI\initHeaderAction(), ilObjCourseGUI\initHeaderAction(), ilObjForumGUI\initHeaderAction(), ILIAS\Chatroom\BuildChat\initialData(), ilOnScreenChatGUI\initializeFrontend(), ilAwarenessGUI\initJS(), ilObjUserFolderGUI\initNewAccountMailForm(), ilLMPresentationGUI\initScreenHead(), ilObjLTIConsumerListGUI\insertIconsAndCheckboxes(), ilObjOrgUnitListGUI\insertInfoScreenCommand(), ilObjectListGUI\insertInfoScreenCommand(), ilPropertyFormGUI\insertItem(), ilPCResourcesGUI\insertResourcesIntoPageContent(), ilUserCertificateGUI\listCertificates(), ilGlossaryPresentationGUI\listDefinitions(), ilPersonalSkillsGUI\listProfileForGap(), ilGlossaryTermGUI\listUsages(), ilMStListCompetencesSkillsGUI\listUsers(), ilMStListUsersGUI\listUsers(), ilMStListCoursesGUI\listUsers(), ilMStListCertificatesGUI\listUsers(), ilEmployeeTalkMyStaffListGUI\loadHeader(), ilGlossaryPresentationGUI\media(), assMatchingQuestionGUI\populateDefinition(), ilDashboardGUI\prepareContentView(), ilGlossaryPresentationGUI\prepareOutput(), ilCalendarPresentationGUI\prepareOutput(), ilLMNavigationRendererGUI\render(), ilProgressBar\render(), ilTableGUI\render(), ilTable2GUI\render(), ilPCTableGUI\renderCell(), ilRatingGUI\renderDetails(), ilObjBlogGUI\renderFullscreenHeader(), ilCalendarSelectionBlockGUI\renderItem(), ILIAS\Chatroom\BuildChat\renderLanguageVariables(), ilObjForumGUI\renderPostContent(), assSingleChoiceGUI\renderSolutionOutput(), assMultipleChoiceGUI\renderSolutionOutput(), assMatchingQuestionGUI\renderSolutionOutput(), assKprimChoiceGUI\renderSolutionOutput(), ilObjLearningSequenceContentGUI\renderTable(), ilPersonalSkillsGUI\saveSelfEvaluation(), ilPersonalSkillsGUI\selfEvaluation(), ilBadgeHandler\sendNotification(), ilLMPresentationGUI\setHeader(), ilImageLinkButton\setImage(), ilSAHSPresentationGUI\setInfoTabs(), ilStructureObjectGUI\setTabs(), ilPageLayoutGUI\setTabs(), ilObjSAHSLearningModuleGUI\setTabs(), ilObjTaxonomyGUI\setTabs(), ilObjMediaObjectGUI\setTabs(), ilObjWorkspaceRootFolderGUI\setTitleAndDescription(), ilObjUserGUI\setTitleAndDescription(), ilObjPortfolioGUI\setTitleAndDescription(), ilObjLanguageExtGUI\setTitleAndDescription(), ilMembershipOverviewGUI\show(), ilDerivedTasksGUI\show(), ilDashboardGUI\show(), ilLMObjectGUI\showActions(), ilContentStyleSettingsGUI\showActions(), ilObjContentObjectGUI\showActions(), ilContainerGUI\showAdministrationPanel(), ilObjWorkspaceFolderGUI\showAdministrationPanel(), ilPasswordAssistanceGUI\showAssignPasswordForm(), ilPasswordAssistanceGUI\showAssistanceForm(), ilStartUpGUI\showCASLoginForm(), ilLTIConsumerContentGUI\showEmbedded(), ilMailGUI\showHeader(), ilInternalLinkGUI\showLinkHelp(), ilObjMediaPoolGUI\showMedia(), ilPasswordAssistanceGUI\showMessageForm(), ilPageObjectGUI\showPage(), ilContainerGUI\showPasteTreeObject(), ilLMPresentationGUI\showPrintView(), ilLMPresentationGUI\showPrintViewSelection(), ilMailSearchGUI\showResults(), ilLocalUserGUI\showRolesTable(), ilAssQuestionSkillAssignmentsGUI\showSkillSelectionCmd(), ilCourseContentGUI\showStartObjects(), ilContactGUI\showSubTabs(), ilObjectCopyGUI\showTargetSelectionTree(), ilMailFolderGUI\showUser(), ilPasswordAssistanceGUI\showUsernameAssistanceForm(), and ILIAS\TestQuestionPool\Questions\Presentation\QuestionTable\taxonomyRepresentation().

72  : string {
73  if ($offline) {
74  return "./images/" . $image_name;
75  }
76 
77  global $DIC;
78  $styleDefinition = $DIC["styleDefinition"] ?? null;
79 
80  if ($module_path != "") {
81  throw new \LogicException(
82  "\$module_path only supports '' as value."
83  );
84  }
85 
86  $use_custom_skin = (ilStyleDefinition::getCurrentSkin() !== "default");
87 
88  if ($use_custom_skin) {
89  $filename =
90  "./Customizing/skin/"
93  . (!is_object($styleDefinition) ? "images" : $styleDefinition->getImageDirectory(ilStyleDefinition::getCurrentStyle())) . "/"
94  . $image_name;
95 
96  if (file_exists($filename)) {
97  return $filename;
98  }
99  }
100 
101  return "./assets/images/" . $image_name;
102  }
static getCurrentSkin()
get the current skin use always this function instead of getting the account&#39;s skin the current skin ...
global $DIC
Definition: shib_login.php:25
$filename
Definition: buildRTE.php:78
static getCurrentStyle()
get the current style or sub style use always this function instead of getting the account&#39;s style th...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getImageTagByType()

static ilUtil::getImageTagByType ( string  $a_type,
string  $a_path,
bool  $a_big = false 
)
static

Builds an html image tag.

Deprecated:
Use UI-Service!

Definition at line 44 of file class.ilUtil.php.

References $DIC, $filename, $lng, and ilObject\_getIcon().

Referenced by ilObjTypeDefinitionGUI\displayList(), and ilObjTypeDefinitionGUI\editObject().

44  : string
45  {
46  global $DIC;
47 
48  $lng = $DIC->language();
49 
50  $size = ($a_big)
51  ? "big"
52  : "small";
53 
54  $filename = ilObject::_getIcon(0, $size, $a_type);
55 
56  return "<img src=\"" . $filename . "\" alt=\"" . $lng->txt("obj_" . $a_type) . "\" title=\"" . $lng->txt(
57  "obj_" . $a_type
58  ) . "\" border=\"0\" vspace=\"0\"/>";
59  }
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
global $DIC
Definition: shib_login.php:25
$filename
Definition: buildRTE.php:78
global $lng
Definition: privfeed.php:32
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNewContentStyleSheetLocation()

static ilUtil::getNewContentStyleSheetLocation ( string  $mode = "output")
static

get full style sheet file name (path inclusive) of current user

Deprecated:

Definition at line 181 of file class.ilUtil.php.

References ilStyleDefinition\getCurrentSkin(), and ilStyleDefinition\getCurrentStyle().

Referenced by ilTinyMCE\addCustomRTESupport(), ilTinyMCE\addRTESupport(), ilTinyMCE\addUserTextEditor(), ilDataCollectionGlobalTemplate\fillNewContentStyle(), ilGlobalTemplate\fillNewContentStyle(), and ilGlobalPageTemplate\prepareBasicCSS().

181  : string
182  {
183 
184  // use ilStyleDefinition instead of account to get the current skin and style
185  if (ilStyleDefinition::getCurrentSkin() == "default") {
186  $in_style = "./templates/" . ilStyleDefinition::getCurrentSkin() . "/"
187  . ilStyleDefinition::getCurrentStyle() . "_cont.css";
188  } else {
189  $in_style = "./Customizing/skin/" . ilStyleDefinition::getCurrentSkin() . "/"
190  . ilStyleDefinition::getCurrentStyle() . "_cont.css";
191  }
192 
193  if (is_file("./" . $in_style)) {
194  return $in_style;
195  } else {
196  return "assets/css/delos_cont.css";
197  }
198  }
static getCurrentSkin()
get the current skin use always this function instead of getting the account&#39;s skin the current skin ...
static getCurrentStyle()
get the current style or sub style use always this function instead of getting the account&#39;s style th...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSecureTags()

static ilUtil::getSecureTags ( )
static

Definition at line 474 of file class.ilUtil.php.

Referenced by ilAssSelfAssessmentQuestionFormatter\getSelfAssessmentTags(), and secureString().

474  : array
475  {
476  return ["strong",
477  "em",
478  "u",
479  "strike",
480  "ol",
481  "li",
482  "ul",
483  "p",
484  "div",
485  "i",
486  "b",
487  "code",
488  "sup",
489  "sub",
490  "pre",
491  "gap",
492  "a",
493  "img",
494  "bdo"
495  ];
496  }
+ Here is the caller graph for this function:

◆ getStyleSheetLocation()

static ilUtil::getStyleSheetLocation ( string  $mode = "output",
string  $a_css_name = "" 
)
static

get full style sheet file name (path inclusive) of current user

Parameters
$modestring Output mode of the style sheet ("output" or "filesystem"). !"filesystem" generates the ILIAS version number as attribute to force the reload of the style sheet in a different ILIAS version
$a_css_namestring The name of the style sheet. If empty, the default style name will be chosen
$a_css_locationstring The location of the style sheet e.g. a module path. This parameter only makes sense when $a_css_name is used
Deprecated:

Definition at line 132 of file class.ilUtil.php.

References $filename, ilStyleDefinition\getCurrentSkin(), ilStyleDefinition\getCurrentStyle(), and ilStyleDefinition\getSkins().

Referenced by ilExport\_generateIndexFile(), ilTinyMCE\addRTESupport(), ilTinyMCE\addUserTextEditor(), ilSCORMPresentationGUI\contentSelect(), ilObjTest\deliverPDFfromHTML(), ilPageObjectGUI\displayMedia(), ilObjSurveyQuestionPoolGUI\executeCommand(), ilSCORMPresentationGUI\explorer(), ilSystemStyleHTMLExport\export(), ILIAS\UI\Implementation\Component\Layout\Page\PageQueryActionHandler\getConfig(), ILIAS\Notes\Export\NotesHtmlExport\getInitialisedTemplate(), ILIAS\Portfolio\Export\PortfolioHtmlExport\getInitialisedTemplate(), ILIAS\Wiki\Export\BlogHtmlExport\getInitialisedTemplate(), ilExplorer\getOutput(), ilSCORM13PlayerGUI\getPlayer(), ilCOPageHTMLExport\getPreparedMainTemplate(), ilPlugin\getStyleSheetLocation(), ilCOPageHTMLExport\initResourceTemplate(), ILIAS\Glossary\Export\GlossaryHtmlExport\initScreen(), ILIAS\LearningModule\Export\LMHtmlExport\initScreen(), ilLMPresentationGUI\layout(), ilGlossaryPresentationGUI\media(), ilTestServiceGUI\outCorrectSolution(), ilTestPlayerAbstractGUI\outCorrectSolution(), ilLMPresentationGUI\page(), ilGlobalPageTemplate\prepareBasicCSS(), ILIAS\Test\Questions\Presentation\Printer\printAnswers(), ilForumExportGUI\printPost(), ILIAS\Test\Questions\Presentation\Printer\printSelectedQuestions(), ilForumExportGUI\printThread(), ilPortfolioPageGUI\renderConsultationHours(), ILIAS\Export\PrintProcessGUI\renderPrintView(), ilTestEvaluationGUI\setCss(), ilLMPresentationGUI\setSystemStyle(), ilInternalLinkGUI\showLinkHelp(), ilContainerGUI\showLinkListObject(), ilTestPlayerAbstractGUI\showListOfAnswers(), ilObjMediaPoolGUI\showMedia(), ilPageObjectGUI\showMediaFullscreen(), ilObjMediaPoolGUI\showPage(), ilSCORM13PlayerGUI\specialPage(), ilSAHSPresentationGUI\view(), and ilSCORMPresentationGUI\view().

135  : string {
136  $force_reload = ($mode !== "filesystem");
137  $use_default_style_file = ($a_css_name === "");
138  $use_custom_skin = (ilStyleDefinition::getCurrentSkin() !== "default");
139 
140  // use ilStyleDefinition instead of account to get the current style
141 
142  if ($use_default_style_file) {
143  $stylesheet_name = ilStyleDefinition::getCurrentStyle() . ".css";
144  } else {
145  $stylesheet_name = $a_css_name;
146  }
147 
148  if ($use_custom_skin) {
149  $filename =
150  "./Customizing/skin/"
153  . $stylesheet_name;
154  } else {
155  $filename = "./assets/css/" . $stylesheet_name;
156  }
157 
158  if (!$force_reload) {
159  return $filename;
160  }
161 
162  // add version as parameter to force reload for new releases
163 
164  // use version from template xml to force reload on changes
166  $skin_version = $skin->getVersion();
167  if ($skin_version !== "") {
168  $skin_version_appendix = str_replace(".", "-", $skin_version);
169  } else {
170  $skin_version_appendix = '0';
171  }
172 
173  return $filename . "?skin_version=" . $skin_version_appendix;
174  }
static getCurrentSkin()
get the current skin use always this function instead of getting the account&#39;s skin the current skin ...
$filename
Definition: buildRTE.php:78
static getCurrentStyle()
get the current style or sub style use always this function instead of getting the account&#39;s style th...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSystemMessageHTML()

static ilUtil::getSystemMessageHTML ( string  $a_txt,
string  $a_type = "info" 
)
static

Get HTML for a system message.

Deprecated:
replace with UI Compoenten in ilGlobalPageTemplate ATTENTION: This method is deprecated. Use MessageBox from the UI-framework instead.

Definition at line 1247 of file class.ilUtil.php.

References $DIC.

Referenced by ilGroupAddToGroupActionGUI\addUser(), ilTestPasswordProtectionGUI\buildPasswordMsg(), ilGroupAddToGroupActionGUI\confirmAddUser(), ilGroupAddToGroupActionGUI\confirmCreateGroupAndAddUser(), ilGroupAddToGroupActionGUI\createGroup(), ilGroupAddToGroupActionGUI\createGroupAndAddUser(), ilDataCollectionGlobalTemplate\fillMessage(), ilGlobalTemplate\fillMessage(), ilClassificationBlockGUI\filterContainer(), ilCalendarAgendaListGUI\getHTML(), ilTaggingGUI\getHTML(), ilNoteGUI\getNoteListHTML(), ilInternalLinkGUI\getUserSearchResult(), ilDclRecordEditGUI\save(), ilGroupAddToGroupActionGUI\selectParent(), ilDclRecordEditGUI\sendFailure(), and ilGroupAddToGroupActionGUI\show().

1248  {
1249  global $DIC;
1250 
1251  $box_factory = $DIC->ui()->factory()->messageBox();
1252  switch ($a_type) {
1253  case 'info':
1254  $box = $box_factory->info($a_txt);
1255  break;
1256  case 'success':
1257  $box = $box_factory->success($a_txt);
1258  break;
1259  case 'question':
1260  $box = $box_factory->confirmation($a_txt);
1261  break;
1262  case 'failure':
1263  $box = $box_factory->failure($a_txt);
1264  break;
1265  default:
1266  throw new InvalidArgumentException();
1267  }
1268 
1269  return $DIC->ui()->renderer()->render($box);
1270  }
global $DIC
Definition: shib_login.php:25
+ Here is the caller graph for this function:

◆ groupNameExists()

static ilUtil::groupNameExists ( string  $a_group_name,
?int  $a_id = null 
)
static

checks if group name already exists.

Groupnames must be unique for mailing purposes static function

public

Parameters
stringgroupname
integerobj_id of group to exclude from the check.
Returns
boolean true if exists

Definition at line 975 of file class.ilUtil.php.

References $DIC, $ilDB, $ilErr, $q, and $r.

Referenced by ilGroupNameAsMailValidator\__construct(), ilMailAddressTypeHelperImpl\doesGroupNameExists(), and ilSoapGroupAdministration\groupExists().

975  : bool
976  {
977  global $DIC;
978 
979  $ilDB = $DIC->database();
980 
981  $ilErr = null;
982  if (isset($DIC["ilErr"])) {
983  $ilErr = $DIC["ilErr"];
984  }
985 
986  if (empty($a_group_name)) {
987  $message = __METHOD__ . ": No groupname given!";
988  $ilErr->raiseError($message, $ilErr->WARNING);
989  }
990 
991  $clause = ($a_id !== null) ? " AND obj_id != " . $ilDB->quote($a_id) . " " : "";
992 
993  $q = "SELECT obj_id FROM object_data " .
994  "WHERE title = " . $ilDB->quote($a_group_name, "text") . " " .
995  "AND type = " . $ilDB->quote("grp", "text") .
996  $clause;
997 
998  $r = $ilDB->query($q);
999 
1000  return $r->numRows() > 0;
1001  }
$ilErr
Definition: raiseError.php:17
global $DIC
Definition: shib_login.php:25
$q
Definition: shib_logout.php:18
$r
+ Here is the caller graph for this function:

◆ htmlencodePlainString()

static ilUtil::htmlencodePlainString ( string  $a_str,
bool  $a_make_links_clickable,
bool  $a_detect_goto_links = false 
)
static

Encodes a plain text string into HTML for display in a browser.

This function encodes HTML special characters: < > & with < > & and converts newlines into

If $a_make_links_clickable is set to true, URLs in the plain string which are considered to be safe, are made clickable.

Parameters
stringthe plain text string
booleanset this to true, to make links in the plain string clickable.
booleanset this to true, to detect goto links

Definition at line 588 of file class.ilUtil.php.

References makeClickable().

Referenced by ilMailFolderGUI\confirmDeleteMails().

592  : string {
593  $encoded = "";
594 
595  if ($a_make_links_clickable) {
596  // Find text sequences in the plain text string which match
597  // the URI syntax rules, and pass them to ilUtil::makeClickable.
598  // Encode all other text sequences in the plain text string using
599  // htmlspecialchars and nl2br.
600  // The following expressions matches URI's as specified in RFC 2396.
601  //
602  // The expression matches URI's, which start with some well known
603  // schemes, like "http:", or with "www.". This must be followed
604  // by at least one of the following RFC 2396 expressions:
605  // - alphanum: [a-zA-Z0-9]
606  // - reserved: [;\/?:|&=+$,]
607  // - mark: [\\-_.!~*\'()]
608  // - escaped: %[0-9a-fA-F]{2}
609  // - fragment delimiter: #
610  // - uric_no_slash: [;?:@&=+$,]
611  $matches = [];
612  $numberOfMatches = preg_match_all(
613  '/(?:(?:http|https|ftp|ftps|mailto):|www\.)(?:[a-zA-Z0-9]|[;\/?:|&=+$,]|[\\-_.!~*\'()]|%[0-9a-fA-F]{2}|#|[;?:@&=+$,])+/',
614  $a_str,
615  $matches,
616  PREG_OFFSET_CAPTURE
617  );
618  $pos1 = 0;
619  $encoded = "";
620 
621  foreach ($matches[0] as $match) {
622  $matched_text = $match[0];
623  $pos2 = $match[1];
624 
625  // encode plain text
626  $encoded .= nl2br(htmlspecialchars(substr($a_str, $pos1, $pos2 - $pos1)));
627 
628  // encode URI
629  $encoded .= ilUtil::makeClickable($matched_text, $a_detect_goto_links);
630 
631 
632  $pos1 = $pos2 + strlen($matched_text);
633  }
634  if ($pos1 < strlen($a_str)) {
635  $encoded .= nl2br(htmlspecialchars(substr($a_str, $pos1)));
636  }
637  } else {
638  $encoded = nl2br(htmlspecialchars($a_str));
639  }
640  return $encoded;
641  }
static makeClickable(string $a_text, bool $detectGotoLinks=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ img()

static ilUtil::img ( string  $a_src,
?string  $a_alt = null,
  $a_width = "",
  $a_height = "",
  $a_border = 0,
  $a_id = "",
  $a_class = "" 
)
static

Build img tag.

Deprecated:

Definition at line 319 of file class.ilUtil.php.

Referenced by ilTable2GUI\fillHeader(), ilObjClipboardTableGUI\fillRow(), ilPCIIMOverlaysTableGUI\fillRow(), ilLMPagesTableGUI\fillRow(), ilItemGroupItemsTableGUI\fillRow(), ilSearchResultTableGUI\fillRow(), ilExportIDTableGUI\fillRow(), ilAdminSubItemsTableGUI\fillRow(), ilMediaPoolTableGUI\fillRow(), ILIAS\Repository\Provider\RepositoryMainBarProvider\getHomeItem(), ilMainMenuSearchGUI\getHTML(), ilObjContentObjectGUI\getLayoutOption(), ilNoteGUI\getOriginHeader(), ilLMPageObjectGUI\initEditLayoutForm(), ilOnScreenChatGUI\initializeFrontend(), ilPCResourcesGUI\insertResourcesIntoPageContent(), ilSCORMTrackingItemsTableGUI\parseValue(), ilSCORM2004TrackingItemsTableGUI\parseValue(), ilNestedListInputGUI\render(), and ilExplorerBaseGUI\renderNode().

327  {
328  $img = '<img src="' . $a_src . '"';
329  if (!is_null($a_alt)) {
330  $img .= ' alt="' . htmlspecialchars($a_alt) . '"';
331  }
332  if ($a_width != "") {
333  $img .= ' width="' . htmlspecialchars($a_width) . '"';
334  }
335  if ($a_height != "") {
336  $img .= ' height="' . htmlspecialchars($a_height) . '"';
337  }
338  if ($a_class != "") {
339  $img .= ' class="' . $a_class . '"';
340  }
341  if ($a_id != "") {
342  $img .= ' id="' . $a_id . '"';
343  }
344  $img .= ' />';
345 
346  return $img;
347  }
+ Here is the caller graph for this function:

◆ insertInstIntoID()

static ilUtil::insertInstIntoID ( string  $a_value)
static

inserts installation id into ILIAS id

e.g. "il__pg_3" -> "il_43_pg_3"

Deprecated:

Definition at line 955 of file class.ilUtil.php.

References IL_INST_ID.

Referenced by ilObjQuestionPool\modifyExportIdentifier(), ilObjMediaObject\modifyExportIdentifier(), ilObjTest\modifyExportIdentifier(), and ilMediaObjectDataSet\readData().

955  : string
956  {
957  if (substr($a_value, 0, 4) == "il__") {
958  $a_value = "il_" . IL_INST_ID . "_" . substr($a_value, 4, strlen($a_value) - 4);
959  }
960 
961  return $a_value;
962  }
const IL_INST_ID
Definition: constants.php:40
+ Here is the caller graph for this function:

◆ is_email()

static ilUtil::is_email ( string  $a_email,
ilMailRfc822AddressParserFactory  $mailAddressParserFactory = null 
)
static

This preg-based function checks whether an e-mail address is formally valid.

It works with all top level domains including the new ones (.biz, .info, .museum etc.) and the special ones (.arpa, .int etc.) as well as with e-mail addresses based on IPs (e.g. webma.nosp@m.ster.nosp@m.@123..nosp@m.45.1.nosp@m.23.45) Valid top level domains: http://data.iana.org/TLD/tlds-alpha-by-domain.txt

Deprecated:
use ilMailRfc822AddressParserFactory directly

Definition at line 273 of file class.ilUtil.php.

References Vendor\Package\$e, and ilMail\ILIAS_HOST.

Referenced by ilEMailInputGUI\checkInput(), ilPasswordAssistanceGUI\emailTrafo(), ilCmiXapiUser\getIdent(), ilMimeMailNotification\initLanguage(), ilSurveyExecutionGUI\mailUserResults(), ilObjSurveyGUI\mailUserResultsObject(), ilObjSurvey\updateCode(), ILIAS\Survey\Code\CodeDBRepo\updateExternalData(), ilCalendarUserNotification\validate(), and ilObjCourse\validateInfoSettings().

276  : bool {
277  if ($mailAddressParserFactory === null) {
278  $mailAddressParserFactory = new ilMailRfc822AddressParserFactory();
279  }
280 
281  try {
282  $parser = $mailAddressParserFactory->getParser($a_email);
283  $addresses = $parser->parse();
284  return count($addresses) == 1 && $addresses[0]->getHost() != ilMail::ILIAS_HOST;
285  } catch (ilException $e) {
286  return false;
287  }
288  }
const ILIAS_HOST
Class ilMailRfc822AddressParserFactory.
+ Here is the caller graph for this function:

◆ isHTML()

static ilUtil::isHTML ( string  $a_text)
static

Checks if a given string contains HTML or not.

Parameters
string$a_textText which should be checked
Returns
boolean public

Definition at line 1159 of file class.ilUtil.php.

Referenced by assQuestionExport\addQTIMaterial(), assTextQuestion\getSolutionSubmit(), ilAssSelfAssessmentQuestionFormatter\handleLineBreaks(), ilLegacyFormElementsUtil\prepareTextareaOutput(), and assMatchingQuestionExport\toXML().

1159  : bool
1160  {
1161  if (strlen(strip_tags($a_text)) < strlen($a_text)) {
1162  return true;
1163  }
1164 
1165  return false;
1166  }
+ Here is the caller graph for this function:

◆ isLogin()

static ilUtil::isLogin ( string  $a_login)
static
Deprecated:

Definition at line 293 of file class.ilUtil.php.

Referenced by ilUserLoginInputGUI\checkInput(), ilAuthProviderApache\doAuthentication(), ilAccountRegistrationGUI\saveForm(), and ilPersonalProfileGUI\updateLoginOrSetErrorMessages().

293  : bool
294  {
295  if (empty($a_login)) {
296  return false;
297  }
298 
299  if (strlen($a_login) < 3) {
300  return false;
301  }
302 
303  // FIXME - If ILIAS is configured to use RFC 822
304  // compliant mail addresses we should not
305  // allow the @ character.
306  if (!preg_match("/^[A-Za-z0-9_\.\+\*\@!\$\%\~\-]+$/", $a_login)) {
307  return false;
308  }
309 
310  return true;
311  }
+ Here is the caller graph for this function:

◆ isWindows()

static ilUtil::isWindows ( )
static
Deprecated:

Definition at line 1006 of file class.ilUtil.php.

Referenced by ilGitInformation\detect(), ilShellUtil\execQuoted(), and ilImagemapPreview\execQuoted().

1006  : bool
1007  {
1008  return (strtolower(substr(php_uname(), 0, 3)) === "win");
1009  }
+ Here is the caller graph for this function:

◆ makeClickable()

static ilUtil::makeClickable ( string  $a_text,
bool  $detectGotoLinks = false 
)
static
Deprecated:
Use the respective Refinery transformation $refinery->string()->makeClickable("foo bar") to convert URL-like string parts to an HTML anchor (<a>) element.

Will be removed in ILIAS 10.

Definition at line 219 of file class.ilUtil.php.

References $DIC.

Referenced by ilAppointmentPresentationGUI\addEventDescription(), ilAppointmentPresentationGroupGUI\collectPropertiesAndActions(), ilAppointmentPresentationCourseGUI\collectPropertiesAndActions(), ilAppointmentPresentationSessionGUI\collectPropertiesAndActions(), ilCourseRegistrationGUI\fillInformations(), ilGroupRegistrationGUI\fillInformations(), ilPDNewsTableGUI\fillRow(), ilADTExternalLinkPresentationBridge\getHTML(), ilCalendarAppointmentPanelGUI\getHTML(), htmlencodePlainString(), ilObjCourseGUI\infoScreen(), ilObjGroupGUI\infoScreen(), ilPDNewsTableGUI\makeClickable(), ilNewsForContextBlockGUI\makeClickable(), ilObjSessionGUI\showJoinRequestButton(), ilUtilTest\testMakeClickableWithGotoLinksAndInvalidRefId(), and ilUtilTest\testMakeClickableWithoutGotoLinks().

219  : string
220  {
221  global $DIC;
222 
223  $ret = $DIC->refinery()->string()->makeClickable()->transform($a_text);
224 
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'],
231  $ret
232  );
233 
234  // Edited this regex to allow multiple links in $ret: .* to [^"><]*.
235  $regExp = $goto . '_[^"><]*[a-z0-9]+_([0-9]+)\.html)"[^>]*>[^<]*</a>';
236  $ret = preg_replace_callback(
237  '@' . $regExp . '@i',
238  [self::class, 'replaceLinkProperties'],
239  $ret
240  );
241  }
242 
243  return $ret;
244  }
global $DIC
Definition: shib_login.php:25
+ Here is the caller graph for this function:

◆ maskAttributeTag()

static ilUtil::maskAttributeTag ( string  $a_str,
string  $tag,
string  $tag_att 
)
staticprivate

Definition at line 643 of file class.ilUtil.php.

References $DIC.

Referenced by maskSecureTags().

643  : string
644  {
645  global $DIC;
646 
647  $ilLog = $DIC["ilLog"];
648 
649  $ws = "[\s]*";
650  $att = $ws . "[^>]*" . $ws;
651 
652  while (preg_match(
653  '/<(' . $tag . $att . '(' . $tag_att . $ws . '="' . $ws . '(([$@!*()~;,_0-9A-z\/:=%.&#?+\-])*)")' . $att . ')>/i',
654  $a_str,
655  $found
656  )) {
657  $old_str = $a_str;
658  $a_str = preg_replace(
659  "/<" . preg_quote($found[1], "/") . ">/i",
660  '&lt;' . $tag . ' ' . $tag_att . $tag_att . '="' . $found[3] . '"&gt;',
661  $a_str
662  );
663  if ($old_str == $a_str) {
664  $ilLog->write(
665  "ilUtil::maskA-" . htmlentities($old_str) . " == " .
666  htmlentities($a_str)
667  );
668  return $a_str;
669  }
670  }
671  $a_str = str_ireplace(
672  "</$tag>",
673  "&lt;/$tag&gt;",
674  $a_str
675  );
676  return $a_str;
677  }
global $DIC
Definition: shib_login.php:25
+ Here is the caller graph for this function:

◆ maskSecureTags()

static ilUtil::maskSecureTags ( string  $a_str,
array  $allow_array 
)
staticprivate

Definition at line 498 of file class.ilUtil.php.

References maskAttributeTag(), and maskTag().

Referenced by secureString().

498  : string
499  {
500  foreach ($allow_array as $t) {
501  switch ($t) {
502  case "a":
503  $a_str = ilUtil::maskAttributeTag($a_str, "a", "href");
504  break;
505 
506  case "img":
507  $a_str = ilUtil::maskAttributeTag($a_str, "img", "src");
508  break;
509 
510  case "p":
511  case "div":
512  $a_str = ilUtil::maskTag($a_str, $t, [
513  ["param" => "align", "value" => "left"],
514  ["param" => "align", "value" => "center"],
515  ["param" => "align", "value" => "justify"],
516  ["param" => "align", "value" => "right"]
517  ]);
518  break;
519 
520  default:
521  $a_str = ilUtil::maskTag($a_str, $t);
522  break;
523  }
524  }
525 
526  return $a_str;
527  }
static maskTag(string $a_str, string $tag, array $fix_param=[])
static maskAttributeTag(string $a_str, string $tag, string $tag_att)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ maskTag()

static ilUtil::maskTag ( string  $a_str,
string  $tag,
array  $fix_param = [] 
)
static

Definition at line 708 of file class.ilUtil.php.

Referenced by maskSecureTags().

708  : string
709  {
710  $a_str = str_replace(
711  ["<$tag>", "<" . strtoupper($tag) . ">"],
712  "&lt;" . $tag . "&gt;",
713  $a_str
714  );
715  $a_str = str_replace(
716  ["</$tag>", "</" . strtoupper($tag) . ">"],
717  "&lt;/" . $tag . "&gt;",
718  $a_str
719  );
720 
721  foreach ($fix_param as $p) {
722  $k = $p["param"];
723  $v = $p["value"];
724  $a_str = str_replace(
725  "<$tag $k=\"$v\">",
726  "&lt;" . "$tag $k=\"$v\"" . "&gt;",
727  $a_str
728  );
729  }
730 
731  return $a_str;
732  }
+ Here is the caller graph for this function:

◆ now()

static ilUtil::now ( )
static

Return current timestamp in Y-m-d H:i:s format.

Deprecated:

Definition at line 1016 of file class.ilUtil.php.

Referenced by ilHistory\_copyEntriesForObject(), ilHistory\_createEntry(), ilLMPageObject\_getPresentationTitle(), ilObjSCORMTracking\_insertTrackData(), ilLMTracker\_isNodeVisible(), ilPageObject\_lookupActive(), ilObjUser\_setUserInactive(), ilObjUser\_toggleActiveStatusOfUsers(), ilWikiContributor\_writeStatus(), ilLikeData\addExpression(), ILIAS\Skill\Profile\SkillProfileCompletionDBRepository\addFulfilmentEntry(), ilSkillLevelDBRepository\addLevel(), ILIAS\Exercise\Submission\SubmissionRepository\addLocalFile(), ILIAS\Skill\Profile\SkillProfileCompletionDBRepository\addNonFulfilmentEntry(), ilExSubmission\addResourceObject(), ILIAS\Exercise\Submission\SubmissionRepository\addUpload(), ILIAS\Exercise\Submission\SubmissionRepository\addZipUpload(), ilRepositoryObjectPlugin\beforeActivation(), ILIAS\Export\HTML\ExportFileDBRepository\create(), ilBlogPosting\create(), ilNewsItem\create(), ilWebDAVMountInstructionsDocumentFormGUI\createFilledObject(), ilPRGAssignmentDBRepository\createFor(), ilPageObject\createFromXML(), ILIAS\Notes\NotesManager\createNote(), ILIAS\Test\Setup\CloneIntroductionAndClosingRemarksMigration\createPageWithNextId(), ilAuthProviderLTI\createUser(), ilPageActivationDBRepository\getData(), ilCalendarHeaderNavigationGUI\getHTML(), ilNewsItem\getLastNewsIdForContext(), ilLMNavigationStatus\getPredecessorPageId(), ilWikiUserHTMLExport\getProcess(), ilLMNavigationStatus\getSuccessorPageId(), ilSkillUserLevelDBRepository\hasRecentSelfEvaluation(), ilLMContentRendererGUI\renderDeactivatedPageMessage(), ilSkillUserLevelDBRepository\resetUserSkillLevelStatus(), ilObjUser\saveAsNew(), ilObjForum\saveData(), ilExAssignmentMemberStatus\setFeedback(), ilExAssignmentMemberStatus\setMark(), ilExAssignmentMemberStatus\setSent(), ilExAssignmentMemberStatus\setStatus(), ilObjSCORMTracking\storeJsApiCmi(), ilLMTracker\trackLastPageAccess(), ilBlogPosting\unpublish(), ilObjUser\update(), ilNewsItem\update(), ilPageObject\update(), ilPageObject\updateFromXML(), ILIAS\Notes\NoteDBRepository\updateNoteText(), ilExPeerReview\updatePeerReview(), ilExPeerReview\updatePeerReviewTimestamp(), ilExSubmission\updateTextSubmission(), ilExSubmission\updateTutorDownloadTime(), ILIAS\Exercise\Submission\SubmissionRepository\updateWebDirAccessTime(), ilPageObject\writeRenderedContent(), and ilSkillUserLevelDBRepository\writeUserSkillLevelStatus().

1016  : string
1017  {
1018  return date("Y-m-d H:i:s");
1019  }
+ Here is the caller graph for this function:

◆ parseImportId()

static ilUtil::parseImportId ( string  $a_import_id)
static

Parse an ilias import id Typically of type il_[IL_INST_ID]_[OBJ_TYPE]_[OBJ_ID] returns array( 'orig' => 'il_4800_rolt_123' 'prefix' => 'il' 'inst_id => '4800' 'type' => 'rolt' 'id' => '123'.

Deprecated:

Definition at line 1351 of file class.ilUtil.php.

References ILIAS\Repository\int().

Referenced by ilQuestionPageParser\buildTag(), ilECSEnrolmentStatusCommandQueueHandler\handleCreate(), ilAdvancedMDRecordParser\handlerBeginTag(), ilQuestionPageParser\handlerEndTag(), and ilAdvancedMDFieldDefinitionInternalLink\importValueFromXML().

1351  : array
1352  {
1353  $exploded = explode('_', $a_import_id);
1354 
1355  $parsed['orig'] = $a_import_id;
1356  if ($exploded[0] == 'il') {
1357  $parsed['prefix'] = $exploded[0];
1358  }
1359  if (is_numeric($exploded[1])) {
1360  $parsed['inst_id'] = (int) $exploded[1];
1361  }
1362  $parsed['type'] = $exploded[2];
1363 
1364  if (is_numeric($exploded[3])) {
1365  $parsed['id'] = (int) $exploded[3];
1366  }
1367  return $parsed;
1368  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redirect()

static ilUtil::redirect ( string  $a_script)
static
Deprecated:
Use $DIC->ctrl()->redirectToURL() instead

Definition at line 938 of file class.ilUtil.php.

References $DIC, and init().

Referenced by ilLearningProgressGUI\__getNextClass(), ilObjItemGroupGUI\_goto(), ilObjLearningSequence\_goto(), ilObjPollGUI\_goto(), ilObjSystemFolderGUI\_goto(), ilObjGroupGUI\_goto(), ilObjLinkResourceGUI\_goto(), ilObjCourseGUI\_goto(), ilCourseRegistrationGUI\add(), ilGroupRegistrationGUI\add(), ilObjMediaCastGUI\afterSave(), ilObjLinkResourceGUI\afterSave(), ilObjSurveyGUI\afterSave(), ilObjOrgUnitGUI\afterSave(), ilObjSurveyQuestionPoolGUI\afterSave(), ilObjMediaPoolGUI\afterSave(), ilObjLearningSequenceGUI\afterSave(), ilObjQuestionPoolGUI\afterSave(), ilObjCourseGUI\afterSave(), ilTestPlayerAbstractGUI\afterTestPassFinishedCmd(), ilSurveyExecutionGUI\backToRepository(), ilObjTestGUI\backToRepositoryObject(), ilLMPageObjectGUI\cancel(), SurveyQuestionGUI\cancel(), ilMailFormGUI\cancelMail(), ilSharedResourceGUI\cancelPassword(), ilContainerStartObjectsGUI\checkPermission(), ilInternalLinkGUI\closeLinkHelp(), ilObjectCopyGUI\copyMultipleNonContainer(), ilNewsItem\deliverMobFile(), ilImageMapEditorGUI\editImagemapForward(), ilErrorHandling\errorHandler(), ilSAHSEditGUI\executeCommand(), ilDashboardGUI\executeCommand(), ilObjMediaPoolGUI\executeCommand(), ilCalendarPresentationGUI\executeCommand(), ilPublicUserProfileGUI\getHTML(), ilObjWikiGUI\gotoPageObject(), ilObjItemGroupGUI\gotoParent(), ilObjWikiGUI\gotoStartPageObject(), ilMembershipRegistrationCodeUtils\handleCode(), ilSharedResourceGUI\hasAccess(), ilObjSurveyQuestionPoolGUI\importFile(), ilObjSurveyGUI\importSurveyObject(), ilEditClipboardGUI\insert(), ilMailingListsGUI\mailToList(), ilObjRoleGUI\mailToRoleObject(), ilObjSCORMLearningModuleGUI\newModuleVersionUpload(), ilExerciseManagementGUI\openSubmissionViewObject(), ilAssQuestionHintRequestGUI\performRequestCmd(), ilObjLearningSequenceLearnerGUI\play(), ilStartUpGUI\processIndexPHP(), ilShibbolethWAYF\redirect(), ilInitialisation\redirect(), SurveyQuestionGUI\redirectAfterSaving(), ilExerciseManagementGUI\redirectFeedbackMailObject(), ilObjCourseGUI\redirectLocToTestConfirmedObject(), ilObjCourseGUI\redirectLocToTestObject(), ilBookingReservationsGUI\redirectMailToBooker(), ilPortfolioRepositoryGUI\redirectSendMailToSharer(), ilObjLinkResourceGUI\redirectToLink(), ilContentStyleSettingsGUI\saveActiveStyles(), ilMailFormGUI\saveDraft(), ilPersonalProfileGUI\savePublicProfile(), ilContentStyleSettingsGUI\saveScope(), ilLPTableBaseGUI\sendMail(), ilObjContentObjectGUI\sendMailToBlockedUsers(), ilMembershipGUI\sendMailToSelectedUsers(), ilObjAuthSettingsGUI\setAuthModeObject(), ilObjFileBasedLMGUI\setStartFile(), ilTestPlayerAbstractGUI\submitSolutionCmd(), ilObjPollGUI\subscribe(), ilContentStyleSettingsGUI\toggleGlobalDefault(), ilContentStyleSettingsGUI\toggleGlobalFixed(), ilObjPortfolioGUI\toRepository(), ilObjPollGUI\unsubscribe(), ilObjSAHSLearningModuleGUI\uploadObject(), and ilObjPollGUI\vote().

938  : void
939  {
940  global $DIC;
941 
942  if (!isset($DIC['ilCtrl']) || !$DIC['ilCtrl'] instanceof ilCtrl) {
943  (new InitCtrlService())->init($DIC);
944  }
945  $DIC->ctrl()->redirectToURL($a_script);
946  }
Class InitCtrlService wraps the initialization of ilCtrl.
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ replaceLinkProperties()

static ilUtil::replaceLinkProperties ( array  $matches)
staticprivate

Definition at line 246 of file class.ilUtil.php.

References $DIC, $ref_id, and ILIAS\Repository\int().

246  : string
247  {
248  global $DIC;
249  $cache = $DIC['ilObjDataCache'];
250 
251  $link = $matches[0];
252  $ref_id = (int) $matches[2];
253  if ($ref_id > 0) {
254  $obj_id = $cache->lookupObjId($ref_id);
255  if ($obj_id > 0) {
256  $title = $cache->lookupTitle($obj_id);
257  $link = '<a href="' . $matches[1] . '" target="_self">' . $title . '</a>';
258  }
259  }
260 
261  return $link;
262  }
$ref_id
Definition: ltiauth.php:66
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

◆ secureLink()

static ilUtil::secureLink ( string  $a_str)
static
Deprecated:

Definition at line 754 of file class.ilUtil.php.

Referenced by ilObjMediaObjectGUI\savePropertiesObject(), ilObjMediaObjectGUI\setObjectPerCreationForm(), and unmaskAttributeTag().

754  : string
755  {
756  $a_str = str_ireplace("javascript", "jvscrpt", $a_str);
757  $a_str = str_ireplace(["%00",
758  "%0a",
759  "%0d",
760  "%1a",
761  "&#00;",
762  "&#x00;",
763  "&#0;",
764  "&#x0;",
765  "&#x0a;",
766  "&#x0d;",
767  "&#10;",
768  "&#13;"
769  ], "-", $a_str);
770  return $a_str;
771  }
+ Here is the caller graph for this function:

◆ securePlainString()

static ilUtil::securePlainString ( string  $a_str)
static
Deprecated:

Definition at line 563 of file class.ilUtil.php.

Referenced by ilMailFormGUI\editAttachments(), ilMailFormGUI\saveDraft(), ilMailFormGUI\saveMailBeforeSearch(), ilMailFormGUI\search(), ilMailFormGUI\searchUsers(), ilMailFormGUI\sendMessage(), and ilMailFormGUI\showForm().

563  : string
564  {
565  if (ini_get("magic_quotes_gpc")) {
566  return stripslashes($a_str);
567  } else {
568  return $a_str;
569  }
570  }
+ Here is the caller graph for this function:

◆ secureString()

static ilUtil::secureString ( string  $a_str,
bool  $a_strip_html = true,
string  $a_allow = "" 
)
static
Deprecated:

Definition at line 415 of file class.ilUtil.php.

References getSecureTags(), maskSecureTags(), stripScriptHTML(), and unmaskSecureTags().

Referenced by ilOrgUnitExplorerGUI\getNodeContent(), assKprimChoiceGUI\handleAnswerTextsSubmit(), ilUserDataSet\importRecord(), ilTaggingSlateContentGUI\renderResourcesForTag(), ilAssSelfAssessmentQuestionFormatter\stripHtmlExceptSelfAssessmentTags(), and stripSlashes().

415  : string
416  {
417  // check whether all allowed tags can be made secure
418  $only_secure = true;
419  $allow_tags = explode(">", $a_allow);
420  $sec_tags = ilUtil::getSecureTags();
421  $allow_array = [];
422  foreach ($allow_tags as $allow) {
423  if ($allow != "") {
424  $allow = str_replace("<", "", $allow);
425 
426  if (!in_array($allow, $sec_tags)) {
427  $only_secure = false;
428  }
429  $allow_array[] = $allow;
430  }
431  }
432 
433  // default behaviour: allow only secure tags 1:1
434  if (($only_secure || $a_allow == "") && $a_strip_html) {
435  if ($a_allow === "") {
436  $allow_array = ["b",
437  "i",
438  "strong",
439  "em",
440  "code",
441  "cite",
442  "gap",
443  "sub",
444  "sup",
445  "pre",
446  "strike",
447  "bdo"
448  ];
449  }
450 
451  // this currently removes parts of strings like "a <= b"
452  // because "a <= b" is treated like "<spam onclick='hurt()'>ss</spam>"
453  $a_str = ilUtil::maskSecureTags($a_str, $allow_array);
454  $a_str = strip_tags($a_str); // strip all other tags
455  $a_str = ilUtil::unmaskSecureTags($a_str, $allow_array);
456 
457  // a possible solution could be something like:
458  // $a_str = str_replace("<", "&lt;", $a_str);
459  // $a_str = str_replace(">", "&gt;", $a_str);
460  // $a_str = ilUtil::unmaskSecureTags($a_str, $allow_array);
461  //
462  // output would be ok then, but input fields would show
463  // "a &lt;= b" for input "a <= b" if data is brought back to a form
464  } else {
465  // only for scripts, that need to allow more/other tags and parameters
466  if ($a_strip_html) {
467  $a_str = ilUtil::stripScriptHTML($a_str, $a_allow);
468  }
469  }
470 
471  return $a_str;
472  }
static stripScriptHTML(string $a_str, string $a_allow="", bool $a_rm_js=true)
static maskSecureTags(string $a_str, array $allow_array)
static getSecureTags()
static unmaskSecureTags(string $a_str, array $allow_array)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ secureUrl()

static ilUtil::secureUrl ( string  $url)
static
Deprecated:

Definition at line 824 of file class.ilUtil.php.

Referenced by ilGroupedListGUI\getHTML(), ilObjMediaObject\getXML(), and ilTabsGUI\removeNonTabbedLinks().

824  : string
825  {
826  // check if url is valid (absolute or relative)
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) {
832  return "";
833  }
834  if (trim(strtolower(parse_url($url, PHP_URL_SCHEME) ?? '')) === "javascript") {
835  return "";
836  }
837 
838  return htmlspecialchars($url, ENT_QUOTES);
839  }
$url
Definition: shib_logout.php:63
+ Here is the caller graph for this function:

◆ setCookie()

static ilUtil::setCookie ( string  $a_cookie_name,
string  $a_cookie_value = '',
bool  $a_also_set_super_global = true,
bool  $a_set_cookie_invalid = false 
)
static
Deprecated:
use HTTP-service instead

Definition at line 1275 of file class.ilUtil.php.

References $DIC, $http, $response, IL_COOKIE_PATH, and ILIAS\Repository\int().

Referenced by ilInitialisation\determineClient(), ilSoapAdministration\initAuth(), ilLTIViewGUI\logout(), ilStartUpGUI\processIndexPHP(), ilSessionControl\removeSessionCookie(), ilInitialisation\setClientIdCookie(), and ilStartUpGUI\showLogout().

1280  : void {
1281  global $DIC;
1282 
1283  $http = $DIC->http();
1284  $cookie_jar = $http->cookieJar();
1285 
1286  $cookie_factory = new CookieFactoryImpl();
1287 
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;
1291  }
1292 
1293  $expires = null;
1294  if ($a_set_cookie_invalid) {
1295  $expires = time() - 10;
1296  } elseif ($cookie_expire > 0) {
1297  $expires = time() + $cookie_expire;
1298  }
1299 
1300  $cookie = $cookie_factory->create($a_cookie_name, $a_cookie_value)
1301  ->withExpires($expires)
1302  ->withSecure(defined('IL_COOKIE_SECURE') ? IL_COOKIE_SECURE : false)
1303  ->withPath(defined('IL_COOKIE_PATH') ? IL_COOKIE_PATH : '')
1304  ->withDomain(defined('IL_COOKIE_DOMAIN') ? IL_COOKIE_DOMAIN : '')
1305  ->withHttpOnly(defined('IL_COOKIE_HTTPONLY') ? IL_COOKIE_HTTPONLY : false);
1306 
1307 
1308  if (
1309  defined('IL_COOKIE_SECURE') && IL_COOKIE_SECURE &&
1310  (!isset(session_get_cookie_params()['samesite']) || strtolower(session_get_cookie_params()['samesite']) !== 'strict')
1311  ) {
1312  $cookie = $cookie->withSamesite(Cookie::SAMESITE_LAX);
1313  }
1314  $jar = $cookie_jar->with($cookie);
1315  $response = $jar->renderIntoResponseHeader($http->response());
1316  $http->saveResponse($response);
1317  }
$response
Definition: xapitoken.php:90
$http
Definition: deliver.php:14
global $DIC
Definition: shib_login.php:25
const IL_COOKIE_PATH(isset($_GET['client_id']))
Definition: index.php:47
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stripOnlySlashes()

static ilUtil::stripOnlySlashes ( string  $a_str)
static
Deprecated:

Definition at line 403 of file class.ilUtil.php.

Referenced by assQuestionGUI\writeQuestionGenericPostData().

403  : string
404  {
405  if (ini_get("magic_quotes_gpc")) {
406  $a_str = stripslashes($a_str);
407  }
408 
409  return $a_str;
410  }
+ Here is the caller graph for this function:

◆ stripScriptHTML()

static ilUtil::stripScriptHTML ( string  $a_str,
string  $a_allow = "",
bool  $a_rm_js = true 
)
static
Deprecated:

Definition at line 776 of file class.ilUtil.php.

Referenced by ILIAS\components\UICore\MetaTemplate\PageContentGUI\fillHeader(), ilDataCollectionGlobalTemplate\fillHeader(), ilGlobalTemplate\fillHeader(), ilDataCollectionGlobalTemplate\fillWindowTitle(), ilGlobalTemplate\fillWindowTitle(), and secureString().

776  : string
777  {
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);
788  $outer_old_str = "";
789  while ($outer_old_str != $a_str) {
790  $outer_old_str = $a_str;
791  foreach ($negatives as $item) {
792  $pos = strpos($a_allow, "<$item>");
793 
794  // remove complete tag, if not allowed
795  if ($pos === false) {
796  $old_str = "";
797  while ($old_str != $a_str) {
798  $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);
801  }
802  }
803  }
804  }
805 
806  if ($a_rm_js) {
807  // remove all attributes if an "on..." attribute is given
808  $a_str = preg_replace("/<\s*\w*(\/?)(\s+[^>]*)?(\s+on[^>]*)>/i", "", $a_str);
809 
810  // remove all attributes if a "javascript" is within tag
811  $a_str = preg_replace("/<\s*\w*(\/?)\s+[^>]*javascript[^>]*>/i", "", $a_str);
812 
813  // remove all attributes if an "expression" is within tag
814  // (IE allows something like <b style='width:expression(alert(1))'>test</b>)
815  $a_str = preg_replace("/<\s*\w*(\/?)\s+[^>]*expression[^>]*>/i", "", $a_str);
816  }
817 
818  return $a_str;
819  }
+ Here is the caller graph for this function:

◆ stripSlashes()

static ilUtil::stripSlashes ( string  $a_str,
bool  $a_strip_html = true,
string  $a_allow = "" 
)
static
Deprecated:

Definition at line 391 of file class.ilUtil.php.

References secureString().

Referenced by ilObjTaggingSettingsGUI\__construct(), ilSessionReminderCheck\__construct(), ilTaxonomyExplorerGUI\__construct(), ilSearchGUI\__construct(), ilLDAPSettingsGUI\__construct(), ilUserSearchFilter\__parseQueryString(), ilSearchGUI\__parseQueryString(), ilRepositorySearchGUI\__parseQueryString(), ilAdvancedSearchGUI\__performContentSearch(), ilAdvancedSearchGUI\__performEntitySearch(), ilAdvancedSearchGUI\__performGeneralSearch(), ilAdvancedSearchGUI\__performKeywordSearch(), ilAdvancedSearchGUI\__performLifecycleSearch(), ilAdvancedSearchGUI\__performTaxonSearch(), ilAdvancedSearchGUI\__performTitleSearch(), ilObjUserGUI\__sendProfileMail(), ilPCParagraph\_input2xml(), ilFileUtils\_sanitizeFilemame(), ilObjContentObjectGUI\addTooltip(), ilPCInteractiveImage\addTriggerArea(), ILIAS\Style\Content\Filter\FilterManager\apply(), ilCmiXapiStatementsGUI\asyncUserAutocompleteCmd(), ilLTIConsumerXapiStatementsGUI\asyncUserAutocompleteCmd(), ilLTIConsumerGradeSynchronizationGUI\asyncUserAutocompleteCmd(), ilObjForumGUI\autosaveDraftAsyncObject(), ilObjForumGUI\autosaveThreadDraftAsyncObject(), ilRepositoryTrashGUI\buildPath(), ilDashboardBlockGUI\changePDItemPresentationObject(), ilDashboardBlockGUI\changePDItemSortingObject(), ilClozeGapInputBuilderGUI\checkInput(), ilFileInputGUI\checkInput(), ilObjSurvey\cloneTextblocks(), ilFileSystemGUI\createDirectory(), ilObjFileBasedLMGUI\createFromDirectory(), ilObjForumGUI\decorateWithAutosave(), ilExAssignmentEditorGUI\deleteAssignmentsObject(), ilMailAttachmentGUI\deleteAttachments(), ilFileSystemGUI\deleteFile(), ilPCInteractiveImage\deleteOverlay(), ilPCInteractiveImageGUI\deleteOverlays(), ilObjSurveyGUI\doAutoCompleteObject(), ilObjContentObjectGUI\doExportHTML(), ilObjContentObjectGUI\doExportXML(), ilStartUpGUI\doSamlAuthentication(), ilSCORM13PlayerGUI\downloadLog(), ilObjLanguageExtGUI\downloadObject(), ilMailGUI\executeCommand(), ilCronManagerGUI\executeCommand(), assQuestionGUI\executeCommand(), ilObjMediaPoolGUI\export(), ilObjContentObjectGUI\export(), ilObjContentObjectGUI\exportHTML(), ilFileSystemGUI\extCommand(), ilExportIDTableGUI\fillRow(), ilPDNewsTableGUI\fillRow(), ilMailSearchObjectMembershipsTableGUI\fillRow(), ilObjTestGUI\forwardCommandToQuestion(), ilMailTemplateGUI\getAjaxPlaceholdersById(), ilPCDataTableGUI\getCellContent(), ilObjUser\getFullname(), ilFormulaInputGUI\getInput(), ilTextAreaInputGUI\getInput(), ilUserLPTableGUI\getItems(), ilLMQuestionListTableGUI\getItems(), ilAssignedUsersTableGUI\getItems(), ilSCORMTrackingItemsTableGUI\getItems(), ilSCORM2004TrackingItemsTableGUI\getItems(), ilTrUserObjectsPropsTableGUI\getItems(), ilTrObjectUsersPropsTableGUI\getItems(), ilTrSummaryTableGUI\getItems(), ilExplorerBaseGUI\getNodeAsync(), assAnswerCloze\getNumericValueFromText(), ilObjForumGUI\getOrderByParam(), ilSCORMPackageParser\getPackageTitle(), assTextQuestion\getSolutionSubmit(), ilTaggingGUI\getTagsFromInput(), ilUserTableGUI\getUserIdsForFilter(), ilChatroomInviteUsersToPrivateRoomGUI\getUserList(), ilPCParagraph\handleAjaxContent(), ilObjSessionGUI\handleFileUpload(), ilObjForumGUI\handleFormInput(), ilSCORMPackageParser\handlerCharacterData(), ilChatroomXMLParser\handlerEndTag(), ilForumXMLParser\handlerEndTag(), ilSCORM13Package\il_import(), ilContentPageDataSet\importRecord(), ilScormAiccImporter\importXmlRepresentation(), ilPresentationFullGUI\initFilter(), ilPresentationTableGUI\initFilter(), ILIAS\COPage\PC\MediaObject\MediaObjectCommandActionHandler\insertCommand(), ILIAS\COPage\PC\Paragraph\ParagraphCommandActionHandler\insertParagraph(), ilECSUser\loadFromGET(), ilLDAPRoleGroupMappingSettings\loadFromPost(), ilECSSettingsGUI\loadFromPost(), ilObjEmployeeTalkSeriesGUI\loadRecurrenceSettings(), ilEmployeeTalkAppointmentGUI\loadRecurrenceSettings(), ilObjSessionGUI\loadRecurrenceSettings(), ilLDAPSettingsGUI\loadRoleAssignmentRule(), ilMailSearchGUI\lookupRecipientAsync(), ilMailFormGUI\lookupRecipientAsync(), ilObjLanguageExtGUI\maintainExecuteObject(), ilMediaPoolExportOptionXMLMasterNoMedia\onExportOptionSelected(), ilMediaPoolExportOptionXMLMaster\onExportOptionSelected(), ilCSVReader\open(), ilSCORM13PlayerGUI\openLog(), assQuestionGUI\outChapterSelector(), assQuestionGUI\outPageSelector(), ilSCORMTrackingUsersTableGUI\parse(), ilTrashTableGUI\parse(), ilFileSystemGUI\parseCurrentDirectory(), ilObjStudyProgrammeAutoMembershipsGUI\parseQueryString(), ilRepositorySearchGUI\performSearch(), ilLegacyFormElementsUtil\prepareFormOutput(), ilAnswerWizardInputGUI\prepareFormOutput(), ilLMPageGUI\processAnswer(), ilICalParser\purgeString(), ilMailBodyPurifier\purify(), ilInitialisation\redirect(), ilLuceneSearchGUI\remoteSearch(), ilFileSystemGUI\renameFile(), ilObjForumGUI\renderPostingForm(), ilTable2GUI\restoreTemplate(), ilEMailInputGUI\sanitize(), ilFileSystemGUI\sanitizeCurrentDirectory(), ilQtiMatImageSecurity\sanitizeLabel(), ilChatroomFormFactory\saniziteArrayElementsTrafo(), ilLMEditShortTitlesGUI\save(), ilLMPageObjectGUI\save(), ilObjSkillTreeGUI\saveAllTemplateTitles(), ilObjSkillTreeGUI\saveAllTitles(), ilExerciseSubmissionFeedbackGUI\saveCommentForLearners(), ilExerciseManagementGUI\saveEvaluationFromModalObject(), ilObjContentObjectGUI\saveExportIds(), ilObjWikiGUI\saveGradingObject(), ilObjSystemFolderGUI\saveHeaderTitlesObject(), ilSurveyEditorGUI\saveHeadingObject(), ilObjSystemFolderGUI\saveJavaServerObject(), ILIAS\Test\Scoring\Manual\TestScoringByQuestionGUI\saveManScoringByQuestion(), ILIAS\Test\Scoring\Manual\TestScoringByParticipantGUI\saveManScoringParticipantScreen(), ilObjLanguageExtGUI\saveObject(), ilObjPortfolioBaseGUI\savePortfolioPagesOrdering(), ilObjTaxonomyGUI\saveSorting(), ilPortfolioRepositoryGUI\saveTitles(), ilObjectTranslationGUI\saveTranslations(), ilLegalDocumentsAdministrationGUI\searchUser(), ilPCTableGUI\setAlignment(), ilForumPageCommandForwarder\setBackLinkTab(), ilContentPagePageCommandForwarder\setBackLinkTab(), ilPCInteractiveImage\setMapAreaProperties(), ilObjMediaObjectGUI\setObjectPerCreationForm(), ilLDAPRoleGroupMappingSetting\setRoleByName(), ilPCTableGUI\setStyles(), ilPCInteractiveImage\setTriggerProperties(), ilPCTableGUI\setWidths(), ilCalendarCategoryGUI\sharePerformSearch(), ilRepositoryTrashGUI\showDeleteConfirmation(), ilStartUpGUI\showSamlLoginForm(), ilObjSCORM2004LearningModuleGUI\showTrackingItems(), ilObjSCORMLearningModuleGUI\showTrackingItems(), ilObjSCORM2004LearningModuleGUI\showTrackingItemsBySco(), ilObjSCORMLearningModuleGUI\showTrackingItemsBySco(), ilObjForumGUI\showUserObject(), ILIAS\COPage\PC\Paragraph\ParagraphCommandActionHandler\split(), ilBadgeGUIRequest\strArray(), ILIAS\User\UserGUIRequest\strArray(), ILIAS\Export\HTML\HTMLUtil\strip(), ILIAS\Repository\strip(), ilCertificateUtilHelper\stripSlashes(), ilFormPropertyGUI\stripSlashesAddSpaceFallback(), SurveyQuestion\stripSlashesAddSpaceFallback(), ilArrayUtil\stripSlashesArray(), ilArrayUtil\stripSlashesRecursive(), assLongMenuGUI\stripSlashesRecursive(), ilClozeGapInputBuilderGUI\stripSlashesRecursive(), ilDataSet\stripTags(), ilBuddySystemGUI\transitionAsyncCommand(), ilContainerBaseXmlParser\trimAndStrip(), ilStyleImportParser\trimAndStrip(), ilExerciseXMLParser\trimAndStrip(), ilMDSaxParser\trimAndStrip(), SurveyImportParser\trimAndStrip(), ILIAS\UI\Implementation\Component\Layout\Page\PageCommandActionHandler\updateCommand(), ilPCDataTableGUI\updateJS(), ilMDKeyword\updateKeywords(), ilObjLinkResourceGUI\updateLinks(), ilExerciseXMLParser\updateMarking(), ilSessionMembershipGUI\updateMembers(), ILIAS\COPage\PC\Paragraph\ParagraphCommandActionHandler\updateParagraph(), ilAdvancedMDSettingsGUI\updateRecords(), ilRegistrationGUI\updateSubscriptionRequest(), ilFileSystemGUI\uploadFile(), ilObjLanguageExtGUI\uploadObject(), ilObjForumGUI\viewThreadObject(), and assMatchingQuestionGUI\writeAnswerSpecificPostData().

391  : string
392  {
393  if (ini_get("magic_quotes_gpc")) {
394  $a_str = stripslashes($a_str);
395  }
396 
397  return ilUtil::secureString($a_str, $a_strip_html, $a_allow);
398  }
static secureString(string $a_str, bool $a_strip_html=true, string $a_allow="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ switchColor()

static ilUtil::switchColor ( int  $a_num,
string  $a_css1,
string  $a_css2 
)
static

switches style sheets for each even $a_num (used for changing colors of different result rows)

Deprecated:

Definition at line 206 of file class.ilUtil.php.

Referenced by ilObjForumGUI\renderPostContent(), and ilForumExportGUI\renderPostHtml().

206  : string
207  {
208  if (!($a_num % 2)) {
209  return $a_css1;
210  } else {
211  return $a_css2;
212  }
213  }
+ Here is the caller graph for this function:

◆ tf2yn()

static ilUtil::tf2yn ( bool  $a_tf)
static
Deprecated:

Definition at line 909 of file class.ilUtil.php.

Referenced by ilObjContentObject\exportXMLProperties(), ilObjRoleGUI\permSaveObject(), ilUserPrivacySettingsGUI\savePrivacySettings(), ilObjSAHSLearningModule\setAutoReview(), ilObjGlossary\update(), ilObjSAHSLearningModule\update(), and ilObjContentObject\updateProperties().

909  : string
910  {
911  if ($a_tf) {
912  return "y";
913  } else {
914  return "n";
915  }
916  }
+ Here is the caller graph for this function:

◆ unmaskAttributeTag()

static ilUtil::unmaskAttributeTag ( string  $a_str,
string  $tag,
string  $tag_att 
)
staticprivate

Definition at line 679 of file class.ilUtil.php.

References $DIC, and secureLink().

Referenced by unmaskSecureTags().

679  : string
680  {
681  global $DIC;
682 
683  $ilLog = $DIC["ilLog"];
684 
685  while (preg_match(
686  '/&lt;(' . $tag . ' ' . $tag_att . $tag_att . '="(([$@!*()~;,_0-9A-z\/:=%.&#?+\-])*)")&gt;/i',
687  $a_str,
688  $found
689  )) {
690  $old_str = $a_str;
691  $a_str = preg_replace(
692  "/&lt;" . preg_quote($found[1], "/") . "&gt;/i",
693  '<' . $tag . ' ' . $tag_att . '="' . ilUtil::secureLink($found[2]) . '">',
694  $a_str
695  );
696  if ($old_str == $a_str) {
697  $ilLog->write(
698  "ilUtil::unmaskA-" . htmlentities($old_str) . " == " .
699  htmlentities($a_str)
700  );
701  return $a_str;
702  }
703  }
704  $a_str = str_replace('&lt;/' . $tag . '&gt;', '</' . $tag . '>', $a_str);
705  return $a_str;
706  }
static secureLink(string $a_str)
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ unmaskSecureTags()

static ilUtil::unmaskSecureTags ( string  $a_str,
array  $allow_array 
)
staticprivate

Definition at line 529 of file class.ilUtil.php.

References unmaskAttributeTag(), and unmaskTag().

Referenced by secureString().

529  : string
530  {
531  foreach ($allow_array as $t) {
532  switch ($t) {
533  case "a":
534  $a_str = ilUtil::unmaskAttributeTag($a_str, "a", "href");
535  break;
536 
537  case "img":
538  $a_str = ilUtil::unmaskAttributeTag($a_str, "img", "src");
539  break;
540 
541  case "p":
542  case "div":
543  $a_str = ilUtil::unmaskTag($a_str, $t, [
544  ["param" => "align", "value" => "left"],
545  ["param" => "align", "value" => "center"],
546  ["param" => "align", "value" => "justify"],
547  ["param" => "align", "value" => "right"]
548  ]);
549  break;
550 
551  default:
552  $a_str = ilUtil::unmaskTag($a_str, $t);
553  break;
554  }
555  }
556 
557  return $a_str;
558  }
static unmaskAttributeTag(string $a_str, string $tag, string $tag_att)
static unmaskTag(string $a_str, string $tag, array $fix_param=[])
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ unmaskTag()

static ilUtil::unmaskTag ( string  $a_str,
string  $tag,
array  $fix_param = [] 
)
staticprivate

Definition at line 734 of file class.ilUtil.php.

Referenced by unmaskSecureTags().

734  : string
735  {
736  $a_str = str_replace("&lt;" . $tag . "&gt;", "<" . $tag . ">", $a_str);
737  $a_str = str_replace("&lt;/" . $tag . "&gt;", "</" . $tag . ">", $a_str);
738 
739  foreach ($fix_param as $p) {
740  $k = $p["param"];
741  $v = $p["value"];
742  $a_str = str_replace(
743  "&lt;$tag $k=\"$v\"&gt;",
744  "<" . "$tag $k=\"$v\"" . ">",
745  $a_str
746  );
747  }
748  return $a_str;
749  }
+ Here is the caller graph for this function:

◆ yn2tf()


The documentation for this class was generated from the following file: