implement contact archival
This commit is contained in:
parent
0ab6b60a52
commit
26c53580d1
8 changed files with 56 additions and 19 deletions
|
@ -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";
|
$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`
|
$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
|
$sql_extra
|
||||||
ORDER BY `name` ASC ",
|
ORDER BY `name` ASC ",
|
||||||
intval(local_user())
|
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";
|
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" $tabindex >\r\n";
|
||||||
|
|
||||||
$r = q("SELECT `id`, `name`, `url`, `network` FROM `contact`
|
$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
|
$sql_extra
|
||||||
ORDER BY `name` ASC ",
|
ORDER BY `name` ASC ",
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
|
|
|
@ -304,7 +304,7 @@ function notifier_run($argv, $argc){
|
||||||
$conversant_str = dbesc(implode(', ',$conversants));
|
$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))
|
if(count($r))
|
||||||
$contacts = $r;
|
$contacts = $r;
|
||||||
|
@ -520,7 +520,8 @@ function notifier_run($argv, $argc){
|
||||||
`user`.*
|
`user`.*
|
||||||
FROM `contact`
|
FROM `contact`
|
||||||
LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
|
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'
|
AND `contact`.`network` = '%s' AND `user`.`nickname` = '%s'
|
||||||
$sql_extra
|
$sql_extra
|
||||||
AND `user`.`account_expired` = 0 LIMIT 1",
|
AND `user`.`account_expired` = 0 LIMIT 1",
|
||||||
|
@ -769,7 +770,7 @@ function notifier_run($argv, $argc){
|
||||||
);
|
);
|
||||||
|
|
||||||
$r2 = q("SELECT `id`, `name`,`network` FROM `contact`
|
$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() ",
|
AND `rel` != %d order by rand() ",
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
dbesc(NETWORK_MAIL2),
|
dbesc(NETWORK_MAIL2),
|
||||||
|
|
|
@ -558,7 +558,7 @@ function contact_block() {
|
||||||
|
|
||||||
if((! is_array($a->profile)) || ($a->profile['hide-friends']))
|
if((! is_array($a->profile)) || ($a->profile['hide-friends']))
|
||||||
return $o;
|
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'])
|
intval($a->profile['uid'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
|
@ -569,7 +569,7 @@ function contact_block() {
|
||||||
$micropro = Null;
|
$micropro = Null;
|
||||||
|
|
||||||
} else {
|
} 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($a->profile['uid']),
|
||||||
intval($shown)
|
intval($shown)
|
||||||
);
|
);
|
||||||
|
|
|
@ -33,7 +33,7 @@ function acl_init(&$a){
|
||||||
if ($type=='' || $type=='c'){
|
if ($type=='' || $type=='c'){
|
||||||
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
|
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
|
||||||
WHERE `uid` = %d AND `self` = 0
|
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" ,
|
AND `notify` != '' $sql_extra2" ,
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
@ -45,7 +45,7 @@ function acl_init(&$a){
|
||||||
|
|
||||||
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
|
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
|
||||||
WHERE `uid` = %d AND `self` = 0
|
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" ,
|
AND `network` IN ('%s','%s','%s') $sql_extra2" ,
|
||||||
intval(local_user()),
|
intval(local_user()),
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
|
@ -94,7 +94,7 @@ function acl_init(&$a){
|
||||||
if ($type=='' || $type=='c'){
|
if ($type=='' || $type=='c'){
|
||||||
|
|
||||||
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
|
$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
|
$sql_extra2
|
||||||
ORDER BY `name` ASC ",
|
ORDER BY `name` ASC ",
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
|
@ -102,7 +102,7 @@ function acl_init(&$a){
|
||||||
}
|
}
|
||||||
elseif($type == 'm') {
|
elseif($type == 'm') {
|
||||||
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
|
$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')
|
AND `network` IN ('%s','%s','%s')
|
||||||
$sql_extra2
|
$sql_extra2
|
||||||
ORDER BY `name` ASC ",
|
ORDER BY `name` ASC ",
|
||||||
|
|
|
@ -182,6 +182,22 @@ function contacts_content(&$a) {
|
||||||
return; // NOTREACHED
|
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') {
|
if($cmd === 'drop') {
|
||||||
|
|
||||||
require_once('include/Contact.php');
|
require_once('include/Contact.php');
|
||||||
|
@ -280,6 +296,12 @@ function contacts_content(&$a) {
|
||||||
'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore',
|
'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore',
|
||||||
'sel' => '',
|
'sel' => '',
|
||||||
),
|
),
|
||||||
|
|
||||||
|
array(
|
||||||
|
'label' => (($contact['archive']) ? t('Unarchive') : t('Archive') ),
|
||||||
|
'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive',
|
||||||
|
'sel' => '',
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'label' => t('Repair'),
|
'label' => t('Repair'),
|
||||||
'url' => $a->get_baseurl(true) . '/crepair/' . $contact_id,
|
'url' => $a->get_baseurl(true) . '/crepair/' . $contact_id,
|
||||||
|
@ -324,6 +346,7 @@ function contacts_content(&$a) {
|
||||||
'$info' => $contact['info'],
|
'$info' => $contact['info'],
|
||||||
'$blocked' => (($contact['blocked']) ? t('Currently blocked') : ''),
|
'$blocked' => (($contact['blocked']) ? t('Currently blocked') : ''),
|
||||||
'$ignored' => (($contact['readonly']) ? t('Currently ignored') : ''),
|
'$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')),
|
'$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'],
|
'$photo' => $contact['photo'],
|
||||||
'$name' => $contact['name'],
|
'$name' => $contact['name'],
|
||||||
|
@ -365,6 +388,10 @@ function contacts_content(&$a) {
|
||||||
$sql_extra = " AND `readonly` = 1 ";
|
$sql_extra = " AND `readonly` = 1 ";
|
||||||
$ignored = true;
|
$ignored = true;
|
||||||
}
|
}
|
||||||
|
elseif(($a->argc == 2) && ($a->argv[1] === 'archived')) {
|
||||||
|
$sql_extra = " AND `archive` = 1 ";
|
||||||
|
$archived = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
$sql_extra = " AND `blocked` = 0 ";
|
$sql_extra = " AND `blocked` = 0 ";
|
||||||
|
|
||||||
|
@ -383,25 +410,31 @@ function contacts_content(&$a) {
|
||||||
'sel' => ($all) ? 'active' : '',
|
'sel' => ($all) ? 'active' : '',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'label' => t('Unblocked Contacts'),
|
'label' => t('Unblocked'),
|
||||||
'url' => $a->get_baseurl(true) . '/contacts',
|
'url' => $a->get_baseurl(true) . '/contacts',
|
||||||
'sel' => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored)) ? 'active' : '',
|
'sel' => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored) && (! $archived)) ? 'active' : '',
|
||||||
),
|
),
|
||||||
|
|
||||||
array(
|
array(
|
||||||
'label' => t('Blocked Contacts'),
|
'label' => t('Blocked'),
|
||||||
'url' => $a->get_baseurl(true) . '/contacts/blocked',
|
'url' => $a->get_baseurl(true) . '/contacts/blocked',
|
||||||
'sel' => ($blocked) ? 'active' : '',
|
'sel' => ($blocked) ? 'active' : '',
|
||||||
),
|
),
|
||||||
|
|
||||||
array(
|
array(
|
||||||
'label' => t('Ignored Contacts'),
|
'label' => t('Ignored'),
|
||||||
'url' => $a->get_baseurl(true) . '/contacts/ignored',
|
'url' => $a->get_baseurl(true) . '/contacts/ignored',
|
||||||
'sel' => ($ignored) ? 'active' : '',
|
'sel' => ($ignored) ? 'active' : '',
|
||||||
),
|
),
|
||||||
|
|
||||||
array(
|
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',
|
'url' => $a->get_baseurl(true) . '/contacts/hidden',
|
||||||
'sel' => ($hidden) ? 'active' : '',
|
'sel' => ($hidden) ? 'active' : '',
|
||||||
),
|
),
|
||||||
|
|
|
@ -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'])
|
intval($a->profile['uid'])
|
||||||
);
|
);
|
||||||
if(count($r))
|
if(count($r))
|
||||||
$a->set_pager_total($r[0]['total']);
|
$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->profile['uid']),
|
||||||
intval($a->pager['start']),
|
intval($a->pager['start']),
|
||||||
intval($a->pager['itemspage'])
|
intval($a->pager['itemspage'])
|
||||||
|
|
|
@ -26,6 +26,9 @@
|
||||||
{{ if $ignored }}
|
{{ if $ignored }}
|
||||||
<li><div id="ignore-message">$ignored</div></li>
|
<li><div id="ignore-message">$ignored</div></li>
|
||||||
{{ endif }}
|
{{ endif }}
|
||||||
|
{{ if $archived }}
|
||||||
|
<li><div id="archive-message">$archived</div></li>
|
||||||
|
{{ endif }}
|
||||||
|
|
||||||
<li> </li>
|
<li> </li>
|
||||||
|
|
||||||
|
|
|
@ -1571,7 +1571,7 @@ input#dfrn-url {
|
||||||
.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
|
.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;
|
color: #FF0000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue