X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=dav%2Ffriendica%2Fdatabase-init.inc.php;h=d8ef96ebff3173950d5d3fec365f2f144c2cbbcf;hb=8f7503d573ad90e8150b1f288b5e9c09f9479c2a;hp=5978fd01e665bf8a2c7d92c5265792dfcd2298ef;hpb=87d314170bf0e89c8f16ec0d723744b3b09c454a;p=friendica-addons.git diff --git a/dav/friendica/database-init.inc.php b/dav/friendica/database-init.inc.php index 5978fd01..d8ef96eb 100644 --- a/dav/friendica/database-init.inc.php +++ b/dav/friendica/database-init.inc.php @@ -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;