svg
This commit is contained in:
parent
8de5145700
commit
3d77248b3d
@ -1,503 +0,0 @@
|
||||
<?php
|
||||
namespace Cadoles\CoreBundle\Command;
|
||||
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\HttpKernel\KernelInterface;
|
||||
use Doctrine\DBAL\Connection as DBALConnection;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
|
||||
use Cadoles\CoreBundle\Entity\User;
|
||||
use Cadoles\CoreBundle\Entity\Niveau01;
|
||||
use Cadoles\CoreBundle\Entity\Niveau02;
|
||||
|
||||
global $bdd01;
|
||||
global $config;
|
||||
|
||||
class ImportCommand extends Command
|
||||
{
|
||||
protected function configure()
|
||||
{
|
||||
$this
|
||||
// the name of the command (the part after "bin/console")
|
||||
->setName('Core:Import')
|
||||
|
||||
// the short description shown while running "php bin/console list"
|
||||
->setDescription("Importation Utilisateur à partir d'un fichier CSV Annuaire")
|
||||
|
||||
// the full command description shown when running the command with
|
||||
// the "--help" option
|
||||
->setHelp('This command Import for Core')
|
||||
|
||||
->addArgument('simulate', InputArgument::OPTIONAL, 'true to simulate / false to run')
|
||||
;
|
||||
}
|
||||
|
||||
protected function convert($filename, $delimiter = ',', $enclosure = '"')
|
||||
{
|
||||
if(!file_exists($filename) || !is_readable($filename)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$header = NULL;
|
||||
$data = array();
|
||||
|
||||
if (($handle = fopen($filename, 'r')) !== FALSE) {
|
||||
while (($row = fgetcsv($handle, 1000, $delimiter, $enclosure)) !== FALSE) {
|
||||
if(!$header) {
|
||||
$header = $row;
|
||||
} else {
|
||||
$data[] = array_combine($header, $row);
|
||||
}
|
||||
}
|
||||
fclose($handle);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$kernel = new \AppKernel('dev', true);
|
||||
$kernel->boot();
|
||||
$kernel->loadClassCache();
|
||||
$em = $kernel->getContainer()->get('service_container')->get('doctrine.orm.default_entity_manager');
|
||||
|
||||
$simulate = $input->getArgument('simulate');
|
||||
if($simulate=="") $simulate="true";
|
||||
|
||||
if($simulate!="true"&&$simulate!="false") {
|
||||
$output->writeln('Paramétre incorrect');
|
||||
return;
|
||||
}
|
||||
$simulate=($simulate=="true");
|
||||
|
||||
$output->writeln('');
|
||||
if($simulate) $output->writeln('** SIMULATION');
|
||||
else $output->writeln('** REEL');
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('=====================================================');
|
||||
$output->writeln('== IMPORT USERS =====================================');
|
||||
$output->writeln('=====================================================');
|
||||
|
||||
// Read CSV
|
||||
$fileName = 'src/Cadoles/CoreBundle/Command/import.csv';
|
||||
|
||||
// Convert
|
||||
$datas = $this->convert($fileName);
|
||||
|
||||
foreach($datas as $row) {
|
||||
if($row["uid"]!="") {
|
||||
$data = $em->getRepository('CadolesCoreBundle:User')->findBy(array('username' => $row["uid"]));
|
||||
if($data) {
|
||||
$output->writeln(' - Existe déjà >> '.$row["uid"]);
|
||||
}
|
||||
else {
|
||||
$data = $em->getRepository('CadolesCoreBundle:User')->findBy(array('email' => $row["mail"]));
|
||||
if($data) {
|
||||
$output->writeln(' - Existe déjà >> '.$row["uid"]);
|
||||
}
|
||||
else {
|
||||
$output->writeln(' - Création Utilisateur >> '.$row["uid"]);
|
||||
if(!$simulate) {
|
||||
$niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->findOneBy(array("id"=>-100));
|
||||
$user = new User();
|
||||
$user->setUsername($row["uid"]);
|
||||
$user->setPasswordDirect($row["userpassword"]);
|
||||
$user->setSalt("IMPORT-".$row["uid"]);
|
||||
$user->setNiveau01($niveau01);
|
||||
$user->setSiren($user->getNiveau01()->getSiren());
|
||||
$user->setSiret($user->getNiveau02()!==null?$user->getNiveau02()->getSiret():"");
|
||||
$user->setAvatar("noavatar.png");
|
||||
$user->setVisible(true);
|
||||
$user->setAuthlevel("simple");
|
||||
$user->setRole("ROLE_USER");
|
||||
$user->setFirstname($row["givenname"]);
|
||||
$user->setLastname($row["sn"]);
|
||||
$user->setEmail($row["mail"]);
|
||||
|
||||
$em->persist($user);
|
||||
$em->flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
|
||||
$ldap = $kernel->getContainer()->get('cadoles.core.service.ldap');
|
||||
if($ldap->isEnabled()) {
|
||||
$output->writeln('');
|
||||
$output->writeln('=====================================================');
|
||||
$output->writeln('== SYNCHONISATION BUNDLE TO LDAP ====================');
|
||||
$output->writeln('=====================================================');
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== NIVEAU01 =========================================');
|
||||
$baseNiveau01 = $kernel->getContainer()->getParameter('ldap_baseniveau01');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Niveau01','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$criteria = '(cn='.$data->getLabel().')';
|
||||
$subbranch=$baseNiveau01;
|
||||
$results = $ldap->search($criteria, array('cn'), $subbranch);
|
||||
|
||||
// Mise à jour si elle existe
|
||||
if(count($results) > 0) {
|
||||
$output->writeln(' - Modification dans annuaire >> '.$data->getLabel());
|
||||
if(!$simulate) $ldap->modifyNiveau01($data,$data->getLabel());
|
||||
}
|
||||
// Sinon création de la fiche
|
||||
else {
|
||||
$output->writeln(' - Création dans annuaire >> '.$data->getLabel());
|
||||
if(!$simulate) $ldap->addNiveau01($data);
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== NIVEAU02 =========================================');
|
||||
$baseNiveau02 = $kernel->getContainer()->getParameter('ldap_baseniveau02');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Niveau02','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$criteria = '(cn='.$data->getLabel().')';
|
||||
$subbranch=$baseNiveau02;
|
||||
$results = $ldap->search($criteria, array('cn'), $subbranch);
|
||||
|
||||
// Mise à jour si elle existe
|
||||
if(count($results) > 0) {
|
||||
$output->writeln(' - Modification dans annuaire >> '.$data->getLabel());
|
||||
if(!$simulate) $ldap->modifyNiveau02($data,$data->getLabel());
|
||||
}
|
||||
// Sinon création de la fiche
|
||||
else {
|
||||
$output->writeln(' - Création dans annuaire >> '.$data->getLabel());
|
||||
if(!$simulate) $ldap->addNiveau02($data);
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== GROUP ============================================');
|
||||
$baseGroup = $kernel->getContainer()->getParameter('ldap_basegroup');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Group','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$criteria = '(cn='.$data->getLabel().')';
|
||||
$subbranch=$baseGroup;
|
||||
$results = $ldap->search($criteria, array('cn'), $subbranch);
|
||||
|
||||
// Mise à jour si elle existe
|
||||
if(count($results) > 0) {
|
||||
$output->writeln(' - Modification dans annuaire >> '.$data->getLabel());
|
||||
if(!$simulate) $ldap->modifyGroup($data,$data->getLabel());
|
||||
}
|
||||
// Sinon création de la fiche
|
||||
else {
|
||||
$output->writeln(' - Création dans annuaire >> '.$data->getLabel());
|
||||
if(!$simulate) $ldap->addGroup($data);
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== USER =============================================');
|
||||
$baseUser = $kernel->getContainer()->getParameter('ldap_baseuser');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:User','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$criteria = '(uid='.$data->getUsername().')';
|
||||
$subbranch=$baseUser;
|
||||
$results = $ldap->search($criteria, array('uid'), $subbranch);
|
||||
|
||||
// S'assurer que SIREN correspond au Niveau01
|
||||
if($data->getNiveau01()->getSiren()!=$data->getSiren()) {
|
||||
$data->SetSiren($data->getNiveau01()->getSiren());
|
||||
$data->flush();
|
||||
}
|
||||
|
||||
// S'assurer que SIRET correspond au Niveau02
|
||||
if($data->getNiveau02()!==null&&$data->getNiveau01()->getSiren()!=$data->getSiren()) {
|
||||
$data->SetSiret($data->getNiveau02()->getSiret());
|
||||
$data->flush();
|
||||
}
|
||||
|
||||
// Mise à jour si elle existe
|
||||
if(count($results) > 0) {
|
||||
$output->writeln(' - Modification dans annuaire >> '.$data->getUsername());
|
||||
if(!$simulate) $ldap->modifyUser($data);
|
||||
}
|
||||
// Sinon création de la fiche
|
||||
else {
|
||||
$output->writeln(' - Création dans annuaire >> '.$data->getUsername());
|
||||
if(!$simulate) $ldap->addUser($data);
|
||||
}
|
||||
|
||||
// Rattachement à Niveau01 et Niveau02
|
||||
if(!$simulate) $ldap->addGroupUser($data);
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== USER GROUP =======================================');
|
||||
$baseGroup = $kernel->getContainer()->getParameter('ldap_basegroup');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Group','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$criteria = '(cn='.$data->getLabel().')';
|
||||
$subbranch=$baseGroup;
|
||||
$results = $ldap->search($criteria, array('cn'), $subbranch);
|
||||
|
||||
// Mise à jour des membres du groupes
|
||||
if(count($results) > 0) {
|
||||
$output->writeln(' - '.$data->getLabel());
|
||||
$dn=$ldap->getGroupDN($data->getLabel());
|
||||
$attrs["memberuid"]=array();
|
||||
$attrs["cadolesMember"]=array();
|
||||
|
||||
foreach($data->getUsers() as $usergroupe) {
|
||||
array_push($attrs["memberuid"],$usergroupe->getUser()->getUsername());
|
||||
array_push($attrs["cadolesMember"],$ldap->getUserDN($usergroupe->getUser()));
|
||||
$output->writeln(' > '.$usergroupe->getUser()->getUsername());
|
||||
}
|
||||
if(!$simulate) $ldap->ldapModify($dn, $attrs);
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('=====================================================');
|
||||
$output->writeln('== SYNCHONISATION LDAP TO BUNDLE ====================');
|
||||
$output->writeln('=====================================================');
|
||||
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== NIVEAU01 =========================================');
|
||||
$baseNiveau01 = $kernel->getContainer()->getParameter('ldap_baseniveau01');
|
||||
|
||||
$criteria = '(cn=*)';
|
||||
$subbranch=$baseNiveau01;
|
||||
$results = $ldap->search($criteria, array('cn'), $subbranch);
|
||||
foreach($results as $result) {
|
||||
$data = $em->getRepository('CadolesCoreBundle:Niveau01')->findBy(array('label' => $result["cn"]));
|
||||
if($data) $output->writeln(' - Existe dans bundle >> '.$result["cn"]);
|
||||
else {
|
||||
$output->writeln(' - A supprimer dans annuaire >> '.$result["cn"]);
|
||||
$dn=$ldap->getNiveau01DN($result["cn"]);
|
||||
if(!$simulate) $ldap->deleteByDN($dn);
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== NIVEAU02 =========================================');
|
||||
$baseNiveau02 = $kernel->getContainer()->getParameter('ldap_baseniveau02');
|
||||
|
||||
$criteria = '(cn=*)';
|
||||
$subbranch=$baseNiveau02;
|
||||
$results = $ldap->search($criteria, array('cn'), $subbranch);
|
||||
foreach($results as $result) {
|
||||
$data = $em->getRepository('CadolesCoreBundle:Niveau02')->findBy(array('label' => $result["cn"]));
|
||||
if($data) $output->writeln(' - Existe dans bundle >> '.$result["cn"]);
|
||||
else {
|
||||
$output->writeln(' - A supprimer dans annuaire >> '.$result["cn"]);
|
||||
$dn=$ldap->getNiveau02DN($result["cn"]);
|
||||
if(!$simulate) $ldap->deleteByDN($dn);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== GROUP ============================================');
|
||||
$baseGroup = $kernel->getContainer()->getParameter('ldap_basegroup');
|
||||
|
||||
$criteria = '(cn=*)';
|
||||
$subbranch=$baseGroup;
|
||||
$results = $ldap->search($criteria, array('cn'), $subbranch);
|
||||
foreach($results as $result) {
|
||||
$data = $em->getRepository('CadolesCoreBundle:Group')->findBy(array('label' => $result["cn"]));
|
||||
if($data) $output->writeln(' - Existe dans bundle >> '.$result["cn"]);
|
||||
else {
|
||||
$output->writeln(' - A supprimer dans annuaire >> '.$result["cn"]);
|
||||
$dn=$ldap->getGroupDN($result["cn"]);
|
||||
if(!$simulate) $ldap->deleteByDN($dn);
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== USER =============================================');
|
||||
$baseUser = $kernel->getContainer()->getParameter('ldap_baseuser');
|
||||
|
||||
$criteria = '(uid=*)';
|
||||
$subbranch=$baseUser;
|
||||
$results = $ldap->search($criteria, array('uid'), $subbranch);
|
||||
foreach($results as $result) {
|
||||
$data = $em->getRepository('CadolesCoreBundle:User')->findBy(array('username' => $result["uid"]));
|
||||
if($data) $output->writeln(' - Existe dans bundle >> '.$result["uid"]);
|
||||
else {
|
||||
$output->writeln(' - A supprimer dans annuaire >> '.$result["uid"]);
|
||||
$dn='uid='.$result["uid"].','.$baseUser;
|
||||
if(!$simulate) $ldap->deleteByDN($dn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('=====================================================');
|
||||
$output->writeln('== SYNCHONISATION BUNDLE TO EPORTAIL ================');
|
||||
$output->writeln('=====================================================');
|
||||
|
||||
|
||||
|
||||
$eportail = $kernel->getContainer()->get('cadoles.core.service.eportail');
|
||||
if(!$eportail->isEnabled()) {
|
||||
$output->writeln('');
|
||||
$output->writeln(' Synchronisation ePortail désactivée');
|
||||
}
|
||||
else {
|
||||
$output->writeln('');
|
||||
$output->writeln('== NIVEAU01 =========================================');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Niveau01','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$output->writeln(' - Synchronisation eportail >> '.$data->getLabel());
|
||||
if(!$simulate) $eportail->syncNiveau01($data,$data->getLabel());
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== NIVEAU02 =========================================');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Niveau02','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$output->writeln(' - Synchronisation eportail >> '.$data->getLabel());
|
||||
if(!$simulate) $eportail->syncNiveau02($data,$data->getLabel());
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== GROUP ============================================');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Group','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$output->writeln(' - Synchronisation eportail >> '.$data->getLabel());
|
||||
if(!$simulate) $eportail->syncGroup($data,$data->getLabel());
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== USER =============================================');
|
||||
|
||||
$datas = $em ->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:User','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$output->writeln(' - Synchronisation eportail >> '.$data->getUsername());
|
||||
if(!$simulate) $eportail->syncUser($data);
|
||||
}
|
||||
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('=====================================================');
|
||||
$output->writeln('== SYNCHONISATION EPORTAIL TO BUNDLE ================');
|
||||
$output->writeln('=====================================================');
|
||||
$dbeportail= $kernel->getContainer()->get('service_container')->get('doctrine.orm.eportail_entity_manager')->getConnection();
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== GROUP ============================================');
|
||||
|
||||
$sql = "SELECT * FROM env_group WHERE group_id>0";
|
||||
$query = $dbeportail->prepare($sql);
|
||||
$query->execute();
|
||||
while($row=$query->fetch()){
|
||||
$fgOK=false;
|
||||
if (strpos($row["group_name"], $labelniveau01.' = ') === 0) {
|
||||
$tmp=str_replace("$labelniveau01 = ","",$row["group_name"]);
|
||||
$data = $em->getRepository('CadolesCoreBundle:Niveau01')->findBy(array('label' =>$tmp));
|
||||
if($data) {
|
||||
$fgOK=true;
|
||||
$output->writeln(' - Existe dans bundle >> '.$row["group_name"]);
|
||||
}
|
||||
}
|
||||
|
||||
if (strpos($row["group_name"], $labelniveau02.' = ') === 0) {
|
||||
$tmp=str_replace("$labelniveau01 = ","",$row["group_name"]);
|
||||
$data = $em->getRepository('CadolesCoreBundle:Niveau02')->findBy(array('label' =>$tmp));
|
||||
if($data) {
|
||||
$fgOK=true;
|
||||
$output->writeln(' - Existe dans bundle >> '.$row["group_name"]);
|
||||
}
|
||||
}
|
||||
|
||||
if (strpos($row["group_name"], 'GROUPE = ') === 0) {
|
||||
$tmp=str_replace("GROUPE = ","",$row["group_name"]);
|
||||
$data = $em->getRepository('CadolesCoreBundle:Group')->findBy(array('label' =>$tmp));
|
||||
if($data) {
|
||||
$fgOK=true;
|
||||
$output->writeln(' - Existe dans bundle >> '.$row["group_name"]);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$fgOK) {
|
||||
$output->writeln(' - A supprimer dans eportail >> '.$row["group_name"]);
|
||||
if(!$simulate) delGroup($row["group_id"]);
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('== USER =============================================');
|
||||
|
||||
$sql = "SELECT * FROM env_user WHERE user_id>0";
|
||||
$query = $dbeportail->prepare($sql);
|
||||
$query->execute();
|
||||
while($row=$query->fetch()){
|
||||
$data = $em->getRepository('CadolesCoreBundle:User')->findBy(array('username' =>$row["user_login"]));
|
||||
if($data) $output->writeln(' - Existe dans bundle >> '.$row["user_login"]);
|
||||
else {
|
||||
$output->writeln(' - A supprimer dans eportail >> '.$row["user_login"]);
|
||||
if(!$simulate) delUser($row["user_id"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$output->writeln('');
|
||||
$output->writeln('');
|
||||
}
|
||||
|
||||
protected static function determineKernelRootDir(Event $event) {
|
||||
$extra = $event->getComposer()->getPackage()->getExtra();
|
||||
$rootdir = rtrim(getcwd(), '/');
|
||||
return $rootdir . '/' . trim($extra['symfony-app-dir'], '/');
|
||||
}
|
||||
}
|
@ -608,133 +608,6 @@ class SynchroCommand extends Command
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled()) {
|
||||
$this->writeln('');
|
||||
$this->writeln('=====================================================');
|
||||
$this->writeln('== SYNCHONISATION BUNDLE TO EPORTAIL ================');
|
||||
$this->writeln('=====================================================');
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('== NIVEAU01 =========================================');
|
||||
|
||||
$datas = $this->em
|
||||
->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Niveau01','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$this->writeln(' - Synchronisation eportail >> '.$data->getLabel());
|
||||
if(!$simulate) $eportail->syncNiveau01($data,$data->getLabel());
|
||||
}
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('== NIVEAU02 =========================================');
|
||||
|
||||
$datas = $this->em
|
||||
->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Niveau02','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$this->writeln(' - Synchronisation eportail >> '.$data->getLabel());
|
||||
if(!$simulate) $eportail->syncNiveau02($data,$data->getLabel());
|
||||
}
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('== GROUP ============================================');
|
||||
|
||||
$datas = $this->em
|
||||
->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:Group','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$this->writeln(' - Synchronisation eportail >> '.$data->getLabel());
|
||||
if(!$simulate) $eportail->syncGroup($data,$data->getLabel());
|
||||
}
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('== USER =============================================');
|
||||
|
||||
$datas = $this->em
|
||||
->createQueryBuilder()
|
||||
->select('table')
|
||||
->from('CadolesCoreBundle:User','table')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$this->writeln(' - Synchronisation eportail >> '.$data->getUsername());
|
||||
if(!$simulate) $eportail->syncUser($data);
|
||||
}
|
||||
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('=====================================================');
|
||||
$this->writeln('== SYNCHONISATION EPORTAIL TO BUNDLE ================');
|
||||
$this->writeln('=====================================================');
|
||||
$dbeportail= $this->container->get('service_container')->get('doctrine.orm.eportail_entity_manager')->getConnection();
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('== GROUP ============================================');
|
||||
|
||||
$sql = "SELECT * FROM env_group WHERE group_id>0";
|
||||
$query = $dbeportail->prepare($sql);
|
||||
$query->execute();
|
||||
while($row=$query->fetch()){
|
||||
$fgOK=false;
|
||||
if (strpos($row["group_name"], $labelniveau01.' = ') === 0) {
|
||||
$tmp=str_replace("$labelniveau01 = ","",$row["group_name"]);
|
||||
$data = $this->em->getRepository('CadolesCoreBundle:Niveau01')->findBy(array('label' =>$tmp));
|
||||
if($data) {
|
||||
$fgOK=true;
|
||||
$this->writeln(' - Existe dans bundle >> '.$row["group_name"]);
|
||||
}
|
||||
}
|
||||
|
||||
if (strpos($row["group_name"], $labelniveau02.' = ') === 0) {
|
||||
$tmp=str_replace("$labelniveau01 = ","",$row["group_name"]);
|
||||
$data = $this->em->getRepository('CadolesCoreBundle:Niveau02')->findBy(array('label' =>$tmp));
|
||||
if($data) {
|
||||
$fgOK=true;
|
||||
$this->writeln(' - Existe dans bundle >> '.$row["group_name"]);
|
||||
}
|
||||
}
|
||||
|
||||
if (strpos($row["group_name"], 'GROUPE = ') === 0) {
|
||||
$tmp=str_replace("GROUPE = ","",$row["group_name"]);
|
||||
$data = $this->em->getRepository('CadolesCoreBundle:Group')->findBy(array('label' =>$tmp));
|
||||
if($data) {
|
||||
$fgOK=true;
|
||||
$this->writeln(' - Existe dans bundle >> '.$row["group_name"]);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$fgOK) {
|
||||
$this->writeln(' - A supprimer dans eportail >> '.$row["group_name"]);
|
||||
if(!$simulate) delGroup($row["group_id"]);
|
||||
}
|
||||
}
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('== USER =============================================');
|
||||
|
||||
$sql = "SELECT * FROM env_user WHERE user_id>0";
|
||||
$query = $dbeportail->prepare($sql);
|
||||
$query->execute();
|
||||
while($row=$query->fetch()){
|
||||
$data = $this->em->getRepository('CadolesCoreBundle:User')->findBy(array('username' =>$row["user_login"]));
|
||||
if($data) $this->writeln(' - Existe dans bundle >> '.$row["user_login"]);
|
||||
else {
|
||||
$this->writeln(' - A supprimer dans eportail >> '.$row["user_login"]);
|
||||
if(!$simulate) delUser($row["user_id"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->writeln('');
|
||||
return 1;
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
|
||||
(-100, 'DRAAF', '130007107');
|
||||
|
||||
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
|
||||
(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}Zk1FeGDztzYdA2Q2EhJOmEuDHs7uyXI2
|
||||
(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}KYFkIhUXbGQ8luMLxpsdl5OtVq4aZ/GN
|
||||
', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple');
|
||||
|
||||
|
||||
@ -20,6 +20,7 @@ INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `f
|
||||
(1020, 1000, 1020, 'Thème', 'cadoles_core_config_theme', 'fa-paint-brush', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1030, 1000, 1030, 'Modération', 'cadoles_core_config_permmodo', 'fa-balance-scale', 'ROLE_ADMIN', ''),
|
||||
(1040, 1000, 1040, 'Fiche Utilisateur', 'cadoles_core_config_datauser', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1050, 1000, 1050, 'Liste Utilisateurs', 'cadoles_core_config_datausers', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
|
||||
(1200, NULL, 1200, 'ORGANISATION', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
@ -71,6 +72,7 @@ INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type
|
||||
('004', 1, 1, 1, 'logo', 'logo', 'uploads/logo/logo.png', '', 'Le logo de votre site'),
|
||||
('005', 0, 1, 0, 'theme', 'theme', '', '', 'Le theme de votre site'),
|
||||
('006', 0, 1, 0, 'datauser', 'datauser', '', '', 'Parametrage des champs utilisateurs : obligatoire / facultatif / caché'),
|
||||
('007', 0, 1, 0, 'datausers', 'datausers', '', '', 'Parametrage des colonnes visible dans la liste des utilisateurs'),
|
||||
|
||||
('010', 1, 1, 1, 'boolean', 'fgforceconnect', '0', '', 'Forcer la connection afin de rendre votre site privé'),
|
||||
|
||||
@ -93,6 +95,7 @@ INSERT IGNORE permmodo (`route`, `visible`) VALUES
|
||||
('cadoles_core_config_commun',0),
|
||||
('cadoles_core_config_theme',0),
|
||||
('cadoles_core_config_datauser',0),
|
||||
('cadoles_core_config_datausers',0),
|
||||
('cadoles_core_config_whitelist',0),
|
||||
('cadoles_core_config_niveau01',0),
|
||||
('cadoles_core_config_niveau02',1),
|
||||
|
@ -5,6 +5,7 @@ namespace Cadoles\CoreBundle\Controller;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Form\FormError;
|
||||
|
||||
use Cadoles\CoreBundle\Entity\Config;
|
||||
use Cadoles\CoreBundle\Form\ConfigType;
|
||||
@ -242,8 +243,18 @@ class ConfigController extends Controller
|
||||
else {
|
||||
$fields=json_decode($fields, true);
|
||||
}
|
||||
|
||||
if($session->get('viewniveau02')&&!array_key_exists("niveau02",$fields))
|
||||
$fields["niveau02"]["perm"]=1;
|
||||
elseif(!$session->get('viewniveau02'))
|
||||
unset($fields["niveau02"]);
|
||||
|
||||
if(array_key_exists("niveau02",$fields))
|
||||
$fields["niveau02"]["label"]=$session->get('labelniveau02');
|
||||
|
||||
$form = $this->createForm(DatauserType::class,$config,array("fields" => $fields));
|
||||
|
||||
|
||||
$form = $this->createForm(DatauserType::class,$config,array("mode"=>"datauser","fields" => $fields));
|
||||
|
||||
// Récupération des data du formulaire
|
||||
$form->handleRequest($request);
|
||||
@ -266,7 +277,107 @@ class ConfigController extends Controller
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => true,
|
||||
'form' => $form->createView()
|
||||
'form' => $form->createView(),
|
||||
'mode' => "datauser"
|
||||
]);
|
||||
}
|
||||
|
||||
public function datausersAction(Request $request)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$session=$this->get('session');
|
||||
$config=$em->getRepository('CadolesCoreBundle:Config')->find("datausers");
|
||||
$fields=$config->getValue();
|
||||
|
||||
if($fields=="") {
|
||||
// Valeur par défaut 0=caché / 3=visible
|
||||
$fields["avatar"]["perm"]=1;
|
||||
$fields["avatar"]["label"]="Avatar";
|
||||
|
||||
$fields["login"]["perm"]=1;
|
||||
$fields["login"]["label"]="Login";
|
||||
|
||||
$fields["lastname"]["perm"]=1;
|
||||
$fields["lastname"]["label"]="Nom";
|
||||
|
||||
$fields["firstname"]["perm"]=1;
|
||||
$fields["firstname"]["label"]="Prenom";
|
||||
|
||||
$fields["email"]["perm"]=1;
|
||||
$fields["email"]["label"]="Email";
|
||||
|
||||
$fields["niveau01"]["perm"]=1;
|
||||
$fields["niveau01"]["label"]="Niveau 01";
|
||||
|
||||
$fields["niveau02"]["perm"]=1;
|
||||
$fields["niveau02"]["label"]="Niveau 02";
|
||||
|
||||
$fields["group"]["perm"]=1;
|
||||
$fields["group"]["label"]="Groupes";
|
||||
|
||||
$fields["role"]["perm"]=1;
|
||||
$fields["role"]["label"]="Rôles";
|
||||
}
|
||||
else {
|
||||
$fields=json_decode($fields, true);
|
||||
}
|
||||
|
||||
$fields["niveau01"]["label"]=$session->get('labelniveau01');
|
||||
if($session->get('viewniveau02')&&!array_key_exists("niveau02",$fields))
|
||||
$fields["niveau02"]["perm"]=1;
|
||||
elseif(!$session->get('viewniveau02'))
|
||||
unset($fields["niveau02"]);
|
||||
|
||||
if(array_key_exists("niveau02",$fields))
|
||||
$fields["niveau02"]["label"]=$session->get('labelniveau02');
|
||||
|
||||
|
||||
|
||||
$form = $this->createForm(DatauserType::class,$config,array("mode"=>"datausers","fields" => $fields));
|
||||
|
||||
// Récupération des data du formulaire
|
||||
$form->handleRequest($request);
|
||||
|
||||
if ($form->get('submit')->isClicked()) {
|
||||
$onevisible=false;
|
||||
foreach($fields as $key => $value) {
|
||||
$perm = $form->get($key)->getData();
|
||||
$fields[$key]["perm"]=$perm;
|
||||
if($perm==1) $onevisible=true;
|
||||
}
|
||||
|
||||
if(!$onevisible)
|
||||
$form->addError(new FormError('Au moins une colonne doit être visible'));
|
||||
|
||||
if ($form->get('submit')->isClicked() && !$form->isValid()) {
|
||||
$this->get('session')->getFlashBag()->clear();
|
||||
$validator = $this->get('validator');
|
||||
$errors = $validator->validate($config);
|
||||
foreach( $errors as $error ) {
|
||||
$request->getSession()->getFlashBag()->add("error", $error->getMessage());
|
||||
}
|
||||
|
||||
$errors = $form->getErrors();
|
||||
foreach( $errors as $error ) {
|
||||
$request->getSession()->getFlashBag()->add("error", $error->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($form->get('submit')->isClicked() && $form->isValid()) {
|
||||
$json=json_encode($fields);
|
||||
$config->setValue($json);
|
||||
$em->persist($config);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
|
||||
return $this->render('CadolesCoreBundle:Config:datauser.html.twig',[
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => true,
|
||||
'form' => $form->createView(),
|
||||
'mode' => "datausers"
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -13,22 +13,45 @@ class CoreController extends Controller
|
||||
{
|
||||
public function homeAction(Request $request)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$user=$this->getUser();
|
||||
|
||||
$portal_activate=$this->getParameter("portal_activate");
|
||||
|
||||
if(!$portal_activate) {
|
||||
return $this->render('CadolesCoreBundle:Core:home.html.twig',[
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => false,
|
||||
]);
|
||||
$item_activate=$this->getParameter("item_activate");
|
||||
|
||||
$bookmarks=null;
|
||||
$items=null;
|
||||
$itemcategorys=null;
|
||||
|
||||
if($item_activate) {
|
||||
$em->getRepository("CadolesPortalBundle:Item")->getUserItems($user,$bookmarks,$items,$itemcategorys);
|
||||
return $this->render('CadolesPortalBundle:Page:noportal.html.twig',[
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => false,
|
||||
'item_activate' => $item_activate,
|
||||
'bookmarks' => $bookmarks,
|
||||
'items' => $items,
|
||||
'itemcategorys' => $itemcategorys
|
||||
]);
|
||||
}
|
||||
else {
|
||||
return $this->render('CadolesCoreBundle:Core:home.html.twig',[
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => false,
|
||||
]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
|
||||
// Récupération de la page encours
|
||||
$id = $request->query->get('id');
|
||||
|
||||
// L'utilisateur en cours
|
||||
$user=$this->getUser();
|
||||
|
||||
|
||||
// Chargement des chartes à signer
|
||||
if($user) {
|
||||
@ -43,8 +66,45 @@ class CoreController extends Controller
|
||||
'notices' => $notices
|
||||
]);
|
||||
}
|
||||
|
||||
// On s'assure que l'ensemble des champs user obligatoire sont bien renseignés sinon bascule sur le profil
|
||||
$config=$em->getRepository('CadolesCoreBundle:Config')->find("datauser");
|
||||
$fields=$config->getValue();
|
||||
$fields=json_decode($fields,true);
|
||||
$toprofil=false;
|
||||
if($fields!="") {
|
||||
foreach($fields as $key => $field) {
|
||||
// Si champs obligatoire
|
||||
if($field["perm"]==2) {
|
||||
switch($key) {
|
||||
case "firstname": if($user->getFirstname()=="") $toprofil=true; break;
|
||||
case "visible": if($user->getVisible()=="") $toprofil=true; break;
|
||||
case "authlevel": if($user->getAuthlevel()=="") $toprofil=true; break;
|
||||
case "belongingpopulation": if($user->getBelongingpopulation()=="") $toprofil=true; break;
|
||||
case "job": if($user->getJob()=="") $toprofil=true; break;
|
||||
case "position": if($user->getPosition()=="") $toprofil=true; break;
|
||||
case "niveau02": if($user->geNiveau02()=="") $toprofil=true; break;
|
||||
case "usualname": if($user->getUsualname()=="") $toprofil=true; break;
|
||||
case "gender": if($user->getGender()=="") $toprofil=true; break;
|
||||
case "givensname": if($user->getGivensname()=="") $toprofil=true; break;
|
||||
case "telephonenumber": if($user->getTelephonenumber()=="") $toprofil=true; break;
|
||||
case "postaladress": if($user->getPostaladress()=="") $toprofil=true; break;
|
||||
case "birthdate": if($user->getBirthdate()=="") $toprofil=true; break;
|
||||
case "birthcountry": if($user->getBirthcountry()=="") $toprofil=true; break;
|
||||
case "birthplace": if($user->getBirthplace()=="") $toprofil=true; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($toprofil) {
|
||||
return $this->redirect($this->generateUrl('cadoles_core_profil',array("info"=>"Merci de compléter votre profil")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Calcul des pages de l'utilisateur
|
||||
$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,$id,$entity,$pagesuser,$pagesadmin,$pagesshared);
|
||||
|
@ -35,11 +35,17 @@ class UserController extends Controller
|
||||
|
||||
public function listAction($access)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$config=$em->getRepository('CadolesCoreBundle:Config')->find("datausers");
|
||||
$fields=$config->getValue();
|
||||
$fields=json_decode($fields,true);
|
||||
|
||||
return $this->render('CadolesCoreBundle:User:list.html.twig',[
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => ($access=="config"),
|
||||
'access' => $access
|
||||
'access' => $access,
|
||||
'fields' => $fields
|
||||
]);
|
||||
}
|
||||
|
||||
@ -347,6 +353,7 @@ class UserController extends Controller
|
||||
public function updateAction($id,$access,Request $request)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$info = $request->query->get('info');
|
||||
|
||||
// Récupération de l'enregistrement courant
|
||||
$data=$this->getData($id);
|
||||
@ -502,7 +509,8 @@ class UserController extends Controller
|
||||
'access' => $access,
|
||||
'listgroups' => $this->getListGroups($access),
|
||||
'listmodos' => $this->getListModos(),
|
||||
'form' => $form->createView()
|
||||
'form' => $form->createView(),
|
||||
'info' => $info,
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -103,7 +103,7 @@
|
||||
$viewniveau02 =$this->container->getParameter('viewniveau02');
|
||||
$iconniveau02 =$this->container->getParameter('iconniveau02');
|
||||
$labelsniveau02 =$this->container->getParameter('labelsniveau02');
|
||||
$labelniveau02 =$this->container->getParameter('labelsniveau02');
|
||||
$labelniveau02 =$this->container->getParameter('labelniveau02');
|
||||
$session->set('viewniveau02',$viewniveau02);
|
||||
$session->set('labelniveau02',$labelniveau02);
|
||||
|
||||
|
@ -84,11 +84,7 @@ class syncGroup implements EventSubscriber
|
||||
if(count($results)) {
|
||||
$ldap->deleteGroup($group);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->delGroup($group);
|
||||
}
|
||||
}
|
||||
|
||||
public function upsertGroup($group, $force = false)
|
||||
@ -113,11 +109,7 @@ class syncGroup implements EventSubscriber
|
||||
else {
|
||||
$ldap->addGroup($group);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->syncGroup($group,$this->oldid);
|
||||
}
|
||||
}
|
||||
|
||||
public function getBaseGroup() {
|
||||
|
@ -103,11 +103,7 @@ class syncNiveau01 implements EventSubscriber
|
||||
if(count($results)) {
|
||||
$ldap->deleteNiveau01($niveau01);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->delNiveau01($niveau01);
|
||||
}
|
||||
}
|
||||
|
||||
public function upsertNiveau01($niveau01, $force = false)
|
||||
@ -135,10 +131,6 @@ class syncNiveau01 implements EventSubscriber
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->syncNiveau01($niveau01,$this->oldid);
|
||||
}
|
||||
|
||||
public function getBaseNiveau01() {
|
||||
|
@ -102,11 +102,7 @@ class syncNiveau02 implements EventSubscriber
|
||||
if(count($results)) {
|
||||
$ldap->deleteNiveau02($niveau02);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->delNiveau02($niveau02);
|
||||
}
|
||||
}
|
||||
|
||||
public function upsertNiveau02($niveau02, $force = false)
|
||||
@ -131,11 +127,7 @@ class syncNiveau02 implements EventSubscriber
|
||||
else {
|
||||
$ldap->addNiveau02($niveau02);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->syncNiveau02($niveau02,$this->oldid);
|
||||
}
|
||||
}
|
||||
|
||||
public function getBaseNiveau02() {
|
||||
|
@ -113,11 +113,7 @@ class syncUser implements EventSubscriber
|
||||
if(count($results)) {
|
||||
$ldap->deleteUser($user);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->delUser($user);
|
||||
}
|
||||
}
|
||||
|
||||
public function upsertUser($user, $force = false)
|
||||
@ -142,10 +138,6 @@ class syncUser implements EventSubscriber
|
||||
$ldap->addGroupUser($user);
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->syncUser($user);
|
||||
|
||||
// On ajoute l'utilisateur au groupe 'Tout le Monde' quoi qu'il arrive
|
||||
$fgall=$this->em->getRepository('CadolesCoreBundle:Group')->findBy(array('fgall'=>true));
|
||||
if($fgall) {
|
||||
|
@ -82,11 +82,7 @@ class syncUserGroup implements EventSubscriber
|
||||
if(count($results)) {
|
||||
$ldap->delUserGroup($group);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->delUserGroup($group);
|
||||
}
|
||||
}
|
||||
|
||||
public function upsertGroup($group, $force = false)
|
||||
@ -104,11 +100,7 @@ class syncUserGroup implements EventSubscriber
|
||||
if(count($results) > 0) {
|
||||
$ldap->addUserGroup($group);
|
||||
}
|
||||
}
|
||||
|
||||
$eportail = $this->container->get('cadoles.core.service.eportail');
|
||||
if($eportail->isEnabled())
|
||||
$eportail->addUserGroup($group);
|
||||
}
|
||||
}
|
||||
|
||||
public function getBaseGroup() {
|
||||
|
@ -34,17 +34,25 @@ class DatauserType extends AbstractType
|
||||
|
||||
|
||||
foreach($options["fields"] as $key => $field) {
|
||||
if($key=="birthplace")
|
||||
$choices=array(
|
||||
"Falcultatif" => 1,
|
||||
"Caché" => 0,
|
||||
);
|
||||
else
|
||||
$choices=array(
|
||||
"Obligatoire" => 2,
|
||||
"Falcultatif" => 1,
|
||||
"Caché" => 0,
|
||||
);
|
||||
if($options["mode"]=="datauser") {
|
||||
if($key=="birthplace")
|
||||
$choices=array(
|
||||
"Falcultatif" => 1,
|
||||
"Caché" => 0,
|
||||
);
|
||||
else
|
||||
$choices=array(
|
||||
"Obligatoire" => 2,
|
||||
"Falcultatif" => 1,
|
||||
"Caché" => 0,
|
||||
);
|
||||
}
|
||||
else {
|
||||
$choices=array(
|
||||
"Visible" => 1,
|
||||
"Caché" => 0,
|
||||
);
|
||||
}
|
||||
|
||||
$builder->add($key, ChoiceType::class,
|
||||
array("label" => $field["label"],
|
||||
@ -63,8 +71,9 @@ class DatauserType extends AbstractType
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults(array(
|
||||
'data_class' => 'Cadoles\CoreBundle\Entity\Config',
|
||||
'fields' => "array",
|
||||
'data_class' => 'Cadoles\CoreBundle\Entity\Config',
|
||||
'mode' => 'string',
|
||||
'fields' => "array",
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -161,6 +161,10 @@ cadoles_core_config_datauser:
|
||||
path: /config/commun/datauser
|
||||
defaults: { _controller: CadolesCoreBundle:Config:datauser }
|
||||
|
||||
cadoles_core_config_datausers:
|
||||
path: /config/commun/datausers
|
||||
defaults: { _controller: CadolesCoreBundle:Config:datausers }
|
||||
|
||||
#== Registration =========================================================================================================
|
||||
#-- Access config
|
||||
cadoles_core_config_registration:
|
||||
|
@ -1,23 +1,28 @@
|
||||
services:
|
||||
cadoles.core.session.listener:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\sessionListener
|
||||
arguments: ['@service_container','@doctrine.orm.entity_manager',"@security.token_storage"]
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: kernel.request, method: onDomainParse }
|
||||
|
||||
cadoles.core.upload.listener:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\uploadListener
|
||||
arguments: ["@doctrine.orm.entity_manager","@security.token_storage","@session"]
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: oneup_uploader.post_persist, method: onUpload }
|
||||
|
||||
cadoles.core.upload.namer.same:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\uploadSameNamer
|
||||
|
||||
cadoles.core.password.encoder:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\passwordEncoder
|
||||
|
||||
cadoles.core.sync.user:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\syncUser
|
||||
arguments:
|
||||
- "@service_container"
|
||||
@ -28,6 +33,7 @@ services:
|
||||
- [setBaseUser, ["%ldap_baseuser%"]]
|
||||
|
||||
cadoles.core.sync.niveau01:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\syncNiveau01
|
||||
arguments:
|
||||
- "@service_container"
|
||||
@ -38,6 +44,7 @@ services:
|
||||
- [setBaseNiveau01, ["%ldap_baseNiveau01%"]]
|
||||
|
||||
cadoles.core.sync.niveau02:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\syncNiveau02
|
||||
arguments:
|
||||
- "@service_container"
|
||||
@ -48,6 +55,7 @@ services:
|
||||
- [setBaseNiveau02, ["%ldap_baseniveau02%"]]
|
||||
|
||||
cadoles.core.sync.group:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\syncGroup
|
||||
arguments:
|
||||
- "@service_container"
|
||||
@ -58,6 +66,7 @@ services:
|
||||
- [setBaseGroup, ["%ldap_basegroup%"]]
|
||||
|
||||
cadoles.core.sync.usergroup:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\syncUserGroup
|
||||
arguments:
|
||||
- "@service_container"
|
||||
@ -68,6 +77,7 @@ services:
|
||||
- [setBaseGroup, ["%ldap_basegroup%"]]
|
||||
|
||||
cadoles.core.service.ldap:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\ldapService
|
||||
arguments:
|
||||
- %ldap_host%
|
||||
@ -82,30 +92,25 @@ services:
|
||||
- [setBaseGroup, ["%ldap_basegroup%"]]
|
||||
- [setLdapSync, ["%ldap_sync%","%masteridentity%"]]
|
||||
|
||||
cadoles.core.service.eportail:
|
||||
class: Cadoles\CoreBundle\Service\eportailService
|
||||
arguments:
|
||||
- "@doctrine"
|
||||
calls:
|
||||
- [setEportailSync, ["%eportail_sync%","%masteridentity%"]]
|
||||
- [setLabelniveau01, ["%labelniveau01%"]]
|
||||
- [setLabelniveau02, ["%labelniveau02%"]]
|
||||
|
||||
cadoles.core.service.mail:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\mailService
|
||||
arguments: ["@mailer", "@twig"]
|
||||
|
||||
cadoles.core.service.color:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\colorService
|
||||
arguments: ['@service_container']
|
||||
|
||||
cadoles.core.icon_choice_type:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Form\IconChoiceType
|
||||
arguments: ["%kernel.root_dir%/../web/bundles/cadolescore/css/font-awesome.css"]
|
||||
tags:
|
||||
- { name: form.type }
|
||||
|
||||
cadoles.saml_user_mapper:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\samlUserMapperService
|
||||
arguments:
|
||||
- "@=service('doctrine').getManager()"
|
||||
@ -113,6 +118,7 @@ services:
|
||||
- "@session"
|
||||
|
||||
cadoles.saml_user_creator:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\samlUserCreatorService
|
||||
arguments:
|
||||
- "@=service('doctrine').getManager()"
|
||||
@ -120,4 +126,5 @@ services:
|
||||
- "@session"
|
||||
|
||||
cadoles.saml_attribute_mapper:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\samlAttributeMapperService
|
@ -3,7 +3,11 @@
|
||||
{% block pagewrapper %}
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
Paramétrage de la Fiche Utilisateur
|
||||
{% if mode=="datauser" %}
|
||||
Paramétrage de la Fiche Utilisateur
|
||||
{% else %}
|
||||
Paramétrage de la Listes des Utilisateurs
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
{{ form_widget(form.submit) }}
|
||||
|
@ -30,6 +30,7 @@
|
||||
{{ flashMessage }}<br>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
{% if app.session.flashbag.has('notice') %}
|
||||
@ -39,8 +40,18 @@
|
||||
{{ flashMessage }}<br>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
{% if info %}
|
||||
<div class='alert alert-info' style='margin: 5px 0px'>
|
||||
<strong>Information</strong><br>
|
||||
{{ info }}<br>
|
||||
</div>
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div style="width:90px; margin:auto;">
|
||||
<img id="user_avatar_img" src="/{{ alias }}/uploads/avatar/{{ user.avatar }}" class="avatar big" >
|
||||
|
@ -27,17 +27,17 @@
|
||||
{% if access=="config" %}
|
||||
<th width="90px" class="no-sort">Action</th>
|
||||
{% endif %}
|
||||
<th width="70px" class="no-sort">Avatar</th>
|
||||
<th width="200px">Login</th>
|
||||
<th>Nom</th>
|
||||
<th>Prénom</th>
|
||||
<th>Email</th>
|
||||
<th>{{ labelniveau01 }}</th>
|
||||
<th width="70px" class="no-sort {% if fields["avatar"].perm==0 %}no-visible{% endif %}">Avatar</th>
|
||||
<th width="200px class=="{% if fields["login"].perm==0 %}no-visible{% endif %}">Login</th>
|
||||
<th class="{% if fields["lastname"].perm==0 %}no-visible{% endif %}">Nom</th>
|
||||
<th class="{% if fields["firstname"].perm==0 %}no-visible{% endif %}">Prénom</th>
|
||||
<th class="{% if fields["email"].perm==0 %}no-visible{% endif %}">Email</th>
|
||||
<th class="{% if fields["niveau01"].perm==0 %}no-visible{% endif %}">{{ labelniveau01 }}</th>
|
||||
{% if viewniveau02 %}
|
||||
<th class="no-sort">{{ labelniveau02 }}</th>
|
||||
<th class="no-sort {% if fields["niveau02"].perm==0 %}no-visible{% endif %}">{{ labelniveau02 }}</th>
|
||||
{% endif %}
|
||||
<th class="no-sort">Groupes</th>
|
||||
<th>Rôle</th>
|
||||
<th class="no-sort {% if fields["group"].perm==0 %}no-visible{% endif %}">Groupes</th>
|
||||
<th class="{% if fields["role"].perm==0 %}no-visible{% endif %}">Rôle</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
@ -58,7 +58,7 @@
|
||||
{% endif %}
|
||||
|
||||
$('#dataTables').DataTable({
|
||||
columnDefs: [ { "targets": 'no-sort', "orderable": false } ],
|
||||
columnDefs: [ { "targets": 'no-sort', "orderable": false },{ "targets": 'no-visible', "visible": false } ],
|
||||
responsive: true,
|
||||
iDisplayLength: 100,
|
||||
processing: true,
|
||||
|
@ -1,439 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Cadoles\CoreBundle\Service;
|
||||
|
||||
use Cadoles\CoreBundle\Entity\User;
|
||||
use Cadoles\CoreBundle\Entity\Niveau01;
|
||||
use Cadoles\CoreBundle\Entity\Niveau02;
|
||||
use Cadoles\CoreBundle\Entity\Group;
|
||||
use Cadoles\CoreBundle\Entity\UserGroup;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
|
||||
if(file_exists("/var/www/html/eportail/include/delete.php")) {
|
||||
include("/var/www/html/eportail/include/delete.php");
|
||||
}
|
||||
|
||||
global $bdd01;
|
||||
global $config;
|
||||
|
||||
class eportailService
|
||||
{
|
||||
protected $dbeportail;
|
||||
protected $doctrine;
|
||||
|
||||
|
||||
private $eportailSync = false;
|
||||
private $labelniveau01 = "SERVICE";
|
||||
private $labelniveau02 = "ETAB";
|
||||
|
||||
public function __construct($doctrine)
|
||||
{
|
||||
$this->doctrine=$doctrine;
|
||||
}
|
||||
|
||||
public function isEnabled() {
|
||||
return $this->eportailSync;
|
||||
}
|
||||
|
||||
//==================================================================================================================================================================
|
||||
//== Function User==================================================================================================================================================
|
||||
//==================================================================================================================================================================
|
||||
|
||||
public function syncUser(User $user) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
$sql = "SELECT user_id FROM env_user WHERE user_login=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($user->getUsername()));
|
||||
|
||||
// Correspondance profil core = profil eportail
|
||||
switch($user->getRole()) {
|
||||
case "ROLE_ADMIN":
|
||||
$profil=1;
|
||||
break;
|
||||
|
||||
case "ROLE_MODO":
|
||||
$profil=2;
|
||||
break;
|
||||
|
||||
case "ROLE_VALIDATOR":
|
||||
$profil=50;
|
||||
break;
|
||||
|
||||
case "ROLE_MANAGER":
|
||||
$profil=50;
|
||||
break;
|
||||
|
||||
case "ROLE_USER":
|
||||
$profil=50;
|
||||
break;
|
||||
}
|
||||
// Si existe modification
|
||||
if($row=$query->fetch()){
|
||||
echo "modif";
|
||||
$sql="UPDATE env_user SET user_password=?, user_lastname=?, user_firstname=?, user_pseudo=?, user_email=?, user_avatar=?, user_profil=? WHERE user_login=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array(
|
||||
$user->getPassword(),
|
||||
$user->getLastname(),
|
||||
$user->getFirstname(),
|
||||
$user->getFirstname()." ".$user->getLastname(),
|
||||
$user->getEmail(),
|
||||
$user->getAvatar(),
|
||||
$profil,
|
||||
$user->getUsername()
|
||||
));
|
||||
}
|
||||
// Sinon création
|
||||
else {
|
||||
$sql="INSERT INTO env_user(user_login, user_password, user_lastname, user_firstname, user_pseudo, user_email, user_avatar, user_profil) VALUES(?,?,?,?,?,?,?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array(
|
||||
$user->getUsername(),
|
||||
$user->getPassword(),
|
||||
$user->getLastname(),
|
||||
$user->getFirstname(),
|
||||
$user->getFirstname()." ".$user->getLastname(),
|
||||
$user->getEmail(),
|
||||
$user->getAvatar(),
|
||||
$profil
|
||||
));
|
||||
}
|
||||
|
||||
// Ratacchement utilisateur group
|
||||
$this->defineGroupUser($user);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function delUser(User $user) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// On recherche l'utilisateur eportail
|
||||
$sql = "SELECT user_id FROM env_user WHERE user_login=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($user->getUsername()));
|
||||
|
||||
// Si existe suppression
|
||||
if($row=$query->fetch()){
|
||||
delUser($row["user_id"]);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//==================================================================================================================================================================
|
||||
//== Function Niveau01==============================================================================================================================================
|
||||
//==================================================================================================================================================================
|
||||
|
||||
public function syncNiveau01(Niveau01 $niveau01, $oldid) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// Renommage du précédent groupe
|
||||
if(isset($oldid)&&$oldid!=$niveau01->getLabel()) {
|
||||
$sql="UPDATE env_group SET group_name=? WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array(
|
||||
$this->labelniveau01." = ".$niveau01->getLabel(),
|
||||
$this->labelniveau01." = ".$oldid));
|
||||
}
|
||||
|
||||
// On recherche le groupe à insérer / modifier
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau01." = ".$niveau01->getLabel()));
|
||||
|
||||
// Si existe modification = rien à faire normalement
|
||||
// Sinon création
|
||||
if(!$row=$query->fetch()){
|
||||
$sql="INSERT INTO env_group(group_name, group_type, group_user) VALUES(?,?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau01." = ".$niveau01->getLabel(),4,-1));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function delNiveau01(Niveau01 $niveau01) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// On recherche le groupe eportail
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau01." = ".$niveau01->getLabel()));
|
||||
|
||||
// Si existe suppression
|
||||
if($row=$query->fetch()){
|
||||
delGroup($row["group_id"]);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//==================================================================================================================================================================
|
||||
//== Function Niveau02==============================================================================================================================================
|
||||
//==================================================================================================================================================================
|
||||
|
||||
public function syncNiveau02(Niveau02 $niveau02, $oldid) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// Renommage du précédent groupe
|
||||
if(isset($oldid)&&$oldid!=$niveau02->getLabel()) {
|
||||
$sql="UPDATE env_group SET group_name=? WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array(
|
||||
$this->labelniveau02." = ".$niveau02->getLabel(),
|
||||
$this->labelniveau02." = ".$oldid));
|
||||
}
|
||||
|
||||
// On recherche le groupe à insérer / modifier
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau02." = ".$niveau02->getLabel()));
|
||||
|
||||
// Si existe modification = rien à faire normalement
|
||||
// Sinon création
|
||||
if(!$row=$query->fetch()){
|
||||
$sql="INSERT INTO env_group(group_name, group_type, group_user) VALUES(?,?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau02." = ".$niveau02->getLabel(),4,-1));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function delNiveau02(Niveau02 $niveau02) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// On recherche le groupe eportail
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau02." = ".$niveau02->getLabel()));
|
||||
|
||||
// Si existe suppression
|
||||
if($row=$query->fetch()){
|
||||
delGroup($row["group_id"]);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//==================================================================================================================================================================
|
||||
//== Function Groupe================================================================================================================================================
|
||||
//==================================================================================================================================================================
|
||||
|
||||
public function syncGroup(Group $group, $oldid) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// Renommage du précédent groupe
|
||||
if(isset($oldid)&&$oldid!=$group->getLabel()) {
|
||||
$sql="UPDATE env_group SET group_name=? WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array(
|
||||
"GROUPE = ".$group->getLabel(),
|
||||
"GROUPE = ".$oldid));
|
||||
}
|
||||
|
||||
// On recherche le groupe à insérer / modifier
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array("GROUPE = ".$group->getLabel()));
|
||||
|
||||
// Si existe modification = rien à faire normalement
|
||||
// Sinon création
|
||||
if(!$row=$query->fetch()){
|
||||
$sql="INSERT INTO env_group(group_name, group_type, group_user) VALUES(?,?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array("GROUPE = ".$group->getLabel(),4,-1));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function delGroup(Group $group) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// On recherche le groupe eportail
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array("GROUPE = ".$group->getLabel()));
|
||||
|
||||
|
||||
// Si existe suppression
|
||||
if($row=$query->fetch()){
|
||||
delGroup($row["group_id"]);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//==================================================================================================================================================================
|
||||
//== Function GroupUser=============================================================================================================================================
|
||||
//==================================================================================================================================================================
|
||||
|
||||
public function defineGroupUser(User $user) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// Recherche de l'utilisateur
|
||||
$sql = "SELECT user_id FROM env_user WHERE user_login=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($user->getUsername()));
|
||||
|
||||
if($row=$query->fetch()){
|
||||
$id=$row["user_id"];
|
||||
|
||||
// On supprime l'ensemble des liens utilisateur / groupe
|
||||
$q="DELETE FROM env_group_user WHERE group_user_user=?";
|
||||
$query=$this->dbeportail->prepare($q);
|
||||
$query->execute(array($id));
|
||||
|
||||
// On regènere son rattachement niveau01
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau01." = ".$user->getNiveau01()->getLabel()));
|
||||
if($row=$query->fetch()){
|
||||
$sql="INSERT INTO env_group_user(group_user_group, group_user_user) VALUES(?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($row["group_id"],$id));
|
||||
}
|
||||
|
||||
// On regènere son rattachement etablissement
|
||||
if($user->getNiveau02()!==null) {
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($this->labelniveau02." = ".$user->getNiveau02()->getLabel()));
|
||||
if($row=$query->fetch()){
|
||||
$sql="INSERT INTO env_group_user(group_user_group, group_user_user) VALUES(?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($row["group_id"],$id));
|
||||
}
|
||||
}
|
||||
|
||||
// On regènere son rattachement aux groupes
|
||||
$groups=$user->getGroups();
|
||||
if($groups) {
|
||||
foreach($groups as $usergroup) {
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array("GROUPE = ".$usergroup->getGroup()->getLabel()));
|
||||
if($row=$query->fetch()){
|
||||
$sql="INSERT INTO env_group_user(group_user_group, group_user_user) VALUES(?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($row["group_id"],$id));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function delUserGroup(UserGroup $usergroup) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// Recherche de l'utilisateur
|
||||
$sql = "SELECT user_id FROM env_user WHERE user_login=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($usergroup->getUser()->getUsername()));
|
||||
|
||||
if($row=$query->fetch()){
|
||||
$iduser=$row["user_id"];
|
||||
|
||||
// Recherche du groupe
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array("GROUPE = ".$usergroup->getGroup()->getLabel()));
|
||||
if($row=$query->fetch()){
|
||||
$idgroup=$row["group_id"];
|
||||
|
||||
// Suppression du rattachement
|
||||
$sql="DELETE FROM env_group_user WHERE group_user_group=? AND group_user_user=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($idgroup,$iduser));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function addUserGroup(UserGroup $usergroup) {
|
||||
global $bdd01;
|
||||
global $config;
|
||||
$bdd01=$this->dbeportail;
|
||||
$config["dbprefixe"]="env_";
|
||||
|
||||
// Recherche de l'utilisateur
|
||||
$sql = "SELECT user_id FROM env_user WHERE user_login=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($usergroup->getUser()->getUsername()));
|
||||
|
||||
if($row=$query->fetch()){
|
||||
$iduser=$row["user_id"];
|
||||
|
||||
// Recherche du groupe
|
||||
$sql = "SELECT group_id FROM env_group WHERE group_name=?";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array("GROUPE = ".$usergroup->getGroup()->getLabel()));
|
||||
if($row=$query->fetch()){
|
||||
$idgroup=$row["group_id"];
|
||||
|
||||
// Création du rattachement
|
||||
$sql="INSERT INTO env_group_user(group_user_group, group_user_user) VALUES(?,?)";
|
||||
$query = $this->dbeportail->prepare($sql);
|
||||
$query->execute(array($idgroup,$iduser));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//==================================================================================================================================================================
|
||||
//== Init du Service Synfony========================================================================================================================================
|
||||
//==================================================================================================================================================================
|
||||
|
||||
public function setEportailSync($eportailSync,$masteridentity) {
|
||||
$this->eportailSync = ($eportailSync&&($masteridentity=="SQL"));
|
||||
if($eportailSync)
|
||||
$this->dbeportail = $this->doctrine->getManager('eportail')->getConnection();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setLabelniveau01($labelniveau01) {
|
||||
setlocale( LC_CTYPE, 'fr_FR' );
|
||||
$this->labelniveau01 = mb_strtoupper($labelniveau01);
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setLabelniveau02($labelniveau02) {
|
||||
setlocale( LC_CTYPE, 'fr_FR' );
|
||||
$this->labelniveau02 = mb_strtoupper($labelniveau02);
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
services:
|
||||
cadoles.cron.service.mail:
|
||||
public: true
|
||||
class: Cadoles\CronBundle\Service\mailService
|
||||
arguments: ["@mailer", "@twig"]
|
||||
|
@ -12,6 +12,7 @@ use Symfony\Component\Validator\Constraints as Assert;
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="item")
|
||||
* @ORM\HasLifecycleCallbacks
|
||||
* @ORM\Entity(repositoryClass="Cadoles\PortalBundle\Repository\ItemRepository")
|
||||
*/
|
||||
class Item
|
||||
{
|
||||
|
@ -0,0 +1,118 @@
|
||||
<?php
|
||||
|
||||
namespace Cadoles\PortalBundle\Repository;
|
||||
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
|
||||
class ItemRepository extends EntityRepository
|
||||
{
|
||||
public function getUserItems($user,&$bookmarks,&$itemsordered,&$itemcategorys,$iditemcategory=null,$withbookmark=1) {
|
||||
// Profilage
|
||||
$roles=($user?$user->getRoles():["ROLE_ANONYME"]);
|
||||
$groups=($user?$user->getGroups():[]);
|
||||
$niveau01=($user?$user->getNiveau01():[]);
|
||||
|
||||
|
||||
|
||||
// Bookmark de l'utilisateur
|
||||
$bookmarks = array();
|
||||
if($user)
|
||||
$bookmarks=$this->getEntityManager()->getRepository("CadolesPortalBundle:Bookmark")->findBy(["user"=>$user]);
|
||||
|
||||
// Bookmark lié à un item
|
||||
$bookmarksitems=new ArrayCollection();
|
||||
foreach($bookmarks as $bookmark) {
|
||||
if($bookmark->getItem()) $bookmarksitems->add($bookmark->getItem());
|
||||
}
|
||||
|
||||
// Initialisation du calcul des items
|
||||
$items=new ArrayCollection();
|
||||
|
||||
// Récupération des items par rôles
|
||||
foreach($roles as $role) {
|
||||
$qb = $this->getEntityManager()->createQueryBuilder();
|
||||
$qb->select('item')
|
||||
->from("CadolesPortalBundle:Item", 'item')
|
||||
->where($qb->expr()->like('item.roles', $qb->expr()->literal("%$role%")));
|
||||
|
||||
if($iditemcategory && $itemcategoryfilter) {
|
||||
$qb->andWhere("item.itemcategory=:itemcategory")
|
||||
->setParameter("itemcategory",$itemcategoryfilter);
|
||||
}
|
||||
$itemsroles=$qb->getQuery()->getResult();
|
||||
foreach($itemsroles as $itemrole) {
|
||||
if(!$bookmarksitems->contains($itemrole) && !$items->contains($itemrole)) $items->add($itemrole);
|
||||
}
|
||||
}
|
||||
|
||||
// Récupération des items par group
|
||||
foreach($groups as $group) {
|
||||
$qb = $this->getEntityManager()->createQueryBuilder();
|
||||
$qb->select('item')
|
||||
->from("CadolesPortalBundle:Item", 'item')
|
||||
->where(":group MEMBER OF item.groups")
|
||||
->setParameter("group",$group->getGroup());
|
||||
|
||||
if($iditemcategory && $itemcategoryfilter) {
|
||||
$qb->andWhere("item.itemcategory=:itemcategory")
|
||||
->setParameter("itemcategory",$itemcategoryfilter);
|
||||
}
|
||||
$itemsgroups=$qb->getQuery()->getResult();
|
||||
|
||||
foreach($itemsgroups as $itemgroup) {
|
||||
if(!$bookmarksitems->contains($itemgroup) && !$items->contains($itemgroup)) $items->add($itemgroup);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Récupération des items par niveau01
|
||||
if($niveau01) {
|
||||
$qb = $this->getEntityManager()->createQueryBuilder();
|
||||
$qb->select('item')
|
||||
->from("CadolesPortalBundle:Item", 'item')
|
||||
->where(":niveau01 MEMBER OF item.niveau01s")
|
||||
->setParameter("niveau01",$niveau01);
|
||||
|
||||
if($iditemcategory && $itemcategoryfilter) {
|
||||
$qb->andWhere("item.itemcategory=:itemcategory")
|
||||
->setParameter("itemcategory",$itemcategoryfilter);
|
||||
}
|
||||
$itemsniveau01s=$qb->getQuery()->getResult();
|
||||
foreach($itemsniveau01s as $itemniveau01) {
|
||||
if(!$bookmarksitems->contains($itemniveau01) && !$items->contains($itemniveau01)) $items->add($itemniveau01);
|
||||
}
|
||||
}
|
||||
|
||||
// Trie des items
|
||||
$itemsordered = $items->getIterator();
|
||||
$itemsordered->uasort(function ($first, $second) {
|
||||
if((int) $first->getRowOrder() > (int) $second->getRowOrder())
|
||||
$return=1;
|
||||
elseif((int) $first->getRowOrder() == (int) $second->getRowOrder()) {
|
||||
if($first->getTitle() > $second->getTitle())
|
||||
$return=1;
|
||||
else
|
||||
$return=-1;
|
||||
}
|
||||
else
|
||||
$return=-1;
|
||||
|
||||
return $return;
|
||||
});
|
||||
|
||||
// Catégories affichées
|
||||
$itemcategorys = $this->getEntityManager()->getRepository('CadolesPortalBundle:Itemcategory')->findBy([], ['rowOrder' => 'asc']);
|
||||
if($iditemcategory && $itemcategoryfilter) $itemcategorys = $itemcategoryfilter;
|
||||
|
||||
switch($withbookmark) {
|
||||
// items uniquement
|
||||
case 1: $bookmarks=null; break;
|
||||
|
||||
// bookmarks uniquement
|
||||
case 2: $itemsordered=null; break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
services:
|
||||
Cadoles\PortalBundle\Form\PagewidgetType:
|
||||
public: true
|
||||
arguments: ['@service_container']
|
||||
tags:
|
||||
- { name: form.type }
|
@ -0,0 +1,334 @@
|
||||
|
||||
{% extends '@CadolesCore/base.html.twig' %}
|
||||
|
||||
{% set color = app.session.get('color') %}
|
||||
{% set colormain = color['main'] %}
|
||||
|
||||
{% block pagewrapper %}
|
||||
<div id="pagecontainer" style="margin: 0px -30px;"></div>
|
||||
<div id="gridtemplate" style="max-width:1500px; margin:auto; margin-bottom:30px">
|
||||
<div class="col-md-3">qsdfqsdfqsd</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
{% if bookmarks is not empty %}
|
||||
<div class="bookmark-container">
|
||||
{% if items is not empty %}
|
||||
<h3 class="grid-title" data-idcategory="bookmark" style="{{ colorbodyfont }}">Favoris</h3>
|
||||
{% else %}
|
||||
<p></p>
|
||||
{% endif %}
|
||||
<div class="grid clearfix">
|
||||
<div class="grid-sizer grid-small"></div>
|
||||
<div class="grid-gutter-sizer"></div>
|
||||
{% for bookmark in bookmarks %}
|
||||
<div class="grid-item grid-small">
|
||||
<div class="grid-item-content" style="background-color: {{ bookmark.color ? "#"~bookmark.color : '#'~colormain }};">
|
||||
<a style="cursor:pointer" onClick="modBookmark({{ bookmark.id }})" class="item-update"><i style="color: #FFF" class="fa fa-file" title="Modifier le favori"></i></a>
|
||||
|
||||
{% if bookmark.target == 'frame' %}
|
||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url }}')">
|
||||
{% elseif bookmark.target == "_self" %}
|
||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
||||
{% else %}
|
||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{{ bookmark.target }}">
|
||||
{% endif %}
|
||||
|
||||
<div class="item-link clearfix">
|
||||
<div class="grid-item-logo">
|
||||
{% if bookmark.icon %}
|
||||
<img class="grid-item-img" height="110" src="/{{ alias }}/{{ bookmark.icon.label }}">
|
||||
{% else %}
|
||||
<img class="grid-item-img" height="110" src="/{{ alias }}/uploads/icon/icon_pin.png">
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="grid-item-title">
|
||||
<h2>{{ bookmark.title }}</h2>
|
||||
<span>{{ bookmark.subtitle|nl2br }}</<span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="bookmark-container" style="display:none">
|
||||
<h3 class="grid-title" data-idcategory="bookmark"">Favoris</h3>
|
||||
<div class="grid clearfix">
|
||||
<div class="grid-sizer grid-small"></div>
|
||||
<div class="grid-gutter-sizer"></div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% set mycategs = [] %}
|
||||
{% for itemcategory in itemcategorys %}
|
||||
{% set haveitem=false %}
|
||||
|
||||
{% for item in items if item.itemcategory==itemcategory %}
|
||||
|
||||
{% if loop.index ==1 %}
|
||||
{% set mycategs = mycategs|merge({ (loop.index) : itemcategory}) %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for itemcategory in mycategs %}
|
||||
{% set haveitem=false %}
|
||||
|
||||
{% for item in items if item.itemcategory==itemcategory %}
|
||||
|
||||
{% if loop.index ==1 %}
|
||||
{% set haveitem=true %}
|
||||
|
||||
{% if mycategs|length > 1 or bookmarks is not empty %}
|
||||
<h3 class="grid-title" data-idcategory="{{ itemcategory.id }}">{{ itemcategory.label }}</h3>
|
||||
{% else %}
|
||||
<p></p>
|
||||
{% endif %}
|
||||
|
||||
<div class="grid clearfix">
|
||||
<div class="grid-sizer grid-small"></div>
|
||||
<div class="grid-gutter-sizer"></div>
|
||||
{% endif %}
|
||||
|
||||
<div class="grid-item grid-small" data-idcategory="{{ item.itemcategory.id }}" data-iditem="{{ item.id }}">
|
||||
<div class="grid-item-content" style="background-color: {{ item.color ? "#"~item.color : '#'~colormain }};">
|
||||
{% if item.content %}
|
||||
<a style="cursor:pointer" class="item-preview"><i style="color: #FFF" class="fa fa-info" title="Informations sur ce service"></i></a>
|
||||
{% endif %}
|
||||
|
||||
{% if item.protected and not app.user %}
|
||||
{% if mode_auth == "SAML" %}
|
||||
<a href="{{ path('lightsaml_sp.login') }}" {% if access=="user" %}target="_top"{% endif %}>
|
||||
{% elseif mode_auth == "CAS" %}
|
||||
<a href="{{ path('cas_sp.login') }}" {% if access=="user" %}target="_top"{% endif %}>
|
||||
{% elseif mode_auth == "MYSQL" %}
|
||||
<a href="{{ path('cnous_portal_user_login') }}" {% if access=="user" %}target="_top"{% endif %}>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
{% if item.target == 'frame' %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url }}')">
|
||||
{% elseif item.target == "_self" %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url }}" target="{% if access=="user" %}_top{% else %}{{ item.target }}{% endif %}">
|
||||
{% else %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url }}" target="{{ item.target }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<div class="item-link clearfix">
|
||||
<div class="grid-item-logo">
|
||||
{% if item.icon %}
|
||||
<img class="grid-item-img" height="110" src="/{{ alias }}/{{ item.icon.label }}">
|
||||
{% else %}
|
||||
<img class="grid-item-img" height="110" src="/{{ alias }}/uploads/icon/icon_pin.png">
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="grid-item-title">
|
||||
<h2>{{ item.title }}</h2>
|
||||
<span>{{ item.subtitle|nl2br }}</<span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="grid-item-body" style="display:none">
|
||||
{{ item.content|raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% if haveitem %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block localjavascript %}
|
||||
$('document').ready(function(){
|
||||
// Ajustement des frames
|
||||
$(window).resize(function() {
|
||||
AjustFrame();
|
||||
});
|
||||
|
||||
|
||||
// Création des grilles d'items
|
||||
var optiongrid={columnWidth: '.grid-sizer', itemSelector: '.grid-item', gutter: '.grid-gutter-sizer'};
|
||||
$('body').imagesLoaded(function() {
|
||||
var grid = $('.grid').masonry(optiongrid);
|
||||
});
|
||||
|
||||
// Preview item de bureau
|
||||
$( ".grid .item-preview" ).click(function() {
|
||||
if($(this).parent().children(".grid-item-body").css('display') == 'none') {
|
||||
$(this).html('<i style="color: #FFF" class="fa fa-minus" title="Informations sur ce service"></i>');
|
||||
heightbody=$(this).parent().children(".grid-item-body").height()+30;
|
||||
heightitem=$(this).parent().parent().height();
|
||||
|
||||
|
||||
$(this).parent().children(".grid-item-body").show();
|
||||
$(this).parent().parent().css("width","100%");
|
||||
|
||||
$(this).parent().parent().css("height",heightitem+heightbody);
|
||||
$(this).parent().children(".grid-item-content").css("height",heightitem+heightbody);
|
||||
$(this).parent().children(".item-preview").css("height",heightitem+heightbody);
|
||||
|
||||
var grid = $('.grid').masonry(optiongrid);
|
||||
}
|
||||
else {
|
||||
$(this).html('<i style="color: #FFF" class="fa fa-plus" title="Informations sur ce service"></i>');
|
||||
|
||||
$(this).parent().children(".grid-item-body").hide();
|
||||
$(this).parent().parent().css("width","");
|
||||
$(this).parent().parent().css("height","");
|
||||
$(this).parent().children(".grid-item-content").css("height","");
|
||||
$(this).parent().children(".item-preview").css("height","");
|
||||
|
||||
var grid = $('.grid').masonry(optiongrid);
|
||||
}
|
||||
});
|
||||
|
||||
// Sur click item à sonder
|
||||
{% if activate_widsonde %}
|
||||
$( ".linktosonde" ).click(function() {
|
||||
title=$(this).attr("data-sonde");
|
||||
$.getScript( "{{ widsonde_url }}?appli="+title );
|
||||
});
|
||||
{% endif %}
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Ajout d'un bookmark
|
||||
function addBookmark(idwidget,touser) {
|
||||
var url="{{ path('cadoles_portal_user_bookmark_submit',{idpage:0,idwidget:'xx',touser:'yy'})}}";
|
||||
url=url.replace('xx',idwidget);
|
||||
url=url.replace('yy',touser);
|
||||
|
||||
$(location).attr('href', url);
|
||||
}
|
||||
|
||||
// Modifciation d'un bookmark
|
||||
function modBookmark(idbookmark) {
|
||||
var url="{{ path('cadoles_portal_user_bookmark_update',{idpage:0,id:'xx'})}}";
|
||||
|
||||
url=url.replace('xx',idbookmark);
|
||||
$(location).attr('href', url);
|
||||
}
|
||||
|
||||
// Ajouter un item aux bookmark
|
||||
function heartBookmark(iditem) {
|
||||
var idbookmark;
|
||||
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "{{ path('cadoles_portal_user_bookmark_heart') }}",
|
||||
data: {
|
||||
iditem:iditem
|
||||
},
|
||||
success: function(idbookmark) {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Supprimer un fichier
|
||||
function delFile(directory,filename) {
|
||||
var r = confirm("Confirmez-vous la suppression de ce fichier ?");
|
||||
if (r == true) {
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "{{ path('cadoles_core_user_file_delete') }}",
|
||||
data: {
|
||||
directory:directory,
|
||||
filename:filename
|
||||
},
|
||||
success: function() {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Ajustement des frames
|
||||
function AjustFrame() {
|
||||
$('.frameajust').iframeAutoHeight({
|
||||
minHeight: 500, // Sets the iframe height to this value if the calculated value is less
|
||||
heightOffset: 0, // Optionally add some buffer to the bottom
|
||||
callback: function(callbackObject) { $(this).parent().css("height",callbackObject.newFrameHeight) ;}
|
||||
});
|
||||
|
||||
if($(".frameitem").length>0) {
|
||||
var heightbody = $('html').height();
|
||||
var heightheader = $('.header').height();
|
||||
if($('.pagemenu').css("display")=="none")
|
||||
var heightmenu = 0;
|
||||
else
|
||||
var heightmenu = $('.pagemenu').height();
|
||||
|
||||
var heightframe = heightbody-heightheader-heightmenu;
|
||||
|
||||
$(".frameitem").height(heightframe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Affichage d'un Flux
|
||||
function showFlux(idwidget, id) {
|
||||
if(id=="all")
|
||||
$(".widget[data-id="+idwidget+"]").find(".feed").show();
|
||||
else {
|
||||
$(".widget[data-id="+idwidget+"]").find(".feed").hide();
|
||||
$(".widget[data-id="+idwidget+"]").find(".flux-"+id).show();
|
||||
}
|
||||
|
||||
var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item'};
|
||||
var grid = $('.grid').masonry(optiongrid);
|
||||
}
|
||||
|
||||
// Affichage des frames associés aux items de bureau
|
||||
function resizeFrame() {
|
||||
var iFrame = document.getElementById('frameContent');
|
||||
|
||||
var heightbody = $('html').height();
|
||||
var heightheader = $('.header').height();
|
||||
if($('#appmenu').css("display")=="none")
|
||||
var heightmenu = 0;
|
||||
else
|
||||
var heightmenu = $('#appmenu').height();
|
||||
|
||||
|
||||
var heightframe = heightbody-heightheader-heightmenu;
|
||||
|
||||
$(".pageframe").each(function( index ) {
|
||||
$(this).height(heightframe);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function showFrameitem(id,url,forcereload) {
|
||||
$(".pageframe").hide();
|
||||
|
||||
// Si force le rechargement et frame existante on la détruit
|
||||
if(forcereload&&$("#frameitem-"+id).length)
|
||||
$("#frameitem-"+id).remove();
|
||||
|
||||
// Si la frame en cours existe déjà on l'affiche
|
||||
if($("#frameitem-"+id).length)
|
||||
$("#frameitem-"+id).show();
|
||||
// Sinon on la génère
|
||||
else
|
||||
$("#pagecontainer").append("<iframe id='frameitem-"+id+"' class='pageframe' src='"+url+"' style='border:none; width:100%'></iframe>");
|
||||
|
||||
|
||||
resizeFrame();
|
||||
}
|
||||
|
||||
{% endblock %}
|
@ -29,6 +29,7 @@ INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `f
|
||||
(1020, 1000, 1020, 'Thème', 'cadoles_core_config_theme', 'fa-paint-brush', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1030, 1000, 1030, 'Modération', 'cadoles_core_config_permmodo', 'fa-balance-scale', 'ROLE_ADMIN', ''),
|
||||
(1040, 1000, 1040, 'Fiche Utilisateur', 'cadoles_core_config_datauser', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1050, 1000, 1050, 'Liste Utilisateurs', 'cadoles_core_config_datausers', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
|
||||
(1200, NULL, 1200, 'ORGANISATION', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
@ -82,6 +83,7 @@ INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type
|
||||
('004', 1, 1, 1, 'logo', 'logo', 'uploads/logo/logo.png', '', 'Le logo de votre site'),
|
||||
('005', 0, 1, 0, 'theme', 'theme', '', '', 'Le theme de votre site'),
|
||||
('006', 0, 1, 0, 'datauser', 'datauser', '', '', 'Parametrage des champs utilisateurs : obligatoire / facultatif / caché'),
|
||||
('007', 0, 1, 0, 'datausers', 'datausers', '', '', 'Parametrage des colonnes visible dans la liste des utilisateurs'),
|
||||
|
||||
('010', 1, 1, 1, 'boolean', 'fgforceconnect', '0', '', 'Forcer la connection afin de rendre votre site privé'),
|
||||
|
||||
@ -110,6 +112,7 @@ INSERT IGNORE permmodo (`route`, `visible`) VALUES
|
||||
('cadoles_core_config_commun',0),
|
||||
('cadoles_core_config_theme',0),
|
||||
('cadoles_core_config_datauser',0),
|
||||
('cadoles_core_config_datausers',0),
|
||||
('cadoles_core_config_whitelist',0),
|
||||
('cadoles_core_config_niveau01',0),
|
||||
('cadoles_core_config_niveau02',1),
|
||||
|
Loading…
Reference in New Issue
Block a user