intval(local_user())
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
return $this->_set_extra($r);
return false;
intval($id),
intval(local_user())
);
- if(dbm::is_result($r)) {
+ if (dbm::is_result($r)) {
return $this->_set_extra($r)[0];
}
return null;
* string 'label' => The type of the notification
* string 'link' => URL to the source
* string 'image' => The avatar image
+ * string 'url' => The profile url of the contact
* string 'text' => The notification text
- * string 'when' => Relative date of the notification
+ * string 'when' => The date of the notification
+ * string 'ago' => T relative date of the notification
* bool 'seen' => Is the notification marked as "seen"
*/
private function formatNotifs($notifs, $ident = "") {
// Because we use different db tables for the notification query
// we have sometimes $it['unseen'] and sometimes $it['seen].
// So we will have to transform $it['unseen']
- if($it['unseen'])
+ if (array_key_exists('unseen', $it)) {
$it['seen'] = ($it['unseen'] > 0 ? false : true);
+ }
// Depending on the identifier of the notification we need to use different defaults
switch ($ident) {
$default_item_label = 'notify';
$default_item_link = $this->a->get_baseurl(true).'/notify/view/'. $it['id'];
$default_item_image = proxy_url($it['photo'], false, PROXY_SIZE_MICRO);
+ $default_item_url = $it['url'];
$default_item_text = strip_tags(bbcode($it['msg']));
- $default_item_when = relative_date($it['date']);
- $default_tpl = $tpl_notify;
+ $default_item_when = datetime_convert('UTC', date_default_timezone_get(), $it['date'], 'r');
+ $default_item_ago = relative_date($it['date']);
break;
case 'home':
$default_item_label = 'comment';
$default_item_link = $this->a->get_baseurl(true).'/display/'.$it['pguid'];
$default_item_image = proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO);
- $default_item_text = sprintf( t("%s commented on %s's post"), $it['author-name'], $it['pname']);
- $default_item_when = relative_date($it['created']);
- $default_tpl = $tpl_item_comments;
+ $default_item_url = $it['author-link'];
+ $default_item_text = sprintf(t("%s commented on %s's post"), $it['author-name'], $it['pname']);
+ $default_item_when = datetime_convert('UTC', date_default_timezone_get(), $it['created'], 'r');
+ $default_item_ago = relative_date($it['created']);
break;
default:
$default_item_label = (($it['id'] == $it['parent']) ? 'post' : 'comment');
$default_item_link = $this->a->get_baseurl(true).'/display/'.$it['pguid'];
$default_item_image = proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO);
+ $default_item_url = $it['author-link'];
$default_item_text = (($it['id'] == $it['parent'])
- ? sprintf( t("%s created a new post"), $it['author-name'])
- : sprintf( t("%s commented on %s's post"), $it['author-name'], $it['pname']));
- $default_item_when = relative_date($it['created']);
- $default_tpl = (($it['id'] == $it['parent']) ? $tpl_item_posts : $tpl_item_comments);
+ ? sprintf(t("%s created a new post"), $it['author-name'])
+ : sprintf(t("%s commented on %s's post"), $it['author-name'], $it['pname']));
+ $default_item_when = datetime_convert('UTC', date_default_timezone_get(), $it['created'], 'r');
+ $default_item_ago = relative_date($it['created']);
}
// Transform the different types of notification in an usable array
- switch($it['verb']){
+ switch ($it['verb']){
case ACTIVITY_LIKE:
$notif = array(
'label' => 'like',
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
- '$image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
- 'text' => sprintf( t("%s liked %s's post"), $it['author-name'], $it['pname']),
- 'when' => relative_date($it['created']),
+ 'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
+ 'url' => $it['author-link'],
+ 'text' => sprintf(t("%s liked %s's post"), $it['author-name'], $it['pname']),
+ 'when' => $default_item_when,
+ 'ago' => $default_item_ago,
'seen' => $it['seen']
);
break;
'label' => 'dislike',
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
- 'text' => sprintf( t("%s disliked %s's post"), $it['author-name'], $it['pname']),
- 'when' => relative_date($it['created']),
+ 'url' => $it['author-link'],
+ 'text' => sprintf(t("%s disliked %s's post"), $it['author-name'], $it['pname']),
+ 'when' => $default_item_when,
+ 'ago' => $default_item_ago,
'seen' => $it['seen']
);
break;
'label' => 'attend',
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
- 'text' => sprintf( t("%s is attending %s's event"), $it['author-name'], $it['pname']),
- 'when' => relative_date($it['created']),
+ 'url' => $it['author-link'],
+ 'text' => sprintf(t("%s is attending %s's event"), $it['author-name'], $it['pname']),
+ 'when' => $default_item_when,
+ 'ago' => $default_item_ago,
'seen' => $it['seen']
);
break;
'label' => 'attendno',
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
+ 'url' => $it['author-link'],
'text' => sprintf( t("%s is not attending %s's event"), $it['author-name'], $it['pname']),
- 'when' => relative_date($it['created']),
+ 'when' => $default_item_when,
+ 'ago' => $default_item_ago,
'seen' => $it['seen']
);
break;
'label' => 'attendmaybe',
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
- 'text' => sprintf( t("%s may attend %s's event"), $it['author-name'], $it['pname']),
- 'when' => relative_date($it['created']),
+ 'url' => $it['author-link'],
+ 'text' => sprintf(t("%s may attend %s's event"), $it['author-name'], $it['pname']),
+ 'when' => $default_item_when,
+ 'ago' => $default_item_ago,
'seen' => $it['seen']
);
break;
'label' => 'friend',
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
- 'text' => sprintf( t("%s is now friends with %s"), $it['author-name'], $it['fname']),
- 'when' => relative_date($it['created']),
+ 'url' => $it['author-link'],
+ 'text' => sprintf(t("%s is now friends with %s"), $it['author-name'], $it['fname']),
+ 'when' => $default_item_when,
+ 'ago' => $default_item_ago,
'seen' => $it['seen']
);
break;
'label' => $default_item_label,
'link' => $default_item_link,
'image' => $default_item_image,
+ 'url' => $default_item_url,
'text' => $default_item_text,
'when' => $default_item_when,
+ 'ago' => $default_item_ago,
'seen' => $it['seen']
);
}
intval(local_user())
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
return $r[0]['total'];
return 0;
intval($limit)
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
$notifs = $this->formatNotifs($r, $ident);
$arr = array (
intval(local_user())
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
return $r[0]['total'];
return 0;
if($seen === 0)
$sql_seen = " AND `seen` = 0 ";
- $r = q("SELECT `id`, `photo`, `msg`, `date`, `seen` FROM `notify`
+ $r = q("SELECT `id`, `url`, `photo`, `msg`, `date`, `seen` FROM `notify`
WHERE `uid` = %d $sql_seen ORDER BY `date` DESC LIMIT %d, %d ",
intval(local_user()),
intval($start),
intval($limit)
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
$notifs = $this->formatNotifs($r, $ident);
$arr = array (
intval(local_user())
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
return $r[0]['total'];
return 0;
intval($limit)
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
$notifs = $this->formatNotifs($r, $ident);
$arr = array (
intval(local_user())
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
return $r[0]['total'];
return 0;
$sql_seen = " AND `item`.`unseen` = 1 ";
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
- `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` as `object`,
- `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`, `pitem`.`guid` as `pguid`
- FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
+ `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` AS `object`,
+ `pitem`.`author-name` AS `pname`, `pitem`.`author-link` AS `plink`, `pitem`.`guid` AS `pguid`
+ FROM `item` INNER JOIN `item` AS `pitem` ON `pitem`.`id`=`item`.`parent`
WHERE `item`.`visible` = 1 AND
`item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 1
$sql_seen
intval($limit)
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
$notifs = $this->formatNotifs($r, $ident);
$arr = array (
intval($_SESSION['uid'])
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
return $r[0]['total'];
return 0;
intval($limit)
);
- if(dbm::is_result($r))
+ if (dbm::is_result($r))
$notifs = $this->formatIntros($r);
$arr = array (