]> git.mxchange.org Git - friendica.git/commitdiff
working on readonly contact attribute
authorMike Macgirvin <mike@macgirvin.com>
Wed, 28 Jul 2010 05:32:21 +0000 (22:32 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Wed, 28 Jul 2010 05:32:21 +0000 (22:32 -0700)
database.sql
images/no.gif [new file with mode: 0644]
include/notifier.php
include/poller.php
mod/contacts.php
mod/dfrn_notify.php
mod/item.php
view/contact_edit.tpl

index 9115c33150b17b3b6d55cb8b7c6e26cba2622f48..55dcaeb13178ffe88f283212f25faba8f7474627 100644 (file)
@@ -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 (file)
index 0000000..eb0f2b0
Binary files /dev/null and b/images/no.gif differ
index 6986deb96e77f75addef8230427b4bcdcfbd7f5c..25a082a9051faacee86ec5261064755a3d88b8f5 100644 (file)
@@ -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;
index c7108d13c0bc5059a801a4bc6902ef945eeb8bc0..d1fc898d58e1fbe3e7655e9f36f2c3701cd8410c 100644 (file)
@@ -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'])
                                                );
index c2a1d533801e829b765d61ddb292ba9831715be8..6f7f978aae64e0127059d096bcefb6eb3f112eb0 100644 (file)
@@ -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(
index ecab9ea72a9515a46863feb21f9e0f2869982e7b..4d7346000540060d77b7e2a2ab4a52ccd97074d0 100644 (file)
@@ -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'])
                                        );
index 71d8afd24418b4a2e1053d9637a9b4840f5ede28..49067d940be7709402458d00ab0efe7ebd1dacf5 100644 (file)
@@ -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' );
index bfeb107170e606465308f851623d7e3b4a31f61a..e1cffc460a020578c0f1abfa389bcb2658c8e450 100644 (file)
@@ -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>