if(! is_array($contact))
return;
- if($contact['network'] === 'stat' && strlen($datarray['title']))
- unset($datarray['title']);
+ if($contact['network'] === 'stat') {
+ if(strlen($datarray['title']))
+ unset($datarray['title']);
+ if(($contact['rel'] == REL_VIP) || ($contact['rel'] == REL_BUD))
+ $datarray['last-child'] = 1;
+ }
$datarray['parent-uri'] = $item_id;
$datarray['uid'] = $importer['uid'];
$datarray['contact-id'] = $contact['id'];
if(is_array($contact)) {
if($contact['network'] == 'stat' && $contact['rel'] == REL_FAN) {
- $q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval(REL_BUD),
intval($contact['id']),
intval($importer['uid'])
function lose_follower($importer,$contact,$datarray,$item) {
- if($contact['rel'] == REL_BUD) {
+ if(($contact['rel'] == REL_BUD) || ($contact['rel'] == REL_FAN)) {
q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d LIMIT 1",
intval(REL_FAN),
intval($contact['id'])
killme();
}
- $r = q("SELECT `contact`.*, `user`.`nickname`, `user`.`page-flags`
+ $r = q("SELECT `contact`.*, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, `user`.`page-flags`
FROM `contact` LEFT JOIN `user` ON `user`.`uid` = `contact`.`uid`
WHERE `contact`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
intval($uid)
require_once('datetime.php');
require_once('simplepie/simplepie.inc');
require_once('include/items.php');
-
require_once('include/Contact.php');
$debugging = get_config('system','debugging');
$signature = base64url_encode($rsa->sign($data . $precomputed));
- $signature2 = base64url_encode($rsa->sign($data));
+ $signature2 = base64url_encode($rsa->sign($data));
$salmon_tpl = load_view_file('view/magicsig.tpl');
$salmon = replace_macros($salmon_tpl,array(
));
$a = get_app();
- $return_code = trim($a->get_curl_code);
+ $return_code = trim($a->get_curl_code());
// check for success, e.g. 2xx
'Content-type: application/magic-envelope+xml',
'Content-length: ' . strlen($salmon)
));
- $return_code = trim($a->get_curl_code);
+ $return_code = trim($a->get_curl_code());
+
}
return;
'$last_update' => (($r[0]['last-update'] == '0000-00-00 00:00:00')
? t('Never')
: datetime_convert('UTC',date_default_timezone_get(),$r[0]['last-update'],'D, j M Y, g:i A')),
- '$profile_select' => contact_profile_assign($r[0]['profile-id']),
+ '$profile_select' => contact_profile_assign($r[0]['profile-id'],(($r[0]['network'] !== 'dfrn') ? true : false)),
'$contact_id' => $r[0]['id'],
'$block_text' => (($r[0]['blocked']) ? t('Unblock this contact') : t('Block this contact') ),
'$ignore_text' => (($r[0]['readonly']) ? t('Unignore this contact') : t('Ignore this contact') ),
+ '$insecure' => (($r[0]['network'] === 'dfrn') ? '' : load_view_file('view/insecure_net.tpl')),
'$blocked' => (($r[0]['blocked']) ? '<div id="block-message">' . t('Currently blocked') . '</div>' : ''),
'$ignored' => (($r[0]['readonly']) ? '<div id="ignore-message">' . t('Currently ignored') . '</div>' : ''),
'$rating' => contact_reputation($r[0]['rating']),
*
*/
- $r = q("SELECT * FROM `contact` WHERE `network` = 'stat' AND ( `url` = '%s' OR `lrdd` = '%s') AND `uid` = %d
- AND `readonly` = 0 LIMIT 1",
+ $r = q("SELECT * FROM `contact` WHERE `network` = 'stat' AND ( `url` = '%s' OR `lrdd` = '%s')
+ AND `uid` = %d LIMIT 1",
dbesc($author_link),
dbesc($author_link),
intval($importer['uid'])
file_put_contents('salmon.out',"\n" . 'Author unknown to us.' . "\n", FILE_APPEND);
}
+ if((count($r)) && ($r[0]['readonly'])) {
+ if($debugging)
+ file_put_contents('salmon.out',"\n" . 'Ignoring this author.' . "\n", FILE_APPEND);
+ salmon_return(200);
+ // NOTREACHED
+ }
+
require_once('include/items.php');
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n";
- $r = q("SELECT `id`, `name`, `url` FROM `contact`
- WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `network` = 'dfrn'
+ $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact`
+ WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0
$sql_extra
ORDER BY `name` ASC ",
- $_SESSION['uid']
+ intval(local_user())
);
if(count($r)) {
$selected = " selected=\"selected\" ";
else
$selected = '';
- $o .= "<option value=\"{$rr['id']}\" $selected title=\"{$rr['url']}\" >{$rr['name']}</option>\r\n";
+ if($rr['network'] === 'stat')
+ $disabled = ' disabled="true" ' ;
+ else
+ $disabled = '';
+ $o .= "<option value=\"{$rr['id']}\" $selected $disabled title=\"{$rr['url']}\" >{$rr['name']}</option>\r\n";
}
}
</div>
<div id="contact-edit-end" ></div>
+$insecure
$blocked
$ignored
<?php
-function contact_profile_assign($current) {
+function contact_profile_assign($current,$foreign_net) {
$o = '';
- $o .= "<select id=\"contact-profile-selector\" name=\"profile-assign\" />\r\n";
+
+ $disabled = (($foreign_net) ? ' disabled="true" ' : '');
+
+ $o .= "<select id=\"contact-profile-selector\" $disabled name=\"profile-assign\" />\r\n";
$r = q("SELECT `id`, `profile-name` FROM `profile` WHERE `uid` = %d",
intval($_SESSION['uid']));
</me:data>
<me:encoding>$encoding</me:encoding>
<me:alg>$algorithm</me:alg>
-<me:sig keyash="$keyhash">$signature</me:sig>
+<me:sig keyhash="$keyhash">$signature</me:sig>
</me:env>
margin-left: 50px;
}
-#block-message, #ignore-message {
+#block-message, #ignore-message, #profile-edit-insecure {
margin-top: 20px;
- width: 180px;
color: #FF0000;
font-size: 1.1em;
border: 1px solid #FF8888;
padding: 10px;
}
+#block-message, #ignore-message {
+ width: 180px;
+}
+
+#profile-edit-insecure {
+ width: 600px;
+}
+
.profile-tabs {
float: left;
padding: 4px;