svg
This commit is contained in:
parent
33202511c8
commit
0254848d39
|
@ -15,3 +15,4 @@ twig:
|
||||||
appNinegateactivate: '%appNinegateactivate%'
|
appNinegateactivate: '%appNinegateactivate%'
|
||||||
appNinegateurl: '%appNinegateurl%'
|
appNinegateurl: '%appNinegateurl%'
|
||||||
appNinegatemoderegistration: '%appNinegatemoderegistration%'
|
appNinegatemoderegistration: '%appNinegatemoderegistration%'
|
||||||
|
protocole: '%protocole%'
|
||||||
|
|
|
@ -3,9 +3,14 @@ app_home:
|
||||||
path: /
|
path: /
|
||||||
defaults: { _controller: App\Controller\HomeController:home }
|
defaults: { _controller: App\Controller\HomeController:home }
|
||||||
|
|
||||||
app_feed:
|
|
||||||
path: /feed/{nb}
|
app_feedhome:
|
||||||
defaults: { _controller: App\Controller\HomeController:feed, nb: 0 }
|
path: /feedhome/{nb}
|
||||||
|
defaults: { _controller: App\Controller\HomeController:feedhome, nb: 0 }
|
||||||
|
|
||||||
|
app_feeduser:
|
||||||
|
path: /feeduser/{userpseudo}/{nb}
|
||||||
|
defaults: { _controller: App\Controller\HomeController:feeduser, nb: 0 }
|
||||||
|
|
||||||
app_admin:
|
app_admin:
|
||||||
path: /admin/home
|
path: /admin/home
|
||||||
|
@ -167,15 +172,15 @@ app_user_category:
|
||||||
defaults: { _controller: App\Controller\CategoryController:listuser }
|
defaults: { _controller: App\Controller\CategoryController:listuser }
|
||||||
|
|
||||||
app_category_submit:
|
app_category_submit:
|
||||||
path: /admin/category/submit/{by}/{userid}
|
path: /user/category/submit/{by}/{userid}
|
||||||
defaults: { _controller: App\Controller\CategoryController:submit }
|
defaults: { _controller: App\Controller\CategoryController:submit }
|
||||||
|
|
||||||
app_category_update:
|
app_category_update:
|
||||||
path: /admin/category/update/{id}/{by}
|
path: /user/category/update/{id}/{by}
|
||||||
defaults: { _controller: App\Controller\CategoryController:update }
|
defaults: { _controller: App\Controller\CategoryController:update }
|
||||||
|
|
||||||
app_category_delete:
|
app_category_delete:
|
||||||
path: /admin/category/delete/{id}/{by}
|
path: /user/category/delete/{id}/{by}
|
||||||
defaults: { _controller: App\Controller\CategoryController:delete }
|
defaults: { _controller: App\Controller\CategoryController:delete }
|
||||||
|
|
||||||
#== Illustration ==================================================================================================
|
#== Illustration ==================================================================================================
|
||||||
|
@ -225,19 +230,19 @@ app_webzine_submit:
|
||||||
defaults: { _controller: App\Controller\WebzineController:submit }
|
defaults: { _controller: App\Controller\WebzineController:submit }
|
||||||
|
|
||||||
app_webzine_update:
|
app_webzine_update:
|
||||||
path: /admin/webzine/update/{id}/{by}
|
path: /user/webzine/update/{id}/{by}
|
||||||
defaults: { _controller: App\Controller\WebzineController:update }
|
defaults: { _controller: App\Controller\WebzineController:update }
|
||||||
|
|
||||||
app_webzine_delete:
|
app_webzine_delete:
|
||||||
path: /admin/webzine/delete/{id}/{by}
|
path: /user/webzine/delete/{id}/{by}
|
||||||
defaults: { _controller: App\Controller\WebzineController:delete }
|
defaults: { _controller: App\Controller\WebzineController:delete }
|
||||||
|
|
||||||
app_webzine_crop:
|
app_webzine_crop:
|
||||||
path: /admin/webzine/crop/{type}/{reportinput}
|
path: /user/webzine/crop/{type}/{reportinput}
|
||||||
defaults: { _controller: App\Controller\CropController:crop02 }
|
defaults: { _controller: App\Controller\CropController:crop02 }
|
||||||
|
|
||||||
app_webzine_upload:
|
app_webzine_upload:
|
||||||
path: /admin/webzine/upload
|
path: /user/webzine/upload
|
||||||
defaults: { _controller: App\Controller\WebzineController:upload }
|
defaults: { _controller: App\Controller\WebzineController:upload }
|
||||||
|
|
||||||
app_webzine_view:
|
app_webzine_view:
|
||||||
|
|
|
@ -179,7 +179,7 @@ class CategoryController extends AbstractController
|
||||||
return $this->redirectToRoute("app_home");
|
return $this->redirectToRoute("app_home");
|
||||||
}
|
}
|
||||||
if($by!="admin"&&$by!="update") {
|
if($by!="admin"&&$by!="update") {
|
||||||
if($this->getUser()!=$data->getCategory()->getUser()&&!$this->getUser()->hasRole("ROLE_ADMIN"))
|
if($this->getUser()!=$data->getUser()&&!$this->getUser()->hasRole("ROLE_ADMIN"))
|
||||||
return $this->redirectToRoute("app_home");
|
return $this->redirectToRoute("app_home");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ class HomeController extends AbstractController
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function feed($nb)
|
public function feedhome($nb)
|
||||||
{
|
{
|
||||||
$feeds=[];
|
$feeds=[];
|
||||||
|
|
||||||
|
@ -123,7 +123,76 @@ class HomeController extends AbstractController
|
||||||
$columns = array_column($feeds, 'pubtime');
|
$columns = array_column($feeds, 'pubtime');
|
||||||
array_multisort($columns, SORT_DESC, $feeds);
|
array_multisort($columns, SORT_DESC, $feeds);
|
||||||
|
|
||||||
$response = new Response($this->renderView('Home/feed.xml.twig',["feeds" => $feeds]));
|
$response = new Response($this->renderView('Home/feed.xml.twig',["by"=>"home","feeds" => $feeds]));
|
||||||
|
|
||||||
|
$response->headers->set('Content-Type', 'application/xml; charset=utf-8');
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function feeduser($userpseudo,$nb)
|
||||||
|
{
|
||||||
|
$feeds=[];
|
||||||
|
|
||||||
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
|
||||||
|
$qb = $em ->createQueryBuilder()
|
||||||
|
->select('i')
|
||||||
|
->from("App:Illustration", 'i')
|
||||||
|
->from("App:Category", 'c')
|
||||||
|
->from("App:User",'u')
|
||||||
|
->Where('c=i.category')
|
||||||
|
->andWhere('u=c.user')
|
||||||
|
->andWhere('u.slug=:userpseudo')
|
||||||
|
->setParameter('userpseudo',$userpseudo)
|
||||||
|
->orderBy('i.submittime','DESC');
|
||||||
|
if($nb!=0) $qb->setMaxResults($nb);
|
||||||
|
$illustrations=$qb->getQuery()->getResult();
|
||||||
|
foreach($illustrations as $illustration) {
|
||||||
|
$tmp["path"] = "app_illustration_view";
|
||||||
|
$tmp["type"] = "illustration";
|
||||||
|
$tmp["idcat"] = $illustration->getCategory()->getId();
|
||||||
|
$tmp["cat"] = $illustration->getCategory()->getName();
|
||||||
|
$tmp["id"] = $illustration->getId();
|
||||||
|
$tmp["name"] = $illustration->getName();
|
||||||
|
$tmp["illustration"] = $illustration->getIllustration();
|
||||||
|
$tmp["pubtime"] = $illustration->getSubmittime();
|
||||||
|
$tmp["description"] = $illustration->getDescription();
|
||||||
|
|
||||||
|
array_push($feeds,$tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$qb = $em ->createQueryBuilder()
|
||||||
|
->select('w')
|
||||||
|
->from("App:Webzine", 'w')
|
||||||
|
->from("App:User", 'u')
|
||||||
|
->Where('u=w.user')
|
||||||
|
->andWhere('u.slug=:userpseudo')
|
||||||
|
->setParameter('userpseudo',$userpseudo)
|
||||||
|
->orderBy('w.submittime','DESC');
|
||||||
|
if($nb!=0) $qb->setMaxResults($nb);
|
||||||
|
$webzines=$qb->getQuery()->getResult();
|
||||||
|
foreach($webzines as $webzine) {
|
||||||
|
if($webzine->getWebzinepages()) {
|
||||||
|
$tmp["path"] = "app_webzine_view";
|
||||||
|
$tmp["type"] = "webzine";
|
||||||
|
$tmp["idcat"] = $webzine->getId();
|
||||||
|
$tmp["cat"] = "Webzine".($webzine->getSet()?" - ".$webzine->getSet():"");
|
||||||
|
$tmp["id"] = $webzine->getWebzinepages()[0]->getId();
|
||||||
|
$tmp["name"] = $webzine->getName();
|
||||||
|
$tmp["illustration"] = $webzine->getWebzinepages()[0]->getIllustration();
|
||||||
|
$tmp["pubtime"] = $webzine->getSubmittime();
|
||||||
|
$tmp["description"] = $webzine->getDescription();
|
||||||
|
|
||||||
|
array_push($feeds,$tmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$columns = array_column($feeds, 'pubtime');
|
||||||
|
array_multisort($columns, SORT_DESC, $feeds);
|
||||||
|
|
||||||
|
$response = new Response($this->renderView('Home/feed.xml.twig',["by"=>"user","feeds" => $feeds]));
|
||||||
|
|
||||||
$response->headers->set('Content-Type', 'application/xml; charset=utf-8');
|
$response->headers->set('Content-Type', 'application/xml; charset=utf-8');
|
||||||
return $response;
|
return $response;
|
||||||
|
|
|
@ -111,6 +111,11 @@ class User implements UserInterface, \Serializable
|
||||||
*/
|
*/
|
||||||
private $links;
|
private $links;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\OneToMany(targetEntity="Config", mappedBy="user", cascade={"persist", "remove"}, orphanRemoval=true)
|
||||||
|
*/
|
||||||
|
private $configs;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->groups = new ArrayCollection();
|
$this->groups = new ArrayCollection();
|
||||||
|
@ -119,6 +124,7 @@ class User implements UserInterface, \Serializable
|
||||||
$this->illustrations = new ArrayCollection();
|
$this->illustrations = new ArrayCollection();
|
||||||
$this->webzines = new ArrayCollection();
|
$this->webzines = new ArrayCollection();
|
||||||
$this->links = new ArrayCollection();
|
$this->links = new ArrayCollection();
|
||||||
|
$this->configs = new ArrayCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getUsername(): ?string
|
public function getUsername(): ?string
|
||||||
|
@ -388,6 +394,36 @@ class User implements UserInterface, \Serializable
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Collection|Config[]
|
||||||
|
*/
|
||||||
|
public function getConfigs(): Collection
|
||||||
|
{
|
||||||
|
return $this->configs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addConfig(Config $config): self
|
||||||
|
{
|
||||||
|
if (!$this->configs->contains($config)) {
|
||||||
|
$this->configs[] = $config;
|
||||||
|
$config->setUser($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeConfig(Config $config): self
|
||||||
|
{
|
||||||
|
if ($this->configs->removeElement($config)) {
|
||||||
|
// set the owning side to null (unless already changed)
|
||||||
|
if ($config->getUser() === $this) {
|
||||||
|
$config->setUser(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function getPseudo(): ?string
|
public function getPseudo(): ?string
|
||||||
{
|
{
|
||||||
return $this->pseudo;
|
return $this->pseudo;
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<link>{{ absolute_url(path("app_home")) }}</link>
|
<link>{{ absolute_url(path("app_home")) }}</link>
|
||||||
<description>{{ app.session.get('appname') }} - {{app.session.get('appsubname') }}</description>
|
<description>{{ app.session.get('appname') }} - {{app.session.get('appsubname') }}</description>
|
||||||
{% for feed in feeds %}
|
{% for feed in feeds %}
|
||||||
{% set url = absolute_url(path(feed.path,{"idcat":feed.idcat,"id":feed.id}))|replace({'http://': 'https://'}) %}
|
{% set url = absolute_url(path(feed.path,{"by":by, "idcat":feed.idcat,"id":feed.id}))|replace({'http://': protocole~'://'}) %}
|
||||||
<item>
|
<item>
|
||||||
<guid><![CDATA[{{url}}]]></guid>
|
<guid><![CDATA[{{url}}]]></guid>
|
||||||
<title>{{ app.session.get('appname') }} - {{feed.name}}</title>
|
<title>{{ app.session.get('appname') }} - {{feed.name}}</title>
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
<pubDate>{{feed.pubtime|date('D, d M Y H:i:s O')}}</pubDate>
|
<pubDate>{{feed.pubtime|date('D, d M Y H:i:s O')}}</pubDate>
|
||||||
<link><![CDATA[{{url}}]]></link>
|
<link><![CDATA[{{url}}]]></link>
|
||||||
<description><![CDATA[
|
<description><![CDATA[
|
||||||
<a href="{{ url }}"><img src='{{ "https://"~appWeburl~"/"~appAlias~"/uploads/"~feed.type~"/thumbori_"~feed.illustration }}'></p>
|
<a href="{{ url }}"><img src='{{ protocole~"://"~appWeburl~"/"~appAlias~"/uploads/"~feed.type~"/thumbori_"~feed.illustration }}'></p>
|
||||||
<h3>{{feed.name}}</h3>
|
<h3>{{feed.name}}</h3>
|
||||||
|
|
||||||
{% autoescape 'html' %}
|
{% autoescape 'html' %}
|
||||||
|
@ -26,8 +26,8 @@
|
||||||
{% endautoescape %}
|
{% endautoescape %}
|
||||||
|
|
||||||
]]></description>
|
]]></description>
|
||||||
<enclosure url="{{ "https://"~appWeburl~"/"~appAlias~"/uploads/"~feed.type~"/thumbori_"~feed.illustration }}" rel="thumb" />
|
<enclosure url="{{ protocole~"://"~appWeburl~"/"~appAlias~"/uploads/"~feed.type~"/thumbori_"~feed.illustration }}" rel="thumb" />
|
||||||
<enclosure url="{{ "https://"~appWeburl~"/"~appAlias~"/uploads/"~feed.type~"/"~feed.illustration }}" rel="big" />
|
<enclosure url="{{ protocole~"://"~appWeburl~"/"~appAlias~"/uploads/"~feed.type~"/"~feed.illustration }}" rel="big" />
|
||||||
</item>
|
</item>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
|
|
@ -172,7 +172,7 @@
|
||||||
{% if app.session.get('youtube') is not empty %}
|
{% if app.session.get('youtube') is not empty %}
|
||||||
<a href="{{ app.session.get('youtube') }}" target="_blank" title="Youtube"><i class="fab fa-youtube fa-2x"></i></a>
|
<a href="{{ app.session.get('youtube') }}" target="_blank" title="Youtube"><i class="fab fa-youtube fa-2x"></i></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{{ path("app_feed") }}" target="_blank" title="RSS"><i class="fa fa-rss-square fa-2x"></i></a>
|
<a href="{{ path("app_feedhome") }}" target="_blank" title="RSS"><i class="fa fa-rss-square fa-2x"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="catmenu">
|
<div class="catmenu">
|
||||||
|
|
|
@ -188,7 +188,7 @@
|
||||||
{% if config.youtube is not empty %}
|
{% if config.youtube is not empty %}
|
||||||
<a href="{{ config.youtube }}" target="_blank" title="Youtube"><i class="fab fa-youtube fa-2x"></i></a>
|
<a href="{{ config.youtube }}" target="_blank" title="Youtube"><i class="fab fa-youtube fa-2x"></i></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{{ path("app_feed") }}" target="_blank" title="RSS"><i class="fa fa-rss-square fa-2x"></i></a>
|
<a href="{{ path("app_feeduser",{userpseudo:user.slug}) }}" target="_blank" title="RSS"><i class="fa fa-rss-square fa-2x"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue