aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot.php3
-rw-r--r--include/conversation.php35
-rw-r--r--include/enotify.php13
-rw-r--r--include/items.php13
-rw-r--r--mod/settings.php6
-rw-r--r--view/settings.tpl1
6 files changed, 55 insertions, 16 deletions
diff --git a/boot.php b/boot.php
index 619a3fead..df9daf483 100644
--- a/boot.php
+++ b/boot.php
@@ -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
diff --git a/include/conversation.php b/include/conversation.php
index 1b1d09d6b..a30a78271 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -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;
} \ No newline at end of file
diff --git a/include/enotify.php b/include/enotify.php
index f6f291e5d..9df9b57e5 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -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) {
}
diff --git a/include/items.php b/include/items.php
index 7f003ab57..9f006306f 100644
--- a/include/items.php
+++ b/include/items.php
@@ -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;
}
diff --git a/mod/settings.php b/mod/settings.php
index 35902f831..8ca0bb7f8 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -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'),
diff --git a/view/settings.tpl b/view/settings.tpl
index e15976581..6310ff47e 100644
--- a/view/settings.tpl
+++ b/view/settings.tpl
@@ -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>