Fetching "location" and "about" from diaspora. Displaying them on the "display" page.

This commit is contained in:
Michael Vogel 2015-01-07 01:46:13 +01:00
parent a2a393a3c6
commit b36d799044
7 changed files with 40 additions and 31 deletions

View File

@ -1649,8 +1649,10 @@ if(! function_exists('profile_sidebar')) {
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False); $homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
$about = ((x($profile,'about') == 1) ? t('About:') : False);
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) { if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
$location = $pdesc = $gender = $marital = $homepage = False; $location = $pdesc = $gender = $marital = $homepage = $about = False;
} }
$firstname = ((strpos($profile['name'],' ')) $firstname = ((strpos($profile['name'],' '))
@ -1695,6 +1697,7 @@ if(! function_exists('profile_sidebar')) {
'$pdesc' => $pdesc, '$pdesc' => $pdesc,
'$marital' => $marital, '$marital' => $marital,
'$homepage' => $homepage, '$homepage' => $homepage,
'$about' => $about,
'$network' => t('Network:'), '$network' => t('Network:'),
'$diaspora' => $diaspora, '$diaspora' => $diaspora,
'$contact_block' => $contact_block, '$contact_block' => $contact_block,

View File

@ -2028,7 +2028,7 @@ function diaspora_retraction($importer,$xml) {
dbesc(datetime_convert()), dbesc(datetime_convert()),
intval($r[0]['id']) intval($r[0]['id'])
); );
delete_thread($r[0]['id']); delete_thread($r[0]['id'], $r[0]['parent-uri']);
} }
} }
} }
@ -2101,7 +2101,7 @@ function diaspora_signed_retraction($importer,$xml,$msg) {
dbesc(datetime_convert()), dbesc(datetime_convert()),
intval($r[0]['id']) intval($r[0]['id'])
); );
delete_thread($r[0]['id']); delete_thread($r[0]['id'], $r[0]['parent-uri']);
// Now check if the retraction needs to be relayed by us // Now check if the retraction needs to be relayed by us
// //
@ -2161,6 +2161,8 @@ function diaspora_profile($importer,$xml,$msg) {
$name = unxmlify($xml->first_name) . ((strlen($xml->last_name)) ? ' ' . unxmlify($xml->last_name) : ''); $name = unxmlify($xml->first_name) . ((strlen($xml->last_name)) ? ' ' . unxmlify($xml->last_name) : '');
$image_url = unxmlify($xml->image_url); $image_url = unxmlify($xml->image_url);
$birthday = unxmlify($xml->birthday); $birthday = unxmlify($xml->birthday);
$location = unxmlify($xml->location);
$about = diaspora2bb(unxmlify($xml->bio));
$handle_parts = explode("@", $diaspora_handle); $handle_parts = explode("@", $diaspora_handle);
@ -2168,7 +2170,6 @@ function diaspora_profile($importer,$xml,$msg) {
$name = $handle_parts[0]; $name = $handle_parts[0];
} }
if( preg_match("|^https?://|", $image_url) === 0) { if( preg_match("|^https?://|", $image_url) === 0) {
$image_url = "http://" . $handle_parts[1] . $image_url; $image_url = "http://" . $handle_parts[1] . $image_url;
} }
@ -2198,7 +2199,7 @@ function diaspora_profile($importer,$xml,$msg) {
// TODO: update name on item['author-name'] if the name changed. See consume_feed() // TODO: update name on item['author-name'] if the name changed. See consume_feed()
// Not doing this currently because D* protocol is scheduled for revision soon. // Not doing this currently because D* protocol is scheduled for revision soon.
$r = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s' WHERE `id` = %d AND `uid` = %d", $r = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s', `location` = '%s', `about` = '%s' WHERE `id` = %d AND `uid` = %d",
dbesc($name), dbesc($name),
dbesc(datetime_convert()), dbesc(datetime_convert()),
dbesc($images[0]), dbesc($images[0]),
@ -2206,6 +2207,8 @@ function diaspora_profile($importer,$xml,$msg) {
dbesc($images[2]), dbesc($images[2]),
dbesc(datetime_convert()), dbesc(datetime_convert()),
dbesc($birthday), dbesc($birthday),
dbesc($location),
dbesc($about),
intval($contact['id']), intval($contact['id']),
intval($importer['uid']) intval($importer['uid'])
); );

View File

@ -4509,7 +4509,7 @@ function drop_item($id,$interactive = true) {
); );
create_tags_from_item($item['id']); create_tags_from_item($item['id']);
create_files_from_item($item['id']); create_files_from_item($item['id']);
delete_thread($item['id']); delete_thread($item['id'], $item['parent-uri']);
// clean up categories and tags so they don't end up as orphans // clean up categories and tags so they don't end up as orphans

View File

@ -149,28 +149,26 @@ function delete_thread_uri($itemuri, $uid) {
if(count($messages)) if(count($messages))
foreach ($messages as $message) foreach ($messages as $message)
delete_thread($message["id"]); delete_thread($message["id"], $itemuri);
} }
function delete_thread($itemid) { function delete_thread($itemid, $itemuri = "") {
// To-Do: $item = q("SELECT `uid` FROM `thread` WHERE `iid` = %d", intval($itemid));
// There is no "uri" in the thread table ...
$item = q("SELECT `uri`, `uid` FROM `thread` WHERE `iid` = %d", intval($itemid));
$result = q("DELETE FROM `thread` WHERE `iid` = %d", intval($itemid)); $result = q("DELETE FROM `thread` WHERE `iid` = %d", intval($itemid));
logger("delete_thread: Deleted thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG); logger("delete_thread: Deleted thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
if (count($item)) { if ($itemuri != "") {
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND NOT (`uid` IN (%d, 0))", $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND NOT (`uid` IN (%d, 0))",
dbesc($item["uri"]), dbesc($itemuri),
intval($item["uid"]) intval($item["uid"])
); );
if (!count($r)) { if (!count($r)) {
$r = q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = 0)", $r = q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = 0)",
dbesc($item["uri"]) dbesc($itemuri)
); );
logger("delete_thread: Deleted shadow for item ".$item["uri"]." - ".print_r($result, true), LOGGER_DEBUG); logger("delete_thread: Deleted shadow for item ".$itemuri." - ".print_r($result, true), LOGGER_DEBUG);
} }
} }
} }

View File

@ -16,7 +16,7 @@ function display_init(&$a) {
// Does the local user have this item? // Does the local user have this item?
if (local_user()) { if (local_user()) {
$r = q("SELECT `id`, `parent`, `author-name`, `author-link`, `author-avatar`, `network`, `body` FROM `item` $r = q("SELECT `id`, `parent`, `author-name`, `author-link`, `author-avatar`, `network`, `body`, `uid` FROM `item`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0 WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `guid` = '%s' AND `uid` = %d", $a->argv[1], local_user()); AND `guid` = '%s' AND `uid` = %d", $a->argv[1], local_user());
if (count($r)) { if (count($r)) {
@ -43,7 +43,7 @@ function display_init(&$a) {
} }
if (count($r)) { if (count($r)) {
if ($r[0]["id"] != $r[0]["parent"]) if ($r[0]["id"] != $r[0]["parent"])
$r = q("SELECT `id`, `author-name`, `author-link`, `author-avatar`, `network`, `body` FROM `item` $r = q("SELECT `id`, `author-name`, `author-link`, `author-avatar`, `network`, `body`, `uid` FROM `item`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0 WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `id` = %d", $r[0]["parent"]); AND `id` = %d", $r[0]["parent"]);
@ -88,21 +88,22 @@ function display_fetchauthor($a, $item) {
$profiledata["photo"] = proxy_url($item["author-avatar"]); $profiledata["photo"] = proxy_url($item["author-avatar"]);
$profiledata["url"] = $item["author-link"]; $profiledata["url"] = $item["author-link"];
$profiledata["network"] = $item["network"]; $profiledata["network"] = $item["network"];
$profiledata["address"] = "Ort".print_r($item, true);
// Fetching profile data from unique contacts // Fetching further contact data from the contact table
// To-do: Extend "unique contacts" table for further contact data like location, ... $r = q("SELECT `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
$r = q("SELECT `avatar`, `nick` FROM `unique_contacts` WHERE `url` = '%s'", normalise_link($profiledata["url"])); normalise_link($profiledata["url"]), $item["uid"]);
if (count($r)) { if (count($r)) {
$profiledata["photo"] = proxy_url($r[0]["avatar"]); $profiledata["photo"] = proxy_url($r[0]["photo"]);
$profiledata["address"] = $r[0]["location"];
$profiledata["about"] = $r[0]["about"];
if ($r[0]["nick"] != "") if ($r[0]["nick"] != "")
$profiledata["nickname"] = $r[0]["nick"]; $profiledata["nickname"] = $r[0]["nick"];
} else { } else {
// Is this case possible? // Fetching profile data from unique contacts
// Fetching further contact data from the contact table, when it isn't available in the "unique contacts" $r = q("SELECT `avatar`, `nick` FROM `unique_contacts` WHERE `url` = '%s'", normalise_link($profiledata["url"]));
$r = q("SELECT `photo`, `nick` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
normalise_link($profiledata["url"]), $itemuid);
if (count($r)) { if (count($r)) {
$profiledata["photo"] = proxy_url($r[0]["photo"]); $profiledata["photo"] = proxy_url($r[0]["avatar"]);
if ($r[0]["nick"] != "") if ($r[0]["nick"] != "")
$profiledata["nickname"] = $r[0]["nick"]; $profiledata["nickname"] = $r[0]["nick"];
} }

View File

@ -35,6 +35,8 @@
{{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url u-url"><a href="{{$profile.homepage}}" rel="me" target="_blank">{{$profile.homepage}}</a></dd></dl>{{/if}} {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url u-url"><a href="{{$profile.homepage}}" rel="me" target="_blank">{{$profile.homepage}}</a></dd></dl>{{/if}}
{{if $about}}<dl class="about"><dt class="about-label">{{$about}}</dt><dd class="x-network">{{$profile.about}}</dd></dl>{{/if}}
{{include file="diaspora_vcard.tpl"}} {{include file="diaspora_vcard.tpl"}}
<div id="profile-extra-links"> <div id="profile-extra-links">

View File

@ -55,6 +55,8 @@
{{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a href="{{$profile.homepage}}" class="u-url" rel="me" target="_blank">{{$profile.homepage}}</a></dd></dl>{{/if}} {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a href="{{$profile.homepage}}" class="u-url" rel="me" target="_blank">{{$profile.homepage}}</a></dd></dl>{{/if}}
{{if $about}}<dl class="about"><dt class="about-label">{{$about}}</dt><dd class="x-network">{{$profile.about}}</dd></dl>{{/if}}
{{include file="diaspora_vcard.tpl"}} {{include file="diaspora_vcard.tpl"}}
<div id="profile-extra-links"> <div id="profile-extra-links">