]> git.mxchange.org Git - friendica.git/blobdiff - update.php
Added new file for ignoring threads
[friendica.git] / update.php
index 6dd58757b9fd6830c3f843e4108ac7bbe0a60155..ada6edbb37ba17c4c277b2eec2e14a52f3b66fe6 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-define( 'UPDATE_VERSION' , 1162 );
+define( 'UPDATE_VERSION' , 1171 );
 
 /**
  *
@@ -10,26 +10,25 @@ define( 'UPDATE_VERSION' , 1162 );
  * 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'])
                                        );
                                }
@@ -1409,9 +1408,6 @@ function update_1159() {
        if(!$r)
                return UPDATE_FAILED;
 
-       require_once('include/tags.php');
-       update_items();
-
        return UPDATE_SUCCESS;
 }
 
@@ -1439,3 +1435,167 @@ function update_1161() {
 
        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;
+}