]> source.dussan.org Git - nextcloud-server.git/commitdiff
Added search. Thanks to icewind it was mostly copy/paste :-)
authorThomas Tanghus <thomas@tanghus.net>
Thu, 12 Jan 2012 15:06:27 +0000 (16:06 +0100)
committerThomas Tanghus <thomas@tanghus.net>
Thu, 12 Jan 2012 21:50:12 +0000 (22:50 +0100)
apps/contacts/appinfo/app.php
apps/contacts/lib/search.php [new file with mode: 0644]

index 524cc640bc9f9aa32cc3674300fb7cd52c5fb65f..1e9f8811722b6e8b36b870a91ebe4e800ac06233 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+$l=new OC_L10N('calendar');
 
 OC::$CLASSPATH['OC_Contacts_App'] = 'apps/contacts/lib/app.php';
 OC::$CLASSPATH['OC_Contacts_Addressbook'] = 'apps/contacts/lib/addressbook.php';
@@ -17,7 +18,8 @@ OC_App::addNavigationEntry( array(
   'order' => 10,
   'href' => OC_Helper::linkTo( 'contacts', 'index.php' ),
   'icon' => OC_Helper::imagePath( 'settings', 'users.svg' ),
-  'name' => 'Contacts' ));
+  'name' => $l->t('Contacts') ));
 
 
 OC_APP::registerPersonal('contacts','settings');
+require_once('apps/contacts/lib/search.php');
\ No newline at end of file
diff --git a/apps/contacts/lib/search.php b/apps/contacts/lib/search.php
new file mode 100644 (file)
index 0000000..9763882
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+class OC_Search_Provider_Contacts extends OC_Search_Provider{
+       function search($query){
+               $addressbooks = OC_Contacts_Addressbook::all(OC_User::getUser(), 1);
+//             if(count($calendars)==0 || !OC_App::isEnabled('contacts')){
+//                     //return false;
+//             }
+               // NOTE: Does the following do anything
+               $results=array();
+               $searchquery=array();
+               if(substr_count($query, ' ') > 0){
+                       $searchquery = explode(' ', $query);
+               }else{
+                       $searchquery[] = $query;
+               }
+               $l = new OC_l10n('contacts');
+               foreach($addressbooks as $addressbook){
+                       $vcards = OC_Contacts_VCard::all($addressbook['id']);
+                       foreach($vcards as $vcard){
+                               if(substr_count(strtolower($vcard['fullname']), strtolower($query)) > 0){
+                                       $link = OC_Helper::linkTo('apps/contacts', 'index.php?id='.urlencode($vcard['id']));
+                                       $results[]=new OC_Search_Result($vcard['fullname'],'', $link,$l->t('Contact'));//$name,$text,$link,$type
+                               }
+                       }
+               }
+               return $results;
+       }
+}
+new OC_Search_Provider_Contacts();