Ejemplo n.º 1
0
 public function test_get_tag_suggestions()
 {
     // ensure correct counts of tags
     $this->tags_manager->calc_count_tags();
     $query = "tag";
     $exclude = array("tag1");
     $count = 5;
     $tags = $this->tags_manager->get_tag_suggestions($query, $exclude, $count);
     $this->assertEquals(array(array("text" => "tag2")), $tags);
     $query = "tag";
     $exclude = array();
     $count = 5;
     $tags = $this->tags_manager->get_tag_suggestions($query, $exclude, $count);
     $this->assertEquals(array(array("text" => "tag1"), array("text" => "tag2")), $tags);
     $query = "tag";
     $exclude = array();
     $count = 1;
     $tags = $this->tags_manager->get_tag_suggestions($query, $exclude, $count);
     $this->assertEquals(array(array("text" => "tag1")), $tags);
     $query = "ta";
     $exclude = array();
     $count = 5;
     $tags = $this->tags_manager->get_tag_suggestions($query, $exclude, $count);
     $this->assertEquals(array(), $tags);
 }
Ejemplo n.º 2
0
 /**
  * Gets suggestions for tags based on a ajax request, route: /tags/suggest
  *
  * @param php://input raw post data must contain a json-encoded object of this structure: {"query":"...", "exclude":["...", "...", ...]}
  */
 public function suggest_tags()
 {
     if (false && $this->request->is_ajax()) {
         $data = json_decode(file_get_contents('php://input'), true);
         $query = $data['query'];
         $exclude = $data['exclude'];
         $tags = $this->tags_manager->get_tag_suggestions($query, $exclude, 5);
         $json_response = new json_response();
         $json_response->send($tags);
     }
     // fake a 404
     return $this->helper->error($this->user->lang('RH_TOPICTAGS_TAG_SUGGEST_TAG_ROUTE_ERROR', $this->helper->get_current_url()), 404);
 }