diff --git a/Zotlabs/Lib/DB_Upgrade.php b/Zotlabs/Lib/DB_Upgrade.php
index 8f0488f6f..4038a2d53 100644
--- a/Zotlabs/Lib/DB_Upgrade.php
+++ b/Zotlabs/Lib/DB_Upgrade.php
@@ -10,22 +10,12 @@ class DB_Upgrade {
function __construct($db_revision) {
- $platform_name = System::get_platform_name();
+ $this->config_name = 'db_version';
+ $this->func_prefix = '_';
- $update_file = 'install/' . $platform_name . '/update.php';
- if(! file_exists($update_file)) {
- $update_file = 'install/update.php';
- $this->config_name = 'db_version';
- $this->func_prefix = 'update_r';
- }
- else {
- $this->config_name = $platform_name . '_db_version';
- $this->func_prefix = $platform_name . '_update_';
- }
-
- $build = get_config('system', $this->config_name, 0);
+ $build = get_config('system', 'db_version', 0);
if(! intval($build))
- $build = set_config('system', $this->config_name, $db_revision);
+ $build = set_config('system', 'db_version', $db_revision);
if($build == $db_revision) {
// Nothing to be done.
@@ -40,82 +30,78 @@ class DB_Upgrade {
$current = intval($db_revision);
- if(($stored < $current) && file_exists($update_file)) {
+ if($stored < $current) {
- Config::Load('database');
+ // The last update we performed was $stored.
+ // Start at $stored + 1 and continue until we have completed $current
- // We're reporting a different version than what is currently installed.
- // Run any existing update scripts to bring the database up to current.
-
- require_once($update_file);
-
- // make sure that boot.php and update.php are the same release, we might be
- // updating from git right this very second and the correct version of the update.php
- // file may not be here yet. This can happen on a very busy site.
-
- if($db_revision == UPDATE_VERSION) {
- for($x = $stored; $x < $current; $x ++) {
- $func = $this->func_prefix . $x;
- if(function_exists($func)) {
- // There could be a lot of processes running or about to run.
- // We want exactly one process to run the update command.
- // So store the fact that we're taking responsibility
- // after first checking to see if somebody else already has.
-
- // If the update fails or times-out completely you may need to
- // delete the config entry to try again.
-
- if(get_config('database', $func))
- break;
- set_config('database',$func, '1');
- // call the specific update
-
- $retval = $func();
- if($retval) {
-
- // Prevent sending hundreds of thousands of emails by creating
- // a lockfile.
-
- $lockfile = 'store/[data]/mailsent';
-
- if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 86400)))
- return;
- @unlink($lockfile);
- //send the administrator an e-mail
- file_put_contents($lockfile, $x);
-
- $r = q("select account_language from account where account_email = '%s' limit 1",
- dbesc(\App::$config['system']['admin_email'])
- );
- push_lang(($r) ? $r[0]['account_language'] : 'en');
-
- z_mail(
- [
- 'toEmail' => \App::$config['system']['admin_email'],
- 'messageSubject' => sprintf( t('Update Error at %s'), z_root()),
- 'textVersion' => replace_macros(get_intltext_template('update_fail_eml.tpl'),
- [
- '$sitename' => \App::$config['system']['sitename'],
- '$siteurl' => z_root(),
- '$update' => $x,
- '$error' => sprintf( t('Update %s failed. See error logs.'), $x)
- ]
- )
- ]
- );
-
- //try the logger
- logger('CRITICAL: Update Failed: ' . $x);
- pop_lang();
- }
- else {
- set_config('database',$func, 'success');
- }
- }
+ for($x = $stored + 1; $x <= $current; $x ++) {
+ $s = '_' . $x;
+ $cls = '\\Zotlabs\Update\\' . $s ;
+ if(! class_exists($cls)) {
+ return;
+ }
+
+ // There could be a lot of processes running or about to run.
+ // We want exactly one process to run the update command.
+ // So store the fact that we're taking responsibility
+ // after first checking to see if somebody else already has.
+
+ // If the update fails or times-out completely you may need to
+ // delete the config entry to try again.
+
+ Config::Load('database');
+
+ if(get_config('database', $s))
+ break;
+ set_config('database',$s, '1');
+
+
+ $c = new $cls();
+ $retval = $c->run();
+
+ if($retval != UPDATE_SUCCESS) {
+
+ // Prevent sending hundreds of thousands of emails by creating
+ // a lockfile.
+
+ $lockfile = 'store/[data]/mailsent';
+
+ if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 86400)))
+ return;
+ @unlink($lockfile);
+ //send the administrator an e-mail
+ file_put_contents($lockfile, $x);
+
+ $r = q("select account_language from account where account_email = '%s' limit 1",
+ dbesc(\App::$config['system']['admin_email'])
+ );
+ push_lang(($r) ? $r[0]['account_language'] : 'en');
+ z_mail(
+ [
+ 'toEmail' => \App::$config['system']['admin_email'],
+ 'messageSubject' => sprintf( t('Update Error at %s'), z_root()),
+ 'textVersion' => replace_macros(get_intltext_template('update_fail_eml.tpl'),
+ [
+ '$sitename' => \App::$config['system']['sitename'],
+ '$siteurl' => z_root(),
+ '$update' => $x,
+ '$error' => sprintf( t('Update %s failed. See error logs.'), $x)
+ ]
+ )
+ ]
+ );
+
+ //try the logger
+ logger('CRITICAL: Update Failed: ' . $x);
+ pop_lang();
+ }
+ else {
+ set_config('database',$s, 'success');
}
- set_config('system', $this->config_name, $db_revision);
}
}
+ set_config('system', 'db_version', $db_revision);
}
}
}
\ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Dbsync.php b/Zotlabs/Module/Admin/Dbsync.php
index cff8a2484..469af2aa5 100644
--- a/Zotlabs/Module/Admin/Dbsync.php
+++ b/Zotlabs/Module/Admin/Dbsync.php
@@ -7,36 +7,38 @@ namespace Zotlabs\Module\Admin;
class Dbsync {
-
-
function get() {
$o = '';
if(argc() > 3 && intval(argv(3)) && argv(2) === 'mark') {
- set_config('database', 'update_r' . intval(argv(3)), 'success');
- if(intval(get_config('system','db_version')) <= intval(argv(3)))
- set_config('system','db_version',intval(argv(3)) + 1);
+ // remove the old style config if it exists
+ del_config('database', 'update_r' . intval(argv(3)));
+ set_config('database', '_' . intval(argv(3)), 'success');
+ if(intval(get_config('system','db_version')) < intval(argv(3)))
+ set_config('system','db_version',intval(argv(3)));
info( t('Update has been marked successful') . EOL);
goaway(z_root() . '/admin/dbsync');
}
if(argc() > 2 && intval(argv(2))) {
- require_once('install/update.php');
- $func = 'update_r' . intval(argv(2));
- if(function_exists($func)) {
- $retval = $func();
+ $x = intval(argv(2));
+ $s = '_' . $x;
+ $cls = '\\Zotlabs\Update\\' . $s ;
+ if(class_exists($cls)) {
+ $c = new $cls();
+ $retval = $c->run();
if($retval === UPDATE_FAILED) {
- $o .= sprintf( t('Executing %s failed. Check system logs.'), $func);
+ $o .= sprintf( t('Executing %s failed. Check system logs.'), $s);
}
elseif($retval === UPDATE_SUCCESS) {
- $o .= sprintf( t('Update %s was successfully applied.'), $func);
- set_config('database',$func, 'success');
+ $o .= sprintf( t('Update %s was successfully applied.'), $s);
+ set_config('database',$s, 'success');
}
else
- $o .= sprintf( t('Update %s did not return a status. Unknown if it succeeded.'), $func);
+ $o .= sprintf( t('Update %s did not return a status. Unknown if it succeeded.'), $s);
}
else
- $o .= sprintf( t('Update function %s could not be found.'), $func);
+ $o .= sprintf( t('Update function %s could not be found.'), $s);
return $o;
}
@@ -45,23 +47,25 @@ class Dbsync {
$r = q("select * from config where cat = 'database' ");
if(count($r)) {
foreach($r as $rr) {
- $upd = intval(substr($rr['k'],8));
+ $upd = intval(substr($rr['k'],-4));
if($rr['v'] === 'success')
continue;
$failed[] = $upd;
}
}
- if(! count($failed))
- return '
' . t('No failed updates.') . '
';
-
- $o = replace_macros(get_markup_template('failed_updates.tpl'),array(
- '$base' => z_root(),
- '$banner' => t('Failed Updates'),
- '$desc' => '',
- '$mark' => t('Mark success (if update was manually applied)'),
- '$apply' => t('Attempt to execute this update step automatically'),
- '$failed' => $failed
+ if(count($failed)) {
+ $o = replace_macros(get_markup_template('failed_updates.tpl'),array(
+ '$base' => z_root(),
+ '$banner' => t('Failed Updates'),
+ '$desc' => '',
+ '$mark' => t('Mark success (if update was manually applied)'),
+ '$apply' => t('Attempt to execute this update step automatically'),
+ '$failed' => $failed
));
+ }
+ else {
+ return '' . t('No failed updates.') . '
';
+ }
return $o;
}
diff --git a/Zotlabs/Update/_1000.php b/Zotlabs/Update/_1000.php
new file mode 100644
index 000000000..02787db38
--- /dev/null
+++ b/Zotlabs/Update/_1000.php
@@ -0,0 +1,15 @@
+ 0 ");
+
+ if($r1 && $r2 && $r3)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+}
\ No newline at end of file
diff --git a/Zotlabs/Update/_1137.php b/Zotlabs/Update/_1137.php
new file mode 100644
index 000000000..ab11fe3db
--- /dev/null
+++ b/Zotlabs/Update/_1137.php
@@ -0,0 +1,16 @@
+ 0 ");
-
- if($r1 && $r2 && $r3)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1137() {
- $r1 = q("alter table site add site_valid smallint not null default '0' ");
- $r2 = q("create index site_valid on site ( site_valid ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-
-function update_r1138() {
- $r1 = q("alter table outq add outq_priority smallint not null default '0' ");
- $r2 = q("create index outq_priority on outq ( outq_priority ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1139() {
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE channel ADD channel_lastpost timestamp NOT NULL DEFAULT '0001-01-01 00:00:00'");
- $r2 = q("create index channel_lastpost on channel ( channel_lastpost ) ");
- $r = $r1 && $r2;
- }
- else
- $r = q("ALTER TABLE `channel` ADD `channel_lastpost` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `channel_dirdate` , ADD INDEX ( `channel_lastpost` ) ");
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1140() {
- $r = q("select * from clients where true");
- $x = false;
- if($r) {
- foreach($r as $rr) {
- $m = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ",
- dbesc($rr['client_id']),
- intval($rr['uid']),
- dbesc('all')
- );
- if(! $m)
- $x = true;
- }
- }
- if($x)
- return UPDATE_FAILED;
- return UPDATE_SUCCESS;
-}
-
-
-function update_r1141() {
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE menu ADD menu_created timestamp NOT NULL DEFAULT '0001-01-01 00:00:00', ADD menu_edited timestamp NOT NULL DEFAULT '0001-01-01 00:00:00'");
- $r2 = q("create index menu_created on menu ( menu_created ) ");
- $r3 = q("create index menu_edited on menu ( menu_edited ) ");
- $r = $r1 && $r2;
- }
- else
- $r = q("ALTER TABLE menu ADD menu_created DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', ADD menu_edited DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', ADD INDEX ( menu_created ), ADD INDEX ( menu_edited ) ");
-
- $t = datetime_convert();
- q("update menu set menu_created = '%s', menu_edited = '%s' where true",
- dbesc($t),
- dbesc($t)
- );
-
-
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1142() {
-
- $r1 = q("alter table site add site_dead smallint not null default '0' ");
- $r2 = q("create index site_dead on site ( site_dead ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-
-}
-
-function update_r1143() {
-
- $r1 = q("ALTER TABLE abook ADD abook_incl TEXT NOT NULL DEFAULT ''");
- $r2 = q("ALTER TABLE abook ADD abook_excl TEXT NOT NULL DEFAULT '' ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1144() {
- $r = q("select flags, id from attach where flags != 0");
- if($r) {
- foreach($r as $rr) {
- if($rr['flags'] & 1) {
- q("update attach set is_dir = 1 where id = %d",
- intval($rr['id'])
- );
- }
- if($rr['flags'] & 2) {
- q("update attach set os_storage = 1 where id = %d",
- intval($rr['id'])
- );
- }
- }
- }
-
- return UPDATE_SUCCESS;
-}
-
-function update_r1145() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE event ADD event_status char(255) NOT NULL DEFAULT '',
- ADD event_status_date timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
- ADD event_percent SMALLINT NOT NULL DEFAULT '0',
- ADD event_repeat TEXT NOT NULL DEFAULT '' ");
- $r2 = q("create index event_status on event ( event_status )");
- $r = $r1 && $r2;
- }
- else {
- $r = q("ALTER TABLE `event` ADD `event_status` CHAR( 255 ) NOT NULL DEFAULT '',
- ADD `event_status_date` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
- ADD `event_percent` SMALLINT NOT NULL DEFAULT '0',
- ADD `event_repeat` TEXT NOT NULL DEFAULT '',
- ADD INDEX ( `event_status` ) ");
- }
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1146() {
-
- $r1 = q("alter table event add event_sequence smallint not null default '0' ");
- $r2 = q("create index event_sequence on event ( event_sequence ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1147() {
-
- $r1 = q("alter table event add event_priority smallint not null default '0' ");
- $r2 = q("create index event_priority on event ( event_priority ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1148() {
- $r1 = q("alter table likes add i_mid char(255) not null default '' ");
- $r2 = q("create index i_mid on likes ( i_mid ) ");
-
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1149() {
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE obj ADD obj_term CHAR( 255 ) NOT NULL DEFAULT '',
- ADD obj_url CHAR( 255 ) NOT NULL DEFAULT '',
- ADD obj_imgurl CHAR( 255 ) NOT NULL DEFAULT '',
- ADD obj_created timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
- ADD obj_edited timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- }
- else {
- $r1 = q("ALTER TABLE obj ADD obj_term CHAR( 255 ) NOT NULL DEFAULT '',
- ADD obj_url CHAR( 255 ) NOT NULL DEFAULT '',
- ADD obj_imgurl CHAR( 255 ) NOT NULL DEFAULT '',
- ADD obj_created DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
- ADD obj_edited DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- }
-
- $r2 = q("create index obj_term on obj ( obj_term ) ");
- $r3 = q("create index obj_url on obj ( obj_url ) ");
- $r4 = q("create index obj_imgurl on obj ( obj_imgurl ) ");
- $r5 = q("create index obj_created on obj ( obj_created ) ");
- $r6 = q("create index obj_edited on obj ( obj_edited ) ");
- $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6;
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1150() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE app ADD app_created timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
- ADD app_edited timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- }
- else {
- $r1 = q("ALTER TABLE app ADD app_created DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
- ADD app_edited DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- }
-
- $r2 = q("create index app_created on app ( app_created ) ");
- $r3 = q("create index app_edited on app ( app_edited ) ");
-
- $r = $r1 && $r2 && $r3;
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1151() {
-
- $r3 = q("select likes.*, item.mid from likes left join item on likes.iid = item.id");
- if($r3) {
- foreach($r3 as $rr) {
- q("update likes set i_mid = '%s' where id = $d",
- dbesc($rr['mid']),
- intval($rr['id'])
- );
- }
- }
-
-
- return UPDATE_SUCCESS;
-
-}
-
-function update_r1152() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
-
- $r1 = q("CREATE TABLE IF NOT EXISTS \"dreport\" (
- \"dreport_id\" serial NOT NULL,
- \"dreport_channel\" int(11) NOT NULL DEFAULT '0',
- \"dreport_mid\" char(255) NOT NULL DEFAULT '',
- \"dreport_site\" char(255) NOT NULL DEFAULT '',
- \"dreport_recip\" char(255) NOT NULL DEFAULT '',
- \"dreport_result\" char(255) NOT NULL DEFAULT '',
- \"dreport_time\" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
- \"dreport_xchan\" char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (\"dreport_id\") ");
-
- $r2 = q("create index \"dreport_mid\" on dreport (\"dreport_mid\") ");
- $r3 = q("create index \"dreport_site\" on dreport (\"dreport_site\") ");
- $r4 = q("create index \"dreport_time\" on dreport (\"dreport_time\") ");
- $r5 = q("create index \"dreport_xchan\" on dreport (\"dreport_xchan\") ");
- $r6 = q("create index \"dreport_channel\" on dreport (\"dreport_channel\") ");
-
- $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6;
-
- }
- else {
- $r = q("CREATE TABLE IF NOT EXISTS `dreport` (
- `dreport_id` int(11) NOT NULL AUTO_INCREMENT,
- `dreport_channel` int(11) NOT NULL DEFAULT '0',
- `dreport_mid` char(255) NOT NULL DEFAULT '',
- `dreport_site` char(255) NOT NULL DEFAULT '',
- `dreport_recip` char(255) NOT NULL DEFAULT '',
- `dreport_result` char(255) NOT NULL DEFAULT '',
- `dreport_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `dreport_xchan` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`dreport_id`),
- KEY `dreport_mid` (`dreport_mid`),
- KEY `dreport_site` (`dreport_site`),
- KEY `dreport_time` (`dreport_time`),
- KEY `dreport_xchan` (`dreport_xchan`),
- KEY `dreport_channel` (`dreport_channel`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
-
- }
-
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1153() {
-
- $r1 = q("ALTER TABLE dreport ADD dreport_queue CHAR( 255 ) NOT NULL DEFAULT '' ");
- $r2 = q("create index dreport_queue on dreport ( dreport_queue) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-
-}
-
-function update_r1154() {
-
- $r = q("ALTER TABLE event ADD event_vdata text NOT NULL ");
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-
-function update_r1155() {
-
- $r1 = q("alter table site add site_type smallint not null default '0' ");
- $r2 = q("create index site_type on site ( site_type ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-
-function update_r1156() {
- $r1 = q("ALTER TABLE mail ADD conv_guid CHAR( 255 ) NOT NULL DEFAULT '' ");
- $r2 = q("create index conv_guid on mail ( conv_guid ) ");
-
- $r3 = q("select mail.id, mail.convid, conv.guid from mail left join conv on mail.convid = conv.id where true");
- if($r3) {
- foreach($r3 as $rr) {
- if($rr['convid']) {
- q("update mail set conv_guid = '%s' where id = %d",
- dbesc($rr['guid']),
- intval($rr['id'])
- );
- }
- }
- }
-
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1157() {
- $r1 = q("alter table site add site_project char(255) not null default '' ");
- $r2 = q("create index site_project on site ( site_project ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-
-function update_r1158() {
- $r = q("select attach.id, attach.data, channel_address from attach left join channel on attach.uid = channel_id where os_storage = 1 and not attach.data like '%%store%%' ");
- if($r) {
- foreach($r as $rr) {
- $has_slash = ((substr($rr['data'],0,1) === '/') ? true : false);
- q("update attach set data = '%s' where id = %d",
- dbesc('store/' . $rr['channel_address']. (($has_slash) ? '' : '/' . $rr['data'])),
- dbesc($rr['id'])
- );
- }
- }
- return UPDATE_SUCCESS;
-}
-
-
-function update_r1159() {
- $r = q("select attach.id, attach.data, attach.hash, channel_address from attach left join channel on attach.uid = channel_id where os_storage = 1 ");
- if($r) {
- foreach($r as $rr) {
- $x = dbunescbin($rr['data']);
- $has_slash = (($x === 'store/' . $rr['channel_address'] . '/') ? true : false);
- if(($x === 'store/' . $rr['channel_address']) || ($has_slash)) {
- q("update attach set data = '%s' where id = %d",
- dbesc('store/' . $rr['channel_address']. (($has_slash) ? '' : '/' . $rr['hash'])),
- dbesc($rr['id'])
- );
- }
- }
- }
- return UPDATE_SUCCESS;
-}
-
-
-function update_r1160() {
- $r = q("alter table abook add abook_instance text not null default '' ");
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1161() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE TABLE \"iconfig\" (
- \"id\" serial NOT NULL,
- \"iid\" bigint NOT NULL DEFAULT '0',
- \"cat\" text NOT NULL DEFAULT '',
- \"k\" text NOT NULL DEFAULT '',
- \"v\" text NOT NULL DEFAULT '',
- PRIMARY_KEY(\"id\")
-) ");
-$r2 = q("create index \"iconfig_iid\" on iconfig (\"iid\") ");;
-$r3 = q("create index \"iconfig_cat\" on iconfig (\"cat\") ");
-$r4 = q("create index \"iconfig_k\" on iconfig (\"k\") ");
- $r = $r1 && $r2 && $r3 && $r4;
- }
- else {
- $r = q("CREATE TABLE IF NOT EXISTS `iconfig` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `iid` int(11) NOT NULL DEFAULT '0',
- `cat` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
- `v` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `iid` (`iid`),
- KEY `cat` (`cat`),
- KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
-
- }
-
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1162() {
- $r1 = q("alter table iconfig add sharing int not null default '0' ");
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES)
- $r2 = q("create index \"iconfig_sharing\" on iconfig (\"sharing\") ");
- else
- $r2 = q("alter table iconfig add index ( sharing ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1163() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("alter table channel add channel_moved text not null default '' ");
- $r2 = q("create index \"channel_channel_moved\" on channel (\"channel_moved\") ");
- }
- else {
- $r1 = q("alter table channel add channel_moved char(255) not null default '' ");
- $r2 = q("alter table channel add index ( channel_moved ) ");
- }
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1164() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE TABLE \"abconfig\" (
- \"id\" serial NOT NULL,
- \"chan\" text NOT NULL,
- \"xchan\" text NOT NULL,
- \"cat\" text NOT NULL,
- \"k\" text NOT NULL,
- \"v\" text NOT NULL,
- PRIMARY KEY (\"id\") ");
- $r2 = q("create index \"abconfig_chan\" on abconfig (\"chan\") ");
- $r3 = q("create index \"abconfig_xchan\" on abconfig (\"xchan\") ");
- $r4 = q("create index \"abconfig_cat\" on abconfig (\"cat\") ");
- $r5 = q("create index \"abconfig_k\" on abconfig (\"k\") ");
- $r = $r1 && $r2 && $r3 && $r4 && $r5;
- }
- else {
- $r = q("CREATE TABLE IF NOT EXISTS `abconfig` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `chan` char(255) NOT NULL DEFAULT '',
- `xchan` char(255) NOT NULL DEFAULT '',
- `cat` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
- `v` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `chan` (`chan`),
- KEY `xchan` (`xchan`),
- KEY `cat` (`cat`),
- KEY `k` (`k`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
-
- }
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1165() {
-
- $r1 = q("alter table hook add hook_version int not null default '0' ");
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES)
- $r2 = q("create index \"hook_version_idx\" on hook (\"hook_version\") ");
- else
- $r2 = q("alter table hook add index ( hook_version ) ");
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1166() {
-
- $r = q("alter table source add src_tag text not null default '' ");
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1167() {
-
- $r1 = q("alter table app add app_deleted int not null default '0' ");
- $r2 = q("alter table app add app_system int not null default '0' ");
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r3 = q("create index \"app_deleted_idx\" on app (\"app_deleted\") ");
- $r4 = q("create index \"app_system_idx\" on app (\"app_system\") ");
- }
- else {
- $r3 = q("alter table app add index ( app_deleted ) ");
- $r4 = q("alter table app add index ( app_system ) ");
- }
-
- if($r1 && $r2 && $r3 && $r4)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1168() {
-
- $r1 = q("alter table obj add obj_quantity int not null default '0' ");
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r2 = q("create index \"obj_quantity_idx\" on obj (\"obj_quantity\") ");
- }
- else {
- $r2 = q("alter table obj add index ( obj_quantity ) ");
- }
-
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1169() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE `addon` CHANGE `timestamp` `tstamp` numeric( 20 ) UNSIGNED NOT NULL DEFAULT '0' ");
- $r2 = q("ALTER TABLE `addon` CHANGE `name` `aname` text NOT NULL DEFAULT '' ");
- $r3 = q("ALTER TABLE `hook` CHANGE `function` `fn` text NOT NULL DEFAULT '' ");
-
- }
- else {
- $r1 = q("ALTER TABLE `addon` CHANGE `timestamp` `tstamp` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT '0' ");
- $r2 = q("ALTER TABLE `addon` CHANGE `name` `aname` CHAR(255) NOT NULL DEFAULT '' ");
- $r3 = q("ALTER TABLE `hook` CHANGE `function` `fn` CHAR(255) NOT NULL DEFAULT '' ");
- }
-
- if($r1 && $r2 && $r3)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-
-function update_r1170() {
-
- $r1 = q("drop table fcontact");
- $r2 = q("drop table ffinder");
- $r3 = q("drop table fserver");
- $r4 = q("drop table fsuggest");
- $r5 = q("drop table spam");
-
- if($r1 && $r2 && $r3 && $r4 && $r5)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1171() {
-
- $r1 = q("ALTER TABLE verify CHANGE `type` `vtype` varchar(32) NOT NULL DEFAULT '' ");
- $r2 = q("ALTER TABLE tokens CHANGE `scope` `auth_scope` varchar(512) NOT NULL DEFAULT '' ");
- $r3 = q("ALTER TABLE auth_codes CHANGE `scope` `auth_scope` varchar(512) NOT NULL DEFAULT '' ");
- $r4 = q("ALTER TABLE clients CHANGE `name` `clname` TEXT ");
- $r5 = q("ALTER TABLE session CHANGE `data` `sess_data` TEXT NOT NULL ");
- $r6 = q("ALTER TABLE register CHANGE `language` `lang` varchar(16) NOT NULL DEFAULT '' ");
-
- if($r1 && $r2 && $r3 && $r4 && $r5 && $r6)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-
-
-}
-
-function update_r1172() {
-
- $r1 = q("ALTER TABLE term CHANGE `type` `ttype` int(3) NOT NULL DEFAULT '0' ");
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r2 = q("ALTER TABLE groups CHANGE `name` `gname` TEXT NOT NULL ");
- $r3 = q("ALTER TABLE profile CHANGE `name` `fullname` TEXT NOT NULL ");
- $r4 = q("ALTER TABLE profile CHANGE `with` `partner` TEXT NOT NULL ");
- $r5 = q("ALTER TABLE profile CHANGE `work` `employment` TEXT NOT NULL ");
- }
- else {
- $r2 = q("ALTER TABLE groups CHANGE `name` `gname` char(255) NOT NULL DEFAULT '' ");
- $r3 = q("ALTER TABLE profile CHANGE `name` `fullname` char(255) NOT NULL DEFAULT '' ");
- $r4 = q("ALTER TABLE profile CHANGE `with` `partner` char(255) NOT NULL DEFAULT '' ");
- $r5 = q("ALTER TABLE profile CHANGE `work` `employment` TEXT NOT NULL ");
- }
- if($r1 && $r2 && $r3 && $r4 && $r5)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1173() {
-
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE notify CHANGE `name` `xname` TEXT NOT NULL ");
- $r2 = q("ALTER TABLE notify CHANGE `date` `created` timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- $r3 = q("ALTER TABLE notify CHANGE `type` `ntype` numeric(3) NOT NULL DEFAULT '0' ");
- }
- else {
- $r1 = q("ALTER TABLE notify CHANGE `name` `xname` char(255) NOT NULL DEFAULT '' ");
- $r2 = q("ALTER TABLE notify CHANGE `date` `created` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- $r3 = q("ALTER TABLE notify CHANGE `type` `ntype` smallint(3) NOT NULL DEFAULT '0' ");
- }
-
- if($r1 && $r2 && $r3)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1174() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE event CHANGE `type` `etype` varchar(255) NOT NULL DEFAULT '' ");
- $r2 = q("ALTER TABLE event CHANGE `start` `dtstart` timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- $r3 = q("ALTER TABLE event CHANGE `finish` `dtend` timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- $r4 = q("ALTER TABLE event CHANGE `ignore` `dismissed` numeric(1) NOT NULL DEFAULT '0' ");
- $r5 = q("ALTER TABLE attach CHANGE `data` `content` bytea NOT NULL ");
- $r6 = q("ALTER TABLE photo CHANGE `data` `content` bytea NOT NULL ");
- }
- else {
- $r1 = q("ALTER TABLE event CHANGE `type` `etype` char(255) NOT NULL DEFAULT '' ");
- $r2 = q("ALTER TABLE event CHANGE `start` `dtstart` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- $r3 = q("ALTER TABLE event CHANGE `finish` `dtend` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
- $r4 = q("ALTER TABLE event CHANGE `ignore` `dismissed` tinyint(1) NOT NULL DEFAULT '0' ");
- $r5 = q("ALTER TABLE attach CHANGE `data` `content` longblob NOT NULL ");
- $r6 = q("ALTER TABLE photo CHANGE `data` `content` mediumblob NOT NULL ");
- }
-
- if($r1 && $r2 && $r3 && $r4 && $r5 && $r6)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1175() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE item CHANGE `object` `obj` text NOT NULL");
- $r2 = q("ALTER TABLE photo CHANGE `size` `filesize` bigint NOT NULL DEFAULT '0' ");
- $r3 = q("ALTER TABLE photo CHANGE `scale` `imgscale` numeric(3) NOT NULL DEFAULT '0' ");
- $r4 = q("ALTER TABLE photo CHANGE `type` `mimetype` varchar(128) NOT NULL DEFAULT 'image/jpeg' ");
-
- }
- else {
- $r1 = q("ALTER TABLE item CHANGE `object` `obj` text NOT NULL");
- $r2 = q("ALTER TABLE photo CHANGE `size` `filesize` int(10) unsigned NOT NULL DEFAULT '0' ");
- $r3 = q("ALTER TABLE photo CHANGE `scale` `imgscale` tinyint(3) unsigned NOT NULL DEFAULT '0' ");
- $r4 = q("ALTER TABLE photo CHANGE `type` `mimetype` char(128) NOT NULL DEFAULT 'image/jpeg' ");
-
- }
-
- if($r1 && $r2 && $r3 && $r4)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-
-function update_r1176() {
-
- $r = q("select * from item_id where true");
- if($r) {
- foreach($r as $rr) {
- \Zotlabs\Lib\IConfig::Set($rr['iid'],'system',$rr['service'],$rr['sid'],true);
- }
- }
- return UPDATE_SUCCESS;
-
-}
-
-function update_r1177() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("alter table event add cal_id bigint NOT NULL DEFAULT '0'");
- $r2 = q("create index \"event_cal_idx\" on event (\"cal_id\") ");
-
- $r3 = q("CREATE TABLE \"cal\" (
- \"cal_id\" serial NOT NULL,
- \"cal_aid\" bigint NOT NULL DEFAULT '0',
- \"cal_uid\" bigint NOT NULL DEFAULT '0',
- \"cal_hash\" text NOT NULL,
- \"cal_name\" text NOT NULL,
- \"uri\" text NOT NULL,
- \"logname\" text NOT NULL,
- \"pass\" text NOT NULL,
- \"ctag\" text NOT NULL,
- \"synctoken\" text NOT NULL,
- \"cal_types\" text NOT NULL,
- PRIMARY KEY (\"cal_id\") ");
- $r4 = q("create index \"cal_hash_idx\" on cal (\"cal_hash\") ");
- $r5 = q("create index \"cal_name_idx\" on cal (\"cal_name\") ");
- $r6 = q("create index \"cal_types_idx\" on cal (\"cal_types\") ");
- $r7 = q("create index \"cal_aid_idx\" on cal (\"cal_aid\") ");
- $r8 = q("create index \"cal_uid_idx\" on cal (\"cal_uid\") ");
- $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8;
- }
- else {
- $r1 = q("alter table event add cal_id int(10) unsigned NOT NULL DEFAULT '0',
- add index ( cal_id ) ");
-
- $r2 = q("CREATE TABLE IF NOT EXISTS `cal` (
- `cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cal_aid` int(10) unsigned NOT NULL DEFAULT '0',
- `cal_uid` int(10) unsigned NOT NULL DEFAULT '0',
- `cal_hash` varchar(255) NOT NULL DEFAULT '',
- `cal_name` varchar(255) NOT NULL DEFAULT '',
- `uri` varchar(255) NOT NULL DEFAULT '',
- `logname` varchar(255) NOT NULL DEFAULT '',
- `pass` varchar(255) NOT NULL DEFAULT '',
- `ctag` varchar(255) NOT NULL DEFAULT '',
- `synctoken` varchar(255) NOT NULL DEFAULT '',
- `cal_types` varchar(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`cal_id`),
- KEY `cal_aid` (`cal_aid`),
- KEY `cal_uid` (`cal_uid`),
- KEY `cal_hash` (`cal_hash`),
- KEY `cal_name` (`cal_name`),
- KEY `cal_types` (`cal_types`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
-
- $r = $r1 && $r2;
- }
-
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-
-function update_r1178() {
-
- $c2 = null;
-
- $c1 = q("SELECT channel_id, channel_hash from channel where true");
- if($c1) {
- $c2 = q("SELECT id, chan from abconfig where true");
- if($c2) {
- for($x = 0; $x < count($c2); $x ++) {
- foreach($c1 as $c) {
- if($c['channel_hash'] == $c2[$x]['chan']) {
- $c2[$x]['chan'] = $c['channel_id'];
- break;
- }
- }
- }
- }
- }
-
- $r1 = q("ALTER TABLE abconfig CHANGE chan chan int(10) unsigned NOT NULL DEFAULT '0' ");
-
- if($c2) {
- foreach($c2 as $c) {
- q("UPDATE abconfig SET chan = %d where id = %d",
- intval($c['chan']),
- intval($c['id'])
- );
- }
- }
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1179() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE TABLE atoken (
- atoken_id serial NOT NULL,
- atoken_aid bigint NOT NULL DEFAULT 0,
- atoken_uid bigint NOT NULL DEFAULT 0,
- atoken_name varchar(255) NOT NULL DEFAULT '',
- atoken_token varchar(255) NOT NULL DEFAULT '',
- atoken_expires timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
- PRIMARY KEY (atoken_id)) ");
- $r2 = q("create index atoken_aid on atoken (atoken_aid)");
- $r3 = q("create index atoken_uid on atoken (atoken_uid)");
- $r4 = q("create index atoken_name on atoken (atoken_name)");
- $r5 = q("create index atoken_token on atoken (atoken_token)");
- $r6 = q("create index atoken_expires on atoken (atoken_expires)");
-
- $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6;
-
- }
- else {
- $r = q("CREATE TABLE IF NOT EXISTS `atoken` (
- `atoken_id` int(11) NOT NULL AUTO_INCREMENT,
- `atoken_aid` int(11) NOT NULL DEFAULT 0,
- `atoken_uid` int(11) NOT NULL DEFAULT 0,
- `atoken_name` char(255) NOT NULL DEFAULT '',
- `atoken_token` char(255) NOT NULL DEFAULT '',
- `atoken_expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- PRIMARY KEY (`atoken_id`),
- KEY `atoken_aid` (`atoken_aid`),
- KEY `atoken_uid` (`atoken_uid`),
- KEY `atoken_name` (`atoken_name`),
- KEY `atoken_token` (`atoken_token`),
- KEY `atoken_expires` (`atoken_expires`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
- }
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1180() {
-
- require_once('include/perm_upgrade.php');
-
- $r1 = q("select * from channel where true");
- if($r1) {
- foreach($r1 as $rr) {
- perm_limits_upgrade($rr);
- autoperms_upgrade($rr);
- }
- }
-
- $r2 = q("select * from abook where true");
- if($r2) {
- foreach($r2 as $rr) {
- perm_abook_upgrade($rr);
- }
- }
-
- $r = $r1 && $r2;
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1181() {
- if(\Zotlabs\Lib\System::get_server_role() == 'pro') {
- q("update account set account_level = 5 where true");
- }
- return UPDATE_SUCCESS;
-}
-
-function update_r1182() {
-
- $r1 = q("alter table site add site_version varchar(32) not null default '' ");
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-
-function update_r1183() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("alter table hook ALTER COLUMN priority TYPE smallint");
- $r2 = q("alter table hook ALTER COLUMN priority SET NOT NULL");
- $r3 = q("alter table hook ALTER COLUMN priority SET DEFAULT '0'");
- $r1 = $r1 && $r2 && $r3;
- }
- else {
- $r1 = q("alter table hook CHANGE priority priority smallint NOT NULL DEFAULT '0' ");
- }
- $r2 = q("create index priority_idx on hook (priority)");
-
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1184() {
-
- $r1 = q("alter table site add site_crypto text not null default '' ");
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1185() {
-
- $r1 = q("alter table app add app_plugin text not null default '' ");
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1186() {
-
- $r1 = q("alter table profile add profile_vcard text not null");
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-
-}
-
-function update_r1187() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("alter table outq add outq_scheduled timestamp not null default '0001-01-01 00:00:00' ");
- }
- else {
- $r1 = q("alter table outq add outq_scheduled datetime not null default '0001-01-01 00:00:00' ");
- }
- $r2 = q("create index outq_scheduled_idx on outq (outq_scheduled)");
-
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-
-}
-
-function update_r1188() {
-
- $r1 = q("alter table channel add channel_password varchar(255) not null default '' ");
- $r2 = q("alter table channel add channel_salt varchar(255) not null default '' ");
-
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1189() {
-
- $r1 = q("alter table mail add mail_mimetype varchar(64) not null default 'text/bbcode' ");
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r2 = q("alter table mail add mail_raw smallint not null default 0 ");
- }
- else {
- $r2 = q("alter table mail add mail_raw tinyint(4) not null default 0 ");
- }
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-
-}
-
-function update_r1190() {
- $r1 = q("alter table abook add abook_not_here smallint not null default 0 ");
-
- $r2 = q("create index abook_not_here on abook (abook_not_here)");
-
- if($r1 && $r2)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1191() {
-
- $r = q("SELECT 1 FROM principals LIMIT 1");
-
- if($r !== false) {
- return UPDATE_SUCCESS;
- }
- else {
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE TABLE addressbooks (
- id SERIAL NOT NULL,
- principaluri VARCHAR(255),
- displayname VARCHAR(255),
- uri VARCHAR(200),
- description TEXT,
- synctoken INTEGER NOT NULL DEFAULT 1
- );"
- );
-
- $r2 = q("ALTER TABLE ONLY addressbooks ADD CONSTRAINT addressbooks_pkey PRIMARY KEY (id);");
-
- $r3 = q("CREATE UNIQUE INDEX addressbooks_ukey ON addressbooks USING btree (principaluri, uri);");
-
- $r4 = q("CREATE TABLE cards (
- id SERIAL NOT NULL,
- addressbookid INTEGER NOT NULL,
- carddata BYTEA,
- uri VARCHAR(200),
- lastmodified INTEGER,
- etag VARCHAR(32),
- size INTEGER NOT NULL
- );"
- );
-
- $r5 = q("ALTER TABLE ONLY cards ADD CONSTRAINT cards_pkey PRIMARY KEY (id);");
-
- $r6 = q("CREATE UNIQUE INDEX cards_ukey ON cards USING btree (addressbookid, uri);");
-
- $r7 = q("CREATE TABLE addressbookchanges (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- synctoken INTEGER NOT NULL,
- addressbookid INTEGER NOT NULL,
- operation SMALLINT NOT NULL
- );"
- );
-
- $r8 = q("ALTER TABLE ONLY addressbookchanges ADD CONSTRAINT addressbookchanges_pkey PRIMARY KEY (id);");
-
- $r9 = q("CREATE INDEX addressbookchanges_addressbookid_synctoken_ix ON addressbookchanges USING btree (addressbookid, synctoken);");
-
- $r10 = q("CREATE TABLE calendarobjects (
- id SERIAL NOT NULL,
- calendardata BYTEA,
- uri VARCHAR(200),
- calendarid INTEGER NOT NULL,
- lastmodified INTEGER,
- etag VARCHAR(32),
- size INTEGER NOT NULL,
- componenttype VARCHAR(8),
- firstoccurence INTEGER,
- lastoccurence INTEGER,
- uid VARCHAR(200)
- );"
- );
-
- $r11 = q("ALTER TABLE ONLY calendarobjects ADD CONSTRAINT calendarobjects_pkey PRIMARY KEY (id);");
-
- $r12 = q("CREATE UNIQUE INDEX calendarobjects_ukey ON calendarobjects USING btree (calendarid, uri);");
-
- $r13 = q("CREATE TABLE calendars (
- id SERIAL NOT NULL,
- synctoken INTEGER NOT NULL DEFAULT 1,
- components VARCHAR(21)
- );"
- );
-
- $r14 = q("ALTER TABLE ONLY calendars ADD CONSTRAINT calendars_pkey PRIMARY KEY (id);");
-
- $r15 = q("CREATE TABLE calendarinstances (
- id SERIAL NOT NULL,
- calendarid INTEGER NOT NULL,
- principaluri VARCHAR(100),
- access SMALLINT NOT NULL DEFAULT '1', -- '1 = owner, 2 = read, 3 = readwrite'
- displayname VARCHAR(100),
- uri VARCHAR(200),
- description TEXT,
- calendarorder INTEGER NOT NULL DEFAULT 0,
- calendarcolor VARCHAR(10),
- timezone TEXT,
- transparent SMALLINT NOT NULL DEFAULT '0',
- share_href VARCHAR(100),
- share_displayname VARCHAR(100),
- share_invitestatus SMALLINT NOT NULL DEFAULT '2' -- '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid'
- );"
- );
-
- $r16 = q("ALTER TABLE ONLY calendarinstances ADD CONSTRAINT calendarinstances_pkey PRIMARY KEY (id);");
-
- $r17 = q("CREATE UNIQUE INDEX calendarinstances_principaluri_uri ON calendarinstances USING btree (principaluri, uri);");
-
- $r18 = q("CREATE UNIQUE INDEX calendarinstances_principaluri_calendarid ON calendarinstances USING btree (principaluri, calendarid);");
-
- $r19 = q("CREATE UNIQUE INDEX calendarinstances_principaluri_share_href ON calendarinstances USING btree (principaluri, share_href);");
-
- $r20 = q("CREATE TABLE calendarsubscriptions (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- principaluri VARCHAR(100) NOT NULL,
- source TEXT,
- displayname VARCHAR(100),
- refreshrate VARCHAR(10),
- calendarorder INTEGER NOT NULL DEFAULT 0,
- calendarcolor VARCHAR(10),
- striptodos SMALLINT NULL,
- stripalarms SMALLINT NULL,
- stripattachments SMALLINT NULL,
- lastmodified INTEGER
- );"
- );
-
- $r21 = q("ALTER TABLE ONLY calendarsubscriptions ADD CONSTRAINT calendarsubscriptions_pkey PRIMARY KEY (id);");
-
- $r22 = q("CREATE UNIQUE INDEX calendarsubscriptions_ukey ON calendarsubscriptions USING btree (principaluri, uri);");
-
- $r23 = q("CREATE TABLE calendarchanges (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- synctoken INTEGER NOT NULL,
- calendarid INTEGER NOT NULL,
- operation SMALLINT NOT NULL DEFAULT 0
- );"
- );
-
- $r24 = q("ALTER TABLE ONLY calendarchanges ADD CONSTRAINT calendarchanges_pkey PRIMARY KEY (id);");
-
- $r25 = q("CREATE INDEX calendarchanges_calendarid_synctoken_ix ON calendarchanges USING btree (calendarid, synctoken);");
-
- $r26 = q("CREATE TABLE schedulingobjects (
- id SERIAL NOT NULL,
- principaluri VARCHAR(255),
- calendardata BYTEA,
- uri VARCHAR(200),
- lastmodified INTEGER,
- etag VARCHAR(32),
- size INTEGER NOT NULL
- );"
- );
-
- $r27 = q("CREATE TABLE locks (
- id SERIAL NOT NULL,
- owner VARCHAR(100),
- timeout INTEGER,
- created INTEGER,
- token VARCHAR(100),
- scope SMALLINT,
- depth SMALLINT,
- uri TEXT
- );"
- );
-
- $r28 = q("ALTER TABLE ONLY locks ADD CONSTRAINT locks_pkey PRIMARY KEY (id);");
-
- $r29 = q("CREATE INDEX locks_token_ix ON locks USING btree (token);");
-
- $r30 = q("CREATE INDEX locks_uri_ix ON locks USING btree (uri);");
-
- $r31 = q("CREATE TABLE principals (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- email VARCHAR(80),
- displayname VARCHAR(80)
- );"
- );
-
- $r32 = q("ALTER TABLE ONLY principals ADD CONSTRAINT principals_pkey PRIMARY KEY (id);");
-
- $r33 = q("CREATE UNIQUE INDEX principals_ukey ON principals USING btree (uri);");
-
- $r34 = q("CREATE TABLE groupmembers (
- id SERIAL NOT NULL,
- principal_id INTEGER NOT NULL,
- member_id INTEGER NOT NULL
- );"
- );
-
- $r35 = q("ALTER TABLE ONLY groupmembers ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (id);");
-
- $r36 = q("CREATE UNIQUE INDEX groupmembers_ukey ON groupmembers USING btree (principal_id, member_id);");
-
- $r37 = q("CREATE TABLE propertystorage (
- id SERIAL NOT NULL,
- path VARCHAR(1024) NOT NULL,
- name VARCHAR(100) NOT NULL,
- valuetype INT,
- value BYTEA
- );"
- );
-
- $r38 = q("ALTER TABLE ONLY propertystorage ADD CONSTRAINT propertystorage_pkey PRIMARY KEY (id);");
-
- $r39 = q("CREATE UNIQUE INDEX propertystorage_ukey ON propertystorage (path, name);");
-
- $r40 = q("CREATE TABLE users (
- id SERIAL NOT NULL,
- username VARCHAR(50),
- digesta1 VARCHAR(32)
- );"
- );
-
- $r41 = q("ALTER TABLE ONLY users ADD CONSTRAINT users_pkey PRIMARY KEY (id);");
-
- $r42 = q("CREATE UNIQUE INDEX users_ukey ON users USING btree (username);");
-
- if(
- $r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8 && $r9 && $r10
- && $r11 && $r12 && $r13 && $r14 && $r15 && $r16 && $r17 && $r18 && $r19 && $r20
- && $r21 && $r22 && $r23 && $r24 && $r25 && $r26 && $r27 && $r28 && $r29 && $r30
- && $r31 && $r32 && $r33 && $r34 && $r35 && $r36 && $r37 && $r38 && $r39 && $r40
- && $r41 && $r42
- )
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
- }
- else {
- $r1 = q("CREATE TABLE if not exists addressbooks (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- principaluri VARBINARY(255),
- displayname VARCHAR(255),
- uri VARBINARY(200),
- description TEXT,
- synctoken INT(11) UNSIGNED NOT NULL DEFAULT '1',
- UNIQUE(principaluri(100), uri(100))
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r2 = q("CREATE TABLE if not exists cards (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- addressbookid INT(11) UNSIGNED NOT NULL,
- carddata MEDIUMBLOB,
- uri VARBINARY(200),
- lastmodified INT(11) UNSIGNED,
- etag VARBINARY(32),
- size INT(11) UNSIGNED NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r3 = q("CREATE TABLE if not exists addressbookchanges (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- synctoken INT(11) UNSIGNED NOT NULL,
- addressbookid INT(11) UNSIGNED NOT NULL,
- operation TINYINT(1) NOT NULL,
- INDEX addressbookid_synctoken (addressbookid, synctoken)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r4 = q("CREATE TABLE if not exists calendarobjects (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- calendardata MEDIUMBLOB,
- uri VARBINARY(200),
- calendarid INTEGER UNSIGNED NOT NULL,
- lastmodified INT(11) UNSIGNED,
- etag VARBINARY(32),
- size INT(11) UNSIGNED NOT NULL,
- componenttype VARBINARY(8),
- firstoccurence INT(11) UNSIGNED,
- lastoccurence INT(11) UNSIGNED,
- uid VARBINARY(200),
- UNIQUE(calendarid, uri),
- INDEX calendarid_time (calendarid, firstoccurence)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r5 = q("CREATE TABLE if not exists calendars (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- synctoken INTEGER UNSIGNED NOT NULL DEFAULT '1',
- components VARBINARY(21)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r6 = q("CREATE TABLE if not exists calendarinstances (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- calendarid INTEGER UNSIGNED NOT NULL,
- principaluri VARBINARY(100),
- access TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1 = owner, 2 = read, 3 = readwrite',
- displayname VARCHAR(100),
- uri VARBINARY(200),
- description TEXT,
- calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
- calendarcolor VARBINARY(10),
- timezone TEXT,
- transparent TINYINT(1) NOT NULL DEFAULT '0',
- share_href VARBINARY(100),
- share_displayname VARCHAR(100),
- share_invitestatus TINYINT(1) NOT NULL DEFAULT '2' COMMENT '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid',
- UNIQUE(principaluri, uri),
- UNIQUE(calendarid, principaluri),
- UNIQUE(calendarid, share_href)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r7 = q("CREATE TABLE if not exists calendarchanges (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- synctoken INT(11) UNSIGNED NOT NULL,
- calendarid INT(11) UNSIGNED NOT NULL,
- operation TINYINT(1) NOT NULL,
- INDEX calendarid_synctoken (calendarid, synctoken)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r8 = q("CREATE TABLE if not exists calendarsubscriptions (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- principaluri VARBINARY(100) NOT NULL,
- source TEXT,
- displayname VARCHAR(100),
- refreshrate VARCHAR(10),
- calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
- calendarcolor VARBINARY(10),
- striptodos TINYINT(1) NULL,
- stripalarms TINYINT(1) NULL,
- stripattachments TINYINT(1) NULL,
- lastmodified INT(11) UNSIGNED,
- UNIQUE(principaluri, uri)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r9 = q("CREATE TABLE if not exists schedulingobjects (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- principaluri VARBINARY(255),
- calendardata MEDIUMBLOB,
- uri VARBINARY(200),
- lastmodified INT(11) UNSIGNED,
- etag VARBINARY(32),
- size INT(11) UNSIGNED NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r10 = q("CREATE TABLE if not exists locks (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- owner VARCHAR(100),
- timeout INTEGER UNSIGNED,
- created INTEGER,
- token VARBINARY(100),
- scope TINYINT,
- depth TINYINT,
- uri VARBINARY(1000),
- INDEX(token),
- INDEX(uri(100))
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r11 = q("CREATE TABLE if not exists principals (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- email VARBINARY(80),
- displayname VARCHAR(80),
- UNIQUE(uri)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r12 = q("CREATE TABLE if not exists groupmembers (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- principal_id INTEGER UNSIGNED NOT NULL,
- member_id INTEGER UNSIGNED NOT NULL,
- UNIQUE(principal_id, member_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r13 = q("CREATE TABLE if not exists propertystorage (
- id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- path VARBINARY(1024) NOT NULL,
- name VARBINARY(100) NOT NULL,
- valuetype INT UNSIGNED,
- value MEDIUMBLOB
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r14 = q("CREATE UNIQUE INDEX path_property ON propertystorage (path(600), name(100));");
-
- $r15 = q("CREATE TABLE if not exists users (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- username VARBINARY(50),
- digesta1 VARBINARY(32),
- UNIQUE(username)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- $r16 = q("CREATE TABLE if not exists calendarinstances (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- calendarid INTEGER UNSIGNED NOT NULL,
- principaluri VARBINARY(100),
- access TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1 = owner, 2 = read, 3 = readwrite',
- displayname VARCHAR(100),
- uri VARBINARY(200),
- description TEXT,
- calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
- calendarcolor VARBINARY(10),
- timezone TEXT,
- transparent TINYINT(1) NOT NULL DEFAULT '0',
- share_href VARBINARY(100),
- share_displayname VARCHAR(100),
- share_invitestatus TINYINT(1) NOT NULL DEFAULT '2' COMMENT '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid',
- UNIQUE(principaluri, uri),
- UNIQUE(calendarid, principaluri),
- UNIQUE(calendarid, share_href)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
- );
-
- if($r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8 && $r9 && $r10 && $r11 && $r12 && $r13 && $r14 && $r15 && $r16)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
- }
- }
-}
-
-function update_r1192() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE INDEX item_obj_type ON item (obj_type)");
- }
- else {
- $r1 = q("ALTER TABLE item ADD INDEX (obj_type)");
- }
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1193() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE INDEX item_uid_unseen ON item (uid, item_unseen)");
- }
- else {
- $r1 = q("ALTER TABLE item ADD INDEX uid_item_unseen (uid, item_unseen)");
- }
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-
-function update_r1194() {
- $r = q("select id, resource_id from item where resource_type = 'nwiki'");
- if($r) {
- foreach($r as $rv) {
- $mimetype = get_iconfig($rv['id'],'wiki','mimeType');
- q("update item set mimetype = '%s' where resource_type = 'nwikipage' and resource_id = '%s'",
- dbesc($mimetype),
- dbesc($rv['resource_id'])
- );
- }
- }
-
- return UPDATE_SUCCESS;
-}
-
-function update_r1195() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE INDEX item_resource_id ON item (resource_id)");
- }
- else {
- $r1 = q("ALTER TABLE item ADD INDEX (resource_id)");
- }
-
- if($r1)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}
-
-function update_r1196() {
-
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("CREATE TABLE \"pchan\" (
- \"pchan_id\" serial NOT NULL,
- \"pchan_guid\" text NOT NULL,
- \"pchan_hash\" text NOT NULL,
- \"pchan_pubkey\" text NOT NULL,
- \"pchan_prvkey\" text NOT NULL,
- PRIMARY KEY (\"pchan_id\")
-)");
-
- $r2 = q("create index \"pchan_guid\" on pchan (\"pchan_guid\")");
- $r3 = q("create index \"pchan_hash\" on pchan (\"pchan_hash\")");
-
- if($r1 && $r2 && $r3) {
- return UPDATE_SUCCESS;
- }
- }
- else {
- $r1 = q("CREATE TABLE IF NOT EXISTS pchan (
- pchan_id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- pchan_guid char(191) NOT NULL DEFAULT '',
- pchan_hash char(191) NOT NULL DEFAULT '',
- pchan_pubkey text NOT NULL,
- pchan_prvkey text NOT NULL,
- PRIMARY KEY (pchan_id),
- KEY pchan_guid (pchan_guid),
- KEY pchan_hash (pchan_hash)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
- if($r1) {
- return UPDATE_SUCCESS;
- }
- }
-
- return UPDATE_FAILED;
-}
-
-function update_r1197() {
-
- $r = q("select diaspora_meta from item where true limit 1");
- if($r) {
- $r = q("ALTER TABLE item DROP diaspora_meta");
- }
-
- return UPDATE_SUCCESS;
-}
-
-function update_r1198() {
-
- if(ACTIVE_DBTYPE == DBTYPE_MYSQL) {
- $r = q("ALTER TABLE item
- DROP INDEX item_blocked,
- DROP INDEX item_unpublished,
- DROP INDEX item_deleted,
- DROP INDEX item_delayed,
- DROP INDEX item_hidden,
- DROP INDEX item_pending_remove,
- DROP INDEX item_type
- ");
- }
-
- return UPDATE_SUCCESS;
-}
-
-function update_r1199() {
-
- if(ACTIVE_DBTYPE == DBTYPE_MYSQL) {
- $r = q("ALTER TABLE item
- DROP INDEX uid,
- ADD INDEX (item_type)
- ");
- }
-
- return UPDATE_SUCCESS;
-}
-
-function update_r1200() {
-
- if(ACTIVE_DBTYPE == DBTYPE_MYSQL) {
- $r = q("ALTER TABLE item
- DROP INDEX item_type,
- ADD INDEX uid_item_type (uid, item_type)
- ");
- }
-
- if($r)
- return UPDATE_SUCCESS;
- return UPDATE_FAILED;
-}