<?php

/**
 * Rtn_Renderer
 * 
 * Przykładowa implementacja:
 * 
 * class Ww_Renderer_Event extends Rtn_Renderer {
 *	public function simplePlot() {
 *		return $this->render(__FUNCTION__, ['bean'=>$this->bean]);
 *	}
 * }
 *
 * Przykłądowe użycie w widoku:
 * <?=Ww_Renderer_Event::_($this->event)->simplePlot()?>
 *
 * @author Arkadiusz Rychlik <a.rychlik at eppe.com.pl>
 */
class Rtn_Renderer_Core {
	
	/**
	 * @param RedBean_OODBBean $bean
	 * @return Rtn_Renderer_Core
	 */
	final static function _($bean){
		return new static($bean);
	}
	
	protected $bean;
	protected $viewsPath;

	public function __construct($bean) {
		$this->viewsPath = Ww_Module_Module::getInstance()->getViewsPath() . 'renderer/' .
			preg_replace(['/.*Renderer_/','/_/'], ['','/'], get_called_class()) . '/';
		$this->bean = $bean;
	}

	protected function render($name,$data){
		$view = Zend_Layout::startMvc()->getView();
		$view->setScriptPath($this->viewsPath);
		$view->assign($data);
		return $view->render($name.'.phtml');
	}
	
}
