CWIS Developer Documentation
|
Common base class for persistent items store in database. More...
Public Member Functions | |
__construct ($Id) | |
Constructor, used to load existing items. More... | |
Destroy () | |
Destroy item. More... | |
Delete () | |
Destroy item. More... | |
Id () | |
Get item ID. More... | |
Name ($NewValue=DB_NOVALUE) | |
Get/set name of item. More... | |
DateCreated ($NewValue=DB_NOVALUE) | |
Get/set when item was created. More... | |
CreatedBy ($NewValue=DB_NOVALUE) | |
Get/set ID of user who created the item. More... | |
DateLastModified ($NewValue=DB_NOVALUE) | |
Get/set when item was last modified. More... | |
LastModifiedBy ($NewValue=DB_NOVALUE) | |
Get/set ID of user who last modified the item. More... | |
Static Public Member Functions | |
static | GetCanonicalId ($Id) |
Normalize item ID to canonical form. More... | |
static | ItemExists ($Id) |
Check whether an item exists with the specified ID. More... | |
Public Attributes | |
const | NO_ITEM = -2123456789 |
ID value used to indicate no item. More... | |
Protected Member Functions | |
UpdateValue ($ColumnName, $NewValue=DB_NOVALUE) | |
Convenience function to supply parameters to Database::UpdateValue(). More... | |
UpdateDateValue ($ColumnName, $NewValue=DB_NOVALUE) | |
Convenience function to supply parameters to Database::UpdateValue(), with preprocessing of new values to convert them into an SQL-compatible date format. More... | |
Static Protected Member Functions | |
static | CreateWithValues ($Values) |
Create a new item, using specified initial database values. More... | |
static | SetDatabaseAccessValues ($ClassName) |
Set the database access values (table name, ID column name, name column name) for specified class. More... | |
Protected Attributes | |
$DB | |
$Id | |
$ItemIdColumnName | |
$ItemNameColumnName | |
$ItemTableName | |
$ValueCache = array() | |
Static Protected Attributes | |
static | $ItemIdColumnNames |
static | $ItemNameColumnNames |
static | $ItemTableNames |
Item::__construct | ( | $Id | ) |
Constructor, used to load existing items.
To create new items, child classes should implement a static Create() method.
mixed | $Id | ID of item to load, in a form resolvable by GetCanonicalId(). |
InvalidArgumentException | If ID is invalid. |
Item::CreatedBy | ( | $NewValue = DB_NOVALUE | ) |
Get/set ID of user who created the item.
(This method assumes there is a "CreatedBy" column in the database of type INT.)
int | $NewValue | New user ID. |
Definition at line 128 of file Item.php.
References UpdateValue().
|
staticprotected |
Item::DateCreated | ( | $NewValue = DB_NOVALUE | ) |
Get/set when item was created.
(This method assumes there is a "DateCreated" column in the database of type DATETIME.)
string | $NewValue | New creation date. |
Definition at line 117 of file Item.php.
References UpdateDateValue().
Item::DateLastModified | ( | $NewValue = DB_NOVALUE | ) |
Get/set when item was last modified.
(This method assumes there is a "DateLastModified" column in the database of type DATETIME.)
string | $NewValue | New modification date. |
Definition at line 139 of file Item.php.
References UpdateDateValue().
Item::Delete | ( | ) |
Item::Destroy | ( | ) |
Destroy item.
Item object should no longer be used after this call.
Definition at line 60 of file Item.php.
References Id().
Referenced by Topic\Delete(), Message\Delete(), Delete(), Forum\Delete(), and ControlledName\Delete().
|
static |
Item::Id | ( | ) |
Get item ID.
Definition at line 81 of file Item.php.
References $Id.
Referenced by __construct(), Forum\AddTopic(), Topic\Delete(), Forum\Delete(), ControlledName\Delete(), Destroy(), Forum\ForumId(), ControlledName\GetAssociatedResources(), Forum\GetLastMessage(), Topic\GetMessageList(), File\GetNameOfStoredFile(), Forum\GetTopicList(), ControlledName\InUse(), Message\MessageId(), ControlledName\RemapTo(), Topic\TopicId(), ControlledName\UpdateLastAssigned(), UpdateValue(), and ControlledName\VariantName().
|
static |
Check whether an item exists with the specified ID.
This only checks whether there is an entry for an item with the specified ID in the database – it does not check anything else (e.g. the type of the item).
int | null | Item | $Id | ID to check. |
Definition at line 162 of file Item.php.
Referenced by FormUI_Base\ConvertItemIdsToNames(), ResourceFactory\DuplicateResource(), ResourceFactory\FilterNonViewableResources(), ControlledName\Qualifier(), Classification\Qualifier(), Resource\Set(), and Item_Test\testAll().
Item::LastModifiedBy | ( | $NewValue = DB_NOVALUE | ) |
Get/set ID of user who last modified the item.
(This method assumes there is a "LastModifiedBy" column in the database of type INT.)
int | $NewValue | New user ID. |
Definition at line 150 of file Item.php.
References UpdateValue().
Item::Name | ( | $NewValue = DB_NOVALUE | ) |
Get/set name of item.
(This method assumes that either a item name column was configured or there is a "Name" column in the database of type TEXT.)
string | $NewValue | New name. (OPTIONAL) |
Definition at line 103 of file Item.php.
References UpdateValue().
Referenced by File\CreateCopy(), File\GetLink(), and File\GetNameOfStoredFile().
|
staticprotected |
Set the database access values (table name, ID column name, name column name) for specified class.
This may be overridden in a child class, if different values are needed.
string | $ClassName | Class to set values for. |
Definition at line 268 of file Item.php.
References StdLib\Pluralize().
|
protected |
Convenience function to supply parameters to Database::UpdateValue(), with preprocessing of new values to convert them into an SQL-compatible date format.
string | $ColumnName | Name of database column. |
string | $NewValue | New value for field. (OPTIONAL) |
Definition at line 301 of file Item.php.
References DB_NOVALUE, StdLib\SQL_DATE_FORMAT, and UpdateValue().
Referenced by DateCreated(), and DateLastModified().
|
protected |
Convenience function to supply parameters to Database::UpdateValue().
string | $ColumnName | Name of database column. |
string | $NewValue | New value for field. (OPTIONAL) |
Definition at line 285 of file Item.php.
References Id().
Referenced by Message\Body(), File\Comment(), CreatedBy(), Topic\CreatorId(), Topic\DateCreated(), Message\DateEdited(), Message\DatePosted(), Message\EditorId(), ControlledName\FieldId(), File\FieldId(), Classification\FieldId(), Forum\ForumDescription(), Topic\ForumId(), Forum\ForumName(), LastModifiedBy(), Classification\LinkString(), Topic\MessageCount(), Forum\MessageCount(), Forum\ModeratorId(), Name(), Qualifier\NSpace(), Message\ParentId(), Message\ParentType(), Message\PosterId(), ControlledName\QualifierId(), Classification\QualifierId(), Classification\RecalcDepthAndFullName(), Classification\RecalcResourceCount(), File\ResourceId(), Classification\SegmentName(), Message\Subject(), Forum\TopicCount(), Topic\TopicName(), UpdateDateValue(), Qualifier\Url(), and Topic\ViewCount().
|
protected |
Definition at line 210 of file Item.php.
Referenced by Resource\Classifications(), ControlledName\ControlledNameExists(), Qualifier\Create(), Topic\Create(), Message\Create(), ControlledName\Create(), Forum\Create(), Classification\Create(), File\Create(), Resource\Create(), CreateWithValues(), Resource\Delete(), ControlledName\Delete(), Resource\GetSchemaForResource(), Resource\IsTempResource(), ItemExists(), Resource\Rating(), Resource\Set(), Item_Test\setUpBeforeClass(), and Item_Test\tearDownAfterClass().
|
protected |
Definition at line 211 of file Item.php.
Referenced by __construct(), Resource\Clear(), Qualifier\Create(), Resource\Create(), GetCanonicalId(), Id(), Classification\Id(), Resource\Id(), Resource\IsTempResource(), ItemExists(), Classification\RecalcResourceCount(), and Resource\Set().
const Item::NO_ITEM = -2123456789 |