Class TfishContentObject
Parent content object class, represents a single content object.
There is only one 'archtype' of content object in Tuskfish; it uses standard Dublin Core metadata fields plus a few more that are common to most content objects. Why? If you look at most common content types - articles, photos, downloads etc. - you will see that for the most part they all use the same fields. For example, everything has a title, everything has a description, everything has an author, everything has a hit counter.
Traditionally, most CMS create a separate database table for every type of content with duplicate column names. And it works just fine until you want to publish a single content stream containing different kinds of content objects. Then, suddenly, your queries are full of complex joins and other rubbish and it becomes very painful to work with.
By using a single table for content objects with common field names our queries become very simple and much redundancy is avoided. Of course, some types of content might not require a few particular properties; and so subclassed content types simply unset() any properties that they don't need in their constructor.
- TfishAncestralObject
- TfishContentObject
Direct known subclasses
TfishArticle
,
TfishAudio
,
TfishBlock
,
TfishCollection
,
TfishDownload
,
TfishImage
,
TfishStatic
,
TfishTag
,
TfishVideo
Copyright: Simon Wilkinson 2013-2017 (https://tuskfish.biz)
License: GNU General Public License (GPL) V2
Author: Simon Wilkinson simon@isengard.biz
Version: Release: 1.0
Since: 1.0
Properties: int $id Auto-increment, set by database.
Properties: string $type Content object type eg. TfishArticle etc. [ALPHA]
Properties: string $title The name of this content.
Properties: string $teaser A short (one paragraph) summary or abstract for this content. [HTML]
Properties: string $description The full article or description of the content. [HTML]
Properties: string $media An associated download/audio/video file. [FILEPATH OR URL]
Properties: string $format Mimetype
Properties: string $file_size Specify in bytes.
Properties: string $creator Author.
Properties: string image An associated image file, eg. a screenshot a good way to handle it. [FILEPATH OR URL]
Properties: string $caption Caption of the image file.
Properties: string $date Date of publication expressed as a string.
Properties: int $parent A source work or collection of which this content is part.
Properties: string $language Future proofing.
Properties: int $rights Intellectual property rights scheme or license under which the work is distributed.
Properties: string $publisher The entity responsible for distributing this work.
Properties: array $tags Tag IDs associated with this object; not persistent (stored as taglinks in taglinks table).
Properties: int $online Toggle object on or offline.
Properties: int $submission_time Timestamp representing submission time.
Properties: int $counter Number of times this content was viewed or downloaded.
Properties: string $meta_title Set a custom page title for this content.
Properties: string $meta_description Set a custom page meta description for this content.
Properties: string $seo SEO-friendly string; it will be appended to the URL for this content.
Properties: string $handler Handler for this object (not persistent).
Properties: string $template The template that should be used to display this object (not persistent).
Properties: string $module The module that handles this content type (not persistent).
Properties: string $icon The vector icon that represents this object type (not persistent).
Located at trust_path/libraries/tuskfish/class/TfishContentObject.php
Methods summary
public
|
|
protected
string
|
#
makeHumanReadable( string $clean_property )
Converts properties to human readable form in preparation for output. |
public
string
|
|
public
string
|
#
getCachedImage( integer $width = 0, integer $height = 0 )
Resizes and caches an associated image and returns a URL to the cached copy. |
public
string
|
|
public
|
#
loadProperties( array $dirty_input, boolean $live_urls = true )
Populates the properties of the object from external (untrusted) data source. |
public
|
|
public
boolean
|
|
public
array
|
#
zeroedProperties( )
Returns an array of base object properties that are not used by this subclass. |
Methods inherited from TfishAncestralObject
__get()
,
__isset()
,
__unset()
,
getPropertyWhitelist()
,
toArray()