summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2018-01-25 19:15:16 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2018-02-27 12:25:52 +0100
commitd07d66e24ba1baf8b1f1c00ddd05fa2e64e8f54e (patch)
tree1dab002a486fd73aa8491b9f9f7b7e4ed2c23959 /core
parent0655df09d6cfcec1084680a6ef9082422a1ca578 (diff)
downloadnextcloud-server-d07d66e24ba1baf8b1f1c00ddd05fa2e64e8f54e.tar.gz
nextcloud-server-d07d66e24ba1baf8b1f1c00ddd05fa2e64e8f54e.zip
Add public template
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'core')
-rw-r--r--core/css/public.scss22
-rw-r--r--core/css/server.scss1
-rw-r--r--core/js/core.json1
-rw-r--r--core/js/public/publicpage.js29
-rw-r--r--core/templates/layout.public.php80
5 files changed, 133 insertions, 0 deletions
diff --git a/core/css/public.scss b/core/css/public.scss
new file mode 100644
index 00000000000..3651e701c34
--- /dev/null
+++ b/core/css/public.scss
@@ -0,0 +1,22 @@
+#body-public {
+ .header-right {
+
+ span:not(.popovermenu) a {
+ color: $color-primary-text;
+ }
+
+ .menutoggle,
+ #header-primary-action[class^='icon-'] {
+ padding: 14px;
+ padding-right: 40px;
+ background-position: right 15px center;
+ color: $color-primary-text;
+ cursor: pointer;
+ }
+
+ .menutoggle {
+ padding-right: 10px;
+ }
+
+ }
+} \ No newline at end of file
diff --git a/core/css/server.scss b/core/css/server.scss
index 516220f2ad5..9b512038015 100644
--- a/core/css/server.scss
+++ b/core/css/server.scss
@@ -9,3 +9,4 @@
@import 'multiselect.scss';
@import 'mobile.scss';
@import 'tooltip.scss';
+@import 'public.scss'; \ No newline at end of file
diff --git a/core/js/core.json b/core/js/core.json
index 6cf6a2489ed..9da91a7f639 100644
--- a/core/js/core.json
+++ b/core/js/core.json
@@ -46,6 +46,7 @@
"config.js",
"public/appconfig.js",
"public/comments.js",
+ "public/publicpage.js",
"multiselect.js",
"oc-requesttoken.js",
"setupchecks.js",
diff --git a/core/js/public/publicpage.js b/core/js/public/publicpage.js
new file mode 100644
index 00000000000..31b862ba12a
--- /dev/null
+++ b/core/js/public/publicpage.js
@@ -0,0 +1,29 @@
+/*
+ * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
+ *
+ * @author Julius Härtl <jus@bitgrid.net>
+ *
+ * @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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+$(document).ready(function () {
+
+ console.log('public');
+ $('#body-public .header-right .menutoggle').click(function() {
+ $(this).next('.popovermenu').toggleClass('open');
+ });
+});
diff --git a/core/templates/layout.public.php b/core/templates/layout.public.php
new file mode 100644
index 00000000000..05f733a77e7
--- /dev/null
+++ b/core/templates/layout.public.php
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" >
+<head data-user="<?php p($_['user_uid']); ?>" data-user-displayname="<?php p($_['user_displayname']); ?>" data-requesttoken="<?php p($_['requesttoken']); ?>">
+ <meta charset="utf-8">
+ <title>
+ <?php
+ p(!empty($_['application'])?$_['application'].' - ':'');
+ p($theme->getTitle());
+ ?>
+ </title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="referrer" content="never">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
+ <meta name="apple-itunes-app" content="app-id=<?php p($theme->getiTunesAppId()); ?>">
+ <meta name="apple-mobile-web-app-capable" content="yes">
+ <meta name="apple-mobile-web-app-status-bar-style" content="black">
+ <meta name="apple-mobile-web-app-title" content="<?php p((!empty($_['application']) && $_['appid']!='files')? $_['application']:$theme->getTitle()); ?>">
+ <meta name="mobile-web-app-capable" content="yes">
+ <meta name="theme-color" content="<?php p($theme->getColorPrimary()); ?>">
+ <link rel="icon" href="<?php print_unescaped(image_path($_['appid'], 'favicon.ico')); /* IE11+ supports png */ ?>">
+ <link rel="apple-touch-icon-precomposed" href="<?php print_unescaped(image_path($_['appid'], 'favicon-touch.png')); ?>">
+ <link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path($_['appid'], 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>">
+ <link rel="manifest" href="<?php print_unescaped(image_path($_['appid'], 'manifest.json')); ?>">
+ <?php emit_css_loading_tags($_); ?>
+ <?php emit_script_loading_tags($_); ?>
+ <?php print_unescaped($_['headers']); ?>
+</head>
+<body id="<?php p($_['bodyid']);?>">
+<?php include('layout.noscript.warning.php'); ?>
+<header>
+ <div id="header" class="<?php p($_['header-classes']); ?>">
+ <div class="header-left">
+ <span id="nextcloud">
+ <div class="logo logo-icon svg"></div>
+ <h1 class="header-appname">
+ Public <?php p($template->getHeaderTitle()); ?>
+ </h1>
+ <div class="header-shared-by">
+ Public <?php p($template->getHeaderDetails()) ?>
+ </div>
+ </span>
+ </div>
+
+ <?php
+ /** @var \OCP\AppFramework\Http\Template\PublicTemplateResponse $template */
+ if($template->getActionCount() !== 0) {
+ $primary = $template->getPrimaryAction();
+ $others = $template->getOtherActions();
+ ?>
+ <div class="header-right">
+ <span id="header-primary-action" class="<?php if($template->getActionCount() === 1) { p($primary->getIcon()); } ?>">
+ <a href="<?php p($primary->getLink()); ?>">
+ <span class="share-menutoggle-text"><?php p($primary->getLabel()) ?></span>
+ </a>
+ </span>
+ <?php if($template->getActionCount()>1) { ?>
+ <span class="menutoggle icon-more-white"></span>
+ <div id="share-menu" class="menu">
+ <ul>
+ <?php
+ /** @var \OCP\AppFramework\Http\Template\IMenuAction $action */
+ foreach($template->getOtherActions() as $action) {
+ print_unescaped($action->render());
+ }
+ ?>
+ </ul>
+ </div>
+ <?php } ?>
+ </div>
+ <?php } ?>
+ </div>
+</header>
+<div id="content-wrapper">
+ <div id="content" class="app-<?php p($_['appid']) ?>" role="main">
+ <?php print_unescaped($_['content']); ?>
+ </div>
+</div>
+
+</body>
+</html>