- Symphony 2.3.3
-
› assets
14 -
› boot
11 -
› core
23 -
› cryptography
4 -
› email-gateways
3 -
› global
37 -
› interface
6 -
› toolkit
68 - Delegates94
- Deprecated29
Versions
- 2.7.9
- 2.7.8
- 2.7.7
- 2.7.6
- 2.7.5
- 2.7.3
- 2.7.2
- 2.7.10
- 2.7.1
- 2.7.0
- 2.6.9
- 2.6.8
- 2.6.7
- 2.6.6
- 2.6.5
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.11
- 2.6.10
- 2.6.1
- 2.6.0
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2
Options
public abstract class Symphony
class.symphony.php #40The Symphony class is an abstract class that implements the Singleton interface. It provides the glue that forms the Symphony CMS and initialises the toolkit classes. Symphony is extended by the Frontend and Administration classes
Properties
Author $Author
An instance of the currently logged in Author
Cookie $Cookie
An instance of the Cookie class
Methods
static Configuration Configuration()
Accessor for the current Configuration
instance. This contains
representation of the the Symphony config file.
static MySQL Database()
Accessor for the current $Database
instance.
static Symphony Engine()
Accessor for the Symphony instance, whether it be Frontend or Administration
static ExtensionManager ExtensionManager()
Accessor for the current $ExtensionManager
instance.
static Log Log()
Accessor for the current Log
instance
static Profiler Profiler()
Accessor for the current Profiler
instance.
void customError(
$heading, $message, $template, $additional)
A wrapper for throwing a new Symphony Error page.
Parameters
See Also
Deprecated
@since Symphony 2.3.2
Exception|null getException()
Accessor for $this->exception
.
mixed getMigrationVersion()
Returns the most recent version found in the /install/migrations
folder.
Returns a version string to be used in version_compare()
if an updater
has been found. Returns FALSE
otherwise.
static string getPageNamespace()
Returns the page namespace based on the current URL. A few examples:
/login /publish /blueprints/datasources [...] /extension/$extensionname/$pagename
This method is especially useful in couple with the translation function.
Returns
The page namespace, without any action string (e.g. "new", "saved") or any value that depends upon the single setup (e.g. the section handle in /publish/$handle)
See Also
void initialiseConfiguration(
$data)
Setter for $Configuration
. This function initialise the configuration
object and populate its properties based on the given $array.
Parameters
void initialiseCookie()
Setter for $Cookie
. This will use PHP's parseurl
function on the current URL to set a cookie using the cookieprefix
defined in the Symphony configuration. The cookie will last two
weeks.
This function also defines two constants, __SYM_COOKIE_PATH__
and __SYM_COOKIE_PREFIX__
.
Deprecated
Prior to Symphony 2.3.2, the constant __SYM_COOKIE_PREFIX_
had a typo where it was missing the second underscore. Symphony will support both constants, __SYM_COOKIE_PREFIX_
and __SYM_COOKIE_PREFIX__
until Symphony 2.5
boolean initialiseDatabase()
This will initialise the Database class and attempt to create a connection using the connection details provided in the Symphony configuration. If any errors occur whilst doing so, a Symphony Error Page is displayed.
Returns
This function will return true if the $Database
was initialised successfully.
void initialiseExtensionManager()
Setter for $ExtensionManager
using the current
Symphony instance as the parent. If for some reason this fails,
a Symphony Error page will be thrown
void initialiseLog(
$filename)
Setter for $Log
. This function uses the configuration
settings in the 'log' group in the Configuration to create an instance. Date
formatting options are also retrieved from the configuration.
Parameters
boolean isInstallerAvailable()
Checks if the installer/upgrader is available.
void isLoggedIn()
This function determines whether an there is a currently logged in
Author for Symphony by using the $Cookie
's username
and password. If an Author is found, they will be logged in, otherwise
the $Cookie
will be destroyed.
See Also
boolean isUpgradeAvailable()
Checks if an update is available and applicable for the current installation.
boolean login(
$username, $password, $isHash)
Attempts to log an Author in given a username and password.
If the password is not hashed, it will be hashed using the sha1
algorithm. The username and password will be sanitized before
being used to query the Database. If an Author is found, they
will be logged in and the sanitized username and password (also hashed)
will be saved as values in the $Cookie
.
Parameters
Returns
True if the Author was logged in, false otherwise
See Also
boolean loginFromToken(
$token)
Symphony allows Authors to login via the use of tokens instead of a username and password. A token is derived from concatenating the Author's username and password and applying the sha1 hash to it, from this, a portion of the hash is used as the token. This is a useful feature often used when setting up other Authors accounts or if an Author forgets their password.
Parameters
Returns
True if the Author is logged in, false otherwise
void logout()
This function will destroy the currently logged in $Author
session, essentially logging them out.
See Also
array resolvePage(
$page_id, $column)
Given the $page_id
and a $column
, this function will return an
array of the given $column
for the Page, including all parents.
Parameters
Returns
An array of the current Page, containing the $column
requested. The current page will be the last item the array, as all parent pages are prepended to the start of the array
Deprecated
This function will be removed in Symphony 2.4. Use PageManager::resolvePage
instead.
string resolvePagePath(
$page_id)
Given the $page_id
, return the complete path to the
current page.
Parameters
Returns
The complete path to the current Page including any parent Pages, ie. /articles/read
Deprecated
This function will be removed in Symphony 2.4. Use PageManager::resolvePagePath
instead.
string resolvePageTitle(
$page_id)
Given the $page_id
, return the complete title of the
current page.
Parameters
Returns
The title of the current Page. If the page is a child of another it will be prepended by the parent and a colon, ie. Articles: Read
Deprecated
This function will be removed in Symphony 2.4. Use PageManager::resolvePageTitle
instead.
boolean setDatabase(
$database)
Setter for $Database
, accepts a Database object. If $database
is omitted, this function will set $Database
to be of the MySQL
class.
Parameters
Returns
This function will always return true
void setException(
$ex)
Setter accepts a previous Exception. Useful for determining the context of a current exception (ie. detecting recursion).
void throwCustomError(
$message, $heading, $status, $template, $additional)
A wrapper for throwing a new Symphony Error page.
This methods sets the GenericExceptionHandler::$enabled
value to true
.