aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot.php2
-rw-r--r--database.sql1
-rw-r--r--include/Scrape.php5
-rw-r--r--mod/dfrn_request.php10
-rw-r--r--mod/profile.php2
-rw-r--r--mod/register.php5
-rw-r--r--update.php13
7 files changed, 30 insertions, 8 deletions
diff --git a/boot.php b/boot.php
index c8649f2d6..7885bb4ea 100644
--- a/boot.php
+++ b/boot.php
@@ -2,7 +2,7 @@
set_time_limit(0);
-define ( 'BUILD_ID', 1011 );
+define ( 'BUILD_ID', 1012 );
define ( 'DFRN_PROTOCOL_VERSION', '2.0' );
define ( 'EOL', "<br />\r\n" );
diff --git a/database.sql b/database.sql
index a3d78d79a..36c578961 100644
--- a/database.sql
+++ b/database.sql
@@ -56,6 +56,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
`duplex` tinyint(1) NOT NULL DEFAULT '0',
`network` char(255) NOT NULL,
`name` char(255) NOT NULL,
+ `nick` char(255) NOT NULL,
`photo` text NOT NULL,
`thumb` text NOT NULL,
`site-pubkey` text NOT NULL,
diff --git a/include/Scrape.php b/include/Scrape.php
index b4a5dd849..0272dde12 100644
--- a/include/Scrape.php
+++ b/include/Scrape.php
@@ -33,6 +33,11 @@ function scrape_dfrn($url) {
$x = $item->getAttribute('rel');
if(substr($x,0,5) == "dfrn-")
$ret[$x] = $item->getAttribute('href');
+ if($x === 'lrdd') {
+ $decoded = urldecode($item->getAttribute('href'));
+ if(preg_match('/acct:([^@]*)@/',$decoded,$matches))
+ $ret['nick'] = $matches[1];
+ }
}
// Pull out hCard profile elements
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index 6e8171d50..ddf495986 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -96,13 +96,14 @@ function dfrn_request_post(&$a) {
dbesc_array($parms);
- $r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `name`, `photo`, `site-pubkey`,
+ $r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `name`, `nick`, `photo`, `site-pubkey`,
`request`, `confirm`, `notify`, `poll`, `aes_allow`)
- VALUES ( %d, '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', %d)",
+ VALUES ( %d, '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
intval(local_user()),
datetime_convert(),
dbesc($dfrn_url),
$parms['fn'],
+ $parms['nick'],
$parms['photo'],
$parms['key'],
$parms['dfrn-request'],
@@ -271,13 +272,14 @@ function dfrn_request_post(&$a) {
dbesc_array($parms);
- $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `name`, `issued-id`, `photo`, `site-pubkey`,
+ $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `name`, `nick`, `issued-id`, `photo`, `site-pubkey`,
`request`, `confirm`, `notify`, `poll` )
- VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
+ VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($uid),
datetime_convert(),
$parms['url'],
$parms['fn'],
+ $parms['nick'],
$parms['issued-id'],
$parms['photo'],
$parms['key'],
diff --git a/mod/profile.php b/mod/profile.php
index f99a3c4f2..6c60ea8ac 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -65,7 +65,7 @@ function profile_init(&$a) {
$a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . (($a->profile['net-publish']) ? 'true' : 'false') . '" />' . "\r\n" ;
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
- $uri = urlencode('acct:' . $a->user['nickname'] . '@' . $a->get_hostname() . (($a->path) ? '/' . $a->path : ''));
+ $uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . (($a->path) ? '/' . $a->path : ''));
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
header('Link: <' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"');
diff --git a/mod/register.php b/mod/register.php
index 6f0469db8..52c3863eb 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -161,12 +161,13 @@ function register_post(&$a) {
intval($newuid));
return;
}
- $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `photo`, `thumb`, `blocked`, `pending`, `url`,
+ $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `nick`, `photo`, `thumb`, `blocked`, `pending`, `url`,
`request`, `notify`, `poll`, `confirm`, `name-date`, `uri-date`, `avatar-date` )
- VALUES ( %d, '%s', 1, '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ VALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($newuid),
datetime_convert(),
dbesc($username),
+ dbesc($nickname),
dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
dbesc($a->get_baseurl() . "/profile/$nickname"),
diff --git a/update.php b/update.php
index 65713583b..f0d72ef16 100644
--- a/update.php
+++ b/update.php
@@ -80,3 +80,16 @@ function update_1009() {
function update_1010() {
q("ALTER TABLE `contact` ADD `lrdd` CHAR( 255 ) NOT NULL AFTER `url` ");
}
+
+function update_1011() {
+ q("ALTER TABLE `contact` ADD `nick` CHAR( 255 ) NOT NULL AFTER `name` ");
+ $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",
+ dbesc(basename($rr['url'])),
+ intval($rr['id'])
+ );
+ }
+ }
+} \ No newline at end of file