mikuli.cz

:)
git clone https://git.sr.ht/~ashymad/mikuli.cz
Log | Files | Refs

commit d509829f244248adf0deec5aba5b6ea9c89bb941
parent 4b5ef43f7f09250221ada2151fa8347953c07dc8
Author: markseu <mark2011@mayberg.se>
Date:   Tue,  5 May 2015 18:11:43 +0200

Core update (Nibreh remix)

Diffstat:
MREADME.md | 2+-
Msystem/config/language-en.ini | 1+
Msystem/config/page-error-401.txt | 4++--
Msystem/core/core-webinterface.css | 2+-
Msystem/core/core-webinterface.js | 5+++--
Msystem/core/core-webinterface.php | 20++++++++++++++++++--
Msystem/core/core.php | 4++--
7 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md @@ -1,4 +1,4 @@ -Yellow 0.5.6 +Yellow 0.5.7 ============ [![Yellow](https://raw.githubusercontent.com/wiki/datenstrom/yellow/images/yellow.jpg)](http://datenstrom.se/yellow) diff --git a/system/config/language-en.ini b/system/config/language-en.ini @@ -23,4 +23,5 @@ webinterfaceEdit = Edit page webinterfaceNew = + webinterfaceUserHelp = Help webinterfaceUserHelpUrl = https://github.com/datenstrom/yellow/wiki +webinterfaceUserAccountUrl = https://github.com/datenstrom/yellow/wiki/How-to-add-a-user-account webinterfaceUserLogout = Logout diff --git a/system/config/page-error-401.txt b/system/config/page-error-401.txt @@ -1,4 +1,4 @@ --- Title: Unauthorised --- -You are not authorised on this server. Please log in. -\ No newline at end of file +You are not authorised on this server. [Please log in](javascript:yellow.action('login');). +\ No newline at end of file diff --git a/system/core/core-webinterface.css b/system/core/core-webinterface.css @@ -1,4 +1,4 @@ -/* Yellow web interface 0.5.3 */ +/* Yellow web interface 0.5.7 */ .yellow-bar { position:relative; overflow:hidden; line-height:2em; margin-bottom:10px; } .yellow-bar-left { display:block; float:left; } diff --git a/system/core/core-webinterface.js b/system/core/core-webinterface.js @@ -4,7 +4,7 @@ // Yellow main API var yellow = { - version: "0.5.3", + version: "0.5.7", action: function(text) { yellow.webinterface.action(text); }, onClick: function(e) { yellow.webinterface.hidePanesOnClick(yellow.toolbox.getEventElement(e)); }, onKeydown: function(e) { yellow.webinterface.hidePanesOnKeydown(yellow.toolbox.getEventKeycode(e)); }, @@ -48,7 +48,7 @@ yellow.webinterface = } else { this.createBar("yellow-bar", false, body.firstChild); this.createPane("yellow-pane-login", false, body.firstChild); - this.showPane("yellow-pane-login"); + if(yellow.config.login) this.showPane("yellow-pane-login"); } clearInterval(this.intervalId); } @@ -64,6 +64,7 @@ yellow.webinterface = case "user": this.togglePane("yellow-pane-user"); break; case "send": this.sendPane(this.paneId, this.paneType); break; case "cancel": this.hidePane(this.paneId); break; + case "login": this.togglePane("yellow-pane-login"); break; case "logout": yellow.toolbox.submitForm({"action":"logout"}); break; } }, diff --git a/system/core/core-webinterface.php b/system/core/core-webinterface.php @@ -5,7 +5,7 @@ // Web interface core plugin class YellowWebinterface { - const Version = "0.5.6"; + const Version = "0.5.7"; var $yellow; //access to API var $active; //web interface is active? (boolean) var $userLoginFailed; //web interface login failed? (boolean) @@ -168,7 +168,16 @@ class YellowWebinterface if($statusCode == 0) { $statusCode = $this->yellow->processRequest($serverScheme, $serverName, $base, $location, $fileName, false); - if($this->userLoginFailed) $this->yellow->page->error(401); + if($this->userLoginFailed) + { + if(!$this->users->getNumber()) + { + $url = $this->yellow->text->get("webinterfaceUserAccountUrl"); + $this->yellow->page->error(500, "You are not authorised on this server, [please add a user account]($url)!"); + } else { + $this->yellow->page->error(401); + } + } } return $statusCode; } @@ -477,6 +486,7 @@ class YellowWebinterface $data["serverName"] = $this->yellow->config->get("serverName"); $data["serverBase"] = $this->yellow->config->get("serverBase"); } else { + $data["login"] = $this->yellow->page->statusCode==200; $data["loginEmail"] = $this->yellow->config->get("loginEmail"); $data["loginPassword"] = $this->yellow->config->get("loginPassword"); } @@ -638,6 +648,12 @@ class YellowWebinterfaceUsers return $this->isExisting($email) ? $this->users[$email]["home"] : ""; } + // Return number of users + function getNumber() + { + return count($this->users); + } + // Check if user exists function isExisting($email) { diff --git a/system/core/core.php b/system/core/core.php @@ -5,7 +5,7 @@ // Yellow main class class Yellow { - const Version = "0.5.6"; + const Version = "0.5.7"; var $page; //current page var $pages; //pages from file system var $files; //files from file system @@ -421,7 +421,7 @@ class YellowPage $this->rawData = $rawData; $this->parser = NULL; $this->parserData = ""; - $this->parserSafeMode = $this->yellow->config->get("parserSafeMode"); + $this->parserSafeMode = intval($this->yellow->config->get("parserSafeMode")); $this->available = true; $this->visible = $this->yellow->lookup->isVisibleLocation($this->location, $this->fileName); $this->active = $this->yellow->lookup->isActiveLocation($this->location, $this->yellow->page->location);