ItemType

Package: Record

class ItemType

extends Omeka_Record_AbstractRecord

implements Zend_Acl_Resource_Interface

An item type and its metadata.

Item types are like specialized element sets that only apply to Items and which can vary between items.

constant ItemType::ITEM_TYPE_NAME_MIN_CHARACTERS

Minimum length of an ItemType name.

constant ItemType::ITEM_TYPE_NAME_MAX_CHARACTERS

Maximum length of an ItemType name.

property ItemType::$name

string

Name of this ItemType.

property ItemType::$description

string

Description for this ItemType.

protected array

Records related to an ItemType.

ItemType::getElements()

Get an array of element objects associated with this item type.

Returns:

array All the Element objects associated with this item type.

ItemType::getItems($count = 10, $recent = true)

Get an array of Items that have this item type.

Parameters:
  • $count (int) – The maximum number of items to return.

  • $recent (bool) – Whether the most recent items should be chosen.

Returns:

array The Item objects associated with the item type.

ItemType::_validate()

Validate this ItemType.

The name field must be between 1 and 255 characters and must be unique.

ItemType::filterPostData($post)

Filter incoming POST data from ItemType form.

Parameters:
  • $post

ItemType::_delete()

Clean up the associated records for this Item Type.

Delete all the ItemTypesElements rows joined to this type, and remove the type ID from any associated items.

ItemType::afterSave($args)

After-save hook.

Save Element records that are associated with this Item Type.

Parameters:
  • $args

ItemType::reorderElements($elementOrderingArray)

Reorder the elements for this type.

This extracts the ordering for the elements from the form’s POST, then uses the given ordering to reorder each join record from item_types_elements into a new ordering, which is then saved.

Parameters:
  • $elementOrderingArray (array) – An array of element_id => order pairs

ItemType::addElements($elements = array())

Add a set of elements to the Item Type.

Parameters:
  • $elements (array) – Either an array of elements or an array of metadata, where each entry corresponds to a new element to add to the item type. If an element exists with the same id, it will replace the old element with the new element.

ItemType::addElementById($elementId)

Add a new element to the item type, giving the Element by its ID.

Parameters:
  • $elementId

ItemType::removeElements($elements)

Remove an array of Elements from this item type

The elements will not be removed until the object is saved.

Parameters:
  • $elements (array) – An array of Element objects or element id strings

ItemType::removeElement($element)

Remove a single Element from this item type.

The element will not be removed until the object is saved.

Parameters:
  • $element (Element|string) – The element object or the element id.

ItemType::_removeElement($element)

Immediately remove a single Element from this item type.

Parameters:
  • $element (Element|string) –

ItemType::hasElement($element)

Determine whether this ItemType has a particular element.

This method does not handle elements that were added or removed without saving the item type object.

Parameters:
  • $element (Element|string) – The element object or the element id.

Returns:

bool

ItemType::totalItems()

Get the total number of items that have this item type.

Returns:

int The total number of items that have this item type.

ItemType::getItemTypeElementSet()

Get the ‘Item Type’ element set.

Returns:

ElementSet

ItemType::getResourceId()

Identify ItemType records as relating to the ItemTypes ACL resource.

Required by Zend_Acl_Resource_Interface.

Returns:

string

ItemType::_dissociateItems()

Set items attached to this item type back to null.