summaryrefslogtreecommitdiffstats
path: root/apps/contacts/appinfo
diff options
context:
space:
mode:
authorMichael Gapczynski <mtgap@owncloud.com>2012-07-11 20:25:59 -0400
committerMichael Gapczynski <mtgap@owncloud.com>2012-07-11 20:25:59 -0400
commit4bf13adff25f012c735931c0578b1f5d0790bdbe (patch)
treea7c5451ff25e2f39936ae984ceb5b3b9eb519088 /apps/contacts/appinfo
parent88f4845ca33fd6f2988f230116e2190d15ab1866 (diff)
parent8890a4128015df0ad57101703d6c164ea54fe4ee (diff)
downloadnextcloud-server-4bf13adff25f012c735931c0578b1f5d0790bdbe.tar.gz
nextcloud-server-4bf13adff25f012c735931c0578b1f5d0790bdbe.zip
Merge branch 'master' into share_api
Conflicts: apps/contacts/lib/addressbook.php apps/files_sharing/js/share.js apps/files_sharing/sharedstorage.php
Diffstat (limited to 'apps/contacts/appinfo')
-rw-r--r--apps/contacts/appinfo/app.php1
-rw-r--r--apps/contacts/appinfo/database.xml8
-rw-r--r--apps/contacts/appinfo/migrate.php19
-rw-r--r--apps/contacts/appinfo/remote.php1
-rw-r--r--apps/contacts/appinfo/update.php25
-rw-r--r--apps/contacts/appinfo/version2
6 files changed, 47 insertions, 9 deletions
diff --git a/apps/contacts/appinfo/app.php b/apps/contacts/appinfo/app.php
index cec0f3e88cd..daf7bee1c97 100644
--- a/apps/contacts/appinfo/app.php
+++ b/apps/contacts/appinfo/app.php
@@ -5,6 +5,7 @@ OC::$CLASSPATH['OC_Contacts_VCard'] = 'apps/contacts/lib/vcard.php';
OC::$CLASSPATH['OC_Contacts_Hooks'] = 'apps/contacts/lib/hooks.php';
OC::$CLASSPATH['OC_Contacts_Share'] = 'apps/contacts/lib/share.php';
OC::$CLASSPATH['OC_Connector_Sabre_CardDAV'] = 'apps/contacts/lib/connector_sabre.php';
+OC::$CLASSPATH['Sabre_CardDAV_VCFExportPlugin'] = 'apps/contacts/lib/VCFExportPlugin.php';
OC::$CLASSPATH['OC_Search_Provider_Contacts'] = 'apps/contacts/lib/search.php';
OCP\Util::connectHook('OC_User', 'post_createUser', 'OC_Contacts_Hooks', 'createUser');
OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Contacts_Hooks', 'deleteUser');
diff --git a/apps/contacts/appinfo/database.xml b/apps/contacts/appinfo/database.xml
index 7c8268d71f5..9b269d765dc 100644
--- a/apps/contacts/appinfo/database.xml
+++ b/apps/contacts/appinfo/database.xml
@@ -62,6 +62,14 @@
<length>4</length>
</field>
+ <field>
+ <name>active</name>
+ <type>integer</type>
+ <default>1</default>
+ <notnull>true</notnull>
+ <length>4</length>
+ </field>
+
</declaration>
</table>
diff --git a/apps/contacts/appinfo/migrate.php b/apps/contacts/appinfo/migrate.php
index 1400cdf79d4..02026c5979c 100644
--- a/apps/contacts/appinfo/migrate.php
+++ b/apps/contacts/appinfo/migrate.php
@@ -30,7 +30,7 @@ class OC_Migration_Provider_Contacts extends OC_Migration_Provider{
}
- // Import function for bookmarks
+ // Import function for contacts
function import( ){
switch( $this->appinfo->version ){
default:
@@ -39,20 +39,23 @@ class OC_Migration_Provider_Contacts extends OC_Migration_Provider{
$results = $query->execute( array( $this->olduid ) );
$idmap = array();
while( $row = $results->fetchRow() ){
- // Import each bookmark, saving its id into the map
- $query = OCP\DB::prepare( "INSERT INTO *PREFIX*contacts_addressbooks (`userid`, `displayname`, `uri`, `description`, `ctag`) VALUES (?, ?, ?, ?, ?)" );
- $query->execute( array( $this->uid, $row['displayname'], $row['uri'], $row['description'], $row['ctag'] ) );
+ // Import each addressbook
+ $addressbookquery = OCP\DB::prepare( "INSERT INTO *PREFIX*contacts_addressbooks (`userid`, `displayname`, `uri`, `description`, `ctag`) VALUES (?, ?, ?, ?, ?)" );
+ $addressbookquery->execute( array( $this->uid, $row['displayname'], $row['uri'], $row['description'], $row['ctag'] ) );
// Map the id
- $idmap[$row['id']] = OCP\DB::insertid();
+ $idmap[$row['id']] = OCP\DB::insertid('*PREFIX*contacts_addressbooks');
+ // Make the addressbook active
+ OC_Contacts_Addressbook::setActive($idmap[$row['id']], true);
}
// Now tags
foreach($idmap as $oldid => $newid){
+
$query = $this->content->prepare( "SELECT * FROM contacts_cards WHERE addressbookid LIKE ?" );
$results = $query->execute( array( $oldid ) );
while( $row = $results->fetchRow() ){
- // Import the tags for this bookmark, using the new bookmark id
- $query = OCP\DB::prepare( "INSERT INTO *PREFIX*contacts_cards (`addressbookid`, `fullname`, `carddata`, `uri`, `lastmodified`) VALUES (?, ?, ?, ?, ?)" );
- $query->execute( array( $newid, $row['fullname'], $row['carddata'], $row['uri'], $row['lastmodified'] ) );
+ // Import the contacts
+ $contactquery = OCP\DB::prepare( "INSERT INTO *PREFIX*contacts_cards (`addressbookid`, `fullname`, `carddata`, `uri`, `lastmodified`) VALUES (?, ?, ?, ?, ?)" );
+ $contactquery->execute( array( $newid, $row['fullname'], $row['carddata'], $row['uri'], $row['lastmodified'] ) );
}
}
// All done!
diff --git a/apps/contacts/appinfo/remote.php b/apps/contacts/appinfo/remote.php
index 5add3bc6889..09c2de17990 100644
--- a/apps/contacts/appinfo/remote.php
+++ b/apps/contacts/appinfo/remote.php
@@ -49,6 +49,7 @@ $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'));
$server->addPlugin(new Sabre_CardDAV_Plugin());
$server->addPlugin(new Sabre_DAVACL_Plugin());
$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload
+$server->addPlugin(new Sabre_CardDAV_VCFExportPlugin());
// And off we go!
$server->exec();
diff --git a/apps/contacts/appinfo/update.php b/apps/contacts/appinfo/update.php
new file mode 100644
index 00000000000..873899f578b
--- /dev/null
+++ b/apps/contacts/appinfo/update.php
@@ -0,0 +1,25 @@
+<?php
+
+$installedVersion=OCP\Config::getAppValue('contacts', 'installed_version');
+if (version_compare($installedVersion, '0.2.90', '<')) {
+ // First set all address books in-active.
+ $stmt = OCP\DB::prepare( 'UPDATE *PREFIX*contacts_addressbooks SET active=0' );
+ $result = $stmt->execute(array());
+
+ // Then get all the active address books.
+ $stmt = OCP\DB::prepare( 'SELECT userid,configvalue FROM *PREFIX*preferences WHERE appid=\'contacts\' AND configkey=\'openaddressbooks\'' );
+ $result = $stmt->execute(array());
+
+ // Prepare statement for updating the new 'active' field.
+ $stmt = OCP\DB::prepare( 'UPDATE *PREFIX*contacts_addressbooks SET active=? WHERE id=? AND userid=?' );
+ while( $row = $result->fetchRow()) {
+ $ids = explode(';', $row['configvalue']);
+ foreach($ids as $id) {
+ $r = $stmt->execute(array(1, $id, $row['userid']));
+ }
+ }
+
+ // Remove the old preferences.
+ $stmt = OCP\DB::prepare( 'DELETE FROM *PREFIX*preferences WHERE appid=\'contacts\' AND configkey=\'openaddressbooks\'' );
+ $result = $stmt->execute(array());
+}
diff --git a/apps/contacts/appinfo/version b/apps/contacts/appinfo/version
index 2f4536184bc..7dff5b89211 100644
--- a/apps/contacts/appinfo/version
+++ b/apps/contacts/appinfo/version
@@ -1 +1 @@
-0.2 \ No newline at end of file
+0.2.1 \ No newline at end of file