diff --git a/mod/ping.php b/mod/ping.php index 8e00ae31f..1634ed725 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -133,7 +133,7 @@ function ping_init(App $a) exit(); } - $notifs = ping_get_notifications(local_user()); + $notifications = ping_get_notifications(local_user()); $condition = ["`unseen` AND `uid` = ? AND NOT `origin` AND (`vid` != ? OR `vid` IS NULL)", local_user(), Verb::getID(Activity::FOLLOW)]; @@ -263,8 +263,8 @@ function ping_init(App $a) $data['birthdays'] = $birthdays; $data['birthdays-today'] = $birthdays_today; - if (DBA::isResult($notifs)) { - foreach ($notifs as $notif) { + if (DBA::isResult($notifications)) { + foreach ($notifications as $notif) { if ($notif['seen'] == 0) { $sysnotify_count ++; } @@ -277,14 +277,14 @@ function ping_init(App $a) $notif = [ 'id' => 0, 'href' => DI::baseUrl() . '/notifications/intros/' . $intro['id'], - 'name' => $intro['name'], + 'name' => BBCode::convert($intro['name']), 'url' => $intro['url'], 'photo' => $intro['photo'], 'date' => $intro['datetime'], 'seen' => false, 'message' => DI::l10n()->t('{0} wants to be your friend'), ]; - $notifs[] = $notif; + $notifications[] = $notif; } } @@ -314,7 +314,7 @@ function ping_init(App $a) 'seen' => false, 'message' => DI::l10n()->t('{0} and %d others requested registration', count($regs) - 1), ]; - $notifs[] = $notif; + $notifications[] = $notif; } } @@ -337,28 +337,16 @@ function ping_init(App $a) } return ($adate < $bdate) ? 1 : -1; }; - usort($notifs, $sort_function); + usort($notifications, $sort_function); - if (DBA::isResult($notifs)) { - foreach ($notifs as $notif) { - $contact = Contact::getByURL($notif['url'], false, ['micro', 'id', 'avatar']); - $notif['photo'] = Contact::getMicro($contact, $notif['photo']); - - $local_time = DateTimeFormat::local($notif['date']); - - $notifications[] = [ - 'id' => $notif['id'], - 'href' => $notif['href'], - 'name' => $notif['name'], - 'url' => $notif['url'], - 'photo' => $notif['photo'], - 'date' => Temporal::getRelativeDate($notif['date']), - 'message' => $notif['message'], - 'seen' => $notif['seen'], - 'timestamp' => strtotime($local_time) - ]; + array_walk($notifications, function (&$notification) { + if (empty($notification['photo'])) { + $contact = Contact::getByURL($notification['url'], false, ['micro', 'id', 'avatar']); + $notification['photo'] = Contact::getMicro($contact, $notif['photo']); } - } + + $notification['timestamp'] = DateTimeFormat::local($notification['date']); + }); } $sysmsgs = []; diff --git a/src/Module/Notifications/Introductions.php b/src/Module/Notifications/Introductions.php index bd0445b07..2a8a6ef44 100644 --- a/src/Module/Notifications/Introductions.php +++ b/src/Module/Notifications/Introductions.php @@ -23,6 +23,7 @@ namespace Friendica\Module\Notifications; use Friendica\Content\ContactSelector; use Friendica\Content\Nav; +use Friendica\Content\Text\BBCode; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Database\DBA; @@ -124,9 +125,11 @@ class Introductions extends BaseNotifications $knowyou = ''; } + $convertedName = BBCode::convert($notification->getName()); + $helptext = DI::l10n()->t('Shall your connection be bidirectional or not?'); - $helptext2 = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notification->getName(), $notification->getName()); - $helptext3 = DI::l10n()->t('Accepting %s as a subscriber allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notification->getName()); + $helptext2 = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $convertedName, $convertedName); + $helptext3 = DI::l10n()->t('Accepting %s as a subscriber allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $convertedName); $friend = ['duplex', DI::l10n()->t('Friend'), '1', $helptext2, true]; $follower = ['duplex', DI::l10n()->t('Subscriber'), '0', $helptext3, false]; diff --git a/view/templates/admin/aside.tpl b/view/templates/admin/aside.tpl index 0f624d8eb..ecf71d8e5 100644 --- a/view/templates/admin/aside.tpl +++ b/view/templates/admin/aside.tpl @@ -4,7 +4,7 @@ $("nav").bind('nav-update', function(e,data){ var elm = $('#pending-update'); - var register = $(data).find('register').text(); + var register = $(data).find('register').html(); if (register=="0") { register=""; elm.hide();} else { elm.show(); } elm.html(register); }); diff --git a/view/templates/event_head.tpl b/view/templates/event_head.tpl index 8990c6fb2..307540806 100644 --- a/view/templates/event_head.tpl +++ b/view/templates/event_head.tpl @@ -168,7 +168,7 @@ $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { var selstr; $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); + selstr = $(this).html(); $('#jot-public').hide(); }); if(selstr == null) { diff --git a/view/templates/photos_head.tpl b/view/templates/photos_head.tpl index 88fd067c8..1d693e103 100644 --- a/view/templates/photos_head.tpl +++ b/view/templates/photos_head.tpl @@ -10,7 +10,7 @@ $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { var selstr; $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); + selstr = $(this).html(); $('#jot-perms-icon').removeClass('unlock').addClass('lock'); $('#jot-public').hide(); }); diff --git a/view/templates/settings/head.tpl b/view/templates/settings/head.tpl index f1229a5aa..6d58e54a6 100644 --- a/view/templates/settings/head.tpl +++ b/view/templates/settings/head.tpl @@ -9,7 +9,7 @@ $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { var selstr; $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); + selstr = $(this).html(); $('#jot-perms-icon').removeClass('unlock').addClass('lock'); $('#jot-public').hide(); }); diff --git a/view/theme/frio/js/event_edit.js b/view/theme/frio/js/event_edit.js index a198eef07..f7a9c4a76 100644 --- a/view/theme/frio/js/event_edit.js +++ b/view/theme/frio/js/event_edit.js @@ -23,7 +23,7 @@ $(document).ready(function() { $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { var selstr; $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); + selstr = $(this).html(); $('#jot-public').hide(); }); if (selstr == null) { diff --git a/view/theme/frio/js/mod_photos.js b/view/theme/frio/js/mod_photos.js index 692a7057f..c75a997ca 100644 --- a/view/theme/frio/js/mod_photos.js +++ b/view/theme/frio/js/mod_photos.js @@ -5,7 +5,7 @@ $(document).ready(function() { $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { var selstr; $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); + selstr = $(this).html(); $('#jot-perms-icon').removeClass('unlock').addClass('lock'); $('#jot-public').hide(); }); diff --git a/view/theme/frio/js/modal.js b/view/theme/frio/js/modal.js index a088b08e3..241cfd4ce 100644 --- a/view/theme/frio/js/modal.js +++ b/view/theme/frio/js/modal.js @@ -192,12 +192,12 @@ function loadModalTitle() { var title = ""; // Get the text of the first element with "heading" class. - title = $("#modal-body .heading").first().text(); + title = $("#modal-body .heading").first().html(); // for event modals we need some speacial handling if($("#modal-body .event-wrapper .event-summary").length) { title = ' '; - var eventsum = $("#modal-body .event-wrapper .event-summary").text(); + var eventsum = $("#modal-body .event-wrapper .event-summary").html(); title = title + eventsum; } diff --git a/view/theme/frio/js/theme.js b/view/theme/frio/js/theme.js index 99ec88de1..b63073966 100644 --- a/view/theme/frio/js/theme.js +++ b/view/theme/frio/js/theme.js @@ -146,7 +146,7 @@ $(document).ready(function(){ if( $(".search-content-wrapper").length ) { // get the text of the heading (we catch the plain text because we don't // want to have a h4 heading in the navbar - var searchText = $(".section-title-wrapper > h2").text(); + var searchText = $(".section-title-wrapper > h2").html(); // insert the plain text in a

heading and give it a class var newText = '

'+searchText+'

'; // append the new heading to the navbar @@ -208,7 +208,7 @@ $(document).ready(function(){ // get the heading element var heading = $(".network-content-wrapper > .section-title-wrapper > h2"); // get the text of the heading - var headingContent = heading.text(); + var headingContent = heading.html(); // create a new element with the content of the heading var newText = '

'+headingContent+'

'; // remove the old heading element @@ -221,7 +221,7 @@ $(document).ready(function(){ // get the heading element var heading = $(".community-content-wrapper > h3").first(); // get the text of the heading - var headingContent = heading.text(); + var headingContent = heading.html(); // create a new element with the content of the heading var newText = '

'+headingContent+'

'; // remove the old heading element @@ -790,7 +790,7 @@ function bin2hex (s) { // Dropdown menus with the class "dropdown-head" will display the active tab // as button text function toggleDropdownText(elm) { - $(elm).closest(".dropdown").find('.btn').html($(elm).text() + ' '); + $(elm).closest(".dropdown").find('.btn').html($(elm).html() + ' '); $(elm).closest(".dropdown").find('.btn').val($(elm).data('value')); $(elm).closest("ul").children("li").show(); $(elm).parent("li").hide(); diff --git a/view/theme/frio/templates/admin/aside.tpl b/view/theme/frio/templates/admin/aside.tpl index 0ba58e5ae..b02f5f614 100644 --- a/view/theme/frio/templates/admin/aside.tpl +++ b/view/theme/frio/templates/admin/aside.tpl @@ -3,9 +3,10 @@ $(function(){ $("nav").bind('nav-update', function(e,data){ var elm = $('#pending-update'); - var register = $(data).find('register').text(); - if (register=="0") { register = ""; } - elm.html(register); + var register = parseInt($(data).find('register').text()); + if (register > 0) { + elm.html(register); + } }); }); diff --git a/view/theme/quattro/js/quattro.js b/view/theme/quattro/js/quattro.js index 89407569b..e91794feb 100644 --- a/view/theme/quattro/js/quattro.js +++ b/view/theme/quattro/js/quattro.js @@ -2,8 +2,8 @@ $(document).ready(function(){ $('nav').bind('nav-update', function(e,data){ var notifCount = $(data).find('notif').attr('count'); - var intro = $(data).find('intro').text(); - var mail = $(data).find('mail').text(); + var intro = parseInt($(data).find('intro').text()); + var mail = parseInt($(data).find('mail').text()); $(".tool .notify").removeClass("on"); $(data).find("group").each(function() { diff --git a/view/theme/smoothly/templates/jot-header.tpl b/view/theme/smoothly/templates/jot-header.tpl index 3a70a5a9c..71e54246b 100644 --- a/view/theme/smoothly/templates/jot-header.tpl +++ b/view/theme/smoothly/templates/jot-header.tpl @@ -86,7 +86,7 @@ function enableOnUser(){ $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { var selstr; $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); + selstr = $(this).html(); $('#jot-perms-icon').removeClass('unlock').addClass('lock'); $('#jot-public').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); diff --git a/view/theme/vier/templates/event_head.tpl b/view/theme/vier/templates/event_head.tpl index 75f6f4b04..2c7b3070a 100644 --- a/view/theme/vier/templates/event_head.tpl +++ b/view/theme/vier/templates/event_head.tpl @@ -170,7 +170,7 @@ $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { var selstr; $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); + selstr = $(this).html(); $('#jot-public').hide(); }); if(selstr == null) {