Application
Interfaces, Classes, Traits and Enums
- Parsedown
- ParsedownExtra
- Parsedown
- ParsedownExtra
- BkTree
- A serialisable BK-Tree Implementation.
- JsonStorageBox
- Represents a key-value data store.
- Nilsimsa
- The MIT License (MIT)
- BkTree
- A serialisable BK-Tree Implementation.
- StorageBox
- Represents a key-value data store.
- Slimdown
- Modified by Starbeamrainbowlabs (starbeamrainbowlabs)
- PeppermintParsedown
- The Peppermint-flavoured Parsedown parser.
- Parsedown
- ParsedownExtra
Table of Contents
- PEPPERMINTY_WIKI_BUILD = \true
- register_module() : mixed
- Registers a new Pepperminty Wiki module. All module files should call this first.
- url_stem() : string
- Get the stem URL at which this Pepperminty Wiki instance is located You can just append ?get_params_here to this and it will be a valid URL.
- path_resolve() : string
- Resolves a relative path against a given base directory.
- is_directory_empty() : bool
- Determines if a directory is empty or not.
- filepath_to_pagename() : string
- Converts a filepath to a page name.
- slugify() : string
- Slugifies a given string such that it can only contain a-z0-9-_.
- minify_css() : string
- Minifies CSS. Uses simple computationally-cheap optimisations to reduce size.
- delete_recursive() : mixed
- Recursively deletes a directory and it's contents.
- crypto_id() : string
- Generates a crytographically-safe random id of the given length.
- is_cli() : bool
- Returns whether we are both on the cli AND the cli is enabled.
- metrics2servertiming() : string
- send_cookie() : void
- Sets a cookie on the client via the set-cookie header.
- standard_deviation() : float
- Calculates the standard deviation of an array of numbers.
- time_callable() : mixed
- tree_create() : mixed
- tree_save() : mixed
- tree_load() : mixed
- test_search_linear() : mixed
- writegraph() : mixed
- test_auto() : mixed
- path_resolve() : string
- Resolves a relative path against a given base directory.
- lines_count() : mixed
- ensure_cli() : void
- Ensures that the current execution environment is the command-line interface.
- cli() : void
- Parses $_SERVER["argv"] and provides a command-line interface.
- cli_shell() : mixed
- Starts the Pepperminty Wiki CLI Shell.
- cli_exec() : int
- Executes a given Pepperminty Wiki shell command.
- cli_register() : void
- Registers a new CLI command.
- do_system_checks() : mixed
- interwiki_index_update() : mixed
- Updates the interwiki index cache file.
- estimate_reading_time() : array<string|int, mixed>
- Estimates the reading time for a given lump of text.
- find_revisionid_timestamp() : int
- Given a page name and timestamp, returns the associated page revision number.
- render_recent_change_atom() : string
- Renders a list of recent changes as an Atom 1.0 feed.
- standard_deviation() : float
- Calculates the standard deviation of an array of numbers.
- similar_suggest() : array<string|int, mixed>
- Given a page name, returns a list fo similar pages.
- theme_update() : bool
- Updates the currently selected theme by fetching it from a remote url.
- email_user_verify() : bool
- Sends a verification email to the specified user, assuming they need to verify their email address.
- generate_password() : string
- Generates a new (cryptographically secure) random password that's also readable (i.e. consonant-vowel-consonant).
- debug_mask_secrets() : string
- Masks secrets in debug output.
- generate_page_hash() : string
- Generates a unique hash of a page's content for edit conflict detection purposes.
- do_password_hash_code_update() : mixed
- Recalculates and updates the password hashing cost.
- hash_password_properties() : array<string|int, mixed>
- Figures out the appropriate algorithm & options for hashing passwords based on the current settings.
- verify_password() : bool
- Verifies a user's password against a pre-generated hash.
- hash_password_update() : string|null
- Determines if the provided password needs re-hashing or not.
- hash_password_compute_cost() : int
- Computes the appropriate cost value for password_hash based on the settings automatically.
- parsedown_pagename_resolve() : string
- Attempts to 'auto-correct' a page name by trying different capitalisation combinations.
- log_str() : mixed
- Logs a string to stdout, but only on the CLI.
- module_list_search() : bool
- module_list_find() : mixed
Constants
PEPPERMINTY_WIKI_BUILD
public
mixed
PEPPERMINTY_WIKI_BUILD
= \true
Functions
register_module()
Registers a new Pepperminty Wiki module. All module files should call this first.
register_module(array<string|int, mixed> $settings) : mixed
Parameters
- $settings : array<string|int, mixed>
-
An associative array defining the module.
Return values
mixed —url_stem()
Get the stem URL at which this Pepperminty Wiki instance is located You can just append ?get_params_here to this and it will be a valid URL.
url_stem([array<string|int, mixed> $s = false ][, bool $use_forwarded_host = false ]) : string
Uses full_url() under the hood. Note that this is based on the URL of the current request.
Parameters
- $s : array<string|int, mixed> = false
-
The $_SERVER variable (defaults to $_SERVER)
- $use_forwarded_host : bool = false
-
Whether to use the x-forwarded-host header or ignore it.
Return values
string —The stem url, as described above
path_resolve()
Resolves a relative path against a given base directory.
path_resolve(string $path[, string|null $basePath = null ]) : string
Parameters
- $path : string
-
The relative path to resolve.
- $basePath : string|null = null
-
The base directory to resolve against.
Tags
Return values
string —An absolute path.
is_directory_empty()
Determines if a directory is empty or not.
is_directory_empty(string $dir) : bool
Parameters
- $dir : string
-
The path to the directory to check.
Tags
Return values
bool —True if the directory is empty, or false if it is not empty.
filepath_to_pagename()
Converts a filepath to a page name.
filepath_to_pagename(string $filepath) : string
Parameters
- $filepath : string
-
The filepath to convert.
Return values
string —The extracted pagename.
slugify()
Slugifies a given string such that it can only contain a-z0-9-_.
slugify(string $text) : string
Also automatically makes it lowercase.
Parameters
- $text : string
-
The text to operate on.
Return values
string —The slugified string.
minify_css()
Minifies CSS. Uses simple computationally-cheap optimisations to reduce size.
minify_css(string $css_str) : string
CSS Minification ideas by Jean from catswhocode.com
Parameters
- $css_str : string
-
The string of CSS to minify.
Tags
Return values
string —The minified CSS string.
delete_recursive()
Recursively deletes a directory and it's contents.
delete_recursive(string $path[, bool $delete_self = true ]) : mixed
Adapted by Starbeamrainbowlabs
Parameters
- $path : string
-
The path to the directory to delete.
- $delete_self : bool = true
-
Whether to delete the top-level directory. Set this to false to delete only a directory's contents
Tags
Return values
mixed —crypto_id()
Generates a crytographically-safe random id of the given length.
crypto_id(int $length) : string
Parameters
- $length : int
-
The length of id to generate.
Return values
string —The random id.
is_cli()
Returns whether we are both on the cli AND the cli is enabled.
is_cli() : bool
Return values
bool —metrics2servertiming()
metrics2servertiming(stdClass $perfdata) : string
Parameters
- $perfdata : stdClass
Return values
string —send_cookie()
Sets a cookie on the client via the set-cookie header.
send_cookie(string $key, string $value, int $expires) : void
Uses setcookie() under-the-hood.
Parameters
- $key : string
-
The cookie name to set.
- $value : string
-
The cookie value to set.
- $expires : int
-
The expiry time to set on the cookie.
Return values
void —standard_deviation()
Calculates the standard deviation of an array of numbers.
standard_deviation(array<string|int, mixed> $array) : float
Parameters
- $array : array<string|int, mixed>
-
The array of numbers to calculate the standard deviation of.
Tags
Return values
float —The standard deviation of the numbers in the given array.
time_callable()
time_callable(mixed $callable) : mixed
Parameters
- $callable : mixed
Return values
mixed —tree_create()
tree_create() : mixed
Return values
mixed —tree_save()
tree_save(BkTree $tree) : mixed
Parameters
- $tree : BkTree
Return values
mixed —tree_load()
tree_load() : mixed
Return values
mixed —test_search_linear()
test_search_linear() : mixed
Return values
mixed —writegraph()
writegraph() : mixed
Return values
mixed —test_auto()
test_auto() : mixed
Return values
mixed —path_resolve()
Resolves a relative path against a given base directory.
path_resolve(string $path[, string|null $basePath = null ]) : string
Parameters
- $path : string
-
The relative path to resolve.
- $basePath : string|null = null
-
The base directory to resolve against.
Tags
Return values
string —An absolute path.
lines_count()
lines_count(mixed $handle) : mixed
Parameters
- $handle : mixed
Return values
mixed —ensure_cli()
Ensures that the current execution environment is the command-line interface.
ensure_cli() : void
This function will not return if thisthe current execution environment is not the CLI.
Return values
void —cli()
Parses $_SERVER["argv"] and provides a command-line interface.
cli() : void
This function kill the process if the current execution environment is not the CLI.
Return values
void —cli_shell()
Starts the Pepperminty Wiki CLI Shell.
cli_shell() : mixed
This function kill the process if the current execution environment is not the CLI.
Return values
mixed —cli_exec()
Executes a given Pepperminty Wiki shell command.
cli_exec(string|array<string|int, mixed> $string) : int
This function kill the process if the current execution environment is not the CLI. The returned exit code functions as a normal shell process exit code does.
Parameters
- $string : string|array<string|int, mixed>
-
The shell command to execute.
Return values
int —The exit code of the command executed.
cli_register()
Registers a new CLI command.
cli_register(string $name, string $description, callable $function) : void
Throws an error if a CLI command with the specified name already exists.
Parameters
- $name : string
-
The name of command.
- $description : string
-
The description of the command.
- $function : callable
-
The function to execute when this command is executed. An array is passed as the first and only argument containing the arguments passed when the command was invoked.
Return values
void —do_system_checks()
do_system_checks() : mixed
Return values
mixed —interwiki_index_update()
Updates the interwiki index cache file.
interwiki_index_update() : mixed
If the interwiki_index_location isn't defined, then this function will do nothing.
Return values
mixed —estimate_reading_time()
Estimates the reading time for a given lump of text.
estimate_reading_time(string $text[, string $lang = "en" ]) : array<string|int, mixed>
Ref https://github.com/sbrl/Pepperminty-Wiki/issues/172 (has snippet of original code from Firefox & link to study from which the numbers are taken).
Parameters
- $text : string
-
The text to estimate for.
- $lang : string = "en"
-
The language code of the text - defaults to "en"
Return values
array<string|int, mixed> —An array in the form [ low_time, high_time ] in minutes
find_revisionid_timestamp()
Given a page name and timestamp, returns the associated page revision number.
find_revisionid_timestamp(string $pagename, mixed $timestamp) : int
Parameters
- $pagename : string
-
The page name to obtain the revision number for.
- $timestamp : mixed
Return values
int —The revision number of the given page at the given time.
render_recent_change_atom()
Renders a list of recent changes as an Atom 1.0 feed.
render_recent_change_atom(array<string|int, mixed> $recent_changes) : string
Requires the XMLWriter PHP class.
Parameters
- $recent_changes : array<string|int, mixed>
-
The array of recent changes to render.
Return values
string —The recent changes as an Atom 1.0 feed.
standard_deviation()
Calculates the standard deviation of an array of numbers.
standard_deviation(array<string|int, mixed> $array) : float
Parameters
- $array : array<string|int, mixed>
-
The array of numbers to calculate the standard deviation of.
Tags
Return values
float —The standard deviation of the numbers in the given array.
similar_suggest()
Given a page name, returns a list fo similar pages.
similar_suggest(string $pagename, string $content[, bool $limit_output = true ]) : array<string|int, mixed>
Parameters
- $pagename : string
-
The name of the page to return suggestions for.
- $content : string
-
The content of the given page.
- $limit_output : bool = true
Return values
array<string|int, mixed> —A list of suggested page names in the format pagename => rank.
theme_update()
Updates the currently selected theme by fetching it from a remote url.
theme_update([bool $force_update = false ]) : bool
Parameters
- $force_update : bool = false
-
Whether to force an update - even if we've already updated recently.
Return values
bool —Whether the update was sucessful. It might fail because of network issues, or the theme update requires a newer version of Pepperminty Wiki than is currently installed.
email_user_verify()
Sends a verification email to the specified user, assuming they need to verify their email address.
email_user_verify(string $username) : bool
If a user does not need to verify their email address, no verification email is sent and true is returned.
Parameters
- $username : string
-
The name of the user to send the verification code to.
Return values
bool —Whether the verification code was sent successfully. If a user does not need to verify their email address, this returns true.
generate_password()
Generates a new (cryptographically secure) random password that's also readable (i.e. consonant-vowel-consonant).
generate_password(string $length) : string
This implementation may be changed in the future to use random dictionary words instead - ref https://xkcd.com/936/
Parameters
- $length : string
-
The length of password to generate.
Return values
string —The generated random password.
debug_mask_secrets()
Masks secrets in debug output.
debug_mask_secrets(string $text) : string
Parameters
- $text : string
-
The text to mask.
Return values
string —The masked text.
generate_page_hash()
Generates a unique hash of a page's content for edit conflict detection purposes.
generate_page_hash(string $page_data) : string
Parameters
- $page_data : string
-
The page text to hash.
Return values
string —A hash of the given page text.
do_password_hash_code_update()
Recalculates and updates the password hashing cost.
do_password_hash_code_update() : mixed
Return values
mixed —hash_password_properties()
Figures out the appropriate algorithm & options for hashing passwords based on the current settings.
hash_password_properties() : array<string|int, mixed>
Return values
array<string|int, mixed> —The appropriate password hashing algorithm and options.
verify_password()
Verifies a user's password against a pre-generated hash.
verify_password(string $pass, string $hash) : bool
Parameters
- $pass : string
-
The user's password.
- $hash : string
-
The hash to compare against.
Return values
bool —Whether the password matches the has or not.
hash_password_update()
Determines if the provided password needs re-hashing or not.
hash_password_update(string $pass, string $hash) : string|null
Parameters
- $pass : string
-
The password to check.
- $hash : string
-
The hash of the provided password to check.
Return values
string|null —Returns null if an updaste is not required - otherwise returns the new updated hash.
hash_password_compute_cost()
Computes the appropriate cost value for password_hash based on the settings automatically.
hash_password_compute_cost([bool $verbose = false ]) : int
Starts at 10 and works upwards in increments of 1. Goes on until a value is found that's greater than the target - or 10x the target time elapses.
Parameters
- $verbose : bool = false
-
Whether to output verbose progress information to the client or not.
Return values
int —The automatically calculated password hashing cost.
parsedown_pagename_resolve()
Attempts to 'auto-correct' a page name by trying different capitalisation combinations.
parsedown_pagename_resolve(string $pagename) : string
Parameters
- $pagename : string
-
The page name to auto-correct.
Return values
string —The auto-corrected page name.
log_str()
Logs a string to stdout, but only on the CLI.
log_str(string $line) : mixed
Parameters
- $line : string
-
The line to log.
Return values
mixed —module_list_search()
module_list_search(array<string|int, mixed> $list, string $id) : bool
Parameters
- $list : array<string|int, mixed>
- $id : string
Return values
bool —module_list_find()
module_list_find(array<string|int, mixed> $list, string $id) : mixed
Parameters
- $list : array<string|int, mixed>
- $id : string