Core update (webinterface)
This commit is contained in:
parent
f339d03606
commit
227fbcacb3
6 changed files with 31 additions and 27 deletions
|
@ -1,4 +1,4 @@
|
|||
Yellow 0.5.14
|
||||
Yellow 0.5.15
|
||||
=============
|
||||
[](http://datenstrom.se/yellow)
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
language = en
|
||||
languageDescription = English
|
||||
languageAuthor = Mark Seuffert
|
||||
languageVersion = 0.5.0
|
||||
|
||||
dateMonths = January, February, March, April, May, June, July, August, September, October, November, December
|
||||
dateWeekdays = Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
|
||||
|
@ -20,7 +21,8 @@ webinterfaceEditButton = Save
|
|||
webinterfaceDeleteButton = Delete
|
||||
webinterfaceCancelButton = Cancel
|
||||
webinterfaceEdit = Edit page
|
||||
webinterfaceNew = +
|
||||
webinterfaceCreate = +
|
||||
webinterfaceDelete = -
|
||||
webinterfaceUserHelp = Help
|
||||
webinterfaceUserHelpUrl = https://github.com/datenstrom/yellow/wiki
|
||||
webinterfaceUserAccountUrl = https://github.com/datenstrom/yellow/wiki/How-to-add-a-user-account
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
/* Yellow web interface 0.5.12 */
|
||||
/* Yellow web interface 0.5.15 */
|
||||
|
||||
.yellow-bar { position:relative; overflow:hidden; line-height:2em; margin-bottom:10px; }
|
||||
.yellow-bar-left { display:block; float:left; }
|
||||
.yellow-bar-left a { margin-right:1em; }
|
||||
.yellow-bar-right { display:block; float:right; }
|
||||
.yellow-bar-right a { margin-left:1em; }
|
||||
.yellow-bar-right a { padding-left:0.5em; }
|
||||
.yellow-bar-right #yellow-pane-create-link { padding:0 0.5em; }
|
||||
.yellow-bar-right #yellow-pane-delete-link { padding:0 0.5em; }
|
||||
.yellow-body-modal-open { overflow:hidden; }
|
||||
|
||||
.yellow-pane {
|
||||
|
@ -14,8 +15,6 @@
|
|||
border:1px solid #bbb;
|
||||
border-radius:4px; box-shadow:2px 4px 10px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.yellow-pane a { color:#000; text-decoration:none; }
|
||||
.yellow-pane a:hover { color:#f00; text-decoration:none; }
|
||||
.yellow-pane p { margin:0.5em; }
|
||||
.yellow-pane ul { list-style:none; margin:0 0.5em; padding:0; }
|
||||
.yellow-pane div { overflow:hidden; }
|
||||
|
@ -84,4 +83,6 @@
|
|||
#yellow-pane-edit-page { margin:0; padding:5px; border:1px solid #bbb; outline:none; resize:none; font-size:0.9em; }
|
||||
#yellow-pane-edit-buttons { margin:8px 0; }
|
||||
#yellow-pane-edit-buttons input { margin-right:5px; }
|
||||
#yellow-pane-user { cursor:pointer; }
|
||||
#yellow-pane-user { cursor:pointer; }
|
||||
#yellow-pane-user a { text-decoration:none; }
|
||||
#yellow-pane-user a:hover { text-decoration:underline; }
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
// Yellow main API
|
||||
var yellow =
|
||||
{
|
||||
version: "0.5.12",
|
||||
version: "0.5.15",
|
||||
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)); },
|
||||
|
@ -59,8 +59,9 @@ yellow.webinterface =
|
|||
{
|
||||
switch(text)
|
||||
{
|
||||
case "create": this.togglePane("yellow-pane-edit", "create"); break;
|
||||
case "edit": this.togglePane("yellow-pane-edit", "edit"); break;
|
||||
case "new": this.togglePane("yellow-pane-edit", "new"); break;
|
||||
case "delete": this.togglePane("yellow-pane-edit", "delete"); break;
|
||||
case "user": this.togglePane("yellow-pane-user"); break;
|
||||
case "send": this.sendPane(this.paneId, this.paneType); break;
|
||||
case "cancel": this.hidePane(this.paneId); break;
|
||||
|
@ -84,7 +85,8 @@ yellow.webinterface =
|
|||
"<a href=\"#\" onclick=\"yellow.action('edit'); return false;\" id=\"yellow-pane-edit-link\">"+this.getText("Edit")+"</a>"+
|
||||
"</div>"+
|
||||
"<div class=\"yellow-bar-right\">"+
|
||||
"<a href=\"#\" onclick=\"yellow.action('new'); return false;\" id=\"yellow-pane-new-link\">"+this.getText("New")+"</a>"+
|
||||
"<a href=\"#\" onclick=\"yellow.action('create'); return false;\" id=\"yellow-pane-create-link\">"+this.getText("Create")+"</a>"+
|
||||
"<a href=\"#\" onclick=\"yellow.action('delete'); return false;\" id=\"yellow-pane-delete-link\">"+this.getText("Delete")+"</a>"+
|
||||
"<a href=\"#\" onclick=\"yellow.action('user'); return false;\" id=\"yellow-pane-user-link\">"+yellow.config.userName+"</a>"+
|
||||
"</div>";
|
||||
}
|
||||
|
@ -145,7 +147,7 @@ yellow.webinterface =
|
|||
{
|
||||
if(init)
|
||||
{
|
||||
var string = paneType=="new" ? yellow.page.rawDataNew : yellow.page.rawDataEdit;
|
||||
var string = paneType=="create" ? yellow.page.rawDataNew : yellow.page.rawDataEdit;
|
||||
document.getElementById("yellow-pane-edit-page").value = string;
|
||||
}
|
||||
var action = this.getPaneAction(paneId, paneType)
|
||||
|
@ -282,7 +284,7 @@ yellow.webinterface =
|
|||
var height2 = yellow.toolbox.getOuterHeight(document.getElementById("yellow-pane-edit-content"));
|
||||
var height3 = yellow.toolbox.getOuterHeight(document.getElementById("yellow-pane-edit-page"));
|
||||
yellow.toolbox.setOuterHeight(document.getElementById("yellow-pane-edit-page"), height1 - height2 + height3);
|
||||
var elementLink = document.getElementById(this.paneType=="new" ? "yellow-pane-new-link" : "yellow-pane-edit-link");
|
||||
var elementLink = document.getElementById("yellow-pane-"+this.paneType+"-link");
|
||||
var position = yellow.toolbox.getOuterLeft(elementLink) + yellow.toolbox.getOuterWidth(elementLink)/2;
|
||||
position -= yellow.toolbox.getOuterLeft(document.getElementById("yellow-pane-edit"));
|
||||
yellow.toolbox.setOuterLeft(document.getElementById("yellow-pane-edit-arrow"), position);
|
||||
|
@ -310,12 +312,13 @@ yellow.webinterface =
|
|||
if(yellow.page.userPermission)
|
||||
{
|
||||
var string = document.getElementById("yellow-pane-edit-page").value;
|
||||
if(yellow.page.statusCode==424 || paneType=="new")
|
||||
switch(paneType)
|
||||
{
|
||||
action = "create";
|
||||
} else {
|
||||
action = string ? "edit" : "delete";
|
||||
case "create": action = "create"; break;
|
||||
case "edit": action = string ? "edit" : "delete"; break;
|
||||
case "delete": action = "delete"; break;
|
||||
}
|
||||
if(yellow.page.statusCode==424 && paneType!="delete") action = "create";
|
||||
}
|
||||
}
|
||||
return action;
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
// Web interface core plugin
|
||||
class YellowWebinterface
|
||||
{
|
||||
const Version = "0.5.12";
|
||||
const Version = "0.5.15";
|
||||
var $yellow; //access to API
|
||||
var $active; //web interface is active? (boolean)
|
||||
var $userLoginFailed; //web interface login failed? (boolean)
|
||||
var $userPermission; //web interface can modify page? (boolean)
|
||||
var $userPermission; //web interface can change page? (boolean)
|
||||
var $users; //web interface users
|
||||
var $merge; //web interface merge
|
||||
var $rawDataSource; //raw data of page for comparison
|
||||
|
@ -356,19 +356,17 @@ class YellowWebinterface
|
|||
return $this->isUser();
|
||||
}
|
||||
|
||||
// Return permission to modify page
|
||||
// Return permission to change page
|
||||
function getUserPermission($location, $fileName)
|
||||
{
|
||||
$userPermission = true;
|
||||
$userPermission = is_dir(dirname($fileName)) && strlenu(basename($fileName))<128;
|
||||
foreach($this->yellow->plugins->plugins as $key=>$value)
|
||||
{
|
||||
if(method_exists($value["obj"], "onUserPermission"))
|
||||
{
|
||||
$userPermission = $value["obj"]->onUserPermission($location, $fileName, $this->users);
|
||||
if(!$userPermission) break;
|
||||
$userPermission &= $value["obj"]->onUserPermission($location, $fileName, $this->users);
|
||||
}
|
||||
}
|
||||
$userPermission &= is_dir(dirname($fileName)) && strlenu(basename($fileName))<128;
|
||||
return $userPermission;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// Yellow main class
|
||||
class Yellow
|
||||
{
|
||||
const Version = "0.5.14";
|
||||
const Version = "0.5.15";
|
||||
var $page; //current page
|
||||
var $pages; //pages from file system
|
||||
var $files; //files from file system
|
||||
|
@ -593,7 +593,7 @@ class YellowPage
|
|||
// Parse template
|
||||
function parseTemplate($name)
|
||||
{
|
||||
$fileNameTemplate = $this->yellow->config->get("templateDir")."$name.html";
|
||||
$fileNameTemplate = $this->yellow->config->get("templateDir").$this->yellow->lookup->normaliseName($name).".html";
|
||||
if(is_file($fileNameTemplate))
|
||||
{
|
||||
$this->setLastModified(filemtime($fileNameTemplate));
|
||||
|
@ -609,7 +609,7 @@ class YellowPage
|
|||
function parseSnippet($args)
|
||||
{
|
||||
list($name) = $this->yellow->pages->snippetArgs = $args;
|
||||
$fileNameSnippet = $this->yellow->config->get("snippetDir")."$name.php";
|
||||
$fileNameSnippet = $this->yellow->config->get("snippetDir").$this->yellow->lookup->normaliseName($name).".php";
|
||||
if(is_file($fileNameSnippet))
|
||||
{
|
||||
$this->setLastModified(filemtime($fileNameSnippet));
|
||||
|
|
Loading…
Add table
Reference in a new issue