commit 9987f06d17b7be8cb55657ef9f339cd6c08054ac
parent d46610a626eee148e18361a4ea706ff3f3089124
Author: markseu <mark2011@mayberg.se>
Date: Tue, 19 Aug 2014 23:44:22 +0200
Hello online demo (simple is better)
Diffstat:
5 files changed, 30 insertions(+), 18 deletions(-)
diff --git a/README.md b/README.md
@@ -1,4 +1,4 @@
-Yellow 0.3.13
+Yellow 0.3.14
=============
Yellow is for people who make websites. [Visit website](http://datenstrom.se/yellow).
diff --git a/system/config/config.ini b/system/config/config.ini
@@ -35,6 +35,8 @@ webinterfaceServerScheme = http
webinterfaceUserHashAlgorithm = bcrypt
webinterfaceUserHashCost = 10
webinterfaceUserFile = user.ini
+webinterfaceDefaultEmail =
+webinterfaceDefaultPassword =
webinterfaceNewPage = default
webinterfaceFilePrefix = published
commandlineDefaultFile = index.html
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.3.5",
+ version: "0.3.6",
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)); },
@@ -112,8 +112,8 @@ yellow.webinterface =
"<h1>"+this.getText("LoginText")+"</h1>"+
"<form method=\"post\">"+
"<input type=\"hidden\" name=\"action\" value=\"login\" />"+
- "<p><label for=\"email\">"+this.getText("LoginEmail")+"</label> <input name=\"email\" id=\"email\" maxlength=\"64\" /></p>"+
- "<p><label for=\"password\">"+this.getText("LoginPassword")+"</label> <input type=\"password\" name=\"password\" id=\"password\" maxlength=\"64\" /></p>"+
+ "<p><label for=\"email\">"+this.getText("LoginEmail")+"</label> <input name=\"email\" id=\"email\" maxlength=\"64\" value=\""+yellow.config.webinterfaceDefaultEmail+"\" /></p>"+
+ "<p><label for=\"password\">"+this.getText("LoginPassword")+"</label> <input type=\"password\" name=\"password\" id=\"password\" maxlength=\"64\" value=\""+yellow.config.webinterfaceDefaultPassword+"\" /></p>"+
"<p><input class=\"yellow-btn\" type=\"submit\" value=\""+this.getText("LoginButton")+"\" /></p>"+
"</form>";
} else if(paneId == "yellow-pane-edit") {
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.3.5";
+ const Version = "0.3.6";
var $yellow; //access to API
var $users; //web interface users
var $active; //web interface is active? (boolean)
@@ -24,6 +24,8 @@ class YellowWebinterface
$this->yellow->config->setDefault("webinterfaceUserHashAlgorithm", "bcrypt");
$this->yellow->config->setDefault("webinterfaceUserHashCost", "10");
$this->yellow->config->setDefault("webinterfaceUserFile", "user.ini");
+ $this->yellow->config->setDefault("webinterfaceDefaultEmail", "");
+ $this->yellow->config->setDefault("webinterfaceDefaultPassword", "");
$this->yellow->config->setDefault("webinterfaceNewPage", "default");
$this->yellow->config->setDefault("webinterfaceFilePrefix", "published");
$this->users = new YellowWebinterfaceUsers($yellow);
@@ -106,8 +108,8 @@ class YellowWebinterface
$header .= "yellow.page.rawDataEdit = ".json_encode($this->rawDataEdit).";\n";
$header .= "yellow.page.rawDataNew = ".json_encode($this->getDataNew()).";\n";
$header .= "yellow.page.statusCode = ".json_encode($page->statusCode).";\n";
- $header .= "yellow.config = ".json_encode($this->getDataConfig()).";\n";
}
+ $header .= "yellow.config = ".json_encode($this->getDataConfig()).";\n";
$language = $this->isUser() ? $this->users->getLanguage() : $page->get("language");
$header .= "yellow.text = ".json_encode($this->yellow->text->getData("webinterface", $language)).";\n";
if(defined("DEBUG")) $header .= "yellow.debug = ".json_encode(DEBUG).";\n";
@@ -509,14 +511,21 @@ class YellowWebinterface
// Return configuration data including information of current user
function getDataConfig()
{
- $data = array("userEmail" => $this->users->email,
- "userName" => $this->users->getName(),
- "userLanguage" => $this->users->getLanguage(),
- "userHome" => $this->users->getHome(),
- "serverScheme" => $this->yellow->config->get("serverScheme"),
- "serverName" => $this->yellow->config->get("serverName"),
- "serverBase" => $this->yellow->config->get("serverBase"));
- return array_merge($data, $this->yellow->config->getData("Location"));
+ $data = $this->yellow->config->getData("", "Location");
+ if($this->isUser())
+ {
+ $data["userEmail"] = $this->users->email;
+ $data["userName"] = $this->users->getName();
+ $data["userLanguage"] = $this->users->getLanguage();
+ $data["userHome"] = $this->users->getHome();
+ $data["serverScheme"] = $this->yellow->config->get("serverScheme");
+ $data["serverName"] = $this->yellow->config->get("serverName");
+ $data["serverBase"] = $this->yellow->config->get("serverBase");
+ } else {
+ $data["webinterfaceDefaultEmail"] = $this->yellow->config->get("webinterfaceDefaultEmail");
+ $data["webinterfaceDefaultPassword"] = $this->yellow->config->get("webinterfaceDefaultPassword");
+ }
+ return $data;
}
// Check if web interface request
diff --git a/system/core/core.php b/system/core/core.php
@@ -5,7 +5,7 @@
// Yellow main class
class Yellow
{
- const Version = "0.3.13";
+ const Version = "0.3.14";
var $page; //current page
var $pages; //pages from file system
var $config; //configuration
@@ -1039,16 +1039,17 @@ class YellowConfig
}
// Return configuration strings
- function getData($filterEnd = "")
+ function getData($filterStart = "", $filterEnd = "")
{
$config = array();
- if(empty($filterEnd))
+ if(empty($filterStart) && empty($filterEnd))
{
$config = $this->config;
} else {
foreach($this->config as $key=>$value)
{
- if(substru($key, -strlenu($filterEnd)) == $filterEnd) $config[$key] = $value;
+ if(!empty($filterStart) && substru($key, 0, strlenu($filterStart))==$filterStart) $config[$key] = $value;
+ if(!empty($filterEnd) && substru($key, -strlenu($filterEnd))==$filterEnd) $config[$key] = $value;
}
}
return $config;