/** * 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; }
/** * 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; }
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'); }