}
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`";
-
$stms[] = "CREATE TABLE IF NOT EXISTS `dav_addressbooks` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`namespace` mediumint(9) NOT NULL,
`namespace_id` int(11) unsigned NOT NULL,
`displayname` varchar(200) NOT NULL,
`description` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
+ `needs_rebuild` TINYINT NOT NULL DEFAULT '1',
`uri` varchar(50) NOT NULL,
`ctag` int(11) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
`carddata` mediumtext CHARACTER SET utf8 COLLATE utf8_unicode_ci,
`uri` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`lastmodified` timestamp NULL DEFAULT NULL,
- `manually_edited` tinyint(4) NOT NULL DEFAULT '0',
+ `needs_rebuild` tinyint(4) NOT NULL DEFAULT '0',
`manually_deleted` tinyint(4) NOT NULL DEFAULT '0',
`etag` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`size` int(10) unsigned NOT NULL,
`namespace_id` int(11) unsigned NOT NULL,
`displayname` varchar(200) NOT NULL,
`description` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
+ `needs_rebuild` TINYINT NOT NULL DEFAULT '1',
`uri` varchar(50) NOT NULL,
`ctag` int(11) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
`carddata` mediumtext CHARACTER SET utf8 COLLATE utf8_unicode_ci,
`uri` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`lastmodified` timestamp NULL DEFAULT NULL,
- `manually_edited` tinyint(4) NOT NULL DEFAULT '0',
+ `needs_rebuild` tinyint(4) NOT NULL DEFAULT '0',
`manually_deleted` tinyint(4) NOT NULL DEFAULT '0',
`etag` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`size` int(10) unsigned NOT NULL,
$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
}
$stms = dav_get_create_statements();
$errors = array();
- global $db;
- foreach ($stms as $st) {
- $db->q($st);
- if ($db->error) $errors[] = $db->error;
+ foreach ($stms as $st) { // @TODO Friendica-dependent
+ dba::e($st);
+ if (dba::errorMessage()) {
+ $errors[] = dba::errorMessage();
+ }
}
return $errors;
function dav_upgrade_tables()
{
$ver = dav_check_tables();
- if (!in_array($ver, array(1))) return array("Unknown error");
-
+ if (!in_array($ver, array(1, 2))) return array("Unknown error");
$stms = dav_get_update_statements($ver);
+
$errors = array();
- global $db;
- foreach ($stms as $st) {
- $db->q($st);
- if ($db->error) $errors[] = $db->error;
+ foreach ($stms as $st) { // @TODO Friendica-dependent
+ dba::e($st);
+ if (dba::errorMessage()) {
+ $errors[] = dba::errorMessage();
+ }
}
return $errors;
-}
\ No newline at end of file
+}