// q("DELETE FROM `user` WHERE `uid` = %d", intval($uid));
q("UPDATE `user` SET `account_removed` = 1, `account_expires_on` = UTC_TIMESTAMP() WHERE `uid` = %d", intval($uid));
proc_run('php', "include/notifier.php", "removeme", $uid);
+
+ // Send an update to the directory
+ proc_run('php', "include/directory.php", $r[0]['url']);
+
if($uid == local_user()) {
unset($_SESSION['authenticated']);
unset($_SESSION['uid']);
'$photo' => $self['photo'],
'$thumb' => $self['thumb'],
'$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME),
- '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . random_string(),
+ '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . get_guid(32),
'$title' => '',
'$type' => 'text',
'$content' => t('stopped following'),
);
}}
+function get_contact_details_by_url($url, $uid = -1) {
+ require_once("mod/proxy.php");
+ require_once("include/bbcode.php");
+
+ if ($uid == -1)
+ $uid = local_user();
+
+ $r = q("SELECT `url`, `name`, `nick`, `addr`. `photo`, `location`, `about`, `keywords`, `gender`, `community`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+ dbesc(normalise_link($url)));
+
+ if ($r)
+ $profile = $r[0];
+ else {
+ $r = q("SELECT `url`, `name`, `nick`, `avatar` AS `photo`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'",
+ dbesc(normalise_link($url)));
+
+ if (count($r)) {
+ $profile = $r[0];
+ $profile["keywords"] = "";
+ $profile["gender"] = "";
+ $profile["community"] = false;
+ $profile["network"] = "";
+ $profile["addr"] = "";
+ }
+ }
+
+ // Fetching further contact data from the contact table
+ $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
+ dbesc(normalise_link($url)), intval($uid), dbesc($profile["network"]));
+
+ if (!count($r))
+ $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
+ dbesc(normalise_link($url)), intval($uid));
+
+ if (!count($r))
+ $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
+ dbesc(normalise_link($url)));
+
+ if ($r) {
+ if (isset($r[0]["url"]) AND $r[0]["url"])
+ $profile["url"] = $r[0]["url"];
+ if (isset($r[0]["name"]) AND $r[0]["name"])
+ $profile["name"] = $r[0]["name"];
+ if (isset($r[0]["nick"]) AND $r[0]["nick"] AND ($profile["nick"] == ""))
+ $profile["nick"] = $r[0]["nick"];
+ if (isset($r[0]["addr"]) AND $r[0]["addr"] AND ($profile["addr"] == ""))
+ $profile["addr"] = $r[0]["addr"];
+ if (isset($r[0]["photo"]) AND $r[0]["photo"])
+ $profile["photo"] = $r[0]["photo"];
+ if (isset($r[0]["location"]) AND $r[0]["location"])
+ $profile["location"] = $r[0]["location"];
+ if (isset($r[0]["about"]) AND $r[0]["about"])
+ $profile["about"] = $r[0]["about"];
+ if (isset($r[0]["keywords"]) AND $r[0]["keywords"])
+ $profile["keywords"] = $r[0]["keywords"];
+ if (isset($r[0]["gender"]) AND $r[0]["gender"])
+ $profile["gender"] = $r[0]["gender"];
+ if (isset($r[0]["forum"]) OR isset($r[0]["prv"]))
+ $profile["community"] = ($r[0]["forum"] OR $r[0]["prv"]);
+ if (isset($r[0]["network"]) AND $r[0]["network"])
+ $profile["network"] = $r[0]["network"];
+ if (isset($r[0]["addr"]) AND $r[0]["addr"])
+ $profile["addr"] = $r[0]["addr"];
+ if (isset($r[0]["bd"]) AND $r[0]["bd"])
+ $profile["bd"] = $r[0]["bd"];
+ if ($r[0]["uid"] == 0)
+ $profile["cid"] = 0;
+ else
+ $profile["cid"] = $r[0]["id"];
+ } else
+ $profile["cid"] = 0;
+
+ if (isset($profile["photo"]))
+ $profile["photo"] = proxy_url($profile["photo"], false, PROXY_SIZE_SMALL);
+
+ if (isset($profile["location"]))
+ $profile["location"] = bbcode($profile["location"]);
+
+ if (isset($profile["about"]))
+ $profile["about"] = bbcode($profile["about"]);
+
+ if (($profile["cid"] == 0) AND ($profile["network"] == NETWORK_DIASPORA)) {
+ $profile["location"] = "";
+ $profile["about"] = "";
+ }
+
+ return($profile);
+}
+
if(! function_exists('contact_photo_menu')){
function contact_photo_menu($contact) {
$status_link = $profile_link . "?url=status";
$photos_link = $profile_link . "?url=photos";
$profile_link = $profile_link . "?url=profile";
- $pm_url = $a->get_baseurl() . '/message/new/' . $contact['id'];
}
- $poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id'];
+ if (in_array($contact["network"], array(NETWORK_DFRN, NETWORK_DIASPORA)))
+ $pm_url = $a->get_baseurl() . '/message/new/' . $contact['id'];
+
+ if ($contact["network"] == NETWORK_DFRN)
+ $poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id'];
+
$contact_url = $a->get_baseurl() . '/contacts/' . $contact['id'];
$posts_link = $a->get_baseurl() . '/network/0?nets=all&cid=' . $contact['id'];
$contact_drop_link = $a->get_baseurl() . "/contacts/" . $contact['id'] . '/drop?confirm=1';
$menu = Array(
- 'poke' => array(t("Poke"), $poke_link),
'status' => array(t("View Status"), $status_link),
'profile' => array(t("View Profile"), $profile_link),
'photos' => array(t("View Photos"), $photos_link),
'edit' => array(t("Edit Contact"), $contact_url),
'drop' => array(t("Drop Contact"), $contact_drop_link),
'pm' => array(t("Send PM"), $pm_url),
+ 'poke' => array(t("Poke"), $poke_link),
);
}
}
return $o;*/
+
foreach($menu as $k=>$v){
if ($v[1]!="") {
if(($v[0] !== t("Network Posts")) && ($v[0] !== t("Send PM")) && ($v[0] !== t('Edit Contact')))
$menu[$k][2] = 0;
}
}
- return $menu;
+
+ $menucondensed = array();
+
+ foreach ($menu AS $menuitem)
+ if ($menuitem[1] != "")
+ $menucondensed[] = $menuitem;
+
+ return $menucondensed;
}}
function random_profile() {
- $r = q("select url from gcontact where url like '%%://%%/profile/%%' order by rand() limit 1");
+ $r = q("SELECT `url` FROM `gcontact` WHERE `network` = '%s'
+ AND `last_contact` >= `last_failure`
+ AND `updated` > UTC_TIMESTAMP - INTERVAL 1 MONTH
+ ORDER BY rand() LIMIT 1",
+ dbesc(NETWORK_DFRN));
+
if(count($r))
return dirname($r[0]['url']);
return '';
if (!$update_photo)
return($contactid);
- }
+ } elseif ($uid != 0)
+ return 0;
if (!count($data))
$data = probe_url($url);