Esempio n. 1
0
<?php

require_once 'header/web.inc.php';
require_once 'inc/tags/interface.inc.php';
require_once 'inc/tags/tags.inc.php';
$prj = new Tags_Project('tcms.interface.tags');
project_init_params($prj);
$site = io_get('site');
$id = io_get('id');
$errors = array(10 => '参数有误', 50 => '获取Tags失败');
try {
    if (empty($site) || empty($id)) {
        throw new CmsInterfaceException(10);
        _log("提供的参数有误", 'DEBUG');
    }
    $controller = $prj->rs->data->ext['tags'];
    $db = $prj->CData->CDb->r;
    WF_Registry::set('db', $db);
    $tags = $controller->getNewsTags($site, $id);
    //$tags = array('iphone', '苹果', '手机');
    if ($tags === false) {
        throw new CmsInterfaceException(50);
    }
    $data = project_convert_output($prj, $tags);
    $prj->fw->interface->out(0, 'success', '', $data);
} catch (CmsInterfaceException $e) {
    project_output_error($prj, $e, $errors);
} catch (Exception $e) {
    $this->fw->interface->out($e->getCode(), $e->getMessage(), '', '');
}
function _log($msg, $level = 'ERROR')
Esempio n. 2
0
<?php

/**
 * 提供文章的分词结果Top3,来搜索相近的Tags
 */
require_once 'header/web.inc.php';
require_once 'inc/tags/interface.inc.php';
require_once 'inc/tags/tags.inc.php';
$prj = new Tags_Project('tcms.interface.tags');
project_init_params($prj);
$len = io_get('len');
#$category_id = io_get('c');
$keywords_str = trim(io_get('keywords'));
$input = io_get('input');
$errmsgs = array(10 => '关键词为空哦亲', 50 => '接口调用出错啦');
try {
    if (empty($keywords_str)) {
        throw new CmsInterfaceException(10);
        _log('输入关键词为空', 'DEBUG');
    }
    $len = $len > 0 ? $len : 20;
    $prefix = project_convert_input($prj, $keywords_str);
    $controller = $prj->rs->data->ext['tags'];
    $db = $prj->CData->CDb->r;
    WF_Registry::set('db', $db);
    $keywords = explode(';', $keywords_str);
    $tags = $controller->suggestByKeywords($keywords);
    if (!is_array($tags)) {
        throw new CmsInterfaceException(50);
        _log("suggest 接口调用出错");
    }
Esempio n. 3
0
<?php

/**
 * 根据Tag,查找文章列表 
 */
require_once 'header/web.inc.php';
require_once 'inc/tags/interface.inc.php';
require_once 'inc/tags/tags.inc.php';
$profile_begin = microtime(true);
$prj = new Tags_Project('tcms.interface.tags');
project_init_params($prj);
$tag = io_get('tag');
$site = io_get('site');
$page = io_get('p');
$len = io_get('l');
$errors = array(10 => '参数错误: 未指定标签');
try {
    if (empty($tag)) {
        throw new CmsInterfaceException(10);
        _log("参数错误 tag", 'INFO');
    }
    $controller = $prj->rs->data->ext['tags'];
    $db = $prj->CData->CDb->r;
    WF_Registry::set('db', $db);
    $articles = $controller->listByTag($tag);
    $cost = microtime(true) - $profile_begin;
    $prj->fw->interface->out(0, 'success', $cost, $articles);
} catch (CmsInterfaceException $e) {
    project_output_error($prj, $e, $errors);
} catch (Exception $e) {
    $this->fw->interface->out($e->getCode(), $e->getMessage(), '', '');