CWIS Developer Documentation

- Home
- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

List of all members
ApplicationFramework Class Reference

Top-level framework for web applications. More...

## Application Framework
const | LOGLVL_TRACE = 6
| TRACE error logging level. More...
const | LOGLVL_DEBUG = 5
| DEBUG error logging leve. More...
const | LOGLVL_INFO = 4
| INFO error logging level. More...
const | LOGLVL_WARNING = 3
| WARNING error logging level. More...
const | LOGLVL_ERROR = 2
| ERROR error logging level. More...
const | LOGLVL_FATAL = 1
| FATAL error logging level. More...
static | AddObjectDirectory ($Dir, $Prefix="", $ClassPattern=NULL, $ClassReplacement=NULL)
| Add directory to be searched for object files when autoloading. More...
static | SessionLifetime ($NewValue=NULL)
| Get/set session timeout in seconds. More...
static | BaseUrl ()
| Get current base URL (usually the part before index.php). More...
static | BasePath ()
| Get current base path (usually the part after the host name). More...
static | GetScriptUrl ()
| Retrieve SCRIPT_URL server value, pulling it from elsewhere if that variable isn't set. More...
static | WasUrlRewritten ($ScriptName="index.php")
| Determine if the URL was rewritten, i.e., the script is being accessed through a URL that isn't directly accessing the file the script is in. More...
| AddImageDirectories ($Dir, $SearchLast=FALSE, $SkipSlashCheck=FALSE)
| Add additional directory(s) to be searched for image files. More...
| AddIncludeDirectories ($Dir, $SearchLast=FALSE, $SkipSlashCheck=FALSE)
| Add additional directory(s) to be searched for user interface include (CSS, JavaScript, common PHP, common HTML, etc) files. More...
| AddInterfaceDirectories ($Dir, $SearchLast=FALSE, $SkipSlashCheck=FALSE)
| Add additional directory(s) to be searched for user interface (HTML/TPL) files. More...
| AddFunctionDirectories ($Dir, $SearchLast=FALSE, $SkipSlashCheck=FALSE)
| Add additional directory(s) to be searched for function ("F-") files. More...
| SetBrowserDetectionFunc ($DetectionFunc)
| Specify function to use to detect the web browser type. More...
| AddUnbufferedCallback ($Callback, $Parameters=array())
| Add a callback that will not be executed after buffered content has been output and that won't have its output buffered. More...
| TemplateLocationCacheExpirationInterval ($NewInterval=-1)
| Get/set UI template location cache expiration period in minutes. More...
| AddCleanUrl ($Pattern, $Page, $GetVars=NULL, $Template=NULL)
| Add clean URL mapping. More...
| CleanUrlIsMapped ($Path)
| Report whether clean URL has already been mapped. More...
| GetCleanUrlForPath ($Path)
| Get the clean URL mapped for a path. More...
| GetUncleanUrlForPath ($Path)
| Get the unclean URL for mapped for a path. More...
| GetCleanUrl ()
| Get the clean URL for the current page if one is available. More...
| GetUncleanUrl ()
| Get the unclean URL for the current page. More...
| LoadPage ($PageName)
| Load page PHP and HTML/TPL files. More...
| GetPageName ()
| Get name of page being loaded. More...
| GetPageLocation ()
| Get the URL path to the page without the base path, if present. More...
| GetPageUrl ()
| Get the full URL to the page. More...
| SetJumpToPage ($Page, $IsLiteral=FALSE)
| Set URL of page to autoload after PHP page file is executed. More...
| JumpToPageIsSet ()
| Report whether a page to autoload has been set. More...
| HtmlCharset ($NewSetting=NULL)
| Get/set HTTP character encoding value. More...
| UseMinimizedJavascript ($NewSetting=NULL)
| Get/set whether or not to check for and use minimized JavaScript files when getting a JavaScript UI file. More...
| UseBaseTag ($NewValue=NULL)
| Get/set whether or not to use the "base" tag to ensure relative URL paths are correct. More...
| SuppressHTMLOutput ($NewSetting=TRUE)
| Suppress loading of HTML files. More...
| ActiveUserInterface ($UIName=NULL)
| Get/set name of current active user interface. More...
| GetUserInterfaces ()
| Get the list of available user interfaces. More...
| AddPostProcessingCall ($FunctionName, &$Arg1=self::NOVALUE, &$Arg2=self::NOVALUE, &$Arg3=self::NOVALUE, &$Arg4=self::NOVALUE, &$Arg5=self::NOVALUE, &$Arg6=self::NOVALUE, &$Arg7=self::NOVALUE, &$Arg8=self::NOVALUE, &$Arg9=self::NOVALUE)
| Add function to be called after HTML has been loaded. More...
| AddEnvInclude ($FileName)
| Add file to be included to set up environment. More...
| GUIFile ($FileName)
| Search UI directories for specified image or CSS file and return name of correct file. More...
| PUIFile ($FileName)
| Search UI directories for specified image or CSS file and print name of correct file. More...
| RequireUIFile ($FileName)
| Add file to list of required UI files. More...
| LoadFunction ($Callback)
| Attempt to load code for function or method if not currently available. More...
| GetElapsedExecutionTime ()
| Get time elapsed since constructor was called. More...
| GetSecondsBeforeTimeout ()
| Get remaining available (PHP) execution time. More...
| GetFreeMemory ()
| Get current amount of free memory. More...
| HtaccessSupport ()
| Determine if .htaccess files are enabled. More...
| LogError ($Level, $Msg)
| Write error message to log. More...
| LogMessage ($Level, $Msg)
| Write status message to log. More...
| LoggingLevel ($NewValue=NULL)
| Get/set logging level. More...
| LogFile ($NewValue=NULL)
| Get/set log file name. More...

## Event Handling
const | EVENTTYPE_DEFAULT = 1
| Default event type. More...
const | EVENTTYPE_CHAIN = 2
| Result chaining event type. More...
const | EVENTTYPE_FIRST = 3
| First response event type. More...
const | EVENTTYPE_NAMED = 4
| Named result event type. More...
const | ORDER_FIRST = 1
| Run hooked function first (i.e. More...
const | ORDER_MIDDLE = 2
| Run hooked function after ORDER_FIRST and before ORDER_LAST events. More...
const | ORDER_LAST = 3
| Run hooked function last (i.e. More...
| RegisterEvent ($EventsOrEventName, $EventType=NULL)
| Register one or more events that may be signaled. More...
| IsRegisteredEvent ($EventName)
| Check if event has been registered (is available to be signaled). More...
| IsHookedEvent ($EventName)
| Check if an event is registered and is hooked to. More...
| HookEvent ($EventsOrEventName, $Callback=NULL, $Order=self::ORDER_MIDDLE)
| Hook one or more functions to be called when the specified event is signaled. More...
| SignalEvent ($EventName, $Parameters=NULL)
| Signal that an event has occured. More...
| IsStaticOnlyEvent ($EventName)
| Report whether specified event only allows static callbacks. More...
| EventWillNextRunAt ($EventName, $Callback)
| Get date/time a periodic event will next run. More...
| GetKnownPeriodicEvents ()
| Get list of known periodic events. More...

## Task Management
const | PRIORITY_HIGH = 1
| Highest priority. More...
const | PRIORITY_MEDIUM = 2
| Medium (default) priority. More...
const | PRIORITY_LOW = 3
| Lower priority. More...
const | PRIORITY_BACKGROUND = 4
| Lowest priority. More...
| QueueTask ($Callback, $Parameters=NULL, $Priority=self::PRIORITY_LOW, $Description="")
| Add task to queue. More...
| QueueUniqueTask ($Callback, $Parameters=NULL, $Priority=self::PRIORITY_LOW, $Description="")
| Add task to queue if not already in queue or currently running. More...
| TaskIsInQueue ($Callback, $Parameters=NULL)
| Check if task is already in queue or currently running. More...
| GetTaskQueueSize ($Priority=NULL)
| Retrieve current number of tasks in queue. More...
| GetQueuedTaskList ($Count=100, $Offset=0)
| Retrieve list of tasks currently in queue. More...
| GetQueuedTaskCount ($Callback=NULL, $Parameters=NULL, $Priority=NULL, $Description=NULL)
| Get number of queued tasks that match supplied values. More...
| GetRunningTaskList ($Count=100, $Offset=0)
| Retrieve list of tasks currently in queue. More...
| GetOrphanedTaskList ($Count=100, $Offset=0)
| Retrieve list of tasks currently in queue. More...
| GetOrphanedTaskCount ()
| Retrieve current number of orphaned tasks. More...
| ReQueueOrphanedTask ($TaskId, $NewPriority=NULL)
| Move orphaned task back into queue. More...
| DeleteTask ($TaskId)
| Remove task from task queues. More...
| GetTask ($TaskId)
| Retrieve task info from queue (either running or queued tasks). More...
| TaskExecutionEnabled ($NewValue=NULL)
| Get/set whether automatic task execution is enabled. More...
| MaxTasks ($NewValue=NULL)
| Get/set maximum number of tasks to have running simultaneously. More...
| MaxExecutionTime ($NewValue=NULL)
| Get/set maximum PHP execution time. More...

## Backward Compatibility
const | NOVALUE = ".-+-.NO VALUE PASSED IN FOR ARGUMENT.-+-."
| FindCommonTemplate ($BaseName)
| Preserved for backward compatibility for use with code written prior to October 2012. More...
| OnCrash ()
| Called automatically at program termination to ensure output is written out. More...

## Detailed Description

Top-level framework for web applications.

Definition at line 14 of file ApplicationFramework.php.

## Member Function Documentation

ApplicationFramework::ActiveUserInterface | ( |  | $UIName = `NULL` | ) |

Get/set name of current active user interface.

Any "SPTUI--" prefix is stripped out for backward compatibility in CWIS.

Parameters

  string | $UIName | Name of new active user interface. (OPTIONAL)

Returns
  Name of currently active user interface.

Definition at line 1082 of file ApplicationFramework.php.

ApplicationFramework::AddCleanUrl | ( |  | $Pattern,
|  |  | $Page,
|  |  | $GetVars = `NULL`,
|  |  | $Template = `NULL`
| ) |  |

Add clean URL mapping.

This method allows a "clean URL" (usually a purely structural URL that does not contain a query string and is more human-friendly) to be specified and mapped to a particular page, with segments of the clean URL being extracted and put into $_GET variables, as if they had been in a query string. IMPORTANT: If the $Template parameter is used to automagically swap in clean URLs in page output, the number of variables specified by $GetVars should be limited, as X variables causes X! regular expression replacements to be performed on the output.

Parameters

  string | $Pattern | Regular expression to match against clean URL, with starting and ending delimiters.
  string | $Page | Page (P= value) to load if regular expression matches.
  array | $GetVars | Array of $_GET variables to set using matches from regular expression, with variable names for the array indexes and variable value templates (with $N as appropriate, for captured subpatterns from matching) for the array values. (OPTIONAL)
  mixed | $Template | Template to use to insert clean URLs in HTML output. $_GET variables value locations should be specified in the template via the variable name preceded by a "$". This value may alternatively be a callback, in which case the callback will be called in a fashion similar to preg_replace_callback(), except with a second parameter containing the original $Pattern, a third parameter containing $Page, and a fourth parameter containing the full pattern (with "href=" etc) being matched.

Definition at line 337 of file ApplicationFramework.php.

ApplicationFramework::AddEnvInclude | ( |  | $FileName | ) |

Add file to be included to set up environment.

This file is loaded right before the PHP file.

Parameters

  string | $FileName | Name of file to be included.

Definition at line 1184 of file ApplicationFramework.php.

ApplicationFramework::AddFunctionDirectories | ( |  | $Dir,
|  |  | $SearchLast = `FALSE`,
|  |  | $SkipSlashCheck = `FALSE`
| ) |  |

Add additional directory(s) to be searched for function ("F-") files.

Specified directory(s) will be searched, in order, before the default directories or any other directories previously specified. If a directory is already present in the list, it will be moved to front to be searched first (or to the end to be searched last, if SearchLast is set). SearchLast only affects whether added directories are searched before or after those currently in the list; when multiple directories are added, they are always searched in the order they appear in the array. The token "%ACTIVEUI%" may be included in the directory names, and will be replaced with the canonical name of the currently active UI when searching for files.

Parameters

  string | $Dir | String with directory or array with directories to be searched.
  bool | $SearchLast | If TRUE, the directory(s) are searched after the entries current in the list, instead of before. (OPTIONAL, defaults to FALSE)
  bool | $SkipSlashCheck | If TRUE, check for trailing slash will be omitted. (OPTIONAL, defaults to FALSE)

See Also
  ApplicationFramework::GUIFile()
  ApplicationFramework::PUIFile()

Definition at line 248 of file ApplicationFramework.php.

ApplicationFramework::AddImageDirectories | ( |  | $Dir,
|  |  | $SearchLast = `FALSE`,
|  |  | $SkipSlashCheck = `FALSE`
| ) |  |

Add additional directory(s) to be searched for image files.

Specified directory(s) will be searched, in order, before the default directories or any other directories previously specified. If a directory is already present in the list, it will be moved to front to be searched first (or to the end to be searched last, if SearchLast is set). SearchLast only affects whether added directories are searched before or after those currently in the list; when multiple directories are added, they are always searched in the order they appear in the array. The token "%ACTIVEUI%" may be included in the directory names, and will be replaced with the canonical name of the currently active UI when searching for files.

Parameters

  string | $Dir | String with directory or array with directories to be searched.
  bool | $SearchLast | If TRUE, the directory(s) are searched after the entries current in the list, instead of before. (OPTIONAL, defaults to FALSE)
  bool | $SkipSlashCheck | If TRUE, check for trailing slash will be omitted. (OPTIONAL, defaults to FALSE)

See Also
  ApplicationFramework::GUIFile()
  ApplicationFramework::PUIFile()

Definition at line 169 of file ApplicationFramework.php.

ApplicationFramework::AddIncludeDirectories | ( |  | $Dir,
|  |  | $SearchLast = `FALSE`,
|  |  | $SkipSlashCheck = `FALSE`
| ) |  |

Add additional directory(s) to be searched for user interface include (CSS, JavaScript, common PHP, common HTML, etc) files.

Specified directory(s) will be searched, in order, before the default directories or any other directories previously specified. If a directory is already present in the list, it will be moved to front to be searched first (or to the end to be searched last, if SearchLast is set). SearchLast only affects whether added directories are searched before or after those currently in the list; when multiple directories are added, they are always searched in the order they appear in the array. The token "%ACTIVEUI%" may be included in the directory names, and will be replaced with the canonical name of the currently active UI when searching for files.

Parameters

  string | $Dir | String with directory or array with directories to be searched.
  bool | $SearchLast | If TRUE, the directory(s) are searched after the entries current in the list, instead of before. (OPTIONAL, defaults to FALSE)
  bool | $SkipSlashCheck | If TRUE, check for trailing slash will be omitted. (OPTIONAL, defaults to FALSE)

See Also
  ApplicationFramework::GUIFile()
  ApplicationFramework::PUIFile()

Definition at line 196 of file ApplicationFramework.php.

ApplicationFramework::AddInterfaceDirectories | ( |  | $Dir,
|  |  | $SearchLast = `FALSE`,
|  |  | $SkipSlashCheck = `FALSE`
| ) |  |

Add additional directory(s) to be searched for user interface (HTML/TPL) files.

Specified directory(s) will be searched, in order, before the default directories or any other directories previously specified. If a directory is already present in the list, it will be moved to front to be searched first (or to the end to be searched last, if SearchLast is set). SearchLast only affects whether added directories are searched before or after those currently in the list; when multiple directories are added, they are always searched in the order they appear in the array. The token "%ACTIVEUI%" may be included in the directory names, and will be replaced with the canonical name of the currently active UI when searching for files.

Parameters

  string | $Dir | String with directory or array with directories to be searched.
  bool | $SearchLast | If TRUE, the directory(s) are searched after the entries current in the list, instead of before. (OPTIONAL, defaults to FALSE)
  bool | $SkipSlashCheck | If TRUE, check for trailing slash will be omitted. (OPTIONAL, defaults to FALSE)

See Also
  ApplicationFramework::GUIFile()
  ApplicationFramework::PUIFile()

Definition at line 222 of file ApplicationFramework.php.

static ApplicationFramework::AddObjectDirectory | ( |  | $Dir,
|  |  | $Prefix = `""`,
|  |  | $ClassPattern = `NULL`,
|  |  | $ClassReplacement = `NULL`
| ) |  |
| static

Add directory to be searched for object files when autoloading.

Directories are searched in the order they are added.

Parameters

  string | $Dir | Directory to be searched.
  string | $Prefix | Leading prefix to be stripped from file names when comparing them against objects (e.g. "Axis--"). (OPTIONAL)
  mixed | $ClassPattern | Pattern string or array of pattern strings to run on class name via preg_replace(). (OPTIONAL)
  mixed | $ClassReplacement | Replacement string or array of replacement strings to run on class name via preg_replace(). (OPTIONAL)

Definition at line 134 of file ApplicationFramework.php.

Referenced by PluginManager\LoadPlugins().

Here is the caller graph for this function:

ApplicationFramework::AddPostProcessingCall | ( |  | $FunctionName,
|  | & | $Arg1 = `self::NOVALUE`,
|  | & | $Arg2 = `self::NOVALUE`,
|  | & | $Arg3 = `self::NOVALUE`,
|  | & | $Arg4 = `self::NOVALUE`,
|  | & | $Arg5 = `self::NOVALUE`,
|  | & | $Arg6 = `self::NOVALUE`,
|  | & | $Arg7 = `self::NOVALUE`,
|  | & | $Arg8 = `self::NOVALUE`,
|  | & | $Arg9 = `self::NOVALUE`
| ) |  |

Add function to be called after HTML has been loaded.

The arguments are optional and are saved as references so that any changes to their value that occured while loading the HTML will be recognized.

Parameters

  string | $FunctionName | Name of function to be called.
  mixed | $Arg1 | First argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg2 | Second argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg3 | Third argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg4 | Fourth argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg5 | FifthFirst argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg6 | Sixth argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg7 | Seventh argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg8 | Eighth argument to be passed to function. (OPTIONAL, REFERENCE)
  mixed | $Arg9 | Ninth argument to be passed to function. (OPTIONAL, REFERENCE)

Definition at line 1162 of file ApplicationFramework.php.

ApplicationFramework::AddUnbufferedCallback | ( |  | $Callback,
|  |  | $Parameters = `array()`
| ) |  |

Add a callback that will not be executed after buffered content has been output and that won't have its output buffered.

Parameters

  $Callback | callback
  $Parameters | optional callback parameters in an array

Definition at line 271 of file ApplicationFramework.php.

static ApplicationFramework::BasePath | ( |  | ) |
| static

Get current base path (usually the part after the host name).

Returns
  Base path string with trailing slash.

Definition at line 1379 of file ApplicationFramework.php.

static ApplicationFramework::BaseUrl | ( |  | ) |
| static

Get current base URL (usually the part before index.php).

Returns
  Base URL string with trailing slash.

Definition at line 1363 of file ApplicationFramework.php.

Referenced by LoadPage().

Here is the caller graph for this function:

ApplicationFramework::CleanUrlIsMapped | ( |  | $Path | ) |

Report whether clean URL has already been mapped.

Parameters

  string | $Path | Relative URL path to test against.

Returns
  TRUE if pattern is already mapped, otherwise FALSE.

Definition at line 435 of file ApplicationFramework.php.

ApplicationFramework::DeleteTask | ( |  | $TaskId | ) |

Remove task from task queues.

Parameters

  int | $TaskId | Task ID.

Definition at line 2211 of file ApplicationFramework.php.

ApplicationFramework::EventWillNextRunAt | ( |  | $EventName,
|  |  | $Callback
| ) |  |

Get date/time a periodic event will next run.

This is when the event should next go into the event queue, so it is the earliest time the event might run. Actual execution time will depend on whether there are other events already in the queue.

Parameters

  string | $EventName | Periodic event name (e.g. "EVENT_DAILY").
  callback | $Callback | Event callback.

Returns
  int Next run time as a timestamp, or FALSE if event was not a periodic event or was not previously run.

Definition at line 1897 of file ApplicationFramework.php.

ApplicationFramework::FindCommonTemplate | ( |  | $BaseName | ) |

Preserved for backward compatibility for use with code written prior to October 2012.

Definition at line 2334 of file ApplicationFramework.php.

ApplicationFramework::GetCleanUrl | ( |  | ) |

Get the clean URL for the current page if one is available.

Otherwise, the unclean URL will be returned.

Returns
  Returns the clean URL for the current page if possible.

Definition at line 551 of file ApplicationFramework.php.

References GetCleanUrlForPath(), and GetUncleanUrl().

ApplicationFramework::GetCleanUrlForPath | ( |  | $Path | ) |

Get the clean URL mapped for a path.

Parameters

  string | $Path | "Unclean" path, e.g., index.php?P=FullRecord&ID=123.

Returns
  Returns the clean URL for the path if one exists. Otherwise it returns the path unchanged.

Definition at line 453 of file ApplicationFramework.php.

Referenced by GetCleanUrl().

Here is the caller graph for this function:

ApplicationFramework::GetElapsedExecutionTime | ( |  | ) |

Get time elapsed since constructor was called.

Returns
  Elapsed execution time in seconds (as a float).

Definition at line 1315 of file ApplicationFramework.php.

Referenced by GetSecondsBeforeTimeout().

Here is the caller graph for this function:

ApplicationFramework::GetFreeMemory | ( |  | ) |

Get current amount of free memory.

The value returned is a "best guess" based on reported memory usage.

Returns
  Number of bytes.

Definition at line 1334 of file ApplicationFramework.php.

ApplicationFramework::GetKnownPeriodicEvents | ( |  | ) |

Get list of known periodic events.

This returns a list with information about periodic events that have been hooked this invocation, and when they are next expected to run. The array returned has the following values:

- Callback - Callback for event.
- Period - String containing "EVENT_" followed by period.
- LastRun - Timestamp for when the event was last run or FALSE if event was never run or last run time is not known. This value is always FALSE for periodic events.
- NextRun - Timestamp for the earliest time when the event will next run or FALSE if next run time is not known.
- Parameters - (present for compatibility but always NULL)

Returns
  array List of info about known periodic events.

Definition at line 1932 of file ApplicationFramework.php.

ApplicationFramework::GetOrphanedTaskCount | ( |  | ) |

Retrieve current number of orphaned tasks.

Returns
  Number of orphaned tasks.

Definition at line 2176 of file ApplicationFramework.php.

ApplicationFramework::GetOrphanedTaskList | ( |  | $Count = `100`,
|  |  | $Offset = `0`
| ) |  |

Retrieve list of tasks currently in queue.

Parameters

  int | $Count | Number to retrieve. (OPTIONAL, defaults to 100)
  int | $Offset | Offset into queue to start retrieval. (OPTIONAL)

Returns
  Array with task IDs for index and task info for values. Task info is stored as associative array with "Callback" and "Parameter" indices.

Definition at line 2164 of file ApplicationFramework.php.

ApplicationFramework::GetPageLocation | ( |  | ) |

Get the URL path to the page without the base path, if present.

Case is ignored when looking for a base path to strip off.

Returns
  string URL path without the base path

Definition at line 961 of file ApplicationFramework.php.

References GetScriptUrl().

Referenced by GetPageUrl(), and LoadPage().

Here is the caller graph for this function:

ApplicationFramework::GetPageName | ( |  | ) |

Get name of page being loaded.

The page name will not include an extension. This call is only meaningful once LoadPage() has been called.

Returns
  Page name.

Definition at line 951 of file ApplicationFramework.php.

Referenced by GetUncleanUrl().

Here is the caller graph for this function:

ApplicationFramework::GetPageUrl | ( |  | ) |

Get the full URL to the page.

Returns
  The full URL to the page.

Definition at line 980 of file ApplicationFramework.php.

References GetPageLocation().

ApplicationFramework::GetQueuedTaskCount | ( |  | $Callback = `NULL`,
|  |  | $Parameters = `NULL`,
|  |  | $Priority = `NULL`,
|  |  | $Description = `NULL`
| ) |  |

Get number of queued tasks that match supplied values.

Tasks will not be counted if the values do not match exactly, so callbacks with methods for different objects (even of the same class) will not match.

Parameters

  callback | $Callback | Function or method to call to perform task. (OPTIONAL)
  array | $Parameters | Array containing parameters to pass to function or method. Pass in empty array to match tasks with no parameters. (OPTIONAL)
  int | $Priority | Priority to assign to task. (OPTIONAL)
  string | $Description | Text description of task. (OPTIONAL)

Returns
  int Number of tasks queued that match supplied parameters.

Definition at line 2115 of file ApplicationFramework.php.

Referenced by GetTaskQueueSize().

Here is the caller graph for this function:

ApplicationFramework::GetQueuedTaskList | ( |  | $Count = `100`,
|  |  | $Offset = `0`
| ) |  |

Retrieve list of tasks currently in queue.

Parameters

  int | $Count | Number to retrieve. (OPTIONAL, defaults to 100)
  int | $Offset | Offset into queue to start retrieval. (OPTIONAL)

Returns
  Array with task IDs for index and task info for values. Task info is stored as associative array with "Callback" and "Parameter" indices.

Definition at line 2096 of file ApplicationFramework.php.

ApplicationFramework::GetRunningTaskList | ( |  | $Count = `100`,
|  |  | $Offset = `0`
| ) |  |

Retrieve list of tasks currently in queue.

Parameters

  int | $Count | Number to retrieve. (OPTIONAL, defaults to 100)
  int | $Offset | Offset into queue to start retrieval. (OPTIONAL)

Returns
  Array with task IDs for index and task info for values. Task info is stored as associative array with "Callback" and "Parameter" indices.

Definition at line 2149 of file ApplicationFramework.php.

static ApplicationFramework::GetScriptUrl | ( |  | ) |
| static

Retrieve SCRIPT_URL server value, pulling it from elsewhere if that variable isn't set.

Returns
  SCRIPT_URL value or NULL if unable to determine value.

Definition at line 1396 of file ApplicationFramework.php.

Referenced by GetPageLocation().

Here is the caller graph for this function:

ApplicationFramework::GetSecondsBeforeTimeout | ( |  | ) |

Get remaining available (PHP) execution time.

Returns
  Number of seconds remaining before script times out (as a float).

Definition at line 1324 of file ApplicationFramework.php.

References GetElapsedExecutionTime().

ApplicationFramework::GetTask | ( |  | $TaskId | ) |

Retrieve task info from queue (either running or queued tasks).

Parameters

  int | $TaskId | Task ID.

Returns
  Array with task info for values or NULL if task is not found. Task info is stored as associative array with "Callback" and "Parameter" indices.

Definition at line 2224 of file ApplicationFramework.php.

ApplicationFramework::GetTaskQueueSize | ( |  | $Priority = `NULL` | ) |

Retrieve current number of tasks in queue.

Parameters

  int | $Priority | of tasks. (OPTIONAL, defaults to all priorities)

Returns
  Number of tasks currently in queue.

Definition at line 2084 of file ApplicationFramework.php.

References GetQueuedTaskCount().

ApplicationFramework::GetUncleanUrl | ( |  | ) |

Get the unclean URL for the current page.

Returns
  Returns the unclean URL for the current page.

Definition at line 560 of file ApplicationFramework.php.

References GetPageName().

Referenced by GetCleanUrl().

Here is the caller graph for this function:

ApplicationFramework::GetUncleanUrlForPath | ( |  | $Path | ) |

Get the unclean URL for mapped for a path.

Parameters

  string | $Path | "Clean" path, e.g., r123/resource-title

Returns
  Returns the unclean URL for the path if one exists. Otherwise it returns the path unchanged.

Definition at line 501 of file ApplicationFramework.php.

ApplicationFramework::GetUserInterfaces | ( |  | ) |

Get the list of available user interfaces.

The result contains a map of interface paths to interface labels.

Returns
  array list of users interfaces (interface path => label)

Definition at line 1096 of file ApplicationFramework.php.

ApplicationFramework::GUIFile | ( |  | $FileName | ) |

Search UI directories for specified image or CSS file and return name of correct file.

Parameters

  string | $FileName | Base file name.

Returns
  Full relative path name of file or NULL if file not found.

Definition at line 1195 of file ApplicationFramework.php.

References UseMinimizedJavascript().

Referenced by LoadPage(), and PUIFile().

Here is the caller graph for this function:

ApplicationFramework::HookEvent | ( |  | $EventsOrEventName,
|  |  | $Callback = `NULL`,
|  |  | $Order = `self::ORDER_MIDDLE`
| ) |  |

Hook one or more functions to be called when the specified event is signaled.

The callback parameter is of the PHP type "callback", which allows object methods to be passed.

Parameters

  array | string | $EventsOrEventName | Name of the event to hook. To hook multiple events, this may also be an array, with the event names as the index and the callbacks as the values.
  callback | $Callback | Function to be called when event is signaled. (OPTIONAL if EventsOrEventName is an array of events)
  int | $Order | Preference for when function should be called, primarily for CHAIN and FIRST events. (OPTIONAL, defaults to ORDER_MIDDLE)

Returns
  TRUE if all callbacks were successfully hooked, otherwise FALSE.

Definition at line 1738 of file ApplicationFramework.php.

ApplicationFramework::HtaccessSupport | ( |  | ) |

Determine if .htaccess files are enabled.

Returns
  TRUE if .htaccess files are enabled or FALSE otherwise

Definition at line 1353 of file ApplicationFramework.php.

ApplicationFramework::HtmlCharset | ( |  | $NewSetting = `NULL` | ) |

Get/set HTTP character encoding value.

This is set for the HTTP header and may be queried and set in the HTML header by the active user interface. The default charset is UTF-8. A list of valid character set values can be found at http://www.iana.org/assignments/character-sets

Parameters

  string | $NewSetting | New character encoding value string (e.g. "ISO-8859-1").

Returns
  Current character encoding value.

Definition at line 1031 of file ApplicationFramework.php.

Referenced by LoadPage().

Here is the caller graph for this function:

ApplicationFramework::IsHookedEvent | ( |  | $EventName | ) |

Check if an event is registered and is hooked to.

Parameters

  string | $EventName | Name of event.

Returns
  Returns TRUE if the event is hooked, otherwise FALSE.

See Also
  IsRegisteredEvent()

Definition at line 1713 of file ApplicationFramework.php.

References IsRegisteredEvent().

ApplicationFramework::IsRegisteredEvent | ( |  | $EventName | ) |

Check if event has been registered (is available to be signaled).

Parameters

  string | $EventName | Name of event (string).

Returns
  TRUE if event is registered, otherwise FALSE.

See Also
  IsHookedEvent()

Definition at line 1701 of file ApplicationFramework.php.

Referenced by IsHookedEvent().

Here is the caller graph for this function:

ApplicationFramework::IsStaticOnlyEvent | ( |  | $EventName | ) |

Report whether specified event only allows static callbacks.

Parameters

  string | $EventName | Name of event to check.

Returns
  TRUE if specified event only allows static callbacks, otherwise FALSE.

Definition at line 1882 of file ApplicationFramework.php.

ApplicationFramework::JumpToPageIsSet | ( |  | ) |

Report whether a page to autoload has been set.

Returns
  TRUE if page is set to autoload, otherwise FALSE.

Definition at line 1017 of file ApplicationFramework.php.

ApplicationFramework::LoadFunction | ( |  | $Callback | ) |

Attempt to load code for function or method if not currently available.

Function code to be loaded should be located in a file named "F-XXX.php", where "XXX" is the function name. The file may reside in "local/include", any of the interface "include" directories, or any of the object directories.

Parameters

  callback | $Callback | Function or method info.

Returns
  TRUE if function/method is now available, else FALSE.

Definition at line 1266 of file ApplicationFramework.php.

References LogError().

ApplicationFramework::LoadPage | ( |  | $PageName | ) |

Load page PHP and HTML/TPL files.

Parameters

  string | $PageName | Name of page to be loaded (e.g. "BrowseResources").

Definition at line 570 of file ApplicationFramework.php.

References BaseUrl(), GetPageLocation(), GUIFile(), HtmlCharset(), PHP, SignalEvent(), and UseBaseTag().

ApplicationFramework::LogError | ( |  | $Level,
|  |  | $Msg
| ) |  |

Write error message to log.

The difference between this and LogMessage is the way that an inability to write to the log is handled. If this method is unable to log the error and the error level was LOGLVL_ERROR or LOGLVL_FATAL, an exception is thrown.

Parameters

  int | $Level | Current message logging must be at or above specified level for error message to be written. (See LoggingLevel() for definitions of the error logging levels.)
  string | $Msg | Error message text.

Returns
  TRUE if message was logged, otherwise FALSE.

See Also
  ApplicationFramework::LoggingLevel()
  ApplicationFramework::LogMessage()

Definition at line 1462 of file ApplicationFramework.php.

References LogMessage().

Referenced by LoadFunction(), and SignalEvent().

Here is the caller graph for this function:

ApplicationFramework::LogFile | ( |  | $NewValue = `NULL` | ) |

Get/set log file name.

The log file location defaults to "local/logs/site.log", but can be changed via this method.

Parameters

  string | $NewValue | New log file name. (OPTIONAL)

Returns
  string Current log file name.

Definition at line 1595 of file ApplicationFramework.php.

ApplicationFramework::LoggingLevel | ( |  | $NewValue = `NULL` | ) |

Get/set logging level.

Status and error messages are only written if their associated level is at or below this value. The six levels of log messages are, in increasing level of severity: 6: TRACE - Very detailed logging, usually only used when attempting to diagnose a problem in one specific section of code. 5: DEBUG - Information that is diagnostically helpful when debugging. 4: INFO - Generally-useful information, that may come in handy but to which little attention is normally paid. (This should not be used for events that routinely occur with every page load.) 3: WARNING - An event that may potentially cause problems, but is automatically recovered from. 2: ERROR - Any error which is fatal to the operation currently being performed, but does not result in overall application shutdown or persistent data corruption. 1: FATAL - Any error which results in overall application shutdown or persistent data corruption.

Parameters

  int | $NewValue | New error logging level. (OPTIONAL)

Returns
  Current error logging level.

See Also
  ApplicationFramework::LogError()

Definition at line 1571 of file ApplicationFramework.php.

ApplicationFramework::LogMessage | ( |  | $Level,
|  |  | $Msg
| ) |  |

Write status message to log.

The difference between this and LogError is the way that an inability to write to the log is handled.

Parameters

  int | $Level | Current message logging must be at or above specified level for message to be written. (See LoggingLevel() for definitions of the error logging levels.)
  string | $Msg | Message text.

Returns
  TRUE if message was logged, otherwise FALSE.

See Also
  ApplicationFramework::LoggingLevel()
  ApplicationFramework::LogError()

Definition at line 1503 of file ApplicationFramework.php.

Referenced by LogError().

Here is the caller graph for this function:

ApplicationFramework::MaxExecutionTime | ( |  | $NewValue = `NULL` | ) |

Get/set maximum PHP execution time.

Setting a new value is not possible if PHP is running in safe mode.

Parameters

  int | $NewValue | New setting for max execution time in seconds. (OPTIONAL, but minimum value is 5 if specified)

Returns
  Current max execution time in seconds.

Definition at line 2307 of file ApplicationFramework.php.

ApplicationFramework::MaxTasks | ( |  | $NewValue = `NULL` | ) |

Get/set maximum number of tasks to have running simultaneously.

Parameters

  int | $NewValue | New setting for max number of tasks. (OPTIONAL)

Returns
  Current maximum number of tasks to run at once.

Definition at line 2289 of file ApplicationFramework.php.

ApplicationFramework::OnCrash | ( |  | ) |

Called automatically at program termination to ensure output is written out.

(Not intended to be called directly, could not be made private to class because of automatic execution method.)

Definition at line 3103 of file ApplicationFramework.php.

ApplicationFramework::PUIFile | ( |  | $FileName | ) |

Search UI directories for specified image or CSS file and print name of correct file.

If the file is not found, nothing is printed.

This is intended to be called from within interface HTML files to ensure that the correct file is loaded, regardless of which interface it is in.

Parameters

  string | $FileName | Base file name.

Definition at line 1240 of file ApplicationFramework.php.

References GUIFile().

ApplicationFramework::QueueTask | ( |  | $Callback,
|  |  | $Parameters = `NULL`,
|  |  | $Priority = `self::PRIORITY_LOW`,
|  |  | $Description = `""`
| ) |  |

Add task to queue.

The Callback parameters is the PHP "callback" type. If $Callback refers to a function (rather than an object method) that function must be available in a global scope on all pages or must be loadable by ApplicationFramework::LoadFunction().

Parameters

  callback | $Callback | Function or method to call to perform task.
  array | $Parameters | Array containing parameters to pass to function or method. (OPTIONAL, pass NULL for no parameters)
  int | $Priority | Priority to assign to task. (OPTIONAL, defaults to PRIORITY_LOW)
  string | $Description | Text description of task. (OPTIONAL)

Definition at line 1995 of file ApplicationFramework.php.

Referenced by QueueUniqueTask().

Here is the caller graph for this function:

ApplicationFramework::QueueUniqueTask | ( |  | $Callback,
|  |  | $Parameters = `NULL`,
|  |  | $Priority = `self::PRIORITY_LOW`,
|  |  | $Description = `""`
| ) |  |

Add task to queue if not already in queue or currently running.

If task is already in queue with a lower priority than specified, the task's priority will be increased to the new value. The Callback parameter is the PHP "callback" type. If $Callback refers to a function (rather than an object method) that function must be available in a global scope on all pages or must be loadable by ApplicationFramework::LoadFunction().

Parameters

  callback | $Callback | Function or method to call to perform task.
  array | $Parameters | Array containing parameters to pass to function or method. (OPTIONAL, pass NULL for no parameters)
  int | $Priority | Priority to assign to task. (OPTIONAL, defaults to PRIORITY_LOW)
  string | $Description | Text description of task. (OPTIONAL)

Returns
  TRUE if task was added, otherwise FALSE.

See Also
  ApplicationFramework::TaskIsInQueue()

Definition at line 2024 of file ApplicationFramework.php.

References QueueTask(), and TaskIsInQueue().

ApplicationFramework::RegisterEvent | ( |  | $EventsOrEventName,
|  |  | $EventType = `NULL`
| ) |  |

Register one or more events that may be signaled.

Parameters

  array | string | $EventsOrEventName | Name of event (string). To register multiple events, this may also be an array, with the event names as the index and the event types as the values.
  int | $EventType | Type of event (constant). (OPTIONAL if EventsOrEventName is an array of events)

Definition at line 1680 of file ApplicationFramework.php.

ApplicationFramework::ReQueueOrphanedTask | ( |  | $TaskId,
|  |  | $NewPriority = `NULL`
| ) |  |

Move orphaned task back into queue.

Parameters

  int | $TaskId | Task ID.
  int | $NewPriority | New priority for task being requeued. (OPTIONAL)

Definition at line 2189 of file ApplicationFramework.php.

ApplicationFramework::RequireUIFile | ( |  | $FileName | ) |

Add file to list of required UI files.

This is used to make sure a particular JavaScript or CSS file is loaded. Only files loaded with ApplicationFramework::GUIFile() or ApplicationFramework::PUIFile() are considered when deciding if a file has already been loaded.

Parameters

  string | $FileName | Base name (without path) of required file.

Definition at line 1253 of file ApplicationFramework.php.

static ApplicationFramework::SessionLifetime | ( |  | $NewValue = `NULL` | ) |
| static

Get/set session timeout in seconds.

Parameters

  int | $NewValue | New session timeout value. (OPTIONAL)

Returns
  Current session timeout value in seconds.

Definition at line 302 of file ApplicationFramework.php.

ApplicationFramework::SetBrowserDetectionFunc | ( |  | $DetectionFunc | ) |

Specify function to use to detect the web browser type.

Function should return an array of browser names.

Parameters

  callback | $DetectionFunc | Browser detection function callback.

Definition at line 260 of file ApplicationFramework.php.

ApplicationFramework::SetJumpToPage | ( |  | $Page,
|  |  | $IsLiteral = `FALSE`
| ) |  |

Set URL of page to autoload after PHP page file is executed.

The HTML/TPL file will never be loaded if this is set. Pass in NULL to clear any autoloading.

Parameters

  string | $Page | URL of page to jump to (autoload). If the URL does not appear to point to a PHP or HTML file then "index.php?P=" will be prepended to it.
  bool | $IsLiteral | If TRUE, do not attempt to prepend "index.php?P=" to page. (OPTIONAL, defaults to FALSE)

Definition at line 993 of file ApplicationFramework.php.

ApplicationFramework::SignalEvent | ( |  | $EventName,
|  |  | $Parameters = `NULL`
| ) |  |

Signal that an event has occured.

Parameters

  string | $EventName | Name of event being signaled.
  array | $Parameters | Associative array of parameters for event, with CamelCase parameter names as indexes. (OPTIONAL)

Returns
  Appropriate return value for event type. Returns NULL if no event with specified name was registered and for EVENTTYPE_DEFAULT events.

Definition at line 1800 of file ApplicationFramework.php.

References LogError().

Referenced by LoadPage().

Here is the caller graph for this function:

ApplicationFramework::SuppressHTMLOutput | ( |  | $NewSetting = `TRUE` | ) |

Suppress loading of HTML files.

This is useful when the only output from a page is intended to come from the PHP page file.

Parameters

  bool | $NewSetting | TRUE to suppress HTML output, FALSE to not suppress HTML output. (OPTIONAL, defaults to TRUE)

Definition at line 1071 of file ApplicationFramework.php.

ApplicationFramework::TaskExecutionEnabled | ( |  | $NewValue = `NULL` | ) |

Get/set whether automatic task execution is enabled.

(This does not prevent tasks from being manually executed.)

Parameters

  bool | $NewValue | TRUE to enable or FALSE to disable.

Returns
  Returns TRUE if automatic task execution is enabled or otherwise FALSE.

Definition at line 2272 of file ApplicationFramework.php.

ApplicationFramework::TaskIsInQueue | ( |  | $Callback,
|  |  | $Parameters = `NULL`
| ) |  |

Check if task is already in queue or currently running.

When no $Parameters value is specified the task is checked against any other entries with the same $Callback.

Parameters

  callback | $Callback | Function or method to call to perform task.
  array | $Parameters | Array containing parameters to pass to function or method. (OPTIONAL)

Returns
  TRUE if task is already in queue, otherwise FALSE.

Definition at line 2061 of file ApplicationFramework.php.

Referenced by QueueUniqueTask().

Here is the caller graph for this function:

ApplicationFramework::TemplateLocationCacheExpirationInterval | ( |  | $NewInterval = `-1` | ) |

Get/set UI template location cache expiration period in minutes.

An expiration period of 0 disables caching.

Parameters

  int | $NewInterval | New expiration period in minutes. (OPTIONAL)

Returns
  Current expiration period in minutes.

Definition at line 285 of file ApplicationFramework.php.

ApplicationFramework::UseBaseTag | ( |  | $NewValue = `NULL` | ) |

Get/set whether or not to use the "base" tag to ensure relative URL paths are correct.

(Without the "base" tag, an attempt will be made to dynamically rewrite relative URLs where needed.) Using the "base" tag may be problematic because it also affects relative anchor references and empty target references, which some third-party JavaScript libraries may rely upon.

Parameters

  bool | $NewValue | TRUE to enable use of tag, or FALSE to disable. (OPTIONAL)

Returns
  TRUE if tag is currently used, otherwise FALSE..

Definition at line 1059 of file ApplicationFramework.php.

Referenced by LoadPage().

Here is the caller graph for this function:

ApplicationFramework::UseMinimizedJavascript | ( |  | $NewSetting = `NULL` | ) |

Get/set whether or not to check for and use minimized JavaScript files when getting a JavaScript UI file.

The default value is FALSE.

Parameters

  bool | $NewSetting | New value to turn the setting on or off.

Returns
  Current value.

Definition at line 1043 of file ApplicationFramework.php.

Referenced by GUIFile().

Here is the caller graph for this function:

static ApplicationFramework::WasUrlRewritten | ( |  | $ScriptName = `"index.php"` | ) |
| static

Determine if the URL was rewritten, i.e., the script is being accessed through a URL that isn't directly accessing the file the script is in.

This is not equivalent to determining whether a clean URL is set up for the URL.

Parameters

  string | $ScriptName | The file name of the running script.

Returns
  Returns TRUE if the URL was rewritten and FALSE if not.

Definition at line 1425 of file ApplicationFramework.php.

## Member Data Documentation

const ApplicationFramework::EVENTTYPE_CHAIN = 2

Result chaining event type.

For this type the parameter array to each event handler is the return value from the previous handler, and the final return value is sent back to the event signaller.

Definition at line 1649 of file ApplicationFramework.php.

const ApplicationFramework::EVENTTYPE_DEFAULT = 1

Default event type.

Any handler return values are ignored.

Definition at line 1643 of file ApplicationFramework.php.

const ApplicationFramework::EVENTTYPE_FIRST = 3

First response event type.

For this type event handlers are called until one returns a non-NULL result, at which point no further handlers are called and that last result is passed back to the event signaller.

Definition at line 1655 of file ApplicationFramework.php.

const ApplicationFramework::EVENTTYPE_NAMED = 4

Named result event type.

Return values from each handler are placed into an array with the handler (function or class::method) name as the index, and that array is returned to the event signaller. The handler name for class methods is the class name plus "::" plus the method name. are called and that last result is passed back to the event signaller.

Definition at line 1663 of file ApplicationFramework.php.

const ApplicationFramework::LOGLVL_DEBUG = 5

DEBUG error logging leve.

Information that is diagnostically helpful when debugging.

Definition at line 1610 of file ApplicationFramework.php.

const ApplicationFramework::LOGLVL_ERROR = 2

ERROR error logging level.

Any error which is fatal to the operation currently being performed, but does not result in overall application shutdown or persistent data corruption.

Definition at line 1627 of file ApplicationFramework.php.

const ApplicationFramework::LOGLVL_FATAL = 1

FATAL error logging level.

Any error which results in overall application shutdown or persistent data corruption.

Definition at line 1632 of file ApplicationFramework.php.

const ApplicationFramework::LOGLVL_INFO = 4

INFO error logging level.

Generally-useful information, that may come in handy but to which little attention is normally paid. (This should not be used for events that routinely occur with every page load.)

Definition at line 1616 of file ApplicationFramework.php.

const ApplicationFramework::LOGLVL_TRACE = 6

TRACE error logging level.

Very detailed logging, usually only used when attempting to diagnose a problem in one specific section of code.

Definition at line 1605 of file ApplicationFramework.php.

const ApplicationFramework::LOGLVL_WARNING = 3

WARNING error logging level.

An event that may potentially cause problems, but is automatically recovered from.

Definition at line 1621 of file ApplicationFramework.php.

const ApplicationFramework::NOVALUE = ".-+-.NO VALUE PASSED IN FOR ARGUMENT.-+-."

Definition at line 3263 of file ApplicationFramework.php.

const ApplicationFramework::ORDER_FIRST = 1

Run hooked function first (i.e.

before ORDER_MIDDLE events).

Definition at line 1666 of file ApplicationFramework.php.

const ApplicationFramework::ORDER_LAST = 3

Run hooked function last (i.e.

after ORDER_MIDDLE events).

Definition at line 1670 of file ApplicationFramework.php.

Referenced by PluginManager\__construct().

const ApplicationFramework::ORDER_MIDDLE = 2

Run hooked function after ORDER_FIRST and before ORDER_LAST events.

Definition at line 1668 of file ApplicationFramework.php.

const ApplicationFramework::PRIORITY_BACKGROUND = 4

Lowest priority.

Definition at line 1981 of file ApplicationFramework.php.

Referenced by ClassificationFactory\RecalculateAllResourceCounts().

const ApplicationFramework::PRIORITY_HIGH = 1

Highest priority.

Definition at line 1975 of file ApplicationFramework.php.

const ApplicationFramework::PRIORITY_LOW = 3

Lower priority.

Definition at line 1979 of file ApplicationFramework.php.

Referenced by SPTRecommender\RunUpdateForItem().

const ApplicationFramework::PRIORITY_MEDIUM = 2

Medium (default) priority.

Definition at line 1977 of file ApplicationFramework.php.

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

- lib/ScoutLib/ApplicationFramework.php