<?php

require_once(KPATH_SITE.'/views/topic/view.html.php');

/**
 * for kunena 2.0.1/2.0.2/2.0.3/2.0.4
 * ExttMbqKunenaViewTopic extended from KunenaViewTopic
 * add method exttMbqReturnDisplayMessageContents() modified from method displayMessageContents()
 */
class ExttMbqKunenaViewTopic extends KunenaViewTopic {
    //class ExttMbqKunenaViewTopic extends KunenaView {

    /**
     * return forum post content displayed in web page.
     */
    function exttMbqReturnDisplayMessageContents($message) {
        $this->message = $message;
        //return $this->loadTemplateFile('message');
        /* modified from default_message.php */
        $tmpMessage = $this->message->message;
        $tmpMessage = preg_replace_callback('/([A-Z0-9._%+-]+)@([A-Z0-9.-]+\.[A-Z]{2,4})/i',function($matches) {  return '[STARTTAPATALKENCODEEMAILCLOAKING]' . base64_encode($matches[1].'@'.$matches[2]) . '[ENDTAPATALKENCODEEMAILCLOAKING]'; } ,$tmpMessage);
        $tmpMessage = KunenaHtmlParser::parseBBCode ($tmpMessage, $this);
        $tmpMessage = preg_replace_callback('/\[STARTTAPATALKENCODEEMAILCLOAKING\]([^\[]+)\[ENDTAPATALKENCODEEMAILCLOAKING\]/i',function($matches) { return '[email]'. base64_decode($matches[1]) . '[/email]'; },$tmpMessage);
        return $tmpMessage;
    }
}