*/
function dav_get_update_statements($from_version)
{
- $stms = array();
+ $stms = [];
if ($from_version == 1) {
$stms[] = "ALTER TABLE `dav_calendarobjects`
`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));
}
- 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,
`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`)
* @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,
`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`)
$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
}
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;
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;
-}
\ No newline at end of file
+}