summaryrefslogtreecommitdiffstats
path: root/apps/contacts/lib
diff options
context:
space:
mode:
authorThomas Tanghus <thomas@tanghus.net>2011-12-31 01:34:22 +0100
committerThomas Tanghus <thomas@tanghus.net>2011-12-31 01:34:22 +0100
commit1b146b85d2b645dc4ae4f16d9757ad4bd939c0e2 (patch)
treedcafe27ca4df83aaefd5143ed76bff838b00bbed /apps/contacts/lib
parent97471b5c2a079be34aeff099019f219135b9cb2c (diff)
downloadnextcloud-server-1b146b85d2b645dc4ae4f16d9757ad4bd939c0e2.tar.gz
nextcloud-server-1b146b85d2b645dc4ae4f16d9757ad4bd939c0e2.zip
Removed redundant DB queries.
Diffstat (limited to 'apps/contacts/lib')
-rw-r--r--apps/contacts/lib/addressbook.php20
-rw-r--r--apps/contacts/lib/vcard.php3
2 files changed, 16 insertions, 7 deletions
diff --git a/apps/contacts/lib/addressbook.php b/apps/contacts/lib/addressbook.php
index b3c981a541e..78792f5f948 100644
--- a/apps/contacts/lib/addressbook.php
+++ b/apps/contacts/lib/addressbook.php
@@ -189,9 +189,21 @@ class OC_Contacts_Addressbook{
public static function active($uid){
$active = self::activeIds($uid);
$addressbooks = array();
- /* FIXME: Is there a way to prepare a statement 'WHERE id IN ([range])'?
- * See OC_Contacts_VCard:all.
- */
+ $ids_sql = join(',', array_fill(0, count($active), '?'));
+ $prep = 'SELECT * FROM *PREFIX*contacts_addressbooks WHERE id IN ('.$ids_sql.') ORDER BY displayname';
+ try {
+ $stmt = OC_DB::prepare( $prep );
+ $result = $stmt->execute($active);
+ } catch(Exception $e) {
+ OC_Log::write('contacts','OC_Contacts_Addressbook:active:, exception: '.$e->getMessage(),OC_Log::DEBUG);
+ OC_Log::write('contacts','OC_Contacts_Addressbook:active, ids: '.join(',', $active),OC_Log::DEBUG);
+ OC_Log::write('contacts','OC_Contacts_Addressbook::active, SQL:'.$prep,OC_Log::DEBUG);
+ }
+
+ while( $row = $result->fetchRow()){
+ $addressbooks[] = $row;
+ }
+ /*
foreach( $active as $aid ){
$stmt = OC_DB::prepare( 'SELECT * FROM *PREFIX*contacts_addressbooks WHERE id = ? ORDER BY displayname' );
$result = $stmt->execute(array($aid,));
@@ -199,7 +211,7 @@ class OC_Contacts_Addressbook{
while( $row = $result->fetchRow()){
$addressbooks[] = $row;
}
- }
+ }*/
return $addressbooks;
}
diff --git a/apps/contacts/lib/vcard.php b/apps/contacts/lib/vcard.php
index 81519b3d051..beb291b481e 100644
--- a/apps/contacts/lib/vcard.php
+++ b/apps/contacts/lib/vcard.php
@@ -47,9 +47,6 @@ class OC_Contacts_VCard{
* ['carddata']
*/
public static function all($id){
- //$stmt = OC_DB::prepare( 'SELECT * FROM *PREFIX*contacts_cards WHERE addressbookid = ? ORDER BY fullname' );
- //$result = $stmt->execute(array($id));
-
if(is_array($id)) {
$id_sql = join(',', array_fill(0, count($id), '?'));
$prep = 'SELECT * FROM *PREFIX*contacts_cards WHERE addressbookid IN ('.$id_sql.') ORDER BY fullname';