CWIS Developer Documentation
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
MetadataSchema Class Reference

Metadata schema (in effect a Factory class for MetadataField). More...

Inheritance diagram for MetadataSchema:
Inheritance graph
[legend]
Collaboration diagram for MetadataSchema:
Collaboration graph
[legend]

Public Member Functions

 __construct ($SchemaId=self::SCHEMAID_DEFAULT)
 Object constructor, used to load an existing schema. More...
 
 Delete ()
 Destroy metadata schema. More...
 
 Id ()
 Get schema ID. More...
 
 Name ($NewValue=NULL)
 Get/set name of schema. More...
 
 ResourceName ($NewValue=NULL)
 Get/set name of resources using this schema. More...
 
 ViewPage ($NewValue=NULL)
 Get/set name of page to go to for viewing resources using this schema. More...
 
 AuthoringPrivileges (PrivilegeSet $NewValue=NULL)
 Get/set privileges that allowing authoring resources with this schema. More...
 
 EditingPrivileges (PrivilegeSet $NewValue=NULL)
 Get/set privileges that allowing editing resources with this schema. More...
 
 ViewingPrivileges (PrivilegeSet $NewValue=NULL)
 Get/set privileges that allowing viewing resources with this schema. More...
 
 UserCanAuthor ($User)
 Determine if the given user can author resources using this schema. More...
 
 UserCanEdit ($User)
 Determine if the given user can edit resources using this schema. More...
 
 UserCanView ($User)
 Determine if the given user can view resources using this schema. More...
 
 GetViewPageIdParameter ()
 Get the resource ID GET parameter for the view page for the schema. More...
 
 PathMatchesViewPage ($Path)
 Determine if a path matches the view page path for the schema. More...
 
 CacheData ($NewValue)
 Enable/disable caching of metadata field info. More...
 
 AddField ($FieldName, $FieldType, $Optional=TRUE, $DefaultValue=NULL)
 Add new metadata field. More...
 
 AddFieldsFromXmlFile ($FileName, $TestRun=FALSE)
 Add new metadata fields from XML file. More...
 
 NewFields ()
 Get new fields recently added (if any) via XML file. More...
 
 ErrorMessages ($Method=NULL)
 Get error messages (if any) from recent calls. More...
 
 AddFieldFromXml ($Xml)
 Add new metadata field based on supplied XML. More...
 
 DropField ($FieldId)
 Delete metadata field and all associated data. More...
 
 GetField ($FieldId)
 Retrieve metadata field by ID. More...
 
 GetFieldByName ($FieldName, $IgnoreCase=FALSE)
 Retrieve metadata field by name. More...
 
 GetFieldByLabel ($FieldLabel, $IgnoreCase=FALSE)
 Retrieve metadata field by label. More...
 
 GetFieldIdByName ($FieldName, $IgnoreCase=FALSE)
 Retrieve metadata field ID by name. More...
 
 GetFieldIdByLabel ($FieldLabel, $IgnoreCase=FALSE)
 Retrieve metadata field ID by label. More...
 
 FieldExists ($FieldName)
 Check whether field with specified name exists. More...
 
 GetFields ($FieldTypes=NULL, $OrderType=NULL, $IncludeDisabledFields=FALSE, $IncludeTempFields=FALSE)
 Retrieve array of fields. More...
 
 GetFieldNames ($FieldTypes=NULL, $OrderType=NULL, $IncludeDisabledFields=FALSE, $IncludeTempFields=FALSE)
 Retrieve field names. More...
 
 GetFieldsAsOptionList ($OptionListName, $FieldTypes=NULL, $SelectedFieldId=NULL, $IncludeNullOption=TRUE, $AddEntries=NULL, $AllowMultiple=FALSE)
 Retrieve fields of specified type as HTML option list with field names as labels and field IDs as value attributes. More...
 
 GetFieldTypes ()
 Retrieve array of field types. More...
 
 GetAllowedFieldTypes ()
 Retrieve array of field types that user can create. More...
 
 RemoveQualifierAssociations ($QualifierIdOrObject)
 Remove all metadata field associations for a given qualifier. More...
 
 QualifierIsInUse ($QualifierIdOrObject)
 Check whether qualifier is in use by any metadata field (in any schema). More...
 
 GetHighestFieldId ()
 Get highest field ID currently in use. More...
 
 GetFieldByMappedName ($MappedName)
 Get field by standard field name. More...
 
 GetFieldIdByMappedName ($MappedName)
 Get field ID by standard field name. More...
 
 GetOwnedFields ()
 Get fields that have an owner associated with them. More...
 
 GetDisplayOrder ()
 Get the display order for the schema. More...
 
 GetEditOrder ()
 Get the editing order for the schema. More...
 
- Public Member Functions inherited from ItemFactory
 ItemFactory ($ItemClassName, $ItemTableName, $ItemIdFieldName, $ItemNameFieldName=NULL, $OrderOpsAllowed=FALSE, $SqlCondition=NULL)
 Class constructor. More...
 
 GetItemClassName ()
 Get class name of items manipulated by factory. More...
 
 GetCurrentEditedItemId ()
 Get ID of currently edited item. More...
 
 SetCurrentEditedItemId ($NewId)
 Set ID of currently edited item. More...
 
 ClearCurrentEditedItemId ()
 Clear currently edited item ID. More...
 
 ClearCurrentEditedItem ()
 Delete currently edited item and clear currently edited item ID. More...
 
 CleanOutStaleTempItems ($MinutesUntilStale=10080)
 Clear out (call the Delete() method) for any temp items more than specified number of minutes old. More...
 
 GetLastTempItemId ()
 Retrieve most recent temp item ID for currently-logged-in user. More...
 
 GetNextItemId ()
 Retrieve next available (non-temp) item ID. More...
 
 GetHighestItemId ($IgnoreSqlCondition=FALSE)
 Retrieve highest item ID in use. More...
 
 GetNextTempItemId ()
 Return next available temporary item ID. More...
 
 GetItemCount ($Condition=NULL, $IncludeTempItems=FALSE)
 Get count of items. More...
 
 GetItemIds ($Condition=NULL, $IncludeTempItems=FALSE, $SortField=NULL, $SortAscending=TRUE)
 Return array of item IDs. More...
 
 GetLatestModificationDate ($Condition=NULL)
 Get newest modification date (based on values in "DateLastModified" column in database table). More...
 
 GetItem ($ItemId)
 Retrieve item by item ID. More...
 
 ItemExists ($ItemId, $IgnoreSqlCondition=FALSE)
 Check that item exists with specified ID. More...
 
 GetItemByName ($Name, $IgnoreCase=FALSE)
 Retrieve item by name. More...
 
 GetItemIdByName ($Name, $IgnoreCase=FALSE)
 Retrieve item ID by name. More...
 
 GetItemNames ($SqlCondition=NULL)
 Retrieve item names. More...
 
 GetItems ($SqlCondition=NULL)
 Retrieve items. More...
 
 GetItemsAsOptionList ($OptionListName, $SelectedItemId=NULL, $SqlCondition=NULL, $DisplaySize=1, $SubmitOnChange=FALSE)
 Retrieve items of specified type as HTML option list with item names as labels and item IDs as value attributes. More...
 
 NameIsInUse ($Name, $IgnoreCase=FALSE)
 Check whether item name is currently in use. More...
 
 SearchForItemNames ($SearchString, $NumberOfResults=100, $IncludeVariants=FALSE, $UseBooleanMode=TRUE, $Offset=0, $IdExclusions=array(), $ValueExclusions=array())
 Retrieve items with names matching search string. More...
 
 GetCountForItemNames ($SearchString, $IncludeVariants=FALSE, $UseBooleanMode=TRUE, $IdExclusions=array(), $ValueExclusions=array())
 Retrieve count of items with names matching search string. More...
 
 AddItem ($ItemName, $AdditionalValues=NULL)
 Add new item. More...
 
 DeleteItem ($ItemId)
 Delete item. More...
 
 SetOrderOpsCondition ($Condition)
 Set SQL condition (added to WHERE clause) used to select items for ordering operations. More...
 
 InsertBefore ($TargetItem, $NewItem)
 Insert item into order before specified item. More...
 
 InsertAfter ($TargetItem, $NewItem)
 Insert item into order after specified item. More...
 
 Prepend ($Item)
 Add item to beginning of order. More...
 
 Append ($Item)
 Add item to end of order. More...
 
 GetItemIdsInOrder ()
 Retrieve list of item IDs in order. More...
 
 RemoveItemFromOrder ($ItemId)
 Remove item from existing order. More...
 

Static Public Member Functions

static GetConstantName ($Value, $Prefix=NULL)
 Get name (string) for constant. More...
 
static Create ($Name, PrivilegeSet $AuthorPrivs=NULL, PrivilegeSet $EditPrivs=NULL, PrivilegeSet $ViewPrivs=NULL, $ViewPage="", $ResourceName=NULL)
 Create new metadata schema. More...
 
static SchemaExistsWithId ($SchemaId)
 Check with schema exists with specified ID. More...
 
static StdNameToFieldMapping ($MappedName, $FieldId=NULL)
 Get/set mapping of standard field name to specific field. More...
 
static FieldToStdNameMapping ($FieldId)
 Get mapping of field ID to standard field name. More...
 
static GetCanonicalFieldIdentifier ($Field)
 Retrieve canonical identifier for field. More...
 
static GetPrintableFieldName ($Field)
 Retrieve label for field. More...
 
static GetAllSchemas ()
 Get all existing metadata schemas. More...
 
static SetOwnerListRetrievalFunction ($Callback)
 Allow external dependencies, i.e., the current list of owners that are available, to be injected. More...
 
static NormalizeOwnedFields ()
 Disable owned fields that have an owner that is unavailable and re-enable fields if an owner has returned and the field was flagged to be re-enabled. More...
 

Public Attributes

const MDFTYPE_TEXT = 1
 
const MDFTYPE_PARAGRAPH = 2
 
const MDFTYPE_NUMBER = 4
 
const MDFTYPE_DATE = 8
 
const MDFTYPE_TIMESTAMP = 16
 
const MDFTYPE_FLAG = 32
 
const MDFTYPE_TREE = 64
 
const MDFTYPE_CONTROLLEDNAME = 128
 
const MDFTYPE_OPTION = 256
 
const MDFTYPE_USER = 512
 
const MDFTYPE_IMAGE = 1024
 
const MDFTYPE_FILE = 2048
 
const MDFTYPE_URL = 4096
 
const MDFTYPE_POINT = 8192
 
const MDFTYPE_REFERENCE = 16384
 
const MDFORDER_DISPLAY = 1
 
const MDFORDER_EDITING = 2
 
const MDFORDER_ALPHABETICAL = 3
 
const MDFSTAT_OK = 1
 
const MDFSTAT_ERROR = 2
 
const MDFSTAT_DUPLICATENAME = 4
 
const MDFSTAT_DUPLICATEDBCOLUMN = 8
 
const MDFSTAT_FIELDDOESNOTEXIST = 16
 
const MDFSTAT_ILLEGALNAME = 32
 
const MDFSTAT_DUPLICATELABEL = 64
 
const MDFSTAT_ILLEGALLABEL = 128
 
const SCHEMAID_DEFAULT = 0
 
const SCHEMAID_USER = 1
 
const RESOURCENAME_DEFAULT = "Resource"
 
const RESOURCENAME_USER = "User"
 
const ORDER_DISPLAY_NAME = "Display"
 
const ORDER_EDIT_NAME = "Edit"
 

Protected Member Functions

 UpdateFieldCompareOrders ()
 Update the field comparison ordering cache that is used for sorting fields. More...
 
 FieldCompareOrdersSet ()
 Determine whether the field comparison ordering caches are set. More...
 
 CompareFieldOrder ($FieldA, $FieldB)
 Field sorting callback. More...
 

Protected Attributes

 $FieldCompareDisplayOrder = array()
 The cache for metadata field display ordering. More...
 
 $FieldCompareEditOrder = array()
 The cache for metadata field edit ordering. More...
 
- Protected Attributes inherited from ItemFactory
 $DB
 

Static Protected Attributes

static $OwnerListRetrievalFunction
 

Detailed Description

Metadata schema (in effect a Factory class for MetadataField).

Definition at line 13 of file MetadataSchema.php.

Constructor & Destructor Documentation

MetadataSchema::__construct (   $SchemaId = self::SCHEMAID_DEFAULT)

Object constructor, used to load an existing schema.

(Use MetadataSchema::Create() to create a new schema.)

Parameters
mixed$SchemaIdID of schema. Schema IDs are numerical, except for two special values SCHEMAID_DEFAULT and SCHEMAID_USER. (OPTIONAL, defaults to SCHEMAID_DEFAULT)
See also
MetadataSchema::Create()

Definition at line 71 of file MetadataSchema.php.

References AuthoringPrivileges(), EditingPrivileges(), Id(), ItemFactory\ItemFactory(), Name(), ViewingPrivileges(), and ViewPage().

Member Function Documentation

MetadataSchema::AddField (   $FieldName,
  $FieldType,
  $Optional = TRUE,
  $DefaultValue = NULL 
)

Add new metadata field.

Parameters
string$FieldNameName of new field.
mixed$FieldTypeType of new field.
bool$OptionalWhether setting a value for new field is optional when creating new records that use the field. (OPTIONAL, defaults to TRUE)
mixed$DefaultValueInitial default value for field. (OPTIONAL)
Returns
MetadataField object or NULL if field addition failed.

Definition at line 596 of file MetadataSchema.php.

References MetadataField\Create(), and Id().

Referenced by AddFieldFromXml(), and AddFieldsFromXmlFile().

Here is the caller graph for this function:

MetadataSchema::AddFieldFromXml (   $Xml)

Add new metadata field based on supplied XML.

The XML elements are method names from the MetadataField object, with the values being passed in as the parameter to that method. The FieldName and FieldType elements are required. Values for elements/methods that would normally be called with constants in PHP can be constant names.

Parameters
string$XmlBlock of XML containing field description.
Returns
New MetadataField object or NULL if addition failed.

Definition at line 885 of file MetadataSchema.php.

References AddField(), and ErrorMessages().

MetadataSchema::AddFieldsFromXmlFile (   $FileName,
  $TestRun = FALSE 
)

Add new metadata fields from XML file.

NewFields() can be used to determine how many (or whether) new fields were added, and ErrorMsgs() can be used to determine what errors were * encountered.

Parameters
string$FileNameName of XML file.
bool$TestRunIf TRUE, any new fields created are removed before the method returns.
Returns
bool TRUE if no errors were encountered in loading or parsing the XML file or adding fields, otherwise FALSE.
See also
MetadataSchema::NewFields()
MetadataSchema::ErrorMessages()

Definition at line 630 of file MetadataSchema.php.

References AddField(), ErrorMessages(), ItemFactory\NameIsInUse(), and NewFields().

MetadataSchema::AuthoringPrivileges ( PrivilegeSet  $NewValue = NULL)

Get/set privileges that allowing authoring resources with this schema.

Parameters
object$NewValueNew PrivilegeSet value. (OPTIONAL)
Returns
object PrivilegeSet that allows authoring.

Definition at line 348 of file MetadataSchema.php.

References Id().

Referenced by __construct(), and UserCanAuthor().

Here is the caller graph for this function:

MetadataSchema::CacheData (   $NewValue)

Enable/disable caching of metadata field info.

Parameters
boo$NewValueTRUE to enable caching or FALSE to disable caching.

Definition at line 582 of file MetadataSchema.php.

MetadataSchema::CompareFieldOrder (   $FieldA,
  $FieldB 
)
protected

Field sorting callback.

Parameters
MetadataField$FieldAfirst comparision field
MetadataFIeld$FieldBsecond comparison field
Returns
bool -1, 0, or 1, depending on the order desired
See also
usort()

Definition at line 1724 of file MetadataSchema.php.

References $FieldCompareDisplayOrder, $FieldCompareEditOrder, MDFORDER_ALPHABETICAL, and MDFORDER_EDITING.

static MetadataSchema::Create (   $Name,
PrivilegeSet  $AuthorPrivs = NULL,
PrivilegeSet  $EditPrivs = NULL,
PrivilegeSet  $ViewPrivs = NULL,
  $ViewPage = "",
  $ResourceName = NULL 
)
static

Create new metadata schema.

Parameters
string$NameSchema name.
object$AuthorPrivsPrivilegeSet required for authoring. (OPTIONAL, defaults to all users)
object$EditPrivsPrivilegeSet required for editing. (OPTIONAL, defaults to all users)
object$ViewPrivsPrivilegeSet required for viewing. (OPTIONAL, defaults to all users)
string$ViewPageThe page used to view the full record for a resource. If "$ID" shows up in the parameter, it will be replaced by the resource ID when viewing the resource. (OPTIONAL)
Returns
object MetadataSchema object.

Definition at line 145 of file MetadataSchema.php.

References ItemFactory\$DB, MetadataFieldOrder\Create(), ORDER_DISPLAY_NAME, and ORDER_EDIT_NAME.

MetadataSchema::Delete ( )

Destroy metadata schema.

Schema may no longer be used after this method is called.

Definition at line 209 of file MetadataSchema.php.

References DropField(), GetFields(), MetadataFieldOrder\GetOrdersForSchema(), and Id().

MetadataSchema::DropField (   $FieldId)

Delete metadata field and all associated data.

Parameters
int$FieldIdID of field to be deleted.
Returns
TRUE if delete succeeded, otherwise FALSE.

Definition at line 987 of file MetadataSchema.php.

References GetField().

Referenced by Delete().

Here is the caller graph for this function:

MetadataSchema::EditingPrivileges ( PrivilegeSet  $NewValue = NULL)

Get/set privileges that allowing editing resources with this schema.

Parameters
object$NewValueNew PrivilegeSet value. (OPTIONAL)
Returns
object PrivilegeSet that allows editing.

Definition at line 370 of file MetadataSchema.php.

References Id().

Referenced by __construct(), and UserCanEdit().

Here is the caller graph for this function:

MetadataSchema::ErrorMessages (   $Method = NULL)

Get error messages (if any) from recent calls.

If no method name is specified, then an array is returned with method names for the index and arrays of error messages for the values.

Parameters
string$MethodName of method. (OPTIONAL)
Returns
array Array of arrays of error message strings.
See also
MetadataSchema::AddField()
MetadataSchema::AddFieldsFromXmlFile()

Definition at line 858 of file MetadataSchema.php.

Referenced by AddFieldFromXml(), and AddFieldsFromXmlFile().

Here is the caller graph for this function:

MetadataSchema::FieldCompareOrdersSet ( )
protected

Determine whether the field comparison ordering caches are set.

Returns
bool TRUE if the caches are set or FALSE otherwise

Definition at line 1712 of file MetadataSchema.php.

References $FieldCompareEditOrder.

Referenced by GetFields().

Here is the caller graph for this function:

MetadataSchema::FieldExists (   $FieldName)

Check whether field with specified name exists.

Parameters
string$FieldNameName of field.
Returns
TRUE if field with specified name exists, otherwise FALSE.

Definition at line 1113 of file MetadataSchema.php.

References ItemFactory\NameIsInUse().

static MetadataSchema::FieldToStdNameMapping (   $FieldId)
static

Get mapping of field ID to standard field name.

Parameters
int$FieldIdField ID.
Returns
Standard field name to which specified field is mapped, or NULL if field is not currently mapped.

Definition at line 1382 of file MetadataSchema.php.

MetadataSchema::GetAllowedFieldTypes ( )

Retrieve array of field types that user can create.

Returns
Array with enumerated types for the indexes and field names (strings) for the values.

Definition at line 1303 of file MetadataSchema.php.

References MetadataField\$FieldTypeDBAllowedEnums.

static MetadataSchema::GetAllSchemas ( )
static

Get all existing metadata schemas.

Returns
Returns an array of MetadataSchema objects with the schema IDs for the index.

Definition at line 1572 of file MetadataSchema.php.

static MetadataSchema::GetCanonicalFieldIdentifier (   $Field)
static

Retrieve canonical identifier for field.

If a name is passed in and there are multiple fields with that name, the field belonging to the schema with the lowest ID (usually the default schema) is returned. Names passed in are compared against field names, not field labels. This method should only be used in situations where a static method is needed and there are no concerns about field information changing during invocation.

Parameters
mixed$FieldField object, ID, or name.
Returns
int Canonical field identifier.
Exceptions
InvalidArgumentExceptionif field argument supplied could not be interpreted.
Exceptionif a field name is supplied that does not match any existing metadata field.

Definition at line 1458 of file MetadataSchema.php.

References ItemFactory\$DB.

static MetadataSchema::GetConstantName (   $Value,
  $Prefix = NULL 
)
static

Get name (string) for constant.

If there are multiple constants defined with the same value, the first constant found with a name that matches the prefix (if supplied) is returned.

Parameters
enum$ValueConstant value.
string$PrefixPrefix to look for at beginning of name. Needed when there may be multiple constants with the same value. (OPTIONAL)
Returns
string Constant name or NULL if no matching value found.

Definition at line 109 of file MetadataSchema.php.

MetadataSchema::GetDisplayOrder ( )

Get the display order for the schema.

Returns
Returns a MetadataFieldOrder object.

Definition at line 1694 of file MetadataSchema.php.

References MetadataFieldOrder\GetOrderForSchema().

Referenced by UpdateFieldCompareOrders().

Here is the caller graph for this function:

MetadataSchema::GetEditOrder ( )

Get the editing order for the schema.

Returns
Returns a MetadataFieldOrder object.

Definition at line 1703 of file MetadataSchema.php.

References MetadataFieldOrder\GetOrderForSchema().

Referenced by UpdateFieldCompareOrders().

Here is the caller graph for this function:

MetadataSchema::GetField (   $FieldId)

Retrieve metadata field by ID.

Parameters
int$FieldIdID of field.
Returns
object MetadataField object or NULL if no field found with specified name.

Definition at line 1010 of file MetadataSchema.php.

Referenced by DropField(), GetFieldByLabel(), GetFieldByMappedName(), GetFieldByName(), GetFields(), GetFieldsAsOptionList(), and GetOwnedFields().

Here is the caller graph for this function:

MetadataSchema::GetFieldByLabel (   $FieldLabel,
  $IgnoreCase = FALSE 
)

Retrieve metadata field by label.

Parameters
string$FieldLabelField label.
bool$IgnoreCaseIf TRUE, case is ignore when matching field labels.
Returns
Requested MetadataField or NULL if no field found with specified label.

Definition at line 1050 of file MetadataSchema.php.

References GetField(), and GetFieldIdByLabel().

MetadataSchema::GetFieldByMappedName (   $MappedName)

Get field by standard field name.

Parameters
string$MappedNameStandard field name.
Returns
MetadataField to which standard field name is mapped or NULL if specified standard field name is not currently mapped or mapped field does not exist.

Definition at line 1404 of file MetadataSchema.php.

References GetField(), and StdNameToFieldMapping().

MetadataSchema::GetFieldByName (   $FieldName,
  $IgnoreCase = FALSE 
)

Retrieve metadata field by name.

Parameters
string$FieldNameField name.
bool$IgnoreCaseIf TRUE, case is ignore when matching field names.
Returns
Requested MetadataField or NULL if no field found with specified name.

Definition at line 1038 of file MetadataSchema.php.

References GetField(), and GetFieldIdByName().

MetadataSchema::GetFieldIdByLabel (   $FieldLabel,
  $IgnoreCase = FALSE 
)

Retrieve metadata field ID by label.

Parameters
string$FieldLabelField label.
bool$IgnoreCaseIf TRUE, case is ignore when matching field labels.
Returns
ID of requested MetadataField or FALSE if no field found with specified label.

Definition at line 1089 of file MetadataSchema.php.

References Id().

Referenced by GetFieldByLabel().

Here is the caller graph for this function:

MetadataSchema::GetFieldIdByMappedName (   $MappedName)

Get field ID by standard field name.

Parameters
string$MappedNameStandard field name.
Returns
ID for MetadataField to which standard field name is mapped or NULL if specified standard field name is not currently mapped or mapped field does not exist.

Definition at line 1417 of file MetadataSchema.php.

MetadataSchema::GetFieldIdByName (   $FieldName,
  $IgnoreCase = FALSE 
)

Retrieve metadata field ID by name.

Parameters
string$FieldNameField name.
bool$IgnoreCaseIf TRUE, case is ignore when matching field names.
Returns
ID of requested MetadataField or FALSE if no field found with specified name.

Definition at line 1063 of file MetadataSchema.php.

References Id().

Referenced by GetFieldByName().

Here is the caller graph for this function:

MetadataSchema::GetFieldNames (   $FieldTypes = NULL,
  $OrderType = NULL,
  $IncludeDisabledFields = FALSE,
  $IncludeTempFields = FALSE 
)

Retrieve field names.

Parameters
int$FieldTypesMetadataField types (MDFTYPE_ values) to retrieve, ORed together, or NULL to return all types of fields. (OPTIONAL, defaults to NULL)
int$OrderTypeOrder in which to return fields (MDFORDER_ value). (OPTIONAL, defaults to NULL which indicates no particular order)
bool$IncludeDisabledFieldsTRUE to include disabled fields. (OPTIONAL, defaults to FALSE)
bool$IncludeTempFieldsTRUE to include temporary fields (in the process of being created/edited). (OPTIONAL, defaults to FALSE)
Returns
Array of field names, with field IDs for array index.

Definition at line 1191 of file MetadataSchema.php.

References GetFields().

Referenced by GetFieldsAsOptionList().

Here is the caller graph for this function:

MetadataSchema::GetFields (   $FieldTypes = NULL,
  $OrderType = NULL,
  $IncludeDisabledFields = FALSE,
  $IncludeTempFields = FALSE 
)

Retrieve array of fields.

Parameters
int$FieldTypesMetadataField types (MDFTYPE_ values) to retrieve, ORed together, or NULL to return all types of fields. (OPTIONAL, defaults to NULL)
int$OrderTypeOrder in which to return fields (MDFORDER_ value). (OPTIONAL, defaults to NULL which indicates no particular order)
bool$IncludeDisabledFieldsTRUE to include disabled fields. (OPTIONAL, defaults to FALSE)
bool$IncludeTempFieldsTRUE to include temporary fields (in the process of being created/edited). (OPTIONAL, defaults to FALSE)
Returns
Array of MetadataField objects, with field IDs for array index.

Definition at line 1131 of file MetadataSchema.php.

References MetadataField\$FieldTypePHPEnums, FieldCompareOrdersSet(), GetField(), Id(), and UpdateFieldCompareOrders().

Referenced by MetadataFieldOrder\Create(), Delete(), GetFieldNames(), HumanMetadataField\LoadUserFieldList(), and UpdateFieldCompareOrders().

Here is the caller graph for this function:

MetadataSchema::GetFieldsAsOptionList (   $OptionListName,
  $FieldTypes = NULL,
  $SelectedFieldId = NULL,
  $IncludeNullOption = TRUE,
  $AddEntries = NULL,
  $AllowMultiple = FALSE 
)

Retrieve fields of specified type as HTML option list with field names as labels and field IDs as value attributes.

The first element on the list will have a label of "--" and an ID of -1 to indicate no field selected.

Parameters
string$OptionListNameValue of option list "name" and "id" attributes.
int$FieldTypesTypes of fields to return. (OPTIONAL - use NULL for all types)
int$SelectedFieldIdID or array of IDs of the currently-selected field(s). (OPTIONAL)
bool$IncludeNullOptionWhether to include "no selection" (-1) option. (OPTIONAL - defaults to TRUE)
array$AddEntriesAn array of additional entries to include at the end of the option list, with option list values for the indexes and option list labels for the values. (OPTIONAL)
bool$AllowMultipleTRUE to allow multiple field selections
Returns
HTML for option list.

Definition at line 1223 of file MetadataSchema.php.

References GetField(), and GetFieldNames().

MetadataSchema::GetFieldTypes ( )

Retrieve array of field types.

Returns
Array with enumerated types for the indexes and field names (strings) for the values.

Definition at line 1293 of file MetadataSchema.php.

References MetadataField\$FieldTypeDBEnums.

MetadataSchema::GetHighestFieldId ( )

Get highest field ID currently in use.

Returns
MetadataField ID value.

Definition at line 1354 of file MetadataSchema.php.

References ItemFactory\GetHighestItemId().

MetadataSchema::GetOwnedFields ( )

Get fields that have an owner associated with them.

Returns
Array of fields that have an owner associated with them.

Definition at line 1426 of file MetadataSchema.php.

References GetField(), and Id().

static MetadataSchema::GetPrintableFieldName (   $Field)
static

Retrieve label for field.

If no label is available for the field, the field name is returned instead. Handling of the $Field argument is the same as GetCanonicalFieldIdentifier(). This method should only be used in situations where a static method is needed and there are no concerns about field information changing during invocation.

Parameters
mixed$FieldField object, ID, or name.
Returns
string Human-readable field name.
Exceptions
InvalidArgumentExceptionif field argument supplied could not be interpreted.
Exceptionif a field name is supplied that does not match any existing metadata field.
See also
MetadataSchema::GetCanonicalFieldIdentifier()

Definition at line 1544 of file MetadataSchema.php.

References ItemFactory\$DB.

MetadataSchema::GetViewPageIdParameter ( )

Get the resource ID GET parameter for the view page for the schema.

Returns
Returns the resource ID GET parameter for the view page for the schema.

Definition at line 495 of file MetadataSchema.php.

References ViewPage().

MetadataSchema::Id ( )

Get schema ID.

Schema IDs are numerical, with two special values SCHEMAID_DEFAULT and SCHEMAID_USER.

Returns
Current schema ID.

Definition at line 247 of file MetadataSchema.php.

Referenced by __construct(), AddField(), AuthoringPrivileges(), MetadataFieldOrder\Create(), Delete(), EditingPrivileges(), GetFieldIdByLabel(), GetFieldIdByName(), GetFields(), MetadataFieldOrder\GetOrderForSchema(), MetadataFieldOrder\GetOrdersForSchema(), GetOwnedFields(), Name(), ResourceName(), ViewingPrivileges(), and ViewPage().

Here is the caller graph for this function:

MetadataSchema::Name (   $NewValue = NULL)

Get/set name of schema.

Parameters
string$NewValueNew name for schema. (OPTIONAL)
Returns
string Current schema name.

Definition at line 258 of file MetadataSchema.php.

References Id().

Referenced by __construct().

Here is the caller graph for this function:

MetadataSchema::NewFields ( )

Get new fields recently added (if any) via XML file.

Returns
array Array of fields recently added (MetadataField objects).
See also
MetadataSchema::AddFieldsFromXmlFile()

Definition at line 844 of file MetadataSchema.php.

Referenced by AddFieldsFromXmlFile().

Here is the caller graph for this function:

static MetadataSchema::NormalizeOwnedFields ( )
static

Disable owned fields that have an owner that is unavailable and re-enable fields if an owner has returned and the field was flagged to be re-enabled.

Definition at line 1608 of file MetadataSchema.php.

MetadataSchema::PathMatchesViewPage (   $Path)

Determine if a path matches the view page path for the schema.

For the two to match, the path GET parameters must contain at least the GET parameters in the view page's GET parameters, and all of the required GET parameters must match the ones in the view page, unless the parameter is a variable in the view page path. The path's GET parameters may contain more parameters.

Parameters
string$PathPath to match against, e.g., index.php?P=FullRecord&ID=123.
Returns
Returns TRUE if the path matches the view page path for the schema.

Definition at line 527 of file MetadataSchema.php.

References ViewPage().

MetadataSchema::QualifierIsInUse (   $QualifierIdOrObject)

Check whether qualifier is in use by any metadata field (in any schema).

Parameters
Qualifier$QualifierIdOrObjectQualifier ID or Qualifier object.
Returns
TRUE if qualifier is in use, otherwise FALSE.

Definition at line 1328 of file MetadataSchema.php.

MetadataSchema::RemoveQualifierAssociations (   $QualifierIdOrObject)

Remove all metadata field associations for a given qualifier.

Parameters
Qualifier$QualifierIdOrObjectQualifier object or ID.

Definition at line 1312 of file MetadataSchema.php.

MetadataSchema::ResourceName (   $NewValue = NULL)

Get/set name of resources using this schema.

Parameters
string$NewValueNew resource name for schema. (OPTIONAL)
Returns
Returns the current resource name.

Definition at line 285 of file MetadataSchema.php.

References Id().

static MetadataSchema::SchemaExistsWithId (   $SchemaId)
static

Check with schema exists with specified ID.

Parameters
int$SchemaIdID to check.
Returns
bool TRUE if schema exists with specified ID, otherwise FALSE.

Definition at line 234 of file MetadataSchema.php.

References ItemFactory\$DB.

static MetadataSchema::SetOwnerListRetrievalFunction (   $Callback)
static

Allow external dependencies, i.e., the current list of owners that are available, to be injected.

Parameters
$Callbackretrieval callback

Definition at line 1595 of file MetadataSchema.php.

static MetadataSchema::StdNameToFieldMapping (   $MappedName,
  $FieldId = NULL 
)
static

Get/set mapping of standard field name to specific field.

Parameters
string$MappedNameStandard field name.
int$FieldIdID of field to map to. (OPTIONAL)
Returns
ID of field to which standard field name is mapped or NULL if specified standard field name is not currently mapped.

Definition at line 1366 of file MetadataSchema.php.

Referenced by GetFieldByMappedName().

Here is the caller graph for this function:

MetadataSchema::UpdateFieldCompareOrders ( )
protected

Update the field comparison ordering cache that is used for sorting fields.

Definition at line 1673 of file MetadataSchema.php.

References GetDisplayOrder(), GetEditOrder(), and GetFields().

Referenced by GetFields().

Here is the caller graph for this function:

MetadataSchema::UserCanAuthor (   $User)

Determine if the given user can author resources using this schema.

The result of this method can be modified via the EVENT_RESOURCE_AUTHOR_PERMISSION_CHECK event.

Parameters
User$Useruser
Returns
bool TRUE if the user can author resources and FALSE otherwise

Definition at line 416 of file MetadataSchema.php.

References AuthoringPrivileges().

MetadataSchema::UserCanEdit (   $User)

Determine if the given user can edit resources using this schema.

The result of this method can be modified via the EVENT_RESOURCE_EDIT_PERMISSION_CHECK event.

Parameters
User$Useruser
Returns
bool TRUE if the user can edit resources and FALSE otherwise

Definition at line 443 of file MetadataSchema.php.

References EditingPrivileges().

MetadataSchema::UserCanView (   $User)

Determine if the given user can view resources using this schema.

The result of this method can be modified via the EVENT_RESOURCE_VIEW_PERMISSION_CHECK event.

Parameters
User$Useruser
Returns
bool TRUE if the user can view resources and FALSE otherwise

Definition at line 470 of file MetadataSchema.php.

References ViewingPrivileges().

MetadataSchema::ViewingPrivileges ( PrivilegeSet  $NewValue = NULL)

Get/set privileges that allowing viewing resources with this schema.

Parameters
object$NewValueNew PrivilegeSet value. (OPTIONAL)
Returns
object PrivilegeSet that allows viewing.

Definition at line 392 of file MetadataSchema.php.

References Id().

Referenced by __construct(), and UserCanView().

Here is the caller graph for this function:

MetadataSchema::ViewPage (   $NewValue = NULL)

Get/set name of page to go to for viewing resources using this schema.

Parameters
string$NewValueNew name for schema. (OPTIONAL)
Returns
string Current schema name.

Definition at line 321 of file MetadataSchema.php.

References Id().

Referenced by __construct(), GetViewPageIdParameter(), and PathMatchesViewPage().

Here is the caller graph for this function:

Member Data Documentation

MetadataSchema::$FieldCompareDisplayOrder = array()
protected

The cache for metadata field display ordering.

Definition at line 1767 of file MetadataSchema.php.

Referenced by CompareFieldOrder().

MetadataSchema::$FieldCompareEditOrder = array()
protected

The cache for metadata field edit ordering.

Definition at line 1772 of file MetadataSchema.php.

Referenced by CompareFieldOrder(), and FieldCompareOrdersSet().

MetadataSchema::$OwnerListRetrievalFunction
staticprotected

Definition at line 1762 of file MetadataSchema.php.

const MetadataSchema::MDFORDER_ALPHABETICAL = 3

Definition at line 39 of file MetadataSchema.php.

Referenced by CompareFieldOrder().

const MetadataSchema::MDFORDER_DISPLAY = 1

Definition at line 37 of file MetadataSchema.php.

const MetadataSchema::MDFORDER_EDITING = 2

Definition at line 38 of file MetadataSchema.php.

Referenced by CompareFieldOrder().

const MetadataSchema::MDFSTAT_DUPLICATEDBCOLUMN = 8

Definition at line 45 of file MetadataSchema.php.

Referenced by HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_DUPLICATELABEL = 64

Definition at line 48 of file MetadataSchema.php.

Referenced by HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_DUPLICATENAME = 4

Definition at line 44 of file MetadataSchema.php.

Referenced by MetadataField\Name(), and HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_ERROR = 2

Definition at line 43 of file MetadataSchema.php.

Referenced by HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_FIELDDOESNOTEXIST = 16

Definition at line 46 of file MetadataSchema.php.

Referenced by HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_ILLEGALLABEL = 128

Definition at line 49 of file MetadataSchema.php.

Referenced by MetadataField\Label(), and HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_ILLEGALNAME = 32
const MetadataSchema::MDFSTAT_OK = 1
const MetadataSchema::MDFTYPE_CONTROLLEDNAME = 128
const MetadataSchema::MDFTYPE_DATE = 8
const MetadataSchema::MDFTYPE_FILE = 2048
const MetadataSchema::MDFTYPE_FLAG = 32
const MetadataSchema::MDFTYPE_IMAGE = 1024
const MetadataSchema::MDFTYPE_NUMBER = 4
const MetadataSchema::MDFTYPE_OPTION = 256
const MetadataSchema::MDFTYPE_PARAGRAPH = 2
const MetadataSchema::MDFTYPE_POINT = 8192
const MetadataSchema::MDFTYPE_REFERENCE = 16384
const MetadataSchema::MDFTYPE_TEXT = 1
const MetadataSchema::MDFTYPE_TIMESTAMP = 16
const MetadataSchema::MDFTYPE_TREE = 64
const MetadataSchema::MDFTYPE_URL = 4096
const MetadataSchema::MDFTYPE_USER = 512
const MetadataSchema::ORDER_DISPLAY_NAME = "Display"

Definition at line 60 of file MetadataSchema.php.

Referenced by Create().

const MetadataSchema::ORDER_EDIT_NAME = "Edit"

Definition at line 61 of file MetadataSchema.php.

Referenced by Create().

const MetadataSchema::RESOURCENAME_DEFAULT = "Resource"

Definition at line 56 of file MetadataSchema.php.

const MetadataSchema::RESOURCENAME_USER = "User"

Definition at line 57 of file MetadataSchema.php.

const MetadataSchema::SCHEMAID_DEFAULT = 0

Definition at line 52 of file MetadataSchema.php.

Referenced by Resource\Create().

const MetadataSchema::SCHEMAID_USER = 1

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