svg
This commit is contained in:
parent
530962dc15
commit
fefecc6cf7
|
@ -8,7 +8,7 @@ INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
|
||||||
(-100, 'DRAAF', '130007107');
|
(-100, 'DRAAF', '130007107');
|
||||||
|
|
||||||
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
|
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
|
||||||
(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}wAHoMm5DBdK1+YoDHF+e40chzyBR/vhk
|
(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}HNhgaEb5yI9ZX4o5Ydrf1+D/YeNPLIdF
|
||||||
', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple');
|
', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple');
|
||||||
|
|
||||||
|
|
||||||
|
@ -83,6 +83,7 @@ INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type
|
||||||
|
|
||||||
('050', 1, 1, 1, 'color', 'colormain', '2c3e50', '', 'Couleur principale de votre site'),
|
('050', 1, 1, 1, 'color', 'colormain', '2c3e50', '', 'Couleur principale de votre site'),
|
||||||
('051', 1, 1, 1, 'color', 'fontcolorhover', 'ffffff', '', 'Couleur de la police sur couleur principale'),
|
('051', 1, 1, 1, 'color', 'fontcolorhover', 'ffffff', '', 'Couleur de la police sur couleur principale'),
|
||||||
|
('052', 1, 1, 1, 'color', 'colorbody', 'ffffff', '', 'Couleur de fond de vos pages'),
|
||||||
|
|
||||||
('060', 1, 1, 1, 'font', 'fontfacetitle', 'Anton-Regular', '', 'Police des titres de votre site'),
|
('060', 1, 1, 1, 'font', 'fontfacetitle', 'Anton-Regular', '', 'Police des titres de votre site'),
|
||||||
('061', 1, 1, 1, 'font', 'fontfacebody', 'Helvetica', '', 'Police des titres de votre site'),
|
('061', 1, 1, 1, 'font', 'fontfacebody', 'Helvetica', '', 'Police des titres de votre site'),
|
||||||
|
|
|
@ -83,6 +83,9 @@ class ThemeController extends Controller
|
||||||
$fontcolorhover=$request->query->get('fontcolorhover');
|
$fontcolorhover=$request->query->get('fontcolorhover');
|
||||||
if(!empty($fontcolorhover)) $session->set('fontcolorhover',$fontcolorhover);
|
if(!empty($fontcolorhover)) $session->set('fontcolorhover',$fontcolorhover);
|
||||||
|
|
||||||
|
$colorbody=$request->query->get('colorbody');
|
||||||
|
if(!empty($colorbody)) $session->set('colorbody',$colorbody);
|
||||||
|
|
||||||
$fontfacetitle=$request->query->get('fontfacetitle');
|
$fontfacetitle=$request->query->get('fontfacetitle');
|
||||||
if(!empty($fontfacetitle)) $session->set('fontfacetitle',$fontfacetitle);
|
if(!empty($fontfacetitle)) $session->set('fontfacetitle',$fontfacetitle);
|
||||||
|
|
||||||
|
|
|
@ -50,9 +50,11 @@
|
||||||
|
|
||||||
$configs = $this->em->getRepository("CadolesCoreBundle:Config")->findAll();
|
$configs = $this->em->getRepository("CadolesCoreBundle:Config")->findAll();
|
||||||
foreach($configs as $config) {
|
foreach($configs as $config) {
|
||||||
|
//dump($config->getId()." = ".strval($config->getValue()));
|
||||||
$session->set($config->getId(), strval($config->getValue()));
|
$session->set($config->getId(), strval($config->getValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Calcul des couleurs
|
// Calcul des couleurs
|
||||||
$color = $this->container->get('cadoles.core.service.color');
|
$color = $this->container->get('cadoles.core.service.color');
|
||||||
$color->setColor();
|
$color->setColor();
|
||||||
|
|
|
@ -166,7 +166,7 @@ body {
|
||||||
|
|
||||||
.list-item {
|
.list-item {
|
||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
margin-top: 10px;
|
margin-top: 5px;
|
||||||
color:#ffffff;
|
color:#ffffff;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
|
@ -207,7 +207,7 @@ span.item-drag {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid-gutter-sizer { width: 0px }
|
.grid-gutter-sizer { width: 5px }
|
||||||
|
|
||||||
.grid-title {
|
.grid-title {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
@ -219,7 +219,7 @@ span.item-drag {
|
||||||
.grid .grid-item,
|
.grid .grid-item,
|
||||||
.grid .grid-sizer {
|
.grid .grid-sizer {
|
||||||
float: left;
|
float: left;
|
||||||
margin: 0px;
|
margin: 5px 0px 0px 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
width: 290px;
|
width: 290px;
|
||||||
height: 150px;
|
height: 150px;
|
||||||
|
@ -391,9 +391,13 @@ a.item-heart {
|
||||||
.grid .grid-small .grid-item-title h2 { font-size:10px; border-bottom: none; }
|
.grid .grid-small .grid-item-title h2 { font-size:10px; border-bottom: none; }
|
||||||
.grid .grid-small .grid-item-title span { display: none }
|
.grid .grid-small .grid-item-title span { display: none }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.grid .grid-image {
|
.grid .grid-image {
|
||||||
width:20%;
|
width:19.2%;
|
||||||
height:auto;
|
height:auto;
|
||||||
|
margin: 1% 0px 0px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid .grid-image .item-link {
|
.grid .grid-image .item-link {
|
||||||
|
@ -413,12 +417,14 @@ a.item-heart {
|
||||||
max-height:none;
|
max-height:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.grid-gutter-sizer-image { width: 1% }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.grid .grid-preview {
|
.grid .grid-preview {
|
||||||
width:19.2%;
|
width:19.2%;
|
||||||
min-width:220px;
|
min-width:220px;
|
||||||
height:auto;
|
height:auto;
|
||||||
margin-bottom: 10px;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -444,7 +450,7 @@ a.item-heart {
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid .grid-image {
|
.grid .grid-image {
|
||||||
width:33.3333333333%;
|
width:32.666666667%;
|
||||||
height:auto;
|
height:auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -456,7 +462,7 @@ a.item-heart {
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid .grid-image {
|
.grid .grid-image {
|
||||||
width:50%;
|
width:49.5%;
|
||||||
height:auto;
|
height:auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
{% set colormain = "2e3131" %}
|
{% set colormain = "2e3131" %}
|
||||||
{% set fontcolorhover = "" %}
|
{% set fontcolorhover = "" %}
|
||||||
|
{% set colorbody = "" %}
|
||||||
|
|
||||||
{% set fontfacetitle = "" %}
|
{% set fontfacetitle = "" %}
|
||||||
{% set fontfacebody = "" %}
|
{% set fontfacebody = "" %}
|
||||||
|
@ -19,6 +20,7 @@
|
||||||
'heightheader': heightheader,
|
'heightheader': heightheader,
|
||||||
'colormain': colormain,
|
'colormain': colormain,
|
||||||
'fontcolorhover': fontcolorhover,
|
'fontcolorhover': fontcolorhover,
|
||||||
|
'colorbody': colorbody,
|
||||||
'fontfacetitle': fontfacetitle,
|
'fontfacetitle': fontfacetitle,
|
||||||
'fontfacebody': fontfacebody
|
'fontfacebody': fontfacebody
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
{% set colormain = "6c7a89" %}
|
{% set colormain = "6c7a89" %}
|
||||||
{% set fontcolorhover = "" %}
|
{% set fontcolorhover = "" %}
|
||||||
|
{% set colorbody = "" %}
|
||||||
|
|
||||||
{% set fontfacetitle = "" %}
|
{% set fontfacetitle = "" %}
|
||||||
{% set fontfacebody = "" %}
|
{% set fontfacebody = "" %}
|
||||||
|
|
||||||
|
|
||||||
{{
|
{{
|
||||||
render(url("cadoles_core_theme_setconfig",
|
render(url("cadoles_core_theme_setconfig",
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
'heightheader': heightheader,
|
'heightheader': heightheader,
|
||||||
'colormain': colormain,
|
'colormain': colormain,
|
||||||
'fontcolorhover': fontcolorhover,
|
'fontcolorhover': fontcolorhover,
|
||||||
|
'colorbody': colorbody,
|
||||||
'fontfacetitle': fontfacetitle,
|
'fontfacetitle': fontfacetitle,
|
||||||
'fontfacebody': fontfacebody
|
'fontfacebody': fontfacebody
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
{% set colormain = "1e824c" %}
|
{% set colormain = "1e824c" %}
|
||||||
{% set fontcolorhover = "" %}
|
{% set fontcolorhover = "" %}
|
||||||
|
{% set colorbody = "" %}
|
||||||
|
|
||||||
{% set fontfacetitle = "" %}
|
{% set fontfacetitle = "" %}
|
||||||
{% set fontfacebody = "" %}
|
{% set fontfacebody = "" %}
|
||||||
|
@ -19,6 +20,7 @@
|
||||||
'heightheader': heightheader,
|
'heightheader': heightheader,
|
||||||
'colormain': colormain,
|
'colormain': colormain,
|
||||||
'fontcolorhover': fontcolorhover,
|
'fontcolorhover': fontcolorhover,
|
||||||
|
'colorbody': colorbody,
|
||||||
'fontfacetitle': fontfacetitle,
|
'fontfacetitle': fontfacetitle,
|
||||||
'fontfacebody': fontfacebody
|
'fontfacebody': fontfacebody
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
{% set colormain = "f15a22" %}
|
{% set colormain = "f15a22" %}
|
||||||
{% set fontcolorhover = "" %}
|
{% set fontcolorhover = "" %}
|
||||||
|
{% set colorbody = "" %}
|
||||||
|
|
||||||
{% set fontfacetitle = "" %}
|
{% set fontfacetitle = "" %}
|
||||||
{% set fontfacebody = "" %}
|
{% set fontfacebody = "" %}
|
||||||
|
|
||||||
|
|
||||||
{{
|
{{
|
||||||
render(url("cadoles_core_theme_setconfig",
|
render(url("cadoles_core_theme_setconfig",
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
'heightheader': heightheader,
|
'heightheader': heightheader,
|
||||||
'colormain': colormain,
|
'colormain': colormain,
|
||||||
'fontcolorhover': fontcolorhover,
|
'fontcolorhover': fontcolorhover,
|
||||||
|
'colorbody': colorbody,
|
||||||
'fontfacetitle': fontfacetitle,
|
'fontfacetitle': fontfacetitle,
|
||||||
'fontfacebody': fontfacebody
|
'fontfacebody': fontfacebody
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
{% set colormain = "96281b" %}
|
{% set colormain = "96281b" %}
|
||||||
{% set fontcolorhover = "" %}
|
{% set fontcolorhover = "" %}
|
||||||
|
{% set colorbody = "" %}
|
||||||
|
|
||||||
{% set fontfacetitle = "" %}
|
{% set fontfacetitle = "" %}
|
||||||
{% set fontfacebody = "" %}
|
{% set fontfacebody = "" %}
|
||||||
|
|
||||||
|
|
||||||
{{
|
{{
|
||||||
render(url("cadoles_core_theme_setconfig",
|
render(url("cadoles_core_theme_setconfig",
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
'heightheader': heightheader,
|
'heightheader': heightheader,
|
||||||
'colormain': colormain,
|
'colormain': colormain,
|
||||||
'fontcolorhover': fontcolorhover,
|
'fontcolorhover': fontcolorhover,
|
||||||
|
'colorbody': colorbody,
|
||||||
'fontfacetitle': fontfacetitle,
|
'fontfacetitle': fontfacetitle,
|
||||||
'fontfacebody': fontfacebody
|
'fontfacebody': fontfacebody
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
{% set colormain = "f7ca18" %}
|
{% set colormain = "f7ca18" %}
|
||||||
{% set fontcolorhover = "171717" %}
|
{% set fontcolorhover = "171717" %}
|
||||||
|
{% set colorbody = "" %}
|
||||||
|
|
||||||
{% set fontfacetitle = "" %}
|
{% set fontfacetitle = "" %}
|
||||||
{% set fontfacebody = "" %}
|
{% set fontfacebody = "" %}
|
||||||
|
|
||||||
|
|
||||||
{{
|
{{
|
||||||
render(url("cadoles_core_theme_setconfig",
|
render(url("cadoles_core_theme_setconfig",
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
'heightheader': heightheader,
|
'heightheader': heightheader,
|
||||||
'colormain': colormain,
|
'colormain': colormain,
|
||||||
'fontcolorhover': fontcolorhover,
|
'fontcolorhover': fontcolorhover,
|
||||||
|
'colorbody': colorbody,
|
||||||
'fontfacetitle': fontfacetitle,
|
'fontfacetitle': fontfacetitle,
|
||||||
'fontfacebody': fontfacebody
|
'fontfacebody': fontfacebody
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,6 +74,10 @@
|
||||||
background-color: #{{ color['main'] }}
|
background-color: #{{ color['main'] }}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#page-wrapper {
|
||||||
|
background-color: #{{ color['colorbody'] }}
|
||||||
|
}
|
||||||
|
|
||||||
.navbar-default,
|
.navbar-default,
|
||||||
.panel-primary,
|
.panel-primary,
|
||||||
.panel-primary>.panel-heading,
|
.panel-primary>.panel-heading,
|
||||||
|
|
|
@ -26,6 +26,7 @@ class colorService
|
||||||
$colordarkrgb =$this->hexToRgb($colordark);
|
$colordarkrgb =$this->hexToRgb($colordark);
|
||||||
|
|
||||||
$fontcolorhover =$session->get('fontcolorhover');
|
$fontcolorhover =$session->get('fontcolorhover');
|
||||||
|
$colorbody =$session->get('colorbody');
|
||||||
|
|
||||||
$tbcolor=array(
|
$tbcolor=array(
|
||||||
"main" =>$colormain,
|
"main" =>$colormain,
|
||||||
|
@ -37,7 +38,9 @@ class colorService
|
||||||
|
|
||||||
"fontcolorhover" =>$fontcolorhover,
|
"fontcolorhover" =>$fontcolorhover,
|
||||||
"fontcolorhoverlight" =>$this->adjustBrightness($fontcolorhover,+50),
|
"fontcolorhoverlight" =>$this->adjustBrightness($fontcolorhover,+50),
|
||||||
"fontcolorhoverdark" =>$this->adjustBrightness($fontcolorhover,-50)
|
"fontcolorhoverdark" =>$this->adjustBrightness($fontcolorhover,-50),
|
||||||
|
|
||||||
|
"colorbody" =>$colorbody,
|
||||||
);
|
);
|
||||||
|
|
||||||
$session->set('color', $tbcolor);
|
$session->set('color', $tbcolor);
|
||||||
|
|
|
@ -14,6 +14,8 @@ use Doctrine\ORM\Id\AssignedGenerator;
|
||||||
|
|
||||||
use Cadoles\PortalBundle\Entity\Icon;
|
use Cadoles\PortalBundle\Entity\Icon;
|
||||||
use Cadoles\PortalBundle\Entity\Pagecategory;
|
use Cadoles\PortalBundle\Entity\Pagecategory;
|
||||||
|
use Cadoles\PortalBundle\Entity\Page;
|
||||||
|
use Cadoles\PortalBundle\Entity\PageWidget;
|
||||||
use Cadoles\PortalBundle\Entity\Widget;
|
use Cadoles\PortalBundle\Entity\Widget;
|
||||||
use Cadoles\PortalBundle\Entity\Appexternal;
|
use Cadoles\PortalBundle\Entity\Appexternal;
|
||||||
use Cadoles\PortalBundle\Entity\Flux;
|
use Cadoles\PortalBundle\Entity\Flux;
|
||||||
|
@ -53,6 +55,14 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||||
$metadata->setIdGenerator(new AssignedGenerator());
|
$metadata->setIdGenerator(new AssignedGenerator());
|
||||||
|
|
||||||
|
$metadata = $em->getClassMetaData('CadolesPortalBundle:Page');
|
||||||
|
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||||
|
$metadata->setIdGenerator(new AssignedGenerator());
|
||||||
|
|
||||||
|
$metadata = $em->getClassMetaData('CadolesPortalBundle:Pagewidget');
|
||||||
|
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||||
|
$metadata->setIdGenerator(new AssignedGenerator());
|
||||||
|
|
||||||
$metadata = $em->getClassMetaData('CadolesPortalBundle:Itemcategory');
|
$metadata = $em->getClassMetaData('CadolesPortalBundle:Itemcategory');
|
||||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||||
$metadata->setIdGenerator(new AssignedGenerator());
|
$metadata->setIdGenerator(new AssignedGenerator());
|
||||||
|
@ -193,6 +203,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$em->persist($entityPagecategory);
|
$em->persist($entityPagecategory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//== ITEMCATEGORY========================================================================================================================================
|
//== ITEMCATEGORY========================================================================================================================================
|
||||||
$output->writeln(' > Creation Item Category');
|
$output->writeln(' > Creation Item Category');
|
||||||
|
|
||||||
|
@ -214,6 +225,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$em->persist($entityItemcategoryadm);
|
$em->persist($entityItemcategoryadm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//== ITEM ===============================================================================================================================================
|
//== ITEM ===============================================================================================================================================
|
||||||
$output->writeln(' > Creation Item');
|
$output->writeln(' > Creation Item');
|
||||||
|
|
||||||
|
@ -358,10 +370,10 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_item");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_item");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
$parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "2", "mandatory": "true"},{"id": "withbookmark", "loc": "col1", "type": "withbookmark", "label": "Avec Favoris", "value": "0", "mandatory": "true"},{"id": "itemcategory", "loc": "col1", "type": "itemcategory", "label": "Catégorie Affichée", "value": "", "mandatory": "false"}]}');
|
$parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "2", "mandatory": "true"},{"id": "withbookmark", "loc": "col1", "type": "withbookmark", "label": "Avec Favoris", "value": "0", "mandatory": "true"},{"id": "itemcategory", "loc": "col1", "type": "itemcategory", "label": "Catégorie Affichée", "value": "", "mandatory": "false"},{"id": "search", "loc": "col4", "type": "boolean", "label": "Zone de Recherche", "value": "0", "mandatory": "true"},{"id": "menu", "loc": "col4", "type": "boolean", "label": "Menu des Catégories", "value": "0", "mandatory": "true"},{"id": "menuall", "loc": "col4", "type": "boolean", "label": "Menu toutes les Catégories", "value": "1", "mandatory": "true"}]}');
|
||||||
$entityWidget->setParameter($parameter);
|
$entityWidget->setParameter($parameter);
|
||||||
$em->persist($entityWidget);
|
$em->persist($entityWidget);
|
||||||
|
|
||||||
|
@ -378,7 +390,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_alert");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_alert");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
$parameter = json_decode('{"fields": [{"id": "alertcategory", "loc": "col1", "type": "alertcategory", "label": "Catégorie Affichée", "value": "", "mandatory": "false"}]}');
|
$parameter = json_decode('{"fields": [{"id": "alertcategory", "loc": "col1", "type": "alertcategory", "label": "Catégorie Affichée", "value": "", "mandatory": "false"}]}');
|
||||||
|
@ -398,7 +410,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_flux");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_flux");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
$parameter = json_decode('{"fields": []}');
|
$parameter = json_decode('{"fields": []}');
|
||||||
|
@ -418,10 +430,10 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_bookmark");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_bookmark");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
$parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "0", "mandatory": "true"}]}');
|
$parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "2", "mandatory": "true"}]}');
|
||||||
$entityWidget->setParameter($parameter);
|
$entityWidget->setParameter($parameter);
|
||||||
$em->persist($entityWidget);
|
$em->persist($entityWidget);
|
||||||
|
|
||||||
|
@ -518,7 +530,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_galery");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_galery");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
$parameter = json_decode('{"fields": []}');
|
$parameter = json_decode('{"fields": []}');
|
||||||
|
@ -557,7 +569,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_blog");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_blog");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
$parameter = json_decode('{"fields": [{"id": "nbarticle", "loc": "col1", "type": "integer", "label": "Nombre d\'articles affichés", "value": "10", "mandatory": "true"}]}');
|
$parameter = json_decode('{"fields": [{"id": "nbarticle", "loc": "col1", "type": "integer", "label": "Nombre d\'articles affichés", "value": "10", "mandatory": "true"}]}');
|
||||||
|
@ -577,7 +589,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_rss");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_rss");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
$parameter = json_decode('{"fields": [{"id": "url", "loc": "col1", "type": "string", "label": "URL du Flux RSS", "value": "", "mandatory": "true"},{"id": "nbarticle", "loc": "col1", "type": "integer", "label": "Nombre d\'articles affichés (0 pour tout)", "value": "10", "mandatory": "true"}]}');
|
$parameter = json_decode('{"fields": [{"id": "url", "loc": "col1", "type": "string", "label": "URL du Flux RSS", "value": "", "mandatory": "true"},{"id": "nbarticle", "loc": "col1", "type": "integer", "label": "Nombre d\'articles affichés (0 pour tout)", "value": "10", "mandatory": "true"}]}');
|
||||||
|
@ -608,7 +620,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_appexternal");
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_appexternal");
|
||||||
$entityWidget->setHeight("630");
|
$entityWidget->setHeight("630");
|
||||||
$entityWidget->setAutoajust(true);
|
$entityWidget->setAutoajust(true);
|
||||||
$entityWidget->setBorder(true);
|
$entityWidget->setBorder(false);
|
||||||
$entityWidget->setOpened(true);
|
$entityWidget->setOpened(true);
|
||||||
$entityWidget->setAccess(["config","user","group"]);
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
|
|
||||||
|
@ -636,6 +648,30 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setParameter($parameter);
|
$entityWidget->setParameter($parameter);
|
||||||
$em->persist($entityWidget);
|
$em->persist($entityWidget);
|
||||||
|
|
||||||
|
// Widget Bureau Essentiel
|
||||||
|
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1850);
|
||||||
|
if(!$entityWidget) $entityWidget = new Widget();
|
||||||
|
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_computer.png"]);
|
||||||
|
$entityWidget->setId(-1850);
|
||||||
|
$entityWidget->setRoworder(2);
|
||||||
|
$entityWidget->setIcon($entityicon);
|
||||||
|
$entityWidget->setName('Bureau Essentiel');
|
||||||
|
$entityWidget->setDescription("Affiche les items de bureau essentiel");
|
||||||
|
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_itemessential");
|
||||||
|
$entityWidget->setHeight("630");
|
||||||
|
$entityWidget->setAutoajust(true);
|
||||||
|
$entityWidget->setBorder(false);
|
||||||
|
$entityWidget->setOpened(true);
|
||||||
|
$entityWidget->setAccess(["config","user","group"]);
|
||||||
|
$parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "2", "mandatory": "true"}]}');
|
||||||
|
$entityWidget->setParameter($parameter);
|
||||||
|
$em->persist($entityWidget);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Widget Séparateur
|
// Widget Séparateur
|
||||||
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1600);
|
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1600);
|
||||||
if(!$entityWidget) $entityWidget = new Widget();
|
if(!$entityWidget) $entityWidget = new Widget();
|
||||||
|
@ -694,11 +730,57 @@ class InitDataCommand extends ContainerAwareCommand
|
||||||
$entityWidget->setParameter($parameter);
|
$entityWidget->setParameter($parameter);
|
||||||
$em->persist($entityWidget);
|
$em->persist($entityWidget);
|
||||||
|
|
||||||
|
// flush
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
|
|
||||||
|
//== PAGETEMPALTE =======================================================================================================================================
|
||||||
|
$output->writeln(' > Creation Pagetemplate');
|
||||||
|
|
||||||
|
// Template app
|
||||||
|
$entityPage = $em->getRepository('CadolesPortalBundle:Page')->find(-100);
|
||||||
|
if(!$entityPage) {
|
||||||
|
$entityPagecategory = $em->getRepository('CadolesPortalBundle:Pagecategory')->find(2);
|
||||||
|
$entityGroup = $em->getRepository('CadolesCoreBundle:Group')->findOneBy(["fgall"=>true]);
|
||||||
|
|
||||||
|
$entityPage = new Page();
|
||||||
|
$entityPage->setId(-100);
|
||||||
|
$entityPage->setRowOrder(0);
|
||||||
|
$entityPage->setName('Applications');
|
||||||
|
$entityPage->setParentfor('app');
|
||||||
|
$entityPage->setMaxwidth(1000);
|
||||||
|
$entityPage->setPagecategory($entityPagecategory);
|
||||||
|
$entityPage->addGroup($entityGroup);
|
||||||
|
$entityPage->setTemplate('{"rows":[{"id":0,"cols":[{"id":0,"size": 12,"rows":[]}]}]}');
|
||||||
|
|
||||||
|
$em->persist($entityPage);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$entityPagewidget = $em->getRepository('CadolesPortalBundle:Pagewidget')->find(-110);
|
||||||
|
if(!$entityPagewidget) {
|
||||||
|
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1990);
|
||||||
|
|
||||||
|
$entityPagewidget = new Pagewidget();
|
||||||
|
$entityPagewidget->setId(-110);
|
||||||
|
$entityPagewidget->setLoc("R1C1");
|
||||||
|
$entityPagewidget->setRoworder(1);
|
||||||
|
$entityPagewidget->setName("Applications");
|
||||||
|
$entityPagewidget->setHeight($entityWidget->getHeight());
|
||||||
|
$entityPagewidget->setAutoajust($entityWidget->getAutoajust());
|
||||||
|
$entityPagewidget->setBorder($entityWidget->getBorder());
|
||||||
|
$entityPagewidget->setOpened($entityWidget->getOpened());
|
||||||
|
$entityPagewidget->setIcon($entityWidget->getIcon());
|
||||||
|
$entityPagewidget->setPage($entityPage);
|
||||||
|
$entityPagewidget->setWidget($entityWidget);
|
||||||
|
|
||||||
|
$param["fields"]=["fields"=>[["id"=>"modedesktop","value"=>2],["id"=>"withbookmark","value"=>0],["id"=>"itemcategory","value"=>null],["id"=>"menu","value"=>1],["id"=>"search","value"=>1],["id"=>"menuall","value"=>1]]];
|
||||||
|
$entityPagewidget->setParameter($param["fields"]);
|
||||||
|
|
||||||
|
$em->persist($entityPagewidget);
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$output->writeln('');
|
$output->writeln('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -289,6 +289,7 @@ class PageController extends Controller
|
||||||
if ($form->isValid()) {
|
if ($form->isValid()) {
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
$em->persist($entity);
|
$em->persist($entity);
|
||||||
|
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
if($access=="config")
|
if($access=="config")
|
||||||
|
@ -547,6 +548,37 @@ class PageController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function applicationAction(Request $request,$access=null) {
|
||||||
|
// usage soit portal / user / group
|
||||||
|
$usage=$request->query->get('usage');
|
||||||
|
$group=$request->query->get('group');
|
||||||
|
|
||||||
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
$entity = $em->getRepository($this->labelentity)->findOneBy(["parentfor"=>"app"]);
|
||||||
|
if (!$entity) {
|
||||||
|
return $this->render('CadolesCoreBundle:Core:reconnect.html.twig', [
|
||||||
|
'useheader' => false,
|
||||||
|
'usemenu' => false,
|
||||||
|
'usesidebar' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$canupdate = false;
|
||||||
|
|
||||||
|
return $this->render($this->labelentity.':viewwidget.html.twig', [
|
||||||
|
'useheader' => ($access=="config"),
|
||||||
|
'usemenu' => false,
|
||||||
|
'usesidebar' => ($access=="config"),
|
||||||
|
'entity' => $entity,
|
||||||
|
'access' => $access,
|
||||||
|
'canupdate' => $canupdate,
|
||||||
|
'mode' => "view",
|
||||||
|
'widgets' => $this->getDoctrine()->getRepository("CadolesPortalBundle:Widget")->getWidgetAccess($access,'config'),
|
||||||
|
'usage' => $usage,
|
||||||
|
'group' => $group
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function uploadAction(Request $request,$access=null) {
|
public function uploadAction(Request $request,$access=null) {
|
||||||
// Fichier temporaire uploadé
|
// Fichier temporaire uploadé
|
||||||
$tmpfile = $request->files->get('upload');
|
$tmpfile = $request->files->get('upload');
|
||||||
|
|
|
@ -7,6 +7,7 @@ use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Symfony\Component\Filesystem\Filesystem;
|
use Symfony\Component\Filesystem\Filesystem;
|
||||||
|
use Symfony\Component\Form\FormError;
|
||||||
|
|
||||||
use Cadoles\PortalBundle\Entity\Page;
|
use Cadoles\PortalBundle\Entity\Page;
|
||||||
use Cadoles\PortalBundle\Form\PagetemplateSubmitType;
|
use Cadoles\PortalBundle\Form\PagetemplateSubmitType;
|
||||||
|
@ -151,7 +152,10 @@ class PagetemplateController extends Controller
|
||||||
$form = $this->entityForm($entity,$access);
|
$form = $this->entityForm($entity,$access);
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
if ($form->isValid()) {
|
// Sur erreur
|
||||||
|
$this->getErrorForm(null,$form,$request,$entity,"submit");
|
||||||
|
|
||||||
|
if ($form->isValid() && $form->isValid()) {
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
if($access=="user") $entity->setUser($this->getUser());
|
if($access=="user") $entity->setUser($this->getUser());
|
||||||
|
|
||||||
|
@ -217,18 +221,26 @@ class PagetemplateController extends Controller
|
||||||
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
|
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
|
||||||
}
|
}
|
||||||
|
|
||||||
// On s'assure que le template est supprimable
|
|
||||||
$info="";
|
$error=false;
|
||||||
|
$this->get('session')->getFlashBag()->clear();
|
||||||
|
|
||||||
$group = $em->getRepository("CadolesCoreBundle:Group")->findOneBy(["pagetemplate"=>$entity]);
|
$group = $em->getRepository("CadolesCoreBundle:Group")->findOneBy(["pagetemplate"=>$entity]);
|
||||||
if(!$group) {
|
if($group ) {
|
||||||
|
$error=true;
|
||||||
|
$request->getSession()->getFlashBag()->add("error", "Impossible de supprimer ce modèle, il est utilisé par au moins un groupe");
|
||||||
|
}
|
||||||
|
|
||||||
|
if($entity->getParentfor()=="app") {
|
||||||
|
$error=true;
|
||||||
|
$request->getSession()->getFlashBag()->add("error", "Vous ne pouvez pas supprimer un template de type Application");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$error) {
|
||||||
// Suppression
|
// Suppression
|
||||||
$em->remove($entity);
|
$em->remove($entity);
|
||||||
$em->flush();
|
$em->flush();
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
$this->get('session')->getFlashBag()->clear();
|
|
||||||
$request->getSession()->getFlashBag()->add("error", "Impossible de supprimer ce modèle, il est utilisé par au moins un groupe");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Retour
|
// Retour
|
||||||
return $this->redirect($this->generateUrl($this->routeprimary));
|
return $this->redirect($this->generateUrl($this->routeprimary));
|
||||||
|
@ -288,4 +300,30 @@ class PagetemplateController extends Controller
|
||||||
'group' => ""
|
'group' => ""
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getErrorForm($id,$form,$request,$data,$mode) {
|
||||||
|
if ($form->get('submit')->isClicked()&&$mode=="delete") {
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($form->get('submit')->isClicked() && ($mode=="submit" )) {
|
||||||
|
if($data->getParentfor()=="app") {
|
||||||
|
$tmp=$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->findOneBy(["parentfor"=>"app"]);
|
||||||
|
if($tmp) $form->addError(new FormError("Il ne peut avoir qu'un seul template de type Application"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($form->get('submit')->isClicked() && !$form->isValid()) {
|
||||||
|
$this->get('session')->getFlashBag()->clear();
|
||||||
|
$validator = $this->get('validator');
|
||||||
|
$errors = $validator->validate($data);
|
||||||
|
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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,8 +47,10 @@ class PagewidgetController extends Controller
|
||||||
|
|
||||||
foreach($params->fields as $key => $param) {
|
foreach($params->fields as $key => $param) {
|
||||||
$tmp = $this->searchArray($values,"id",$param->id);
|
$tmp = $this->searchArray($values,"id",$param->id);
|
||||||
if(is_array($tmp))
|
if(is_array($tmp)&&!empty($tmp))
|
||||||
$params->fields[$key]->value=$tmp[0]["value"];
|
$params->fields[$key]->value=$tmp[0]["value"];
|
||||||
|
else
|
||||||
|
$params->fields[$key]->value=$param->value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->createForm(PagewidgetType::class, $entity, [
|
return $this->createForm(PagewidgetType::class, $entity, [
|
||||||
|
@ -382,6 +384,9 @@ class PagewidgetController extends Controller
|
||||||
// Récupération des paramétres du widget
|
// Récupération des paramétres du widget
|
||||||
$modedesktop=0;
|
$modedesktop=0;
|
||||||
$iditemcategory=null;
|
$iditemcategory=null;
|
||||||
|
$search=false;
|
||||||
|
$menu=false;
|
||||||
|
$menuall=true;
|
||||||
foreach($entity->getParameter()["fields"] as $parameter) {
|
foreach($entity->getParameter()["fields"] as $parameter) {
|
||||||
switch($parameter["id"]) {
|
switch($parameter["id"]) {
|
||||||
case "modedesktop":
|
case "modedesktop":
|
||||||
|
@ -396,6 +401,19 @@ class PagewidgetController extends Controller
|
||||||
$iditemcategory=$parameter["value"];
|
$iditemcategory=$parameter["value"];
|
||||||
if($iditemcategory) $itemcategoryfilter=$em->getRepository("CadolesPortalBundle:Itemcategory")->findBy(["id"=>$iditemcategory]);
|
if($iditemcategory) $itemcategoryfilter=$em->getRepository("CadolesPortalBundle:Itemcategory")->findBy(["id"=>$iditemcategory]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "search":
|
||||||
|
$search=($parameter["value"]==1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "menu":
|
||||||
|
$menu=($parameter["value"]==1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "menuall":
|
||||||
|
$menuall=($parameter["value"]==1);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -513,6 +531,132 @@ class PagewidgetController extends Controller
|
||||||
'itemcategorys' => $itemcategorys,
|
'itemcategorys' => $itemcategorys,
|
||||||
'bookmarks' => $bookmarks,
|
'bookmarks' => $bookmarks,
|
||||||
'access' => $access,
|
'access' => $access,
|
||||||
|
'search' => $search,
|
||||||
|
'menu' => $menu,
|
||||||
|
'menuall' => $menuall,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function viewitemessentialAction($id,$access="config") {
|
||||||
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
$entity = $em->getRepository($this->labelentity)->find($id);
|
||||||
|
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
|
||||||
|
|
||||||
|
// Permissions
|
||||||
|
if($access=="config") {
|
||||||
|
$canupdate = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// On s'assure que l'utilisateur à la permission de voir
|
||||||
|
$page=$entity->getPage();
|
||||||
|
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
|
||||||
|
if(!$cansee) throw $this->createNotFoundException('Permission denied');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Récupération des paramétres du widget
|
||||||
|
$modedesktop=0;
|
||||||
|
foreach($entity->getParameter()["fields"] as $parameter) {
|
||||||
|
switch($parameter["id"]) {
|
||||||
|
case "modedesktop":
|
||||||
|
$modedesktop=$parameter["value"];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Profilage
|
||||||
|
$user=$this->getUser();
|
||||||
|
$roles=($user?$user->getRoles():["ROLE_ANONYME"]);
|
||||||
|
$groups=($user?$user->getGroups():[]);
|
||||||
|
$niveau01=($user?$user->getNiveau01():[]);
|
||||||
|
|
||||||
|
// Bookmark de l'utilisateur
|
||||||
|
$bookmarks = array();
|
||||||
|
if($user)
|
||||||
|
$bookmarks=$em->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 = $em->createQueryBuilder();
|
||||||
|
$qb->select('item')
|
||||||
|
->from("CadolesPortalBundle:Item", 'item')
|
||||||
|
->where($qb->expr()->like('item.roles', $qb->expr()->literal("%$role%")))
|
||||||
|
->andWhere("item.essential=:flag")
|
||||||
|
->setParameter("flag",true);
|
||||||
|
|
||||||
|
$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 = $em->createQueryBuilder();
|
||||||
|
$qb->select('item')
|
||||||
|
->from("CadolesPortalBundle:Item", 'item')
|
||||||
|
->where(":group MEMBER OF item.groups")
|
||||||
|
->andWhere("item.essential=:flag")
|
||||||
|
->setParameter("flag",true)
|
||||||
|
->setParameter("group",$group->getGroup());
|
||||||
|
|
||||||
|
$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 = $em->createQueryBuilder();
|
||||||
|
$qb->select('item')
|
||||||
|
->from("CadolesPortalBundle:Item", 'item')
|
||||||
|
->where(":niveau01 MEMBER OF item.niveau01s")
|
||||||
|
->andWhere("item.essential=:flag")
|
||||||
|
->setParameter("flag",true)
|
||||||
|
->setParameter("niveau01",$niveau01);
|
||||||
|
|
||||||
|
$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;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Render
|
||||||
|
return $this->render($this->labelentity.':viewitemessential.html.twig', [
|
||||||
|
'entity' => $entity,
|
||||||
|
'canadd' => ($user),
|
||||||
|
'canupdate' => $canupdate,
|
||||||
|
'modedesktop' => $modedesktop,
|
||||||
|
'items' => $itemsordered,
|
||||||
|
'bookmarks' => $bookmarks,
|
||||||
|
'access' => $access,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,12 +74,19 @@ class Item
|
||||||
*/
|
*/
|
||||||
private $rowOrder;
|
private $rowOrder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var boolean
|
||||||
|
*
|
||||||
|
* @ORM\Column(name="essential", type="boolean", nullable=true, options={"default":false})
|
||||||
|
*/
|
||||||
|
private $essential = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var boolean
|
* @var boolean
|
||||||
*
|
*
|
||||||
* @ORM\Column(name="protected", type="boolean", nullable=true, options={"default":false})
|
* @ORM\Column(name="protected", type="boolean", nullable=true, options={"default":false})
|
||||||
*/
|
*/
|
||||||
protected $protected;
|
private $protected;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
|
@ -549,4 +556,28 @@ class Item
|
||||||
{
|
{
|
||||||
return $this->niveau01s;
|
return $this->niveau01s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set essential
|
||||||
|
*
|
||||||
|
* @param boolean $essential
|
||||||
|
*
|
||||||
|
* @return Item
|
||||||
|
*/
|
||||||
|
public function setEssential($essential)
|
||||||
|
{
|
||||||
|
$this->essential = $essential;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get essential
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function getEssential()
|
||||||
|
{
|
||||||
|
return $this->essential;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,6 +148,13 @@ class Page
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// A garder pour forcer l'id en init
|
||||||
|
public function setId($id)
|
||||||
|
{
|
||||||
|
$this->id = $id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
|
|
@ -141,6 +141,13 @@ class Pagewidget
|
||||||
private $slides;
|
private $slides;
|
||||||
|
|
||||||
|
|
||||||
|
// A garder pour forcer l'id en init
|
||||||
|
public function setId($id)
|
||||||
|
{
|
||||||
|
$this->id = $id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -113,7 +113,12 @@ class ItemType extends AbstractType
|
||||||
->add('url')
|
->add('url')
|
||||||
|
|
||||||
->add('protected', CheckboxType::class, [
|
->add('protected', CheckboxType::class, [
|
||||||
"label" => "Force l'authentification de l'utilisateur",
|
"label" => "Force l'authentification de l'utilisateur ?",
|
||||||
|
"required" => false
|
||||||
|
])
|
||||||
|
|
||||||
|
->add('essential', CheckboxType::class, [
|
||||||
|
"label" => "Item essentiel ?",
|
||||||
"required" => false
|
"required" => false
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ class PagetemplateSubmitType extends AbstractType
|
||||||
"choices" => [
|
"choices" => [
|
||||||
"Utilisateurs" => 'user',
|
"Utilisateurs" => 'user',
|
||||||
"Groupes" => 'group',
|
"Groupes" => 'group',
|
||||||
|
"Application" => 'app',
|
||||||
],
|
],
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -320,7 +320,10 @@ cadoles_portal_user_page_upload:
|
||||||
path: /user/page/upload
|
path: /user/page/upload
|
||||||
defaults: { _controller: CadolesPortalBundle:Page:upload, access: user }
|
defaults: { _controller: CadolesPortalBundle:Page:upload, access: user }
|
||||||
|
|
||||||
|
# Page spécifique
|
||||||
|
cadoles_portal_user_page_application:
|
||||||
|
path: /page/application
|
||||||
|
defaults: { _controller: CadolesPortalBundle:Page:application, access: user }
|
||||||
|
|
||||||
|
|
||||||
#== BOOKMARK =============================================================================================================================================
|
#== BOOKMARK =============================================================================================================================================
|
||||||
|
@ -688,6 +691,10 @@ cadoles_portal_config_panelwidget_view_item:
|
||||||
path: /config/pagewidget/view/item/{id}
|
path: /config/pagewidget/view/item/{id}
|
||||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewitem, access: config }
|
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewitem, access: config }
|
||||||
|
|
||||||
|
cadoles_portal_config_panelwidget_view_itemessential:
|
||||||
|
path: /config/pagewidget/view/itemessential/{id}
|
||||||
|
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewitemessential, access: config }
|
||||||
|
|
||||||
cadoles_portal_config_panelwidget_view_alert:
|
cadoles_portal_config_panelwidget_view_alert:
|
||||||
path: /config/pagewidget/view/alert/{id}
|
path: /config/pagewidget/view/alert/{id}
|
||||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewalert, access: config }
|
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewalert, access: config }
|
||||||
|
@ -783,6 +790,10 @@ cadoles_portal_user_panelwidget_view_item:
|
||||||
path: /pagewidget/view/item/{id}
|
path: /pagewidget/view/item/{id}
|
||||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewitem, access: user }
|
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewitem, access: user }
|
||||||
|
|
||||||
|
cadoles_portal_user_panelwidget_view_itemessential:
|
||||||
|
path: /pagewidget/view/itemessential/{id}
|
||||||
|
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewitemessential, access: user }
|
||||||
|
|
||||||
cadoles_portal_user_panelwidget_view_alert:
|
cadoles_portal_user_panelwidget_view_alert:
|
||||||
path: /pagewidget/view/alert/{id}
|
path: /pagewidget/view/alert/{id}
|
||||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewalert, access: user }
|
defaults: { _controller: CadolesPortalBundle:Pagewidget:viewalert, access: user }
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
{{ form_row(form.title) }}
|
{{ form_row(form.title) }}
|
||||||
{{ form_row(form.subtitle) }}
|
{{ form_row(form.subtitle) }}
|
||||||
|
{{ form_row(form.essential) }}
|
||||||
{{ form_row(form.content) }}
|
{{ form_row(form.content) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -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 %}
|
|
@ -464,4 +464,71 @@
|
||||||
var grid = $('.grid').masonry(optiongrid);
|
var grid = $('.grid').masonry(optiongrid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Affichage des items d'une catégorie
|
||||||
|
function showItemCat(idwidget, id) {
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-sizer").show();
|
||||||
|
|
||||||
|
$(".widget[data-id="+idwidget+"]").find("#searchitems").val("");
|
||||||
|
if(id=="all") {
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-item").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".bookmark-container").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".itemcategory-container").show();
|
||||||
|
}
|
||||||
|
else if(id=="fav") {
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-item").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".bookmark-container").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".itemcategory-container").hide();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-item").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".bookmark-container").hide();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".itemcategory-container").hide();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find("[data-idcategory="+id+"]").show();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Recherche
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".bookmark-container").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".itemcategory-container").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-item").hide();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-item[data-title*='Eportfolio']").show();
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item'};
|
||||||
|
var grid = $('.grid').masonry(optiongrid);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Affichage des items d'une catégorie
|
||||||
|
function searchItem(idwidget, label) {
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".bookmark-container").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".itemcategory-container").show();
|
||||||
|
if(label=="") {
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-item").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-title").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-sizer").show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-title").hide();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-item").hide();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-sizer").hide();
|
||||||
|
|
||||||
|
items=$(".widget[data-id="+idwidget+"]").find(".grid-item[data-title*='"+label.toLowerCase()+"']");
|
||||||
|
if(items.length) {
|
||||||
|
items.show();
|
||||||
|
items.each(function() {
|
||||||
|
category=$(this).data("idcategory");
|
||||||
|
$(".widget[data-id="+idwidget+"]").find("h3[data-idcategory="+category+"]").show();
|
||||||
|
$(".widget[data-id="+idwidget+"]").find(".grid-sizer[data-idcategory="+category+"]").show();
|
||||||
|
});
|
||||||
|
//
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item'};
|
||||||
|
var grid = $('.grid').masonry(optiongrid);
|
||||||
|
}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -140,6 +140,10 @@
|
||||||
{% set colorbodyfont = color['fontcolorhover'] %}
|
{% set colorbodyfont = color['fontcolorhover'] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if not entity.border %}
|
||||||
|
{% set colorbodyback = color['colorbody'] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if colorbodyfont == colorbodyback %}
|
{% if colorbodyfont == colorbodyback %}
|
||||||
{% if colorbodyfont == color['main'] %}
|
{% if colorbodyfont == color['main'] %}
|
||||||
{% set colorbodyfont=color['fontcolorhover'] %}
|
{% set colorbodyfont=color['fontcolorhover'] %}
|
||||||
|
@ -167,6 +171,46 @@
|
||||||
|
|
||||||
{% endmacro %}`
|
{% endmacro %}`
|
||||||
|
|
||||||
|
{% macro mystylewidgetbodyreverse(entity) %}
|
||||||
|
{% set color = app.session.get('color') %}
|
||||||
|
|
||||||
|
{% set colorbodyback = entity.colorbodyback %}
|
||||||
|
{% if colorbodyback is null %}
|
||||||
|
{% set colorbodyback = color['main'] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% set colorbodyfont = entity.colorbodyfont %}
|
||||||
|
{% if colorbodyfont is null %}
|
||||||
|
{% set colorbodyfont = color['fontcolorhover'] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if colorbodyfont == colorbodyback %}
|
||||||
|
{% if colorbodyfont == color['main'] %}
|
||||||
|
{% set colorbodyfont=color['fontcolorhover'] %}
|
||||||
|
{% else %}
|
||||||
|
{% set colorbodyfont=color['main'] %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
{% set stylewidgetbody = "" %}
|
||||||
|
{% set stylewidgetbody = stylewidgetbody ~ "background-color: #" ~ colorbodyback ~ "; " %}
|
||||||
|
{% set stylewidgetbody = stylewidgetbody ~ "color: #" ~ colorbodyfont ~ "; " %}
|
||||||
|
{% if not entity.autoajust %}
|
||||||
|
{% set stylewidgetbody = stylewidgetbody ~ "height: " ~ (entity.height-50-2) ~ "px; overflow-y: auto;" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if entity.border %}
|
||||||
|
{% set stylewidgetbody = stylewidgetbody ~ "padding:10px" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if not entity.opened %}
|
||||||
|
{% set stylewidgetbody = stylewidgetbody ~ "display:none" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ stylewidgetbody }}
|
||||||
|
|
||||||
|
{% endmacro %}`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -193,6 +237,8 @@
|
||||||
{% set colorbodyfont = color['fontcolorhover'] %}
|
{% set colorbodyfont = color['fontcolorhover'] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% set stylewidgetbodyframe = "" %}
|
{% set stylewidgetbodyframe = "" %}
|
||||||
{% set stylewidgetbodyframe = stylewidgetbodyframe ~ "background-color: #" ~ colorbodyback ~ "; " %}
|
{% set stylewidgetbodyframe = stylewidgetbodyframe ~ "background-color: #" ~ colorbodyback ~ "; " %}
|
||||||
{% set stylewidgetbodyframe = stylewidgetbodyframe ~ "color: #" ~ colorbodyfont ~ "; " %}
|
{% set stylewidgetbodyframe = stylewidgetbodyframe ~ "color: #" ~ colorbodyfont ~ "; " %}
|
||||||
|
|
|
@ -9,27 +9,9 @@
|
||||||
{% set stylewidgetmenu = constants.mystylewidgetmenu(entity) %}
|
{% set stylewidgetmenu = constants.mystylewidgetmenu(entity) %}
|
||||||
{% set stylewidgetheader = constants.mystylewidgetheader(entity) %}
|
{% set stylewidgetheader = constants.mystylewidgetheader(entity) %}
|
||||||
{% set stylewidgetbody = constants.mystylewidgetbody(entity) %}
|
{% set stylewidgetbody = constants.mystylewidgetbody(entity) %}
|
||||||
|
{% set stylewidgetbodyreverse = constants.mystylewidgetbodyreverse(entity) %}
|
||||||
{% set color = app.session.get('color') %}
|
{% set color = app.session.get('color') %}
|
||||||
|
|
||||||
{% set colorbodyfont = entity.colorbodyfont %}
|
|
||||||
{% if colorbodyfont is null %}
|
|
||||||
{% set colorbodyfont = color['fontcolorhover'] %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% set colorbodyback = entity.colorbodyback %}
|
|
||||||
{% if colorbodyback is null %}
|
|
||||||
{% set colorbodyback = color['main'] %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% set colorbodyfont = entity.colorbodyfont %}
|
|
||||||
{% if colorbodyfont is null %}
|
|
||||||
{% if colorbodyback==color['fontcolorhover'] %}
|
|
||||||
{% set colorbodyfont = color['main'] %}
|
|
||||||
{% else %}
|
|
||||||
{% set colorbodyfont = color['fontcolorhover'] %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,7 +46,7 @@
|
||||||
<span class="title">{{ entity.name }}</span>
|
<span class="title">{{ entity.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="widgetbody" style="{{ stylewidgetbody }} {% if not entity.border %} padding-top:10px; {% endif %}">
|
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
||||||
<div class="grid clearfix">
|
<div class="grid clearfix">
|
||||||
{% for blogarticle in blogarticles %}
|
{% for blogarticle in blogarticles %}
|
||||||
{% if loop.index==1 %}
|
{% if loop.index==1 %}
|
||||||
|
@ -77,8 +59,8 @@
|
||||||
{% if blogarticle.image is not empty %}
|
{% if blogarticle.image is not empty %}
|
||||||
<img src="/{{alias}}/{{blogarticle.image|replace({"/blogarticle/":"/blogarticle/thumb-"})}}" width="100%">
|
<img src="/{{alias}}/{{blogarticle.image|replace({"/blogarticle/":"/blogarticle/thumb-"})}}" width="100%">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="caption" style="background-color: #{{ colorbodyfont }}; color: #{{ colorbodyback }};">
|
<div class="caption" style="{{ stylewidgetbodyreverse }}">
|
||||||
<h1 class="grid-preview-title" style="color: #{{ colorbodyback }};">{{ blogarticle.name}}</h1>
|
<h1 class="grid-preview-title" style="color: #{{ stylewidgetbodyreverse }};">{{ blogarticle.name}}</h1>
|
||||||
<small>publié par {{ blogarticle.user.username }} le {{ blogarticle.submit|date("d/m/Y à H:i") }}<br>dans le blog {{blogarticle.blog.name }}</small>
|
<small>publié par {{ blogarticle.user.username }} le {{ blogarticle.submit|date("d/m/Y à H:i") }}<br>dans le blog {{blogarticle.blog.name }}</small>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -48,8 +48,8 @@
|
||||||
<span class="title">{{ entity.name }}</span>
|
<span class="title">{{ entity.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
{% if files|length >= 1 %}
|
||||||
{% if files|length >= 1 %}
|
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
||||||
<div class="grid clearfix">
|
<div class="grid clearfix">
|
||||||
{% for file in files|sort %}
|
{% for file in files|sort %}
|
||||||
{% if loop.index==1 %}
|
{% if loop.index==1 %}
|
||||||
|
@ -89,8 +89,8 @@
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
</div>
|
||||||
</div>
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,33 +48,35 @@
|
||||||
<span class="title">{{ entity.name }}</span>
|
<span class="title">{{ entity.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
{% if files|length>0 %}
|
||||||
<div class="grid clearfix">
|
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
||||||
{% for file in files|sort %}
|
<div class="grid clearfix">
|
||||||
{% if loop.index==1 %}
|
{% for file in files|sort %}
|
||||||
<div class="grid-sizer grid-image"></div>
|
{% if loop.index==1 %}
|
||||||
<div class="grid-gutter-sizer"></div>
|
<div class="grid-sizer grid-image"></div>
|
||||||
{% endif %}
|
<div class="grid-gutter-sizer grid-gutter-sizer-image"></div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="grid-item grid-image">
|
<div class="grid-item grid-image">
|
||||||
<div class="grid-item-content">
|
<div class="grid-item-content">
|
||||||
{% if canadd %}
|
{% if canadd %}
|
||||||
<a style="cursor:pointer" onClick="delFile('widget-{{ entity.id}}','{{file.name }}')" class="item-delete"><i style="color: #FFF" class="fa fa-trash" title="Supprimer le fichier"></i></a>
|
<a style="cursor:pointer" onClick="delFile('widget-{{ entity.id}}','{{file.name }}')" class="item-delete"><i style="color: #FFF" class="fa fa-trash" title="Supprimer le fichier"></i></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a style="cursor:pointer" onClick="showFrameitem('file-{{entity.id}}-{{loop.index}}','{{ path('cadoles_core_'~access~'_file_view',{'directory':'widget-'~entity.id,'filename':file.name,'navigation':true }) }}',true)">
|
<a style="cursor:pointer" onClick="showFrameitem('file-{{entity.id}}-{{loop.index}}','{{ path('cadoles_core_'~access~'_file_view',{'directory':'widget-'~entity.id,'filename':file.name,'navigation':true }) }}',true)">
|
||||||
|
|
||||||
<div class="item-link clearfix">
|
<div class="item-link clearfix">
|
||||||
<div class="grid-item-logo">
|
<div class="grid-item-logo">
|
||||||
<img class="grid-item-img" height="110" src="{{ file.thumb }}">
|
<img class="grid-item-img" height="110" src="{{ file.thumb }}">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{% endfor %}
|
||||||
{% endfor %}
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,10 +28,11 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="widgetheader" style="{{ stylewidgetbodyimage }}; height:100%;">
|
<div class="widgetheader" style="{{ stylewidgetbodyimage }}; height:100%;">
|
||||||
|
{% set style = "width: 90px;display: block;margin: 0px auto 10px auto; padding-top: 10px; position: inherit;height: auto;" %}
|
||||||
{% if icon %}
|
{% if icon %}
|
||||||
<img src="/{{ alias }}{{ icon }}" style="max-width: 90px; border-radius: 100%; width: auto; display: block; margin: auto; padding-top: 10px;" />
|
<img src="/{{ alias }}{{ icon }}" class="logo" style="{{ style }}" />
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src="/{{ alias }}/uploads/icon/icon_users.png" style="max-height: 100%; width: auto; display: block; margin: auto; padding-top: 10px;" />
|
<img src="/{{ alias }}/uploads/icon/icon_users.png" style="{{ style }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
{% set stylewidgetmenu = constants.mystylewidgetmenu(entity) %}
|
{% set stylewidgetmenu = constants.mystylewidgetmenu(entity) %}
|
||||||
{% set stylewidgetheader = constants.mystylewidgetheader(entity) %}
|
{% set stylewidgetheader = constants.mystylewidgetheader(entity) %}
|
||||||
{% set stylewidgetbody = constants.mystylewidgetbody(entity) %}
|
{% set stylewidgetbody = constants.mystylewidgetbody(entity) %}
|
||||||
|
{% set color = app.session.get('color') %}
|
||||||
|
|
||||||
{% if modedesktop==0 %}
|
{% if modedesktop==0 %}
|
||||||
{% set stylegrid="" %}
|
{% set stylegrid="" %}
|
||||||
|
@ -49,18 +50,52 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
||||||
|
{% 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 %}
|
||||||
|
|
||||||
|
|
||||||
|
{% if menu %}
|
||||||
|
{% if menuall %}
|
||||||
|
<div class="cat-list-feed" onClick="showItemCat({{ entity.id}},'all')" style="color:#{{ color['fontcolorhover'] }}; background-color: #{{ color['main'] }}">Tout</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if bookmarks is not empty %}
|
||||||
|
<div class="cat-list-feed" onClick="showItemCat({{ entity.id}},'fav')" style="color:#{{ color['fontcolorhover'] }}; background-color: #{{ color['main'] }}"><i class="fa fa-heart"></i></div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for itemcategory in mycategs %}
|
||||||
|
<div class="cat-list-feed" onClick="showItemCat({{ entity.id}},{{itemcategory.id}})" style="color:#{{ color['fontcolorhover'] }}; background-color: #{{ color['main'] }}">{{itemcategory.label}}</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if search %}
|
||||||
|
<div class="input-group">
|
||||||
|
<span class="input-group-addon" id="basic-addon1"><i class="fa fa-search"></i></span>
|
||||||
|
<input onKeyup="searchItem({{ entity.id}},$(this).val());" type="text" id="searchitems" name="searchitems" class="form-control" placeholder="Recherche" aria-describedby="basic-addon1">
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if bookmarks is not empty %}
|
{% if bookmarks is not empty %}
|
||||||
<div class="bookmark-container">
|
<div class="bookmark-container">
|
||||||
{% if items is not empty %}
|
{% if items is not empty %}
|
||||||
<h3 class="grid-title" data-idcategory="bookmark" style="{{ colorbodyfont }}">Favoris</h3>
|
<h3 class="grid-title bookmark-container" data-idcategory="bookmark" style="{{ colorbodyfont }}">Favoris</h3>
|
||||||
{% else %}
|
{% else %}
|
||||||
<p></p>
|
<p></p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="grid clearfix">
|
<div class="grid clearfix">
|
||||||
<div class="grid-sizer {{ stylegrid }}"></div>
|
<div class="grid-sizer {{ stylegrid }}" data-idcategory="bookmark"></div>
|
||||||
<div class="grid-gutter-sizer"></div>
|
<div class="grid-gutter-sizer"></div>
|
||||||
{% for bookmark in bookmarks %}
|
{% for bookmark in bookmarks %}
|
||||||
<div class="grid-item {{ stylegrid }}">
|
<div class="grid-item {{ stylegrid }}" data-idcategory="bookmark" data-title="{{ bookmark.title|lower }}">
|
||||||
<div class="grid-item-content" style="background-color: {{ bookmark.color ? "#"~bookmark.color : '#'~colormain }};">
|
<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>
|
<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>
|
||||||
|
|
||||||
|
@ -92,48 +127,53 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
|
||||||
<div class="bookmark-container" style="display:none">
|
|
||||||
<h3 class="grid-title" data-idcategory="bookmark" style="{{ colorbodyfont }}">Favoris</h3>
|
|
||||||
<div class="grid clearfix">
|
|
||||||
<div class="grid-sizer {{ stylegrid }}"></div>
|
|
||||||
<div class="grid-gutter-sizer"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% 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 %}
|
|
||||||
|
|
||||||
|
{% set firstcat=true %}
|
||||||
{% for itemcategory in mycategs %}
|
{% for itemcategory in mycategs %}
|
||||||
{% set haveitem=false %}
|
{% set haveitem=false %}
|
||||||
|
|
||||||
{% for item in items if item.itemcategory==itemcategory %}
|
{% for item in items if item.itemcategory==itemcategory %}
|
||||||
|
|
||||||
{% if loop.index ==1 %}
|
{% if loop.index ==1 %}
|
||||||
{% set haveitem=true %}
|
{% set haveitem=true %}
|
||||||
|
|
||||||
{% if mycategs|length > 1 or bookmarks is not empty %}
|
{% if bookmarks is not empty %}
|
||||||
<h3 class="grid-title" style="{{ colorbodyfont }}" data-idcategory="{{ itemcategory.id }}">{{ itemcategory.label }}</h3>
|
{% set toview=true %}
|
||||||
{% else %}
|
{% if menu and not menuall%}
|
||||||
<p></p>
|
{% set toview=false %}
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
{% if menu and not menuall%}
|
||||||
|
{% if firstcat %}
|
||||||
|
{% set toview=true %}
|
||||||
|
{% else %}
|
||||||
|
{% set toview=false %}
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
{% set toview=true %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% set firstcat=false %}
|
||||||
|
|
||||||
|
{% set style="" %}
|
||||||
|
{% if not toview %}
|
||||||
|
{% set style="display:none;" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if mycategs|length > 1 or bookmarks is not empty %}
|
||||||
|
<h3 class="grid-title itemcategory-container" style="{{ colorbodyfont }} {{ style }}" data-idcategory="{{ itemcategory.id }}">{{ itemcategory.label }}</h3>
|
||||||
|
{% else %}
|
||||||
|
<p></p>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="grid clearfix itemcategory-container" data-idcategory="{{ item.itemcategory.id }}" style="{{ style }}">
|
||||||
|
<div class="grid-sizer {{ stylegrid }}" data-idcategory="{{ item.itemcategory.id }}"></div>
|
||||||
|
<div class="grid-gutter-sizer"></div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="grid clearfix">
|
<div class="grid-item {{ stylegrid }}" data-idcategory="{{ item.itemcategory.id }}" data-iditem="{{ item.id }}" data-title="{{ item.title|lower }}">
|
||||||
<div class="grid-sizer {{ stylegrid }}"></div>
|
|
||||||
<div class="grid-gutter-sizer"></div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="grid-item {{ stylegrid }}" data-idcategory="{{ item.itemcategory.id }}" data-iditem="{{ item.id }}">
|
|
||||||
<div class="grid-item-content" style="background-color: {{ item.color ? "#"~item.color : '#'~colormain }};">
|
<div class="grid-item-content" style="background-color: {{ item.color ? "#"~item.color : '#'~colormain }};">
|
||||||
{% if item.content %}
|
{% 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>
|
<a style="cursor:pointer" class="item-preview"><i style="color: #FFF" class="fa fa-info" title="Informations sur ce service"></i></a>
|
||||||
|
|
|
@ -0,0 +1,147 @@
|
||||||
|
{% 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 colormain = constants.mycolormain() %}
|
||||||
|
{% set stylewidget = constants.mystylewidget(entity) %}
|
||||||
|
{% set stylewidgetmenu = constants.mystylewidgetmenu(entity) %}
|
||||||
|
{% set stylewidgetheader = constants.mystylewidgetheader(entity) %}
|
||||||
|
{% set stylewidgetbody = constants.mystylewidgetbody(entity) %}
|
||||||
|
|
||||||
|
{% if modedesktop==0 %}
|
||||||
|
{% set stylegrid="" %}
|
||||||
|
{% elseif modedesktop==1 %}
|
||||||
|
{% set stylegrid="grid-medium" %}
|
||||||
|
{% elseif modedesktop==2 %}
|
||||||
|
{% set stylegrid="grid-small" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% set colorbodyfont = "" %}
|
||||||
|
{% if entity.colorbodyfont is not null %}
|
||||||
|
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="widget {%if entity.border %} widget-bordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
|
{% if canupdate or canadd %}
|
||||||
|
<div class="widgetmenu">
|
||||||
|
{% if canupdate %}
|
||||||
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
<i class="fa fa-file fa-fw" onClick="modWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if canadd and access!="config"%}
|
||||||
|
<a href="{{ path('cadoles_portal_user_page_application') }}">
|
||||||
|
<i class="fa fa-plus fa-fw" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="widgetheader" style="{{ stylewidgetheader }}">
|
||||||
|
{% if entity.icon %}
|
||||||
|
<img src="/{{ alias }}/{{ entity.icon.label }}" class="logo"/>
|
||||||
|
{% else %}
|
||||||
|
<img src="/{{ alias }}/uploads/icon/icon_pin.png" class="logo"/>
|
||||||
|
{% endif %}
|
||||||
|
<span class="title">{{ entity.name }}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="widgetbody" style="{{ stylewidgetbody }}">
|
||||||
|
<div class="grid clearfix">
|
||||||
|
<div class="grid-sizer {{ stylegrid }}"></div>
|
||||||
|
<div class="grid-gutter-sizer"></div>
|
||||||
|
|
||||||
|
{% for bookmark in bookmarks %}
|
||||||
|
<div class="grid-item {{ stylegrid }}">
|
||||||
|
<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 %}
|
||||||
|
|
||||||
|
|
||||||
|
{% for item in items %}
|
||||||
|
<div class="grid-item {{ stylegrid }}" 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 canadd %}
|
||||||
|
<a style="cursor:pointer" onClick="heartBookmark({{ item.id }})" class="item-heart"><i style="color: #FFF" class="fa fa-heart" title="Ajouter aux favoris"></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 %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,7 @@ INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type
|
||||||
|
|
||||||
('050', 1, 1, 1, 'color', 'colormain', '2c3e50', '', 'Couleur principale de votre site'),
|
('050', 1, 1, 1, 'color', 'colormain', '2c3e50', '', 'Couleur principale de votre site'),
|
||||||
('051', 1, 1, 1, 'color', 'fontcolorhover', 'ffffff', '', 'Couleur de la police sur couleur principale'),
|
('051', 1, 1, 1, 'color', 'fontcolorhover', 'ffffff', '', 'Couleur de la police sur couleur principale'),
|
||||||
|
('052', 1, 1, 1, 'color', 'colorbody', 'ffffff', '', 'Couleur de fond de vos pages'),
|
||||||
|
|
||||||
('060', 1, 1, 1, 'font', 'fontfacetitle', 'Anton-Regular', '', 'Police des titres de votre site'),
|
('060', 1, 1, 1, 'font', 'fontfacetitle', 'Anton-Regular', '', 'Police des titres de votre site'),
|
||||||
('061', 1, 1, 1, 'font', 'fontfacebody', 'Helvetica', '', 'Police des titres de votre site'),
|
('061', 1, 1, 1, 'font', 'fontfacebody', 'Helvetica', '', 'Police des titres de votre site'),
|
||||||
|
|
Loading…
Reference in New Issue