View Source

<ac:macro ac:name="info"><ac:parameter ac:name="title">Zend_View_Helper for Flash, QuickTime, HTML pages and other HTML Objects</ac:parameter></ac:macro>
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[{zone-template-instance:ZFDEV:Zend Proposal Zone Template}
{composition-setup}

{zone-data:component-name}
Zend_View_Helper for Flash, QuickTime, HTML pages and other HTML Objects
{zone-data}

{zone-data:proposer-list}
[Jurriƫn Stutterheim|mailto:j.stutterheim@hccnet.nl]
[~matthew], Zend Liaison
{zone-data}

{zone-data:revision}
1.0 - 4 April 2008: Initial proposal
{zone-data}

{zone-data:overview}
These helper provide an easy way to embed Flash, QuickTime, HTML pages and other Objects in your pages.
{zone-data}

{zone-data:references}
* [HTML Specification|http://www.w3.org/TR/html4/struct/objects.html#h-13.3]
* [Including QuickTime in a webpage|http://www.apple.com/quicktime/tutorials/embed.html]
* [Zym view helpers|http://trac2.assembla.com/zym/browser/trunk/incubator/library/Zym/View/Helper]
{zone-data}

{zone-data:requirements}
* This component *will* provide a way to embed Flash, Quicktime and HTML easily
* This component *will* be flexible enough to allow other data to be embedded easily
* This component *will not* support the embed tag, since it's deprecated.
* This component *will not* provide a workaround for IE's security "feature" that requires the user to click the object.
{zone-data}

{zone-data:dependencies}
* Zend_Exception
{zone-data}

{zone-data:operation}
They're used just like any other view helper.
{zone-data}

{zone-data:milestones}
* Milestone 1: \[DONE\] Initial proposal finished
* Milestone 2: \[DONE\] Have a working prototype
* Milestone 3: \[DONE\] Helpers are incubated
* Milestone 4: \[DONE\] Unit tests exist, work, and are checked into SVN.
* Milestone 5: \[DONE\] Documentation exists.
{zone-data}

{zone-data:class-list}
* Zend_View_Helper_HtmlObject
* Zend_View_Helper_HtmlFlash
* Zend_View_Helper_HtmlQuickTime
* Zend_View_Helper_HtmlPage
{zone-data}

{zone-data:use-cases}
{deck:id=Use Cases}
{card:label=UC-01: Flash}
{code}
<?= $this->htmlFlash('http://link.to/flash/movie.swf'); ?>
{code}
{card}
{card:label=UC-02: QuickTime}
{code}
<?= $this->htmlQuicktime('http://link.to/qt/movie.mov'); ?>
{code}
{card}
{card:label=UC-03: HTML}
{code}
<?= $this->htmlPage('http://link.to/html/page.html'); ?>
{code}
{card}
{card:label=UC-04: Other object}
{code}
<?= $this->htmlObject('http://link.to/some/thing.other', 'other/datatype'); ?>
{code}
{card}
{deck}
{zone-data}

{zone-data:skeletons}
{deck:id=Class Skeletons}
{card:label=Zend_View_Helper_HtmlObject}
{code}
class Zend_View_Helper_HtmlObject
{
/**
* Output an object set
*
* @param string $data The data file
* @param string $type Data file type
* @param array $attribs Attribs for the object tag
* @param array $params Params for in the object tag
* @return string
*/
public function htmlObject($data, $type, array $attribs = array(), array $params = array())
{
}
}
{code}
{card}
{card:label=Zend_View_Helper_HtmlFlash}
{code}
class Zend_View_Helper_HtmlFlash extends Zend_View_Helper_HtmlObject
{
/**
* Default file type for a flash applet
*
* @var string
*/
protected $_type = 'application/x-shockwave-flash';

/**
* Output a flash movie object tag
*
* @param string $data The flash file
* @param array $attribs Attribs for the object tag
* @param array $params Params for in the object tag
* @return string
*/
public function htmlFlash($data, array $attribs = array(), array $params = array())
{
}
}
{code}
{card}
{card:label=Zend_View_Helper_HtmlQuicktime}
{code}
class Zend_View_Helper_HtmlQuicktime extends Zend_View_Helper_HtmlObject
{
/**
* Default file type for a flash applet
*
* @var string
*/
protected $_type = 'video/quicktime';

/**
* Default attributes
*
* @var array
*/
protected $_attribs = array('classid' => 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
'codebase' => 'http://www.apple.com/qtactivex/qtplugin.cab');

/**
* Output a flash movie object tag
*
* @param string $data The flash file
* @param array $attribs Attribs for the object tag
* @param array $params Params for in the object tag
* @return string
*/
public function htmlQuicktime($data, array $attribs = array(), array $params = array())
{
}

}
{code}
{card}
{card:label=Zend_View_Helper_HtmlPage}
{code}
class Zend_View_Helper_HtmlPage extends Zend_View_Helper_HtmlObject
{
/**
* Default file type for html
*
*/
const TYPE = 'text/html';

/**
* Object classid
*
*/
const ATTRIB_CLASSID = 'clsid:25336920-03F9-11CF-8FD0-00AA00686F13';

/**
* Default attributes
*
* @var array
*/
protected $_attribs = array('classid' => self::ATTRIB_CLASSID);

/**
* Output a html object tag
*
* @param string $data The html url
* @param array $attribs Attribs for the object tag
* @param array $params Params for in the object tag
* @param string $content Alternative content
* @return string
*/
public function htmlPage($data, array $attribs = array(), array $params = array(), $content = null)
{
}
}
{code}
{card}
{deck}
{zone-data}

{zone-template-instance}]]></ac:plain-text-body></ac:macro>