Core update (API winter remix)
This commit is contained in:
parent
929af69d74
commit
92ae2e51a6
1 changed files with 62 additions and 47 deletions
|
@ -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===""; }
|
||||
|
|
Loading…
Add table
Reference in a new issue