Пример #1
0
 /**
  * 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;
 }