Changeset 621

Show
Ignore:
Timestamp:
07/23/05 22:16:22 (3 years ago)
Author:
jajcus
Message:

- continued search results removed as not compatible with XMPP

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/search.c

    r612 r621  
    3737const char *search_instructions; 
    3838 
    39 struct search_req_s { 
    40         int start; 
    41         int maxgroups; 
    42 }; 
    43  
    4439void jabber_iq_set_search_byform(Stream *s,const char *from,const char *to, 
    45                                 const char *id,xmlnode q,int maxgroups,int start); 
     40                                const char *id,xmlnode q); 
    4641 
    4742xmlnode search_form(xmlnode parent){ 
     
    6358        form_add_field(form,"text-single","familyname",_("Family name"),NULL,0); 
    6459        form_add_field(form,"text-single","familycity",_("Family city"),NULL,0); 
    65         form_add_field(form,"text-single","maxgroups",_("Max. result groups"),"1",1); 
    6660        return form; 
    6761} 
     
    7064 
    7165int search_byform_done(struct request_s *r, gg_pubdir50_t results){ 
    72 int i,start,next,maxgroups
     66int i
    7367xmlnode q,form,item; 
    7468char *jid; 
    7569const char *val; 
    76 struct search_req_s *sr; 
    77  
    78         sr=(struct search_req_s *)r->data; 
    79         maxgroups=sr->maxgroups-1; 
    80         start=sr->start; 
    81         g_free(sr); 
    8270 
    8371        q=xmlnode_new_tag("query"); 
     
    8573        form=form_new_result(_("GG public directory search results")); 
    8674 
    87         if (start==0){ 
    88                 form_add_result_field(form,"jid",_("JID"),"jid-single"); 
    89                 form_add_result_field(form,"nick",_("Nick"),"text-single"); 
    90                 form_add_result_field(form,"status",_("Status"),"text-single"); 
    91                 form_add_result_field(form,"firstname",_("First name"),"text-single"); 
    92                 form_add_result_field(form,"lastname",_("Last name"),"text-single"); 
    93                 form_add_result_field(form,"city",_("City"),"text-single"); 
    94                 form_add_result_field(form,"gender",_("Sex"),"text-single"); 
    95                 form_add_result_field(form,"birthyear","Birth year","text-single"); 
    96                 form_add_result_field(form,"familyname",_("Family name"),"text-single"); 
    97                 form_add_result_field(form,"familycity",_("Family city"),"text-single"); 
    98         } 
     75        form_add_result_field(form,"jid",_("JID"),"jid-single"); 
     76        form_add_result_field(form,"nick",_("Nick"),"text-single"); 
     77        form_add_result_field(form,"status",_("Status"),"text-single"); 
     78        form_add_result_field(form,"firstname",_("First name"),"text-single"); 
     79        form_add_result_field(form,"lastname",_("Last name"),"text-single"); 
     80        form_add_result_field(form,"city",_("City"),"text-single"); 
     81        form_add_result_field(form,"gender",_("Sex"),"text-single"); 
     82        form_add_result_field(form,"birthyear","Birth year","text-single"); 
     83        form_add_result_field(form,"familyname",_("Family name"),"text-single"); 
     84        form_add_result_field(form,"familycity",_("Family city"),"text-single"); 
    9985 
    10086        for(i=0;i<gg_pubdir50_count(results);i++){ 
     
    141127        jabber_iq_send_result(r->stream,r->from,r->to,r->id,q); 
    142128        xmlnode_free(q); 
    143         if (maxgroups>0){ 
    144                 next=gg_pubdir50_next(results); 
    145                 if (next>0 && next>start) 
    146                         jabber_iq_set_search_byform(r->stream,r->from,r->to,r->id, 
    147                                                         r->query,maxgroups,next); 
    148         } 
     129        xmlnode_free(form); 
    149130        return 0; 
    150131} 
     
    244225 
    245226void jabber_iq_set_search_byform(Stream *s,const char *from,const char *to, 
    246                 const char *id,xmlnode q,int maxgroups,int start){ 
     227                const char *id,xmlnode q){ 
    247228xmlnode form,field,value; 
    248229char *val; 
     
    250231Session *sess; 
    251232Request *r; 
    252 struct search_req_s *sr; 
    253233 
    254234        form=xmlnode_get_tag(q,"x?xmlns=jabber:x:data"); 
     
    289269        FIELD_TO_PUBDIR("familycity",GG_PUBDIR50_FAMILYCITY); 
    290270 
    291         val=g_strdup_printf("%i",start); 
    292         gg_pubdir50_add(search, GG_PUBDIR50_START, val); 
    293         g_free(val); 
    294  
    295         if (maxgroups<1){ 
    296                 val=NULL; 
    297                 field=xmlnode_get_tag(form,"field?var=maxgroups"); 
    298                 if (field!=NULL){ 
    299                         value=xmlnode_get_tag(field,"value"); 
    300                         if (value!=NULL) val=xmlnode_get_data(value); 
    301                 } 
    302                 if (val!=NULL){ 
    303                         maxgroups=atoi(val); 
    304                         if (maxgroups<1) maxgroups=1; 
    305                 } 
    306                 else 
    307                         maxgroups=1; 
    308         } 
     271        gg_pubdir50_add(search, GG_PUBDIR50_START, "0"); 
    309272 
    310273        r=add_request(RT_SEARCH,from,to,id,q,search,s); 
    311         sr=g_new(struct search_req_s,1); 
    312         sr->maxgroups=maxgroups; 
    313         sr->start=start; 
    314         r->data=sr; 
    315274        gg_pubdir50_free(search); 
    316275} 
     
    324283        n=xmlnode_get_tag(q,"x?xmlns=jabber:x:data"); 
    325284        if (n){ 
    326                 return jabber_iq_set_search_byform(s,from,to,id,q,0,0); 
     285                return jabber_iq_set_search_byform(s,from,to,id,q); 
    327286        } 
    328287        sess=session_get_by_jid(from,NULL,0);