mirror of
https://github.com/getgrav/grav.git
synced 2026-02-22 06:28:03 +01:00
HHVM fixes due to issues with traits and static variables #138
This commit is contained in:
@@ -163,8 +163,8 @@ class Assets
|
||||
public function init()
|
||||
{
|
||||
/** @var Config $config */
|
||||
$config = self::$grav['config'];
|
||||
$base_url = self::$grav['base_url'];
|
||||
$config = self::getGrav()['config'];
|
||||
$base_url = self::getGrav()['base_url'];
|
||||
$asset_config = (array)$config->get('system.assets');
|
||||
|
||||
$this->config($asset_config);
|
||||
@@ -358,7 +358,7 @@ class Assets
|
||||
}
|
||||
|
||||
// Sort array by priorities (larger priority first)
|
||||
if (self::$grav) {
|
||||
if (self::getGrav()) {
|
||||
usort($this->css, function ($a, $b) {
|
||||
if ($a['priority'] == $b['priority']) {
|
||||
return $b['order'] - $a['order'];
|
||||
@@ -471,7 +471,7 @@ class Assets
|
||||
protected function pipeline($css = true)
|
||||
{
|
||||
/** @var Cache $cache */
|
||||
$cache = self::$grav['cache'];
|
||||
$cache = self::getGrav()['cache'];
|
||||
$key = '?' . $cache->getKey();
|
||||
|
||||
if ($css) {
|
||||
@@ -687,7 +687,7 @@ class Assets
|
||||
protected function buildLocalLink($asset)
|
||||
{
|
||||
try {
|
||||
$asset = self::$grav['locator']->findResource($asset, false);
|
||||
$asset = self::getGrav()['locator']->findResource($asset, false);
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class Plugins extends Collection
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$grav = self::$grav;
|
||||
$grav = self::getGrav();
|
||||
|
||||
foreach ($grav['plugins']->all() as $name => $data) {
|
||||
$this->items[$name] = new Package($data, $this->type);
|
||||
|
||||
@@ -6,7 +6,7 @@ class Themes extends Collection
|
||||
private $type = 'themes';
|
||||
public function __construct()
|
||||
{
|
||||
$grav = self::$grav;
|
||||
$grav = self::getGrav();
|
||||
|
||||
foreach ($grav['themes']->all() as $name => $data) {
|
||||
$this->items[$name] = new Package($data, $this->type);
|
||||
|
||||
@@ -31,7 +31,7 @@ class Collection extends Iterator {
|
||||
throw new \RuntimeException("A repository is required for storing the cache");
|
||||
}
|
||||
|
||||
$cache_dir = self::$grav['locator']->findResource('cache://gpm', true, true);
|
||||
$cache_dir = self::getGrav()['locator']->findResource('cache://gpm', true, true);
|
||||
$this->cache = new FilesystemCache($cache_dir);
|
||||
|
||||
$this->repository = $repository;
|
||||
|
||||
@@ -13,6 +13,9 @@ trait GravTrait
|
||||
*/
|
||||
public function getGrav()
|
||||
{
|
||||
if (!self::$grav) {
|
||||
self::$grav = Grav::instance();
|
||||
}
|
||||
return self::$grav;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,10 +29,10 @@ trait ParsedownGravTrait
|
||||
protected function init($page)
|
||||
{
|
||||
$this->page = $page;
|
||||
$this->pages = self::$grav['pages'];
|
||||
$this->pages = self::getGrav()['pages'];
|
||||
$this->BlockTypes['{'] [] = "TwigTag";
|
||||
$this->base_url = rtrim(self::$grav['base_url'] . self::$grav['pages']->base(), '/');
|
||||
$this->pages_dir = self::$grav['locator']->findResource('page://');
|
||||
$this->base_url = rtrim(self::getGrav()['base_url'] . self::getGrav()['pages']->base(), '/');
|
||||
$this->pages_dir = self::getGrav()['locator']->findResource('page://');
|
||||
$this->special_chars = array('>' => 'gt', '<' => 'lt', '"' => 'quot');
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ trait ParsedownGravTrait
|
||||
|
||||
} else {
|
||||
// Create the custom lightbox element
|
||||
|
||||
|
||||
$attributes = $data['a_attributes'];
|
||||
$attributes['href'] = $data['a_href'];
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ class Media extends Getters
|
||||
$medium = $this->get("{$basename}.{$ext}");
|
||||
|
||||
if (!$alternative) {
|
||||
|
||||
|
||||
$medium = $medium ? $medium : $this->createMedium($info->getPathname());
|
||||
|
||||
if (!$medium) {
|
||||
@@ -70,7 +70,7 @@ class Media extends Getters
|
||||
} else {
|
||||
|
||||
$altMedium = $this->createMedium($info->getPathname());
|
||||
|
||||
|
||||
if (!$altMedium) {
|
||||
continue;
|
||||
}
|
||||
@@ -86,7 +86,7 @@ class Media extends Getters
|
||||
}
|
||||
|
||||
$medium = $medium ? $medium : $this->scaleMedium($altMedium, $alternative, 1);
|
||||
|
||||
|
||||
$medium->addAlternative($this->parseRatio($alternative), $altMedium);
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ class Media extends Getters
|
||||
* Create a Medium object from a file
|
||||
*
|
||||
* @param string $file
|
||||
*
|
||||
*
|
||||
* @return Medium|null
|
||||
*/
|
||||
protected function createMedium($file)
|
||||
@@ -202,7 +202,7 @@ class Media extends Getters
|
||||
$basename = implode('.', $parts);
|
||||
|
||||
/** @var Config $config */
|
||||
$config = self::$grav['config'];
|
||||
$config = self::getGrav()['config'];
|
||||
|
||||
// Check if medium type has been configured.
|
||||
$params = $config->get("media.".strtolower($ext));
|
||||
@@ -224,7 +224,7 @@ class Media extends Getters
|
||||
'modified' => filemtime($file),
|
||||
);
|
||||
|
||||
$locator = self::$grav['locator'];
|
||||
$locator = self::getGrav()['locator'];
|
||||
|
||||
$lookup = $locator->findResources('image://');
|
||||
foreach ($lookup as $lookupPath) {
|
||||
@@ -257,7 +257,7 @@ class Media extends Getters
|
||||
$medium->set('debug', false);
|
||||
|
||||
$file = $medium->resize($width, $height)->setPrettyName($basename)->url();
|
||||
$file = preg_replace('|'. preg_quote(self::$grav['base_url_relative']) .'$|', '', GRAV_ROOT) . $file;
|
||||
$file = preg_replace('|'. preg_quote(self::getGrav()['base_url_relative']) .'$|', '', GRAV_ROOT) . $file;
|
||||
|
||||
$medium->set('debug', $debug);
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ class Medium extends Data
|
||||
$this->def('mime', 'application/octet-stream');
|
||||
}
|
||||
|
||||
$this->set('debug', self::$grav['config']->get('system.images.debug'));
|
||||
$this->set('debug', self::getGrav()['config']->get('system.images.debug'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -168,7 +168,7 @@ class Medium extends Data
|
||||
$output = preg_replace('|^' . GRAV_ROOT . '|', '', $this->get('path')) . '/' . $this->get('filename');
|
||||
}
|
||||
|
||||
return self::$grav['base_url'] . $output;
|
||||
return self::getGrav()['base_url'] . $output;
|
||||
}
|
||||
|
||||
|
||||
@@ -332,7 +332,7 @@ class Medium extends Data
|
||||
}
|
||||
} else {
|
||||
// TODO: we need to find out URI in a bit better way.
|
||||
$this->linkTarget = self::$grav['base_url'] . preg_replace('|^' . GRAV_ROOT . '|', '', $this->get('path')) . '/' . $this->get('filename');
|
||||
$this->linkTarget = self::getGrav()['base_url'] . preg_replace('|^' . GRAV_ROOT . '|', '', $this->get('path')) . '/' . $this->get('filename');
|
||||
}
|
||||
|
||||
return $this;
|
||||
@@ -422,7 +422,7 @@ class Medium extends Data
|
||||
*/
|
||||
public function image($variable = 'thumb')
|
||||
{
|
||||
$locator = self::$grav['locator'];
|
||||
$locator = self::getGrav()['locator'];
|
||||
|
||||
// TODO: add default file
|
||||
$file = $this->get($variable);
|
||||
@@ -453,7 +453,7 @@ class Medium extends Data
|
||||
$ratio = 1;
|
||||
}
|
||||
|
||||
$locator = self::$grav['locator'];
|
||||
$locator = self::getGrav()['locator'];
|
||||
$overlay = $locator->findResource("system://assets/responsive-overlays/{$ratio}x.png") ?: $locator->findResource('system://assets/responsive-overlays/unknown.png');
|
||||
$this->image->merge(ImageFile::open($overlay));
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ class Page
|
||||
public function __construct($array = array())
|
||||
{
|
||||
/** @var Config $config */
|
||||
$config = self::$grav['config'];
|
||||
$config = self::getGrav()['config'];
|
||||
|
||||
$this->routable = true;
|
||||
$this->taxonomy = array();
|
||||
@@ -123,20 +123,20 @@ class Page
|
||||
$this->modularTwig($this->slug[0] == '_');
|
||||
|
||||
// Handle publishing dates if no explict published option set
|
||||
if (self::$grav['config']->get('system.pages.publish_dates') && !isset($this->header->published)) {
|
||||
if (self::getGrav()['config']->get('system.pages.publish_dates') && !isset($this->header->published)) {
|
||||
// unpublish if required, if not clear cache right before page should be unpublished
|
||||
if ($this->unpublishDate()) {
|
||||
if ($this->unpublishDate() < time()) {
|
||||
$this->published(false);
|
||||
} else {
|
||||
$this->published();
|
||||
self::$grav['cache']->setLifeTime($this->unpublishDate());
|
||||
self::getGrav()['cache']->setLifeTime($this->unpublishDate());
|
||||
}
|
||||
}
|
||||
// publish if required, if not clear cache right before page is published
|
||||
if ($this->publishDate() != $this->modified() && $this->publishDate() > time()) {
|
||||
$this->published(false);
|
||||
self::$grav['cache']->setLifeTime($this->publishDate());
|
||||
self::getGrav()['cache']->setLifeTime($this->publishDate());
|
||||
}
|
||||
}
|
||||
$this->published();
|
||||
@@ -300,7 +300,7 @@ class Page
|
||||
public function summary($size = null)
|
||||
{
|
||||
/** @var Config $config */
|
||||
$config = self::$grav['config'];
|
||||
$config = self::getGrav()['config'];
|
||||
$content = $this->content();
|
||||
|
||||
// Return summary based on settings in site config file
|
||||
@@ -362,7 +362,7 @@ class Page
|
||||
|
||||
// Load cached content
|
||||
/** @var Cache $cache */
|
||||
$cache = self::$grav['cache'];
|
||||
$cache = self::getGrav()['cache'];
|
||||
$cache_id = md5('page'.$this->id());
|
||||
$this->content = $cache->fetch($cache_id);
|
||||
|
||||
@@ -375,7 +375,7 @@ class Page
|
||||
// if no cached-content run everything
|
||||
if ($this->content == false) {
|
||||
$this->content = $this->raw_content;
|
||||
self::$grav->fireEvent('onPageContentRaw', new Event(['page' => $this]));
|
||||
self::getGrav()->fireEvent('onPageContentRaw', new Event(['page' => $this]));
|
||||
|
||||
if ($twig_first) {
|
||||
if ($process_twig) {
|
||||
@@ -412,7 +412,7 @@ class Page
|
||||
}
|
||||
|
||||
// Handle summary divider
|
||||
$delimiter = self::$grav['config']->get('site.summary.delimiter', '===');
|
||||
$delimiter = self::getGrav()['config']->get('site.summary.delimiter', '===');
|
||||
$divider_pos = strpos($this->content, "<p>{$delimiter}</p>");
|
||||
if ($divider_pos !== false) {
|
||||
$this->summary_size = $divider_pos;
|
||||
@@ -430,7 +430,7 @@ class Page
|
||||
protected function processMarkdown()
|
||||
{
|
||||
/** @var Config $config */
|
||||
$config = self::$grav['config'];
|
||||
$config = self::getGrav()['config'];
|
||||
|
||||
$defaults = (array) $config->get('system.pages.markdown');
|
||||
if (isset($this->header()->markdown)) {
|
||||
@@ -463,7 +463,7 @@ class Page
|
||||
*/
|
||||
private function processTwig()
|
||||
{
|
||||
$twig = self::$grav['twig'];
|
||||
$twig = self::getGrav()['twig'];
|
||||
$this->content = $twig->processPage($this, $this->content);
|
||||
}
|
||||
|
||||
@@ -472,10 +472,10 @@ class Page
|
||||
*/
|
||||
private function cachePageContent()
|
||||
{
|
||||
$cache = self::$grav['cache'];
|
||||
$cache = self::getGrav()['cache'];
|
||||
$cache_id = md5('page'.$this->id());
|
||||
|
||||
self::$grav->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
|
||||
self::getGrav()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
|
||||
$cache->save($cache_id, $this->content);
|
||||
}
|
||||
|
||||
@@ -650,7 +650,7 @@ class Page
|
||||
public function blueprints()
|
||||
{
|
||||
/** @var Pages $pages */
|
||||
$pages = self::$grav['pages'];
|
||||
$pages = self::getGrav()['pages'];
|
||||
|
||||
return $pages->blueprints($this->template());
|
||||
}
|
||||
@@ -729,7 +729,7 @@ class Page
|
||||
public function media($var = null)
|
||||
{
|
||||
/** @var Cache $cache */
|
||||
$cache = self::$grav['cache'];
|
||||
$cache = self::getGrav()['cache'];
|
||||
|
||||
if ($var) {
|
||||
$this->media = $var;
|
||||
@@ -958,7 +958,7 @@ class Page
|
||||
// Safety check to ensure we have a header
|
||||
if ($page_header) {
|
||||
// Merge any site.metadata settings in with page metadata
|
||||
$defaults = (array) self::$grav['config']->get('site.metadata');
|
||||
$defaults = (array) self::getGrav()['config']->get('site.metadata');
|
||||
|
||||
if (isset($page_header->metadata)) {
|
||||
$page_header->metadata = array_merge($defaults, $page_header->metadata);
|
||||
@@ -1061,10 +1061,10 @@ class Page
|
||||
public function url($include_host = false)
|
||||
{
|
||||
/** @var Pages $pages */
|
||||
$pages = self::$grav['pages'];
|
||||
$pages = self::getGrav()['pages'];
|
||||
|
||||
/** @var Uri $uri */
|
||||
$uri = self::$grav['uri'];
|
||||
$uri = self::getGrav()['uri'];
|
||||
|
||||
$rootUrl = $uri->rootUrl($include_host) . $pages->base();
|
||||
$url = $rootUrl.'/'.trim($this->route(), '/');
|
||||
@@ -1263,7 +1263,7 @@ class Page
|
||||
}
|
||||
if (empty($this->max_count)) {
|
||||
/** @var Config $config */
|
||||
$config = self::$grav['config'];
|
||||
$config = self::getGrav()['config'];
|
||||
$this->max_count = (int) $config->get('system.pages.list.count');
|
||||
}
|
||||
return $this->max_count;
|
||||
@@ -1338,7 +1338,7 @@ class Page
|
||||
}
|
||||
|
||||
/** @var Pages $pages */
|
||||
$pages = self::$grav['pages'];
|
||||
$pages = self::getGrav()['pages'];
|
||||
|
||||
return $pages->get($this->parent);
|
||||
}
|
||||
@@ -1351,7 +1351,7 @@ class Page
|
||||
public function children()
|
||||
{
|
||||
/** @var Pages $pages */
|
||||
$pages = self::$grav['pages'];
|
||||
$pages = self::getGrav()['pages'];
|
||||
return $pages->children($this->path());
|
||||
}
|
||||
|
||||
@@ -1418,7 +1418,7 @@ class Page
|
||||
public function active()
|
||||
{
|
||||
/** @var Uri $uri */
|
||||
$uri = self::$grav['uri'];
|
||||
$uri = self::getGrav()['uri'];
|
||||
if ($this->url() == $uri->url()) {
|
||||
return true;
|
||||
}
|
||||
@@ -1434,8 +1434,8 @@ class Page
|
||||
public function activeChild()
|
||||
{
|
||||
/** @var Uri $uri */
|
||||
$uri = self::$grav['uri'];
|
||||
$config = self::$grav['config'];
|
||||
$uri = self::getGrav()['uri'];
|
||||
$config = self::getGrav()['config'];
|
||||
|
||||
// Special check when item is home
|
||||
if ($this->home()) {
|
||||
@@ -1489,7 +1489,7 @@ class Page
|
||||
public function find($url, $all = false)
|
||||
{
|
||||
/** @var Pages $pages */
|
||||
$pages = self::$grav['pages'];
|
||||
$pages = self::getGrav()['pages'];
|
||||
return $pages->dispatch($url, $all);
|
||||
}
|
||||
|
||||
@@ -1521,9 +1521,9 @@ class Page
|
||||
|
||||
// TODO: MOVE THIS INTO SOMEWHERE ELSE?
|
||||
/** @var Uri $uri */
|
||||
$uri = self::$grav['uri'];
|
||||
$uri = self::getGrav()['uri'];
|
||||
/** @var Config $config */
|
||||
$config = self::$grav['config'];
|
||||
$config = self::getGrav()['config'];
|
||||
|
||||
foreach ((array) $config->get('site.taxonomies') as $taxonomy) {
|
||||
if ($uri->param($taxonomy)) {
|
||||
@@ -1559,7 +1559,7 @@ class Page
|
||||
}
|
||||
|
||||
/** @var Grav $grav */
|
||||
$grav = self::$grav['grav'];
|
||||
$grav = self::getGrav()['grav'];
|
||||
|
||||
// New Custom event to handle things like pagination.
|
||||
$grav->fireEvent('onCollectionProcessed', new Event(['collection' => $collection]));
|
||||
@@ -1639,7 +1639,7 @@ class Page
|
||||
// @taxonomy: { category: [ blog, featured ], level: 1 }
|
||||
|
||||
/** @var Taxonomy $taxonomy_map */
|
||||
$taxonomy_map = self::$grav['taxonomy'];
|
||||
$taxonomy_map = self::getGrav()['taxonomy'];
|
||||
|
||||
if (!empty($parts)) {
|
||||
$params = [implode('.', $parts) => $params];
|
||||
@@ -1715,7 +1715,7 @@ class Page
|
||||
// Do reordering.
|
||||
if ($reorder && $this->order() != $this->_original->order()) {
|
||||
/** @var Pages $pages */
|
||||
$pages = self::$grav['pages'];
|
||||
$pages = self::getGrav()['pages'];
|
||||
|
||||
$parent = $this->parent();
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ class User extends Data
|
||||
*/
|
||||
public static function load($username)
|
||||
{
|
||||
$locator = self::$grav['locator'];
|
||||
$locator = self::getGrav()['locator'];
|
||||
|
||||
// FIXME: validate directory name
|
||||
$blueprints = new Blueprints('blueprints://user');
|
||||
|
||||
@@ -35,8 +35,8 @@ trait ConsoleTrait
|
||||
*/
|
||||
public function setupConsole(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
if (self::$grav) {
|
||||
self::$grav['config']->set('system.cache.driver', 'default');
|
||||
if (self::getGrav()) {
|
||||
self::getGrav()['config']->set('system.cache.driver', 'default');
|
||||
}
|
||||
|
||||
$this->argv = $_SERVER['argv'][0];
|
||||
|
||||
@@ -140,7 +140,7 @@ class UninstallCommand extends Command
|
||||
*/
|
||||
private function uninstallPackage($package)
|
||||
{
|
||||
$path = self::$grav['locator']->findResource($package->package_type . '://' . $package->slug);
|
||||
$path = self::getGrav()['locator']->findResource($package->package_type . '://' . $package->slug);
|
||||
Installer::uninstall($path);
|
||||
$errorCode = Installer::lastErrorCode();
|
||||
|
||||
@@ -167,7 +167,7 @@ class UninstallCommand extends Command
|
||||
|
||||
private function checkDestination($package)
|
||||
{
|
||||
$path = self::$grav['locator']->findResource($package->package_type . '://' . $package->slug);
|
||||
$path = self::getGrav()['locator']->findResource($package->package_type . '://' . $package->slug);
|
||||
$questionHelper = $this->getHelper('question');
|
||||
$skipPrompt = $this->input->getOption('all-yes');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user