diff --git a/dicos/30_cadolesuser.xml b/dicos/30_cadolesuser.xml
index e6985013..7c9efe76 100644
--- a/dicos/30_cadolesuser.xml
+++ b/dicos/30_cadolesuser.xml
@@ -46,7 +46,7 @@
Services
fa-sitemap
- 428BCA
+ 2c3e50
FFFFFF
none
diff --git a/src/cadolesuser-1.0/app/config/config.yml b/src/cadolesuser-1.0/app/config/config.yml
index 83d6bdcc..ea0adbca 100644
--- a/src/cadolesuser-1.0/app/config/config.yml
+++ b/src/cadolesuser-1.0/app/config/config.yml
@@ -52,6 +52,8 @@ twig:
form_themes:
- 'CadolesCoreBundle:Form:fields.html.twig'
- 'TetranzSelect2EntityBundle:Form:fields.html.twig'
+ paths:
+ '%kernel.project_dir%/src/Cadoles/CoreBundle/Resources/public/themes/': Theme
# Swiftmailer Configuration
swiftmailer:
@@ -90,6 +92,8 @@ oneup_uploader:
frontend: dropzone # or any uploader you use in the frontend
slide:
frontend: dropzone # or any uploader you use in the frontend
+ blogarticle:
+ frontend: dropzone # or any uploader you use in the frontend
file:
frontend: dropzone # or any uploader you use in the frontend
namer: cadoles.core.upload.namer.same
diff --git a/src/cadolesuser-1.0/app/config/template.yml b/src/cadolesuser-1.0/app/config/template.yml
index 30eb8842..c332e706 100644
--- a/src/cadolesuser-1.0/app/config/template.yml
+++ b/src/cadolesuser-1.0/app/config/template.yml
@@ -24,7 +24,7 @@ parameters:
portal_activate: true
# Information de base de l'annuaire
- ldap_host: 172.27.7.61
+ ldap_host: 127.0.0.1
ldap_port: 389
ldap_user: cn=admin,o=gouv,c=fr
ldap_password: eole
@@ -34,7 +34,7 @@ parameters:
alias: cadolesuser
libelle_etab: ldapbundle
numero_etab: 0000000A
- colormain: 428BCA # Couleur principale
+ colormain: 2c3e50 # Couleur principale
fontcolorhover: FFFFFF # Couleur des polices sur fond de couleur principale
keyterm: 8 # Taille mini du password
labelniveau01: Ecole # Label singulier du niveau 01 d'organisation
@@ -77,7 +77,7 @@ parameters:
# Si mode_auth = CAS
cas_host: ldapbundle.ac-arno.fr
- cas_path: ~
+ cas_path:
cas_port: 8443
# Si mode_aut = SAML
diff --git a/src/cadolesuser-1.0/src/Cadoles/CASBundle/Controller/SecurityController.php b/src/cadolesuser-1.0/src/Cadoles/CASBundle/Controller/SecurityController.php
index 2a3b3670..16924121 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CASBundle/Controller/SecurityController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CASBundle/Controller/SecurityController.php
@@ -26,7 +26,7 @@ class SecurityController extends Controller
// Init Client CAS
\phpCAS::setDebug(false);
- \phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), true);
+ \phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
\phpCAS::setNoCasServerValidation();
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php
index a43bcb7e..fc032a8d 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php
@@ -35,7 +35,7 @@ class InitDataCommand extends ContainerAwareCommand
$output->writeln('CORE = Default Data');
$em = $this->getContainer()->get('doctrine')->getEntityManager();
-
+
$finder = new Finder();
$finder->in('src/Cadoles/CoreBundle/Command/data');
@@ -67,7 +67,7 @@ class InitDataCommand extends ContainerAwareCommand
$stmt = $em->getConnection()->prepare($content);
$stmt->execute();
-
+
}
// Init city
@@ -78,7 +78,7 @@ class InitDataCommand extends ContainerAwareCommand
$stmt = $em->getConnection()->prepare($content);
$stmt->execute();
-
+
}
$stmt->closeCursor();
@@ -91,9 +91,8 @@ class InitDataCommand extends ContainerAwareCommand
$group->setFgopen(false);
$group->setFgall(true);
$group->setFgtemplate(false);
- $group->setFgcanshare(false);
$em->persist($group);
- $em->flush();
+ $em->flush();
}
$sub = $em->createQueryBuilder();
@@ -114,7 +113,7 @@ class InitDataCommand extends ContainerAwareCommand
$usergroup->setUser($data);
$usergroup->setGroup($group);
$em->persist($usergroup);
- $em->flush();
+ $em->flush();
}
$output->writeln('');
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeFileCommand.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeFileCommand.php
index 516a47d6..33c4805e 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeFileCommand.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeFileCommand.php
@@ -41,6 +41,7 @@ class PurgeFileCommand extends Command
$this->output = $output;
$this->filesystem = new Filesystem();
$this->rootlog = $this->container->get('kernel')->getRootDir()."/../var/logs/";
+ $alias = $this->container->getParameter('alias');
$this->writelnred('');
$this->writelnred('== Core:PurgeFile');
@@ -215,6 +216,96 @@ class PurgeFileCommand extends Command
}
}
+ // /web/uploads/blogarticle
+ $this->writelnred('');
+ $this->writelnred('== Directory = Blog Article');
+
+ $directory=$this->container->get('kernel')->getRootDir()."/../web/uploads/blogarticle";
+ $files=[];
+ $fs = new Filesystem();
+
+ if($fs->exists($directory)) {
+ $finder = new Finder();
+ $finder->in($directory)->files();
+
+ foreach (iterator_to_array($finder) as $file) {
+ $name = $file->getRelativePathname();
+ if(strpos($name,"thumb-")===false) {
+ $entity=$this->em->getRepository("CadolesPortalBundle:Blogarticle")->findBy(["image"=>"uploads/blogarticle/".$name]);
+ if(!$entity) {
+ $this->writeln($name);
+
+ // Suppression du fichier
+ $url=$directory."/".$name;
+ if($fs->exists($url)) {
+ $fs->remove($url);
+ }
+
+ // Suppression du thumb fichier
+ $url=$directory."/thumb-".$name;
+ if($fs->exists($url)) {
+ $fs->remove($url);
+ }
+ }
+ }
+ }
+ }
+
+ // /web/uploads/ckeditor
+ $this->writelnred('');
+ $this->writelnred('== Directory = Ckeditor');
+ $directory=$this->container->get('kernel')->getRootDir()."/../web/uploads/ckeditor";
+ $files=[];
+ $fs = new Filesystem();
+
+ if($fs->exists($directory)) {
+ $finder = new Finder();
+ $finder->in($directory)->files();
+
+ foreach (iterator_to_array($finder) as $file) {
+ $name = $file->getRelativePathname();
+ $tofind = "/".$alias."/uploads/ckeditor/".$name;
+ $find=false;
+
+ // On recherche l'image dans les pages
+ $result = $this->em
+ ->getRepository("CadolesPortalBundle:Page")->createQueryBuilder('page')
+ ->where('page.html LIKE :tofind')
+ ->setParameter('tofind', '%'.$tofind.'%')
+ ->getQuery()->getResult();
+ if($result) $find=true;
+
+ // Si pas trouvé on la cherche dans les widgets
+ if(!$find) {
+ $result = $this->em
+ ->getRepository("CadolesPortalBundle:Pagewidget")->createQueryBuilder('pagewidget')
+ ->where('pagewidget.parameter LIKE :tofind')
+ ->setParameter('tofind', '%'.$tofind.'%')
+ ->getQuery()->getResult();
+ if($result) $find=true;
+ }
+
+ // Si pas trouvé on la cherche dans les blogs
+ if(!$find) {
+ $result = $this->em
+ ->getRepository("CadolesPortalBundle:Blogarticle")->createQueryBuilder('blogarticle')
+ ->where('blogarticle.description LIKE :tofind')
+ ->setParameter('tofind', '%'.$tofind.'%')
+ ->getQuery()->getResult();
+ if($result) $find=true;
+ }
+
+ // Si pas trouvé on supprime
+ if(!$find) {
+ $this->writeln($name);
+ $url=$directory."/".$name;
+ if($fs->exists($url)) {
+ $fs->remove($url);
+ }
+ }
+ }
+ }
+
$this->writeln('');
return 1;
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql
index ea95faf8..d183717b 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql
@@ -14,7 +14,7 @@ INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastna
TRUNCATE TABLE sidebar;
INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `fonticon`, `permission`, `appactivate`) VALUES
-(1000, NULL, 1000, 'CONFIGURATION', '', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO', ''),
+(1000, NULL, 1000, 'CONFIGURATION', '', 'fa-gear', 'ROLE_ADMIN', ''),
(1010, 1000, 1010, 'Générale', 'cadoles_core_config_commun', 'fa-table', 'ROLE_ADMIN', ''),
(1200, NULL, 1200, 'ORGANISATION', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO', ''),
(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN', ''),
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php
index bce394fe..28067263 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php
@@ -5,6 +5,7 @@ namespace Cadoles\CoreBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
+use Symfony\Component\HttpFoundation\Response;
use Cadoles\PortalBundle\Entity\Page;
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/ThemeController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/ThemeController.php
new file mode 100644
index 00000000..0be58d49
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/ThemeController.php
@@ -0,0 +1,97 @@
+get('session');
+ $finder = new Finder();
+
+ $dir = $this->get('kernel')->getRootDir()."/../web/bundles/cadolescore/themes";
+ $url="/".$this->getParameter('alias')."/bundles/cadolescore/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=$session->get("theme");
+ $currentheme=$themes[$current];
+ unset($themes[$current]);
+
+ return $this->render('CadolesCoreBundle:Theme:list.html.twig',[
+ 'useheader' => true,
+ 'usemenu' => false,
+ 'usesidebar' => true,
+ 'currentheme' => $currentheme,
+ 'themes' => $themes
+ ]);
+ }
+
+ public function selectAction(Request $request,$name)
+ {
+ $em = $this->getDoctrine()->getManager();
+ $config=$em->getRepository("CadolesCoreBundle:Config")->findoneBy(["id"=>"theme"]);
+ $config->setValue($name);
+
+ $em->persist($config);
+ $em->flush();
+
+ return $this->redirectToRoute("cadoles_core_config_theme");
+ }
+
+ public function setconfigAction(Request $request)
+ {
+ $session=$this->get('session');
+ $themename=$session->get("theme");
+
+ $logo=$request->query->get('logo');
+ if(!empty($logo)) $session->set('logo',"bundles/cadolescore/themes/$themename/".$logo);
+
+ $fgheader=$request->query->get('fgheader');
+ if(!empty($fgheader)) $session->set('fgheader',boolval($fgheader));
+
+ $header=$request->query->get('header');
+ if(!empty($header)) $session->set('header',"bundles/cadolescore/themes/$themename/".$header);
+
+ $heightheader=$request->query->get('heightheader');
+ if(!empty($heightheader)) $session->set('heightheader',$heightheader);
+
+ $colormain=$request->query->get('colormain');
+ if(!empty($colormain)) $session->set('colormain',$colormain);
+
+ $fontcolorhover=$request->query->get('fontcolorhover');
+ if(!empty($fontcolorhover)) $session->set('fontcolorhover',$fontcolorhover);
+
+ $fontfacetitle=$request->query->get('fontfacetitle');
+ if(!empty($fontfacetitle)) $session->set('fontfacetitle',$fontfacetitle);
+
+ $fontfacebody=$request->query->get('fontfacebody');
+ if(!empty($fontfacebody)) $session->set('fontfacebody',$fontfacebody);
+
+ $color = $this->container->get('cadoles.core.service.color');
+ $color->setColor();
+
+ return new Response();
+ }
+}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php
index 657a6504..dc12f8ac 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php
@@ -214,9 +214,9 @@ class UserController extends Controller
// Action
$action = "";
if($access=="config") {
- $action.="$data->getId()))."'>";
+ $action.="$data->getId()))."'>";
if($data->getId()>0&&$this->GetParameter("masteridentity")!="LDAP") {
- $action.="$data->getId()))."'>";
+ $action.="$data->getId()))."'>";
}
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php
index 81047e8a..595290c3 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php
@@ -98,6 +98,12 @@ class Group
*/
protected $calendars;
+ /**
+ * @ORM\ManyToMany(targetEntity="Cadoles\PortalBundle\Entity\Blog", mappedBy="groups")
+ */
+ protected $blogs;
+
+
/**
* Constructor
@@ -111,6 +117,7 @@ class Group
$this->fluxs = new \Doctrine\Common\Collections\ArrayCollection();
$this->notices = new \Doctrine\Common\Collections\ArrayCollection();
$this->calendars = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->blogs = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
@@ -528,4 +535,38 @@ class Group
{
return $this->calendars;
}
+
+ /**
+ * Add blog
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blog $blog
+ *
+ * @return Group
+ */
+ public function addBlog(\Cadoles\PortalBundle\Entity\Blog $blog)
+ {
+ $this->blogs[] = $blog;
+
+ return $this;
+ }
+
+ /**
+ * Remove blog
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blog $blog
+ */
+ public function removeBlog(\Cadoles\PortalBundle\Entity\Blog $blog)
+ {
+ $this->blogs->removeElement($blog);
+ }
+
+ /**
+ * Get blogs
+ *
+ * @return \Doctrine\Common\Collections\Collection
+ */
+ public function getBlogs()
+ {
+ return $this->blogs;
+ }
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php
index cab266a0..68ed7b52 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php
@@ -215,8 +215,29 @@ class User implements UserInterface, \Serializable
* @ORM\ManyToMany(targetEntity="Cadoles\PortalBundle\Entity\Notice", mappedBy="users")
*/
protected $notices;
-
-
+
+ /**
+ * @var ArrayCollection $blog
+ * @var Blog
+ *
+ * @ORM\OneToMany(targetEntity="Cadoles\PortalBundle\Entity\Blog", mappedBy="user", cascade={"persist"}, orphanRemoval=true)
+ */
+ private $blogs;
+
+ /**
+ * @ORM\ManyToMany(targetEntity="Cadoles\PortalBundle\Entity\Blog", mappedBy="writers")
+ */
+ protected $blogwriters;
+
+ /**
+ * @var ArrayCollection $blogarticle
+ * @var Blogarticle
+ *
+ * @ORM\OneToMany(targetEntity="Cadoles\PortalBundle\Entity\Blogarticle", mappedBy="user", cascade={"persist"}, orphanRemoval=true)
+ */
+ private $blogarticles;
+
+
//== CODE A NE PAS REGENERER
/**
* @ORM\PostLoad
@@ -227,11 +248,6 @@ class User implements UserInterface, \Serializable
}
}
- public function __construct()
- {
- $this->profils = new ArrayCollection();
- }
-
public function getUserName()
{
return $this->username;
@@ -305,6 +321,22 @@ class User implements UserInterface, \Serializable
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->groups = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->modos = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->pages = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->bookmarks = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->calendars = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->notices = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->blogs = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->blogwriters = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->blogarticles = new \Doctrine\Common\Collections\ArrayCollection();
+ }
+
/**
* Get id
*
@@ -1122,4 +1154,106 @@ class User implements UserInterface, \Serializable
{
return $this->notices;
}
+
+ /**
+ * Add blog
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blog $blog
+ *
+ * @return User
+ */
+ public function addBlog(\Cadoles\PortalBundle\Entity\Blog $blog)
+ {
+ $this->blogs[] = $blog;
+
+ return $this;
+ }
+
+ /**
+ * Remove blog
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blog $blog
+ */
+ public function removeBlog(\Cadoles\PortalBundle\Entity\Blog $blog)
+ {
+ $this->blogs->removeElement($blog);
+ }
+
+ /**
+ * Get blogs
+ *
+ * @return \Doctrine\Common\Collections\Collection
+ */
+ public function getBlogs()
+ {
+ return $this->blogs;
+ }
+
+ /**
+ * Add blogwriter
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blog $blogwriter
+ *
+ * @return User
+ */
+ public function addBlogwriter(\Cadoles\PortalBundle\Entity\Blog $blogwriter)
+ {
+ $this->blogwriters[] = $blogwriter;
+
+ return $this;
+ }
+
+ /**
+ * Remove blogwriter
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blog $blogwriter
+ */
+ public function removeBlogwriter(\Cadoles\PortalBundle\Entity\Blog $blogwriter)
+ {
+ $this->blogwriters->removeElement($blogwriter);
+ }
+
+ /**
+ * Get blogwriters
+ *
+ * @return \Doctrine\Common\Collections\Collection
+ */
+ public function getBlogwriters()
+ {
+ return $this->blogwriters;
+ }
+
+ /**
+ * Add blogarticle
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blogarticle $blogarticle
+ *
+ * @return User
+ */
+ public function addBlogarticle(\Cadoles\PortalBundle\Entity\Blogarticle $blogarticle)
+ {
+ $this->blogarticles[] = $blogarticle;
+
+ return $this;
+ }
+
+ /**
+ * Remove blogarticle
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blogarticle $blogarticle
+ */
+ public function removeBlogarticle(\Cadoles\PortalBundle\Entity\Blogarticle $blogarticle)
+ {
+ $this->blogarticles->removeElement($blogarticle);
+ }
+
+ /**
+ * Get blogarticles
+ *
+ * @return \Doctrine\Common\Collections\Collection
+ */
+ public function getBlogarticles()
+ {
+ return $this->blogarticles;
+ }
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php
index 09f0828d..fb926f14 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php
@@ -38,9 +38,11 @@
public function onDomainParse(Event $event) {
$session = new Session();
+
+
$configs = $this->em->getRepository("CadolesCoreBundle:Config")->findAll();
foreach($configs as $config) {
- $session->set($config->getId(), $config->getValue());
+ $session->set($config->getId(), strval($config->getValue()));
}
// Calcul des couleurs
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php
index 213ff2a8..b189d26d 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php
@@ -116,6 +116,25 @@ class uploadListener
break;
+
+ case "blogarticle":
+ $file=$event->getFile();
+ $filename=$file->getFilename();
+ $pathname=$file->getPath();
+
+ // Creation d'un thumb
+ $fs = new Filesystem();
+ $fs->copy($pathname."/".$filename,$pathname."/thumb-".$filename);
+ $max_width=350;
+ $width = $this->getWidth($pathname."/thumb-".$filename);
+ $height = $this->getHeight($pathname."/thumb-".$filename);
+ $scale = $max_width/$width;
+ $this->resizeImage($pathname."/thumb-".$filename,$width,$height,$scale);
+
+ $response = $event->getResponse();
+ $response['file'] = $filename;
+ break;
+
default:
$file=$event->getFile();
$filename=$file->getFilename();
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/ConfigType.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/ConfigType.php
index 3bc34816..c52a0ad5 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/ConfigType.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/ConfigType.php
@@ -118,6 +118,15 @@ class ConfigType extends AbstractType
$builder->add('value',HiddenType::class);
break;
+ case "theme":
+ $builder->add('value',
+ TextType::class,
+ array("label" => "Valeur",
+ "label_attr" => array("style" => 'margin-top:15px;'),
+ "attr" => array("class" => "form-control"),
+ 'required' => ($options["required"]==0?false:true)));
+ break;
+
case "color":
$builder->add('value',
TextType::class,
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml
index 2e295727..82842e9e 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml
@@ -3,6 +3,20 @@ cadoles_core_home:
path: /
defaults: { _controller: CadolesCoreBundle:Core:home }
+#== Theme ================================================================================================================
+
+cadoles_core_theme_setconfig:
+ path: /theme/setconfig
+ defaults: { _controller: CadolesCoreBundle:Theme:setconfig }
+
+cadoles_core_config_theme:
+ path: /config/theme
+ defaults: { _controller: CadolesCoreBundle:Theme:list }
+
+cadoles_core_config_theme_selec:
+ path: /config/theme/select/{name}
+ defaults: { _controller: CadolesCoreBundle:Theme:select, name:"" }
+
#== Security Auth ========================================================================================================
cadoles_core_login:
path: /login
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css
index 14647a2a..f8b4514f 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css
@@ -1,4 +1,56 @@
+/*== GLOBAL =============================================================================================================================================*/
+
+html {
+ height: 100%
+}
+
+body.simple {
+ background-color: transparent;
+}
+
+body {
+ padding-right: 0 !important
+}
+
+#loader {
+ text-align:center;
+ margin-top:100px;
+}
+
+/*== HEADER =============================================================================================================================================*/
+
+.header {
+ background-size: cover;
+}
+
+.header .title{
+ text-decoration: none;
+ font-size: 50px;
+}
+
+.header .title:hover {
+ text-decoration: none;
+}
+
+.header #logo{
+ text-decoration: none;
+ margin:10px 10px 0px 10px;
+ float:left;
+}
+
+.header span {
+ float:left;
+}
+
+@media (max-width: 767px) {
+ .header { display: none }
+}
+
+
+
+/*== NAVBAR =============================================================================================================================================*/
+
.navbar-default .navbar-brand {
font-size: 30px;
}
@@ -16,6 +68,21 @@
padding: 5px 15px 0px 15px;
}
+.navbar {
+ min-height: 40px;
+}
+
+.navbar-top-links li a {
+ padding: 5px 10px;
+ font-size: 18px;
+ min-height: 40px;
+}
+
+.navbar-right li a {
+ padding: 0px;
+ font-size: 35px;
+}
+
@media (max-width: 767px) {
.navbar-default .navbar-header #title {
display: none;
@@ -25,11 +92,569 @@
float:right;
}
+ .navbarheader { display: none }
+ .navbarsmall { display: block !important}
+}
+
+
+/*== SIDEBAR ============================================================================================================================================*/
+
+@media (max-width: 767px) {
.sidebar {
margin-top: 0px;
}
-
+}
+
+/*== AVATAR ============================================================================================================================================*/
+
+.avatar {
+ height: 40px;
+ border-radius: 100%;
+ margin-top: -5px;
+}
+
+.avatar.big{
+ height: 90px;
+ margin-bottom: 10px;
+}
+
+/*== PAGE-WRAPPER =======================================================================================================================================*/
+#page-wrapper {
+ border:none;
+}
+
+@media (max-width: 767px) {
#page-wrapper {
padding: 0 30px;
}
-}
+}
+
+
+/*== SORTABLE ===========================================================================================================================================*/
+
+.placeholder {
+ border: 2px dotted #3498db;
+}
+
+
+
+
+/*== LIST CONFIG ========================================================================================================================================*/
+
+.category-list-item {
+ min-height: 30px;
+}
+
+.list-item {
+ min-height: 50px;
+ margin-top: 10px;
+ color:#ffffff;
+ border-radius: 0px;
+ margin-bottom: 0px;
+}
+
+.list-item .panel-heading,
+.list-item .panel-heading a{
+ color:#ffffff;
+ font-size: 22px;
+ padding-bottom: 0px;
+}
+
+span.item-drag {
+ display: block;
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 1000;
+ width: 32px;
+ background: rgba(0,0,0,.1);
+ line-height: 35px;
+ height: 32px;
+ text-align: center;
+ color: #fff;
+ transition: background .2s;
+ border-radius: 0 0 10px 0;
+}
+
+
+/*== GRID ===============================================================================================================================================*/
+
+.grid {
+ list-style-type: none;
+ margin: 0px;
+ padding: 0;
+ width: 100%;
+ min-height: 30px;
+ background: transparent;
+}
+
+.grid-gutter-sizer { width: 0px }
+
+.grid-title {
+ background: transparent;
+ cursor: pointer;
+ padding-top: 10px;
+ margin:0px;
+}
+
+.grid .grid-item,
+.grid .grid-sizer {
+ float: left;
+ margin: 0px;
+ padding: 0px;
+ width: 290px;
+ height: 150px;
+ text-align: center;
+ position: relative;
+ display: block;
+}
+
+.grid-item .grid-item-content:hover {
+ opacity: 0.8;
+}
+
+.grid-item .item-link {
+ width: 100%;
+ align-items: center;
+ justify-content: center;
+ font-size: 18px !important;
+ color: #fff;
+ display: block;
+ text-align: left;
+ height: 150px;
+}
+
+.grid-item .item-link a {
+ color: #fff;
+}
+
+.grid-item-content a:hover {
+ text-decoration: none;
+}
+
+.grid-item .item-link {
+ text-decoration: none !important;
+}
+
+.grid-item-logo {
+ display: inline-block;
+ padding: 10px;
+ width: 40%;
+ height: 150px;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.grid-item .item-link img {
+ display: block;
+ margin: 10px auto;
+ max-width: 100%;
+ max-height: 110px;
+ height: auto;
+}
+
+.grid-item .grid-item-title {
+ display: inline-block;
+ vertical-align: top;
+ padding: 15px 5px;;
+ font-size: 12px;
+ width: 50%;
+ line-height: 1;
+}
+
+.grid-item .grid-item-title h2 {
+ font-size: 20px;
+ margin: 10px 0 0 0;
+ border-bottom: 1px solid #fff;
+ padding-bottom: 5px;
+ margin-bottom: 5px;
+ text-transform: uppercase;
+ color: #fff;
+ word-wrap: break-word;
+}
+
+
+a.item-preview {
+ display: none;
+ position: absolute;
+ right: 5px;
+ top: 2px;
+ z-index: 1000;
+}
+
+a.item-update {
+ display: none;
+ position: absolute;
+ right: 5px;
+ top: 2px;
+ z-index: 1000;
+}
+
+a.item-delete {
+ display: none;
+ position: absolute;
+ right: 5px;
+ top: 2px;
+ z-index: 1000;
+}
+
+a.item-heart {
+ display: none;
+ position: absolute;
+ left: 5px;
+ top: 2px;
+ z-index: 1000;
+}
+
+.grid-item-body {
+ height:200px;
+ overflow-y:auto;
+ text-align: left;
+ padding:15px;
+ line-height:10px;
+}
+
+.grid .grid-medium {
+ width:150px;
+ height:200px;
+}
+
+.grid .grid-medium .item-link {
+ height:200px;
+}
+
+.grid .grid-medium .grid-item-logo {
+ display: block;
+ height:80px;
+ width:auto;
+}
+.grid .grid-medium .grid-item-logo img {
+ height: 80px;
+ width: auto;
+ margin: 5px auto;
+}
+.grid .grid-medium .grid-item-title {
+ display: block;
+ vertical-align: top;
+ font-size: 12px;
+ line-height: 1;
+ text-align:center;
+ width: 100%;
+}
+
+.grid .grid-small {
+ width:100px;
+ height:120px;
+}
+
+.grid .grid-small .item-link {
+ height:120px;
+}
+
+.grid .grid-small .grid-item-logo {
+ display: block;
+ height:60px;
+ width:auto;
+}
+.grid .grid-small .grid-item-logo img {
+ height: 60px;
+ width: auto;
+ margin: 5px auto;
+}
+.grid .grid-small .grid-item-title {
+ display: block;
+ vertical-align: top;
+ font-size: 12px;
+ line-height: 1;
+ text-align:center;
+ width: 100%;
+}
+.grid .grid-small .grid-item-title h2 { font-size:10px; border-bottom: none; }
+.grid .grid-small .grid-item-title span { display: none }
+
+.grid .grid-image {
+ width:20%;
+ height:auto;
+}
+
+.grid .grid-image .item-link {
+ height:auto;
+}
+
+.grid .grid-image .grid-item-logo {
+ display: block;
+ height:auto;
+ width:auto;
+ padding:0px;
+}
+.grid .grid-image .grid-item-logo img {
+ height: auto;
+ width: 100%;
+ margin: auto;
+ max-height:none;
+}
+
+
+.grid .grid-preview {
+ width:19.2%;
+ height:auto;
+ margin-bottom: 10px;
+ text-align: left;
+}
+
+.grid .grid-preview a:hover {
+ text-decoration: none;
+}
+
+.grid .grid-preview .grid-preview-title {
+ margin:0px;
+ font-size:25px;
+ text-align:left;
+}
+
+.grid .grid-preview .caption { padding: 9px }
+
+.grid-gutter-sizer-preview { width: 1% }
+
+@media (max-width: 991px) {
+ .grid .grid-preview {
+ width:32.666666667%;
+ height:auto;
+ }
+
+ .grid .grid-image {
+ width:33.3333333333%;
+ height:auto;
+ }
+}
+
+@media (max-width: 767px) {
+ .grid .grid-preview {
+ width:49.5%;
+ height:auto;
+ }
+
+ .grid .grid-image {
+ width:50%;
+ height:auto;
+ }
+}
+
+/*== PAGE ===============================================================================================================================================*/
+
+#menupageaction {
+ float: right;
+ font-size: 20px;
+ margin: 5px 15px 0px 0px
+}
+
+.pagemenu {
+ display: block;
+ margin: 0px -30px;
+ padding: 0px 30px;
+ font-size:20px;
+ height: 40px;
+ line-height: 40px;
+}
+
+/*== WIDGET =============================================================================================================================================*/
+
+.widgetplacehorder {
+ height:50px;
+ border: 2px dotted #3498db;
+ background-color:#cdcdcd;
+}
+
+.widgetempty {
+ height: 1px;
+}
+
+.widget {
+ margin-top:30px;
+}
+
+.widgetmenu {
+ right: 20px;
+ position: absolute;
+ margin-top: 10px;
+ display:none;
+ z-index: 10000000;
+}
+
+.widgetmenu i {
+ font-size :20px;
+}
+
+.widgetheader {
+ font-size: 30px;
+ height: 50px;
+ line-height: 50px;
+ text-transform: uppercase;
+}
+
+.widgetheader .logo {
+ position: absolute;
+ height:40px;
+ width:40px;
+ border-radius: 100%;
+ margin: 5px;
+}
+
+.widgetheader .title {
+ position: absolute;
+ margin-left:50px;
+}
+
+.widgetheader iframe,
+.widgetbody iframe {
+ width:100%;
+ border:0px;
+ height:100%;
+}
+
+.frameitem {
+ position: absolute;
+ right: 0px;
+ width:100%;
+ border:0px;
+ height:100%;
+}
+
+/*== FEED ===============================================================================================================================================*/
+
+.cat-list-feed {
+ display: inline-block;
+ padding: 8px;
+ margin-top: 10px;
+ margin-right: 5px;
+ cursor:pointer;
+}
+
+.feed{
+ height:200px;
+ padding: 10px;
+ overflow: hidden;
+}
+
+.feed h1 {
+ margin:0px;
+ font-size: 20px;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.6);
+ padding:10px;
+}
+
+.feed .description {
+ width: 70%;
+ float: right;
+ margin-top: 5px;
+ background: rgb(0,0,0,0.6);
+ padding: 10px;
+ font-size: 11px;
+ max-height: 110px;
+ overflow-y: hidden;
+}
+
+
+/*== SLICK===============================================================================================================================================*/
+
+.slick {
+ width:100%;
+ height:100%;
+ position:relative;
+}
+.slick div{
+ width:100%;
+ height:100%;
+ background-size: cover;
+ background-position: center;
+ color:#fff;
+}
+.slick .slicktitle {
+ text-align: left;
+ margin: 30px 0px 0px 50px;
+ padding: 15px;
+ background-color: rgb(0,0,0,0.4);
+ display: inline-block;
+ float: left;
+}
+
+.slick .slicksubtitle,
+.slick .slicklink
+{
+ margin: 5px 0px 0px 50px;
+ padding: 15px;
+ background-color: rgb(0,0,0,0.4);
+ font-size: 15px;
+ text-transform: initial;
+ float: left;
+ clear: both;
+ line-height: 15px;
+}
+
+
+
+
+
+
+
+
+
+
+
+.nav-pills>li>a { border-radius: 0px; }
+
+.page-maxed {
+ max-width:1500px;
+ margin:auto !important;
+}
+
+
+.blogpreview .blogtitle{
+ text-align:center;
+ text-transform: uppercase;
+}
+
+
+
+
+
+.blogarticle {
+ margin-bottom:150px;
+}
+
+.blogarticle .blogtitle h1{
+ text-align:left
+}
+
+.blogarticle .blogimage {
+ width:100%;
+ height:450px;
+ background-size:cover;
+ background-position: center;
+ margin-top:20px;
+}
+
+.blogarticle .blogtitle {
+ margin-bottom:20px;
+}
+
+.blogarticle .blogtitle legend {
+ margin-bottom:0px;
+}
+
+.blogarticle .blogbody {
+ font-size: 18px;
+}
+
+.blogarticle .blogsidebar {
+ border-left: 1px solid #e5e5e5;
+ margin-top: 20px;
+}
+
+.blogarticle .blogsidebartitle {
+ margin-bottom:0px;
+}
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/function.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/function.html.twig
new file mode 100644
index 00000000..491b8299
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/function.html.twig
@@ -0,0 +1,26 @@
+{% set logo = "" %}
+
+{% set fgheader = "" %}
+{% set header = "header.png" %}
+{% set heightheader = "" %}
+
+{% set colormain = "2e3131" %}
+{% set fontcolorhover = "" %}
+
+{% set fontfacetitle = "" %}
+{% set fontfacebody = "" %}
+
+{{
+ render(url("cadoles_core_theme_setconfig",
+ {
+ 'logo':logo,
+ 'fgheader':fgheader,
+ 'header': header,
+ 'heightheader': heightheader,
+ 'colormain': colormain,
+ 'fontcolorhover': fontcolorhover,
+ 'fontfacetitle': fontfacetitle,
+ 'fontfacebody': fontfacebody
+ }
+ ))
+}}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/header.jpg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/header.jpg
new file mode 100644
index 00000000..ab1266aa
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/header.jpg differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/info.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/info.yml
new file mode 100644
index 00000000..3d45bcff
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/info.yml
@@ -0,0 +1,6 @@
+name: Black
+author: Arnaud Fornerot
+version: 1.0
+forcelogo: false
+forceheader: true
+color: 1e824c
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/look.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/look.png
new file mode 100644
index 00000000..6baedc3b
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/look.png differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/style.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/black/style.css
new file mode 100644
index 00000000..e69de29b
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/constant.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/constant.html.twig
new file mode 100644
index 00000000..b9227120
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/constant.html.twig
@@ -0,0 +1,7 @@
+{% macro logo() %}{{ app.session.get('logo') }}{% endmacro %}
+{% macro fgheader() %}{{ app.session.get('fgheader') }}{% endmacro %}
+{% macro header() %}{{ app.session.get('header') }}{% endmacro %}
+{% macro heightheader() %}{{ app.session.get('heightheader') }}{% endmacro %}
+{% macro colorR() %}{{ app.session.get('color')['mainrgb']['r'] }}{% endmacro %}
+{% macro colorG() %}{{ app.session.get('color')['mainrgb']['g'] }}{% endmacro %}
+{% macro colorB() %}{{ app.session.get('color')['mainrgb']['b'] }}{% endmacro %}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/function.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/function.html.twig
new file mode 100644
index 00000000..b1f87f57
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/function.html.twig
@@ -0,0 +1,27 @@
+{% set logo = "" %}
+
+{% set fgheader = "" %}
+{% set header = "header.jpg" %}
+{% set heightheader = "" %}
+
+{% set colormain = "6c7a89" %}
+{% set fontcolorhover = "" %}
+
+{% set fontfacetitle = "" %}
+{% set fontfacebody = "" %}
+
+
+{{
+ render(url("cadoles_core_theme_setconfig",
+ {
+ 'logo':logo,
+ 'fgheader':fgheader,
+ 'header': header,
+ 'heightheader': heightheader,
+ 'colormain': colormain,
+ 'fontcolorhover': fontcolorhover,
+ 'fontfacetitle': fontfacetitle,
+ 'fontfacebody': fontfacebody
+ }
+ ))
+}}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/header.jpg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/header.jpg
new file mode 100644
index 00000000..4022b68c
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/header.jpg differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/info.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/info.yml
new file mode 100644
index 00000000..da74341e
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/info.yml
@@ -0,0 +1,6 @@
+name: Gray
+author: Arnaud Fornerot
+version: 1.0
+forcelogo: false
+forceheader: true
+color: 6c7a89
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/look.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/look.png
new file mode 100644
index 00000000..f9cbd8f6
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/look.png differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/style.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/gray/style.css
new file mode 100644
index 00000000..e69de29b
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/function.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/function.html.twig
new file mode 100644
index 00000000..e51ec4d8
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/function.html.twig
@@ -0,0 +1,26 @@
+{% set logo = "" %}
+
+{% set fgheader = "" %}
+{% set header = "header.png" %}
+{% set heightheader = "" %}
+
+{% set colormain = "1e824c" %}
+{% set fontcolorhover = "" %}
+
+{% set fontfacetitle = "" %}
+{% set fontfacebody = "" %}
+
+{{
+ render(url("cadoles_core_theme_setconfig",
+ {
+ 'logo':logo,
+ 'fgheader':fgheader,
+ 'header': header,
+ 'heightheader': heightheader,
+ 'colormain': colormain,
+ 'fontcolorhover': fontcolorhover,
+ 'fontfacetitle': fontfacetitle,
+ 'fontfacebody': fontfacebody
+ }
+ ))
+}}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/header.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/header.png
new file mode 100644
index 00000000..a48a9435
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/header.png differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/info.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/info.yml
new file mode 100644
index 00000000..b2d0b607
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/info.yml
@@ -0,0 +1,6 @@
+name: Green
+author: Arnaud Fornerot
+version: 1.0
+forcelogo: false
+forceheader: true
+color: 1e824c
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/look.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/look.png
new file mode 100644
index 00000000..f9cbd8f6
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/look.png differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/style.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/green/style.css
new file mode 100644
index 00000000..e69de29b
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/info.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/info.yml
new file mode 100644
index 00000000..b2d0b607
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/info.yml
@@ -0,0 +1,6 @@
+name: Green
+author: Arnaud Fornerot
+version: 1.0
+forcelogo: false
+forceheader: true
+color: 1e824c
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/look.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/look.png
new file mode 100644
index 00000000..cb230123
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/look.png differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/function.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/function.html.twig
new file mode 100644
index 00000000..b97980f1
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/function.html.twig
@@ -0,0 +1,27 @@
+{% set logo = "" %}
+
+{% set fgheader = "" %}
+{% set header = "header.jpg" %}
+{% set heightheader = "" %}
+
+{% set colormain = "f15a22" %}
+{% set fontcolorhover = "" %}
+
+{% set fontfacetitle = "" %}
+{% set fontfacebody = "" %}
+
+
+{{
+ render(url("cadoles_core_theme_setconfig",
+ {
+ 'logo':logo,
+ 'fgheader':fgheader,
+ 'header': header,
+ 'heightheader': heightheader,
+ 'colormain': colormain,
+ 'fontcolorhover': fontcolorhover,
+ 'fontfacetitle': fontfacetitle,
+ 'fontfacebody': fontfacebody
+ }
+ ))
+}}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/header.jpg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/header.jpg
new file mode 100644
index 00000000..4022b68c
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/header.jpg differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/info.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/info.yml
new file mode 100644
index 00000000..f409327a
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/info.yml
@@ -0,0 +1,6 @@
+name: Orange
+author: Arnaud Fornerot
+version: 1.0
+forcelogo: false
+forceheader: true
+color: 6c7a89
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/look.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/look.png
new file mode 100644
index 00000000..f9cbd8f6
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/look.png differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/style.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/orange/style.css
new file mode 100644
index 00000000..e69de29b
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/function.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/function.html.twig
new file mode 100644
index 00000000..f4099dc3
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/function.html.twig
@@ -0,0 +1,27 @@
+{% set logo = "" %}
+
+{% set fgheader = "" %}
+{% set header = "header.jpg" %}
+{% set heightheader = "" %}
+
+{% set colormain = "f7ca18" %}
+{% set fontcolorhover = "171717" %}
+
+{% set fontfacetitle = "" %}
+{% set fontfacebody = "" %}
+
+
+{{
+ render(url("cadoles_core_theme_setconfig",
+ {
+ 'logo':logo,
+ 'fgheader':fgheader,
+ 'header': header,
+ 'heightheader': heightheader,
+ 'colormain': colormain,
+ 'fontcolorhover': fontcolorhover,
+ 'fontfacetitle': fontfacetitle,
+ 'fontfacebody': fontfacebody
+ }
+ ))
+}}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/header.jpg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/header.jpg
new file mode 100644
index 00000000..4022b68c
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/header.jpg differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/info.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/info.yml
new file mode 100644
index 00000000..49a93ced
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/info.yml
@@ -0,0 +1,6 @@
+name: Yellow
+author: Arnaud Fornerot
+version: 1.0
+forcelogo: false
+forceheader: true
+color: f7ca18
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/look.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/look.png
new file mode 100644
index 00000000..f9cbd8f6
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/look.png differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/style.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/themes/yellow/style.css
new file mode 100644
index 00000000..e69de29b
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig
index b7ba406c..c05509a4 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig
@@ -51,12 +51,11 @@
'@CadolesCoreBundle/Resources/public/js/bootstrap-datetimepicker.fr.js'
'@CadolesCoreBundle/Resources/public/js/bootstrap-slider.js'
'@CadolesCoreBundle/Resources/public/js/masonry.pkgd.js'
- '@CadolesCoreBundle/Resources/public/js/sb-admin-2.js'
+ '@CadolesCoreBundle/Resources/public/js/gridify-min.js'
'@CadolesCoreBundle/Resources/public/js/jquery-ui.min.js'
'@CadolesCoreBundle/Resources/public/js/tinycolor-0.9.15.min.js'
'@CadolesCoreBundle/Resources/public/js/pick-a-color-1.2.3.min.js'
'@CadolesCoreBundle/Resources/public/js/bootstrap-switch.js'
- '@CadolesCoreBundle/Resources/public/js/gridify-min.js'
'@CadolesCoreBundle/Resources/public/js/dropzone.js'
'@CadolesCoreBundle/Resources/public/js/jquery.imgareaselect.min.js'
'@CadolesCoreBundle/Resources/public/js/jquery.fakecrop.js'
@@ -71,7 +70,8 @@
'@CadolesCoreBundle/Resources/public/js/moment.min.js'
'@CadolesCoreBundle/Resources/public/js/fullcalendar.min.js'
'@CadolesCoreBundle/Resources/public/js/fullcalendar.lang.js'
-
+ '@CadolesCoreBundle/Resources/public/js/sb-admin-2.js'
+
'@Tetranz\Select2EntityBundle//Resources/public/js/select2entity.js'
'@CadolesCoreBundle/Resources/public/js/local.js'
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig
index 83005eab..ca5755d2 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig
@@ -41,483 +41,17 @@
{% endstylesheets %}
+ {% set theme = app.session.get('theme') %}
+ {% if theme is not empty %}
+
+ {% endif %}
+
-
+
+
+
+
+
diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig
index 789d4c6f..74cc76cb 100644
--- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig
@@ -1,3 +1,8 @@
+{% set theme = app.session.get('theme') %}
+{% if theme is not empty %}
+ {{ include('@Theme/'~theme~'/function.html.twig') }}
+{% endif %}
+
{% import "@CadolesPortal/Pagewidget/constants.twig" as constants %}
{% set stylewidget = constants.mystylewidget(entity) %}
@@ -18,7 +23,7 @@
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
{% endif %}
-