diff --git a/boot.php b/boot.php
index 0bf92c99e..abb043036 100644
--- a/boot.php
+++ b/boot.php
@@ -2,7 +2,7 @@
define ( 'FRIENDIKA_VERSION', '2.2.1045' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
-define ( 'DB_UPDATE_VERSION', 1075 );
+define ( 'DB_UPDATE_VERSION', 1076 );
define ( 'EOL', "
\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -2957,3 +2957,15 @@ function return_bytes ($size_str) {
}
}}
+function generate_guid() {
+ $found = true;
+ do {
+ $guid = substr(random_string(),0,16);
+ $x = q("SELECT `uid` FROM `user` WHERE `guid` = '%s' LIMIT 1",
+ dbesc($guid)
+ );
+ if(! count($x))
+ $found = false;
+ } while ($found == true );
+ return $guid;
+}
\ No newline at end of file
diff --git a/database.sql b/database.sql
index 8ea3e42de..50697845a 100644
--- a/database.sql
+++ b/database.sql
@@ -379,6 +379,7 @@ CREATE TABLE IF NOT EXISTS `session` (
CREATE TABLE IF NOT EXISTS `user` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
+ `guid` char(16) NOT NULL,
`username` char(255) NOT NULL,
`password` char(255) NOT NULL,
`nickname` char(255) NOT NULL,
diff --git a/mod/register.php b/mod/register.php
index 549d07a91..94eac7a14 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -198,9 +198,10 @@ function register_post(&$a) {
$spkey = openssl_pkey_get_details($sres);
$spubkey = $spkey["key"];
- $r = q("INSERT INTO `user` ( `username`, `password`, `email`, `openid`, `nickname`,
+ $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked` )
- VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
+ VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
+ dbesc(generate_guid()),
dbesc($username),
dbesc($new_password_encoded),
dbesc($email),
diff --git a/mod/xrd.php b/mod/xrd.php
index de0c20ea5..accc2f68e 100644
--- a/mod/xrd.php
+++ b/mod/xrd.php
@@ -27,6 +27,20 @@ function xrd_content(&$a) {
header('Access-Control-Allow-Origin: *');
header("Content-type: text/xml");
+ $dspr_enabled = get_config('system','diaspora_enabled');
+
+ if($dspr_enabled) {
+ $tpl = file_get_contents('view/xrd_diaspora.tpl');
+ $dspr = replace_macros($tpl,array(
+ '$baseurl' => $a->get_baseurl(),
+ '$dspr_guid' => $r[0]['guid'],
+ '$dspr_key' => base64_encode($r[0]['pubkey'])
+ ));
+ }
+ else
+ $dspr = '';
+
+
$tpl = file_get_contents('view/xrd_person.tpl');
$o = replace_macros($tpl, array(
@@ -34,6 +48,7 @@ function xrd_content(&$a) {
'$profile_url' => $a->get_baseurl() . '/profile/' . $r[0]['nickname'],
'$atom' => $a->get_baseurl() . '/dfrn_poll/' . $r[0]['nickname'],
'$photo' => $a->get_baseurl() . '/photo/profile/' . $r[0]['uid'] . '.jpg',
+ '$dspr' => $dspr,
'$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'],
'$salmen' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'] . '/mention',
'$modexp' => 'data:application/magic-public-key,' . $salmon_key
diff --git a/update.php b/update.php
index f2cd5573f..9c55f15cf 100644
--- a/update.php
+++ b/update.php
@@ -1,6 +1,6 @@
+
+
diff --git a/view/xrd_person.tpl b/view/xrd_person.tpl
index b99f7c1fc..0dabaa5a3 100644
--- a/view/xrd_person.tpl
+++ b/view/xrd_person.tpl
@@ -19,6 +19,7 @@
+ $dspr