public static function getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 function syncLog()
 {
     AjaxHead();
     header('Content-Type: application/json; charset=UTF-8');
     $duoshuoPlugin = Duoshuo_Dedecms::getInstance();
     $response = $duoshuoPlugin->syncLog();
     echo json_encode($response);
     exit;
 }
function lib_duoshuo(&$ctag, &$refObj)
{
    global $dsql, $cfg_basehost, $cfg_cmspath;
    $plugin = Duoshuo_Dedecms::getInstance();
    if ($plugin->getOption('short_name') == '' || $plugin->getOption('secret') == '') {
        return '在管理后台进行一步配置,就可以开始使用多说了';
    }
    $attlist = 'type|0';
    FillAttsDefault($ctag->CAttribute->Items, $attlist);
    extract($ctag->CAttribute->Items, EXTR_SKIP);
    if (empty($refObj->Fields['aid'])) {
        return '';
    }
    $arcid = $refObj->Fields['aid'];
    //设置参数
    $attrs = array();
    $attrs[] = ' data-thread-key="' . $arcid . '"';
    $attrs[] = 'data-author-key="' . $refObj->Fields["mid"] . '"';
    /*
    if(empty($refObj->Fields['arcurl'])){
    	$refObj->Fields['arcurl'] = $refObj->GetTrueUrl(null);
    }
    if(strpos($refObj->Fields['arcurl'],$cfg_basehost) === false){
    	$attrs[] = ' data-url="'.$cfg_basehost.$refObj->Fields['arcurl'].'"';
    }
    
    $attrs[] = ' data-url="'.$refObj->Fields['arcurl'].'"';
    */
    $article_url = $refObj->GetTrueUrl(null);
    if (!strpos($article_url, 'http:')) {
        $article_url = $cfg_basehost . $article_url;
    }
    if (!empty($refObj->Fields['litpic']) && !preg_match('/\\/images\\/defaultpic.gif/', $refObj->Fields['litpic'])) {
        $attrs[] = ' data-image="' . $refObj->Fields['litpic'] . '"';
    }
    if (!empty($refObj->Fields['title'])) {
        $attrs[] = 'data-title="' . htmlspecialchars($refObj->Fields['title'], ENT_QUOTES, 'GB2312') . '"';
    }
    //输出评论框
    ob_start();
    require DEDEROOT . '/plus/duoshuo/templates/comments.htm';
    if ($plugin->getOption('seo_enabled') && !empty($arcid)) {
        // 每篇评论最大字数
        $infolen = 200;
        // 每篇文章seo显示的最大行数
        $totalrow = 100;
        $innertext = file_get_contents(DEDEROOT . '/plus/duoshuo/templates/comments_seo.htm');
        ?>
<div id="ds-ssr" class="mt1">
	<dl class="tbox">
		<dt> <strong>评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)</strong> </dt>
		<dd>
			<div class="dede_comment">
				<div class="decmt-box1">
					<ul>
						<li id="commetcontentNew"></li>

<?php 
        $wsql = " WHERE ischeck=1 AND aid = {$arcid}";
        $equery = "SELECT * FROM `#@__feedback` {$wsql} ORDER BY id DESC LIMIT 0 , {$totalrow}";
        $ctp = new DedeTagParse();
        $ctp->SetNameSpace('field', '[', ']');
        $ctp->LoadSource($innertext);
        $dsql->Execute('fb', $equery);
        while ($arr = $dsql->GetArray('fb')) {
            $arr['msg'] = jsTrim(Html2Text($arr['msg']), $infolen);
            $arr['dtime'] = GetDateTimeMK($arr['dtime']);
            $arr['username'] = $str = str_replace('&lt;br/&gt;', ' ', $arr['username']);
            foreach ($ctp->CTags as $tagid => $ctag) {
                if (!empty($arr[$ctag->GetName()])) {
                    $ctp->Assign($tagid, $arr[$ctag->GetName()]);
                }
            }
            echo $ctp->GetResult();
        }
        ?>
 
					</ul>
				</div>
			</div>
		</dd>
	</dl>
</div>

<?php 
    }
    return ob_get_clean();
}
/**
 * 多说插件
 *
 * @version        $Id: duoshuo.php 0 10:17 2012-4-27 xiaowu $
 * @package        DedeCMS.DUOSHUO
 * @copyright      Copyright (c) 2012 - , Duoshuo, Inc.
 * @link           http://www.duoshuo.com
 */
require_once dirname(__FILE__) . "/config.php";
@ini_set('display_errors', 1);
require_once DEDEINC . "/json.class.php";
require_once DEDEINC . '/arc.archives.class.php';
require_once DEDEROOT . '/plus/duoshuo.php';
require_once DEDEROOT . '/plus/duoshuo/Admin.php';
$duoshuoPlugin = Duoshuo_Dedecms::getInstance();
// 设置默认参数
$duoshuoPlugin->checkDefaultSettings();
//兼容0.1.x版本插件 引入多说配置文件 {{ 只用于 0.2.x
$configFile = DEDEDATA . '/duoshuo.inc.php';
if (file_exists($configFile)) {
    if ($duoshuoPlugin->getOption('short_name') == '' || $duoshuoPlugin->getOption('secret') == '') {
        //如果数据库设置不完整,从文件导入
        include_once $configFile;
        global $cfg_duoshuo;
        if (isset($cfg_duoshuo)) {
            if ($duoshuoPlugin->getOption('short_name') == '' && !empty($cfg_duoshuo['short_name'])) {
                $duoshuoPlugin->updateOption('short_name', $cfg_duoshuo['short_name']);
            }
            if ($duoshuoPlugin->getOption('secret') == '' && !empty($cfg_duoshuo['secret'])) {
                $duoshuoPlugin->updateOption('secret', $cfg_duoshuo['secret']);