Exemplo n.º 1
0
/**
 *
 *
 * @file modifier.zhidaoXmlTrans.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:47
 */
function smarty_modifier_zhidaoXmlTrans()
{
    $logArr['smarty_modifier'] = "modifier_zhidaoXmlTrans";
    /**
     * hilight info
     * @var array
     */
    $hilight_info = CSmarty::getHilightInfo();
    $hi_word = $hilight_info['hilightInfo']['hi_word'];
    $hi_off = $hilight_info['hilightInfo']['hi_off'];
    $hi_num = $hilight_info['hilightInfo']['hi_num'];
    $status = 0;
    if (isset($hi_off[0])) {
        $hi_off[0] = 0;
    }
    $result = hilight_zhidaoXmlTrans($hi_word, $hi_off, $hi_num);
    if (false == $result) {
        $status = -1;
        CLog::warning("fail to call hilight_zhidaoXmlTrans", $status, $logArr, 1);
        return false;
    }
    CLog::debug("success to call zhidaoXmlTrans modifier", $status, $logArr, 1);
    return $result;
}
Exemplo n.º 2
0
/**
 *
 *
 * @file modifier.highlight.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:55
 * 
 * ======================================插件说明=====================================
 * 
 * 标题飘红
 * type=0:gss aladdin,修改type=3,在调用扩展时,会转成3
 * type=1:UI自己实现的匹配飘红
 * type=2:根据DX的标记替换飘红
 * type=3:使用DA返回的飘红词调用飘红库飘红
 * type=4:使用AC返回的飘红词调用飘红库飘红
 * 
 * 摘要飘红
 * type=5:UI自己实现的匹配飘红,在调用扩展时,会转成1
 * type=6:根据DX的标记替换飘红,在调用扩展时,会转成2
 * 
 * ======================================飘红库说明=====================================
 * Hilight_title:
 * 1、UI自己实现的匹配飘红;
 * 2、根据DX的标记替换飘红;
 * 3、使用DA返回的飘红词调用飘红库飘红;
 * 4、使用AC返回的飘红词调用飘红库飘红;
 * Hilight_abstract:
 * 1、UI自己实现的匹配飘红;
 * 2、根据DX的标记替换飘红;
 * 
 */
function smarty_modifier_highlight($string, $type = 0)
{
    // BY pengxing
    // 忽略highlight插件的效果
    return $string;
    $time_start = Volatile::microtime(true) * 1000;
    $logArr['smarty_modifier'] = "modifier_highlight";
    /**
     * hilight info
     * @var array
     */
    $hilight_info = CSmarty::getHilightInfo();
    $hilight_info['hiFixInfo']['bold_prefix'] = $GLOBALS['DISPLAY']['BOLD_PREFIX'];
    $hilight_info['hiFixInfo']['bold_postfix'] = $GLOBALS['DISPLAY']['BOLD_SUFFIX'];
    $logArr['text'] = $string;
    $logArr['type'] = $type;
    $result = false;
    $hilight_query_info = array();
    $queryInfo = CSmarty::getQueryInfo();
    $language = trim(strtolower($queryInfo['language']));
    $tempArray = explode('-', $language);
    if (strlen($queryInfo['language']) != 0) {
        if ($language == 'zh-cn' || $language == 'zh-tw') {
            $hilight_query_info['query_language'] = $language;
        } else {
            if (count($tempArray) == 2) {
                $hilight_query_info['query_language'] = $tempArray[0];
            } else {
                $hilight_query_info['query_language'] = 'zh-cn';
            }
        }
    } else {
        $hilight_query_info['query_language'] = 'zh-cn';
    }
    $hilight_query_info['query_codetype'] = empty($queryInfo['outputEncode']) ? "utf-8" : (string) $queryInfo['outputEncode'];
    $hilight_query_info['user_locale'] = empty($tempArray[1]) ? "cn" : $tempArray[1];
    switch ($type) {
        case 0:
            //hilight for aladdin's page
            $hi_word = CSmarty::getHiWord();
            if (strlen($hi_word) > 0) {
                $hilight_info['hilightInfo']['ori_hilight'] = $hi_word;
            }
            $type = 3;
        case 1:
        case 2:
        case 3:
        case 4:
            /**
             * hilight title
             */
            $logArr['hilight_type'] = 'title';
            //error_log("hiFixInfo=".var_export($hilight_info['hiFixInfo'],true)."\n", 3, '/home/work/talk.log');
            //error_log("hilightInfo=".var_export($hilight_info['hilightInfo'],true)."\n", 3, '/home/work/talk.log');
            //error_log("dynamicConfig=".var_export($hilight_info['dynamicConfig'],true)."\n", 3, '/home/work/talk.log');
            //$result = hilight_title($string, $hilight_info['hiFixInfo'],$hilight_info['hilightInfo'], $hilight_info['dynamicConfig'], $type);
            $result = hilight_title_ver2($string, $hilight_info['hiFixInfo'], $hilight_info['hilightInfo'], $hilight_info['dynamicConfig'], $type, $hilight_query_info);
            break;
        case 5:
        case 6:
            /**
             * hilight abstract
             */
            $type = $type - 4;
            $logArr['hilight_type'] = 'abstract';
            $logArr['type'] = $type;
            //$result = hilight_abstract($string, $hilight_info['hiFixInfo'],$hilight_info['hilightInfo'], $hilight_info['dynamicConfig'], $type);
            $result = hilight_abstract_ver2($string, $hilight_info['hiFixInfo'], $hilight_info['hilightInfo'], $hilight_info['dynamicConfig'], $type, $hilight_query_info);
            break;
        default:
            $type = 2;
            $logArr['type'] = $type;
            $logArr['hilight_type'] = 'title';
            //$result = hilight_title($string, $hilight_info['hiFixInfo'],$hilight_info['hilightInfo'], $hilight_info['dynamicConfig'], $type);
            $result = hilight_title_ver2($string, $hilight_info['hiFixInfo'], $hilight_info['hilightInfo'], $hilight_info['dynamicConfig'], $type, $hilight_query_info);
            break;
    }
    if (false === $result) {
        CLog::warning("fail to hilight", 0, $logArr, 1);
        return $string;
    }
    $GLOBALS['logArr']['time_highlight'] += round(Volatile::microtime(true) * 1000 - $time_start, 2);
    return $result;
}