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); }
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;