Exemple #1
0
function suggest($lang, $arglist = false)
{
    global $search_all, $rss_thread;
    $cloud = false;
    if (is_array($arglist)) {
        if (isset($arglist[0])) {
            $cloud = $arglist[0];
        }
    }
    $cloud_id = false;
    if ($cloud) {
        $cloud_id = cloud_id($cloud);
        if (!$cloud_id) {
            header('HTTP/1.1 404 Not Found');
            return false;
        }
        if ($cloud_id == $rss_thread) {
            if (!user_has_role('administrator')) {
                header('HTTP/1.1 401 Unauthorized');
                return false;
            }
        }
        $r = thread_get($lang, $cloud_id);
        if (!$r) {
            header('HTTP/1.1 404 Not Found');
            return false;
        }
        extract($r);
        /* thread_type thread_nosearch */
        if ($thread_type == 'thread' or $thread_nosearch) {
            header('HTTP/1.1 404 Not Found');
            return false;
        }
    } else {
        if ($search_all !== true) {
            header('HTTP/1.1 404 Not Found');
            return false;
        }
    }
    $term = isset($arglist['term']) ? $arglist['term'] : false;
    if (!$term) {
        header('HTTP/1.1 400 Bad Request');
        return false;
    }
    $r = cloud_suggest($lang, $cloud_id, $term);
    if (!$r) {
        header('HTTP/1.1 404 Not Found');
        return false;
    }
    $taglist = array();
    foreach ($r as $tag) {
        $taglist[] = $tag['tag_name'];
    }
    return json_encode($taglist);
}
Exemple #2
0
dump($r);
$r = cloud_list_tags($lang, $cloud_id, false, true, true);
dump($r);
$node_id = 2;
$r = cloud_list_tags($lang, $cloud_id, $node_id);
dump($r);
$r = cloud_list_tags($lang, $cloud_id, $node_id, true, false, false);
dump($r);
$taglist = array('documentation', 'foobar');
$r = cloud_search($lang, $cloud_id, $taglist);
dump($r);
$s = 'documentation';
$r = cloud_match($lang, $cloud_id, $s);
dump($r);
$s = 'Documentations#2';
$r = cloud_match($lang, $cloud_id, $s);
dump($r);
$term = 'docu';
$r = cloud_suggest($lang, $cloud_id, $term);
dump($r);
$s = 'documentation foobar barfoo';
$r = cloud_tag_node($lang, $node_id, $s);
dump($r);
$r = cloud_list_node_tags($lang, $node_id);
dump($r);
$s = 'documentation';
$r = cloud_tag_node($lang, $node_id, $s);
dump($r);
$r = cloud_list_node_tags($lang, $node_id);
dump($r);
echo sprintf('%.4f', microtime(true) - $msecs), PHP_EOL;