aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-02-24 20:40:09 -0800
committerfriendica <info@friendica.com>2012-02-24 20:40:09 -0800
commita3cf563b6836391ff4d07335cf25189c7a06418e (patch)
tree919975e4ba99bb0986f69e3ae4a18a0f2091e881
parentcb9d0993f195841a5d8adcaed4faeb7423f13a14 (diff)
downloadvolse-hubzilla-a3cf563b6836391ff4d07335cf25189c7a06418e.tar.gz
volse-hubzilla-a3cf563b6836391ff4d07335cf25189c7a06418e.tar.bz2
volse-hubzilla-a3cf563b6836391ff4d07335cf25189c7a06418e.zip
update author name across items if changed.
-rwxr-xr-xboot.php2
-rwxr-xr-xdatabase.sql1
-rwxr-xr-xinclude/items.php18
-rwxr-xr-xupdate.php6
4 files changed, 24 insertions, 3 deletions
diff --git a/boot.php b/boot.php
index 4dd16c940..0815f59f6 100755
--- a/boot.php
+++ b/boot.php
@@ -11,7 +11,7 @@ require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '2.3.1262' );
define ( 'DFRN_PROTOCOL_VERSION', '2.22' );
-define ( 'DB_UPDATE_VERSION', 1124 );
+define ( 'DB_UPDATE_VERSION', 1125 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
diff --git a/database.sql b/database.sql
index e051cdaac..f4199cb55 100755
--- a/database.sql
+++ b/database.sql
@@ -257,6 +257,7 @@ CREATE TABLE IF NOT EXISTS `item` (
KEY `last-child` (`last-child`),
KEY `unseen` (`unseen`),
KEY `wall` (`wall`),
+ KEY `author-name` (`author-name`),
KEY `author-link` (`author-link`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `body` (`body`),
diff --git a/include/items.php b/include/items.php
index ba4ec036f..de3ade6b4 100755
--- a/include/items.php
+++ b/include/items.php
@@ -1308,12 +1308,28 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name-date'])) {
- q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ $r = q("select * from contact where uid = %d and id = %d limit 1",
+ intval($contact['uid']),
+ intval($contact['id'])
+ );
+
+ $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
dbesc(notags(trim($new_name))),
dbesc(datetime_convert()),
intval($contact['uid']),
intval($contact['id'])
);
+
+ // do our best to update the name on content items
+
+ if(count($r)) {
+ q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
+ dbesc(notags(trim($new_name))),
+ dbesc($r[0]['name']),
+ dbesc($r[0]['url']),
+ intval($contact['uid'])
+ );
+ }
}
if(strlen($birthday)) {
diff --git a/update.php b/update.php
index 07555bc01..0096754d2 100755
--- a/update.php
+++ b/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1124 );
+define( 'UPDATE_VERSION' , 1125 );
/**
*
@@ -1073,3 +1073,7 @@ ADD INDEX ( `hash` ) ");
function update_1123() {
set_config('system','allowed_themes','dispy,quattro,testbubble,vier,darkbubble,darkzero,duepuntozero,greenzero,purplezero,quattro-green,slackr');
}
+
+function update_1124() {
+q("alter table item add index (`author-name`) ");
+} \ No newline at end of file