Fixing posts web controllers, templates and entities.
This commit is contained in:
parent
6c173b2e5c
commit
3a69565ecb
|
@ -15,6 +15,7 @@
|
|||
"doctrine/orm": "^2.14",
|
||||
"jms/serializer-bundle": "^5.2",
|
||||
"knplabs/knp-paginator-bundle": "^6.2",
|
||||
"league/commonmark": "^2.4",
|
||||
"phpdocumentor/reflection-docblock": "^5.3",
|
||||
"phpstan/phpdoc-parser": "^1.16",
|
||||
"sensio/framework-extra-bundle": "^6.1",
|
||||
|
@ -39,6 +40,7 @@
|
|||
"symfony/yaml": "6.3.*",
|
||||
"telegram-bot/api": "^2.3",
|
||||
"twig/extra-bundle": "^2.12|^3.0",
|
||||
"twig/markdown-extra": "^3.7",
|
||||
"twig/twig": "^2.12|^3.0"
|
||||
},
|
||||
"config": {
|
||||
|
|
482
composer.lock
generated
482
composer.lock
generated
|
@ -4,8 +4,83 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "79648732c4eb68062e080a5c4e5c25b7",
|
||||
"content-hash": "6088d0629768085da296aa5598445c4f",
|
||||
"packages": [
|
||||
{
|
||||
"name": "dflydev/dot-access-data",
|
||||
"version": "v3.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dflydev/dflydev-dot-access-data.git",
|
||||
"reference": "f41715465d65213d644d3141a6a93081be5d3549"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549",
|
||||
"reference": "f41715465d65213d644d3141a6a93081be5d3549",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^0.12.42",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
|
||||
"scrutinizer/ocular": "1.6.0",
|
||||
"squizlabs/php_codesniffer": "^3.5",
|
||||
"vimeo/psalm": "^4.0.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "3.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Dflydev\\DotAccessData\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Dragonfly Development Inc.",
|
||||
"email": "info@dflydev.com",
|
||||
"homepage": "http://dflydev.com"
|
||||
},
|
||||
{
|
||||
"name": "Beau Simensen",
|
||||
"email": "beau@dflydev.com",
|
||||
"homepage": "http://beausimensen.com"
|
||||
},
|
||||
{
|
||||
"name": "Carlos Frutos",
|
||||
"email": "carlos@kiwing.it",
|
||||
"homepage": "https://github.com/cfrutos"
|
||||
},
|
||||
{
|
||||
"name": "Colin O'Dell",
|
||||
"email": "colinodell@gmail.com",
|
||||
"homepage": "https://www.colinodell.com"
|
||||
}
|
||||
],
|
||||
"description": "Given a deep data structure, access data by dot notation.",
|
||||
"homepage": "https://github.com/dflydev/dflydev-dot-access-data",
|
||||
"keywords": [
|
||||
"access",
|
||||
"data",
|
||||
"dot",
|
||||
"notation"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
|
||||
"source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2"
|
||||
},
|
||||
"time": "2022-10-27T11:44:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
"version": "2.0.1",
|
||||
|
@ -1967,6 +2042,194 @@
|
|||
},
|
||||
"time": "2023-03-25T06:51:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/commonmark",
|
||||
"version": "2.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/commonmark.git",
|
||||
"reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d44a24690f16b8c1808bf13b1bd54ae4c63ea048",
|
||||
"reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*",
|
||||
"league/config": "^1.1.1",
|
||||
"php": "^7.4 || ^8.0",
|
||||
"psr/event-dispatcher": "^1.0",
|
||||
"symfony/deprecation-contracts": "^2.1 || ^3.0",
|
||||
"symfony/polyfill-php80": "^1.16"
|
||||
},
|
||||
"require-dev": {
|
||||
"cebe/markdown": "^1.0",
|
||||
"commonmark/cmark": "0.30.0",
|
||||
"commonmark/commonmark.js": "0.30.0",
|
||||
"composer/package-versions-deprecated": "^1.8",
|
||||
"embed/embed": "^4.4",
|
||||
"erusev/parsedown": "^1.0",
|
||||
"ext-json": "*",
|
||||
"github/gfm": "0.29.0",
|
||||
"michelf/php-markdown": "^1.4 || ^2.0",
|
||||
"nyholm/psr7": "^1.5",
|
||||
"phpstan/phpstan": "^1.8.2",
|
||||
"phpunit/phpunit": "^9.5.21",
|
||||
"scrutinizer/ocular": "^1.8.1",
|
||||
"symfony/finder": "^5.3 | ^6.0",
|
||||
"symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0",
|
||||
"unleashedtech/php-coding-standard": "^3.1.1",
|
||||
"vimeo/psalm": "^4.24.0 || ^5.0.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/yaml": "v2.3+ required if using the Front Matter extension"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "2.5-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"League\\CommonMark\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Colin O'Dell",
|
||||
"email": "colinodell@gmail.com",
|
||||
"homepage": "https://www.colinodell.com",
|
||||
"role": "Lead Developer"
|
||||
}
|
||||
],
|
||||
"description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)",
|
||||
"homepage": "https://commonmark.thephpleague.com",
|
||||
"keywords": [
|
||||
"commonmark",
|
||||
"flavored",
|
||||
"gfm",
|
||||
"github",
|
||||
"github-flavored",
|
||||
"markdown",
|
||||
"md",
|
||||
"parser"
|
||||
],
|
||||
"support": {
|
||||
"docs": "https://commonmark.thephpleague.com/",
|
||||
"forum": "https://github.com/thephpleague/commonmark/discussions",
|
||||
"issues": "https://github.com/thephpleague/commonmark/issues",
|
||||
"rss": "https://github.com/thephpleague/commonmark/releases.atom",
|
||||
"source": "https://github.com/thephpleague/commonmark"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.colinodell.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://www.paypal.me/colinpodell/10.00",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/colinodell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/league/commonmark",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-03-24T15:16:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/config",
|
||||
"version": "v1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/config.git",
|
||||
"reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
|
||||
"reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"dflydev/dot-access-data": "^3.0.1",
|
||||
"nette/schema": "^1.2",
|
||||
"php": "^7.4 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.8.2",
|
||||
"phpunit/phpunit": "^9.5.5",
|
||||
"scrutinizer/ocular": "^1.8.1",
|
||||
"unleashedtech/php-coding-standard": "^3.1",
|
||||
"vimeo/psalm": "^4.7.3"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.2-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"League\\Config\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Colin O'Dell",
|
||||
"email": "colinodell@gmail.com",
|
||||
"homepage": "https://www.colinodell.com",
|
||||
"role": "Lead Developer"
|
||||
}
|
||||
],
|
||||
"description": "Define configuration arrays with strict schemas and access values with dot notation",
|
||||
"homepage": "https://config.thephpleague.com",
|
||||
"keywords": [
|
||||
"array",
|
||||
"config",
|
||||
"configuration",
|
||||
"dot",
|
||||
"dot-access",
|
||||
"nested",
|
||||
"schema"
|
||||
],
|
||||
"support": {
|
||||
"docs": "https://config.thephpleague.com/",
|
||||
"issues": "https://github.com/thephpleague/config/issues",
|
||||
"rss": "https://github.com/thephpleague/config/releases.atom",
|
||||
"source": "https://github.com/thephpleague/config"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.colinodell.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://www.paypal.me/colinpodell/10.00",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/colinodell",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-11T20:36:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
"version": "3.4.0",
|
||||
|
@ -2068,6 +2331,155 @@
|
|||
],
|
||||
"time": "2023-06-21T08:46:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nette/schema",
|
||||
"version": "v1.2.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nette/schema.git",
|
||||
"reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nette/schema/zipball/c9ff517a53903b3d4e29ec547fb20feecb05b8ab",
|
||||
"reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"nette/utils": "^2.5.7 || ^3.1.5 || ^4.0",
|
||||
"php": "7.1 - 8.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"nette/tester": "^2.3 || ^2.4",
|
||||
"phpstan/phpstan-nette": "^1.0",
|
||||
"tracy/tracy": "^2.7"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.2-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause",
|
||||
"GPL-2.0-only",
|
||||
"GPL-3.0-only"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "David Grudl",
|
||||
"homepage": "https://davidgrudl.com"
|
||||
},
|
||||
{
|
||||
"name": "Nette Community",
|
||||
"homepage": "https://nette.org/contributors"
|
||||
}
|
||||
],
|
||||
"description": "📐 Nette Schema: validating data structures against a given Schema.",
|
||||
"homepage": "https://nette.org",
|
||||
"keywords": [
|
||||
"config",
|
||||
"nette"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nette/schema/issues",
|
||||
"source": "https://github.com/nette/schema/tree/v1.2.4"
|
||||
},
|
||||
"time": "2023-08-05T18:56:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nette/utils",
|
||||
"version": "v4.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nette/utils.git",
|
||||
"reference": "9124157137da01b1f5a5a22d6486cb975f26db7e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nette/utils/zipball/9124157137da01b1f5a5a22d6486cb975f26db7e",
|
||||
"reference": "9124157137da01b1f5a5a22d6486cb975f26db7e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.0 <8.4"
|
||||
},
|
||||
"conflict": {
|
||||
"nette/finder": "<3",
|
||||
"nette/schema": "<1.2.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"jetbrains/phpstorm-attributes": "dev-master",
|
||||
"nette/tester": "^2.5",
|
||||
"phpstan/phpstan": "^1.0",
|
||||
"tracy/tracy": "^2.9"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-gd": "to use Image",
|
||||
"ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
|
||||
"ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
|
||||
"ext-json": "to use Nette\\Utils\\Json",
|
||||
"ext-mbstring": "to use Strings::lower() etc...",
|
||||
"ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
|
||||
"ext-xml": "to use Strings::length() etc. when mbstring is not available"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause",
|
||||
"GPL-2.0-only",
|
||||
"GPL-3.0-only"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "David Grudl",
|
||||
"homepage": "https://davidgrudl.com"
|
||||
},
|
||||
{
|
||||
"name": "Nette Community",
|
||||
"homepage": "https://nette.org/contributors"
|
||||
}
|
||||
],
|
||||
"description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
|
||||
"homepage": "https://nette.org",
|
||||
"keywords": [
|
||||
"array",
|
||||
"core",
|
||||
"datetime",
|
||||
"images",
|
||||
"json",
|
||||
"nette",
|
||||
"paginator",
|
||||
"password",
|
||||
"slugify",
|
||||
"string",
|
||||
"unicode",
|
||||
"utf-8",
|
||||
"utility",
|
||||
"validation"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nette/utils/issues",
|
||||
"source": "https://github.com/nette/utils/tree/v4.0.1"
|
||||
},
|
||||
"time": "2023-07-30T15:42:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
"version": "2.2.0",
|
||||
|
@ -7030,6 +7442,74 @@
|
|||
],
|
||||
"time": "2023-05-06T11:11:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "twig/markdown-extra",
|
||||
"version": "v3.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/markdown-extra.git",
|
||||
"reference": "8f1179e279cea6ef14066a4560b859df58acd5d8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/8f1179e279cea6ef14066a4560b859df58acd5d8",
|
||||
"reference": "8f1179e279cea6ef14066a4560b859df58acd5d8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1.3",
|
||||
"twig/twig": "^2.7|^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"erusev/parsedown": "^1.7",
|
||||
"league/commonmark": "^1.0|^2.0",
|
||||
"league/html-to-markdown": "^4.8|^5.0",
|
||||
"michelf/php-markdown": "^1.8|^2.0",
|
||||
"symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Twig\\Extra\\Markdown\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com",
|
||||
"homepage": "http://fabien.potencier.org",
|
||||
"role": "Lead Developer"
|
||||
}
|
||||
],
|
||||
"description": "A Twig extension for Markdown",
|
||||
"homepage": "https://twig.symfony.com",
|
||||
"keywords": [
|
||||
"html",
|
||||
"markdown",
|
||||
"twig"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/twigphp/markdown-extra/tree/v3.7.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-02-09T06:45:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v3.7.0",
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
{% extends '@SkobkinPointTools/Post/comment_tree.html.twig' %}
|
||||
|
||||
{% block comment_children %}{% endblock %}
|
|
@ -1,5 +0,0 @@
|
|||
{% if comments|length > 0 %}
|
||||
{% for comment in comments %}
|
||||
{% include '@SkobkinPointTools/Post/comment_list.html.twig' with {'comment': comment} only %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
|
@ -1,5 +0,0 @@
|
|||
{% if comments|length > 0 %}
|
||||
{% for comment in comments %}
|
||||
{% include '@SkobkinPointTools/Post/comment_tree.html.twig' with {'comment': comment} only %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
|
@ -1,7 +0,0 @@
|
|||
{% extends 'SkobkinPointToolsBundle:Post:base_feed.html.twig' %}
|
||||
|
||||
{% block header_title %}#{{ post.id }} @ Point Tools{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% include 'SkobkinPointToolsBundle:Post:post.html.twig' with {'post': post} %}
|
||||
{% endblock %}
|
|
@ -3,7 +3,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Controller;
|
||||
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
|
||||
use App\Entity\Blog\Post;
|
||||
use App\Repository\Blog\PostRepository;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
|
@ -11,12 +10,9 @@ use Symfony\Component\HttpFoundation\Response;
|
|||
|
||||
class PostController extends AbstractController
|
||||
{
|
||||
/**
|
||||
* @ParamConverter("post", class="SkobkinPointToolsBundle:Blogs\Post")
|
||||
*/
|
||||
public function show(Post $post, PostRepository $postRepository): Response
|
||||
{
|
||||
if ((!$post->getAuthor()->isPublic()) || $post->getAuthor()->isWhitelistOnly()) {
|
||||
if ($post->getAuthor()->isPrivate()) {
|
||||
/**
|
||||
* Throwing 404 instead of 403 because of
|
||||
* @see \Symfony\Component\Security\Http\Firewall\ExceptionListener::handleAccessDeniedException()
|
||||
|
@ -26,7 +22,7 @@ class PostController extends AbstractController
|
|||
//throw $this->createAccessDeniedException('Author\'s blog is private.');
|
||||
}
|
||||
|
||||
return $this->render('SkobkinPointToolsBundle:Post:show.html.twig', [
|
||||
return $this->render('Web/Post/show.html.twig', [
|
||||
'post' => $postRepository->getPostWithComments($post->getId()),
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -21,10 +21,8 @@ class PublicFeedController extends AbstractController
|
|||
);
|
||||
|
||||
return $this->render(
|
||||
'SkobkinPointToolsBundle:Post:feed.html.twig',
|
||||
'Web/Post/feed.html.twig',
|
||||
[
|
||||
// @todo Move to translation
|
||||
'feed_title' => 'Public feed',
|
||||
'posts' => $postsPagination,
|
||||
// Special feed mark (to not show comments and other)
|
||||
'is_feed' => true,
|
||||
|
|
|
@ -5,13 +5,13 @@ namespace App\Entity\Blog;
|
|||
|
||||
use App\Entity\User;
|
||||
use App\Enum\Blog\PostTypeEnum;
|
||||
use App\Repository\Blog\TagRepository;
|
||||
use App\Repository\Blog\PostRepository;
|
||||
use Doctrine\Common\Collections\{ArrayCollection, Collection};
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
#[ORM\Entity(repositoryClass: TagRepository::class)]
|
||||
#[ORM\Entity(repositoryClass: PostRepository::class)]
|
||||
#[ORM\HasLifecycleCallbacks]
|
||||
#[ORM\Table(name: 'tags', schema: 'posts')]
|
||||
#[ORM\Table(name: 'posts', schema: 'posts')]
|
||||
class Post
|
||||
{
|
||||
#[ORM\Id]
|
||||
|
|
|
@ -155,6 +155,11 @@ class User
|
|||
return $this->public;
|
||||
}
|
||||
|
||||
public function isPrivate(): bool
|
||||
{
|
||||
return !$this->public || $this->whitelistOnly;
|
||||
}
|
||||
|
||||
public function isWhitelistOnly(): bool
|
||||
{
|
||||
return $this->whitelistOnly;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "::base.html.twig" %}
|
||||
{% extends 'Web/base.html.twig' %}
|
||||
|
||||
{% block css %}
|
||||
{{ parent() }}
|
3
templates/Web/Post/comment_list.html.twig
Normal file
3
templates/Web/Post/comment_list.html.twig
Normal file
|
@ -0,0 +1,3 @@
|
|||
{% extends 'Web/Post/comment_tree.html.twig' %}
|
||||
|
||||
{% block comment_children %}{% endblock %}
|
|
@ -39,7 +39,7 @@
|
|||
{% block comment_children %}
|
||||
{% if comment.children|length > 0 %}
|
||||
<div class="children">
|
||||
{% include '@SkobkinPointTools/Post/comments_tree.html.twig' with {
|
||||
{% include 'Web/Post/comments_tree.html.twig' with {
|
||||
'comments': comment.children
|
||||
} only %}
|
||||
</div>
|
5
templates/Web/Post/comments_list.html.twig
Normal file
5
templates/Web/Post/comments_list.html.twig
Normal file
|
@ -0,0 +1,5 @@
|
|||
{% if comments|length > 0 %}
|
||||
{% for comment in comments %}
|
||||
{% include 'Web/Post/comment_list.html.twig' with {'comment': comment} only %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
5
templates/Web/Post/comments_tree.html.twig
Normal file
5
templates/Web/Post/comments_tree.html.twig
Normal file
|
@ -0,0 +1,5 @@
|
|||
{% if comments|length > 0 %}
|
||||
{% for comment in comments %}
|
||||
{% include 'Web/Post/comment_tree.html.twig' with {'comment': comment} only %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
|
@ -1,6 +1,6 @@
|
|||
{% extends 'SkobkinPointToolsBundle:Post:base_feed.html.twig' %}
|
||||
{% extends 'Web/Post/base_feed.html.twig' %}
|
||||
|
||||
{% block header_title %}{{ feed_title|trans }} @ Point Tools{% endblock %}
|
||||
{% block header_title %}{{ 'Public feed' | trans }} @ Point Tools{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% if is_feed is defined %}
|
||||
|
@ -11,7 +11,7 @@
|
|||
|
||||
{% for post in posts %}
|
||||
<div class="feed-post panel panel-default">
|
||||
{% include 'SkobkinPointToolsBundle:Post:post.html.twig' with {
|
||||
{% include 'Web/Post/post.html.twig' with {
|
||||
'post': post,
|
||||
'is_feed': is_feed
|
||||
} %}
|
|
@ -15,7 +15,9 @@
|
|||
</div>
|
||||
<div class="row post-text">
|
||||
<div class="col-xs-12">
|
||||
{{ post.text|markdown('app.point.markdown_parser') }}
|
||||
{# Until Point native Markdown parser is ported, use Twig's parser #}
|
||||
{# {{ post.text|markdown('app.point.markdown_parser') }}#}
|
||||
{{ post.text | markdown_to_html }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row post-files">
|
||||
|
@ -34,12 +36,12 @@
|
|||
{% if is_feed is not defined and post.comments|length > 0 %}
|
||||
<div class="row comments">
|
||||
{#
|
||||
{% include '@SkobkinPointTools/Post/comments_tree.html.twig' with {
|
||||
{% include 'Web/Post/comments_tree.html.twig' with {
|
||||
'comments': post.firstLevelComments
|
||||
} only %}
|
||||
#}
|
||||
|
||||
{% include 'SkobkinPointToolsBundle:Post:comments_list.html.twig' with {
|
||||
{% include 'Web/Post/comments_list.html.twig' with {
|
||||
'comments': post.comments
|
||||
} %}
|
||||
</div>
|
7
templates/Web/Post/show.html.twig
Normal file
7
templates/Web/Post/show.html.twig
Normal file
|
@ -0,0 +1,7 @@
|
|||
{% extends 'Web/Post/base_feed.html.twig' %}
|
||||
|
||||
{% block header_title %}#{{ post.id }} @ Point Tools{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% include 'Web/Post/post.html.twig' with {'post': post} %}
|
||||
{% endblock %}
|
Loading…
Reference in a new issue