X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=a8140fe9114210699a93271212d6ebb4a62c0aa2;hb=9e19eef1941fff3e2a8785e5daa6d978e9de4900;hp=81c5f0aeaed4442f219b6e9100d433654662bf52;hpb=8cfa93b730f87edf98c52e9a38cfa015ce1f5d47;p=friendica.git diff --git a/update.php b/update.php index 81c5f0aeae..a8140fe911 100644 --- a/update.php +++ b/update.php @@ -11,24 +11,24 @@ * Each function in this file is named update_nnnn() where nnnn is an increasing number * which began counting at 1000. * - * At the top of the file "boot.php" is a define for BUILD_ID. Any time there is a change + * At the top of the file "boot.php" is a define for DB_UPDATE_VERSION. Any time there is a change * to the database schema or one which requires an upgrade path from the existing application, - * the BUILD_ID is incremented. + * the DB_UPDATE_VERSION is incremented. * - * The current BUILD_ID is stored in the config area of the database. If the application starts up - * and BUILD_ID is greater than the last stored build number, we will process every update function - * in order from the currently stored value to the new BUILD_ID. This is expected to bring the system + * The current DB_UPDATE_VERSION is stored in the config area of the database. If the application starts up + * and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function + * in order from the currently stored value to the new DB_UPDATE_VERSION. This is expected to bring the system * up to current without requiring re-installation or manual intervention. * - * Once the upgrade functions have completed, the current BUILD_ID is stored as the current value. - * The BUILD_ID will always be one greater than the last numbered script in this file. + * Once the upgrade functions have completed, the current DB_UPDATE_VERSION is stored as the current value. + * The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file. * * If you change the database schema, the following are required: * 1. Update the file database.sql to match the new schema. - * 2. Update this file by adding a new function at the end with the number of the current BUILD_ID. + * 2. Update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION. * This function should modify the current database schema and perform any other steps necessary * to ensure that upgrade is silent and free from requiring interaction. - * 3. Increment the BUILD_ID in boot.php + * 3. Increment the DB_UPDATE_VERSION in boot.php * 4. TEST the upgrade prior to checkin and filing a pull request. * */ @@ -261,3 +261,218 @@ function update_1026() { } +function update_1027() { + q("CREATE TABLE IF NOT EXISTS `addon` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , + `name` CHAR( 255 ) NOT NULL , + `version` CHAR( 255 ) NOT NULL , + `installed` TINYINT( 1 ) NOT NULL DEFAULT '0' + ) ENGINE = MYISAM DEFAULT CHARSET=utf8 "); +} + +function update_1028() { + q("ALTER TABLE `user` ADD `openidserver` text NOT NULL AFTER `deny_gid` "); +} + +function update_1029() { + q("ALTER TABLE `contact` ADD `info` MEDIUMTEXT NOT NULL AFTER `reason` "); +} + +function update_1030() { + q("ALTER TABLE `contact` ADD `bdyear` CHAR( 4 ) NOT NULL COMMENT 'birthday notify flag' AFTER `profile-id` "); + + q("CREATE TABLE IF NOT EXISTS `event` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , + `uid` INT NOT NULL , + `cid` INT NOT NULL , + `created` DATETIME NOT NULL , + `edited` DATETIME NOT NULL , + `start` DATETIME NOT NULL , + `finish` DATETIME NOT NULL , + `desc` TEXT NOT NULL , + `location` TEXT NOT NULL , + `type` CHAR( 255 ) NOT NULL , + `adjust` TINYINT( 1 ) NOT NULL DEFAULT '1', + `allow_cid` MEDIUMTEXT NOT NULL , + `allow_gid` MEDIUMTEXT NOT NULL , + `deny_cid` MEDIUMTEXT NOT NULL , + `deny_gid` MEDIUMTEXT NOT NULL + ) ENGINE = MYISAM DEFAULT CHARSET=utf8 "); + + +} + +function update_1031() { + // Repair any bad links that slipped into the item table + $r = q("SELECT `id`, `object` FROM `item` WHERE `object` != '' "); + if($r && count($r)) { + foreach($r as $rr) { + if(strstr($rr['object'],'type="http')) { + q("UPDATE `item` SET `object` = '%s' WHERE `id` = %d LIMIT 1", + dbesc(str_replace('type="http','href="http',$rr['object'])), + intval($rr['id']) + ); + } + } + } +} + +function update_1032() { + q("ALTER TABLE `profile` ADD `pdesc` CHAR( 255 ) NOT NULL AFTER `name` "); +} + +function update_1033() { + q("CREATE TABLE IF NOT EXISTS `cache` ( + `k` CHAR( 255 ) NOT NULL PRIMARY KEY , + `v` TEXT NOT NULL, + `updated` DATETIME NOT NULL + ) ENGINE = MYISAM DEFAULT CHARSET=utf8 "); +} + + +function update_1034() { + + // If you have any of these parent-less posts they can cause problems, and + // we need to delete them. You can't see them anyway. + // Legitimate items will usually get re-created on the next + // pull from the hub. + // But don't get rid of a post that may have just come in + // and may not yet have the parent id set. + + q("DELETE FROM `item` WHERE `parent` = 0 AND `created` < UTC_TIMESTAMP() - INTERVAL 2 MINUTE"); + +} + + +function update_1035() { + + q("ALTER TABLE `contact` ADD `success_update` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `last-update` "); + +} + +function update_1036() { + + $r = dbq("SELECT * FROM `contact` WHERE `network` = 'dfrn' && `photo` LIKE '%include/photo%' "); + if(count($r)) { + foreach($r as $rr) { + q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s' WHERE `id` = %d LIMIT 1", + dbesc(str_replace('include/photo','photo',$rr['photo'])), + dbesc(str_replace('include/photo','photo',$rr['thumb'])), + dbesc(str_replace('include/photo','photo',$rr['micro'])), + intval($rr['id'])); + } + } +} + +function update_1037() { + + q("ALTER TABLE `contact` CHANGE `lrdd` `alias` CHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL "); + +} + +function update_1038() { + q("ALTER TABLE `item` ADD `plink` CHAR( 255 ) NOT NULL AFTER `target` "); +} + +function update_1039() { + q("ALTER TABLE `addon` ADD `timestamp` BIGINT NOT NULL DEFAULT '0'"); +} + + +function update_1040() { + + q("CREATE TABLE IF NOT EXISTS `fcontact` ( + `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , + `url` CHAR( 255 ) NOT NULL , + `name` CHAR( 255 ) NOT NULL , + `photo` CHAR( 255 ) NOT NULL + ) ENGINE = MYISAM DEFAULT CHARSET=utf8 "); + + q("CREATE TABLE IF NOT EXISTS `ffinder` ( + `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , + `uid` INT UNSIGNED NOT NULL , + `cid` INT UNSIGNED NOT NULL , + `fid` INT UNSIGNED NOT NULL + ) ENGINE = MYISAM DEFAULT CHARSET=utf8 "); + +} + +function update_1041() { + q("ALTER TABLE `profile` CHANGE `keywords` `prv_keywords` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL "); + q("ALTER TABLE `profile` ADD `pub_keywords` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `religion` "); +} + +function update_1042() { + q("ALTER TABLE `user` ADD `expire` INT UNSIGNED NOT NULL DEFAULT '0' AFTER `maxreq` "); +} + + +function update_1043() { + q("ALTER TABLE `user` ADD `blockwall` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `blocked` "); +} + +function update_1044() { + q("ALTER TABLE `profile` ADD FULLTEXT ( `pub_keywords` ) "); + q("ALTER TABLE `profile` ADD FULLTEXT ( `prv_keywords` ) "); +} + +function update_1045() { + q("ALTER TABLE `user` ADD `language` CHAR( 16 ) NOT NULL DEFAULT 'en' AFTER `timezone` "); +} + +function update_1046() { + q("ALTER TABLE `item` ADD `attach` MEDIUMTEXT NOT NULL AFTER `tag` "); +} + +function update_1047() { + q("ALTER TABLE `contact` ADD `writable` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `readonly` "); +} + +function update_1048() { + q("UPDATE `contact` SET `writable` = 1 WHERE `network` = 'stat' AND `notify` != '' "); +} + +function update_1049() { + q("CREATE TABLE `mailacct` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , + `uid` INT NOT NULL, + `server` CHAR( 255 ) NOT NULL , + `user` CHAR( 255 ) NOT NULL , + `pass` CHAR( 255 ) NOT NULL , + `reply_to` CHAR( 255 ) NOT NULL , + `last_check` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' + ) ENGINE = MYISAM "); +} + +function update_1050() { + q("CREATE TABLE `attach` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , + `uid` INT NOT NULL , + `filetype` CHAR( 64 ) NOT NULL , + `filesize` INT NOT NULL , + `data` LONGBLOB NOT NULL , + `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `edited` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `allow_cid` MEDIUMTEXT NOT NULL , + `allow_gid` MEDIUMTEXT NOT NULL , + `deny_cid` MEDIUMTEXT NOT NULL , + `deny_gid` MEDIUMTEXT NOT NULL + ) ENGINE = MYISAM "); + +} + +function update_1051() { + q("ALTER TABLE `mailacct` ADD `port` INT NOT NULL AFTER `server` , + ADD `ssltype` CHAR( 16 ) NOT NULL AFTER `port` , + ADD `mailbox` CHAR( 255 ) NOT NULL AFTER `ssltype` "); + + q("ALTER TABLE `contact` ADD `addr` CHAR( 255 ) NOT NULL AFTER `url` "); +} + +function update_1052() { + q("ALTER TABLE `mailacct` CHANGE `pass` `pass` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL"); + q("ALTER TABLE `mailacct` ADD `pubmail` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `reply_to` "); + q("ALTER TABLE `item` ADD `pubmail` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `private` "); +} + +