Class FeedCreator

Description

FeedCreator is the abstract base implementation for concrete implementations that implement a specific format of syndication.

Located in /includes/feedcreator.class.php (line 428)

HtmlDescribable
   |
   --FeedCreator
Direct descendents
Class Description
UniversalFeedCreator UniversalFeedCreator lets you choose during runtime which format to build.
RSSCreator10 RSSCreator10 is a FeedCreator that implements RDF Site Summary (RSS) 1.0.
RSSCreator091 RSSCreator091 is a FeedCreator that implements RSS 0.91 Spec, revision 3.
PIECreator01 PIECreator01 is a FeedCreator that implements the emerging PIE specification, as in http://intertwingly.net/wiki/pie/Syntax.
AtomCreator10 AtomCreator10 is a FeedCreator that implements the atom specification,
AtomCreator03 AtomCreator03 is a FeedCreator that implements the atom specification, as in http://www.intertwingly.net/wiki/pie/FrontPage.
MBOXCreator MBOXCreator is a FeedCreator that implements the mbox format as described in http://www.qmail.org/man/man5/mbox.html
OPMLCreator OPMLCreator is a FeedCreator that implements OPML 1.0.
HTMLCreator HTMLCreator is a FeedCreator that writes an HTML feed file to a specific location, overriding the createFeed method of the parent FeedCreator.
Variable Summary
mixed $category
mixed $copyright
mixed $description
mixed $docs
mixed $editor
mixed $editorEmail
mixed $encoding
mixed $generator
mixed $image
mixed $language
mixed $link
mixed $namespace
mixed $pubDate
mixed $rating
mixed $skipDays
mixed $skipHours
mixed $title
mixed $ttl
mixed $webmaster
Method Summary
static string iTrunc (string $string, int $length)
void addItem (object FeedItem $item)
void addNamespace ( $ns,  $uri)
string createFeed ()
void outputFeed ()
void saveFeed ([filename $filename = ""], [redirect $displayContents = true])
void setEncoding ([ $encoding = "utf-8"])
void useCached ([filename $filename = ""], [timeout $timeout = 3600])
void version ()
string _createAdditionalElements (elements $elements, [indentString $indentString = ""])
Variables
mixed $additionalElements = array() (line 493)

Any additional elements to include as an assiciated array. All $key => $value pairs

will be included unencoded in the feed in the form <$key>$value</$key> Again: No encoding will be used! This means you can invalidate or enhance the feed if $value contains markup. This may be abused to embed tags not implemented by the FeedCreator class used.

mixed $category (line 439)
mixed $copyright (line 439)
mixed $cssStyleSheet = "" (line 452)

The url of the external css stylesheet used to format the naked syndication feed.

Ignored in the output when empty.

mixed $description (line 433)
mixed $docs (line 439)
mixed $editor (line 439)
mixed $editorEmail (line 439)
mixed $encoding = "utf-8" (line 475)

This feed's character encoding.

  • since:

    1.6.1

    var $encoding = "ISO-8859-1"; //original :p

mixed $generator = "info@mypapit.net" (line 482)
mixed $image (line 439)
mixed $language (line 439)
mixed $lastBuildDate (line 439)
mixed $link (line 433)
mixed $namespace = array() (line 738)

Additional namespace for custom modules and tags

$key=>$value pair will match namespace xmlns:$key="$value" in tags EXPERIMENTAL!

mixed $pubDate (line 439)
mixed $rating (line 439)
mixed $skipDays (line 439)
mixed $skipHours (line 439)
mixed $syndicationURL (line 439)

Optional attributes of a feed.

mixed $title (line 433)

Mandatory attributes of a feed.

mixed $ttl (line 439)
mixed $webmaster (line 439)
mixed $xslStyleSheet = "" (line 445)

The url of the external xsl stylesheet used to format the naked syndication feed.

Ignored in the output when empty.

Inherited Variables

Inherited from HtmlDescribable

HtmlDescribable::$descriptionHtmlSyndicated
HtmlDescribable::$descriptionTruncSize
Methods
static iTrunc (line 528)

Truncates a string to a certain length at the most sensible point.

First, if there's a '.' character near the end of the string, the string is truncated after this character. If there is no '.', the string is truncated after the last ' ' character. If the string is truncated, " ..." is appended. If the string is already shorter than $length, it is returned unchanged.

  • return: the truncated string
static string iTrunc (string $string, int $length)
  • string $string: string A string to be truncated.
  • int $length: length the maximum length the string should be truncated to
addItem (line 502)

Adds an FeedItem to the feed.

  • access: public
void addItem (object FeedItem $item)
addNamespace (line 711)

Creates a string containing all additional namespace specified

void addNamespace ( $ns,  $uri)
  • $ns
  • $uri

Redefined in descendants as:
createFeed (line 598)

Builds the feed's text.

  • return: the feed's complete text
  • abstract:
string createFeed ()

Redefined in descendants as:
outputFeed (line 698)

Outputs this feed directly to the browser - for on-the-fly feed generation

  • since:

    1.7.2-mod

    still missing: proper header output - currently you have to add it manually

void outputFeed ()

Redefined in descendants as:
saveFeed (line 676)

Saves this feed as a file on the local disk. After the file is saved, a redirect header may be sent to redirect the user to the newly created file.

  • since: 1.4
void saveFeed ([filename $filename = ""], [redirect $displayContents = true])
  • filename $filename: string optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()).
  • redirect $displayContents: boolean optional send an HTTP redirect header or not. If true, the user will be automatically redirected to the created file.

Redefined in descendants as:
  • UniversalFeedCreator::saveFeed() : Saves this feed as a file on the local disk. After the file is saved, an HTTP redirect header may be sent to redirect the use to the newly created file.
setEncoding (line 702)
void setEncoding ([ $encoding = "utf-8"])
  • $encoding
useCached (line 657)

Turns on caching and checks if there is a recent version of this feed in the cache.

If there is, an HTTP redirect header is sent. To effectively use caching, you should create the FeedCreator object and call this method before anything else, especially before you do the time consuming task to build the feed (web fetching, for example).

  • since: 1.4
void useCached ([filename $filename = ""], [timeout $timeout = 3600])
  • filename $filename: string optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()).
  • timeout $timeout: int optional the timeout in seconds before a cached version is refreshed (defaults to 3600 = 1 hour)

Redefined in descendants as:
version (line 511)
void version ()
_createAdditionalElements (line 573)

Creates a string containing all additional elements specified in $additionalElements.

  • return: the XML tags corresponding to $additionalElements
string _createAdditionalElements (elements $elements, [indentString $indentString = ""])
  • elements $elements: array an associative array containing key => value pairs
  • indentString $indentString: string a string that will be inserted before every generated line
_createGeneratorComment (line 561)

Creates a comment indicating the generator of this feed.

The format of this comment seems to be recognized by Syndic8.com.

void _createGeneratorComment ()
_createNamespace (line 717)
void _createNamespace ()
_createStylesheetReferences (line 585)
void _createStylesheetReferences ()

Inherited Methods

Inherited From HtmlDescribable

HtmlDescribable::getDescription()

Documentation generated on Wed, 28 Mar 2007 09:54:15 -0600 by phpDocumentor 1.3.1