mikuli.cz

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

commit 92ae2e51a6657c11569d5299e92548f6111d2e9e
parent 929af69d74fcb99a20c61afade8a6647b95aed63
Author: markseu <mark2011@mayberg.se>
Date:   Wed,  7 Jan 2015 18:02:58 +0100

Core update (API winter remix)

Diffstat:
Msystem/core/core.php | 109+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
1 file changed, 62 insertions(+), 47 deletions(-)

diff --git a/system/core/core.php b/system/core/core.php @@ -10,8 +10,8 @@ class Yellow var $pages; //pages from file system var $config; //configuration var $text; //text strings - var $toolbox; //toolbox with helpers var $plugins; //plugins + var $toolbox; //toolbox with helpers function __construct() { @@ -570,14 +570,14 @@ class YellowPage return $this->yellow->pages->find($parentTopLocation); } - // Return pages on the same level as current page + // Return page collection with pages on the same level as current page function getSiblings($showInvisible = false) { $parentLocation = $this->yellow->pages->getParentLocation($this->location); return $this->yellow->pages->findChildren($parentLocation, $showInvisible); } - // Return child pages relative to current page + // Return page collection with child pages relative to current page function getChildren($showInvisible = false) { return $this->yellow->pages->findChildren($this->location, $showInvisible); @@ -773,6 +773,15 @@ class YellowPageCollection extends ArrayObject $this->exchangeArray(array_reverse($this->getArrayCopy())); return $this; } + + // Randomize page collection + function shuffle() + { + $array = $this->getArrayCopy(); + shuffle($array); + $this->exchangeArray($array); + return $this; + } // Paginate page collection function pagination($limit, $reverse = true) @@ -1289,6 +1298,56 @@ class YellowText return !is_null($this->text[$this->language]) && !is_null($this->text[$this->language][$key]); } } + +// Yellow plugins +class YellowPlugins +{ + var $plugins; //registered plugins + + function __construct() + { + $this->plugins = array(); + } + + // Load plugins + function load() + { + global $yellow; + $path = dirname(__FILE__); + foreach($yellow->toolbox->getDirectoryEntries($path, "/^core-.*\.php$/", true, false) as $entry) require_once($entry); + $path = $yellow->config->get("pluginDir"); + foreach($yellow->toolbox->getDirectoryEntries($path, "/^.*\.php$/", true, false) as $entry) require_once($entry); + foreach($this->plugins as $key=>$value) + { + $this->plugins[$key]["obj"] = new $value["class"]; + if(defined("DEBUG") && DEBUG>=3) echo "YellowPlugins::load class:$value[class] $value[version]<br/>\n"; + if(method_exists($this->plugins[$key]["obj"], "onLoad")) $this->plugins[$key]["obj"]->onLoad($yellow); + } + } + + // Register plugin + function register($name, $class, $version) + { + if(!$this->isExisting($name)) + { + $this->plugins[$name] = array(); + $this->plugins[$name]["class"] = $class; + $this->plugins[$name]["version"] = $version; + } + } + + // Return plugin object + function get($name) + { + return $this->plugins[$name]["obj"]; + } + + // Check if plugin exists + function isExisting($name) + { + return !is_null($this->plugins[$name]); + } +} // Yellow toolbox with helpers class YellowToolbox @@ -2259,50 +2318,6 @@ class YellowToolbox } } -// Yellow plugins -class YellowPlugins -{ - var $plugins; //registered plugins - - function __construct() - { - $this->plugins = array(); - } - - // Load plugins - function load() - { - global $yellow; - $path = dirname(__FILE__); - foreach($yellow->toolbox->getDirectoryEntries($path, "/^core-.*\.php$/", true, false) as $entry) require_once($entry); - $path = $yellow->config->get("pluginDir"); - foreach($yellow->toolbox->getDirectoryEntries($path, "/^.*\.php$/", true, false) as $entry) require_once($entry); - foreach($this->plugins as $key=>$value) - { - $this->plugins[$key]["obj"] = new $value["class"]; - if(defined("DEBUG") && DEBUG>=3) echo "YellowPlugins::load class:$value[class] $value[version]<br/>\n"; - if(method_exists($this->plugins[$key]["obj"], "onLoad")) $this->plugins[$key]["obj"]->onLoad($yellow); - } - } - - // Register plugin - function register($name, $class, $version) - { - if(!$this->isExisting($name)) - { - $this->plugins[$name] = array(); - $this->plugins[$name]["class"] = $class; - $this->plugins[$name]["version"] = $version; - } - } - - // Check if plugin exists - function isExisting($name) - { - return !is_null($this->plugins[$name]); - } -} - // Unicode support for PHP mb_internal_encoding("UTF-8"); function strempty($string) { return is_null($string) || $string===""; }