]> git.mxchange.org Git - friendica.git/blobdiff - update.php
Added new file for ignoring threads
[friendica.git] / update.php
index 789ff9f45dd32958b8c097c8ffc28f1a60a8fd10..ada6edbb37ba17c4c277b2eec2e14a52f3b66fe6 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-define( 'UPDATE_VERSION' , 1155 );
+define( 'UPDATE_VERSION' , 1171 );
 
 /**
  *
@@ -10,26 +10,25 @@ define( 'UPDATE_VERSION' , 1155 );
  * copying the latest files from the source code repository will always perform a clean
  * and painless upgrade.
  *
- * Each function in this file is named update_nnnn() where nnnn is an increasing number 
+ * 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 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 DB_UPDATE_VERSION and the UPDATE_VERSION at the top of this file are incremented.
  *
  * 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 
+ * 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 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. 
+ * 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 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.
+ *    1. Update the file include/dbstructure.php to match the new schema.
+ *    2. If there is a need for a post procession, update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION.
+ *       This function should perform some post procession steps but no database updates.
  *    3. Increment the DB_UPDATE_VERSION in boot.php *AND* the UPDATE_VERSION in this file to match it
  *    4. TEST the upgrade prior to checkin and filing a pull request.
  *
@@ -92,7 +91,7 @@ function update_1006() {
                        $spkey = openssl_pkey_get_details($sres);
                        $spubkey = $spkey["key"];
                        $r = q("UPDATE `user` SET `spubkey` = '%s', `sprvkey` = '%s'
-                               WHERE `uid` = %d LIMIT 1",
+                               WHERE `uid` = %d",
                                dbesc($spubkey),
                                dbesc($sprvkey),
                                intval($rr['uid'])
@@ -123,7 +122,7 @@ function update_1011() {
        $r = q("SELECT * FROM `contact` WHERE 1");
        if(count($r)) {
                foreach($r as $rr) {
-                               q("UPDATE `contact` SET `nick` = '%s' WHERE `id` = %d LIMIT 1",
+                               q("UPDATE `contact` SET `nick` = '%s' WHERE `id` = %d",
                                        dbesc(basename($rr['url'])),
                                        intval($rr['id'])
                                );
@@ -157,11 +156,11 @@ function update_1014() {
        if(count($r)) {
                foreach($r as $rr) {            
                        if(stristr($rr['thumb'],'avatar'))
-                               q("UPDATE `contact` SET `micro` = '%s' WHERE `id` = %d LIMIT 1",
+                               q("UPDATE `contact` SET `micro` = '%s' WHERE `id` = %d",
                                        dbesc(str_replace('avatar','micro',$rr['thumb'])),
                                        intval($rr['id']));
                        else
-                               q("UPDATE `contact` SET `micro` = '%s' WHERE `id` = %d LIMIT 1",
+                               q("UPDATE `contact` SET `micro` = '%s' WHERE `id` = %d",
                                        dbesc(str_replace('5.jpg','6.jpg',$rr['thumb'])),
                                        intval($rr['id']));
                }
@@ -310,7 +309,7 @@ function update_1031() {
        if($r && count($r)) {
                foreach($r as $rr) {
                        if(strstr($rr['object'],'type=&quot;http')) {
-                               q("UPDATE `item` SET `object` = '%s' WHERE `id` = %d LIMIT 1",
+                               q("UPDATE `item` SET `object` = '%s' WHERE `id` = %d",
                                        dbesc(str_replace('type=&quot;http','href=&quot;http',$rr['object'])),
                                        intval($rr['id'])
                                );
@@ -357,7 +356,7 @@ 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",
+                       q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s' WHERE `id` = %d",
                                dbesc(str_replace('include/photo','photo',$rr['photo'])),
                                dbesc(str_replace('include/photo','photo',$rr['thumb'])),
                                dbesc(str_replace('include/photo','photo',$rr['micro'])),
@@ -595,7 +594,7 @@ function update_1074() {
        $r = q("SELECT `uid` FROM `profile` WHERE `is-default` = 1 AND `hidewall` = 1");
        if(count($r)) {
                foreach($r as $rr)
-                       q("UPDATE `user` SET `hidewall` = 1 WHERE `uid` = %d LIMIT 1",
+                       q("UPDATE `user` SET `hidewall` = 1 WHERE `uid` = %d",
                                intval($rr['uid'])
                        );
        }
@@ -617,7 +616,7 @@ function update_1075() {
                                        $found = false;
                        } while ($found == true );
 
-                       q("UPDATE `user` SET `guid` = '%s' WHERE `uid` = %d LIMIT 1",
+                       q("UPDATE `user` SET `guid` = '%s' WHERE `uid` = %d",
                                dbesc($guid),
                                intval($rr['uid'])
                        );
@@ -736,7 +735,7 @@ function update_1087() {
                                intval($rr['id'])
                        );
                        if(count($x))
-                               q("UPDATE `item` SET `commented` = '%s' WHERE `id` = %d LIMIT 1",
+                               q("UPDATE `item` SET `commented` = '%s' WHERE `id` = %d",
                                        dbesc($x[0]['cdate']),
                                        intval($rr['id'])
                                );
@@ -855,7 +854,7 @@ function update_1100() {
        $r = q("select id, url from contact where url != '' and nurl = '' ");
        if(count($r)) {
                foreach($r as $rr) {
-                       q("update contact set nurl = '%s' where id = %d limit 1",
+                       q("update contact set nurl = '%s' where id = %d",
                                dbesc(normalise_link($rr['url'])),
                                intval($rr['id'])
                        ); 
@@ -1173,7 +1172,7 @@ function update_1136() {
                        foreach($arr as $x) {
                                if($x['cat'] == $rr['cat'] && $x['k'] == $rr['k']) {
                                        $found = true;
-                                       q("delete from config where id = %d limit 1",
+                                       q("delete from config where id = %d",
                                                intval($rr['id'])
                                        );
                                }
@@ -1192,7 +1191,7 @@ function update_1136() {
                        foreach($arr as $x) {
                                if($x['uid'] == $rr['uid'] && $x['cat'] == $rr['cat'] && $x['k'] == $rr['k']) {
                                        $found = true;
-                                       q("delete from pconfig where id = %d limit 1",
+                                       q("delete from pconfig where id = %d",
                                                intval($rr['id'])
                                        );
                                }
@@ -1345,9 +1344,258 @@ function update_1153() {
 }
 
 function update_1154() {
-       $r = q("UPDATE `item` SET `thr-parent`=`parent-uri` WHERE `id`!=`parent` AND `thr-parent`=''");
-       
+       $r = q("ALTER TABLE `event` ADD `ignore` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `adjust` , ADD INDEX ( `ignore` )");
+
+       if(!$r) return UPDATE_FAILED;
+       return UPDATE_SUCCESS;
+}
+
+function update_1155() {
+       $r1 = q("ALTER TABLE `item_id` DROP PRIMARY KEY");
+       $r2 = q("ALTER TABLE `item_id` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST");
+       $r3 = q("ALTER TABLE `item_id` ADD INDEX ( `iid` ) ");
+
+       if($r1 && $r2 && $r3)
+               return UPDATE_SUCCESS;
+
+       return UPDATE_FAILED;
+}
+
+function update_1156() {
+       $r = q("ALTER TABLE `photo` ADD `datasize` INT UNSIGNED NOT NULL DEFAULT '0' AFTER `width` ,
+ADD INDEX ( `datasize` ) ");
+
        if(!$r) return UPDATE_FAILED;
        return UPDATE_SUCCESS;
 }
 
+function update_1157() {
+       $r = q("CREATE TABLE  IF NOT EXISTS `dsprphotoq` (
+         `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+         `uid` int(11) NOT NULL,
+         `msg` mediumtext NOT NULL,
+         `attempt` tinyint(4) NOT NULL,
+         PRIMARY KEY (`id`)
+         ) ENGINE=MyISAM DEFAULT CHARSET=utf8"
+       );
+
+       if($r)
+               return UPDATE_SUCCESS;
+}
+
+function update_1158() {
+       set_config('system', 'maintenance', 1);
+
+       // Wait for 15 seconds for current requests to
+       // clear before locking up the database
+       sleep(15);
+
+       $r = q("CREATE INDEX event_id ON item(`event-id`)");
+       set_config('system', 'maintenance', 0);
+
+       if($r)
+               return UPDATE_SUCCESS;
+
+       return UPDATE_FAILED;
+}
+
+function update_1159() {
+       $r = q("ALTER TABLE `term` ADD `aid` int(10) unsigned NOT NULL DEFAULT '0',
+               ADD `uid` int(10) unsigned NOT NULL DEFAULT '0',
+               ADD INDEX (`uid`),
+               ADD INDEX (`aid`)");
+
+       if(!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1160() {
+       set_config('system', 'maintenance', 1);
+
+       // Wait for 15 seconds for current requests to
+       // clear before locking up the database
+       sleep(15);
+
+       $r = q("ALTER TABLE `item` ADD `mention` TINYINT(1) NOT NULL DEFAULT '0', ADD INDEX (`mention`)");
+       set_config('system', 'maintenance', 0);
+
+       if(!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1161() {
+       $r = q("ALTER TABLE `pconfig` ADD INDEX (`cat`)");
+
+       if(!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1162() {
+       require_once('include/tags.php');
+       update_items();
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1163() {
+       set_config('system', 'maintenance', 1);
+
+       $r = q("ALTER TABLE `item` ADD `network` char(32) NOT NULL,
+               ADD INDEX (`network`)");
+
+       set_config('system', 'maintenance', 0);
+
+       if(!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+function update_1164() {
+       set_config('system', 'maintenance', 1);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_DFRN);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_DFRN, NETWORK_DFRN);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_ZOT, NETWORK_ZOT);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_OSTATUS, NETWORK_OSTATUS);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_FEED, NETWORK_FEED);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_DIASPORA, NETWORK_DIASPORA);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_MAIL, NETWORK_MAIL);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_MAIL2, NETWORK_MAIL2);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_FACEBOOK, NETWORK_FACEBOOK);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_LINKEDIN, NETWORK_LINKEDIN);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_XMPP, NETWORK_XMPP);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_MYSPACE, NETWORK_MYSPACE);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_GPLUS, NETWORK_GPLUS);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_PUMPIO, NETWORK_PUMPIO);
+
+       $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)",
+               NETWORK_TWITTER, NETWORK_TWITTER);
+
+       set_config('system', 'maintenance', 0);
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1165() {
+       $r = q("CREATE TABLE IF NOT EXISTS `push_subscriber` (
+                       `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+                   `uid` INT NOT NULL,
+               `callback_url` CHAR( 255 ) NOT NULL,
+            `topic` CHAR( 255 ) NOT NULL,
+            `nickname` CHAR( 255 ) NOT NULL,
+            `push` INT NOT NULL,
+            `last_update` DATETIME NOT NULL,
+            `secret` CHAR( 255 ) NOT NULL
+                 ) ENGINE = MYISAM DEFAULT CHARSET=utf8 ");
+       if (!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1166() {
+       $r = q("CREATE TABLE IF NOT EXISTS `unique_contacts` (
+                       `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+                       `url` CHAR(255) NOT NULL,
+                       `nick` CHAR(255) NOT NULL,
+                       `name` CHAR(255) NOT NULL,
+                       `avatar` CHAR(255) NOT NULL,
+                       INDEX (`url`)
+                 ) ENGINE = MYISAM DEFAULT CHARSET=utf8 ");
+       if (!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1167() {
+       $r = q("ALTER TABLE `contact` ADD `notify_new_posts` TINYINT(1) NOT NULL DEFAULT '0'");
+       if (!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1168() {
+       $r = q("ALTER TABLE `contact` ADD `fetch_further_information` TINYINT(1) NOT NULL DEFAULT '0'");
+       if (!$r)
+               return UPDATE_FAILED;
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1169() {
+       $r = q("CREATE TABLE IF NOT EXISTS `thread` (
+                 `iid` int(10) unsigned NOT NULL DEFAULT '0',
+                 `uid` int(10) unsigned NOT NULL DEFAULT '0',
+                 `contact-id` int(11) unsigned NOT NULL DEFAULT '0',
+                 `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+                 `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+                 `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+                 `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+                 `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+                 `wall` tinyint(1) NOT NULL DEFAULT '0',
+                 `private` tinyint(1) NOT NULL DEFAULT '0',
+                 `pubmail` tinyint(1) NOT NULL DEFAULT '0',
+                 `moderated` tinyint(1) NOT NULL DEFAULT '0',
+                 `visible` tinyint(1) NOT NULL DEFAULT '0',
+                 `spam` tinyint(1) NOT NULL DEFAULT '0',
+                 `starred` tinyint(1) NOT NULL DEFAULT '0',
+                 `bookmark` tinyint(1) NOT NULL DEFAULT '0',
+                 `unseen` tinyint(1) NOT NULL DEFAULT '1',
+                 `deleted` tinyint(1) NOT NULL DEFAULT '0',
+                 `origin` tinyint(1) NOT NULL DEFAULT '0',
+                 `forum_mode` tinyint(1) NOT NULL DEFAULT '0',
+                 `mention` tinyint(1) NOT NULL DEFAULT '0',
+                 `network` char(32) NOT NULL,
+                 PRIMARY KEY (`iid`),
+                 KEY `created` (`created`),
+                 KEY `commented` (`commented`),
+                 KEY `uid_network_commented` (`uid`,`network`,`commented`),
+                 KEY `uid_network_created` (`uid`,`network`,`created`),
+                 KEY `uid_contactid_commented` (`uid`,`contact-id`,`commented`),
+                 KEY `uid_contactid_created` (`uid`,`contact-id`,`created`),
+                 KEY `wall_private_received` (`wall`,`private`,`received`),
+                 KEY `uid_created` (`uid`,`created`),
+                 KEY `uid_commented` (`uid`,`commented`)
+               ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;");
+       if (!$r)
+               return UPDATE_FAILED;
+
+       proc_run('php',"include/threadupdate.php");
+
+       return UPDATE_SUCCESS;
+}