suggestion notifications

This commit is contained in:
friendica 2012-01-03 17:29:07 -08:00
parent c583d16209
commit 969cd145ce
6 changed files with 55 additions and 16 deletions

View file

@ -127,6 +127,9 @@ define ( 'NOTIFY_CONFIRM', 0x0002 );
define ( 'NOTIFY_WALL', 0x0004 );
define ( 'NOTIFY_COMMENT', 0x0008 );
define ( 'NOTIFY_MAIL', 0x0010 );
define ( 'NOTIFY_SUGGEST', 0x0020 );
define ( 'NOTIFY_PROFILE', 0x0040 );
/**
* various namespaces we may need to parse

View file

@ -902,29 +902,35 @@ function conv_sort($arr,$order) {
elseif(stristr($order,'commented'))
usort($parents,'sort_thr_commented');
foreach($parents as $x)
$x['children'] = array();
if(count($parents))
foreach($parents as $x)
$x['children'] = array();
foreach($arr as $x) {
if($x['id'] != $x['parent']) {
$p = find_thread_parent_index($parents,$x);
$parents[$p]['children'][] = $x;
if($p !== false)
$parents[$p]['children'][] = $x;
}
}
foreach($parents as $k => $v) {
if(count($parents[$k]['children'])) {
$y = $parents[$k]['children'];
usort($y,'sort_thr_created_rev');
$parents[$k]['children'] = $y;
}
if(count($parents)) {
foreach($parents as $k => $v) {
if(count($parents[$k]['children'])) {
$y = $parents[$k]['children'];
usort($y,'sort_thr_created_rev');
$parents[$k]['children'] = $y;
}
}
}
$ret = array();
foreach($parents as $x) {
$ret[] = $x;
if(count($x['children']))
foreach($x['children'] as $y)
$ret[] = $y;
if(count($parents)) {
foreach($parents as $x) {
$ret[] = $x;
if(count($x['children']))
foreach($x['children'] as $y)
$ret[] = $y;
}
}
return $ret;
@ -947,4 +953,5 @@ function find_thread_parent_index($arr,$x) {
foreach($arr as $k => $v)
if($v['id'] == $x['parent'])
return $k;
return false;
}

View file

@ -65,6 +65,19 @@ function notification($params) {
$itemlink = $params['link'];
}
if($params['type'] == NOTIFY_SUGGEST) {
$subject = sprintf( t('Friend suggestion received at %s'), $sitename);
$preamble = sprintf( t('You\'ve received a friend suggestion from \'%s\' at %s'), $params['source_name'], $sitename);
$body = t('Name:') . ' ' . $params['item']['name'] . "\n";
$body .= t('Photo:') . ' ' . $params['item']['photo'] . "\n";
$body .= sprintf( t('You may visit their profile at %s'),$params['item']['url']);
$sitelink = t('Please visit %s to approve or reject the suggestion.');
$tsitelink = sprintf( $sitelink, $siteurl );
$hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '">' . $sitename . '</a>');
$itemlink = $params['link'];
}
if($params['type'] == NOTIFY_CONFIRM) {
}

View file

@ -1788,7 +1788,18 @@ function local_delivery($importer,$data) {
intval(0)
);
// TODO - send email notify (which may require a new notification preference)
notification(array(
'type' => NOTIFY_SUGGEST,
'notify_flags' => $importer['notify-flags'],
'language' => $importer['language'],
'to_name' => $importer['username'],
'to_email' => $importer['email'],
'item' => $fsugg,
'link' => $a->get_baseurl() . '/notifications/intros',
'source_name' => $importer['name'],
'source_link' => $importer['url'],
'source_photo' => $importer['photo']
));
return 0;
}

View file

@ -255,6 +255,10 @@ function settings_post(&$a) {
$notify += intval($_POST['notify4']);
if(x($_POST,'notify5'))
$notify += intval($_POST['notify5']);
if(x($_POST,'notify6'))
$notify += intval($_POST['notify6']);
if(x($_POST,'notify7'))
$notify += intval($_POST['notify7']);
$email_changed = false;
@ -807,7 +811,7 @@ function settings_content(&$a) {
'$notify3' => array('notify3', t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, ''),
'$notify4' => array('notify4', t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, ''),
'$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''),
'$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''),
'$h_advn' => t('Advanced Page Settings'),

View file

@ -107,6 +107,7 @@ $suggestme
{{inc field_intcheckbox.tpl with $field=$notify3 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify4 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify5 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify6 }}{{endinc}}
</div>