daux.io/libs/Config.php

143 lines
3.0 KiB
PHP
Raw Permalink Normal View History

<?php namespace Todaymade\Daux;
use Todaymade\Daux\Tree\Content;
use Todaymade\Daux\Format\HTML\Config as HTMLConfig;
class Config extends BaseConfig
2015-07-17 23:38:06 +02:00
{
public function getTitle()
{
return $this['title'];
}
public function getCurrentPage()
{
return $this['current_page'];
}
public function setCurrentPage(Content $entry)
{
$this['current_page'] = $entry;
}
2016-07-28 22:48:50 +02:00
public function getDocumentationDirectory()
{
return $this['docs_directory'];
}
2016-07-28 22:48:50 +02:00
public function setDocumentationDirectory($documentationPath)
{
$this['docs_directory'] = $documentationPath;
}
2016-07-28 22:48:50 +02:00
public function getThemesDirectory()
{
return $this['themes_directory'];
}
2016-09-21 23:30:01 +02:00
public function setThemesDirectory($directory)
{
$this['themes_directory'] = $directory;
}
public function setThemesPath($themePath)
{
$this['themes_path'] = $themePath;
}
public function getThemesPath()
{
return $this['themes_path'];
}
2016-07-28 22:48:50 +02:00
public function setFormat($format)
{
$this['format'] = $format;
}
2016-07-28 22:48:50 +02:00
public function getFormat()
{
return $this['format'];
}
public function hasTimezone()
{
return isset($this['timezone']);
}
public function getTimezone()
{
return $this['timezone'];
}
2016-07-28 22:48:50 +02:00
public function isMultilanguage()
{
return array_key_exists('languages', $this) && !empty($this['languages']);
}
public function isLive()
{
return $this['mode'] == Daux::LIVE_MODE;
}
public function isStatic()
{
return $this['mode'] == Daux::STATIC_MODE;
}
public function shouldInheritIndex()
{
// As the global configuration is always present, we
// need to test for the existence of the legacy value
// first. Then use the current value.
if (array_key_exists('live', $this) && array_key_exists('inherit_index', $this['live'])) {
return $this['live']['inherit_index'];
}
return $this['html']['inherit_index'];
}
public function setConfigurationOverrideFile($override_file)
{
$this['override_file'] = $override_file;
}
public function getConfigurationOverrideFile()
{
if (array_key_exists('override_file', $this)) {
return $this['override_file'];
}
return null;
}
public function getConfluenceConfiguration()
{
return $this['confluence'];
}
public function getHTML()
{
return new HTMLConfig($this['html']);
}
2018-06-06 23:20:29 +02:00
public function canCache()
{
if (array_key_exists('cache', $this)) {
return $this['cache'];
}
2018-06-06 23:37:26 +02:00
return false;
2018-06-06 23:20:29 +02:00
}
public function getCacheKey()
{
$cloned = [];
foreach ($this as $key => $value) {
$cloned[$key] = ($value instanceof Entry) ? $value->dump() : $value;
}
return sha1(json_encode($cloned));
}
}