first commit symfony 6
This commit is contained in:
@ -9,11 +9,26 @@ use Symfony\Component\Mercure\Update;
|
||||
|
||||
class PublishController extends AbstractController
|
||||
{
|
||||
public function sample($id){
|
||||
return $this->render('Home/publishsample.html.twig',[
|
||||
'id'=>$id
|
||||
]);
|
||||
}
|
||||
|
||||
public function publish($channel, $id, Request $request, HubInterface $hub): Response
|
||||
{
|
||||
$ret=$request->get("msg");
|
||||
$ret["from"]=[];
|
||||
$ret["from"]["id"]="tot";
|
||||
$ret["from"]["id"]=$this->getUser()->getId();
|
||||
$ret["from"]["username"]=$this->getUser()->getUsername();
|
||||
$ret["from"]["displayname"]=$this->getUser()->getDisplayname();
|
||||
|
||||
|
||||
if(stripos($this->getUser()->getAvatar(),"http")===0)
|
||||
$ret["from"]["avatar"]=$this->getUser()->getAvatar();
|
||||
else
|
||||
$ret["from"]["avatar"]=$this->getParameter('appAlias')."uploads/avatar/".$this->getUser()->getAvatar();
|
||||
|
||||
$update = new Update(
|
||||
$channel."-".$id,
|
||||
json_encode(
|
||||
|
@ -36,6 +36,14 @@ class SecurityController extends AbstractController
|
||||
$this->apiservice = $apiservice;
|
||||
}
|
||||
|
||||
public function noperm(Request $request)
|
||||
{
|
||||
return $this->render('Home/noperm.html.twig',[
|
||||
"useheader"=>true,
|
||||
"usemenu"=>false,
|
||||
]);
|
||||
}
|
||||
|
||||
public function login(Request $request, AuthenticationUtils $authenticationUtils,ManagerRegistry $em)
|
||||
{
|
||||
switch($this->getParameter("appAuth")) {
|
||||
@ -111,21 +119,24 @@ class SecurityController extends AbstractController
|
||||
if(isset($attributes[$this->getParameter('casAvatar')]))
|
||||
$avatar = $attributes[$this->getParameter('casAvatar')];
|
||||
|
||||
// Génération auto des niveau01s et des groupes en fonction des attributs sso
|
||||
$this->submitSSONiveau01($attributes,$em);
|
||||
$this->submitSSOGroup($attributes,$em);
|
||||
|
||||
// Rechercher l'utilisateur
|
||||
$user = $em->getRepository('App\Entity\User')->findOneBy(array("username"=>$username));
|
||||
if (!$user) {
|
||||
if(!$this->getParameter("casAutosubmit")) return $this->redirect($this->generateUrl('app_noperm'));
|
||||
|
||||
$this->submitSSONiveau01($attributes,$em);
|
||||
$this->submitSSOGroup($attributes,$em);
|
||||
$niveau01=$em->getRepository('App\Entity\Niveau01')->calculateSSONiveau01($attributes);
|
||||
$user=$this->submituser($username,$firstname,$lastname,$email,$password,$niveau01,$em);
|
||||
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
|
||||
}
|
||||
else
|
||||
elseif($this->getParameter("casAutoupdate")) {
|
||||
$this->submitSSONiveau01($attributes,$em);
|
||||
$this->submitSSOGroup($attributes,$em);
|
||||
$this->updateuser($user,$firstname,$lastname,$email,$avatar,$em);
|
||||
|
||||
// On calcule les groupes de l'utilisateur
|
||||
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
|
||||
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Autoconnexion
|
||||
@ -154,7 +165,6 @@ class SecurityController extends AbstractController
|
||||
|
||||
$username=$request->get('login')["username"];
|
||||
$password=$request->get('login')["password"];
|
||||
$appMasteridentity=$this->getParameter("appMasteridentity");
|
||||
|
||||
// Récupération de la cible de navigation
|
||||
$redirect = $request->getSession()->get("_security.main.target_path");
|
||||
@ -186,10 +196,11 @@ class SecurityController extends AbstractController
|
||||
$user = $em->getRepository('App\Entity\User')->findOneBy(array("username"=>$username));
|
||||
|
||||
if (!$user) {
|
||||
if(!$this->getParameter("ldapAutosubmit")) return $this->redirect($this->generateUrl('app_noperm'));
|
||||
$niveau01=$em->getRepository('App\Entity\Niveau01')->calculateLDAPNiveau01($username);
|
||||
$user=$this->submituser($username,$firstname,$lastname,$email,$avatar,$niveau01,$em);
|
||||
}
|
||||
else {
|
||||
elseif($this->getParameter("ldapAutoupdate")) {
|
||||
$this->updateuser($user,$firstname,$lastname,$email,$avatar,$em);
|
||||
}
|
||||
|
||||
@ -267,21 +278,22 @@ class SecurityController extends AbstractController
|
||||
if(isset($attributes[$this->getParameter('oauthAvatar')]))
|
||||
$avatar = $attributes[$this->getParameter('oauthAvatar')];
|
||||
|
||||
// Génération auto des niveau01s et des groupes en fonction des attributs sso
|
||||
$this->submitSSONiveau01($attributes,$em);
|
||||
$this->submitSSOGroup($attributes,$em);
|
||||
|
||||
// Rechercher l'utilisateur
|
||||
$user = $em->getRepository('App\Entity\User')->findOneBy(array("username"=>$username));
|
||||
if (!$user) {
|
||||
if(!$this->getParameter("oauthAutosubmit")) return $this->redirect($this->generateUrl('app_noperm'));
|
||||
|
||||
$this->submitSSONiveau01($attributes,$em);
|
||||
$this->submitSSOGroup($attributes,$em);
|
||||
$niveau01=$em->getRepository('App\Entity\Niveau01')->calculateSSONiveau01($attributes);
|
||||
$user=$this->submituser($username,$firstname,$lastname,$email,$avatar,$niveau01,$em);
|
||||
}
|
||||
else
|
||||
elseif($this->getParameter("oauthAutoupdate")) {
|
||||
$this->submitSSONiveau01($attributes,$em);
|
||||
$this->submitSSOGroup($attributes,$em);
|
||||
$this->updateuser($user,$firstname,$lastname,$email,$avatar,$em);
|
||||
|
||||
// On calcule les groupes de l'utilisateur
|
||||
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
|
||||
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
|
||||
}
|
||||
|
||||
// Autoconnexion
|
||||
return $this->autoconnexion($user,$redirect,$request);
|
||||
|
55
src/Controller/ThemeController.php
Normal file
55
src/Controller/ThemeController.php
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
namespace App\Controller;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
class ThemeController extends AbstractController
|
||||
{
|
||||
public function list(Request $request)
|
||||
{
|
||||
$finder = new Finder();
|
||||
|
||||
$dir = $this->getParameter('kernel.project_dir')."/public/themes";
|
||||
$url=$this->getParameter('appAlias')."themes";
|
||||
|
||||
$finder->in($dir)->directories()->depth('== 0');
|
||||
$themes=[];
|
||||
$themes[""]["dir"]="";
|
||||
$themes[""]["url"]=$url;
|
||||
$themes[""]["name"]="Thème par défaut";
|
||||
|
||||
foreach ($finder as $file) {
|
||||
$key=$file->getRelativePathname();
|
||||
$themes[$key]["dir"]=$key;
|
||||
$themes[$key]["url"]=$url."/".$key;
|
||||
|
||||
$yml=Yaml::parseFile($dir.'/'.$key.'/info.yml');
|
||||
$themes[$key]["name"]=$yml["name"];
|
||||
}
|
||||
|
||||
$current=$request->getSession()->get("apptheme");
|
||||
$currentheme=$themes[$current];
|
||||
unset($themes[$current]);
|
||||
|
||||
return $this->render('Theme/list.html.twig',[
|
||||
'useheader' => true,
|
||||
'usesidebar' => true,
|
||||
'currentheme' => $currentheme,
|
||||
'themes' => $themes
|
||||
]);
|
||||
}
|
||||
|
||||
public function select($name,Request $request,ManagerRegistry $em)
|
||||
{
|
||||
$config=$em->getRepository("App\Entity\Config")->findoneBy(["id"=>"apptheme"]);
|
||||
$config->setValue($name);
|
||||
|
||||
$em->getManager()->flush();
|
||||
|
||||
return $this->redirectToRoute("app_admin_theme");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user