/** * Render event handler. * * @param Zikula_Form_View $view Reference to Zikula_Form_View object. * * @return string The rendered output */ public function render(Zikula_Form_View $view) { $idHtml = $this->getIdHtml(); $text = $view->translateForDisplay($this->text); $onclickHtml = ''; if ($this->confirmMessage != null) { $msg = $view->translateForDisplay($this->confirmMessage) . '?'; $onclickHtml = " onclick=\"return confirm('{$msg}');\""; } $imageHtml = ''; if (isset($this->attributes['imgsrc']) && !empty($this->attributes['imgsrc'])) { if (!isset($this->attributes['imgset']) || empty($this->attributes['imgset'])) { $this->attributes['imgset'] = 'icons/extrasmall'; } // we're going to make use of pnimg for path searching require_once $view->_get_plugin_filepath('function', 'img'); // call the pnimg plugin and work out the src from the assigned template vars $args = array('src' => $this->attributes['imgsrc'], 'set' => $this->attributes['imgset'], 'title' => $text, 'alt' => $text, 'modname' => 'core'); $imageHtml = smarty_function_img($args, $view); $imageHtml .= !empty($imageHtml) ? ' ' : ''; } if (isset($this->attributes['imgsrc'])) { unset($this->attributes['imgsrc']); } if (isset($this->attributes['imgset'])) { unset($this->attributes['imgset']); } $attributes = $this->renderAttributes($view); $carg = serialize(array('cname' => $this->commandName, 'carg' => $this->commandArgument)); $href = $view->getPostBackEventReference($this, $carg); $href = htmlspecialchars($href); $result = "<a{$idHtml} href=\"javascript:{$href}\"{$onclickHtml}{$attributes}>{$imageHtml}{$text}</a>"; return $result; }