aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Macgirvin <mike@macgirvin.com>2010-07-27 22:32:21 -0700
committerMike Macgirvin <mike@macgirvin.com>2010-07-27 22:32:21 -0700
commitfa154248dcd62677544aa9ac7d82ddcd3df92f6e (patch)
tree57e47aafd0faa2b462aeb7bea864b562577333d9
parent2e5fb9c37e76c20ea0c25e1215a549b561dc68a8 (diff)
downloadvolse-hubzilla-fa154248dcd62677544aa9ac7d82ddcd3df92f6e.tar.gz
volse-hubzilla-fa154248dcd62677544aa9ac7d82ddcd3df92f6e.tar.bz2
volse-hubzilla-fa154248dcd62677544aa9ac7d82ddcd3df92f6e.zip
working on readonly contact attribute
-rw-r--r--database.sql1
-rw-r--r--images/no.gifbin0 -> 631 bytes
-rw-r--r--include/notifier.php8
-rw-r--r--include/poller.php2
-rw-r--r--mod/contacts.php48
-rw-r--r--mod/dfrn_notify.php15
-rw-r--r--mod/item.php8
-rw-r--r--view/contact_edit.tpl1
8 files changed, 58 insertions, 25 deletions
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
--- /dev/null
+++ b/images/no.gif
Binary files 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']) ? '<div id="block-message">Currently blocked</div>' : ''),
+ '$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') ),
+ '$blocked' => (($r[0]['blocked']) ? '<div id="block-message">' . t('Currently blocked') . '</div>' : ''),
'$rating' => contact_reputation($r[0]['rating']),
'$reason' => $r[0]['reason'],
'$groups' => '', // group_selector(),
@@ -198,7 +214,7 @@ function contacts_content(&$a) {
$tpl = file_get_contents("view/contacts-top.tpl");
$o .= replace_macros($tpl,array(
'$hide_url' => ((strlen($sql_extra)) ? 'contacts/all' : 'contacts' ),
- '$hide_text' => ((strlen($sql_extra)) ? 'Show Blocked Connections' : 'Hide Blocked Connections')
+ '$hide_text' => ((strlen($sql_extra)) ? t('Show Blocked Connections') : t('Hide Blocked Connections'))
));
switch($sort_type) {
@@ -232,18 +248,18 @@ function contacts_content(&$a) {
if(strlen($rr['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(
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index ecab9ea72..4d7346000 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -5,7 +5,7 @@ require_once('include/items.php');
function dfrn_notify_post(&$a) {
-
+dbg(3);
$dfrn_id = notags(trim($_POST['dfrn_id']));
$challenge = notags(trim($_POST['challenge']));
$data = $_POST['data'];
@@ -26,10 +26,19 @@ function dfrn_notify_post(&$a) {
$r = q("SELECT `id`, `uid` FROM `contact` WHERE `issued-id` = '%s' LIMIT 1",
dbesc($dfrn_id)
);
- if(! count($r))
+ if(! count($r)) {
xml_status(3);
+ return; //NOTREACHED
+ }
+ // We aren't really interested in anything this person has to say. But be polite and make them
+ // think we're listening intently by acknowledging receipt of their communications - which we quietly ignore.
+ if($r[0]['readonly']) {
+ xml_status(0);
+ return; //NOTREACHED
+ }
+
$importer = $r[0];
$feed = new SimplePie();
@@ -60,7 +69,7 @@ function dfrn_notify_post(&$a) {
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/item.php b/mod/item.php
index 71d8afd24..49067d940 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -96,8 +96,12 @@ function item_post(&$a) {
$post_type == notags(trim($_POST['type']));
if($post_type == 'net-comment') {
- if($parent_item !== null && $parent_item['type'] != 'remote')
- $post_type = 'wall-comment';
+ if($parent_item !== null) {
+ if($parent_item['type'] == 'remote')
+ $post_type = 'remote-comment';
+ else
+ $post_type = 'wall-comment';
+ }
}
$notify_type = (($parent) ? 'comment-new' : 'wall-new' );
diff --git a/view/contact_edit.tpl b/view/contact_edit.tpl
index bfeb10717..e1cffc460 100644
--- a/view/contact_edit.tpl
+++ b/view/contact_edit.tpl
@@ -17,6 +17,7 @@
<div id="contact-edit-links" >
<a href="contacts/$contact_id/block" id="contact-edit-block-link" ><img src="images/b_block.gif" alt="Block/Unblock contact" title="$block_text"/></a>
+ <a href="contacts/$contact_id/ignore" id="contact-edit-ignore-link" ><img src="images/no.gif" alt="Ignore contact" title="$ignore_text"/></a>
<a href="contacts/$contact_id/drop" id="contact-edit-drop-link" onclick="return confirmDelete();" ><img src="images/b_drophide.gif" alt="Delete contact" title="Delete contact" onmouseover="imgbright(this);" onmouseout="imgdull(this);" /></a>
</div>
<div id="contact-edit-nav-end"></div>