function d3forum_common_utf8_encode_recursive(&$data)
{
    if (is_array($data)) {
        foreach (array_keys($data) as $key) {
            d3forum_common_utf8_encode_recursive($data[$key]);
        }
    } else {
        if (!is_numeric($data)) {
            if (XOOPS_USE_MULTIBYTES == 1) {
                if (function_exists('mb_convert_encoding')) {
                    $data = mb_convert_encoding($data, 'UTF-8', _CHARSET);
                } else {
                    if (function_exists('iconv')) {
                        $data = iconv(_CHARSET, 'UTF-8', $data);
                    }
                }
            } else {
                $data = utf8_encode($data);
            }
        }
    }
}
Ejemplo n.º 2
0
// form elements or javascripts for anti-SPAM
if (d3forum_common_is_necessary_antispam($xoopsUser, $xoopsModuleConfig)) {
    $antispam_obj =& d3forum_common_get_antispam_object($xoopsModuleConfig);
    $antispam4assign = $antispam_obj->getHtml4Assign();
} else {
    $antispam4assign = array();
}
$xoopsTpl->assign(array('mydirname' => $mydirname, 'mod_url' => XOOPS_URL . '/modules/' . $mydirname, 'mod_imageurl' => XOOPS_URL . '/modules/' . $mydirname . '/' . $xoopsModuleConfig['images_dir'], 'mod_config' => $xoopsModuleConfig, 'xoops_config' => $xoopsConfig, 'uid' => $uid, 'postorder' => $postorder, 'icon_meanings' => $d3forum_icon_meanings, 'antispam' => $antispam4assign, 'forum_jumpbox_options' => d3forum_make_jumpbox_options($mydirname, $whr_read4cat, $whr_read4forum, @$forum_row['forum_id']), 'xoops_module_header' => "<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"" . str_replace('{mod_url}', XOOPS_URL . '/modules/' . $mydirname, $xoopsModuleConfig['css_uri']) . "\" />" . $xoopsTpl->get_template_vars("xoops_module_header")));
if (!empty($d3forum_output_rss)) {
    // RSS 2.0
    if (function_exists('mb_http_output')) {
        mb_http_output('pass');
    }
    if (_CHARSET != 'UTF-8') {
        $data = $xoopsTpl->get_template_vars();
        d3forum_common_utf8_encode_recursive($data);
        $xoopsTpl->assign($data);
        if (empty($_GET['forum_id'])) {
            $rss = array('title' => $data['pagetitle'], 'query' => 'cat_ids=' . $data['cat_ids'], 'desc' => '', 'category_title' => '');
        } else {
            $rss = array('title' => $data['forum']['title'], 'query' => 'forum_id=' . $data['forum']['id'], 'desc' => $data['forum']['desc'], 'category_title' => $data['category']['title']);
        }
        $xoopsTpl->assign('rss', $rss);
    }
    header('Content-Type:text/xml; charset=utf-8');
    $xoopsTpl->display('db:' . $mydirname . '_independent_rss20_listtopics.html');
    exit;
} else {
    // display
    include XOOPS_ROOT_PATH . '/footer.php';
}