Utils
in package
Class Utils
Table of Contents
Constants
- ROOTURL_REGEX = '{^((?:http[s]?:\/\/[^\/]+)|(?:\/\/[^\/]+))(.*)}'
Properties
- $nonces : array<string|int, mixed>
Methods
- arrayCombine() : array<string|int, mixed>|false
- Array combine but supports different array lengths
- arrayDiffMultidimensional() : array<string|int, mixed>
- Returns an array with the differences between $array1 and $array2
- arrayFilterRecursive() : array<string|int, mixed>
- Recursively filter an array, filtering values by processing them through the $fn function argument
- arrayFlatten() : array<string|int, mixed>
- Flatten an array
- arrayFlattenDotNotation() : array<string|int, mixed>
- Flatten a multi-dimensional associative array into dot notation
- arrayIsAssociative() : bool
- Array is associative or not
- arrayLower() : array<string|int, mixed>|false
- Lowercase an entire array. Useful when combined with `in_array()`
- arrayMergeRecursiveUnique() : array<string|int, mixed>
- Recursive Merge with uniqueness
- arrayRemoveValue() : array<string|int, mixed>
- Simple function to remove item/s in an array by value
- arrayToQueryParams() : array<string|int, mixed>
- Flatten a multi-dimensional associative array into query params.
- arrayUnflattenDotNotation() : array<string|int, mixed>
- Opposite of flatten, convert flat dot notation array to multi dimensional array.
- basename() : string
- Unicode-safe version of the PHP basename() function.
- checkFilename() : bool
- Returns true if filename is considered safe.
- contains() : bool
- Check if the $haystack string contains the substring $needle
- convertSize() : int
- Convert bytes to the unit specified by the $to parameter.
- date2timestamp() : int
- Get the timestamp of a date
- dateFormats() : array<string|int, mixed>
- Return the Grav date formats allowed
- dateNow() : string
- Get current date/time
- download() : mixed
- Provides the ability to download a file to the browser
- endsWith() : bool
- Check if the $haystack string ends with the substring $needle
- fullPath() : string
- Helper method to find the full path to a file, be it a stream, a relative path, or already a full path
- functionExists() : bool
- Check whether a function exists.
- generateRandomString() : string
- Generate a random string of a given length
- getDotNotation() : mixed
- Get a portion of an array (passed by reference) with dot-notation key
- getExtensionByMime() : string
- Return the mimetype based on filename extension
- getExtensions() : array<string|int, mixed>
- Get all the extensions for an array of mimetypes
- getExtensionsByMime() : array<string|int, string>
- Return all extensions for given mimetype. The first extension is the default one.
- getMimeByExtension() : string
- Return the mimetype based on filename extension
- getMimeByFilename() : string
- Return the mimetype based on filename
- getMimeByLocalFile() : string|bool
- Return the mimetype based on existing local file
- getMimeTypes() : array<string|int, mixed>
- Get all the mimetypes for an array of extensions
- getNonce() : string
- Creates a hashed nonce tied to the passed action. Tied to the current user and time. The nonce for a given action is the same for 12 hours.
- getPageFormat() : string
- Returns the output render format, usually the extension provided in the URL. (e.g. `html`, `json`, `xml`, etc).
- getPagePathFromToken() : string
- Get relative page path based on a token.
- getPathFromToken() : string
- Get relative path based on a token.
- getSubnet() : string
- Find the subnet of an ip with CIDR prefix size
- getSupportPageTypes() : array<string|int, mixed>
- Wrapper to ensure html, htm in the front of the supported page types
- getUploadLimit() : int
- isAdminPlugin() : bool
- Simple helper method to get whether or not the admin plugin is active
- isApache() : bool
- Utility to determine if the server running PHP is Apache
- isAssoc() : bool
- isDangerousFunction() : bool
- isFilesystemFunction() : bool
- isFunctionDisabled() : bool
- Check whether a function is disabled in the PHP settings
- isNegative() : bool
- Checks if a value is negative (false)
- isPositive() : bool
- Checks if a value is positive (true)
- isWindows() : bool
- Utility method to determine if the current OS is Windows
- matchWildcard() : false|int
- Function that can match wildcards
- mb_substr_replace() : string
- Multibyte compatible substr_replace
- mergeObjects() : object
- Merge two objects into one.
- multibyteParseUrl() : array<string|int, mixed>
- Multibyte-safe Parse URL function
- normalizePath() : string
- Normalize path by processing relative `.` and `..` syntax and merging path
- parseSize() : int
- Parse a readable file size and return a value in bytes
- pathinfo() : array<string|int, mixed>|string
- Unicode-safe version of PHP’s pathinfo() function.
- pathPrefixedByLangCode() : bool|string
- Checks if the passed path contains the language code prefix
- prettySize() : string
- Return a pretty size based on bytes
- processMarkdown() : string
- Process a string as markdown
- replaceFirstOccurrence() : string
- Utility method to replace only the first occurrence in a string
- replaceLastOccurrence() : string
- Utility method to replace only the last occurrence in a string
- resolve() : mixed
- safeTruncate() : string
- Truncate text by number of characters in a "word-safe" manor.
- safeTruncateHtml() : string
- Truncate HTML by number of characters in a "word-safe" manor.
- setDotNotation() : mixed
- Set portion of array (passed by reference) for a dot-notation key and set the value
- simpleTemplate() : string
- Render simple template filling up the variables in it. If value is not defined, leave it as it was.
- sortArrayByArray() : array<string|int, mixed>
- Sort a multidimensional array by another array of ordered keys
- sortArrayByKey() : array<string|int, mixed>
- Sort an array by a key value in the array
- startsWith() : bool
- Check if the $haystack string starts with the substring $needle
- substrToString() : string
- Returns the substring of a string up to a specified needle. if not found, return the whole haystack
- timezones() : array<string|int, mixed>
- Get the formatted timezones list
- toAscii() : string
- truncate() : string
- Truncate text by number of characters but can cut off words.
- truncateHtml() : string
- Truncate HTML by number of characters. not "word-safe"!
- uniqueId() : string
- Generates a random string with configurable length, prefix and suffix.
- url() : string|false
- Simple helper method to make getting a Grav URL easier
- verifyNonce() : bool
- Verify the passed nonce for the give action
- resolveTokenPath() : array<string|int, string>|null
- Returns [token, route, path] from '@token/route:/path'. Route and path are optional. If pattern does not match, return null.
- generateNonceString() : string
- Generates a nonce string to be hashed. Called by self::getNonce() We removed the IP portion in this version because it causes too many inconsistencies with reverse proxy setups.
- nonceTick() : int
- Get the time-dependent variable for nonce creation.
Constants
ROOTURL_REGEX
protected
mixed
ROOTURL_REGEX
= '{^((?:http[s]?:\/\/[^\/]+)|(?:\/\/[^\/]+))(.*)}'
Properties
$nonces
protected
static array<string|int, mixed>
$nonces
= []
Methods
arrayCombine()
Array combine but supports different array lengths
public
static arrayCombine(array<string|int, mixed> $arr1, array<string|int, mixed> $arr2) : array<string|int, mixed>|false
Parameters
- $arr1 : array<string|int, mixed>
- $arr2 : array<string|int, mixed>
Return values
array<string|int, mixed>|falsearrayDiffMultidimensional()
Returns an array with the differences between $array1 and $array2
public
static arrayDiffMultidimensional(array<string|int, mixed> $array1, array<string|int, mixed> $array2) : array<string|int, mixed>
Parameters
- $array1 : array<string|int, mixed>
- $array2 : array<string|int, mixed>
Return values
array<string|int, mixed>arrayFilterRecursive()
Recursively filter an array, filtering values by processing them through the $fn function argument
public
static arrayFilterRecursive(array<string|int, mixed> $source, callable $fn) : array<string|int, mixed>
Parameters
- $source : array<string|int, mixed>
-
the Array to filter
- $fn : callable
-
the function to pass through each array item
Return values
array<string|int, mixed>arrayFlatten()
Flatten an array
public
static arrayFlatten(array<string|int, mixed> $array) : array<string|int, mixed>
Parameters
- $array : array<string|int, mixed>
Return values
array<string|int, mixed>arrayFlattenDotNotation()
Flatten a multi-dimensional associative array into dot notation
public
static arrayFlattenDotNotation(array<string|int, mixed> $array[, string $prepend = '' ]) : array<string|int, mixed>
Parameters
- $array : array<string|int, mixed>
- $prepend : string = ''
Return values
array<string|int, mixed>arrayIsAssociative()
Array is associative or not
public
static arrayIsAssociative(array<string|int, mixed> $arr) : bool
Parameters
- $arr : array<string|int, mixed>
Return values
boolarrayLower()
Lowercase an entire array. Useful when combined with `in_array()`
public
static arrayLower(array<string|int, mixed> $a) : array<string|int, mixed>|false
Parameters
- $a : array<string|int, mixed>
Return values
array<string|int, mixed>|falsearrayMergeRecursiveUnique()
Recursive Merge with uniqueness
public
static arrayMergeRecursiveUnique(array<string|int, mixed> $array1, array<string|int, mixed> $array2) : array<string|int, mixed>
Parameters
- $array1 : array<string|int, mixed>
- $array2 : array<string|int, mixed>
Return values
array<string|int, mixed>arrayRemoveValue()
Simple function to remove item/s in an array by value
public
static arrayRemoveValue(array<string|int, mixed> $search, string|array<string|int, mixed> $value) : array<string|int, mixed>
Parameters
- $search : array<string|int, mixed>
- $value : string|array<string|int, mixed>
Return values
array<string|int, mixed>arrayToQueryParams()
Flatten a multi-dimensional associative array into query params.
public
static arrayToQueryParams(array<string|int, mixed> $array[, string $prepend = '' ]) : array<string|int, mixed>
Parameters
- $array : array<string|int, mixed>
- $prepend : string = ''
Return values
array<string|int, mixed>arrayUnflattenDotNotation()
Opposite of flatten, convert flat dot notation array to multi dimensional array.
public
static arrayUnflattenDotNotation(array<string|int, mixed> $array[, string $separator = '.' ]) : array<string|int, mixed>
If any of the parent has a scalar value, all children get ignored:
admin.pages=true admin.pages.read=true
becomes
admin: pages: true
Parameters
- $array : array<string|int, mixed>
- $separator : string = '.'
Return values
array<string|int, mixed>basename()
Unicode-safe version of the PHP basename() function.
public
static basename(string $path[, string $suffix = '' ]) : string
Parameters
- $path : string
- $suffix : string = ''
Tags
Return values
stringcheckFilename()
Returns true if filename is considered safe.
public
static checkFilename(string $filename) : bool
Parameters
- $filename : string
Return values
boolcontains()
Check if the $haystack string contains the substring $needle
public
static contains(string $haystack, string|array<string|int, string> $needle[, bool $case_sensitive = true ]) : bool
Parameters
- $haystack : string
- $needle : string|array<string|int, string>
- $case_sensitive : bool = true
Return values
boolconvertSize()
Convert bytes to the unit specified by the $to parameter.
public
static convertSize(int $bytes, string $to[, int $decimal_places = 1 ]) : int
Parameters
- $bytes : int
-
The filesize in Bytes.
- $to : string
-
The unit type to convert to. Accepts K, M, or G for Kilobytes, Megabytes, or Gigabytes, respectively.
- $decimal_places : int = 1
-
The number of decimal places to return.
Return values
int —Returns only the number of units, not the type letter. Returns 0 if the $to unit type is out of scope.
date2timestamp()
Get the timestamp of a date
public
static date2timestamp(string $date[, string|null $format = null ]) : int
Parameters
- $date : string
-
a String expressed in the system.pages.dateformat.default format, with fallback to a strtotime argument
- $format : string|null = null
-
a date format to use if possible
Return values
int —the timestamp
dateFormats()
Return the Grav date formats allowed
public
static dateFormats() : array<string|int, mixed>
Return values
array<string|int, mixed>dateNow()
Get current date/time
public
static dateNow([string|null $default_format = null ]) : string
Parameters
- $default_format : string|null = null
Tags
Return values
stringdownload()
Provides the ability to download a file to the browser
public
static download(string $file[, bool $force_download = true ][, int $sec = 0 ][, int $bytes = 1024 ][, array<string|int, mixed> $options = [] ]) : mixed
Parameters
- $file : string
-
the full path to the file to be downloaded
- $force_download : bool = true
-
as opposed to letting browser choose if to download or render
- $sec : int = 0
-
Throttling, try 0.1 for some speed throttling of downloads
- $bytes : int = 1024
-
Size of chunks to send in bytes. Default is 1024
- $options : array<string|int, mixed> = []
-
Extra options: [mime, download_name, expires]
Tags
endsWith()
Check if the $haystack string ends with the substring $needle
public
static endsWith(string $haystack, string|array<string|int, string> $needle[, bool $case_sensitive = true ]) : bool
Parameters
- $haystack : string
- $needle : string|array<string|int, string>
- $case_sensitive : bool = true
Return values
boolfullPath()
Helper method to find the full path to a file, be it a stream, a relative path, or already a full path
public
static fullPath(string $path) : string
Parameters
- $path : string
Return values
stringfunctionExists()
Check whether a function exists.
public
static functionExists(string $function) : bool
Disabled functions count as non-existing functions, just like in PHP 8+.
Parameters
- $function : string
-
the name of the function to check
Return values
boolgenerateRandomString()
Generate a random string of a given length
public
static generateRandomString([int $length = 5 ]) : string
Parameters
- $length : int = 5
Return values
stringgetDotNotation()
Get a portion of an array (passed by reference) with dot-notation key
public
static getDotNotation(array<string|int, mixed> $array, string|int|null $key[, null $default = null ]) : mixed
Parameters
- $array : array<string|int, mixed>
- $key : string|int|null
- $default : null = null
getExtensionByMime()
Return the mimetype based on filename extension
public
static getExtensionByMime(string $mime[, string $default = 'html' ]) : string
Parameters
- $mime : string
-
mime type (eg "text/html")
- $default : string = 'html'
-
default value
Return values
stringgetExtensions()
Get all the extensions for an array of mimetypes
public
static getExtensions(array<string|int, mixed> $mimetypes) : array<string|int, mixed>
Parameters
- $mimetypes : array<string|int, mixed>
Return values
array<string|int, mixed>getExtensionsByMime()
Return all extensions for given mimetype. The first extension is the default one.
public
static getExtensionsByMime(string $mime) : array<string|int, string>
Parameters
- $mime : string
-
Mime type (eg 'image/jpeg')
Return values
array<string|int, string> —List of extensions eg. ['jpg', 'jpe', 'jpeg']
getMimeByExtension()
Return the mimetype based on filename extension
public
static getMimeByExtension(string $extension[, string $default = 'application/octet-stream' ]) : string
Parameters
- $extension : string
-
Extension of file (eg "txt")
- $default : string = 'application/octet-stream'
Return values
stringgetMimeByFilename()
Return the mimetype based on filename
public
static getMimeByFilename(string $filename[, string $default = 'application/octet-stream' ]) : string
Parameters
- $filename : string
-
Filename or path to file
- $default : string = 'application/octet-stream'
-
default value
Return values
stringgetMimeByLocalFile()
Return the mimetype based on existing local file
public
static getMimeByLocalFile(string $filename[, string $default = 'application/octet-stream' ]) : string|bool
Parameters
- $filename : string
-
Path to the file
- $default : string = 'application/octet-stream'
Return values
string|boolgetMimeTypes()
Get all the mimetypes for an array of extensions
public
static getMimeTypes(array<string|int, mixed> $extensions) : array<string|int, mixed>
Parameters
- $extensions : array<string|int, mixed>
Return values
array<string|int, mixed>getNonce()
Creates a hashed nonce tied to the passed action. Tied to the current user and time. The nonce for a given action is the same for 12 hours.
public
static getNonce(string $action[, bool $previousTick = false ]) : string
Parameters
- $action : string
-
the action the nonce is tied to (e.g. save-user-admin or move-page-homepage)
- $previousTick : bool = false
-
if true, generates the token for the previous tick (the previous 12 hours)
Return values
string —the nonce
getPageFormat()
Returns the output render format, usually the extension provided in the URL. (e.g. `html`, `json`, `xml`, etc).
public
static getPageFormat() : string
Return values
stringgetPagePathFromToken()
Get relative page path based on a token.
public
static getPagePathFromToken(string $path[, PageInterface|null $page = null ]) : string
Parameters
- $path : string
- $page : PageInterface|null = null
Tags
Return values
stringgetPathFromToken()
Get relative path based on a token.
public
static getPathFromToken(string $path[, FlexObjectInterface|PageInterface|null $object = null ]) : string
Path supports following syntaxes:
'self@', 'self@/path' 'page@:/route', 'page@:/route/filename.ext' 'theme@:', 'theme@:/path'
Parameters
- $path : string
- $object : FlexObjectInterface|PageInterface|null = null
Tags
Return values
stringgetSubnet()
Find the subnet of an ip with CIDR prefix size
public
static getSubnet(string $ip[, int $prefix = 64 ]) : string
Parameters
- $ip : string
- $prefix : int = 64
Return values
stringgetSupportPageTypes()
Wrapper to ensure html, htm in the front of the supported page types
public
static getSupportPageTypes([array<string|int, mixed>|null $defaults = null ]) : array<string|int, mixed>
Parameters
- $defaults : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>getUploadLimit()
public
static getUploadLimit() : int
Return values
intisAdminPlugin()
Simple helper method to get whether or not the admin plugin is active
public
static isAdminPlugin() : bool
Return values
boolisApache()
Utility to determine if the server running PHP is Apache
public
static isApache() : bool
Return values
boolisAssoc()
public
static isAssoc(array<string|int, mixed> $array) : bool
Parameters
- $array : array<string|int, mixed>
Return values
boolisDangerousFunction()
public
static isDangerousFunction(string|array<string|int, mixed>|Closure $name) : bool
Parameters
- $name : string|array<string|int, mixed>|Closure
Return values
boolisFilesystemFunction()
public
static isFilesystemFunction(string $name) : bool
Parameters
- $name : string
Return values
boolisFunctionDisabled()
Check whether a function is disabled in the PHP settings
public
static isFunctionDisabled(string $function) : bool
Parameters
- $function : string
-
the name of the function to check
Return values
boolisNegative()
Checks if a value is negative (false)
public
static isNegative(string $value) : bool
Parameters
- $value : string
Return values
boolisPositive()
Checks if a value is positive (true)
public
static isPositive(string $value) : bool
Parameters
- $value : string
Return values
boolisWindows()
Utility method to determine if the current OS is Windows
public
static isWindows() : bool
Return values
boolmatchWildcard()
Function that can match wildcards
public
static matchWildcard(string $wildcard_pattern, string $haystack) : false|int
match_wildcard('foo*', $test), // TRUE match_wildcard('bar*', $test), // FALSE match_wildcard('bar', $test), // TRUE match_wildcard('blob', $test), // TRUE match_wildcard('a?d', $test), // TRUE match_wildcard('etc*', $test) // TRUE
Parameters
- $wildcard_pattern : string
- $haystack : string
Return values
false|intmb_substr_replace()
Multibyte compatible substr_replace
public
static mb_substr_replace(string $original, string $replacement, int $position, int $length) : string
Parameters
- $original : string
- $replacement : string
- $position : int
- $length : int
Return values
stringmergeObjects()
Merge two objects into one.
public
static mergeObjects(object $obj1, object $obj2) : object
Parameters
- $obj1 : object
- $obj2 : object
Return values
objectmultibyteParseUrl()
Multibyte-safe Parse URL function
public
static multibyteParseUrl(string $url) : array<string|int, mixed>
Parameters
- $url : string
Tags
Return values
array<string|int, mixed>normalizePath()
Normalize path by processing relative `.` and `..` syntax and merging path
public
static normalizePath(string $path) : string
Parameters
- $path : string
Return values
stringparseSize()
Parse a readable file size and return a value in bytes
public
static parseSize(string|int|float $size) : int
Parameters
- $size : string|int|float
Return values
intpathinfo()
Unicode-safe version of PHP’s pathinfo() function.
public
static pathinfo(string $path[, int|null $flags = null ]) : array<string|int, mixed>|string
Parameters
- $path : string
- $flags : int|null = null
Tags
Return values
array<string|int, mixed>|stringpathPrefixedByLangCode()
Checks if the passed path contains the language code prefix
public
static pathPrefixedByLangCode(string $string) : bool|string
Parameters
- $string : string
-
The path
Return values
bool|string —Either false or the language
prettySize()
Return a pretty size based on bytes
public
static prettySize(int $bytes[, int $precision = 2 ]) : string
Parameters
- $bytes : int
- $precision : int = 2
Return values
stringprocessMarkdown()
Process a string as markdown
public
static processMarkdown(string $string[, bool $block = true ][, PageInterface|null $page = null ]) : string
Parameters
- $string : string
- $block : bool = true
-
Block or Line processing
- $page : PageInterface|null = null
Tags
Return values
stringreplaceFirstOccurrence()
Utility method to replace only the first occurrence in a string
public
static replaceFirstOccurrence(string $search, string $replace, string $subject) : string
Parameters
- $search : string
- $replace : string
- $subject : string
Return values
stringreplaceLastOccurrence()
Utility method to replace only the last occurrence in a string
public
static replaceLastOccurrence(string $search, string $replace, string $subject) : string
Parameters
- $search : string
- $replace : string
- $subject : string
Return values
stringresolve()
public
static resolve(array<string|int, mixed> $array, string $path[, null $default = null ]) : mixed
Use ->getDotNotation() method instead.
Parameters
- $array : array<string|int, mixed>
- $path : string
- $default : null = null
safeTruncate()
Truncate text by number of characters in a "word-safe" manor.
public
static safeTruncate(string $string[, int $limit = 150 ]) : string
Parameters
- $string : string
- $limit : int = 150
Return values
stringsafeTruncateHtml()
Truncate HTML by number of characters in a "word-safe" manor.
public
static safeTruncateHtml(string $text[, int $length = 25 ][, string $ellipsis = '...' ]) : string
Parameters
- $text : string
- $length : int = 25
-
in words
- $ellipsis : string = '...'
Return values
stringsetDotNotation()
Set portion of array (passed by reference) for a dot-notation key and set the value
public
static setDotNotation(array<string|int, mixed> &$array, string|int|null $key, mixed $value[, bool $merge = false ]) : mixed
Parameters
- $array : array<string|int, mixed>
- $key : string|int|null
- $value : mixed
- $merge : bool = false
simpleTemplate()
Render simple template filling up the variables in it. If value is not defined, leave it as it was.
public
static simpleTemplate(string $template, array<string|int, mixed> $variables[, array<string|int, mixed> $brackets = ['{', '}'] ]) : string
Parameters
- $template : string
-
Template string
- $variables : array<string|int, mixed>
-
Variables with values
- $brackets : array<string|int, mixed> = ['{', '}']
-
Optional array of opening and closing brackets or symbols
Return values
string —Final string filled with values
sortArrayByArray()
Sort a multidimensional array by another array of ordered keys
public
static sortArrayByArray(array<string|int, mixed> $array, array<string|int, mixed> $orderArray) : array<string|int, mixed>
Parameters
- $array : array<string|int, mixed>
- $orderArray : array<string|int, mixed>
Return values
array<string|int, mixed>sortArrayByKey()
Sort an array by a key value in the array
public
static sortArrayByKey(mixed $array, string|int $array_key[, int $direction = SORT_DESC ][, int $sort_flags = SORT_REGULAR ]) : array<string|int, mixed>
Parameters
- $array : mixed
- $array_key : string|int
- $direction : int = SORT_DESC
- $sort_flags : int = SORT_REGULAR
Return values
array<string|int, mixed>startsWith()
Check if the $haystack string starts with the substring $needle
public
static startsWith(string $haystack, string|array<string|int, string> $needle[, bool $case_sensitive = true ]) : bool
Parameters
- $haystack : string
- $needle : string|array<string|int, string>
- $case_sensitive : bool = true
Return values
boolsubstrToString()
Returns the substring of a string up to a specified needle. if not found, return the whole haystack
public
static substrToString(string $haystack, string $needle[, bool $case_sensitive = true ]) : string
Parameters
- $haystack : string
- $needle : string
- $case_sensitive : bool = true
Return values
stringtimezones()
Get the formatted timezones list
public
static timezones() : array<string|int, mixed>
Return values
array<string|int, mixed>toAscii()
public
static toAscii(string $string) : string
Parameters
- $string : string
Return values
stringtruncate()
Truncate text by number of characters but can cut off words.
public
static truncate(string $string[, int $limit = 150 ][, bool $up_to_break = false ][, string $break = ' ' ][, string $pad = '…' ]) : string
Parameters
- $string : string
- $limit : int = 150
-
Max number of characters.
- $up_to_break : bool = false
-
truncate up to breakpoint after char count
- $break : string = ' '
-
Break point.
- $pad : string = '…'
-
Appended padding to the end of the string.
Return values
stringtruncateHtml()
Truncate HTML by number of characters. not "word-safe"!
public
static truncateHtml(string $text[, int $length = 100 ][, string $ellipsis = '...' ]) : string
Parameters
- $text : string
- $length : int = 100
-
in characters
- $ellipsis : string = '...'
Return values
stringuniqueId()
Generates a random string with configurable length, prefix and suffix.
public
static uniqueId([int $length = 13 ][, array<string|int, mixed> $options = [] ]) : string
Unlike the built-in uniqid(), this string is non-conflicting and safe
Parameters
- $length : int = 13
- $options : array<string|int, mixed> = []
Tags
Return values
stringurl()
Simple helper method to make getting a Grav URL easier
public
static url(string|object $input[, bool $domain = false ][, bool $fail_gracefully = false ]) : string|false
Parameters
- $input : string|object
- $domain : bool = false
- $fail_gracefully : bool = false
Return values
string|falseverifyNonce()
Verify the passed nonce for the give action
public
static verifyNonce(string|array<string|int, string> $nonce, string $action) : bool
Parameters
- $nonce : string|array<string|int, string>
-
the nonce to verify
- $action : string
-
the action to verify the nonce to
Return values
bool —verified or not
resolveTokenPath()
Returns [token, route, path] from '@token/route:/path'. Route and path are optional. If pattern does not match, return null.
protected
static resolveTokenPath(string $path) : array<string|int, string>|null
Parameters
- $path : string
Return values
array<string|int, string>|nullgenerateNonceString()
Generates a nonce string to be hashed. Called by self::getNonce() We removed the IP portion in this version because it causes too many inconsistencies with reverse proxy setups.
private
static generateNonceString(string $action[, bool $previousTick = false ]) : string
Parameters
- $action : string
- $previousTick : bool = false
-
if true, generates the token for the previous tick (the previous 12 hours)
Return values
string —the nonce string
nonceTick()
Get the time-dependent variable for nonce creation.
private
static nonceTick() : int
Now a tick lasts a day. Once the day is passed, the nonce is not valid any more. Find a better way to ensure nonces issued near the end of the day do not expire in that small amount of time
Return values
int —the time part of the nonce. Changes once every 24 hours