Version 1.3.6 Bugfixes

This commit is contained in:
trendschau 2020-05-02 19:58:08 +02:00
parent d273c5ea88
commit deaf127212
17 changed files with 80 additions and 36 deletions

8
content/.yaml Normal file
View file

@ -0,0 +1,8 @@
meta:
title: 'Hidden Folder'
description: Content
author: 'Sebastian Schürmanns'
created: '2020-05-02'
time: 12-41-06
navtitle: null
modified: '2020-05-02'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 879 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

View file

@ -37,14 +37,17 @@ class MetaApiController extends ContentController
}
# loop through all plugins
foreach($this->settings['plugins'] as $name => $plugin)
if(!empty($this->settings['plugins']))
{
if($plugin['active'])
foreach($this->settings['plugins'] as $name => $plugin)
{
$pluginSettings = \Typemill\Settings::getObjectSettings('plugins', $name);
if($pluginSettings && isset($pluginSettings['metatabs']))
if($plugin['active'])
{
$metatabs = array_merge_recursive($metatabs, $pluginSettings['metatabs']);
$pluginSettings = \Typemill\Settings::getObjectSettings('plugins', $name);
if($pluginSettings && isset($pluginSettings['metatabs']))
{
$metatabs = array_merge_recursive($metatabs, $pluginSettings['metatabs']);
}
}
}
}

View file

@ -9,7 +9,6 @@ use Typemill\Models\WriteYaml;
use Typemill\Models\WriteMeta;
use \Symfony\Component\Yaml\Yaml;
use Typemill\Models\VersionCheck;
use Typemill\Models\Helpers;
use Typemill\Models\Markdown;
use Typemill\Events\OnPagetreeLoaded;
use Typemill\Events\OnBreadcrumbLoaded;
@ -39,17 +38,17 @@ class PageController extends Controller
try
{
/* if the cached structure is still valid, use it */
# if the cached structure is still valid, use it
if($cache->validate('cache', 'lastCache.txt', 600))
{
$structure = $this->getCachedStructure($cache);
}
if(!isset($structure) OR !$structure)
{
/* if not, get a fresh structure of the content folder */
# if not, get a fresh structure of the content folder
$structure = $this->getFreshStructure($pathToContent, $cache, $uri);
/* if there is no structure at all, the content folder is probably empty */
# if there is no structure at all, the content folder is probably empty
if(!$structure)
{
$content = '<h1>No Content</h1><p>Your content folder is empty.</p>';
@ -58,13 +57,13 @@ class PageController extends Controller
}
elseif(!$cache->validate('cache', 'lastSitemap.txt', 86400))
{
/* update sitemap */
# update sitemap
$sitemap = new WriteSitemap();
$sitemap->updateSitemap('cache', 'sitemap.xml', 'lastSitemap.txt', $structure, $uri->getBaseUrl());
}
}
/* dispatch event and let others manipulate the structure */
# dispatch event and let others manipulate the structure
$structure = $this->c->dispatcher->dispatch('onPagetreeLoaded', new OnPagetreeLoaded($structure))->getData();
}
catch (Exception $e)
@ -86,31 +85,45 @@ class PageController extends Controller
{
$home = true;
$item = Folder::getItemForUrl($navigation, $uri->getBasePath(), $uri->getBasePath());
$urlRel = $uri->getBasePath();
$urlRel = $uri->getBasePath();
}
else
{
/* get the request url */
# get the request url
$urlRel = $uri->getBasePath() . '/' . $args['params'];
/* find the url in the content-item-tree and return the item-object for the file */
# find the url in the content-item-tree and return the item-object for the file
# important to use the structure here so it is found, even if the item is hidden.
$item = Folder::getItemForUrl($structure, $urlRel, $uri->getBasePath());
/* if there is still no item, return a 404-page */
# if there is still no item, return a 404-page
if(!$item)
{
return $this->render404($response, array( 'navigation' => $navigation, 'settings' => $settings, 'base_url' => $base_url ));
}
/* get breadcrumb for page */
$breadcrumb = Folder::getBreadcrumb($structure, $item->keyPathArray);
$breadcrumb = $this->c->dispatcher->dispatch('onBreadcrumbLoaded', new OnBreadcrumbLoaded($breadcrumb))->getData();
if(!$item->hide)
{
# get breadcrumb for page and set pages active
# use navigation, the hidden pages won't get a breadcrumb
$breadcrumb = Folder::getBreadcrumb($navigation, $item->keyPathArray);
$breadcrumb = $this->c->dispatcher->dispatch('onBreadcrumbLoaded', new OnBreadcrumbLoaded($breadcrumb))->getData();
# set pages active for navigation again
Folder::getBreadcrumb($structure, $item->keyPathArray);
/* add the paging to the item */
$item = Folder::getPagingForItem($navigation, $item);
# set pages active for navigation again
# Folder::getBreadcrumb($navigation, $item->keyPathArray);
# add the paging to the item
$item = Folder::getPagingForItem($navigation, $item);
}
}
if(isset($item->hide) && $item->hide)
{
# delete the paging elements
$item->thisChapter = false;
$item->nextItem = false;
$item->prevItem = false;
$breadcrumb = false;
}
# dispatch the item
@ -124,8 +137,12 @@ class PageController extends Controller
{
$filePath = $filePath . DIRECTORY_SEPARATOR . 'index.md';
# use navigation instead of structure to get
$item = Folder::getItemForUrl($navigation, $urlRel, $uri->getBasePath());
# if folder is not hidden
if(isset($item->hide) && !$item->hide)
{
# use the navigation instead of the structure so that hidden elements are erased
$item = Folder::getItemForUrl($navigation, $urlRel, $uri->getBasePath());
}
}
# read the content of the file

View file

@ -39,7 +39,7 @@ class Settings
}
# let us load translations only for admin area to improve performance for frontend
$uri = $_SERVER[REQUEST_URI];
$uri = $_SERVER['REQUEST_URI'];
if(isset($uri) && (strpos($uri,'/tm/') !== false OR strpos($uri,'/setup') !== false))
{
# i18n

View file

@ -116,13 +116,15 @@ header{
}
aside{
display: block;
position: absolute;
top: 175px;
padding: 0;
margin: 0;
left: 20px;
right: 20px;
}
aside#tmnavigation{
position: absolute;
top: 175px;
}
article{
width: 100%;
position: relative;
@ -402,7 +404,22 @@ article .gitlink{
left: 10%;
width: 80%;
}
/*
.p-image{
display: table;
margin:auto;
max-width: 100%;
}
.p-image + .left{
float:left;
}
.p-image img{
display: block;
}
.p-image em{
display: table-caption;
caption-side: bottom;
}
/************************
* PAGING / BREADCRUMB *
************************/
@ -881,7 +898,7 @@ img.myClass{
header{
text-align: left;
}
aside{
aside, aside#tmnavigation{
position: relative;
top: 0;
left: 0;

View file

@ -1,5 +1,5 @@
var menu = document.getElementById("menu"),
navi = document.getElementById("navigation");
var menu = document.getElementById("tmmenu"),
navi = document.getElementById("tmnavigation");
if(menu)
{

View file

@ -1,4 +1,4 @@
{% if item.prevItem or item.nextItem %}
<div class="breadcrumb">
{% if item.prevItem %}
<span class="prev"><a href="{{ item.prevItem.urlRel }}"><i class="icon-left-open-big"></i></a></span>
@ -8,9 +8,8 @@
<li><a href="{{ crumb.urlRel }}">{{ crumb.name }}</a></li>
{% endfor %}
</ul>
<button id="menu" class="menu">contents</button>
<button id="tmmenu" class="menu">contents</button>
{% if item.nextItem %}
<span class="next"><a href="{{ item.nextItem.urlRel }}"><i class="icon-right-open-big"></i></a></span>
{% endif %}
</div>
{% endif %}

View file

@ -62,7 +62,7 @@
</aside>
{% endfor %}
{% endif %}
<aside id="navigation" class="close">
<aside id="tmnavigation" class="close">
<nav class="main-menu">
{% include 'partials/navigation.twig' %}
</nav>