$intros1 = q(
"SELECT `intro`.`id`, `intro`.`datetime`,
`fcontact`.`name`, `fcontact`.`url`, `fcontact`.`photo`
- FROM `intro` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id`
- WHERE `intro`.`uid` = %d AND `intro`.`blocked` = 0 AND `intro`.`ignore` = 0 AND `intro`.`fid` != 0",
+ FROM `intro` INNER JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id`
+ WHERE `intro`.`uid` = %d AND NOT `intro`.`blocked` AND NOT `intro`.`ignore` AND `intro`.`fid` != 0",
intval(local_user())
);
$intros2 = q(
"SELECT `intro`.`id`, `intro`.`datetime`,
`contact`.`name`, `contact`.`url`, `contact`.`photo`
- FROM `intro` LEFT JOIN `contact` ON `intro`.`contact-id` = `contact`.`id`
- WHERE `intro`.`uid` = %d AND `intro`.`blocked` = 0 AND `intro`.`ignore` = 0 AND `intro`.`contact-id` != 0",
+ FROM `intro` INNER JOIN `contact` ON `intro`.`contact-id` = `contact`.`id`
+ WHERE `intro`.`uid` = %d AND NOT `intro`.`blocked` AND NOT `intro`.`ignore` AND `intro`.`contact-id` != 0 AND `intro`.`fid` = 0",
intval(local_user())
);
}
if (DBA::isResult($regs)) {
- foreach ($regs as $reg) {
+ if (count($regs) <= 1 || DI::pConfig()->get(local_user(), 'system', 'detailed_notif')) {
+ foreach ($regs as $reg) {
+ $notif = [
+ 'id' => 0,
+ 'href' => DI::baseUrl() . '/admin/users/pending',
+ 'name' => $reg['name'],
+ 'url' => $reg['url'],
+ 'photo' => $reg['micro'],
+ 'date' => $reg['created'],
+ 'seen' => false,
+ 'message' => DI::l10n()->t('{0} requested registration'),
+ ];
+ $notifs[] = $notif;
+ }
+ } else {
$notif = [
'id' => 0,
- 'href' => DI::baseUrl() . '/admin/users/',
- 'name' => $reg['name'],
- 'url' => $reg['url'],
- 'photo' => $reg['micro'],
- 'date' => $reg['created'],
+ 'href' => DI::baseUrl() . '/admin/users/pending',
+ 'name' => $regs[0]['name'],
+ 'url' => $regs[0]['url'],
+ 'photo' => $regs[0]['micro'],
+ 'date' => $regs[0]['created'],
'seen' => false,
- 'message' => DI::l10n()->t('{0} requested registration'),
+ 'message' => DI::l10n()->t('{0} and %d others requested registration', count($regs) - 1),
];
$notifs[] = $notif;
}
if (DBA::isResult($notifs)) {
foreach ($notifs as $notif) {
- $contact = Contact::getByURL($notif['url'], false, ['micro']);
+ $contact = Contact::getByURL($notif['url'], false, ['micro', 'id', 'avatar']);
$notif['photo'] = Contact::getMicro($contact, $notif['photo']);
$local_time = DateTimeFormat::local($notif['date']);