System update (API update)

This commit is contained in:
markseu 2016-10-01 14:37:59 +02:00
parent 7335da690e
commit 7b2171e284
10 changed files with 48 additions and 36 deletions

View file

@ -44,6 +44,7 @@ Template: default
Navigation: navigation
Sidebar: sidebar
Siteicon: icon
Tagline:
Parser: markdown
ParserSafeMode: 0
MultiLanguageMode: 0

View file

@ -70,6 +70,7 @@ class YellowCore
$this->config->setDefault("navigation", "navigation");
$this->config->setDefault("sidebar", "sidebar");
$this->config->setDefault("siteicon", "icon");
$this->config->setDefault("tagline", "");
$this->config->setDefault("parser", "markdown");
$this->config->setDefault("parserSafeMode", "0");
$this->config->setDefault("multiLanguageMode", "0");
@ -453,9 +454,6 @@ class YellowPage
if(!is_null($this->rawData))
{
$this->set("title", $this->yellow->toolbox->createTextTitle($this->location));
$this->set("sitename", $this->yellow->config->get("sitename"));
$this->set("siteicon", $this->yellow->config->get("siteicon"));
$this->set("author", $this->yellow->config->get("author"));
$this->set("language", $this->yellow->lookup->findLanguageFromFile($this->fileName,
$this->yellow->config->get("language")));
$this->set("theme", $this->yellow->lookup->findNameFromFile($this->fileName,
@ -463,29 +461,12 @@ class YellowPage
$this->set("template", $this->yellow->lookup->findNameFromFile($this->fileName,
$this->yellow->config->get("templateDir"), $this->yellow->config->get("template"), ".html"));
$this->set("modified", date("Y-m-d H:i:s", $this->yellow->toolbox->getFileModified($this->fileName)));
$this->set("navigation", $this->yellow->config->get("navigation"));
$this->set("sidebar", $this->yellow->config->get("sidebar"));
$this->set("parser", $this->yellow->config->get("parser"));
if(preg_match("/^(\xEF\xBB\xBF)?\-\-\-[\r\n]+(.+?)[\r\n]+\-\-\-[\r\n]+/s", $this->rawData, $parts))
{
$this->metaDataOffsetBytes = strlenb($parts[0]);
foreach(preg_split("/[\r\n]+/", $parts[2]) as $line)
{
preg_match("/^\s*(.*?)\s*:\s*(.*?)\s*$/", $line, $matches);
if(!empty($matches[1]) && !strempty($matches[2])) $this->set($matches[1], $matches[2]);
}
} else if(preg_match("/^(\xEF\xBB\xBF)?([^\r\n]+)[\r\n]+=+[\r\n]+/", $this->rawData, $parts)) {
$this->metaDataOffsetBytes = strlenb($parts[0]);
$this->set("title", $parts[2]);
}
$this->parseMetaData(array("sitename", "siteicon", "tagline", "author", "navigation", "sidebar", "parser"));
$titleHeader = ($this->location==$this->yellow->pages->getHomeLocation($this->location)) ?
$this->get("sitename") : $this->get("title")." - ".$this->get("sitename");
if(!$this->isExisting("titleContent")) $this->set("titleContent", $this->get("title"));
if(!$this->isExisting("titleHeader")) $this->set("titleHeader", $titleHeader);
if(!$this->isExisting("titleNavigation")) $this->set("titleNavigation", $this->get("title"));
if($this->get("titleContent")=="-") $this->set("titleContent", "");
if($this->get("status")=="hidden") $this->available = false;
$this->set("pageRead", $this->yellow->lookup->normaliseUrl(
$this->yellow->config->get("serverScheme"),
@ -509,8 +490,30 @@ class YellowPage
}
}
// Parse page meta data from configuration and raw data
function parseMetaData($defaultKeys)
{
foreach($defaultKeys as $key)
{
$value = $this->yellow->config->get($key);
if(!empty($key) && !strempty($value)) $this->set($key, $value);
}
if(preg_match("/^(\xEF\xBB\xBF)?\-\-\-[\r\n]+(.+?)[\r\n]+\-\-\-[\r\n]+/s", $this->rawData, $parts))
{
$this->metaDataOffsetBytes = strlenb($parts[0]);
foreach(preg_split("/[\r\n]+/", $parts[2]) as $line)
{
preg_match("/^\s*(.*?)\s*:\s*(.*?)\s*$/", $line, $matches);
if(!empty($matches[1]) && !strempty($matches[2])) $this->set($matches[1], $matches[2]);
}
} else if(preg_match("/^(\xEF\xBB\xBF)?([^\r\n]+)[\r\n]+=+[\r\n]+/", $this->rawData, $parts)) {
$this->metaDataOffsetBytes = strlenb($parts[0]);
$this->set("title", $parts[2]);
}
}
// Parse page content on demand
function parseContent()
function parseContent($sizeMax = 0)
{
if(!is_object($this->parser))
{
@ -520,7 +523,7 @@ class YellowPage
if(method_exists($plugin["obj"], "onParseContentRaw"))
{
$this->parser = $plugin["obj"];
$this->parserData = $this->getContent(true);
$this->parserData = $this->getContent(true, $sizeMax);
$this->parserData = preg_replace("/@pageRead/i", $this->get("pageRead"), $this->parserData);
$this->parserData = preg_replace("/@pageEdit/i", $this->get("pageEdit"), $this->parserData);
$this->parserData = preg_replace("/@pageError/i", $this->get("pageError"), $this->parserData);
@ -535,7 +538,7 @@ class YellowPage
}
}
} else {
$this->parserData = $this->getContent(true);
$this->parserData = $this->getContent(true, $sizeMax);
$this->parserData = preg_replace("/@pageError/i", $this->get("pageError"), $this->parserData);
}
if(!$this->isExisting("description"))
@ -712,20 +715,20 @@ class YellowPage
}
// Return page content, HTML encoded or raw format
function getContent($rawFormat = false)
function getContent($rawFormat = false, $sizeMax = 0)
{
if($rawFormat)
{
$this->parseDataUpdate();
$text = substrb($this->rawData, $this->metaDataOffsetBytes);
} else {
$this->parseContent();
$this->parseContent($sizeMax);
$text = $this->parserData;
}
return $text;
return $sizeMax ? substrb($text, 0, $sizeMax) : $text;
}
// Return parent page relative to current page, null if none
// Return parent page of current page, null if none
function getParent()
{
$parentLocation = $this->yellow->pages->getParentLocation($this->location);
@ -750,7 +753,7 @@ class YellowPage
return $this->yellow->pages->getChildren($parentLocation, $showInvisible);
}
// Return page collection with child pages relative to current page
// Return page collection with child pages of current page
function getChildren($showInvisible = false)
{
return $this->yellow->pages->getChildren($this->location, $showInvisible);
@ -1958,7 +1961,7 @@ class YellowText
return $text;
}
// Return text string with human readable date, custom date format
// Return human readable date, custom date format
function getDateFormatted($timestamp, $format)
{
$dateMonths = preg_split("/,\s*/", $this->get("dateMonths"));

View file

@ -3,7 +3,7 @@
Language: de
LanguageDescription: Deutsch
LanguageTranslator: David Fehrmann
LanguageVersion: 0.6.9
LanguageVersion: 0.6.10
BlogBy: von
BlogFilter: Blog:
@ -107,6 +107,7 @@ WebinterfaceUserHelp: Hilfe
WebinterfaceUserLogout: Abmelden
WikiFilter: Wiki:
WikiTag: Tags:
WikiSpecialPages: Alle Seiten
WikiSpecialChanges: Letzte Änderungen
YellowUrl: https://datenstrom.se/de/yellow/
YellowUserHelpUrl: https://developers.datenstrom.se/help/help-de

View file

@ -3,7 +3,7 @@
Language: en
LanguageDescription: English
LanguageTranslator: Mark Seuffert
LanguageVersion: 0.6.9
LanguageVersion: 0.6.10
BlogBy: by
BlogFilter: Blog:
@ -107,6 +107,7 @@ WebinterfaceUserHelp: Help
WebinterfaceUserLogout: Logout
WikiFilter: Wiki:
WikiTag: Tags:
WikiSpecialPages: All pages
WikiSpecialChanges: Recent changes
YellowUrl: https://datenstrom.se/yellow
YellowUserHelpUrl: https://developers.datenstrom.se/help/

View file

@ -3,7 +3,7 @@
Language: fr
LanguageDescription: Français
LanguageTranslator: Juh Nibreh
LanguageVersion: 0.6.9
LanguageVersion: 0.6.10
BlogBy: par
BlogFilter: Blog:
@ -107,6 +107,7 @@ WebinterfaceUserHelp: Aide
WebinterfaceUserLogout: Déconnexion
WikiFilter: Wiki:
WikiTag: Tags:
WikiSpecialPages: Toutes les pages
WikiSpecialChanges: Changements récents
YellowUrl: https://datenstrom.se/fr/yellow/
YellowUserHelpUrl: https://developers.datenstrom.se/help/help-fr

View file

@ -5,7 +5,7 @@
// Language plugin
class YellowLanguage
{
const VERSION = "0.6.9";
const VERSION = "0.6.10";
var $yellow; //access to API
// Handle initialisation

View file

@ -2,7 +2,7 @@
<div class="content sidebar">
<?php if($yellow->page->get("navigation")=="navigation-sidebar"): ?>
<?php $page = $yellow->page->getParentTop(false) ?>
<?php $pages = $page ? $page->getChildren(!$page->isVisible()): $yellow->pages->clean() ?>
<?php $pages = $page ? $page->getChildren(!$page->isVisible()) : $yellow->pages->clean() ?>
<?php $yellow->snippet("navigation-sidebar", $pages, true) ?>
<?php else: ?>
<?php $page = $yellow->page->getPage("sidebar") ?>

View file

@ -1,9 +1,11 @@
<div class="footer">
<div class="siteinfo">
<a href="<?php echo $yellow->page->base."/" ?>">&copy; 2016 <?php echo $yellow->page->getHtml("sitename") ?></a>.
<a href="<?php echo $yellow->page->get("pageEdit") ?>">Edit</a>.
<a href="<?php echo $yellow->text->get("yellowUrl") ?>">Made with Yellow</a>.
</div>
</div>
</div>
<?php echo $yellow->page->getExtra("footer") ?>
</body>
</html>

View file

@ -19,7 +19,10 @@
<?php if($yellow->page->isPage("sidebar")) $yellow->page->set("pageClass", $yellow->page->get("pageClass")." with-sidebar") ?>
<div class="<?php echo $yellow->page->getHtml("pageClass") ?>">
<div class="header">
<div class="sitename"><h1><a href="<?php echo $yellow->page->base."/" ?>"><i class="sitename-logo"></i><?php echo $yellow->page->getHtml("sitename") ?></a></h1></div>
<div class="sitename">
<h1><a href="<?php echo $yellow->page->base."/" ?>"><i class="sitename-logo"></i><?php echo $yellow->page->getHtml("sitename") ?></a></h1>
<?php if($yellow->page->isExisting("tagline")): ?><h2><?php echo $yellow->page->getHtml("tagline") ?></h2><?php endif ?>
</div>
<div class="sitename-banner"></div>
<?php $yellow->snippet($yellow->page->get("navigation")) ?>
</div>