Useful functions for sprout in general
This is the code documentation for the SproutCMS project
Search documentation |
class SproutUseful functions for sprout in general
Extending this class<?php
/**
* New class description goes here
*
* @author Your Name, 2025-12-05
**/
class NewClassName extends Sprout {
/**
* Translate an array which may contain a page_id, filename or url into the final URL to use
**/
public function translateLink ($row) {
// Method code goes here
}
/**
* Return the last-modified date of all pages on the (sub-)site
* Returns NULL on error.
*
* The date is formatted using the php date function.
* The default date format is "d/m/Y".
**/
public function lastModified (string $date_format) {
// Method code goes here
}
/**
* Adds classes, analytics and target-blank to file links.
* Also adds a random string, which prevents caching, solving some problems we were having with some clients.
**/
public function specialFileLinks ($html) {
// Method code goes here
}
/**
* Return true if the browser supports drag-and-drop uploads.
**/
public function browserDragdropUploads () {
// Method code goes here
}
public function passwordComplexity ($str) {
// Method code goes here
}
/**
* Return a list of admins to send emails to.
*
* The return value is an array of arrays.
* The inner arrays contains the keys "name" and "email".
**/
public function adminEmails () {
// Method code goes here
}
/**
* Check an IP against a list of IP addresses, with logic for CIDR ranges
**/
public function ipaddressInArray ($needle, $haystack) {
// Method code goes here
}
/**
* Returns the memory limit in bytes. If there is no limit, returns INT_MAX.
**/
public function getMemoryLimit () {
// Method code goes here
}
/**
* Gets the first key value pair of an iterable
*
* This is to replace `reset` which has been deprecated in 7.2. While this lacks the
* stateful behaviour of the original (i.e. changing the internal pointer) it does
* recreate the most used feature: fetching the first element without knowing its key.
**/
public function iterableFirst (iterable $iter) {
// Method code goes here
}
/**
* Gets the first key of an iterable
**/
public function iterableFirstKey (iterable $iter) {
// Method code goes here
}
/**
* Gets the first value of an iterable
**/
public function iterableFirstValue (iterable $iter) {
// Method code goes here
}
/**
* Condenses an array into a string
**/
public function condenseArray (array $arr) {
// Method code goes here
}
/**
* Checks a URL that is to be used for redirection is valid.
*
* Will allow remote URLs beginning with 'http://' and local URLs beginning with '/'
**/
public function checkRedirect ($text) {
// Method code goes here
}
/**
* Returns an absolute URL for the web root of this server
*
* Example: 'http://thejosh.info/sprout_test/'
**/
public function absRoot (string $protocol) {
// Method code goes here
}
/**
* Takes a mysql DATETIME value (will probably also work with a TIME or DATE value)
* and formats it according to the format codes specified by the PHP date() function.
*
* The format is optional, if omittted, uses 'd/m/Y g:i a' = '7/11/2010 5:27 pm'
**/
public function formatMysqlDatetime ($date, $format) {
// Method code goes here
}
/**
* Returns a string of random numbers and letters
**/
public function randStr ($length, $chars) {
// Method code goes here
}
/**
* Returns a time in 'x minutes ago' format.
*
* Very small times (0, 1 seconds) are considered 'Just now'.
* Times are represneted in seconds, minutes, hours or days.
**/
public function timeAgo (int $timediff) {
// Method code goes here
}
/**
* Load the text for an extra page.
* Returns NULL on error.
**/
public function extraPage (int $type) {
// Method code goes here
}
/**
* Attempts to put the handbrake on a script which is doing malicious inserts to the database
**/
public function checkInsertRate (string $table, string $column, string $value, string $limit, string $time, array $conds) {
// Method code goes here
}
/**
* Back-end for link-checking tool
**/
public function linkChecker () {
// Method code goes here
}
/**
* Takes two strings of text (which will be stripped of HTML tags)
* and returns HTML which is a table showing the differences
* in a nice colourful way
**/
public function colorisedDiff ($orig, $new) {
// Method code goes here
}
/**
* Set the etag header, and some expiry headers.
* Checks if the etag matches - if it does, terminates the script with '304 Not Modified'.
*
* ETag should be specified as a string.
* Expires should be specified as a number of seconds, after that time the URL will expire.
*
* ETags should be something which is unique for that version of the URL. They should use
* something which is collission-resistant, such as MD5. They should vary based on the
* Accept-Encoding header, or any other 'accept' headers, if you are supporting them.
**/
public function etag ($etag, $expires) {
// Method code goes here
}
/**
* Construct a new instance of a class with a given name
**/
public function instance (string $class_name, string|array $base_class_name) {
// Method code goes here
}
/**
* Returns the current version of sprout
**/
public function getVersion (bool $git_version) {
// Method code goes here
}
/**
* Returns true if the specified module is currently installed, false otherwise
**/
public function moduleInstalled ($module_name) {
// Method code goes here
}
/**
* Gets a simplified backtrace with fewer elements and no recursion
**/
public function simpleBacktrace (array $trace) {
// Method code goes here
}
/**
* Converts a variable into something human readable
**/
public function readableVar (mixed $var) {
// Method code goes here
}
/**
* Determines the file path for a class, usually for autoloading
**/
public function determineFilePath (string $class) {
// Method code goes here
}
/**
* Removes the namespaces from a class-like entity,
* e.g. Sprout\Helpers\Text => Text
**/
public function removeNs (string $classlike) {
// Method code goes here
}
/**
* Creates an object of a class specified by a string name, with a list of possible namespaces to lookup if the
* specified class name doesn't contain a namespace
**/
public function nsNew (string $class, array $possible_nses) {
// Method code goes here
}
/**
* Gets the full class name (including namespace) for a specified class, with a list of namespaces to search
**/
public function nsClass (string $class, array $possible_nses) {
// Method code goes here
}
/**
* Gets the full name (including namespaced class) for a specified function
**/
public function nsFunc (string $func, array $possible_nses) {
// Method code goes here
}
}
?>
|
| Powered by Pelzini, version 0.9.0 |
Documentation is made available under the
GNU Free Documentation License 1.2. Generated: Monday, 3rd April, 2023 at 02:59 pm |
|