From 3210b98a078576fb42324fcf42882ff96efb0b7a Mon Sep 17 00:00:00 2001 From: til-schneider Date: Wed, 23 Dec 2015 21:04:34 +0100 Subject: [PATCH] Added buttons to change between modes --- src/client/less/custom-bootstrap.less | 2 +- src/client/less/layout.less | 10 ++++++++++ src/client/less/view.less | 12 +++--------- src/server/i18n/de.php | 3 +++ src/server/i18n/en.php | 3 +++ src/server/layout/page.php | 10 +++++++++- src/server/logic/Main.php | 16 ++++++++++++++++ 7 files changed, 45 insertions(+), 11 deletions(-) diff --git a/src/client/less/custom-bootstrap.less b/src/client/less/custom-bootstrap.less index 4e505e3..4aad084 100644 --- a/src/client/less/custom-bootstrap.less +++ b/src/client/less/custom-bootstrap.less @@ -52,5 +52,5 @@ //@import "@{bootstrap-src}/carousel.less"; // Utility classes -//@import "@{bootstrap-src}/utilities.less"; +@import "@{bootstrap-src}/utilities.less"; //@import "@{bootstrap-src}/responsive-utilities.less"; diff --git a/src/client/less/layout.less b/src/client/less/layout.less index cdfeb30..0d20ad9 100644 --- a/src/client/less/layout.less +++ b/src/client/less/layout.less @@ -20,6 +20,16 @@ html, body { } .mode-edit { + .close-edit-mode { + position: fixed; + top: 0; + right: 50%; + + .btn { + margin: 5px (5px + 15px) 0 0; // 15px for scroll bar width + } + } + #editor-wrapper { position: fixed; top: 0; diff --git a/src/client/less/view.less b/src/client/less/view.less index aba3e71..11dff6a 100644 --- a/src/client/less/view.less +++ b/src/client/less/view.less @@ -8,15 +8,6 @@ body { -webkit-font-smoothing: antialiased; } -a, a:visited { - color: @colorLink; - text-decoration: none; -} -a:hover, a:active { - color: @colorLinkHover; - text-decoration: underline; -} - // Views .breadcrumbs { @@ -26,6 +17,9 @@ a:hover, a:active { padding: 15px 0; border-bottom: 1px solid #ddd; } + .pull-right { + margin-left: 5px; + } } footer { diff --git a/src/server/i18n/de.php b/src/server/i18n/de.php index fd0434a..aced4f0 100644 --- a/src/server/i18n/de.php +++ b/src/server/i18n/de.php @@ -1,6 +1,9 @@ 'Abbrechen', + 'button.edit' => 'Bearbeiten', + 'button.createUser' => 'Benutzer erstellen', 'createUser.userName' => 'Benutzername', 'createUser.password' => 'Passwort', 'createUser.showConfig' => 'Konfiguration anzeigen', diff --git a/src/server/i18n/en.php b/src/server/i18n/en.php index 71c2362..4f5e36c 100644 --- a/src/server/i18n/en.php +++ b/src/server/i18n/en.php @@ -1,6 +1,9 @@ 'Cancel', + 'button.edit' => 'Edit', + 'button.createUser' => 'Create user', 'createUser.userName' => 'User name', 'createUser.password' => 'Password', 'createUser.showConfig' => 'Show config', diff --git a/src/server/layout/page.php b/src/server/layout/page.php index f2aa859..8974214 100644 --- a/src/server/layout/page.php +++ b/src/server/layout/page.php @@ -38,7 +38,8 @@ $mode = $data['mode']; if ($mode == 'edit') { ?>
-
+
X
@@ -59,6 +60,12 @@ if ($mode == 'edit') { } $isFirst = false; } + if ($data['showCreateUserButton']) { + ?>
"> +
diff --git a/src/server/logic/Main.php b/src/server/logic/Main.php index 6f65501..3e9c04d 100644 --- a/src/server/logic/Main.php +++ b/src/server/logic/Main.php @@ -73,10 +73,13 @@ class Main { } private function handleGet($baseUrl, $basePath, $requestPathArray, $requestQuery) { + $showCreateUserButton = false; if ($requestQuery == 'edit' || $requestQuery == 'createUser') { $mode = $requestQuery; + $showCreateUserButton = ($mode == 'edit'); } else { $mode = 'view'; + $showCreateUserButton = ! $this->isUserDefined(); } if ($mode == 'edit') { @@ -87,6 +90,7 @@ class Main { header('HTTP/1.0 401 Unauthorized'); $mode = 'view'; + $showCreateUserButton = true; } } @@ -108,7 +112,9 @@ class Main { } $data['breadcrumbs'] = $this->createBreadcrumbs($requestPathArray, $config['wikiName']); + $data['showCreateUserButton'] = $showCreateUserButton; + $data['requestPath'] = implode('/', $requestPathArray); $data['articleFilename'] = $articleFilename; $articleMarkdown = file_get_contents($this->context->getArticleBaseDir() . $articleFilename); $data['articleMarkdown'] = $articleMarkdown; @@ -118,6 +124,16 @@ class Main { } } + private function isUserDefined() { + $config = $this->context->getConfig(); + foreach ($config as $key => $value) { + if (strpos($key, 'user.') === 0) { + return true; + } + } + return false; + } + private function getArticleFilename($requestPathArray) { $articleBaseDir = $this->context->getArticleBaseDir(); $articleFilename = implode('/', $requestPathArray);