public function BulletinSearchTopics($text, $sensitive, $start, $end, $category_id, $search_sub_categories = true, $title_search = true, $body_search = true, $from_search = false, $follow_search = false)
 {
     // $text : search "string"
     // $sensitive : boolean (case sensitive : true, otherwise : false)
     // $start : UNIX timestamp (search start datetime)
     // $end   : UNIX timestamp (search end datetime) or false (not determine end datetime)
     // $category_id : bulletin board IDType or -1=only waiting -2=under writting 0=all bulletin board
     // $search_sub_categories : boolean (true:search sub categories, false:only this board) (default true)
     // $title_search : boolean (default true)
     // $body_search : boolean (default true)
     // $from_search : boolean (default false)
     // $follow_search : boolean (default false)
     $this->CheckAndSetHeader(__FUNCTION__);
     $reg_args = array();
     $reg_args["text"] = $text;
     $reg_args["sensitive"] = $sensitive == true ? true : false;
     $reg_args["start"] = gmdate(W3C_DATETIME_FORMAT, $start);
     if ($end !== false) {
         $reg_args["end"] = gmdate(W3C_DATETIME_FORMAT, $end);
     }
     $reg_args["category_id"] = $category_id;
     $reg_args["search_sub_categories"] = $search_sub_categories == true ? true : false;
     $reg_args["title_search"] = $title_search == true ? true : false;
     $reg_args["body_search"] = $body_search == true ? true : false;
     $reg_args["from_search"] = $from_search == true ? true : false;
     $reg_args["follow_search"] = $follow_search == true ? true : false;
     $this->encodeString($reg_args);
     $results = parent::BulletinSearchTopics($reg_args);
     $this->methodClose();
     if (is_array($results->topic)) {
         return $this->decodeString($results->topic);
     } else {
         $tmp = array();
         $tmp[] = $this->decodeString($results->topic);
         return $tmp;
     }
 }