eZ Publish  [trunk]
eZContentClass Class Reference

Handles eZ Publish content classes. More...

+ Inheritance diagram for eZContentClass:
+ Collaboration diagram for eZContentClass:

List of all members.

Public Member Functions

 __clone ()
 adjustAttributePlacements ($attributes)
 alwaysAvailableLanguage ()
 alwaysAvailableLanguageLocale ()
 buildContentObjectName ($contentObjectName, $dataMap, $tmpTags=false)
 canCreateLanguages ()
 canInstantiateClasses ()
 canInstantiateLanguages ()
 clearAlwaysAvailableLanguageID ()
 compareAttributes ($attr1, $attr2)
 contentObjectName (eZContentObject $contentObject, $version=false, $translation=false)
 Will generate a name for the content object based on the class settings for content object limited by self::CONTENT_OBJECT_NAME_MAX_LENGTH.
 creator ()
 dataMap ()
 description ($languageLocale=false)
 descriptionList ()
 eZContentClass ($row)
 fetchAllGroups ()
 fetchAttributeByIdentifier ($identifier, $asObject=true)
 fetchAttributes ($id=false, $asObject=true, $version=eZContentClass::VERSION_STATUS_DEFINED)
 fetchGroupIDList ()
 fetchGroupList ()
 fetchMatchGroupIDList ()
 fetchSearchableAttributes ($id=false, $asObject=true, $version=eZContentClass::VERSION_STATUS_DEFINED)
 hasNameInLanguage ($languageLocale)
 inGroup ($groupID)
 initializeCopy (&$originalClass)
 instantiate ($userID=false, $sectionID=0, $versionNumber=false, $languageCode=false, $versionStatus=eZContentObjectVersion::STATUS_INTERNAL_DRAFT)
 instantiateIn ($lang, $userID=false, $sectionID=0, $versionNumber=false, $versionStatus=eZContentObjectVersion::STATUS_INTERNAL_DRAFT)
 isRemovable ()
 languages ()
 modifier ()
 name ($languageLocale=false)
 nameList ()
 objectCount ()
 objectList ()
 prioritizedLanguages ()
 prioritizedLanguagesJsArray ()
 remoteID ()
 removableInformation ($includeAll=true)
 remove ($removeAttributes=false, $version=eZContentClass::VERSION_STATUS_DEFINED)
 removeAttributes ($removeAttributes=false, $version=false)
 removeTranslation ($languageID)
 setAlwaysAvailableLanguageID ($languageID, $updateChilds=true)
 setCanInstantiateLanguages ($languageCodes)
 setDescription ($description, $languageLocale=false)
 setName ($name, $languageLocale=false)
 setVersion ($version, $set_childs=false)
 store ($store_childs=false, $fieldFilters=null)
 storeDefined ($attributes)
 Stores the current class as a defined version, updates the contentobject_name attribute and recreates the class group entries.
 storeVersioned ($attributes, $version)
 Stores the current class as a modified version, updates the contentobject_name attribute and recreates the class group entries.
 sync ($fieldFilters=null)
 Makes sure data is stored if the data is considered dirty.
 topPriorityLanguageLocale ()
 urlAliasName (eZContentObject $contentObject, $version=false, $translation=false)
 Will generate a name for the url alias based on the class settings for content object limited by site.ini\[URLTranslator].
 versionCount ()
 versionStatus ()

Static Public Member Functions

static canInstantiateClassList ($asObject=false, $includeFilter=true, $groupList=false, $fetchID=false)
static classIDByIdentifier ($identifier)
 Resolves the string class identifier $identifier to its numeric value Use eZContentObjectTreeNode::classIDByIdentifier() for < 4.1.
static classIdentifierByID ($id)
 Resolves the numeric class identifier $id to its string value.
static create ($userID=false, $optionalValues=array(), $languageLocale=false)
static definition ()
 Returns the definition for the object, the default implementation is to return an empty array.
static descriptionFromSerializedString ($serializedNameList)
static exists ($id, $version=eZContentClass::VERSION_STATUS_DEFINED, $userID=false, $useIdentifier=false)
static expireCache ()
 Expires in-memory cache for eZContentClass.
static fetch ($id, $asObject=true, $version=eZContentClass::VERSION_STATUS_DEFINED, $user_id=false, $parent_id=null)
static fetchAllClasses ($asObject=true, $includeFilter=true, $groupList=false)
static fetchByIdentifier ($identifier, $asObject=true, $version=eZContentClass::VERSION_STATUS_DEFINED, $user_id=false, $parent_id=null)
static fetchByRemoteID ($remoteID, $asObject=true, $version=eZContentClass::VERSION_STATUS_DEFINED, $user_id=false, $parent_id=null)
static fetchIDListContainingDatatype ($dataTypeString)
static fetchList ($version=eZContentClass::VERSION_STATUS_DEFINED, $asObject=true, $user_id=false, $sorts=null, $fields=null, $classFilter=false, $limit=null)
static nameFromSerializedString ($serializedNameList)
static removeTemporary ()
static versionHistoryLimit ($class)
 Computes the version history limit for a content class.

Public Attributes

 $AllGroups
 $CanInstantiateLanguages
 $ContentObjectName
 $Created
 $CreatorID
 $DescriptionList
 $ID
 $Identifier
 $InGroups
 $IsContainer
 $LanguageMask
 $Modified
 $ModifierID
 $NameList
 $SerializedNameList
 $Version
 $VersionCount
const CONTENT_OBJECT_NAME_MAX_LENGTH = 255
const VERSION_STATUS_DEFINED = 0
const VERSION_STATUS_MODIFIED = 2
const VERSION_STATUS_TEMPORARY = 1

Static Protected Member Functions

static classIdentifiersHash ()
 Returns the class identifier hash for the current database.

Static Private Attributes

static $identifierHash = null
 In-memory cache for class identifiers / id matching.

Detailed Description

Handles eZ Publish content classes.

See also:
eZContentObject

Definition at line 19 of file ezcontentclass.php.


Member Function Documentation

Definition at line 172 of file ezcontentclass.php.

Definition at line 874 of file ezcontentclass.php.

Referenced by storeVersioned().

Wrapper for eZContentClassNameList::alwaysAvailableLanguage.

Returns:
'language' object.

Definition at line 1689 of file ezcontentclass.php.

eZContentClass::buildContentObjectName ( contentObjectName,
dataMap,
tmpTags = false 
)

Generates a name for the content object based on the content object name pattern and data map of an object.

Definition at line 1424 of file ezcontentclass.php.

static eZContentClass::canInstantiateClassList ( asObject = false,
includeFilter = true,
groupList = false,
fetchID = false 
) [static]

Finds all classes that the current user can create objects from and returns. It is also possible to filter the list event more with $includeFilter and $groupList.

Parameters:
$asObjectIf true then it return eZContentClass objects, if not it will be an associative array with name and id keys.
$includeFilterIf true then it will include only from class groups defined in $groupList, if not it will exclude those groups.
$groupListAn array with class group IDs that should be used in filtering, use false if you do not wish to filter at all.
$fetchIDA unique name for the current fetch, this must be supplied when filtering is used if you want caching to work.

Definition at line 377 of file ezcontentclass.php.

Referenced by eZContentObjectTreeNode\getClassesJsArray().

static eZContentClass::classIDByIdentifier ( identifier) [static]

Resolves the string class identifier $identifier to its numeric value Use eZContentObjectTreeNode::classIDByIdentifier() for < 4.1.

If multiple classes have the same identifier, the first found is returned.

Since:
Version 4.1
Parameters:
string | array$identifieridentifier string or array of identifiers (array support added in 4.1.1)
Returns:
int|false Returns classid or false

Definition at line 1769 of file ezcontentclass.php.

Referenced by versionHistoryLimit().

static eZContentClass::classIdentifierByID ( id) [static]

Resolves the numeric class identifier $id to its string value.

Since:
Version 4.1
Returns:
string|false Returns classidentifier or false

Definition at line 1798 of file ezcontentclass.php.

Referenced by eZContentObject\contentClassIdentifier(), and versionHistoryLimit().

static eZContentClass::classIdentifiersHash ( ) [static, protected]

Returns the class identifier hash for the current database.

If it is outdated or non-existent, the method updates/generates the file

Since:
Version 4.1 protected
Returns:
array Returns hash of classidentifier => classid

Definition at line 1817 of file ezcontentclass.php.

Referenced by classIDByIdentifier().

eZContentClass::compareAttributes ( attr1,
attr2 
)

Definition at line 869 of file ezcontentclass.php.

eZContentClass::contentObjectName ( eZContentObject contentObject,
version = false,
translation = false 
)

Will generate a name for the content object based on the class settings for content object limited by self::CONTENT_OBJECT_NAME_MAX_LENGTH.

Parameters:
eZContentObject$contentObject
int | false$version
string | false$translation
Returns:
string

Definition at line 1376 of file ezcontentclass.php.

static eZContentClass::create ( userID = false,
optionalValues = array(),
languageLocale = false 
) [static]

Creates an 'eZContentClass' object.

To specify contentclass name use either $optionalValues['serialized_name_list'] or combination of $optionalValues['name'] and/or $languageLocale.

In case of conflict(when both 'serialized_name_list' and 'name' with/without $languageLocale are specified) 'serialized_name_list' has top priority. This means that 'name' and $languageLocale will be ingnored because 'serialized_name_list' already has all needed info about names and languages.

If 'name' is specified then the contentclass will have a name in $languageLocale(if specified) or in default language.

If neither of 'serialized_name_list' or 'name' isn't specified then the contentclass will have an empty name in 'languageLocale'(if specified) or in default language.

'language_mask' and 'initial_language_id' attributes will be set according to specified(either in 'serialized_name_list' or by $languageLocale) languages.

Returns:
'eZContentClass' object.

Definition at line 205 of file ezcontentclass.php.

Referenced by eZContentClassPackageHandler\install(), and instantiate().

Returns:
The creator of the class as an eZUser object by using the $CreatorID as user ID.

Definition at line 587 of file ezcontentclass.php.

Returns all attributes as an associative array with the key taken from the attribute identifier.

Definition at line 1286 of file ezcontentclass.php.

static eZContentClass::definition ( ) [static]

Returns the definition for the object, the default implementation is to return an empty array.

It's upto each inheriting class to return a proper definition array.

The definition array is an associative array consists of these keys:

  • fields: an associative array of fields which defines which database field (the key) is to fetched and how they map to object member variables (the value).
  • keys: an array of fields which is used for uniquely identifying the object in the table.
  • function_attributes: an associative array of attributes which maps to member functions, used for fetching data with functions.
  • set_functions: an associative array of attributes which maps to member functions, used for setting data with functions.
  • increment_key: the field which is incremented on table inserts.
  • class_name: the classname which is used for instantiating new objecs when fetching from the database.
  • sort: an associative array which defines the default sorting of lists, the key is the table field while the value is the sorting method which is either 'asc' or 'desc'.
  • name: the name of the database table

Example: public static function definition() { return array( "fields" => array( "id" => "ID", "version" => "Version", "name" => "Name" ), "keys" => array( "id", "version" ), "function_attributes" => array( "current" => "currentVersion", "class_name" => "className" ), "increment_key" => "id", "class_name" => "eZContentClass", "sort" => array( "id" => "asc" ), "name" => "ezcontentclass" ); }

Returns:
array

Reimplemented from eZPersistentObject.

Definition at line 57 of file ezcontentclass.php.

Referenced by create(), exists(), fetch(), fetchByIdentifier(), fetchByRemoteID(), and fetchList().

eZContentClass::description ( languageLocale = false)

Returns a contentclass description in $languageLocale language. Uses siteaccess language list or 'always available' language if $languageLocale is 'false'.

Returns:
string with contentclass name.

Definition at line 1565 of file ezcontentclass.php.

static eZContentClass::descriptionFromSerializedString ( serializedNameList) [static]

Returns a contentclass description from serialized array $serializedNameList using top language from siteaccess language list or 'always available' name from $serializedNameList.

Returns:
string with contentclass description.

Definition at line 1521 of file ezcontentclass.php.

Definition at line 1575 of file ezcontentclass.php.

static eZContentClass::exists ( id,
version = eZContentClass::VERSION_STATUS_DEFINED,
userID = false,
useIdentifier = false 
) [static]

Definition at line 1071 of file ezcontentclass.php.

Referenced by eZContentClassPackageHandler\handleParameters().

static eZContentClass::expireCache ( ) [static]

Expires in-memory cache for eZContentClass.

Clears cache for fetched eZContentClass objects, class identifiers and class attributes.

Since:
4.2

Definition at line 1892 of file ezcontentclass.php.

Referenced by eZCache\clearClassID(), and store().

Definition at line 31 of file ezcontentclass.php.

Referenced by create(), fetch(), fetchByIdentifier(), and fetchByRemoteID().

static eZContentClass::fetchAllClasses ( asObject = true,
includeFilter = true,
groupList = false 
) [static]

Finds all Classes in the system and returns them.

Returns:
An array with eZContentClass objects.

Definition at line 661 of file ezcontentclass.php.

Referenced by eZContentObjectTreeNode\availableClassListJsArray().

Finds all Class groups in the system and returns them.

Returns:
An array with eZContentClassGroup objects.
See also:
fetchGroupList(), fetchGroupIDList()

Definition at line 698 of file ezcontentclass.php.

eZContentClass::fetchAttributeByIdentifier ( identifier,
asObject = true 
)

Fetch class attribute by identifier, return null if none exist.

Parameters:
attributeidentifier.
Returns:
Class Attribute, null if none matched

Definition at line 1319 of file ezcontentclass.php.

Find all groups the current class is placed in and returns a list of group IDs.

Returns:
An array with integers (ids).
See also:
fetchGroupList()

Definition at line 626 of file ezcontentclass.php.

Find all groups the current class is placed in and returns a list of group objects.

Returns:
An array with eZContentClassGroup objects.
See also:
fetchGroupIDList()

Definition at line 613 of file ezcontentclass.php.

Referenced by fetchGroupIDList().

static eZContentClass::fetchIDListContainingDatatype ( dataTypeString) [static]

Returns an array of IDs of classes containing a specified datatype

Parameters:
$dataTypeStringa datatype identification string

Definition at line 1868 of file ezcontentclass.php.

Referenced by eZUser\contentClassIDs().

Returns the result from fetchGroupIDList() if class group overrides is enabled in content.ini.

Returns:
An array with eZContentClassGroup objects or false if disabled.
Note:
EnableClassGroupOverride in group ContentOverrideSettings from INI file content.ini controls this behaviour.

Definition at line 646 of file ezcontentclass.php.

Definition at line 1331 of file ezcontentclass.php.

eZContentClass::hasNameInLanguage ( languageLocale)

Definition at line 1526 of file ezcontentclass.php.

eZContentClass::inGroup ( groupID)
Returns:
true if the class is part of the group $groupID

Definition at line 707 of file ezcontentclass.php.

eZContentClass::initializeCopy ( &$  originalClass)

Initializes this class as a copy of $originalClass by creating new a new name and identifier. It will check if there are other classes already with this name in which case it will append a unique number to the name and identifier.

Definition at line 940 of file ezcontentclass.php.

eZContentClass::instantiate ( userID = false,
sectionID = 0,
versionNumber = false,
languageCode = false,
versionStatus = eZContentObjectVersion::STATUS_INTERNAL_DRAFT 
)

Creates a new content object instance and stores it.

Parameters:
userIDuser ID (optional), current user if not set (also store object id in session if $userID = false)
sectionIDsection ID (optional), 0 if not set
versionNumberversion number, create initial version if not set
Note:
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Definition at line 274 of file ezcontentclass.php.

Referenced by instantiateIn().

eZContentClass::instantiateIn ( lang,
userID = false,
sectionID = 0,
versionNumber = false,
versionStatus = eZContentObjectVersion::STATUS_INTERNAL_DRAFT 
)

Definition at line 260 of file ezcontentclass.php.

Checks if the class can be removed and returns true if it can, false otherwise.

See also:
removableInformation()

Definition at line 772 of file ezcontentclass.php.

Referenced by remove().

Returns:
The modifier of the class as an eZUser object by using the $ModifierID as user ID.

Definition at line 599 of file ezcontentclass.php.

eZContentClass::name ( languageLocale = false)

Returns a contentclass name in $languageLocale language. Uses siteaccess language list or 'always available' language if $languageLocale is 'false'.

Returns:
string with contentclass name.

Definition at line 1538 of file ezcontentclass.php.

Referenced by instantiate().

static eZContentClass::nameFromSerializedString ( serializedNameList) [static]

Returns a contentclass name from serialized array $serializedNameList using top language from siteaccess language list or 'always available' name from $serializedNameList.

Returns:
string with contentclass name.

Definition at line 1508 of file ezcontentclass.php.

Referenced by eZContentObject\className(), eZContentStructureTreeOperator\createContentStructureNode(), descriptionFromSerializedString(), eZContentObject\eZContentObject(), eZContentObject\fetchIDArray(), eZContentObjectTreeNode\makeObjectsArray(), and eZContentObject\relatedObjects().

Definition at line 1554 of file ezcontentclass.php.

Returns:
will return the number of objects published by this class.

Definition at line 1464 of file ezcontentclass.php.

Returns:
will return the list of objects published by this class.

Definition at line 1477 of file ezcontentclass.php.

Get remote id of content node

Definition at line 737 of file ezcontentclass.php.

Returns information on why the class cannot be removed, it does the same checks as in isRemovable() but generates some text in the return array.

Returns:
An array which contains:
  • text - Plain text description why this cannot be removed
  • list - An array with reasons why this failed, each entry contains:
    • text - Plain text description of the reason.
    • list - A sublist of reason (e.g from an attribute), is optional.
Parameters:
$includeAllControls whether the returned information will contain all sources for not being to remove or just the first that it finds.

Definition at line 790 of file ezcontentclass.php.

Referenced by isRemovable().

eZContentClass::remove ( removeAttributes = false,
version = eZContentClass::VERSION_STATUS_DEFINED 
)
Note:
If you want to remove a class with all data associated with it (objects/classMembers) you should use eZContentClassOperations::remove()

Reimplemented from eZPersistentObject.

Definition at line 755 of file ezcontentclass.php.

eZContentClass::removeAttributes ( removeAttributes = false,
version = false 
)
Note:
Removes class attributes
Parameters:
removeAttributesArray of attributes to remove
versionVersion to remove( optional )

Definition at line 833 of file ezcontentclass.php.

Referenced by remove(), and storeVersioned().

static eZContentClass::removeTemporary ( ) [static]

Will remove all temporary classes from the database.

Definition at line 718 of file ezcontentclass.php.

Removes translated name for specified by $languageID language.

Definition at line 1708 of file ezcontentclass.php.

eZContentClass::setAlwaysAvailableLanguageID ( languageID,
updateChilds = true 
)

Definition at line 1580 of file ezcontentclass.php.

Referenced by clearAlwaysAvailableLanguageID().

Returns:
Sets the languages which are allowed to be instantiated for the class. Used only for the content/ fetch function.

Definition at line 1486 of file ezcontentclass.php.

eZContentClass::setDescription ( description,
languageLocale = false 
)

Definition at line 1570 of file ezcontentclass.php.

eZContentClass::setName ( name,
languageLocale = false 
)

Definition at line 1543 of file ezcontentclass.php.

Referenced by initializeCopy().

eZContentClass::setVersion ( version,
set_childs = false 
)

Definition at line 1047 of file ezcontentclass.php.

Referenced by storeVersioned().

eZContentClass::store ( store_childs = false,
fieldFilters = null 
)
eZContentClass::storeDefined ( attributes)

Stores the current class as a defined version, updates the contentobject_name attribute and recreates the class group entries.

Note:
It will remove any existing temporary or defined classes before storing.
Parameters:
array$attributesarray of attributes of the content class

Definition at line 971 of file ezcontentclass.php.

Referenced by eZContentClassEditHandler\store().

eZContentClass::storeVersioned ( attributes,
version 
)

Stores the current class as a modified version, updates the contentobject_name attribute and recreates the class group entries.

Note:
It will remove classes in the previous and specified version before storing.
Parameters:
array$attributesarray of attributes
int$versionversion status
Since:
Version 4.3

Definition at line 986 of file ezcontentclass.php.

Referenced by storeDefined().

eZContentClass::sync ( fieldFilters = null)

Makes sure data is stored if the data is considered dirty.

Note: Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Parameters:
array | null$fieldFilters
Returns:
void

Reimplemented from eZPersistentObject.

Definition at line 928 of file ezcontentclass.php.

Referenced by remoteID().

eZContentClass::urlAliasName ( eZContentObject contentObject,
version = false,
translation = false 
)

Will generate a name for the url alias based on the class settings for content object limited by site.ini\[URLTranslator].

Parameters:
eZContentObject$contentObject
int | false$version
string | false$translation
Returns:
string

Definition at line 1402 of file ezcontentclass.php.

Deprecated:
Returns:
The version count for the class if has been determined.

Definition at line 1362 of file ezcontentclass.php.

static eZContentClass::versionHistoryLimit ( class) [static]

Computes the version history limit for a content class.

Parameters:
mixed$classContent class ID, content class identifier or content class object
Returns:
int
Since:
4.2

Definition at line 1907 of file ezcontentclass.php.

Referenced by eZContentObject\createNewVersion().

Definition at line 1344 of file ezcontentclass.php.


Member Data Documentation

eZContentClass::$AllGroups

Definition at line 1996 of file ezcontentclass.php.

eZContentClass::$CanInstantiateLanguages

Definition at line 1998 of file ezcontentclass.php.

eZContentClass::$ContentObjectName

Definition at line 1988 of file ezcontentclass.php.

eZContentClass::$Created

Definition at line 1993 of file ezcontentclass.php.

eZContentClass::$CreatorID

Definition at line 1991 of file ezcontentclass.php.

eZContentClass::$DescriptionList

Definition at line 1986 of file ezcontentclass.php.

eZContentClass::$ID

Definition at line 1980 of file ezcontentclass.php.

eZContentClass::$Identifier

Definition at line 1987 of file ezcontentclass.php.

eZContentClass::$identifierHash = null [static, private]

In-memory cache for class identifiers / id matching.

Definition at line 2004 of file ezcontentclass.php.

Referenced by classIDByIdentifier(), classIdentifierByID(), and classIdentifiersHash().

eZContentClass::$InGroups

Definition at line 1995 of file ezcontentclass.php.

eZContentClass::$IsContainer

Definition at line 1997 of file ezcontentclass.php.

eZContentClass::$LanguageMask

Definition at line 1999 of file ezcontentclass.php.

eZContentClass::$Modified

Definition at line 1994 of file ezcontentclass.php.

eZContentClass::$ModifierID

Definition at line 1992 of file ezcontentclass.php.

eZContentClass::$NameList

Definition at line 1984 of file ezcontentclass.php.

eZContentClass::$SerializedNameList

Definition at line 1982 of file ezcontentclass.php.

eZContentClass::$Version

Definition at line 1989 of file ezcontentclass.php.

eZContentClass::$VersionCount

Definition at line 1990 of file ezcontentclass.php.

Definition at line 29 of file ezcontentclass.php.

Referenced by contentObjectName().


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