working on readonly contact attribute

This commit is contained in:
Mike Macgirvin 2010-07-27 22:32:21 -07:00
parent 2e5fb9c37e
commit fa154248dc
8 changed files with 58 additions and 25 deletions

View file

@ -62,6 +62,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
`last-update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `last-update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`priority` tinyint(3) NOT NULL, `priority` tinyint(3) NOT NULL,
`blocked` tinyint(1) NOT NULL DEFAULT '1', `blocked` tinyint(1) NOT NULL DEFAULT '1',
`readonly` tinyint(1) NOT NULL DEFAULT '0',
`pending` tinyint(1) NOT NULL DEFAULT '1', `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', `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', `reason` text NOT NULL COMMENT 'why a rating was given - will help friends decide to make friends or not',

BIN
images/no.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

View file

@ -15,7 +15,7 @@ require_once("datetime.php");
if($argc < 3) if($argc < 3)
exit; exit;
//dbg(3); dbg(3);
$baseurl = $argv[1]; $baseurl = $argv[1];
$a->set_baseurl($argv[1]); $a->set_baseurl($argv[1]);
@ -215,12 +215,14 @@ if($argc < 3)
// delivery loop // delivery loop
foreach($r as $rr) { foreach($r as $rr) {
if($rr['self']) if($rr['self'])
continue; continue;
if(! strlen($rr['dfrn-id'])) if(! strlen($rr['dfrn-id']))
continue; continue;
$url = $rr['notify'] . '?dfrn_id=' . $rr['dfrn-id']; $url = $rr['notify'] . '?dfrn_id=' . $rr['dfrn-id'];
$xml = fetch_url($url); $xml = fetch_url($url);
@ -240,7 +242,7 @@ echo $xml;
openssl_public_decrypt($challenge,$postvars['challenge'],$rr['pubkey']); 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; $postvars['data'] = $atom;
else else
$postvars['data'] = $atom_nowrite; $postvars['data'] = $atom_nowrite;

View file

@ -95,7 +95,7 @@ echo "Length:" . strlen($xml) . "\r\n";
if(count($r)) { if(count($r)) {
if($r[0]['uri'] == $r[0]['parent-uri']) { if($r[0]['uri'] == $r[0]['parent-uri']) {
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s' $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
WHERE `parent-uri` = '%s'" WHERE `parent-uri` = '%s'",
dbesc($when), dbesc($when),
dbesc($r[0]['uri']) dbesc($r[0]['uri'])
); );

View file

@ -36,7 +36,7 @@ function contacts_post(&$a) {
intval($_SESSION['uid']) intval($_SESSION['uid'])
); );
if(! count($r)) { if(! count($r)) {
notice("Cannot locate selected profile." . EOL); notice( t('Could not locate selected profile.') . EOL);
return; return;
} }
} }
@ -55,9 +55,9 @@ function contacts_post(&$a) {
intval($_SESSION['uid']) intval($_SESSION['uid'])
); );
if($r) if($r)
notice("Contact updated." . EOL); notice( t('Contact updated.') . EOL);
else else
notice("Failed to update contact record." . EOL); notice( t('Failed to update contact record.') . EOL);
return; return;
} }
@ -67,7 +67,7 @@ function contacts_post(&$a) {
function contacts_content(&$a) { function contacts_content(&$a) {
if(! local_user()) { if(! local_user()) {
$_SESSION['sysmsg'] .= "Permission denied." . EOL; notice( t('Permission denied.') . EOL);
return; return;
} }
@ -85,7 +85,7 @@ function contacts_content(&$a) {
); );
if(! count($orig_record)) { if(! count($orig_record)) {
notice("Could not access contact record." . EOL); notice( t('Could not access contact record.') . EOL);
goaway($a->get_baseurl() . '/contacts'); goaway($a->get_baseurl() . '/contacts');
return; // NOTREACHED return; // NOTREACHED
} }
@ -105,7 +105,22 @@ function contacts_content(&$a) {
intval($_SESSION['uid']) intval($_SESSION['uid'])
); );
if($r) { 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); notice($msg);
} }
goaway($a->get_baseurl() ."/contacts/$contact_id"); goaway($a->get_baseurl() ."/contacts/$contact_id");
@ -143,7 +158,7 @@ function contacts_content(&$a) {
intval($contact_id) intval($contact_id)
); );
if(! count($r)) { if(! count($r)) {
notice("Contact not found."); notice( t('Contact not found.') . EOL);
return; return;
} }
@ -156,25 +171,26 @@ function contacts_content(&$a) {
if(strlen($r[0]['dfrn-id'])) { if(strlen($r[0]['dfrn-id'])) {
$direction = DIRECTION_BOTH; $direction = DIRECTION_BOTH;
$dir_icon = 'images/lrarrow.gif'; $dir_icon = 'images/lrarrow.gif';
$alt_text = 'Mutual Friendship'; $alt_text = t('Mutual Friendship');
} }
else { else {
$direction = DIRECTION_IN; $direction = DIRECTION_IN;
$dir_icon = 'images/larrow.gif'; $dir_icon = 'images/larrow.gif';
$alt_text = 'is a fan of yours'; $alt_text = t('is a fan of yours');
} }
} }
else { else {
$direction = DIRECTION_OUT; $direction = DIRECTION_OUT;
$dir_icon = 'images/rarrow.gif'; $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( $o .= replace_macros($tpl,array(
'$profile_select' => contact_profile_assign($r[0]['profile-id']), '$profile_select' => contact_profile_assign($r[0]['profile-id']),
'$contact_id' => $r[0]['id'], '$contact_id' => $r[0]['id'],
'$block_text' => (($r[0]['blocked']) ? 'Unblock this contact' : 'Block this contact' ), '$block_text' => (($r[0]['blocked']) ? t('Unblock this contact') : t('Block this contact') ),
'$blocked' => (($r[0]['blocked']) ? '<div id="block-message">Currently blocked</div>' : ''), '$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']), '$rating' => contact_reputation($r[0]['rating']),
'$reason' => $r[0]['reason'], '$reason' => $r[0]['reason'],
'$groups' => '', // group_selector(), '$groups' => '', // group_selector(),
@ -198,7 +214,7 @@ function contacts_content(&$a) {
$tpl = file_get_contents("view/contacts-top.tpl"); $tpl = file_get_contents("view/contacts-top.tpl");
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$hide_url' => ((strlen($sql_extra)) ? 'contacts/all' : 'contacts' ), '$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) { switch($sort_type) {
@ -232,18 +248,18 @@ function contacts_content(&$a) {
if(strlen($rr['dfrn-id'])) { if(strlen($rr['dfrn-id'])) {
$direction = DIRECTION_BOTH; $direction = DIRECTION_BOTH;
$dir_icon = 'images/lrarrow.gif'; $dir_icon = 'images/lrarrow.gif';
$alt_text = 'Mutual Friendship'; $alt_text = t('Mutual Friendship');
} }
else { else {
$direction = DIRECTION_IN; $direction = DIRECTION_IN;
$dir_icon = 'images/larrow.gif'; $dir_icon = 'images/larrow.gif';
$alt_text = 'is a fan of yours'; $alt_text = t('is a fan of yours');
} }
} }
else { else {
$direction = DIRECTION_OUT; $direction = DIRECTION_OUT;
$dir_icon = 'images/rarrow.gif'; $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( $o .= replace_macros($tpl, array(

View file

@ -5,7 +5,7 @@ require_once('include/items.php');
function dfrn_notify_post(&$a) { function dfrn_notify_post(&$a) {
dbg(3);
$dfrn_id = notags(trim($_POST['dfrn_id'])); $dfrn_id = notags(trim($_POST['dfrn_id']));
$challenge = notags(trim($_POST['challenge'])); $challenge = notags(trim($_POST['challenge']));
$data = $_POST['data']; $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", $r = q("SELECT `id`, `uid` FROM `contact` WHERE `issued-id` = '%s' LIMIT 1",
dbesc($dfrn_id) dbesc($dfrn_id)
); );
if(! count($r)) if(! count($r)) {
xml_status(3); 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]; $importer = $r[0];
$feed = new SimplePie(); $feed = new SimplePie();
@ -60,7 +69,7 @@ function dfrn_notify_post(&$a) {
if(count($r)) { if(count($r)) {
if($r[0]['uri'] == $r[0]['parent-uri']) { if($r[0]['uri'] == $r[0]['parent-uri']) {
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s' $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
WHERE `parent-uri` = '%s'" WHERE `parent-uri` = '%s'",
dbesc($when), dbesc($when),
dbesc($r[0]['uri']) dbesc($r[0]['uri'])
); );

View file

@ -96,8 +96,12 @@ function item_post(&$a) {
$post_type == notags(trim($_POST['type'])); $post_type == notags(trim($_POST['type']));
if($post_type == 'net-comment') { if($post_type == 'net-comment') {
if($parent_item !== null && $parent_item['type'] != 'remote') if($parent_item !== null) {
$post_type = 'wall-comment'; if($parent_item['type'] == 'remote')
$post_type = 'remote-comment';
else
$post_type = 'wall-comment';
}
} }
$notify_type = (($parent) ? 'comment-new' : 'wall-new' ); $notify_type = (($parent) ? 'comment-new' : 'wall-new' );

View file

@ -17,6 +17,7 @@
<div id="contact-edit-links" > <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/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> <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>
<div id="contact-edit-nav-end"></div> <div id="contact-edit-nav-end"></div>