diff --git a/cache/securitylog.txt b/cache/securitylog.txt new file mode 100644 index 0000000..7c402e6 --- /dev/null +++ b/cache/securitylog.txt @@ -0,0 +1,2 @@ +127.0.0.1;2022-05-26 22:14:00;wrong login +127.0.0.1;2022-05-26 22:14:07;wrong captcha http://localhost/typemill/tm/login diff --git a/composer.json b/composer.json index bf5529e..a7a19bd 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ }, "require": { "slim/slim": "~3.7", - "twig/twig": "~1.18", + "twig/twig": "^2.0", "slim/twig-view": "~2.3", "slim/flash": "~0.4", "slim/csrf": "~0.8", diff --git a/composer.lock b/composer.lock index 3f7644a..11f5a79 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "bc8436c1ed1a0ea8333205185da466f4", + "content-hash": "7b59f60804ecefb2545c3ee2cb0583d6", "packages": [ { "name": "akrabat/proxy-detection-middleware", @@ -1125,6 +1125,165 @@ ], "time": "2021-10-20T20:35:02+00:00" }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-11-30T18:21:41+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:17:38+00:00" + }, { "name": "symfony/polyfill-php80", "version": "v1.25.0", @@ -1263,30 +1422,32 @@ }, { "name": "twig/twig", - "version": "v1.44.6", + "version": "v2.15.1", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "ae39480f010ef88adc7938503c9b02d3baf2f3b3" + "reference": "3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/ae39480f010ef88adc7938503c9b02d3baf2f3b3", - "reference": "ae39480f010ef88adc7938503c9b02d3baf2f3b3", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4", + "reference": "3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "^1.8" + "php": ">=7.1.3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php72": "^1.8" }, "require-dev": { "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.44-dev" + "dev-master": "2.15-dev" } }, "autoload": { @@ -1325,7 +1486,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v1.44.6" + "source": "https://github.com/twigphp/Twig/tree/v2.15.1" }, "funding": [ { @@ -1337,7 +1498,7 @@ "type": "tidelift" } ], - "time": "2021-11-25T13:31:46+00:00" + "time": "2022-05-17T05:46:24+00:00" }, { "name": "vlucas/valitron", diff --git a/themes/cyanine/cyanine.yaml b/themes/cyanine/cyanine.yaml index 0da0c89..cb5538a 100644 --- a/themes/cyanine/cyanine.yaml +++ b/themes/cyanine/cyanine.yaml @@ -505,3 +505,15 @@ forms: label: Color for notices checkboxlabel: Use grayscale color schema for notices fieldsize: half + +metatabs: + meta: + fields: + fieldsetGlossary: + type: fieldset + legend: Glossary Style + fields: + glossary: + type: checkbox + label: Glossary List (only for folders) + checkboxlabel: List pages or posts of this folder as glossary (only for folders) \ No newline at end of file diff --git a/themes/cyanine/page.twig b/themes/cyanine/page.twig index 6340c27..935fe65 100644 --- a/themes/cyanine/page.twig +++ b/themes/cyanine/page.twig @@ -109,15 +109,19 @@ {% endif %} - {% if item.elementType == 'folder' and item.contains == 'pages' %} + {% if item.elementType == 'folder' and metatabs.meta.glossary %} + + + + {% elseif item.elementType == 'folder' and item.contains == 'pages' %} - {% endif %} - - {% if item.elementType == 'folder' and item.contains == 'posts' %} + {% elseif item.elementType == 'folder' and item.contains == 'posts' %} {% include 'partials/posts.twig' %} diff --git a/themes/cyanine/partials/navigationGlossary.twig b/themes/cyanine/partials/navigationGlossary.twig new file mode 100644 index 0000000..f46f529 --- /dev/null +++ b/themes/cyanine/partials/navigationGlossary.twig @@ -0,0 +1,21 @@ +{% macro loop_over(navigation) %} + + {% import _self as macros %} + {% set alphabet = 'ß' %} + + {% for element in navigation|sort((a, b) => a.name <=> b.name) %} + {% if element.name|first|upper != alphabet %} + {% set alphabet = element.name|first|upper %} +

{{ alphabet }}

+ {% endif %} +
  • + {{ element.name }} +
  • + {% endfor %} +{% endmacro %} + +{% import _self as macros %} + + \ No newline at end of file