Model for admin navigation.
Models don't share that much, so most implementations
will be adding methods onto this class. This class simply provides helper
methods for common actions.
Methods
Constructor.
__construct()
Inherited
Use create() statically unless you know what you're doing.
| inherited_from |
\XenForo_Model::__construct() |
Adds a join to the set of fetch options.
addFetchOptionJoin(array $fetchOptions, integer $join)
Inherited
Join should be one of the constants.
| inherited_from |
\XenForo_Model::addFetchOptionJoin() |
Parameters
$fetchOptions
array
$join
integer
Adds the equivalent of a limit clause using position-based limits.
addPositionLimit(string $table, integer $limit, integer $offset, string $column) : string
Inherited
It no limit value is specified, nothing will be returned.
This must be added within a WHERE clause. If a clause is required,
it will begin with "AND", so ensure there is a condition before it.
| inherited_from |
\XenForo_Model::addPositionLimit() |
Parameters
$table
stringName of the table alias to prefix. May be blank for no table reference.
$limit
integerNumber of records to limit to; ignored if <= 0
$offset
integerOffset from the start of the records. 0+
$column
stringName of the column that is storing the position
Returns
stringPosition limit clause if needed
Appends the add-on admin navigation XML to a given DOM element.
appendAdminNavigationAddOnXml(\DOMElement $rootNode, string $addOnId)
Parameters
$rootNode
\DOMElementNode to append all navigation elements to
$addOnId
stringAdd-on ID to be exported
Ensures that a valid cut-off operator is passed.
assertValidCutOffOperator(string $operator)
Inherited
| inherited_from |
\XenForo_Model::assertValidCutOffOperator() |
Parameters
$operator
string
Factory method to get the named model.
create(string $class) : \XenForo_Model
InheritedStatic
The class must exist or be autoloadable
or an exception will be thrown.
| inherited_from |
\XenForo_Model::create() |
Parameters
$class
stringClass to load
Returns
Deletes the admin navigation that belongs to the specified add-on.
deleteAdminNavigationForAddOn(string $addOnId)
Parameters
$addOnId
string
Fetches results from the database with each row keyed according to preference.
fetchAllKeyed(string $sql, string $key, mixed $bind, string $nullPrefix) : array
Inherited
The 'key' parameter provides the column name with which to key the result.
For example, calling fetchAllKeyed('SELECT item_id, title, date FROM table', 'item_id')
would result in an array keyed by item_id:
[$itemId] => array('item_id' => $itemId, 'title' => $title, 'date' => $date)
Note that the specified key must exist in the query result, or it will be ignored.
| inherited_from |
\XenForo_Model::fetchAllKeyed() |
Parameters
$sql
stringSQL to execute
$key
stringColumn with which to key the results array
$bind
mixedParameters for the SQL
$nullPrefix
stringIf the key is null, prefix the counter with this
Returns
array
Filter out unviewable admin navigation details based on the visitor and application state.
filterUnviewableAdminNavigation(array $navigation) : array
Parameters
$navigation
arrayList of navigation entries
Returns
arrayNavigation entries filtered
Gets the admin navigation breadcrumb.
getAdminNavigationBreadCrumb(string $breadCrumbId, array $navigationList) : array
Parameters
$breadCrumbId
stringFinal piece in the breadcrumb
$navigationList
arrayList of all navigation entries
Returns
arrayBreadcrumb pieces (array: [link, title]), from the top ("tab") down to the given breadcrumb ID
Gets the file name for the development output.
getAdminNavigationDevelopmentFileName() : string
Gets the development admin navigation XML document.
getAdminNavigationDevelopmentXml() : \DOMDocument
Gets all admin navigation entries, in parent-display order.
getAdminNavigationEntries(array $fetchOptions) : array
Parameters
$fetchOptions
arrayFetch options
Returns
array[navigation id] => info
Gets the specified admin navigation entries.
getAdminNavigationEntriesByIds(array $navigationIds, array $fetchOptions) : array
Parameters
$navigationIds
array
$fetchOptions
arrayFetch options
Returns
array[navigation id] => info
Gets all admin navigation entries in the specified add-on.
getAdminNavigationEntriesInAddOn(string $addOnId, array $fetchOptions) : array
Parameters
$addOnId
string
$fetchOptions
arrayFetch options
Returns
array[navigation id] => info
Gets all admin navigation entries with the specified parent, in display order.
getAdminNavigationEntriesWithParent(string $parentId, array $fetchOptions) : array
Parameters
$parentId
string
$fetchOptions
arrayFetch options
Returns
array[navigation id] => info
Gets the specified admin navigation entry.
getAdminNavigationEntryById(string $navigationId, array $fetchOptions) : array | false
Parameters
$navigationId
string
$fetchOptions
arrayFetch options
Returns
arrayfalse
Get the admin navigation for the display of the admin container.
getAdminNavigationForDisplay(string $breadCrumbId) : array
Parameters
$breadCrumbId
stringFarthest point down the bread crumb; used to build bread crumb and select tab/section
Returns
arrayKeys: breadCrumb, tabs, sideLinks, sideLinksRoot
Get the admin navigation list in the correct display order.
getAdminNavigationInOrder(array $navigation, string $root, integer $depth) : array
This can be processed
linearly with depth markers to visually represent the tree.
Parameters
$navigation
arraynullNavigation entries; if null, grabbed automatically
$root
stringRoot node to traverse from
$depth
integerDepth to start at
Returns
array[navigation id] => info, with depth key set
Gets the master title phrase value for the specified admin navigation entry.
getAdminNavigationMasterTitlePhraseValue(string $navigationId) : string
Parameters
$navigationId
string
Returns
string
Gets the admin navigation as simple options for use in a select.
getAdminNavigationOptions(array $navigation, string $root, integer $depth) : array
Uses depth markers for tree display.
Parameters
$navigation
arraynullNavigation entries; if null, grabbed automatically
$root
stringRoot node to traverse from
$depth
integerDepth to start at
Returns
array[] => [value, label, depth]
Gets the name of an admin navigation phrase.
getAdminNavigationPhraseName(string $navigationId) : string
Parameters
$navigationId
string
Returns
string
Gets a list of SQL conditions in the format for a clause.
getConditionsForClause(array $sqlConditions) : string
Inherited
This always returns
a value that can be used in a clause such as WHERE.
| inherited_from |
\XenForo_Model::getConditionsForClause() |
Parameters
$sqlConditions
array
Returns
string
Gets the specified field from a content type, if specified for that type.
getContentTypeField(string $contentType, string $fieldName) : string | false
Inherited
| inherited_from |
\XenForo_Model::getContentTypeField() |
Parameters
$contentType
string
$fieldName
string
Returns
stringfalse
Gets the value of the specified field for each content type that has that field.
getContentTypesWithField(string $fieldName) : array
Inherited
| inherited_from |
\XenForo_Model::getContentTypesWithField() |
Parameters
$fieldName
string
Returns
arrayFormat: [content type] => field value
Gets the specified model object from the cache.
getModelFromCache(string $class) : \XenForo_Model
Inherited
If it does not exist,
it will be instantiated.
| inherited_from |
\XenForo_Model::getModelFromCache() |
Parameters
$class
stringName of the class to load
Returns
Gets the order by clause for an SQL query.
getOrderByClause(array $choices, array $fetchOptions, string $defaultOrderSql) : string
Inherited
| inherited_from |
\XenForo_Model::getOrderByClause() |
Parameters
$choices
array
$fetchOptions
array
$defaultOrderSql
string
Returns
stringOrder by clause or empty string
Group admin navigation entries by their parent.
groupAdminNavigation(array $navigation) : array
Parameters
$navigation
arrayList of navigation entries to group
Returns
array[parent navigation id][navigation id] => info
Imports the add-on admin navigation XML.
importAdminNavigationAddOnXml(\SimpleXMLElement $xml, string $addOnId)
Parameters
$addOnId
stringAdd-on to import for
Imports the development admin navigation XML data.
importAdminNavigationDevelopmentXml(string $fileName)
Parameters
$fileName
stringFile to read the XML from
Determines if the specified parent navigation ID is a valid parent for the navigation ID.
isAdminNavigationEntryValidParent(string $potentialParentId, string $navigationId, array $navigation) : boolean
Parameters
$potentialParentId
string
$navigationId
string
$navigation
arraynullNavigation entries; if null, grabbed automatically
Returns
boolean
Applies a limit clause to the provided query if a limit value is specified.
limitQueryResults(string $query, integer $limit, integer $offset) : string
Inherited
If the limit value is 0 or less, no clause is applied.
| inherited_from |
\XenForo_Model::limitQueryResults() |
Parameters
$query
stringSQL query to run
$limit
integerNumber of records to limit to; ignored if <= 0
$offset
integerOffset from the start of the records. 0+
Returns
stringQuery with limit applied if necessary
Prepares a list of admin navigation entries for display.
prepareAdminNavigationEntries(array $entries) : array
Parameters
$entries
array
Returns
array
Prepares an admin navigation entry for display.
prepareAdminNavigationEntry(array $entry) : array
Parameters
$entry
array
Returns
array
Prepares additional parameters for admin navigation fetch queries.
prepareAdminNavigationFetchOptions(array $fetchOptions) : array
Parameters
$fetchOptions
array
Returns
array
Prepares the limit-related fetching options that can be applied to various queries.
prepareLimitFetchOptions(array $fetchOptions) : array
Inherited
Includes: limit, offset, page, and perPage.
| inherited_from |
\XenForo_Model::prepareLimitFetchOptions() |
Parameters
$fetchOptions
arrayUnprepared options
Returns
arrayLimit options; keys: limit, offset
Prepares state related fetch limits, based on the list of conditions.
prepareStateLimitFromConditions(array $fetchOptions, string $table, string $stateField, string $userField) : string
Inherited
Looks for keys "deleted" and "moderated".
| inherited_from |
\XenForo_Model::prepareStateLimitFromConditions() |
Parameters
$fetchOptions
array
$table
stringName of the table to prefix the state and user fields with
$stateField
stringName of the field that holds the state
$userField
stringName of the field that holds the user ID
Returns
stringSQL condition to limit state
Reset an entry or the entire local cache.
resetLocalCacheData($name)
Inherited
This can be used if you know when
some cached data has expired.
| inherited_from |
\XenForo_Model::resetLocalCacheData() |
Parameters
$name
Sets whether we're allowed to read values from the cache on a model-level.
setAllowCachedRead(boolean $allowCachedRead)
Inherited
This may be controllable on an individual level basis, if the implementation
allows it.
| inherited_from |
\XenForo_Model::setAllowCachedRead() |
Parameters
$allowCachedRead
boolean
Injects a local cache value.
setLocalCacheData(string $name, $value)
Inherited
This should only be used if you know what you're
doing or for testing purposes!
Note that you cannot get the existing data via the public interface. If you think
you need the set data, use a new object. It defaults to empty. :)
| inherited_from |
\XenForo_Model::setLocalCacheData() |
Parameters
$name
string
$value
Standardizes a set of node permissions and a user ID to always
have appropriate data.
standardizeNodePermissionsAndUserId(integer $nodeId, array | null $permissions, integer | null $userId)
Inherited
If an invalid permission set or user ID is
provided, the current visitor's will be used.
| inherited_from |
\XenForo_Model::standardizeNodePermissionsAndUserId() |
Parameters
$nodeId
integerNode permissions are for
$permissions
arraynullPermissions for node or null to use current visitor's permissions
$userId
integernullUser permissions belong to or null to use current visitor
Standardizes a permission combination and user ID to always have
appropriate data.
standardizePermissionCombinationIdAndUserId(integer | null $permissionCombinationId, integer | null $userId)
Inherited
If null, users current visitor's values.
| inherited_from |
\XenForo_Model::standardizePermissionCombinationIdAndUserId() |
Parameters
$permissionCombinationId
integernullPermission combination ID or null to use current visitor
$userId
integernullUser permissions belong to or null to use current visitor
Standardizes a set of permissions and a user ID to always
have appropriate data.
standardizePermissionsAndUserId(array | null $permissions, integer | null $userId)
Inherited
If an invalid permission set or user ID is
provided, the current visitor's will be used.
| inherited_from |
\XenForo_Model::standardizePermissionsAndUserId() |
Parameters
$permissions
arraynullGlobal pPermissions or null to use current visitor's permissions
$userId
integernullUser permissions belong to or null to use current visitor
Standardizes a viewing user reference array.
standardizeViewingUserReference(array $viewingUser)
Inherited
This array must contain all basic user info
(preferably all user info) and include global permissions in a "permissions" key.
If not an array or missing a user_id, the visitor's values will be used.
| inherited_from |
\XenForo_Model::standardizeViewingUserReference() |
Parameters
$viewingUser
arraynull
Standardizes the viewing user reference for the specific node.
standardizeViewingUserReferenceForNode(integer $nodeId, array $viewingUser, array $nodePermissions)
Inherited
| inherited_from |
\XenForo_Model::standardizeViewingUserReferenceForNode() |
Parameters
$nodeId
integer
$viewingUser
arraynullViewing user; if null, use visitor
$nodePermissions
arraynullPermissions for this node; if null, use visitor's
Helper to unserialize permissions in a list of items.
unserializePermissionsInList(array $items, string $serializedKey, string $targetKey) : array
Inherited
| inherited_from |
\XenForo_Model::unserializePermissionsInList() |
Parameters
$items
arrayList of items
$serializedKey
stringKey where serialized permissions are
$targetKey
stringKey where unserialized permissions will go
Returns
arrayList of items with permissions unserialized
Helper method to get the cache object.
_getCache(boolean $forceCachedRead) : \Zend_Cache_Core | \Zend_Cache_Frontend | false
Inherited
If cache reads are disabled, this
will return false.
| inherited_from |
\XenForo_Model::_getCache() |
Parameters
$forceCachedRead
booleanIf true, the global "allow cached read" value is ignored
Returns
\Zend_Cache_Core\Zend_Cache_Frontendfalse
Gets the data registry model.
_getDataRegistryModel() : \XenForo_Model_DataRegistry
Inherited
| inherited_from |
\XenForo_Model::_getDataRegistryModel() |
Returns
Helper method to get the database object.
_getDb() : \Zend_Db_Adapter_Abstract
Inherited
| inherited_from |
\XenForo_Model::_getDb() |
Returns
\Zend_Db_Adapter_Abstract
Gets the named entry from the local cache.
_getLocalCacheData(string $name) : mixed
Inherited
| inherited_from |
\XenForo_Model::_getLocalCacheData() |
Parameters
$name
string
Returns
mixed
Properties
$_allowCachedRead : boolean
Inherited
If not, it should be retrieved
from the source.
| inherited_from |
\XenForo_Model::$$_allowCachedRead |
$_cache : \Zend_Cache_Core | \Zend_Cache_Frontend
Inherited
| inherited_from |
\XenForo_Model::$$_cache |
$_db : \Zend_Db_Adapter_Abstract
Inherited
| inherited_from |
\XenForo_Model::$$_db |
$_localCacheData : array
Inherited
This data
is generally treated as canonical, even if {$_allowCachedRead} is false.
| inherited_from |
\XenForo_Model::$$_localCacheData |
$_modelCache : array
Inherited
| inherited_from |
\XenForo_Model::$$_modelCache |
Constants