]> git.mxchange.org Git - friendica-addons.git/blobdiff - dav/friendica/database-init.inc.php
Merge pull request #556 from tobiasd/20180321-nl
[friendica-addons.git] / dav / friendica / database-init.inc.php
index 5978fd01e665bf8a2c7d92c5265792dfcd2298ef..d8ef96ebff3173950d5d3fec365f2f144c2cbbcf 100644 (file)
@@ -7,7 +7,7 @@
  */
 function dav_get_update_statements($from_version)
 {
-       $stms = array();
+       $stms = [];
 
        if ($from_version == 1) {
                $stms[] = "ALTER TABLE `dav_calendarobjects`
@@ -30,7 +30,7 @@ function dav_get_update_statements($from_version)
                        `dav_locks` ,
                        `dav_notifications` ;";
 
-               $stms = array_merge($stms, dav_get_create_statements(array("dav_calendarobjects")));
+               $stms = array_merge($stms, dav_get_create_statements(["dav_calendarobjects"]));
 
                $user_ids = q("SELECT DISTINCT `uid` FROM %s%scalendars", CALDAV_SQL_DB, CALDAV_SQL_PREFIX);
                foreach ($user_ids as $user) $stms = array_merge($stms, wdcal_create_std_calendars_get_statements($user["uid"], false));
@@ -43,11 +43,7 @@ function dav_get_update_statements($from_version)
 
        }
 
-       if (in_array($from_version, array(1, 2))) {
-               $stms[] = "DROP TABLE `dav_addressbooks_phone`";
-               $stms[] = "DROP TABLE `dav_addressbooks_community`";
-               $stms[] = "DROP TABLE `dav_cards`";
-
+       if (in_array($from_version, [1, 2])) {
                $stms[] = "CREATE TABLE IF NOT EXISTS `dav_addressbooks` (
   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
   `namespace` mediumint(9) NOT NULL,
@@ -84,9 +80,9 @@ function dav_get_update_statements($from_version)
  * @param array $except
  * @return array
  */
-function dav_get_create_statements($except = array())
+function dav_get_create_statements($except = [])
 {
-       $arr = array();
+       $arr = [];
 
        if (!in_array("dav_caldav_log", $except)) $arr[] = "CREATE TABLE IF NOT EXISTS `dav_caldav_log` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -228,8 +224,12 @@ function dav_check_tables()
        $x = q("DESCRIBE %s%scalendars", CALDAV_SQL_DB, CALDAV_SQL_PREFIX);
        if (!$x) return -1;
        if (count($x) == 9) return 1; // Version 0.1
-       // @TODO Detect Version 0.2
+
+       $x2 = q("show tables like '%s%saddressbooks'", CALDAV_SQL_DB, CALDAV_SQL_PREFIX);
+       if (!$x2 || count($x2) == 0) return 2; // Version 0.2
+
        if (count($x) == 12) return 0; // Correct
+
        return -2; // Unknown version
 }
 
@@ -240,12 +240,13 @@ function dav_check_tables()
 function dav_create_tables()
 {
        $stms   = dav_get_create_statements();
-       $errors = array();
+       $errors = [];
 
-       global $db;
        foreach ($stms as $st) { // @TODO Friendica-dependent
-               $db->q($st);
-               if ($db->error) $errors[] = $db->error;
+               dba::e($st);
+               if (dba::errorMessage()) {
+                       $errors[] = dba::errorMessage();
+               }
        }
 
        return $errors;
@@ -257,15 +258,16 @@ function dav_create_tables()
 function dav_upgrade_tables()
 {
        $ver = dav_check_tables();
-       if (!in_array($ver, array(1))) return array("Unknown error");
-
+       if (!in_array($ver, [1, 2])) return ["Unknown error"];
        $stms   = dav_get_update_statements($ver);
-       $errors = array();
 
-       global $db;
+       $errors = [];
+
        foreach ($stms as $st) { // @TODO Friendica-dependent
-               $db->q($st);
-               if ($db->error) $errors[] = $db->error;
+               dba::e($st);
+               if (dba::errorMessage()) {
+                       $errors[] = dba::errorMessage();
+               }
        }
 
        return $errors;