X-Git-Url: https://git.llucax.com/software/bife/bife-all.git/blobdiff_plain/f42d10f67726bb642ff6a9adbd04f4aeb0af5121..8906fc15517052e513daa2d47ab9c6cacacc7d25:/BIFE/Container.php?ds=sidebyside diff --git a/BIFE/Container.php b/BIFE/Container.php index e87f813..2ddc24d 100644 --- a/BIFE/Container.php +++ b/BIFE/Container.php @@ -1,7 +1,7 @@ | // +--------------------------------------------------------------------+ // // $Id$ @@ -38,25 +38,60 @@ require_once 'BIFE/Widget.php'; * @abstract */ class BIFE_Container extends BIFE_Widget { + /** + * Widget contents. + * + * @var array $contents + * @access public + */ + var $contents = array(); + // ~X2C // +X2C Operation 6 /** * Adds contents to the container. * - * @param string $contents Contents to add to the container. + * @param mixed &$contents Contents to add to the container. * * @return void * @access public - * @abstract */ - function addContents($contents) // ~X2C + function addContents(&$contents) // ~X2C { - trigger_error('Method not implemented '.get_class($this). - '::addContents().', E_USER_ERROR); + if (is_object($contents)) { + $this->contents[] =& $contents; + } else { + $this->contents[] = $contents; + } } // -X2C + // +X2C Operation 59 + /** + * Renders the widget using a template returning a string with the results. + * + * @param HTML_Template_HIT &$template Template object to render the widget. + * + * @return string + * @access public + */ + function renderContents(&$template) // ~X2C + { + $c = count($this->contents); + $o = ''; + for ($i = 0; $i < $c; $i++) { + if (is_object($this->contents[$i])) { + $o .= $this->contents[$i]->render($template); + } else { + $o .= $this->contents[$i]; + } + } + return $o; + } + // -X2C + + } // -X2C Class :Container ?> \ No newline at end of file