Пример #1
0
 function displayCommentsInline($params)
 {
     global $xoops_config;
     if (function_exists('date_default_timezone_set')) {
         date_default_timezone_set($xoops_config->xoops_time_zone);
     }
     $new_params = $this->restructParams($params);
     if (!$this->canAddComment($params['id'])) {
         $new_params['no_form'] = true;
         echo '<p class="xpress_comment_close">' . __('Sorry, comments are closed for this item.') . '</p>';
         ob_start();
         d3forum_render_comments($this->d3forum_dirname, $new_params['forum_id'], $new_params, $this->smarty);
         $d3comment = ob_get_contents();
         ob_end_clean();
         preg_match('/(.*?)<div><a href=(.*?)index.php\\?page=newtopic&amp;forum_id=[^>]*?>(.*?)<\\/a><\\/div>\\s?(.*)/s', $d3comment, $elms);
         if (!empty($elms[0])) {
             $d3comment = $elms[1] . $elms[4];
         }
         echo $d3comment;
     } else {
         d3forum_render_comments($this->d3forum_dirname, $new_params['forum_id'], $new_params, $this->smarty);
     }
     if (function_exists('date_default_timezone_set')) {
         date_default_timezone_set('UTC');
     }
 }
Пример #2
0
 function displayCommentsInline($params)
 {
     $new_params = $this->restructParams($params);
     d3forum_render_comments($this->d3forum_dirname, $new_params['forum_id'], $new_params, $this->smarty);
 }
Пример #3
0
function d3forum_display_comment($mydirname, $forum_id, $params)
{
    global $xoopsUser, $xoopsConfig, $xoopsModule;
    // check the d3forum exists and is active
    $module_hanlder =& xoops_gethandler('module');
    $module =& $module_hanlder->getByDirname($mydirname);
    if (!is_object($module) || !$module->getVar('isactive')) {
        return;
    }
    // check permission of "module_read"
    $moduleperm_handler =& xoops_gethandler('groupperm');
    $groups = is_object($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS);
    if (!$moduleperm_handler->checkRight('module_read', $module->getVar('mid'), $groups)) {
        return;
    }
    // subject_raw
    $params['subject_raw'] = empty($params['subject_escaped']) ? @$params['subject'] : d3forum_common_unhtmlspecialchars(@$params['subject']);
    // read d3comment class and make the object
    // for using d3forum_comment plugin with d3com class
    if (!empty($params['class'])) {
        $class_name = preg_replace('/[^0-9a-zA-Z_]/', '', $params['class']);
        $external_dirname = @$params['mydirname'];
        $external_trustdirname = @$params['mytrustdirname'];
        // auto external_dirname
        if ($external_dirname == '' && is_object($GLOBALS['xoopsModule'])) {
            $external_dirname = $GLOBALS['xoopsModule']->getVar('dirname');
        }
        // naao from
        require_once dirname(dirname(__FILE__)) . '/class/D3commentObj.class.php';
        // search and include the class file
        if ($external_trustdirname && file_exists(XOOPS_TRUST_PATH . "/modules/{$external_trustdirname}/class/{$class_name}.class.php")) {
            require_once XOOPS_TRUST_PATH . "/modules/{$external_trustdirname}/class/{$class_name}.class.php";
        } else {
            if ($external_dirname && file_exists(XOOPS_ROOT_PATH . "/modules/{$external_dirname}/class/{$class_name}.class.php")) {
                require_once XOOPS_ROOT_PATH . "/modules/{$external_dirname}/class/{$class_name}.class.php";
            } else {
                include_once dirname(dirname(__FILE__)) . "/class/{$class_name}.class.php";
                $external_dirname = '';
                $external_trustdirname = '';
            }
        }
        $m_params['forum_dirname'] = $mydirname;
        $m_params['external_dirname'] = $external_dirname;
        $m_params['class_name'] = $class_name;
        $m_params['external_trustdirname'] = $external_trustdirname;
        if (class_exists($class_name)) {
            $obj =& D3commentObj::getInstance($m_params);
            $external_link_id = $obj->d3comObj->external_link_id($params);
        }
        // naao to
    }
    // for conventional module
    if (!is_object($obj->d3comObj)) {
        if (!empty($params['itemname'])) {
            $external_link_id = @$_GET[$params['itemname']];
            if (empty($external_link_id)) {
                return;
            }
        } else {
            echo "set valid itemname or class in <{d3forum_comment}> of the template";
            return;
        }
    }
    $params['external_link_id'] = $external_link_id;
    $params['external_dirname'] = $external_dirname;
    $params['external_trustdirname'] = $external_trustdirname;
    $smarty = null;
    d3forum_render_comments($mydirname, $forum_id, $params, $smarty);
}