]> git.mxchange.org Git - friendica.git/commitdiff
implement contact archival
authorfriendica <info@friendica.com>
Sat, 28 Apr 2012 00:17:58 +0000 (17:17 -0700)
committerfriendica <info@friendica.com>
Sat, 28 Apr 2012 00:17:58 +0000 (17:17 -0700)
include/acl_selectors.php
include/notifier.php
include/text.php
mod/acl.php
mod/contacts.php
mod/viewcontacts.php
view/contact_edit.tpl
view/theme/duepuntozero/style.css

index a5f5aff532fbe0487cd5c4cc2a3835c57b367381..461ad0c3640c276d449169490e01556eb47ce5d5 100644 (file)
@@ -122,7 +122,7 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
                $o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"" . $x['size'] . "$\" $tabindex >\r\n";
 
        $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` 
-               WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != ''
+               WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
                $sql_extra
                ORDER BY `name` ASC ",
                intval(local_user())
@@ -188,7 +188,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
                $o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" $tabindex >\r\n";
 
        $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` 
-               WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != ''
+               WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
                $sql_extra
                ORDER BY `name` ASC ",
                intval(local_user())
index ca7c7b92eb12e5dea61ad7fd63fb7dec8c1e9377..922e869f65de1ed6deb5430098e7b458a171c3bf 100644 (file)
@@ -304,7 +304,7 @@ function notifier_run($argv, $argc){
                        $conversant_str = dbesc(implode(', ',$conversants));
                }
 
-               $r = q("SELECT * FROM `contact` WHERE `id` IN ( $conversant_str ) AND `blocked` = 0 AND `pending` = 0");
+               $r = q("SELECT * FROM `contact` WHERE `id` IN ( $conversant_str ) AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0");
 
                if(count($r))
                        $contacts = $r;
@@ -520,7 +520,8 @@ function notifier_run($argv, $argc){
                                                        `user`.* 
                                                        FROM `contact` 
                                                        LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` 
-                                                       WHERE `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+                                                       WHERE `contact`.`blocked` = 0 AND `contact`.`archive` = 0
+                                                       AND `contact`.`pending` = 0
                                                        AND `contact`.`network` = '%s' AND `user`.`nickname` = '%s'
                                                        $sql_extra
                                                        AND `user`.`account_expired` = 0 LIMIT 1",
@@ -769,7 +770,7 @@ function notifier_run($argv, $argc){
                );
                        
                $r2 = q("SELECT `id`, `name`,`network` FROM `contact` 
-                       WHERE `network` in ( '%s', '%s')  AND `uid` = %d AND `blocked` = 0 AND `pending` = 0
+                       WHERE `network` in ( '%s', '%s')  AND `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
                        AND `rel` != %d order by rand() ",
                        dbesc(NETWORK_DFRN),
                        dbesc(NETWORK_MAIL2),
index 8c8db66a9eee938f90be5b1b476d9b3503003ec2..af32b24761a9c07f59cf8b624dc3ec748fd4ebca 100644 (file)
@@ -558,7 +558,7 @@ function contact_block() {
 
        if((! is_array($a->profile)) || ($a->profile['hide-friends']))
                return $o;
-       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0",
+       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0",
                        intval($a->profile['uid'])
        );
        if(count($r)) {
@@ -569,7 +569,7 @@ function contact_block() {
                $micropro = Null;
                
        } else {
-               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 ORDER BY RAND() LIMIT %d",
+               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY RAND() LIMIT %d",
                                intval($a->profile['uid']),
                                intval($shown)
                );
index c23ee1a67bc4e34e4c1d6c2524c75618fe41b8db..88f150d7a02e02f8669617d2cbfb34183d0838e2 100644 (file)
@@ -33,7 +33,7 @@ function acl_init(&$a){
        if ($type=='' || $type=='c'){
                $r = q("SELECT COUNT(`id`) AS c FROM `contact` 
                                WHERE `uid` = %d AND `self` = 0 
-                               AND `blocked` = 0 AND `pending` = 0 
+                               AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
                                AND `notify` != '' $sql_extra2" ,
                        intval(local_user())
                );
@@ -45,7 +45,7 @@ function acl_init(&$a){
 
                $r = q("SELECT COUNT(`id`) AS c FROM `contact` 
                                WHERE `uid` = %d AND `self` = 0 
-                               AND `blocked` = 0 AND `pending` = 0 
+                               AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 
                                AND `network` IN ('%s','%s','%s') $sql_extra2" ,
                        intval(local_user()),
                        dbesc(NETWORK_DFRN),
@@ -94,7 +94,7 @@ function acl_init(&$a){
        if ($type=='' || $type=='c'){
        
                $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` 
-                       WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != ''
+                       WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
                        $sql_extra2
                        ORDER BY `name` ASC ",
                        intval(local_user())
@@ -102,7 +102,7 @@ function acl_init(&$a){
        }
        elseif($type == 'm') {
                $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` 
-                       WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 
+                       WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
                        AND `network` IN ('%s','%s','%s')
                        $sql_extra2
                        ORDER BY `name` ASC ",
index 8670c0c800d94320037f65d64a2d6b59f860cbd6..754350ae56187f9fe0fbd0f7688a4567bed4e6d4 100644 (file)
@@ -182,6 +182,22 @@ function contacts_content(&$a) {
                        return; // NOTREACHED
                }
 
+
+               if($cmd === 'archive') {
+                       $archived = (($orig_record[0]['archive']) ? 0 : 1);
+                       $r = q("UPDATE `contact` SET `archive` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
+                               intval($archived),
+                               intval($contact_id),
+                               intval(local_user())
+                       );
+                       if($r) {
+                               //notice( t('Contact has been ') . (($archived) ? t('archived') : t('unarchived')) . EOL );
+                               info( (($archived) ? t('Contact has been archived') : t('Contact has been unarchived')) . EOL );
+                       }
+                       goaway($a->get_baseurl(true) . '/contacts/' . $contact_id);
+                       return; // NOTREACHED
+               }
+
                if($cmd === 'drop') {
 
                        require_once('include/Contact.php');
@@ -280,6 +296,12 @@ function contacts_content(&$a) {
                                'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore',
                                'sel'   => '',
                        ),
+
+                       array(
+                               'label' => (($contact['archive']) ? t('Unarchive') : t('Archive') ),
+                               'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive',
+                               'sel'   => '',
+                       ),
                        array(
                                'label' => t('Repair'),
                                'url'   => $a->get_baseurl(true) . '/crepair/' . $contact_id,
@@ -324,6 +346,7 @@ function contacts_content(&$a) {
                        '$info' => $contact['info'],
                        '$blocked' => (($contact['blocked']) ? t('Currently blocked') : ''),
                        '$ignored' => (($contact['readonly']) ? t('Currently ignored') : ''),
+                       '$archived' => (($contact['archive']) ? t('Currently archived') : ''),
                        '$hidden' => array('hidden', t('Hide this contact from others'), ($contact['hidden'] == 1), t('Replies/likes to your public posts <strong>may</strong> still be visible')),
                        '$photo' => $contact['photo'],
                        '$name' => $contact['name'],
@@ -365,6 +388,10 @@ function contacts_content(&$a) {
                $sql_extra = " AND `readonly` = 1 ";
                $ignored = true;
        }
+       elseif(($a->argc == 2) && ($a->argv[1] === 'archived')) {
+               $sql_extra = " AND `archive` = 1 ";
+               $archived = true;
+       }
        else
                $sql_extra = " AND `blocked` = 0 ";
 
@@ -383,25 +410,31 @@ function contacts_content(&$a) {
                        'sel'   => ($all) ? 'active' : '',
                ),
                array(
-                       'label' => t('Unblocked Contacts'),
+                       'label' => t('Unblocked'),
                        'url'   => $a->get_baseurl(true) . '/contacts',
-                       'sel'   => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored)) ? 'active' : '',
+                       'sel'   => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored) && (! $archived)) ? 'active' : '',
                ),
 
                array(
-                       'label' => t('Blocked Contacts'),
+                       'label' => t('Blocked'),
                        'url'   => $a->get_baseurl(true) . '/contacts/blocked',
                        'sel'   => ($blocked) ? 'active' : '',
                ),
 
                array(
-                       'label' => t('Ignored Contacts'),
+                       'label' => t('Ignored'),
                        'url'   => $a->get_baseurl(true) . '/contacts/ignored',
                        'sel'   => ($ignored) ? 'active' : '',
                ),
 
                array(
-                       'label' => t('Hidden Contacts'),
+                       'label' => t('Archived'),
+                       'url'   => $a->get_baseurl(true) . '/contacts/archived',
+                       'sel'   => ($archived) ? 'active' : '',
+               ),
+
+               array(
+                       'label' => t('Hidden'),
                        'url'   => $a->get_baseurl(true) . '/contacts/hidden',
                        'sel'   => ($hidden) ? 'active' : '',
                ),
index e7d26b73e5c25360eecaf8ef393402b3ff59b444..8e261e71151d1e23e706ceabd89026779caa45c7 100644 (file)
@@ -24,13 +24,13 @@ function viewcontacts_content(&$a) {
        } 
 
 
-       $r = q("SELECT COUNT(*) as `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 ",
+       $r = q("SELECT COUNT(*) as `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ",
                intval($a->profile['uid'])
        );
        if(count($r))
                $a->set_pager_total($r[0]['total']);
 
-       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 ORDER BY `name` ASC LIMIT %d , %d ",
+       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY `name` ASC LIMIT %d , %d ",
                intval($a->profile['uid']),
                intval($a->pager['start']),
                intval($a->pager['itemspage'])
index 417578a32eb07a8e562e0ec8fb6b12f43f162711..6c66536dd3c228eb07af48166714be1f2fcfb71e 100644 (file)
@@ -26,6 +26,9 @@
                                {{ if $ignored }}
                                        <li><div id="ignore-message">$ignored</div></li>
                                {{ endif }}
+                               {{ if $archived }}
+                                       <li><div id="archive-message">$archived</div></li>
+                               {{ endif }}
 
                                <li>&nbsp;</li>
 
index 2667c4334a1309beacab7ee6c96673d56bf6b601..7cbcdc4d2c40307a2dc39430943c5aa19baa283e 100644 (file)
@@ -1571,7 +1571,7 @@ input#dfrn-url {
 .contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
 
 
-#block-message, #ignore-message {
+#block-message, #ignore-message, #archive-message {
        color: #FF0000;
 }