]> git.mxchange.org Git - friendica-addons.git/blobdiff - dav/friendica/dav_carddav_backend_virtual_friendica.inc.php
Merge pull request #487 from MrPetovan/task/switch-to-array-new-style
[friendica-addons.git] / dav / friendica / dav_carddav_backend_virtual_friendica.inc.php
index 3d7e09745574f55bd246dd5210cc504f4b8e65a8..8d51022d267394a95d2064bc0a891d31c3ca006d 100644 (file)
@@ -46,13 +46,13 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
        {
                $uid = dav_compat_principal2uid($principalUri);
 
-               $addressBooks = array();
+               $addressBooks = [];
 
                $books = q("SELECT id, ctag FROM %s%saddressbooks WHERE `namespace` = %d AND `namespace_id` = %d AND `uri` = '%s'",
                        CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CARDDAV_NAMESPACE_PRIVATE, IntVal($uid), dbesc(CARDDAV_FRIENDICA_CONTACT));
                $ctag = $books[0]["ctag"];
 
-               $addressBooks[] = array(
+               $addressBooks[] = [
                        'id'                                                                => $books[0]["id"],
                        'uri'                                                               => "friendica",
                        'principaluri'                                                      => $principalUri,
@@ -61,7 +61,7 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
                        '{http://calendarserver.org/ns/}getctag'                            => $ctag,
                        '{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}supported-address-data'  =>
                        new Sabre_CardDAV_Property_SupportedAddressData(),
-               );
+               ];
 
                return $addressBooks;
 
@@ -76,7 +76,7 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
        {
                $name        = explode(" ", $contact["name"]);
                $first_name  = $last_name = "";
-               $middle_name = array();
+               $middle_name = [];
                $num         = count($name);
                for ($i = 0; $i < $num && $first_name == ""; $i++) if ($name[$i] != "") {
                        $first_name = $name[$i];
@@ -114,29 +114,29 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
                }
 
                $vcard = vcard_source_compile($vcarddata);
-               return array(
+               return [
                        "id"           => $contact["id"],
                        "carddata"     => $vcard,
                        "uri"          => $contact["id"] . ".vcf",
                        "lastmodified" => wdcal_mySql2PhpTime($vcarddata->last_update),
                        "etag"         => md5($vcard),
                        "size"         => strlen($vcard),
-               );
+               ];
 
        }
 
        /**
         * @static
         * @param int $addressbookId
+        * @param bool $force
         * @throws Sabre_DAV_Exception_NotFound
         */
-       static protected function createCache_internal($addressbookId) {
+       static protected function createCache_internal($addressbookId, $force = false) {
                //$notin    = (count($exclude_ids) > 0 ? " AND id NOT IN (" . implode(", ", $exclude_ids) . ") " : "");
                $addressbook = q("SELECT * FROM %s%saddressbooks WHERE `id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($addressbookId));
                if (count($addressbook) != 1 || $addressbook[0]["namespace"] != CARDDAV_NAMESPACE_PRIVATE) throw new Sabre_DAV_Exception_NotFound();
                $contacts = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY `name` ASC", $addressbook[0]["namespace_id"]);
 
-               $retdata = array();
                foreach ($contacts as $contact) {
                        $x            = static::dav_contactarr2vcardsource($contact);
                        q("INSERT INTO %s%saddressbookobjects (`addressbook_id`, `contact`, `carddata`, `uri`, `lastmodified`, `etag`, `size`) VALUES (%d, %d, '%s', '%s', NOW(), '%s', %d)",
@@ -146,6 +146,27 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
        }
 
 
+       /**
+        * @static
+        * @param int $addressbookId
+        * @param int $contactId
+        * @param bool $force
+        * @throws Sabre_DAV_Exception_NotFound
+        */
+       static protected function createCardCache($addressbookId, $contactId, $force = false)
+       {
+               $addressbook = q("SELECT * FROM %s%saddressbooks WHERE `id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($addressbookId));
+               if (count($addressbook) != 1 || $addressbook[0]["namespace"] != CARDDAV_NAMESPACE_PRIVATE) throw new Sabre_DAV_Exception_NotFound();
+
+               $contacts = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 AND `id` = %d ORDER BY `name` ASC",
+                       $addressbook[0]["namespace_id"], IntVal($contactId));
+               $contact = $contacts[0];
+
+               $x            = static::dav_contactarr2vcardsource($contact);
+               q("INSERT INTO %s%saddressbookobjects (`addressbook_id`, `contact`, `carddata`, `uri`, `lastmodified`, `etag`, `size`) VALUES (%d, %d, '%s', '%s', NOW(), '%s', %d)",
+                       CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $addressbookId, $contact["id"], dbesc($x["carddata"]), dbesc($x["uri"]), dbesc($x["etag"]), $x["size"]
+               );
+       }
        /**
         * Updates a card.
         *
@@ -202,4 +223,5 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
 
                return true;
        }
+
 }