friendica/view/theme/frio/php/default.php

160 lines
4.9 KiB
PHP
Raw Normal View History

2016-03-28 14:29:05 +00:00
<?php
/**
2023-01-01 14:36:24 +00:00
* @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
2020-01-19 06:05:23 +00:00
* The default site template
2016-03-28 14:29:05 +00:00
*/
2016-03-28 14:29:05 +00:00
?>
<!DOCTYPE html >
2017-03-25 19:31:32 +00:00
<?php
2017-12-17 15:00:40 +00:00
use Friendica\DI;
use Friendica\Model\Profile;
2017-12-17 15:00:40 +00:00
2020-08-20 02:54:12 +00:00
require_once 'view/theme/frio/theme.php';
2017-12-17 15:00:40 +00:00
require_once 'view/theme/frio/php/frio_boot.php';
2016-03-28 14:29:05 +00:00
// $minimal = is_modal();
2017-12-17 15:00:40 +00:00
if (!isset($minimal)) {
$minimal = false;
}
$basepath = DI::baseUrl()->getPath() ? "/" . DI::baseUrl()->getPath() . "/" : "/";
2018-10-31 09:22:32 +00:00
$frio = "view/theme/frio";
$view_mode_class = (DI::mode()->isMobile() || DI::mode()->isMobile()) ? 'mobile-view' : 'desktop-view';
$is_singleuser = DI::config()->get('system', 'singleuser');
2018-10-31 09:22:32 +00:00
$is_singleuser_class = $is_singleuser ? "is-singleuser" : "is-not-singleuser";
2016-03-28 14:29:05 +00:00
?>
<html>
2017-12-17 15:00:40 +00:00
<head>
<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 DI::baseUrl(); ?>";</script>
2017-12-17 15:00:40 +00:00
<script type="text/javascript">var frio = "<?php echo 'view/theme/frio'; ?>";</script>
2016-03-28 14:29:05 +00:00
<?php
// Because we use minimal for modals the header and the included js stuff should be only loaded
// if the page is an standard page (so we don't have it twice for modals)
//
/// @todo Think about to move js stuff in the footer
if (!$minimal && !empty($page['htmlhead'])) {
echo $page['htmlhead'];
2017-12-17 15:00:40 +00:00
}
// Add the theme color meta
// It makes mobile Chrome UI match Frio's top bar color.
$uid = Profile::getThemeUid($a);
$scheme = DI::pConfig()->get($uid, 'frio', 'scheme', DI::pConfig()->get($uid, 'frio', 'schema'));
if ($scheme && is_string($scheme) && $scheme != '---') {
2018-04-25 00:26:14 +00:00
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') ?:
DI::config()->get('frio', 'scheme_accent') ?: FRIO_SCHEME_ACCENT_BLUE;
require_once $schemefile;
}
2019-07-10 14:51:18 +00:00
}
$nav_bg = $nav_bg ?? DI::pConfig()->get($uid, 'frio', 'nav_bg', DI::config()->get('frio', 'nav_bg', '#708fa0'));
2018-10-31 09:22:32 +00:00
echo '<meta name="theme-color" content="' . $nav_bg . '" />';
2016-03-28 14:29:05 +00:00
?>
2017-12-17 15:00:40 +00:00
</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>
2016-03-28 14:29:05 +00:00
<?php
if (!empty($page['nav']) && !$minimal) {
2017-12-17 15:00:40 +00:00
echo str_replace(
"~config.sitename~",
DI::config()->get('config', 'sitename'),
2017-12-17 15:00:40 +00:00
str_replace(
"~system.banner~",
DI::config()->get('system', 'banner'),
2017-12-17 15:00:40 +00:00
$page['nav']
)
);
};
2016-03-28 14:29:05 +00:00
// special minimal style for modal dialogs
2017-12-17 15:00:40 +00:00
if ($minimal) {
2016-03-28 14:29:05 +00:00
?>
2019-07-10 14:54:31 +00:00
<!-- <?php echo __FILE__ ?> -->
2019-04-26 02:01:43 +00:00
<section class="minimal">
<?php if (!empty($page['content'])) echo $page['content']; ?>
2016-03-28 14:29:05 +00:00
<div id="page-footer"></div>
</section>
<?php
2017-12-17 15:00:40 +00:00
} else {
// the style for all other pages
?>
<main>
<div class="container">
<div class="row">
<?php
if ((empty($_REQUEST['pagename']) || $_REQUEST['pagename'] != "lostpass") && ($_SERVER['REQUEST_URI'] != $basepath)) {
echo '
2017-12-17 15:00:40 +00:00
<aside class="col-lg-3 col-md-3 offcanvas-sm offcanvas-xs">';
if (!empty($page['aside'])) {
2017-12-17 15:00:40 +00:00
echo $page['aside'];
}
if (!empty($page['right_aside'])) {
2017-12-17 15:00:40 +00:00
echo $page['right_aside'];
}
echo '
2016-03-28 14:29:05 +00:00
</aside>
2017-12-17 15:00:40 +00:00
<div class="col-lg-7 col-md-7 col-sm-12 col-xs-12" id="content">
<section class="sectiontop ';
echo $page['section'] ?? '';
echo '-content-wrapper">';
if (!empty($page['content'])) {
echo $page['content'];
}
echo '
<div id="pause"></div> <!-- The pause/resume Ajax indicator -->
2016-03-28 14:29:05 +00:00
</section>
</div>
2017-12-17 15:00:40 +00:00
';
} else {
echo '
2017-12-17 15:00:40 +00:00
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12" id="content" style="margin-top:50px;">';
if (!empty($page['content'])) {
2017-12-17 15:00:40 +00:00
echo $page['content'];
}
echo '
2016-03-28 14:29:05 +00:00
</div>
2017-12-17 15:00:40 +00:00
';
}
2016-03-28 14:29:05 +00:00
?>
2017-12-17 15:00:40 +00:00
</div><!--row-->
</div><!-- container -->
2016-03-28 14:29:05 +00:00
<div id="back-to-top" title="<?php echo DI::l10n()->t('Back to top')?>"></div>
2017-12-17 15:00:40 +00:00
</main>
2016-03-28 14:29:05 +00:00
2017-12-17 15:00:40 +00:00
<footer>
<?php echo $page['footer'] ?? ''; ?>
2017-12-17 15:00:40 +00:00
</footer>
<?php } ?> <!-- End of condition if $minimal else the rest -->
</body>