Hello online demo (simple is better)

This commit is contained in:
markseu 2014-08-19 23:44:22 +02:00
parent d46610a626
commit 9987f06d17
5 changed files with 30 additions and 18 deletions

View file

@ -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).

View file

@ -35,6 +35,8 @@ webinterfaceServerScheme = http
webinterfaceUserHashAlgorithm = bcrypt
webinterfaceUserHashCost = 10
webinterfaceUserFile = user.ini
webinterfaceDefaultEmail =
webinterfaceDefaultPassword =
webinterfaceNewPage = default
webinterfaceFilePrefix = published
commandlineDefaultFile = index.html

View file

@ -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") {

View file

@ -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

View file

@ -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;