public function renderCached($cachedContent, $componentId, $config)
 {
     if (!$cachedContent) {
         return '';
     }
     $targetPage = unserialize($cachedContent);
     $config['dataAttributes'] = $targetPage[3];
     $config['title'] = $targetPage[4];
     $componentLinkModifiers = $targetPage[5];
     $linkClass = isset($targetPage[6]) ? $targetPage[6] : '';
     $text = $config['text'] ? $config['text'] : $targetPage[2];
     $text = str_replace('{name}', $targetPage[2], $text);
     if (!isset($config['skipAppendLinkText']) || !$config['skipAppendLinkText']) {
         foreach ($componentLinkModifiers as $s) {
             if ($s['type'] == 'appendLinkText') {
                 $text .= '<span class="appendText">' . $s['text'] . '</span>';
             }
         }
     }
     $text = self::replaceHtmlKwfUp($text);
     if (isset($config['cssClass'])) {
         if (is_array($config['cssClass'])) {
             foreach ($config['cssClass'] as &$i) {
                 $i = self::_replaceKwfUp($i);
             }
             unset($i);
         } else {
             $config['cssClass'] = self::_replaceKwfUp($config['cssClass']);
         }
     } else {
         $config['cssClass'] = '';
     }
     if ($linkClass) {
         $config['cssClass'] .= ' ' . self::_replaceKwfUp($linkClass);
     }
     $url = $targetPage[0];
     if ($this->_getRenderer() instanceof Kwf_Component_Renderer_Mail) {
         $url = '*redirect*' . $url . '*';
     }
     $helper = new Kwf_View_Helper_Link();
     $ret = $helper->getLink($url, $targetPage[1], $text, $config);
     if (!isset($config['skipAppendText']) || !$config['skipAppendText']) {
         foreach ($componentLinkModifiers as $s) {
             if ($s['type'] == 'appendText') {
                 $ret .= '<span class="appendText">' . $s['text'] . '</span>';
             } else {
                 if ($s['type'] == 'callback') {
                     $ret = "<rcd {$componentId} " . $this->_getType() . ' ' . json_encode($s) . ">{$ret}</rcd {$componentId}>";
                 }
             }
         }
     }
     return $ret;
 }
Exemplo n.º 2
0
 public function link($target, $text = null, $config = array())
 {
     $helper = new Kwf_View_Helper_Link();
     return new Twig_Markup($helper->link($target, $text, $config), 'utf-8');
 }