bbcode_tpl() public method

Return bbcode template
public bbcode_tpl ( $tpl_name, $bbcode_id, $skip_bitfield_check = false )
 /**
  * Changes the regex replacement for second pass
  *
  * @param object $event
  * @return null
  * @access public
  */
 public function modify_case_img($event)
 {
     $bbcode_id = 4;
     // [img] has bbcode_id 4 hardcoded
     $bbcode_cache = $event['bbcode_cache'];
     if (!isset($bbcode_cache[$bbcode_id]) || !$this->user->optionget('viewimg')) {
         return;
     }
     $this->template->set_filenames(array('bbcode.html' => 'bbcode.html'));
     $bbcode = new \bbcode();
     // We need these otherwise we cannot use $bbcode->bbcode_tpl()
     $bbcode->template_bitfield = new \bitfield($this->user->style['bbcode_bitfield']);
     $bbcode->template_filename = $this->template->get_source_file_for_handle('bbcode.html');
     $extimgaslink_boardurl = generate_board_url() . '/';
     $bbcode_cache[$bbcode_id] = array('preg' => array('#\\[img:$uid\\](' . preg_quote($extimgaslink_boardurl, '#') . '.*?)\\[/img:$uid\\]#s' => $bbcode->bbcode_tpl('img', $bbcode_id), '#\\[img:$uid\\](.*?)\\[/img:$uid\\]#s' => str_replace('$2', $this->user->lang('EXTIMGLINK'), $bbcode->bbcode_tpl('url', $bbcode_id, true))));
     $event['bbcode_cache'] = $bbcode_cache;
 }
示例#2
0
 /**
  * Changes the regex replacement for second pass
  *
  * Based on phpBB.de - External Image as Link from Christian Schnegelberger<*****@*****.**> and Oliver Schramm <*****@*****.**>
  *
  * @param object $event
  * @return null
  * @access public
  */
 public function bbcode_cache_init_end($event)
 {
     $bbcode_id = 4;
     // [img] has bbcode_id 4 hardcoded
     $bbcode_cache = $event['bbcode_cache'];
     if (!isset($bbcode_cache[$bbcode_id]) || !$this->user->optionget('viewimg')) {
         return;
     }
     $this->template->set_filenames(array('bbcode.html' => 'bbcode.html'));
     $bbcode = new \bbcode();
     // We need these otherwise we cannot use $bbcode->bbcode_tpl()
     $bbcode->template_bitfield = new \bitfield($this->user->style['bbcode_bitfield']);
     $bbcode->template_filename = $this->template->get_source_file_for_handle('bbcode.html');
     $extimgaslink_boardurl = generate_board_url() . '/';
     $url = $this->helper->route('tas2580_imageproxy_main', array());
     $bbcode_cache[$bbcode_id] = array('preg' => array('#\\[img:$uid\\](' . preg_quote($extimgaslink_boardurl, '#') . '.*?)\\[/img:$uid\\]#s' => $bbcode->bbcode_tpl('img', $bbcode_id), '#\\[img:$uid\\](.*?)\\[/img:$uid\\]#s' => str_replace('$1', $url . '?img=$1', $bbcode->bbcode_tpl('img', $bbcode_id, true))));
     $event['bbcode_cache'] = $bbcode_cache;
 }
示例#3
0
 public function replace_hide_bbcode_wrapper($user_id, $bbcode_uid, &$message, $decoded)
 {
     $this->current_row['user_id'] = $user_id;
     $this->current_row['regex']['open_tag'] = "@\\[hide(|\\=(|[0-9,]+)(|\\|([0-9,]+)))(|:" . $bbcode_uid . ")\\]@is";
     $this->current_row['regex']['close_tag'] = "@\\[/hide(|:" . $bbcode_uid . ")\\]@is";
     if (preg_match_all($this->current_row['regex']['open_tag'], $message, $open_matches, PREG_OFFSET_CAPTURE) && preg_match_all($this->current_row['regex']['close_tag'], $message, $close_matches, PREG_OFFSET_CAPTURE)) {
         $result = $this->find_pairs($open_matches, $close_matches);
         $matches = $result[0];
         $tree = $result[1];
         //var_dump("-----------TREE------------\n");
         //var_dump($tree);
         //var_dump($matches);
         //var_dump($open_matches);
         if (!$decoded) {
             $this->template->set_style(array('styles', 'ext/koutogima/hide/styles'));
             $bbcode = new \bbcode();
             $bbcode->template_filename = $this->template->get_source_file_for_handle('hide_bbcode.html');
             $unhide_open = $bbcode->bbcode_tpl('unhide_open');
             $unhide_close = $bbcode->bbcode_tpl('unhide_close');
             $hide = $bbcode->bbcode_tpl('hide');
         } else {
             $unhide_open = "[hide]";
             $unhide_close = "[/hide]";
             $hide = "[hide][/hide]";
         }
         $message = $this->replace_hide_bbcode($message, $tree, $matches, $open_matches, $close_matches, $unhide_open, $unhide_close, $hide);
     }
 }
 /**
  * Convert Hidden BBCode into its final appearance
  *
  * @param array $matches
  * @return string HTML render of hidden bbcode
  */
 protected function hidden_pass_topicPreview($matches)
 {
     $this->template->set_style(array('styles', 'ext/marcovo/hideBBcode/styles'));
     $bbcode = new \bbcode();
     $bbcode->template_filename = $this->template->get_source_file_for_handle('hide_bbcode.html');
     return $bbcode->bbcode_tpl('unhide_open') . $matches[1] . $bbcode->bbcode_tpl('unhide_close');
 }