notification sur chat creation/modification fichier+article+event+lien (fixes #4)
This commit is contained in:
parent
0f01430d81
commit
f93b2980b2
@ -1,26 +1,28 @@
|
||||
<?php
|
||||
namespace Cadoles\CoreBundle\EventListener;
|
||||
|
||||
use Doctrine\Common\Persistence\ObjectManager;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Oneup\UploaderBundle\Event\PostPersistEvent;
|
||||
use Symfony\Component\HttpFoundation\Session\Session;
|
||||
use Symfony\Component\HttpFoundation\File\File;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface as Container;
|
||||
|
||||
class uploadListener
|
||||
{
|
||||
/**
|
||||
* @var ObjectManager
|
||||
*/
|
||||
private $om;
|
||||
private $em;
|
||||
private $session;
|
||||
private $token;
|
||||
private $container;
|
||||
|
||||
public function __construct(ObjectManager $om, TokenStorageInterface $token_storage, Session $session)
|
||||
public function __construct(EntityManager $em, TokenStorageInterface $token_storage, Session $session, Container $container)
|
||||
{
|
||||
$this->om = $om;
|
||||
$this->em = $em;
|
||||
$this->session = $session;
|
||||
$this->token = $token_storage;
|
||||
$this->container = $container;
|
||||
}
|
||||
|
||||
protected function getHeight($image) {
|
||||
@ -98,6 +100,8 @@ class uploadListener
|
||||
// Déplacer le fichier dans la cible
|
||||
$request = $event->getRequest();
|
||||
$directory = $request->get('directory');
|
||||
$fs = new Filesystem();
|
||||
$fgexit=$fs->exists($pathname."/".$directory."/".$filename);
|
||||
$file->move($pathname."/".$directory, $filename);
|
||||
|
||||
// Création d'un thumb dans le cas d'un fichier de type imapge
|
||||
@ -111,10 +115,25 @@ class uploadListener
|
||||
$this->resizeImage($pathname."/".$directory."/thumb/".$filename,$width,$height,$scale);
|
||||
}
|
||||
|
||||
if (strpos($directory, 'widget') === 0) {
|
||||
$tmp=explode("-",$directory);
|
||||
$widgetid=$tmp[1];
|
||||
$widget=$this->em->getRepository("CadolesPortalBundle:Pagewidget")->find($widgetid);
|
||||
if($widget) {
|
||||
foreach($widget->getPage()->getGroups() as $group) {
|
||||
if($group->getFgcanshare()) {
|
||||
if($fgexit) $message="Modification fichier<br>".$filename;
|
||||
else $message="Création fichier<br>".$filename;
|
||||
|
||||
$key=$this->em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->token->getToken()->getUser()])->getKeyvalue();
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->token->getToken()->getUser()->getId(),$group->getId(),$message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$response = $event->getResponse();
|
||||
$response['file'] = $filename;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case "blogarticle":
|
||||
|
@ -9,7 +9,7 @@ services:
|
||||
cadoles.core.upload.listener:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\uploadListener
|
||||
arguments: ["@doctrine.orm.entity_manager","@security.token_storage","@session"]
|
||||
arguments: ["@doctrine.orm.entity_manager","@security.token_storage","@session","@service_container"]
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: oneup_uploader.post_persist, method: onUpload }
|
||||
|
||||
|
@ -543,7 +543,6 @@ a.item-heart {
|
||||
.widgetbody iframe {
|
||||
width:100%;
|
||||
border:0px;
|
||||
height:100%;
|
||||
}
|
||||
|
||||
.frameitem {
|
||||
|
@ -10,6 +10,7 @@ use Symfony\Component\Filesystem\Filesystem;
|
||||
|
||||
use Cadoles\PortalBundle\Entity\Blogarticle;
|
||||
use Cadoles\PortalBundle\Form\BlogarticleType;
|
||||
use Cadoles\CoreBundle\Entity\Usergroup;
|
||||
|
||||
class BlogarticleController extends Controller
|
||||
{
|
||||
@ -54,6 +55,15 @@ class BlogarticleController extends Controller
|
||||
$em->persist($entity);
|
||||
$em->flush();
|
||||
|
||||
foreach($entity->getBlog()->getGroups() as $group) {
|
||||
if($group->getFgcanshare()) {
|
||||
$url=$this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]);
|
||||
$message="Création article<br><a href='$url'>".$entity->getName()."</a>";
|
||||
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue();
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]));
|
||||
}
|
||||
|
||||
@ -90,6 +100,15 @@ class BlogarticleController extends Controller
|
||||
$em->persist($entity);
|
||||
$em->flush();
|
||||
|
||||
foreach($entity->getBlog()->getGroups() as $group) {
|
||||
if($group->getFgcanshare()) {
|
||||
$url=$this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]);
|
||||
$message="Modification article<br><a href='$url'>".$entity->getName()."</a>";
|
||||
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue();
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]));
|
||||
}
|
||||
|
||||
|
@ -62,6 +62,16 @@ class BookmarkController extends Controller
|
||||
$em->persist($data);
|
||||
$em->flush();
|
||||
|
||||
if($pagewidget) {
|
||||
foreach($pagewidget->getPage()->getGroups() as $groupchat) {
|
||||
if($groupchat->getFgcanshare()) {
|
||||
$message="Création favoris<br><a href='".$data->getUrl()."' target='_blank'>".$data->getTitle()."</a>";
|
||||
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$groupchat,"user"=>$this->getUser()])->getKeyvalue();
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$groupchat->getId(),$message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Retour à la page
|
||||
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage,"usage"=>$usage,"group"=>$group]));
|
||||
}
|
||||
@ -139,6 +149,17 @@ class BookmarkController extends Controller
|
||||
$em->persist($data);
|
||||
$em->flush();
|
||||
|
||||
$pagewidget=$data->getPagewidget();
|
||||
if($pagewidget) {
|
||||
foreach($pagewidget->getPage()->getGroups() as $groupchat) {
|
||||
if($groupchat->getFgcanshare()) {
|
||||
$message="Modification favoris<br><a href='".$data->getUrl()."' target='_blank'>".$data->getTitle()."</a>";
|
||||
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$groupchat,"user"=>$this->getUser()])->getKeyvalue();
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$groupchat->getId(),$message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Retour à la page
|
||||
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage,"usage"=>$usage,"group"=>$group]));
|
||||
}
|
||||
|
@ -125,6 +125,14 @@ class CalendareventController extends Controller
|
||||
$em->persist($calendarevent);
|
||||
$em->flush();
|
||||
|
||||
foreach($calendarevent->getCalendar()->getGroups() as $group) {
|
||||
if($group->getFgcanshare()) {
|
||||
$message="Création évènement<br>".$calendarevent->getName()."<br>du ".$start->format("d/m/Y H:i")." au ".$end->sub(new \DateInterval('PT1M'))->format("d/m/Y H:i");
|
||||
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue();
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
|
||||
}
|
||||
}
|
||||
|
||||
$output["id"]=$calendarevent->getId();
|
||||
$output["color"]="#".(is_null($calendar->getColor())?$this->get('session')->get('color')["main"]:$calendar->getColor());
|
||||
|
||||
@ -170,6 +178,14 @@ class CalendareventController extends Controller
|
||||
$em->persist($calendarevent);
|
||||
$em->flush();
|
||||
|
||||
foreach($calendarevent->getCalendar()->getGroups() as $group) {
|
||||
if($group->getFgcanshare()) {
|
||||
$message="Modification évènement<br>".$calendarevent->getName()."<br>du ".$start->format("d/m/Y H:i")." au ".$end->sub(new \DateInterval('PT1M'))->format("d/m/Y H:i");
|
||||
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue();
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
|
||||
}
|
||||
}
|
||||
|
||||
$output["id"]=$calendarevent->getId();
|
||||
$output["color"]="#".(is_null($calendar->getColor())?$this->get('session')->get('color')["main"]:$calendar->getColor());
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
||||
<span class="title">{{ entity.name }}</span>
|
||||
</div>
|
||||
|
||||
<div class="widgetbody" style="{{ stylewidgetbodyframe }}">
|
||||
<div class="widgetbody" style="{{ stylewidgetbodyframe }}; overflow-y:auto;">
|
||||
{{ render(url('cadoles_websocket_chat',{'id':group,'framed':true,'border':entity.border,'colorbodybacklight':colorbodyback, 'colorbodyback':colorbodyback,'colorbodyfont':colorbodyfont})) }}
|
||||
<!--
|
||||
<iframe src="{{ path(tool,{'id':group,'framed':true,'border':entity.border,'colorbodybacklight':colorbodyback, 'colorbodyback':colorbodyback,'colorbodyfont':colorbodyfont}) }}" class="{% if entity.autoajust %}frameajust {% endif %}"></iframe>
|
||||
|
Loading…
Reference in New Issue
Block a user