$tpl = Renderer::getMarkupTemplate('footer.tpl');
$this->page['footer'] = Renderer::replaceMacros($tpl, [
'$footerScripts' => array_unique($this->footerScripts),
+ '$close' => $l10n->t('Close'),
]) . $this->page['footer'];
}
// Check for headers
if ($simple_html == self::INTERNAL) {
- //Ensure to always start with <h4> if possible
+ //Ensure to always start with <h3> if possible
$heading_count = 0;
for ($level = 6; $level > 0; $level--) {
if (preg_match("(\[h$level\].*?\[\/h$level\])ism", $text)) {
}
}
if ($heading_count > 0) {
- $heading = min($heading_count + 3, 6);
+ $heading = min($heading_count + 2, 6);
for ($level = 6; $level > 0; $level--) {
if (preg_match("(\[h$level\].*?\[\/h$level\])ism", $text)) {
$text = preg_replace("(\[h$level\](.*?)\[\/h$level\])ism", "</p><h$heading>$1</h$heading><p>", $text);
$tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
- return Renderer::replaceMacros($tpl, ['$tabs' => $arr['tabs']]);
+ return Renderer::replaceMacros($tpl, ['$tabs' => $arr['tabs'], '$more' => DI::l10n()->t('More')]);
}
}
'$week' => $this->t('week'),
'$day' => $this->t('day'),
'$list' => $this->t('list'),
+ '$prev' => $this->t('prev'),
+ '$next' => $this->t('next'),
]);
return $o;
];
$tabs_tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
- $tabs_html = Renderer::replaceMacros($tabs_tpl, ['$tabs' => $tabs]);
+ $tabs_html = Renderer::replaceMacros($tabs_tpl, ['$tabs' => $tabs, '$more' => DI::l10n()->t('More')]);
switch ($rel) {
case 'followers':
}
$tab_tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
- $tab_str = Renderer::replaceMacros($tab_tpl, ['$tabs' => $tabs]);
+ $tab_str = Renderer::replaceMacros($tab_tpl, ['$tabs' => $tabs, '$more' => DI::l10n()->t('More')]);
return $tab_str;
}
$tabs = array_merge($tabs, $this->getTabArray($this->community->getTimelines(true), 'channel'));
$tab_tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
- $o .= Renderer::replaceMacros($tab_tpl, ['$tabs' => $tabs]);
+ $o .= Renderer::replaceMacros($tab_tpl, ['$tabs' => $tabs, '$more' => $this->l10n->t('More')]);
Nav::setSelected('channel');
if (!$this->raw) {
$tabs = $this->getTabArray($this->community->getTimelines($this->session->isAuthenticated()), 'community');
$tab_tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
- $o .= Renderer::replaceMacros($tab_tpl, ['$tabs' => $tabs]);
+ $o .= Renderer::replaceMacros($tab_tpl, ['$tabs' => $tabs, '$more' => $this->l10n->t('More')]);
Nav::setSelected('community');
$tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
- return Renderer::replaceMacros($tpl, ['$tabs' => $tabs]);
+ return Renderer::replaceMacros($tpl, ['$tabs' => $tabs, '$more' => $this->l10n->t('More')]);
}
protected function parseRequest(array $request)
Hook::callAll('moderation_users_tabs', $tabs_arr);
$tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
- return Renderer::replaceMacros($tpl, ['$tabs' => $tabs_arr['tabs']]);
+ return Renderer::replaceMacros($tpl, ['$tabs' => $tabs_arr['tabs'], '$more' => $this->t('More')]);
}
protected function setupUserCallback(): \Closure
}
$languages = [];
+ $language = '';
if (!empty($item['language'])) {
$languages = DI::l10n()->t('Languages');
+ $language = array_key_first(json_decode($item['language'], true));
}
if (in_array($item['private'], [Item::PUBLIC, Item::UNLISTED]) && in_array($item['network'], Protocol::FEDERATED)) {
'tagger' => $tagger,
'filer' => $filer,
'language' => $languages,
+ 'lang' => $language,
'searchtext' => DI::l10n()->t('Search Text'),
'drop' => $drop,
'block' => $block,
'text' => '[emoji=https://fedi.underscore.world/emoji/custom/custom/heart_nb.png]:heart_nb:[/emoji]',
],
'task-12900-multiple-paragraphs' => [
- 'expectedHTML' => '<h4>Header</h4><ul><li>One</li><li>Two</li></ul><p>This is a paragraph<br>with a line feed.</p><p>Second Chapter</p>',
+ 'expectedHTML' => '<h3>Header</h3><ul><li>One</li><li>Two</li></ul><p>This is a paragraph<br>with a line feed.</p><p>Second Chapter</p>',
'text' => "[h4]Header[/h4][ul][li]One[li]Two[/ul]\n\nThis is a paragraph\nwith a line feed.\n\nSecond Chapter",
],
'task-12900-header-with-paragraphs' => [
- 'expectedHTML' => '<h4>Header</h4><p>Some Chapter</p>',
+ 'expectedHTML' => '<h3>Header</h3><p>Some Chapter</p>',
'text' => '[h4]Header[/h4]Some Chapter',
],
'bug-12842-ul-newlines' => [
}
/* wall items contact info */
-.media .media-body h4.media-heading {
+.media .media-body h1.media-heading,
+.media .media-body h2.media-heading {
font-size: 14px;
font-weight: 500;
color: $font_color_darker;
.contact-entry-checkbox {
margin-top: -20px;
}
-.contact-wrapper .media-body .contact-entry-name h4.media-heading a {
+.contact-wrapper .media-body .contact-entry-name h1.media-heading a {
font-weight: bold !important;
color: $link_color;
font-size: 15px !important;
#circle-update-wrapper .shortmode .contact-entry-desc {
font-size: 12px !important;
}
-#circle-update-wrapper .shortmode .contact-entry-desc h4.media-heading {
+#circle-update-wrapper .shortmode .contact-entry-desc h1.media-heading {
margin: 0;
}
-#circle-update-wrapper .shortmode .contact-entry-desc h4.media-heading a {
+#circle-update-wrapper .shortmode .contact-entry-desc h1.media-heading a {
font-size: 13px !important;
white-space: nowrap;
}
</head>
<body id="top" class="mod-<?php echo $page['module'] . " " . $is_singleuser_class . " " . $view_mode_class;?>">
- <a href="#content" class="sr-only sr-only-focusable"><?php echo DI::l10n()->t('Skip to main content'); ?></a>
+ <a href="<?php echo DI::args()->getCommand(); ?>/#content" class="sr-only sr-only-focusable"><?php echo DI::l10n()->t('Skip to main content'); ?></a>
<?php
if (!empty($page['nav']) && !$minimal) {
echo str_replace(
*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
+
+use Friendica\DI;
+
?>
<!DOCTYPE html>
<html>
<div class="modal-dialog modal-full-screen">
<div class="modal-content">
<div id="modal-header" class="modal-header">
- <button id="modal-close" type="button" class="close" data-dismiss="modal">
+ <button id="modal-close" type="button" class="close" data-dismiss="modal" title="<?php echo DI::l10n()->t('Close'); ?>">
×
</button>
<h4 id="modal-title" class="modal-title"></h4>
</head>
<body id="top">
<?php if($_SERVER['REQUEST_URI'] == '/'){header('Location: /login');} ?>
-<a href="#content" class="sr-only sr-only-focusable"><?php echo DI::l10n()->t('Skip to main content'); ?></a>
+<a href="<?php echo DI::args()->getCommand(); ?>/#content" class="sr-only sr-only-focusable"><?php echo DI::l10n()->t('Skip to main content'); ?></a>
<?php
if(!empty($page['nav'])) {
echo str_replace('~config.sitename~', DI::config()->get('config','sitename'),
<div class="modal-dialog modal-full-screen">
<div class="modal-content">
<div id="modal-header" class="modal-header">
- <button id="modal-close" type="button" class="close" data-dismiss="modal">
+ <button id="modal-close" type="button" class="close" data-dismiss="modal" title="<?php echo DI::l10n()->t('Close'); ?>">
×
</button>
<h4 id="modal-title" class="modal-title"></h4>
{{* The buttons to change the month/weeks/days *}}
<div id="fc-fc-header-left" class="btn-group">
- <button class="btn btn-eventnav" onclick="changeView('prev', false);" title="{{$previous.1}}"><i class="fa fa-angle-up" aria-hidden="true"></i></button>
- <button class="btn btn-eventnav btn-separator" onclick="changeView('next', false);" title="{{$next.1}}"><i class="fa fa-angle-down" aria-hidden="true"></i></button>
+ <button class="btn btn-eventnav" onclick="changeView('prev', false);" title="{{$prev}}"><i class="fa fa-angle-up" aria-hidden="true"></i></button>
+ <button class="btn btn-eventnav btn-separator" onclick="changeView('next', false);" title="{{$next}}"><i class="fa fa-angle-down" aria-hidden="true"></i></button>
<button class="btn btn-eventnav btn-separator" onclick="changeView('today', false);" title="{{$today}}"><i class="fa fa-bullseye" aria-hidden="true"></i></button>
</div>
<ul class="tabs tabs-extended" role="menu">
<li role="presentation" class="dropdown flex-target">
<button type="button" class="btn-link dropdown-toggle" id="dropdownMenuTools" data-toggle="dropdown"
- aria-expanded="false">
+ aria-expanded="false" title="{{$more}}">
<i class="fa fa-chevron-down" aria-hidden="true"></i>
</button>
</li>
<ul class="tabs tabs-extended">
<li class="dropdown">
<button type="button" class="btn-link dropdown-toggle" id="dropdownMenuTools-xs"
- data-toggle="dropdown" aria-expanded="false">
+ data-toggle="dropdown" aria-expanded="false" title="{{$more}}">
<i class="fa fa-chevron-down" aria-hidden="true"></i>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuTools">
<div class="modal-dialog modal-full-screen">
<div class="modal-content">
<div id="modal-header" class="modal-header">
- <button id="modal-close" type="button" class="close" data-dismiss="modal">
+ <button id="modal-close" type="button" class="close" data-dismiss="modal" title="{{$close}}">
×
</button>
<h4 id="modal-title" class="modal-title"></h4>
<span class="wall-item-network" title="{{$item.app}}">{{$item.network_name}}</span>
{{/if}}
</div>
- <h4 class="media-heading">
+ <h2 class="media-heading">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card">
<span class="wall-item-name {{$item.sparkle}}">{{$item.name}}</span>
</a>
{{/if}}
</div>
{{* @todo $item.created have to be inserted *}}
- </h4>
+ </h2>
</div>
{{* contact info header for smartphones *}}
{{* item content *}}
<div class="wall-item-content {{$item.type}}" id="wall-item-content-{{$item.id}}">
{{if $item.title}}
- <span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h4 class="media-heading" dir="auto"><a href="{{$item.plink.href}}" class="{{$item.sparkle}}">{{$item.title}}</a></h4><br /></span>
+ <span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h2 class="media-heading" dir="auto"><a href="{{$item.plink.href}}" class="{{$item.sparkle}}">{{$item.title}}</a></h2><br /></span>
{{/if}}
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" dir="auto">{{$item.body_html nofilter}}</div>
</div>
{{if $item.thread_level==1}}
<div class="hidden-sm hidden-xs media-body"><!-- <= For computer -->
- <h4 class="media-heading">
+ <h1 class="media-heading">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card">
<span class="wall-item-name {{$item.sparkle}}">{{$item.name}}</span>
</a>
<span class="wall-item-name {{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span>
</a>
{{/if}}
- </h4>
+ </h1>
<div class="additional-info text-muted">
<div id="wall-item-ago-{{$item.id}}" class="wall-item-ago">
{{* contact info header for smartphones *}}
<div class="contact-info-xs hidden-lg hidden-md"><!-- <= For smartphone (responsive) -->
- <h5 class="media-heading">
+ <h2 class="media-heading">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span>{{$item.name}}</span></a>
<p class="text-muted">
<small>
{{/if}}
</small>
</p>
- </h5>
+ </h2>
</div>
{{else}} {{* End of if $item.thread_level == 1 *}}
{{* contact info header for comments *}}
<div class="contact-info-comment">
- <h5 class="media-heading">
+ <h2 class="media-heading">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span class="fakelink">{{$item.name}}</span></a>
<span class="text-muted">
- </h5>
+ </h2>
<small>
{{if $item.parentguid}}
<span class="hidden-xs hidden-sm">
{{* item content *}}
<div class="wall-item-content {{$item.type}}" id="wall-item-content-{{$item.id}}">
{{if $item.title}}
- <span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h4 class="media-heading" dir="auto"><a href="{{$item.plink.href}}" class="{{$item.sparkle}} p-name" target="_blank">{{$item.title}}</a></h4><br /></span>
+ <span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h3 class="media-heading" dir="auto"><a href="{{$item.plink.href}}" class="{{$item.sparkle}} p-name" target="_blank">{{$item.title}}</a></h3><br /></span>
{{/if}}
{{if $item.summary}}
<summary class="wall-item-summary" id="wall-item-summary-{{$item.id}}">{{$item.summary}}</summary>
{{/if}}
- <div class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}" id="wall-item-body-{{$item.id}}" dir="auto">{{$item.body_html nofilter}}</div>
+ <div class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}" id="wall-item-body-{{$item.id}}" dir="auto" lang="{{$item.lang}}">{{$item.body_html nofilter}}</div>
</div>
<!-- TODO -->