mikuli.cz

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

commit 481ebbd51e7e6a6b7233db18421f0faaa652f52b
parent f98a98be1a82c48e3a81f33f26c8dc4295fcee9a
Author: markseu <mark2011@mayberg.se>
Date:   Wed,  3 Jun 2015 00:29:00 +0200

Core update (better API)

Diffstat:
MREADME.md | 2+-
Msystem/core/core.php | 33++++++++++++++++++++-------------
Msystem/themes/snippets/header.php | 1+
3 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md @@ -1,4 +1,4 @@ -Yellow 0.5.18 +Yellow 0.5.19 ============= [![Yellow](https://raw.githubusercontent.com/wiki/datenstrom/yellow/images/yellow.jpg)](http://datenstrom.se/yellow) 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.18"; + const Version = "0.5.19"; var $page; //current page var $pages; //pages from file system var $files; //files from file system @@ -710,15 +710,15 @@ class YellowPage } // Set page relation - function setPage($type, $page) + function setPage($key, $page) { - $page->relations[$type] = $this; + $page->relations[$key] = $this; } // Return related page - function getPage($type) + function getPage($key) { - return !is_null($this->relations[$type]) ? $this->relations[$type] : $this; + return !is_null($this->relations[$key]) ? $this->relations[$key] : $this; } // Return absolute page location @@ -942,8 +942,9 @@ class YellowPageCollection extends ArrayObject function similar($page, $ascendingOrder = false) { $location = $page->location; - $keywords = $page->get("keywords").",".$page->get("tag").",".$page->get("author"); - $tokens = array_unique(array_filter(explode(',', $keywords), "strlen")); + $keywords = $this->yellow->toolbox->createTextKeywords($page->get("title")); + $keywords .= ",".$page->get("tag").",".$page->get("author"); + $tokens = array_unique(array_filter(preg_split("/,\s*/", $keywords), "strlen")); if(!empty($tokens)) { $array = array(); @@ -2134,11 +2135,16 @@ class YellowLookup // Check if location is within current request function isActiveLocation($location, $currentLocation) { - if($location != $this->yellow->pages->getHomeLocation($currentLocation)) + if($this->isFileLocation($location)) { - $active = substru($currentLocation, 0, strlenu($location))==$location; + $active = $currentLocation==$location; } else { - $active = $this->getDirectoryLocation($currentLocation)==$location; + if($location == $this->yellow->pages->getHomeLocation($location)) + { + $active = $this->getDirectoryLocation($currentLocation)==$location; + } else { + $active = substru($currentLocation, 0, strlenu($location))==$location; + } } return $active; } @@ -2610,11 +2616,12 @@ class YellowToolbox } // Create keywords from text string - function createTextKeywords($text, $keywordsMax) + function createTextKeywords($text, $keywordsMax = 0) { - $tokens = preg_split("/[,\s\(\)]/", strtoloweru($text)); + $tokens = array_unique(preg_split("/[,\s\(\)]/", strtoloweru($text))); foreach($tokens as $key=>$value) if(strlenu($value) < 3) unset($tokens[$key]); - return implode(", ", array_slice(array_unique($tokens), 0, $keywordsMax)); + if($keywordsMax) $tokens = array_slice($tokens, 0, $keywordsMax); + return implode(", ", $tokens); } // Create title from text string diff --git a/system/themes/snippets/header.php b/system/themes/snippets/header.php @@ -17,6 +17,7 @@ <?php $yellow->page->set("pageClass", "page") ?> <?php $yellow->page->set("pageClass", $yellow->page->get("pageClass")." ".$yellow->page->get("template")) ?> <?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->set("pageClass", $yellow->page->get("pageClass")." with-sidebar"); $yellow->page->set("navigation", "navigation"); $yellow->page->set("sidebar", "navigation-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>