Merge pull request #14730 from annando/accessibility

Several accessibility improvements
This commit is contained in:
Hypolite Petovan 2025-01-26 12:20:29 -05:00 committed by GitHub
commit c8042e92df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 395 additions and 349 deletions

View file

@ -356,6 +356,7 @@ class Page implements ArrayAccess
$tpl = Renderer::getMarkupTemplate('footer.tpl');
$this->page['footer'] = Renderer::replaceMacros($tpl, [
'$footerScripts' => array_unique($this->footerScripts),
'$close' => $l10n->t('Close'),
]) . $this->page['footer'];
}

View file

@ -1583,7 +1583,7 @@ class BBCode
// 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)) {
@ -1591,7 +1591,7 @@ class BBCode
}
}
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);

View file

@ -134,6 +134,6 @@ class BaseProfile extends BaseModule
$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')]);
}
}

View file

@ -21,7 +21,6 @@ use Friendica\Core\Session\Capability\IHandleUserSessions;
use Friendica\Core\Theme;
use Friendica\Model\Event;
use Friendica\Model\Profile;
use Friendica\Model\User;
use Friendica\Module\BaseProfile;
use Friendica\Module\Response;
use Friendica\Module\Security\Login;
@ -119,6 +118,8 @@ class Show extends BaseModule
'$week' => $this->t('week'),
'$day' => $this->t('day'),
'$list' => $this->t('list'),
'$prev' => $this->t('prev'),
'$next' => $this->t('next'),
]);
return $o;

View file

@ -387,7 +387,7 @@ class Contact extends BaseModule
];
$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':
@ -534,7 +534,7 @@ class Contact extends BaseModule
}
$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;
}

View file

@ -95,7 +95,7 @@ class Channel extends Timeline
$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');

View file

@ -88,7 +88,7 @@ class Community extends Timeline
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');

View file

@ -292,7 +292,7 @@ class Network extends Timeline
$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)
@ -344,6 +344,7 @@ class Network extends Timeline
// since otherwise the feed will optically jump, when some already visible thread has been updated.
if ($this->update && ($this->selectedTab == NetworkEntity::COMMENTED)) {
$this->order = 'received';
$request['last_received'] = $request['last_commented'] ?? null;
$request['first_received'] = $request['first_commented'] ?? null;
}

View file

@ -99,7 +99,7 @@ abstract class BaseUsers extends BaseModeration
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

View file

@ -498,8 +498,10 @@ class Post
}
$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)) {
@ -579,6 +581,7 @@ class Post
'tagger' => $tagger,
'filer' => $filer,
'language' => $languages,
'lang' => $language,
'searchtext' => DI::l10n()->t('Search Text'),
'drop' => $drop,
'block' => $block,

View file

@ -248,11 +248,11 @@ Karl Marx - Die ursprüngliche Akkumulation
'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' => [

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2025.02-dev\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-23 21:29+0000\n"
"POT-Creation-Date: 2025-01-26 12:50+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -285,7 +285,7 @@ msgstr ""
#: mod/message.php:188 mod/message.php:344 mod/photos.php:1252
#: src/Content/Conversation.php:389 src/Content/Conversation.php:1565
#: src/Module/Item/Compose.php:202 src/Module/Post/Edit.php:136
#: src/Object/Post.php:604
#: src/Object/Post.php:607
msgid "Please wait"
msgstr ""
@ -307,7 +307,7 @@ msgstr ""
#: src/Module/Moderation/Report/Create.php:249
#: src/Module/Profile/Profile.php:265 src/Module/Settings/Profile/Index.php:248
#: src/Module/Settings/Server/Action.php:65 src/Module/User/Delegation.php:177
#: src/Object/Post.php:1145 view/theme/duepuntozero/config.php:73
#: src/Object/Post.php:1148 view/theme/duepuntozero/config.php:73
#: view/theme/frio/config.php:155 view/theme/quattro/config.php:75
#: view/theme/vier/config.php:123
msgid "Submit"
@ -590,25 +590,25 @@ msgstr ""
#: mod/photos.php:1090 mod/photos.php:1146 mod/photos.php:1226
#: src/Module/Contact.php:599 src/Module/Item/Compose.php:184
#: src/Object/Post.php:1142
#: src/Object/Post.php:1145
msgid "This is you"
msgstr ""
#: mod/photos.php:1092 mod/photos.php:1148 mod/photos.php:1228
#: src/Module/Moderation/Reports.php:105 src/Object/Post.php:598
#: src/Object/Post.php:1144
#: src/Module/Moderation/Reports.php:105 src/Object/Post.php:601
#: src/Object/Post.php:1147
msgid "Comment"
msgstr ""
#: mod/photos.php:1094 mod/photos.php:1150 mod/photos.php:1230
#: src/Content/Conversation.php:403 src/Module/Calendar/Event/Form.php:234
#: src/Module/Item/Compose.php:197 src/Module/Post/Edit.php:156
#: src/Object/Post.php:1158
#: src/Object/Post.php:1161
msgid "Preview"
msgstr ""
#: mod/photos.php:1095 src/Content/Conversation.php:357
#: src/Module/Post/Edit.php:121 src/Object/Post.php:1146
#: src/Module/Post/Edit.php:121 src/Object/Post.php:1149
msgid "Loading..."
msgstr ""
@ -747,6 +747,11 @@ msgstr ""
msgid "toggle mobile"
msgstr ""
#: src/App/Page.php:359 src/Module/Admin/Logs/View.php:92
#: view/theme/frio/php/minimal.php:33 view/theme/frio/php/standard.php:117
msgid "Close"
msgstr ""
#: src/App/Router.php:286
#, php-format
msgid "Method not allowed for this module. Allowed method(s): %s"
@ -1230,7 +1235,7 @@ msgid "Visible to <strong>everybody</strong>"
msgstr ""
#: src/Content/Conversation.php:327 src/Module/Item/Compose.php:196
#: src/Object/Post.php:1157
#: src/Object/Post.php:1160
msgid "Please enter a image/video/audio/webpage URL:"
msgstr ""
@ -1275,52 +1280,52 @@ msgid "attach file"
msgstr ""
#: src/Content/Conversation.php:362 src/Module/Item/Compose.php:186
#: src/Module/Post/Edit.php:162 src/Object/Post.php:1147
#: src/Module/Post/Edit.php:162 src/Object/Post.php:1150
msgid "Bold"
msgstr ""
#: src/Content/Conversation.php:363 src/Module/Item/Compose.php:187
#: src/Module/Post/Edit.php:163 src/Object/Post.php:1148
#: src/Module/Post/Edit.php:163 src/Object/Post.php:1151
msgid "Italic"
msgstr ""
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:188
#: src/Module/Post/Edit.php:164 src/Object/Post.php:1149
#: src/Module/Post/Edit.php:164 src/Object/Post.php:1152
msgid "Underline"
msgstr ""
#: src/Content/Conversation.php:365 src/Module/Item/Compose.php:189
#: src/Module/Post/Edit.php:165 src/Object/Post.php:1151
#: src/Module/Post/Edit.php:165 src/Object/Post.php:1154
msgid "Quote"
msgstr ""
#: src/Content/Conversation.php:366 src/Module/Item/Compose.php:190
#: src/Module/Post/Edit.php:166 src/Object/Post.php:1152
#: src/Module/Post/Edit.php:166 src/Object/Post.php:1155
msgid "Add emojis"
msgstr ""
#: src/Content/Conversation.php:367 src/Module/Item/Compose.php:191
#: src/Object/Post.php:1150
#: src/Object/Post.php:1153
msgid "Content Warning"
msgstr ""
#: src/Content/Conversation.php:368 src/Module/Item/Compose.php:192
#: src/Module/Post/Edit.php:167 src/Object/Post.php:1153
#: src/Module/Post/Edit.php:167 src/Object/Post.php:1156
msgid "Code"
msgstr ""
#: src/Content/Conversation.php:369 src/Module/Item/Compose.php:193
#: src/Object/Post.php:1154
#: src/Object/Post.php:1157
msgid "Image"
msgstr ""
#: src/Content/Conversation.php:370 src/Module/Item/Compose.php:194
#: src/Module/Post/Edit.php:168 src/Object/Post.php:1155
#: src/Module/Post/Edit.php:168 src/Object/Post.php:1158
msgid "Link"
msgstr ""
#: src/Content/Conversation.php:371 src/Module/Item/Compose.php:195
#: src/Module/Post/Edit.php:169 src/Object/Post.php:1156
#: src/Module/Post/Edit.php:169 src/Object/Post.php:1159
msgid "Link or Media"
msgstr ""
@ -1480,21 +1485,21 @@ msgstr ""
msgid "Pinned item"
msgstr ""
#: src/Content/Conversation.php:1524 src/Object/Post.php:541
#: src/Object/Post.php:542
#: src/Content/Conversation.php:1524 src/Object/Post.php:543
#: src/Object/Post.php:544
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
#: src/Content/Conversation.php:1538 src/Object/Post.php:529
#: src/Content/Conversation.php:1538 src/Object/Post.php:531
msgid "Categories:"
msgstr ""
#: src/Content/Conversation.php:1539 src/Object/Post.php:530
#: src/Content/Conversation.php:1539 src/Object/Post.php:532
msgid "Filed under:"
msgstr ""
#: src/Content/Conversation.php:1547 src/Object/Post.php:556
#: src/Content/Conversation.php:1547 src/Object/Post.php:558
#, php-format
msgid "%s from %s"
msgstr ""
@ -1909,11 +1914,11 @@ msgid "Ignore %s server"
msgstr ""
#: src/Content/Item.php:432 src/Module/Settings/Channels.php:188
#: src/Module/Settings/Channels.php:209 src/Object/Post.php:502
#: src/Module/Settings/Channels.php:209 src/Object/Post.php:503
msgid "Languages"
msgstr ""
#: src/Content/Item.php:435 src/Object/Post.php:582
#: src/Content/Item.php:435 src/Object/Post.php:585
msgid "Search Text"
msgstr ""
@ -2225,11 +2230,11 @@ msgstr ""
msgid "first"
msgstr ""
#: src/Content/Pager.php:207
#: src/Content/Pager.php:207 src/Module/Calendar/Show.php:122
msgid "prev"
msgstr ""
#: src/Content/Pager.php:262
#: src/Content/Pager.php:262 src/Module/Calendar/Show.php:123
msgid "next"
msgstr ""
@ -4226,10 +4231,6 @@ msgstr ""
msgid "Process ID"
msgstr ""
#: src/Module/Admin/Logs/View.php:92
msgid "Close"
msgstr ""
#: src/Module/Admin/Queue.php:36
msgid "Inspect Deferred Worker Queue"
msgstr ""
@ -5740,6 +5741,14 @@ msgstr ""
msgid "Tips for New Members"
msgstr ""
#: src/Module/BaseProfile.php:137 src/Module/Contact.php:390
#: src/Module/Contact.php:537 src/Module/Conversation/Channel.php:98
#: src/Module/Conversation/Community.php:91
#: src/Module/Conversation/Network.php:295
#: src/Module/Moderation/BaseUsers.php:102 src/Object/Post.php:605
msgid "More"
msgstr ""
#: src/Module/BaseSearch.php:56
#, php-format
msgid "People Search - %s"
@ -11597,138 +11606,134 @@ msgstr ""
msgid "Remote comment"
msgstr ""
#: src/Object/Post.php:506
#: src/Object/Post.php:508
msgid "Share via ..."
msgstr ""
#: src/Object/Post.php:506
#: src/Object/Post.php:508
msgid "Share via external services"
msgstr ""
#: src/Object/Post.php:513
#: src/Object/Post.php:515
msgid "Unknown parent"
msgstr ""
#: src/Object/Post.php:517
#: src/Object/Post.php:519
#, php-format
msgid "in reply to %s"
msgstr ""
#: src/Object/Post.php:519
#: src/Object/Post.php:521
msgid "Parent is probably private or not federated."
msgstr ""
#: src/Object/Post.php:543
#: src/Object/Post.php:545
msgid "to"
msgstr ""
#: src/Object/Post.php:544
#: src/Object/Post.php:546
msgid "via"
msgstr ""
#: src/Object/Post.php:545
#: src/Object/Post.php:547
msgid "Wall-to-Wall"
msgstr ""
#: src/Object/Post.php:546
#: src/Object/Post.php:548
msgid "via Wall-To-Wall:"
msgstr ""
#: src/Object/Post.php:599
#: src/Object/Post.php:602
#, php-format
msgid "Reply to %s"
msgstr ""
#: src/Object/Post.php:602
msgid "More"
msgstr ""
#: src/Object/Post.php:621
#: src/Object/Post.php:624
msgid "Notifier task is pending"
msgstr ""
#: src/Object/Post.php:622
#: src/Object/Post.php:625
msgid "Delivery to remote servers is pending"
msgstr ""
#: src/Object/Post.php:623
#: src/Object/Post.php:626
msgid "Delivery to remote servers is underway"
msgstr ""
#: src/Object/Post.php:624
#: src/Object/Post.php:627
msgid "Delivery to remote servers is mostly done"
msgstr ""
#: src/Object/Post.php:625
#: src/Object/Post.php:628
msgid "Delivery to remote servers is done"
msgstr ""
#: src/Object/Post.php:647
#: src/Object/Post.php:650
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
#: src/Object/Post.php:648
#: src/Object/Post.php:651
msgid "Show more"
msgstr ""
#: src/Object/Post.php:649
#: src/Object/Post.php:652
msgid "Show fewer"
msgstr ""
#: src/Object/Post.php:686
#: src/Object/Post.php:689
#, php-format
msgid "Reshared by: %s"
msgstr ""
#: src/Object/Post.php:691
#: src/Object/Post.php:694
#, php-format
msgid "Viewed by: %s"
msgstr ""
#: src/Object/Post.php:696
#: src/Object/Post.php:699
#, php-format
msgid "Read by: %s"
msgstr ""
#: src/Object/Post.php:701
#: src/Object/Post.php:704
#, php-format
msgid "Liked by: %s"
msgstr ""
#: src/Object/Post.php:706
#: src/Object/Post.php:709
#, php-format
msgid "Disliked by: %s"
msgstr ""
#: src/Object/Post.php:711
#: src/Object/Post.php:714
#, php-format
msgid "Attended by: %s"
msgstr ""
#: src/Object/Post.php:716
#: src/Object/Post.php:719
#, php-format
msgid "Maybe attended by: %s"
msgstr ""
#: src/Object/Post.php:721
#: src/Object/Post.php:724
#, php-format
msgid "Not attended by: %s"
msgstr ""
#: src/Object/Post.php:726
#: src/Object/Post.php:729
#, php-format
msgid "Commented by: %s"
msgstr ""
#: src/Object/Post.php:731
#: src/Object/Post.php:734
#, php-format
msgid "Reacted with %s by: %s"
msgstr ""
#: src/Object/Post.php:754
#: src/Object/Post.php:757
#, php-format
msgid "Quote shared by: %s"
msgstr ""

View file

@ -1806,7 +1806,8 @@ blockquote.shared_content {
}
/* 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;
@ -2604,7 +2605,7 @@ ul.viewcontact_wrapper > li {
.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;
@ -2706,10 +2707,10 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
#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;
}

View file

@ -32,7 +32,9 @@ $is_singleuser_class = $is_singleuser ? "is-singleuser" : "is-not-singleuser";
?>
<html>
<head>
<title><?php if (!empty($page['title'])) echo $page['title'] ?></title>
<title><?php if (!empty($page['title'])) {
echo $page['title'];
} ?></title>
<meta request="<?php echo htmlspecialchars($_REQUEST['pagename'] ?? '') ?>">
<script type="text/javascript">var baseurl = "<?php echo (string)DI::baseUrl(); ?>";</script>
<script type="text/javascript">var frio = "<?php echo 'view/theme/frio'; ?>";</script>
@ -52,8 +54,7 @@ $is_singleuser_class = $is_singleuser ? "is-singleuser" : "is-not-singleuser";
if ($scheme != FRIO_CUSTOM_SCHEME) {
if (file_exists('view/theme/frio/scheme/' . $scheme . '.php')) {
$schemefile = 'view/theme/frio/scheme/' . $scheme . '.php';
$scheme_accent =
DI::pConfig()->get($uid, 'frio', 'scheme_accent') ?:
$scheme_accent = DI::pConfig()->get($uid, 'frio', 'scheme_accent') ?:
DI::config()->get('frio', 'scheme_accent') ?: FRIO_SCHEME_ACCENT_BLUE;
require_once $schemefile;
@ -67,7 +68,7 @@ $is_singleuser_class = $is_singleuser ? "is-singleuser" : "is-not-singleuser";
</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(
@ -86,7 +87,9 @@ $is_singleuser_class = $is_singleuser ? "is-singleuser" : "is-not-singleuser";
?>
<!-- <?php echo __FILE__ ?> -->
<section class="minimal">
<?php if (!empty($page['content'])) echo $page['content']; ?>
<?php if (!empty($page['content'])) {
echo $page['content'];
} ?>
<div id="page-footer"></div>
</section>
<?php

View file

@ -5,18 +5,27 @@
*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
use Friendica\DI;
?>
<!DOCTYPE html>
<html>
<head>
<title><?php if(!empty($page['title'])) echo $page['title'] ?></title>
<title><?php if(!empty($page['title'])) {
echo $page['title'];
} ?></title>
<script>var baseurl="<?php echo Friendica\DI::baseUrl() ?>";</script>
<?php if(!empty($page['htmlhead'])) echo $page['htmlhead'] ?>
<?php if(!empty($page['htmlhead'])) {
echo $page['htmlhead'];
} ?>
</head>
<body class="minimal">
<section>
<div class="generic-page-wrapper">
<?php if(!empty($page['content'])) echo $page['content']; ?>
<?php if(!empty($page['content'])) {
echo $page['content'];
} ?>
</div>
<div id="page-footer">
<?php echo $page['footer'] ?? ''; ?>
@ -27,7 +36,7 @@
<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'); ?>">
&times;
</button>
<h4 id="modal-title" class="modal-title"></h4>

View file

@ -16,22 +16,34 @@ $frio = 'view/theme/frio';
<!DOCTYPE html>
<html>
<head>
<title><?php if(!empty($page['title'])) echo $page['title'] ?></title>
<title><?php if(!empty($page['title'])) {
echo $page['title'];
} ?></title>
<meta name="viewport" content="initial-scale=1.0">
<meta request="<?php echo htmlspecialchars($_REQUEST['pagename']) ?>">
<script type="text/javascript">var baseurl="<?php echo DI::baseUrl() ?>";</script>
<script type="text/javascript">var frio="<?php echo $frio; ?>";</script>
<?php if(!empty($page['htmlhead'])) echo $page['htmlhead']; ?>
<?php if(!empty($page['htmlhead'])) {
echo $page['htmlhead'];
} ?>
</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>
<?php if($_SERVER['REQUEST_URI'] == '/') {
header('Location: /login');
} ?>
<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'),
str_replace('~system.banner~', DI::config()->get('system','banner'),
echo str_replace(
'~config.sitename~',
DI::config()->get('config', 'sitename'),
str_replace(
'~system.banner~',
DI::config()->get('system', 'banner'),
$page['nav']
));};
)
);
};
?>
<main>
@ -40,16 +52,26 @@ $frio = 'view/theme/frio';
<?php
echo '
<aside class="col-lg-3 col-md-3 hidden-sm hidden-xs">
'; if(!empty($page['aside'])) echo $page['aside']; echo'
'; if(!empty($page['right_aside'])) echo $page['right_aside']; echo'
'; include('includes/photo_side.php'); echo'
';
if(!empty($page['aside'])) {
echo $page['aside'];
} echo'
';
if(!empty($page['right_aside'])) {
echo $page['right_aside'];
} echo'
';
include('includes/photo_side.php');
echo'
</aside>
<div class="col-lg-8 col-md-8 col-sm-12 col-xs-12" id="content">
<section class="sectiontop">
<div class="panel ' . DI::args()->get(0, 'generic') . '-content-wrapper">
<div class="panel-body">';
if(!empty($page['content'])) echo $page['content']; echo'
if(!empty($page['content'])) {
echo $page['content'];
} echo'
<div id="pause"></div> <!-- The pause/resume Ajax indicator -->
</div>
</div>
@ -114,7 +136,7 @@ $('nav').bind('nav-update', function(e,data)
<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'); ?>">
&times;
</button>
<h4 id="modal-title" class="modal-title"></h4>

View file

@ -46,8 +46,8 @@
{{* 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>

View file

@ -27,7 +27,7 @@
<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>
@ -59,7 +59,7 @@
<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">

View file

@ -9,7 +9,7 @@
<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}}">
&times;
</button>
<h4 id="modal-title" class="modal-title"></h4>

View file

@ -45,7 +45,7 @@
<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>
@ -69,7 +69,7 @@
<time class="time" title="{{$item.localtime}}" data-toggle="tooltip" datetime="{{$item.utc}}">{{$item.ago}}</time>
</a>
{{if $item.pinned}}
&bull; <i class="fa fa-thumb-tack" aria-hidden="true" title="{{$item.pinned}}"></i>
<span aria-hidden="true">&bull;</span> <i class="fa fa-thumb-tack" aria-hidden="true" title="{{$item.pinned}}"></i>
<span class="sr-only">{{$item.pinned}}</span>
{{/if}}
</small>
@ -82,7 +82,7 @@
{{/if}}
</div>
{{* @todo $item.created have to be inserted *}}
</h4>
</h2>
</div>
{{* contact info header for smartphones *}}
@ -113,7 +113,7 @@
{{* 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>

View file

@ -6,7 +6,7 @@
*}}
{{if $delivery.queue_count >= -1 && $delivery.queue_count !== '' && $delivery.queue_count !== null}}
<span class="delivery">
&bull;
<span aria-hidden="true">&bull;</span>
{{if $delivery.queue_count == 0}}
<i class="fa fa-hourglass-o" aria-hidden="true" title="{{$delivery.notifier_pending}}"></i>
<span class="sr-only">{{$delivery.notifier_pending}}</span>

View file

@ -6,7 +6,7 @@
*}}
{{if $direction.direction > 0}}
<span class="direction">
&bull;
<span aria-hidden="true">&bull;</span>
{{if $direction.direction == 1}}
<i class="fa fa-inbox" aria-hidden="true" title="{{$direction.title}}"></i>
{{elseif $direction.direction == 2}}

View file

@ -138,7 +138,7 @@ as the value of $top_child_total (this is done at the end of this file)
</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>
@ -148,7 +148,7 @@ as the value of $top_child_total (this is done at the end of this file)
<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">
@ -163,14 +163,14 @@ as the value of $top_child_total (this is done at the end of this file)
{{include file="sub/direction.tpl" direction=$item.direction}}
{{/if}}
{{if $item.pinned}}
&bull; <i class="fa fa-thumb-tack" aria-hidden="true" title="{{$item.pinned}}"></i>
<span aria-hidden="true">&bull;</span> <i class="fa fa-thumb-tack" aria-hidden="true" title="{{$item.pinned}}"></i>
<span class="sr-only">{{$item.pinned}}</span>
{{/if}}
{{if $item.connector}}
&bull;
<span aria-hidden="true">&bull;</span>
<small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
{{else}}
&bull;
<span aria-hidden="true">&bull;</span>
<span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
<small><i class="fa {{if $item.private == 1}}fa-lock{{elseif $item.private == 0}}fa-globe{{else}}fa-low-vision{{/if}}" aria-hidden="true"></i></small>
</span>
@ -189,7 +189,7 @@ as the value of $top_child_total (this is done at the end of this file)
{{* 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>
@ -204,25 +204,25 @@ as the value of $top_child_total (this is done at the end of this file)
{{include file="sub/direction.tpl" direction=$item.direction}}
{{/if}}
{{if $item.connector}}
&bull;
<span aria-hidden="true">&bull;</span>
<small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
{{else}}
&bull;
<span aria-hidden="true">&bull;</span>
<span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
<i class="fa {{if $item.private == 1}}fa-lock{{elseif $item.private == 0}}fa-globe{{else}}fa-low-vision{{/if}}" aria-hidden="true"></i>
</span>
{{/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">
@ -248,11 +248,11 @@ as the value of $top_child_total (this is done at the end of this file)
{{include file="sub/direction.tpl" direction=$item.direction}}
{{/if}}
{{if $item.connector}}
&bull;
<span aria-hidden="true">&bull;</span>
<small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
{{else}}
<span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
&bull;
<span aria-hidden="true">&bull;</span>
<small><i class="fa {{if $item.private == 1}}fa-lock{{elseif $item.private == 0}}fa-globe{{else}}fa-low-vision{{/if}}" aria-hidden="true"></i></small>
</span>
{{/if}}
@ -265,17 +265,17 @@ as the value of $top_child_total (this is done at the end of this file)
<div class="clearfix"></div>
{{* Insert Line to separate item header and item content visually *}}
{{if $item.thread_level==1}}<hr />{{/if}}
{{if $item.thread_level==1}}<span aria-hidden="true"><hr /></span>{{/if}}
{{* 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 -->