CWIS Developer Documentation
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Static Protected Attributes | List of all members
MetadataSchema Class Reference
Inheritance diagram for MetadataSchema:
Inheritance graph
[legend]
Collaboration diagram for MetadataSchema:
Collaboration graph
[legend]

Public Member Functions

 MetadataSchema ()
 
 CacheData ($NewValue)
 
 AddField ($FieldName, $FieldType, $Optional=TRUE, $DefaultValue=NULL)
 
 AddFieldFromXml ($Xml)
 Add new metadata field based on supplied XML.
 
 DropField ($FieldId)
 
 GetField ($FieldId)
 
 GetFieldByName ($FieldName, $IgnoreCase=FALSE)
 Retrieve metadata field by name.
 
 GetFieldByLabel ($FieldLabel, $IgnoreCase=FALSE)
 Retrieve metadata field by label.
 
 GetFieldIdByName ($FieldName, $IgnoreCase=FALSE)
 Retrieve metadata field ID by name.
 
 GetFieldIdByLabel ($FieldLabel, $IgnoreCase=FALSE)
 Retrieve metadata field ID by label.
 
 FieldExists ($FieldName)
 
 GetFields ($FieldTypes=NULL, $OrderType=NULL, $IncludeDisabledFields=FALSE, $IncludeTempFields=FALSE)
 
 GetFieldNames ($FieldTypes=NULL, $OrderType=NULL, $IncludeDisabledFields=FALSE, $IncludeTempFields=FALSE)
 
 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.
 
 GetFieldTypes ()
 
 GetAllowedFieldTypes ()
 
 RemoveQualifierAssociations ($QualifierIdOrObject)
 
 QualifierIsInUse ($QualifierIdOrObject)
 
 GetHighestFieldId ()
 
 GetFieldByMappedName ($MappedName)
 Get field by standard field name.
 
 GetOwnedFields ()
 Get fields that have an owner associated with them.
 
- Public Member Functions inherited from ItemFactory
 ItemFactory ($ItemClassName, $ItemTableName, $ItemIdFieldName, $ItemNameFieldName=NULL, $FieldId=NULL, $OrderOpsAllowed=FALSE)
 
 Status ()
 
 GetCurrentEditedItemId ()
 
 SetCurrentEditedItemId ($NewId)
 
 ClearCurrentEditedItemId ()
 
 ClearCurrentEditedItem ()
 
 CleanOutStaleTempItems ($MinutesUntilStale=10080)
 Clear out (call the Delete() method) for any temp items more than specified number of minutes old.
 
 GetLastTempItemId ()
 
 GetNextItemId ()
 
 GetHighestItemId ($Condition=NULL, $IncludeTempItems=FALSE)
 
 GetNextTempItemId ()
 
 GetItemCount ($Condition=NULL, $IncludeTempItems=FALSE)
 
 GetItemIds ($Condition=NULL, $IncludeTempItems=FALSE)
 
 GetLatestModificationDate ($Condition=NULL)
 
 GetItem ($ItemId)
 
 ItemExists ($ItemId)
 Check that item exists with specified ID.
 
 GetItemByName ($Name, $IgnoreCase=FALSE)
 
 GetItemNames ($SqlCondition=NULL)
 Retrieve item names.
 
 GetItems ($SqlCondition=NULL)
 Retrieve items.
 
 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.
 
 NameIsInUse ($Name, $IgnoreCase=FALSE)
 Check whether item name is currently in use.
 
 SearchForItemNames ($SearchString, $NumberOfResults=100, $IncludeVariants=FALSE, $UseBooleanMode=TRUE, $Offset=0)
 
 GetCountForItemNames ($SearchString, $IncludeVariants=FALSE, $UseBooleanMode=TRUE)
 
 AddItems ($ItemNames, $Qualifier=NULL)
 add items with specified names
 
 AddItem ($ItemName, $AdditionalValues=NULL)
 Add new item.
 
 DeleteItem ($ItemId)
 Delete item.
 
 SetOrderOpsCondition ($Condition)
 
 InsertBefore ($SourceItemOrItemId, $TargetItemOrItemId)
 
 InsertAfter ($SourceItemOrItemId, $TargetItemOrItemId)
 
 Prepend ($ItemOrItemId)
 
 Append ($ItemOrItemId)
 
 GetItemIdsInOrder ($AddStrayItemsToOrder=TRUE)
 
 RemoveItemFromOrder ($ItemId)
 

Static Public Member Functions

static StdNameToFieldMapping ($MappedName, $FieldId=NULL)
 Get/set mapping of standard field name to specific field.
 
static FieldToStdNameMapping ($FieldId)
 Get mapping of field ID to standard field name.
 
static SetOwnerListRetrievalFunction ($Callback)
 Allow external dependencies, i.e., the current list of owners that are available, to be injected.
 
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.
 
static UpdateFieldCompareOrders ()
 Update the field comparison ordering cache that is used for sorting fields.
 

Public Attributes

const MDFORDER_DISPLAY = 1
 
const MDFORDER_EDITING = 2
 
const MDFORDER_ALPHABETICAL = 3
 
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 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
 

Static Public Attributes

static $UseOldOrderingApi = FALSE
 

Protected Member Functions

 CompareFieldOrder ($FieldA, $FieldB)
 Field sorting callback.
 

Static Protected Member Functions

static FieldCompareOrdersSet ()
 Determine whether the field comparison ordering caches are set.
 

Static Protected Attributes

static $OwnerListRetrievalFunction
 
static $FieldCompareDisplayOrder = array()
 
static $FieldCompareEditOrder = array()
 

Additional Inherited Members

- Protected Attributes inherited from ItemFactory
 $DB
 
 $FieldId
 

Detailed Description

Definition at line 10 of file MetadataSchema.php.

Member Function Documentation

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

Definition at line 67 of file MetadataSchema.php.

References MDFSTAT_OK.

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
XmlBlock of XML containing field description.
Returns
New MetadataField object or MDFSTAT_ error code if addition failed.

Definition at line 92 of file MetadataSchema.php.

MetadataSchema::CacheData (   $NewValue)

Definition at line 61 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 654 of file MetadataSchema.php.

References MDFORDER_ALPHABETICAL, and MDFORDER_EDITING.

MetadataSchema::DropField (   $FieldId)

Definition at line 155 of file MetadataSchema.php.

References ItemFactory\$FieldId.

static MetadataSchema::FieldCompareOrdersSet ( )
staticprotected

Determine whether the field comparison ordering caches are set.

Returns
bool TRUE if the caches are set or FALSE otherwise

Definition at line 642 of file MetadataSchema.php.

MetadataSchema::FieldExists (   $FieldName)

Definition at line 252 of file MetadataSchema.php.

References ItemFactory\NameIsInUse().

static MetadataSchema::FieldToStdNameMapping (   $FieldId)
static

Get mapping of field ID to standard field name.

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

Definition at line 476 of file MetadataSchema.php.

References ItemFactory\$FieldId.

MetadataSchema::GetAllowedFieldTypes ( )

Definition at line 412 of file MetadataSchema.php.

References MetadataField\$FieldTypeDBAllowedEnums.

MetadataSchema::GetField (   $FieldId)

Definition at line 162 of file MetadataSchema.php.

References ItemFactory\$FieldId.

Referenced by 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
FieldLabelField label.
IgnoreCaseIf TRUE, case is ignore when matching field labels.
Returns
Requested MetadataField or NULL if no field found with specified label.

Definition at line 195 of file MetadataSchema.php.

References ItemFactory\$FieldId, GetField(), and GetFieldIdByLabel().

MetadataSchema::GetFieldByMappedName (   $MappedName)

Get field by standard field name.

Parameters
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 498 of file MetadataSchema.php.

References GetField(), and StdNameToFieldMapping().

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

Retrieve metadata field by name.

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

Definition at line 183 of file MetadataSchema.php.

References ItemFactory\$FieldId, GetField(), and GetFieldIdByName().

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

Retrieve metadata field ID by label.

Parameters
FieldLabelField label.
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 233 of file MetadataSchema.php.

Referenced by GetFieldByLabel().

Here is the caller graph for this function:

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

Retrieve metadata field ID by name.

Parameters
FieldNameField name.
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 208 of file MetadataSchema.php.

Referenced by GetFieldByName().

Here is the caller graph for this function:

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

Definition at line 311 of file MetadataSchema.php.

References ItemFactory\$DB, and GetFields().

Referenced by GetFieldsAsOptionList().

Here is the caller graph for this function:

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

Definition at line 255 of file MetadataSchema.php.

References MetadataField\$FieldTypePHPEnums, and GetField().

Referenced by GetFieldNames().

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
OptionListNameValue of option list "name" and "id" attributes.
FieldTypesTypes of fields to return. (OPTIONAL - use NULL for all types)
SelectedFieldIdID or array of IDs of the currently-selected field(s). (OPTIONAL)
IncludeNullOptionWhether to include "no selection" (-1) option. (OPTIONAL - defaults to TRUE)
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)
AllowMultipleTRUE to allow multiple field selections
Returns
HTML for option list.

Definition at line 343 of file MetadataSchema.php.

References ItemFactory\$FieldId, GetField(), and GetFieldNames().

MetadataSchema::GetFieldTypes ( )

Definition at line 406 of file MetadataSchema.php.

References MetadataField\$FieldTypeDBEnums.

MetadataSchema::GetHighestFieldId ( )

Definition at line 451 of file MetadataSchema.php.

References ItemFactory\GetHighestItemId().

MetadataSchema::GetOwnedFields ( )

Get fields that have an owner associated with them.

Returns
an array of fields that have an owner associated with them

Definition at line 508 of file MetadataSchema.php.

References ItemFactory\$FieldId, and GetField().

MetadataSchema::MetadataSchema ( )

Definition at line 50 of file MetadataSchema.php.

References ItemFactory\ItemFactory().

Referenced by NormalizeOwnedFields().

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 543 of file MetadataSchema.php.

References MetadataSchema().

MetadataSchema::QualifierIsInUse (   $QualifierIdOrObject)

Definition at line 430 of file MetadataSchema.php.

MetadataSchema::RemoveQualifierAssociations (   $QualifierIdOrObject)

Definition at line 418 of file MetadataSchema.php.

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 530 of file MetadataSchema.php.

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

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

Parameters
MappedNameStandard field name.
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 460 of file MetadataSchema.php.

References ItemFactory\$FieldId.

Referenced by GetFieldByMappedName().

Here is the caller graph for this function:

static MetadataSchema::UpdateFieldCompareOrders ( )
static

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

Returns
void

Definition at line 608 of file MetadataSchema.php.

References MetadataFieldOrder\GetDisplayOrderObject(), and MetadataFieldOrder\GetEditOrderObject().

Member Data Documentation

MetadataSchema::$FieldCompareDisplayOrder = array()
staticprotected

Definition at line 687 of file MetadataSchema.php.

MetadataSchema::$FieldCompareEditOrder = array()
staticprotected

Definition at line 692 of file MetadataSchema.php.

MetadataSchema::$OwnerListRetrievalFunction
staticprotected

Definition at line 682 of file MetadataSchema.php.

MetadataSchema::$UseOldOrderingApi = FALSE
static

Definition at line 47 of file MetadataSchema.php.

const MetadataSchema::MDFORDER_ALPHABETICAL = 3

Definition at line 17 of file MetadataSchema.php.

Referenced by CompareFieldOrder().

const MetadataSchema::MDFORDER_DISPLAY = 1
const MetadataSchema::MDFORDER_EDITING = 2
const MetadataSchema::MDFSTAT_DUPLICATEDBCOLUMN = 8

Definition at line 41 of file MetadataSchema.php.

Referenced by HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_DUPLICATELABEL = 64

Definition at line 44 of file MetadataSchema.php.

Referenced by HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_DUPLICATENAME = 4
const MetadataSchema::MDFSTAT_ERROR = 2

Definition at line 39 of file MetadataSchema.php.

Referenced by HumanMetadataField\Status().

const MetadataSchema::MDFSTAT_FIELDDOESNOTEXIST = 16

Definition at line 42 of file MetadataSchema.php.

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

const MetadataSchema::MDFSTAT_ILLEGALLABEL = 128

Definition at line 45 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_TEXT = 1
const MetadataSchema::MDFTYPE_TIMESTAMP = 16
const MetadataSchema::MDFTYPE_TREE = 64
const MetadataSchema::MDFTYPE_URL = 4096
const MetadataSchema::MDFTYPE_USER = 512

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