diff --git a/database.sql b/database.sql index 9115c3315..55dcaeb13 100644 --- a/database.sql +++ b/database.sql @@ -62,6 +62,7 @@ CREATE TABLE IF NOT EXISTS `contact` ( `last-update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `priority` tinyint(3) NOT NULL, `blocked` tinyint(1) NOT NULL DEFAULT '1', + `readonly` tinyint(1) NOT NULL DEFAULT '0', `pending` tinyint(1) NOT NULL DEFAULT '1', `rating` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0-5 reputation, 0 unknown, 1 call police, 5 inscrutable', `reason` text NOT NULL COMMENT 'why a rating was given - will help friends decide to make friends or not', diff --git a/images/no.gif b/images/no.gif new file mode 100644 index 000000000..eb0f2b0e9 Binary files /dev/null and b/images/no.gif differ diff --git a/include/notifier.php b/include/notifier.php index 6986deb96..25a082a90 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -15,7 +15,7 @@ require_once("datetime.php"); if($argc < 3) exit; -//dbg(3); +dbg(3); $baseurl = $argv[1]; $a->set_baseurl($argv[1]); @@ -215,12 +215,14 @@ if($argc < 3) // delivery loop foreach($r as $rr) { - if($rr['self']) continue; if(! strlen($rr['dfrn-id'])) continue; + + + $url = $rr['notify'] . '?dfrn_id=' . $rr['dfrn-id']; $xml = fetch_url($url); @@ -240,7 +242,7 @@ echo $xml; openssl_public_decrypt($challenge,$postvars['challenge'],$rr['pubkey']); - if(strlen($rr['dfrn-id']) && (! $rr['blocked'])) + if(strlen($rr['dfrn-id']) && (! ($rr['blocked']) || ($rr['readonly']))) $postvars['data'] = $atom; else $postvars['data'] = $atom_nowrite; diff --git a/include/poller.php b/include/poller.php index c7108d13c..d1fc898d5 100644 --- a/include/poller.php +++ b/include/poller.php @@ -95,7 +95,7 @@ echo "Length:" . strlen($xml) . "\r\n"; if(count($r)) { if($r[0]['uri'] == $r[0]['parent-uri']) { $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s' - WHERE `parent-uri` = '%s'" + WHERE `parent-uri` = '%s'", dbesc($when), dbesc($r[0]['uri']) ); diff --git a/mod/contacts.php b/mod/contacts.php index c2a1d5338..6f7f978aa 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -36,7 +36,7 @@ function contacts_post(&$a) { intval($_SESSION['uid']) ); if(! count($r)) { - notice("Cannot locate selected profile." . EOL); + notice( t('Could not locate selected profile.') . EOL); return; } } @@ -55,9 +55,9 @@ function contacts_post(&$a) { intval($_SESSION['uid']) ); if($r) - notice("Contact updated." . EOL); + notice( t('Contact updated.') . EOL); else - notice("Failed to update contact record." . EOL); + notice( t('Failed to update contact record.') . EOL); return; } @@ -67,7 +67,7 @@ function contacts_post(&$a) { function contacts_content(&$a) { if(! local_user()) { - $_SESSION['sysmsg'] .= "Permission denied." . EOL; + notice( t('Permission denied.') . EOL); return; } @@ -85,7 +85,7 @@ function contacts_content(&$a) { ); if(! count($orig_record)) { - notice("Could not access contact record." . EOL); + notice( t('Could not access contact record.') . EOL); goaway($a->get_baseurl() . '/contacts'); return; // NOTREACHED } @@ -105,7 +105,22 @@ function contacts_content(&$a) { intval($_SESSION['uid']) ); if($r) { - $msg = "Contact has been " . (($blocked) ? '' : 'un') . "blocked." . EOL ; + $msg = t('Contact has been ') . (($blocked) ? t('blocked') : t('unblocked')) . EOL ; + notice($msg); + } + goaway($a->get_baseurl() ."/contacts/$contact_id"); + return; // NOTREACHED + } + + if($cmd == 'ignore') { + $readonly = (($orig_record[0]['readonly']) ? 0 : 1); + $r = q("UPDATE `contact` SET `readonly` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($readonly), + intval($contact_id), + intval($_SESSION['uid']) + ); + if($r) { + $msg = t('Contact has been ') . (($readonly) ? t('ignored') : t('unignored')) . EOL ; notice($msg); } goaway($a->get_baseurl() ."/contacts/$contact_id"); @@ -143,7 +158,7 @@ function contacts_content(&$a) { intval($contact_id) ); if(! count($r)) { - notice("Contact not found."); + notice( t('Contact not found.') . EOL); return; } @@ -156,25 +171,26 @@ function contacts_content(&$a) { if(strlen($r[0]['dfrn-id'])) { $direction = DIRECTION_BOTH; $dir_icon = 'images/lrarrow.gif'; - $alt_text = 'Mutual Friendship'; + $alt_text = t('Mutual Friendship'); } else { $direction = DIRECTION_IN; $dir_icon = 'images/larrow.gif'; - $alt_text = 'is a fan of yours'; + $alt_text = t('is a fan of yours'); } } else { $direction = DIRECTION_OUT; $dir_icon = 'images/rarrow.gif'; - $alt_text = 'you are a fan of'; + $alt_text = t('you are a fan of'); } $o .= replace_macros($tpl,array( '$profile_select' => contact_profile_assign($r[0]['profile-id']), '$contact_id' => $r[0]['id'], - '$block_text' => (($r[0]['blocked']) ? 'Unblock this contact' : 'Block this contact' ), - '$blocked' => (($r[0]['blocked']) ? '