Stud.IP  5.4
functions.php File Reference

Namespaces

 studip_cores
 

Functions

 get_object_name ($range_id, $object_type)
 
 get_object_by_range_id ($range_id)
 
 checkObject ()
 
 checkObjectModule ($module, $is_plugin_name=false)
 
 closeObject ()
 
 get_object_type ($id, $check_only=[])
 
 select_group ($sem_start_time)
 
 my_substr ($what, $start, $end)
 
 get_fullname ($user_id="", $format="full", $htmlready=false)
 
 get_fullname_from_uname ($uname="", $format="full", $htmlready=false)
 
 get_username ($user_id="")
 
 get_userid ($username="")
 
 get_sem_tree_path ($seminar_id, $depth=false, $delimeter=">")
 
 check_and_set_date ($tag, $monat, $jahr, $stunde, $minute, &$arr, $field)
 
 re_sort_dozenten ($s_id, $position)
 
 re_sort_tutoren ($s_id, $position)
 
 get_next_position ($status, $seminar_id)
 
 StringToFloat ($str)
 
 archiv_check_perm ($seminar_id)
 
 get_users_online ($active_time=5, $name_format='full_rev')
 
 get_users_online_count ($active_time=10)
 
 get_ticket ()
 
 check_ticket ($studipticket)
 
 search_range ($search_str=false, $search_user=false, $show_sem=true)
 
 format_help_url ($keyword)
 
 words ($what)
 
 legacy_studip_utf8decode ($data)
 
 encode_header_parameter ($name, $value)
 
 get_title_for_status ($type, $count, $sem_type=NULL)
 
 is_internal_url ($url)
 
 studygroup_sem_types ()
 
 addHiddenFields ($variable, $data, $parent=[])
 
 array_flatten ($ary)
 
 reltime ($timestamp, $verbose=true, $displayed_levels=1, $tolerance=5)
 
 relsize ($size, $verbose=true, $displayed_levels=1, $glue=', ', $truncate=false)
 
 get_route ($route='')
 
 match_route ($requested_route, $current_route='')
 
 studip_default_exception_handler ($exception)
 
 strtocamelcase ($string, $ucfirst=false)
 
 strtosnakecase ($string)
 
 strtokebabcase ($string)
 
 count_table_rows ($table)
 
 studip_relative_path ($filepath)
 
 array_to_csv ($data, $filename=null, $caption=null, $delimiter=';', $enclosure='"', $eol = "\r\n", $add_bom = true )
 
 rmdirr ($dirname)
 
 get_mime_types ()
 
 get_mime_type ($filename)
 
 readfile_chunked ($filename, $start=null, $end=null)
 
 get_default_http_stream_context ($url='')
 
 encodeURI (string $uri)
 
 randomString (int $length=32)
 
 xml_escape ($string)
 

Function Documentation

◆ addHiddenFields()

addHiddenFields (   $variable,
  $data,
  $parent = [] 
)

generates form fields for the submitted multidimensional array

Parameters
string$variablethe name of the array, which is filled with the data
mixed$datathe data-array
mixed$parentleave this entry as is
Returns
string the inputs of type hidden as html

◆ archiv_check_perm()

archiv_check_perm (   $seminar_id)

check which perms the currently logged in user had in the passed archived seminar

array $perm object $auth array $archiv_perms

Parameters
string$seminar_idthe seminar in the archive
Returns
string the perm the user had

◆ array_flatten()

array_flatten (   $ary)

Returns a new array that is a one-dimensional flattening of this array (recursively). That is, for every element that is an array, extract its elements into the new array.

Parameters
array$arythe array to be flattened
Returns
array the flattened array

◆ array_to_csv()

array_to_csv (   $data,
  $filename = null,
  $caption = null,
  $delimiter = ';',
  $enclosure = '"',
  $eol = "\r\n",
  $add_bom = true 
)

converts a given array to a csv format

Parameters
array$datathe data to convert, each row should be an array
string$filenamefull path to a file to write to, if omitted the csv content is returned
array$captionassoc array with captions, is written to the first line, $data is filtered by keys
string$delimitersets the field delimiter (one character only)
string$enclosuresets the field enclosure (one character only)
string$eolsets the end of line format
Returns
mixed if $filename is given the number of written bytes, else the csv content as string

◆ check_and_set_date()

check_and_set_date (   $tag,
  $monat,
  $jahr,
  $stunde,
  $minute,
$arr,
  $field 
)

check_and_set_date

Checks if given date is valid and sets field in array accordingly. (E.g. $admin_admission_data['admission_enddate'])

Parameters
mixed$tagday or placeholder for day
mixed$monatmonth or placeholder for month
mixed$jahryear or placeholder for year
mixed$stundehours or placeholder for hours
mixed$minuteminutes or placeholder for minutes
array&$arrReference to array to update. If NULL, only check is performed
mixed$fieldName of field in array to be set
Returns
bool true if date was valid, false else

◆ check_ticket()

check_ticket (   $studipticket)

check if the passed ticket is valid

Parameters
string$studipticketthe ticket-id to check
Returns
bool

◆ checkObject()

checkObject ( )

This function checks, if there is an open Veranstaltung or Einrichtung

Exceptions
CheckObjectException
Returns
void

◆ checkObjectModule()

checkObjectModule (   $module,
  $is_plugin_name = false 
)

This function checks, if given module is allowed for this stud.ip-object.

Exceptions
CheckObjectException
Parameters
string$modulethe module to check for
bool$is_plugin_nameis the module name old style ( "wiki","scm") or new style (the name of the plugin)
Returns
StudipModule

◆ closeObject()

closeObject ( )

This function closes a opened Veranstaltung or Einrichtung

Returns
void

◆ count_table_rows()

count_table_rows (   $table)

fetch number of rows for a table for innodb this is not exact, but much faster than count(*)

Parameters
string$tablename of database table
Returns
int number of rows

◆ encode_header_parameter()

encode_header_parameter (   $name,
  $value 
)

Encode an HTTP header parameter (e.g. filename for 'Content-Disposition').

Parameters
string$nameparameter name
string$valueparameter value
Returns
string encoded header text (using RFC 2616 or 5987 encoding)

◆ encodeURI()

encodeURI ( string  $uri)

Encodes an uri just like encodeURI() in Javascript would do.

encodeURI() escapes all characters except:

A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
Parameters
string$uri
Returns
string
See also
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

◆ format_help_url()

format_help_url (   $keyword)

format_help_url($keyword) returns URL for given help keyword

Parameters
string$keywordthe help-keyword
Returns
string the help-url

◆ get_default_http_stream_context()

get_default_http_stream_context (   $url = '')
Parameters
string$url
Returns
resource

◆ get_fullname()

get_fullname (   $user_id = "",
  $format = "full",
  $htmlready = false 
)

Retrieves the fullname for a given user_id

Parameters
string$user_idif omitted, current user_id is used
string$formatoutput format
bool$htmlreadyif true, htmlReady is applied to all output-strings
Returns
string

◆ get_fullname_from_uname()

get_fullname_from_uname (   $uname = "",
  $format = "full",
  $htmlready = false 
)

Retrieves the fullname for a given username

Parameters
string$unameif omitted, current user_id is used
string$formatoutput format
bool$htmlreadyif true, htmlReady is applied to all output-strings
Returns
string

◆ get_mime_type()

get_mime_type (   $filename)

Determines an appropriate MIME type for a file based on the extension of the file name.

Parameters
string$filenamefile name to check

◆ get_mime_types()

get_mime_types ( )

Returns the mapping of extensions to supported MIME types.

◆ get_next_position()

get_next_position (   $status,
  $seminar_id 
)

return the highest position-number increased by one for the passed user-group in the passed seminar

Parameters
string$statuscan be on of 'tutor', 'dozent', ...
string$seminar_idthe seminar to work on
Returns
int the next available position

◆ get_object_by_range_id()

get_object_by_range_id (   $range_id)

Returns a sorm object for a given range_id

Parameters
stringthe range_id
Returns
bool|SimpleORMap Course/Institute/User/Statusgruppen/

◆ get_object_name()

get_object_name (   $range_id,
  $object_type 
)

returns an array containing name and type of the passed objeact denoted by $range_id

array $SEM_TYPE array $INST_TYPE array $SEM_TYPE_MISC_NAME

Parameters
string$range_idthe id of the object
string$object_typethe type of the object
Returns
array an array containing name and type of the object

◆ get_object_type()

get_object_type (   $id,
  $check_only = [] 
)

This function determines the type of the passed id

The function recognizes the following types at the moment: Einrichtungen, Veranstaltungen, Statusgruppen and Fakultaeten

array $object_type_cache

Parameters
string$idthe id of the object
array$check_onlyan array to narrow the search, may contain 'sem', 'inst', 'fak', 'group' or 'dokument' (optional)
Returns
string return "inst" (Einrichtung), "sem" (Veranstaltung), "fak" (Fakultaeten), "group" (Statusgruppe), "dokument" (Dateien)

◆ get_route()

get_route (   $route = '')

extracts route

Parameters
string$routeroute (optional, uses REQUEST_URI otherwise)
Returns
string route

◆ get_sem_tree_path()

get_sem_tree_path (   $seminar_id,
  $depth = false,
  $delimeter = ">" 
)

Return an array containing the nodes of the sem-tree-path

Parameters
string$seminar_idthe seminar to get the path for
int$depththe depth
string$delimetera string to separate the path parts
Returns
array

◆ get_ticket()

get_ticket ( )

return a studip-ticket

Returns
string a unique id referring to a newly created ticket

◆ get_title_for_status()

get_title_for_status (   $type,
  $count,
  $sem_type = NULL 
)

Get the title used for the given status ('dozent', 'tutor' etc.) for the specified SEM_TYPE. Alternative titles can be defined in the config.inc.php.

array $SEM_TYPE array $DEFAULT_TITLE_FOR_STATUS

Parameters
string$typestatus ('dozent', 'tutor', 'autor', 'user' or 'accepted')
int$countcount, this determines singular or plural form of title
int$sem_typesem_type of course (defaults to type of current course)
Returns
string translated title for status

◆ get_userid()

get_userid (   $username = "")

Retrieves the userid for a given username

uses global $online array if user is online

object $auth array $cache

Parameters
string$usernameif omitted, current user_id will be returned
Returns
string

◆ get_username()

get_username (   $user_id = "")

Retrieves the username for a given user_id

object $auth array $cache

Parameters
string$user_idif omitted, current username will be returned
Returns
string

◆ get_users_online()

get_users_online (   $active_time = 5,
  $name_format = 'full_rev' 
)

retrieve a list of all online users

object $user array $_fullname_sql

Parameters
int$active_timefilter: the time in minutes until last life-sign
string$name_formatformat the fullname shall have
Returns
array

◆ get_users_online_count()

get_users_online_count (   $active_time = 10)

get the number of currently online users

Parameters
int$active_timefilter: the time in minutes until last life-sign
Returns
int

◆ is_internal_url()

is_internal_url (   $url)

Test whether the given URL refers to some page or resource of this Stud.IP installation.

Parameters
string$urlurl to check
Returns
mixed

◆ legacy_studip_utf8decode()

legacy_studip_utf8decode (   $data)

Encodes a string or array from UTF-8 to Stud.IP encoding (WINDOWS-1252/ISO-8859-1 with numeric HTML-ENTITIES)

Parameters
mixed$dataa string in UTF-8 or an array with all strings encoded in utf-8
Returns
string the string in WINDOWS-1252/HTML-ENTITIES

◆ match_route()

match_route (   $requested_route,
  $current_route = '' 
)

compares actual route to requested route

Parameters
string$requested_routerequested route (for help content or tour)
string$current_routecurrent route (optional)
Returns
boolean result

◆ my_substr()

my_substr (   $what,
  $start,
  $end 
)

The function shortens a string, but it uses the first 2/3 and the last 1/3

The parts will be divided by a "[...]". The functions is to use like php's mb_substr function.

Parameters
string$whatthe original string
integer$startstart pos, 0 is the first pos
integer$endend pos
Returns
string

◆ randomString()

randomString ( int  $length = 32)

◆ re_sort_dozenten()

re_sort_dozenten (   $s_id,
  $position 
)

reset the order-positions for the lecturers in the passed seminar, starting at the passed position

Parameters
string$s_idthe seminar to work on
int$positionthe position to start with
Returns
void

◆ re_sort_tutoren()

re_sort_tutoren (   $s_id,
  $position 
)

reset the order-positions for the tutors in the passed seminar, starting at the passed position

Parameters
string$s_idthe seminar to work on
int$positionthe position to start with
Returns
void

◆ readfile_chunked()

readfile_chunked (   $filename,
  $start = null,
  $end = null 
)

◆ relsize()

relsize (   $size,
  $verbose = true,
  $displayed_levels = 1,
  $glue = ',
,
  $truncate = false 
)

Displays a filesize in a (shortened) human readable form including the according units. For instance, 1234567 would be displayed as "1 MB" or 12345 would be displayed as "12 kB". The function can display the units in a short or a long form ("1 b" vs. "1 Byte"). Optionally, more than one unit part can be displayed. For instance, 1234567 could also be displayed as "1 MB, 234 kB, 567 b".

Parameters
int$sizeThe raw filesize as integer
bool$verboseUse short or long unit names
int$displayed_levelsHow many unit parts should be displayed
String$glueText used to glue the different unit parts together
Returns
String The filesize in human readable form.

◆ reltime()

reltime (   $timestamp,
  $verbose = true,
  $displayed_levels = 1,
  $tolerance = 5 
)

Displays "relative time" - a textual representation between now and a certain timestamp, e.g. "3 hours ago".

Parameters
int$timestampTimestamp to relate to.
bool$verboseDisplay long or short texts (optional)
int$displayed_levelsHow many levels shall be displayed
int$toleranceDefines a tolerance area of seconds around now (How many seconds must have passed until the function won't return "now")
Returns
String Textual representation of the difference between the passed timestamp and now

◆ rmdirr()

rmdirr (   $dirname)

Delete a file, or a folder and its contents

Author
Aidan Lister aidan.nosp@m.@php.nosp@m..net
Version
1.0
Parameters
string$dirnameThe directory to delete
Returns
bool Returns true on success, false on failure

◆ search_range()

search_range (   $search_str = false,
  $search_user = false,
  $show_sem = true 
)

searches

array $perm object $user array $_fullname_sql

Parameters
string$search_stroptional search-string
string$search_useroptional user to search for
bool$show_semif true, the seminar is added to the result
Returns
array

◆ select_group()

select_group (   $sem_start_time)

This function calculates one of the group colors unique for the semester of the passed timestamp

It calculates a unique color number to create the initial entry for a new user in a seminar. It will create a unique number for every semester and will start over, if the max. number (7) is reached.

Parameters
integer$sem_start_timethe timestamp of the start time from the Semester
Returns
integer the color number

◆ StringToFloat()

StringToFloat (   $str)

converts a string to a float, depending on the locale

Parameters
string$strthe string to convert to float
Returns
float the string casted to float

◆ strtocamelcase()

strtocamelcase (   $string,
  $ucfirst = false 
)

Converts a string to camelCase.

Parameters
String$stringThe string that should be converted
bool$ucfirstUppercase the very first character as well (optional, defaults to false)
Returns
String containing the converted input string

◆ strtokebabcase()

strtokebabcase (   $string)

Converts a string to kebab-case.

Parameters
String$stringThe string that should be converted
Returns
String containing the converted input string

◆ strtosnakecase()

strtosnakecase (   $string)

Converts a string to snake_case.

Parameters
String$stringThe string that should be converted
Returns
String containing the converted input string

◆ studip_default_exception_handler()

studip_default_exception_handler (   $exception)

◆ studip_relative_path()

studip_relative_path (   $filepath)

get the file path relative to the STUDIP_BASE_PATH

Parameters
stringpath of the file
Returns
string relative path of the file

◆ studygroup_sem_types()

studygroup_sem_types ( )

Return the list of SEM_TYPES that represent study groups in this Stud.IP installation.

Returns
array list of SEM_TYPES used for study groups

◆ words()

words (   $what)

Splits a string by space characters and returns these words as an array. If an array is given, returns the array itself.

Parameters
mixed$whatwhat to split
Returns
array the words of the string as array

◆ xml_escape()

xml_escape (   $string)

escapes special characters for xml use

Parameters
string$stringthe string to escape
Returns
string