mikuli.cz

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

commit d3c6b1d1ba162720a4e6718fcf7aac7e86e55914
parent 1e45a4975fc0ed5919abd752701f1c19e5ee1641
Author: markseu <mark2011@mayberg.se>
Date:   Fri, 28 Aug 2015 16:12:19 +0200

Core update (better sidebar)

Diffstat:
MREADME.md | 2+-
Msystem/config/config.ini | 1+
Msystem/core/core.php | 20++++++++++++++------
Msystem/themes/snippets/content-sidebar.php | 14++++++++------
Msystem/themes/snippets/header.php | 5+++--
Msystem/themes/snippets/navigation-sidebar.php | 16++++++++++++++--
6 files changed, 41 insertions(+), 17 deletions(-)

diff --git a/README.md b/README.md @@ -1,4 +1,4 @@ -Yellow 0.5.31 +Yellow 0.5.32 ============= [![Yellow](https://raw.githubusercontent.com/wiki/datenstrom/yellow/images/yellow.jpg)](http://datenstrom.se/yellow) diff --git a/system/config/config.ini b/system/config/config.ini @@ -38,6 +38,7 @@ robotsFile = robots.txt iconFile = icon.png template = default navigation = navigation +sidebar = sidebar parser = markdown parserSafeMode = 0 multiLanguageMode = 0 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.31"; + const Version = "0.5.32"; var $page; //current page var $pages; //pages from file system var $files; //files from file system @@ -62,6 +62,7 @@ class Yellow $this->config->setDefault("iconFile", "icon.png"); $this->config->setDefault("template", "default"); $this->config->setDefault("navigation", "navigation"); + $this->config->setDefault("sidebar", "sidebar"); $this->config->setDefault("parser", "markdown"); $this->config->setDefault("parserSafeMode", "0"); $this->config->setDefault("multiLanguageMode", "0"); @@ -370,7 +371,7 @@ class YellowPage var $headerData; //response header var $outputData; //response output var $pages; //page collection - var $relations; //page relations + var $pageRelations; //page relations var $parser; //content parser var $parserData; //content data of page var $parserSafeMode; //page is parsed in safe mode? (boolean) @@ -386,7 +387,7 @@ class YellowPage $this->metaData = array(); $this->headerData = array(); $this->pages = new YellowPageCollection($yellow); - $this->relations = array(); + $this->pageRelations = array(); } // Set request information @@ -448,6 +449,7 @@ class YellowPage $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)) @@ -715,16 +717,16 @@ class YellowPage return $this->pages; } - // Set page relation + // Set related page function setPage($key, $page) { - $page->relations[$key] = $this; + $this->pageRelations[$key] = $page; } // Return related page function getPage($key) { - return !is_null($this->relations[$key]) ? $this->relations[$key] : $this; + return !is_null($this->pageRelations[$key]) ? $this->pageRelations[$key] : $this; } // Return absolute page location @@ -915,6 +917,12 @@ class YellowPage { return !is_null($this->metaData[$key]); } + + // Check if related page exists + function isPage($key) + { + return !is_null($this->pageRelations[$key]); + } } // Yellow page collection as array diff --git a/system/themes/snippets/content-sidebar.php b/system/themes/snippets/content-sidebar.php @@ -1,12 +1,14 @@ -<?php if($yellow->page->isExisting("sidebar")): ?> +<?php if($yellow->page->isPage("sidebar")): ?> <div class="content sidebar"> -<?php $location = $yellow->lookup->getDirectoryLocation($yellow->page->location).$yellow->page->get("sidebar"); ?> -<?php if($page = $yellow->pages->find($location)): ?> -<?php $yellow->page->setPage("main", $page) ?> +<?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 $yellow->snippet("navigation-sidebar", $pages, true) ?> +<?php else: ?> +<?php $page = $yellow->page->getPage("sidebar") ?> +<?php $page->setPage("main", $yellow->page) ?> <?php $yellow->page->setLastModified($page->getModified()) ?> <?php echo $page->getContent() ?> -<?php else: ?> -<?php $yellow->snippet("navigation-sidebar") ?> <?php endif ?> </div> <?php endif ?> diff --git a/system/themes/snippets/header.php b/system/themes/snippets/header.php @@ -14,8 +14,9 @@ <body> <?php $yellow->page->set("pageClass", "page") ?> <?php $yellow->page->set("pageClass", $yellow->page->get("pageClass")." ".$yellow->page->get("template")) ?> -<?php if($yellow->page->get("navigation") == "navigation-sidebar") { $yellow->page->set("navigation", "navigation"); $yellow->page->set("sidebar", "navigation-sidebar"); } ?> -<?php if($yellow->page->isExisting("sidebar")) $yellow->page->set("pageClass", $yellow->page->get("pageClass")." with-sidebar") ?> +<?php if($yellow->page->get("navigation") == "navigation-sidebar") $yellow->page->setPage("sidebar", $yellow->page); ?> +<?php if($page = $yellow->pages->find($yellow->lookup->getDirectoryLocation($yellow->page->location).$yellow->page->get("sidebar"))) $yellow->page->setPage("sidebar", $page) ?> +<?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> diff --git a/system/themes/snippets/navigation-sidebar.php b/system/themes/snippets/navigation-sidebar.php @@ -1,6 +1,16 @@ -<?php $page = $yellow->page->getParentTop(false) ?> -<?php $pages = $page ? $page->getChildren(!$page->isVisible()): $yellow->pages->clean() ?> +<?php list($name, $pages, $sidebar) = $yellow->getSnippetArgs() ?> +<?php if(!$pages) $pages = $yellow->pages->top() ?> <?php $yellow->page->setLastModified($pages->getModified()) ?> +<?php if(!$sidebar): ?> +<div class="navigation"> +<ul> +<?php foreach($pages as $page): ?> +<li><a<?php echo $page->isActive() ? " class=\"active\"" : "" ?> href="<?php echo $page->getLocation() ?>"><?php echo $page->getHtml("titleNavigation") ?></a></li> +<?php endforeach ?> +</ul> +</div> +<div class="navigation-banner"></div> +<?php else: ?> <div class="navigation-sidebar"> <ul> <?php foreach($pages as $page): ?> @@ -8,3 +18,4 @@ <?php endforeach ?> </ul> </div> +<?php endif ?> +\ No newline at end of file