{{- form_label(form) }}
{{- form_widget(form) }}
{{ form_errors(form) }}
diff --git a/templates/Icon/select.html.twig b/templates/Icon/select.html.twig
index 6224f66..30a9287 100644
--- a/templates/Icon/select.html.twig
+++ b/templates/Icon/select.html.twig
@@ -3,7 +3,7 @@
{% block body %}
diff --git a/templates/Include/sidebaradmin.html.twig b/templates/Include/sidebaradmin.html.twig
index cc84ce6..26f6aff 100755
--- a/templates/Include/sidebaradmin.html.twig
+++ b/templates/Include/sidebaradmin.html.twig
@@ -70,14 +70,20 @@
'name' : 'PORTAIL',
'items' : [
{
- icon: 'fa fa-bell',
- route: 'app_admin_alert',
- name: 'Annonces',
- },
+ icon: 'fa fa-copy fa-fw',
+ route: 'app_admin_pagetemplate',
+ name: 'Modèles de Page',
+ },
+
{
icon: 'fa fa-desktop',
route: 'app_admin_item',
name: 'Items',
+ },
+ {
+ icon: 'fa fa-bell',
+ route: 'app_admin_alert',
+ name: 'Annonces',
},
{
icon: 'fa fa-bug',
diff --git a/templates/Page/application.html.twig b/templates/Page/application.html.twig
new file mode 100644
index 0000000..c8657b6
--- /dev/null
+++ b/templates/Page/application.html.twig
@@ -0,0 +1,334 @@
+
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% set color = app.session.get('color') %}
+{% set colormain = color['main'] %}
+
+{% block pagewrapper %}
+
+
+
qsdfqsdfqsd
+
+
+ {% if bookmarks is not empty %}
+
+ {% if items is not empty %}
+
Favoris
+ {% else %}
+
+ {% endif %}
+
+
+
+ {% for bookmark in bookmarks %}
+
+ {% endfor %}
+
+
+ {% else %}
+
+ {% 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 %}
+
{{ itemcategory.label }}
+ {% else %}
+
+ {% endif %}
+
+
+
+
+ {% endif %}
+
+
+ {% endfor %}
+ {% if haveitem %}
+
+ {% endif %}
+ {% endfor %}
+
+
+{% 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('
');
+ 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('
');
+
+ $(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("
");
+
+
+ resizeFrame();
+ }
+
+{% endblock %}
diff --git a/templates/Page/default.html.twig b/templates/Page/default.html.twig
new file mode 100644
index 0000000..1f24738
--- /dev/null
+++ b/templates/Page/default.html.twig
@@ -0,0 +1,141 @@
+{% extends 'base.html.twig' %}
+
+{% block localstyle %}
+.thumbnail {
+ text-align:center;
+}
+
+.thumbnail img {
+ width:200px;
+ border: 5px solid #fff;
+ border-radius: 10px;
+}
+
+.caption p {
+ text-align:justify;
+ font-size:14px;
+ word-wrap: break-word;
+
+}
+
+.caption ul {
+ margin-top:-10px;
+ padding-left: 20px;
+}
+
+.caption li {
+ text-align:left;
+ font-size:14px;
+ word-wrap: break-word;
+ font-style: italic;
+
+}
+
+h3 {
+ margin-top:10px;
+}
+{% endblock %}
+
+
+{% block body %}
+
+
+
+
+
+
+
+
+
Portail
Profilé
+
Tous les éléments du portail peuvent être distribués en fonction du profil de l'utilisateur.
+
Il est possible de définir le profil de l'utilisateur en fonction :
+
+ - De son groupe d'appartenance
+ - D'attributs Annuaire
+ - D'attributs SSO
+
+
+
En fonction du profil de l'utilisateur, il est possible de distribuer :
+
+ - Des pages en onglet
+ - Des Flux RSS
+ - Des Annonces
+ - Des Applications Web
+ - Des Calendriers
+
+
+
+
+
+
+
+
+
+
+
+
Portail
Personnalisable
+
En fonction de la configuration et de leur profil, les utilisateurs du portail sont libres de créer leur propre page.
+
Les pages de l'utilisateur pouvant prendre plusieurs formes :
+
+ - Une page pointant sur l'adresse d'un autre site
+ - Une page construite par l'utilisateur via l'utilisation d'un éditeur riche
+ - Une page constituée de widgets qu'il dispose selon son libre choix
+
+
+
+
+
+
+
+
+
+
+
+
+
Portail
Evolutif
+
Ninegate est évolutif dans le sens où, vous disposerez d'une large bibliothèque de widgets qui composeront vos pages.
+
Voici quelques exemples :
+
+ - Widget URL
+ - Widget Flux RSS
+ - Widget Editeur de texte
+ - Widget Gestionnaire de tâches
+ - Widget Calendriers
+ - Widget Favoris
+ - Widget Dépôt de Fichiers
+ - Et bien d'autres encore
+
+
+
+
+
+
+
+
+
+
+
PortailOpen Source
+
Ce projet est opensource
+
+ - Vous pouvez à tout moment modifier le code de votre portail
+ - Distribuer {{ app.session.get('appname') }}
+
+
+
Ninegate est développé dans le cadre du projet Envole. Vous pourrez trouver le code source de Ninegate sur la forge du projet
+
Ninegate est propulsé par la société Cadoles
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/templates/Page/list.html.twig b/templates/Page/list.html.twig
new file mode 100644
index 0000000..b93abbd
--- /dev/null
+++ b/templates/Page/list.html.twig
@@ -0,0 +1,89 @@
+{% extends 'base.html.twig' %}
+
+
+{% block body %}
+
+
+
Ajouter une Page
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action |
+ Ordre |
+ Nom |
+ Catégorie |
+ Propriétaire |
+
+
+
+
+
+
+{% endblock %}
+
+{% block localjavascript %}
+ $(document).ready(function() {
+ {% if not app.session.get('alluserpage') is empty %}
+ var state={{ app.session.get('alluserpage') }};
+ if(state) {
+ $("#labelalluser").html("Afficher les pages non liées à un utilisateur");
+ $("#alluser").attr('checked', true);
+ }
+ {% endif %}
+
+ table = $('#dataTables').DataTable({
+ columnDefs: [ { "targets": 'no-sort', "orderable": false } ],
+ responsive: true,
+ iDisplayLength: 100,
+ order: [[ 1, "asc" ]],
+ processing: true,
+ serverSide: true,
+ ajax: {
+ "url": "{{ path('app_config_page_ajax_list') }}",
+ "data": function ( d ) {
+ return $.extend( {}, d, {
+ "alluser": $('#alluser').is(':checked')
+ });
+ }
+ },
+
+ drawCallback: function(settings) {
+ $("a[data-method='delete']").click(function(){
+ if( !confirm('Êtes-vous sûr de vouloir supprimer cette page ?')) {
+ return false;
+ }
+ });
+ }
+ });
+ });
+
+ $('#alluser').change(function() {
+ if (typeof table !== 'undefined') {
+ table.ajax.reload();
+ }
+
+ var check = $('#alluser').is(':checked');
+ if(check)
+ $("#labelalluser").html("Afficher les pages non liées à un utilisateur");
+ else
+ $("#labelalluser").html("Afficher les pages créées par des utilisateurs");
+
+ });
+
+{% endblock %}
diff --git a/templates/Page/menugroupe.html.twig b/templates/Page/menugroupe.html.twig
new file mode 100644
index 0000000..4538fdd
--- /dev/null
+++ b/templates/Page/menugroupe.html.twig
@@ -0,0 +1,109 @@
+ {% if not inmenu %}
+
+ {% for groupshared in groupsshared %}
+ {% for page in groupshared.pagesshared %}
+ {% set forcereload=true %}
+ {% if page.pagecategory.id==1 %}
+ {% set forcereload=page.toreload %}
+ {% endif %}
+
+ {% set isactive="" %}
+ {% if entity.id is defined and page.id==entity.id %}
+ {% set isactive="active" %}
+ {% endif %}
+
+
+ {% endif %}
+ {% endfor %}
+ {% endfor %}
+
+ {% else %}
+ {% for groupshared in groupsshared %}
+ {% if groupshared.pagesshared|length == 1 %}
+ {% set page = groupshared.pagesshared[0] %}
+ {% set forcereload=true %}
+ {% if page.pagecategory.id==1 %}
+ {% set forcereload=page.toreload %}
+ {% endif %}
+
+ {% set isactive="" %}
+ {% if entity.id is defined and page.id==entity.id %}
+ {% set isactive="class='active'" %}
+ {% endif %}
+
+
+ {% else %}
+
+ {% endif %}
+ {% endfor %}
+ {% endif %}
\ No newline at end of file
diff --git a/templates/Page/noportal.html.twig b/templates/Page/noportal.html.twig
new file mode 100644
index 0000000..c8657b6
--- /dev/null
+++ b/templates/Page/noportal.html.twig
@@ -0,0 +1,334 @@
+
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% set color = app.session.get('color') %}
+{% set colormain = color['main'] %}
+
+{% block pagewrapper %}
+
+
+
qsdfqsdfqsd
+
+
+ {% if bookmarks is not empty %}
+
+ {% if items is not empty %}
+
Favoris
+ {% else %}
+
+ {% endif %}
+
+
+
+ {% for bookmark in bookmarks %}
+
+ {% endfor %}
+
+
+ {% else %}
+
+ {% 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 %}
+
{{ itemcategory.label }}
+ {% else %}
+
+ {% endif %}
+
+
+
+
+ {% endif %}
+
+
+ {% endfor %}
+ {% if haveitem %}
+
+ {% endif %}
+ {% endfor %}
+
+
+{% 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('
');
+ 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('
');
+
+ $(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("
");
+
+
+ resizeFrame();
+ }
+
+{% endblock %}
diff --git a/templates/Page/pages.html.twig b/templates/Page/pages.html.twig
new file mode 100644
index 0000000..274c035
--- /dev/null
+++ b/templates/Page/pages.html.twig
@@ -0,0 +1,571 @@
+
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% block localstyle %}
+ body{overflow-y:hidden}
+{% endblock %}
+
+{% block appmenu %}
+
+ {% for page in pagesadmin %}
+ {% set forcereload=true %}
+ {% if page.pagecategory.id==1 %}
+ {% set forcereload=page.toreload %}
+ {% endif %}
+
+ {% set usage="portal" %}
+ {% if loop.first %} {% set usage="accueil" %} {%endif %}
+
+ {% if entity.id is defined and page.id==entity.id %}
+
+ {% else %}
+
+ {% endif %}
+ {% endfor %}
+
+
+
+ {% for page in pagesuser %}
+ {% set forcereload=true %}
+ {% if page.pagecategory.id==1 %}
+ {% set forcereload=page.toreload %}
+ {% endif %}
+
+
+ {% if entity.id is defined and page.id==entity.id %}
+
+ {% else %}
+
+ {% endif %}
+ {% endfor %}
+
+
+
+
+
+ {% set nbgroupregrouped=5 %}
+ {% if groupsshared|length > nbgroupregrouped %}
+
+ {%else%}
+ {% set inmenu=true %}
+ {{ include('@CadolesPortal/Page/menugroupe.html.twig') }}
+ {% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
+
+{% block pagewrapper %}
+
+
+
+ {% if activate_widonlyoffice %}
+
+ {% endif %}
+
+ {% set nbgroupregrouped=5 %}
+ {% if groupsshared|length > nbgroupregrouped %}
+
+
+
+
+
+
+
+ Annuler
+
+
+ {% set inmenu=false %}
+ {{ include('@CadolesPortal/Page/menugroupe.html.twig') }}
+
+
+
+
+ {%endif%}
+
+
+
+
+
+ {%if app.user %}
+
+ {% endif %}
+
+{% endblock %}
+
+{% block localexternalscript %}
+ {% if app.user %}
+
+
+ {% endif %}
+{% endblock %}
+
+{% block localjavascript %}
+ var idpage;
+ pagebookmark="{{app.session.get("pagebookmark")}}";
+
+ $('document').ready(function(){
+ {% if gotoroute is empty %}
+ {% for page in pagesadmin %}
+ {% if page.id==entity.id %}
+ {% set usage="portal" %}
+ {% if loop.first %} {% set usage="accueil" %} {%endif %}
+ showPage({{ page.id }}, {{ page.pagecategory.id }},'{{ page.canupdate }}','{{usage}}',false,null,'{{page.name}}');
+ {% endif %}
+ {% endfor %}
+
+ {% for page in pagesuser %}
+ {% if page.id==entity.id %}
+ showPage({{ page.id }}, {{ page.pagecategory.id }},'{{ page.canupdate }}','user',false,null,'{{page.name}}');
+ {% endif %}
+ {% endfor %}
+
+ {% for groupshared in groupsshared %}
+ {% for page in groupshared.pagesshared %}
+ {% if page.id==entity.id %}
+ showPage({{ page.id }}, {{ page.pagecategory.id }},'{{ page.canupdate }}','group',true,{{groupshared.id}},'{{page.name}}');
+ {% endif %}
+ {% endfor %}
+ {% endfor %}
+ {% else %}
+ var url="{{ path(gotoroute,{id:gotoid}) }}";
+ showGoto(url);
+ {% endif %}
+
+ // Rendre les pages user déplacable
+ $("#pagesuser").sortable({
+ axis: "x",
+ forcePlaceholderSize: true,
+ placeholder: "placeholder",
+ update: function( event, ui ) {
+ $('#pagesuser li').each(function(order) {
+ var idpage=$(this).attr('id').replace("menupage-","");
+ $.ajax({
+ method: "POST",
+ url: "{{ path('cadoles_portal_'~access~'_page_order') }}",
+ data: {
+ id:idpage,
+ order:order
+ }
+ });
+ });
+ }
+ });
+
+ // Initialisation du tableau des widgets selectionnable à la création
+ $('.table').DataTable({
+ columnDefs: [ { "targets": 'no-sort', "orderable": false }, { "targets": 0, "className": "text-center" } ],
+ responsive: true,
+ iDisplayLength: 10,
+ order: [[ 1, "asc" ]],
+ });
+
+ {% if app.user and app.session.get("timerefreshnotif") > 0%}
+ setInterval(function(){
+ loadmsgCounter()
+ }, {{(app.session.get("timerefreshnotif")*1000)}});
+ {% endif %}
+ });
+
+ $(window).resize(function() {
+ resizeFrame();
+ });
+
+ function resizeFrame() {
+ var iFrame = document.getElementById('frameContent');
+
+ var heightbody = $('html').height();
+
+ if($('.header').length)
+ var heightheader = $('.header').height();
+ else
+ var heightheader = $('.navbarsmall').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);
+ });
+ }
+
+
+ // Affichage des frames associés aux items de bureau
+ function showFrameitem(id,url,forcereload) {
+ $(".pageframereload").remove();
+ $(".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 {
+ var myclass="";
+ if(forcereload) myclass="pageframereload";
+ $("#pagecontainer").append("
");
+ }
+
+ resizeFrame();
+ }
+
+ // Affichages des pages
+ function showPage(id,catid,canupdate,usage,forcereload,groupid,pagename) {
+ // Sauvegarder la page en cours
+ idpage=id;
+
+ // Cacher toutes les pages
+ $(".pageframereload").remove();
+ $(".pageframe").hide();
+
+ // Rendre actif le page en cours dans le menu
+ $(".navbar-top-links li").removeClass("active");
+ $(".dropdown-toggle").removeClass("dropdownactive");
+
+ $("#menupage-"+id).addClass("active");
+ $('a[data-group="'+groupid+'"][data-toggle="dropdown"]').addClass("dropdownactive");;
+
+ var url="{{ path('cadoles_portal_user_page_view',{id:'xx',usage:'yy','group':'zz'}) }}";
+ url=url.replace('xx',id);
+ url=url.replace('yy',usage);
+ url=url.replace('zz',groupid);
+
+ passurl="{{ path('cadoles_core_home',{id:'xx'}) }}";
+ passurl=passurl.replace('xx',id);
+ history.pushState('data to be passed', 'Title of the page', passurl);
+
+ // Si force le rechargement et frame existante on la détruit
+ if(forcereload&&$("#page-"+id).length)
+ $("#page-"+id).remove();
+
+ // Si la frame en cours existe déjà on l'affiche
+ if($("#page-"+id).length)
+ $("#page-"+id).show();
+ // Sinon on la génère
+ else {
+ var myclass="";
+ if(forcereload) myclass="pageframereload";
+ $("#pagecontainer").append("
");
+ }
+
+ // Détruire le badge associé car normalement de fait on a lu les notif
+ if(usage=="group") {
+ $("#badge-"+groupid).remove()
+ }
+
+ // Nom de la page
+ console.log(pagename);
+ $("#menuname").html(pagename);
+
+ // Cacher les actions possibles sur la page
+ $("#menuupdate").hide();
+ $("#menushare").hide();
+ $("#menudelete").hide();
+ $("#menubookmark").hide();
+ $("#menuwidgetuser").hide();
+ $("#menuwidgetgroup").hide();
+
+ if(canupdate) {
+ $("#menuupdate").show();
+ $("#menushare").show();
+ $("#menudelete").show();
+ }
+
+ {% if app.user %}
+
+ if(id==pagebookmark) {
+ $("#menubookmark").css("color","red");
+ $("#menubookmark").attr("title","Ne plus faire de cette page votre page d'accueil")
+ }
+ else {
+ $("#menubookmark").css("color","");
+ $("#menubookmark").attr("title","Faire de cette page votre page d'accueil")
+ }
+
+ $("#menubookmark").show();
+ {% endif %}
+
+ // Si page de type widget on affiche la selection des widgets à insérer
+ if($("#page-"+id).data('category')==2&&canupdate) {
+ if(usage=="user") $("#menuwidgetuser").show();
+ if(usage=="group") $("#menuwidgetgroup").show();
+
+ }
+
+ // On resize les frame
+ resizeFrame();
+
+ // Mettre le focus dans la frame
+ //$("#page-"+id).contentWindow.focus();
+ }
+
+ // Affichages des pages
+ function showGoto(url) {
+ $("#pagecontainer").append("
");
+
+ // On resize les frame
+ resizeFrame();
+ }
+
+
+ function submitPage() {
+ var url="{{ path('cadoles_portal_'~access~'_page_submit') }}";
+ $(location).attr('href',url);
+ }
+
+ function updatePage() {
+ if($("#page-"+idpage).length) {
+ var url="{{ path('cadoles_portal_'~access~'_page_update',{id:'xx'}) }}";
+ url=url.replace('xx',idpage);
+
+ $(location).attr('href',url);
+ }
+ }
+
+ function sharePage() {
+ if($("#page-"+idpage).length) {
+ var url="{{ path('cadoles_portal_'~access~'_page_share',{id:'xx'}) }}";
+ url=url.replace('xx',idpage);
+
+ $(location).attr('href',url);
+ }
+ }
+
+ function deletePage() {
+ if($("#page-"+idpage).length) {
+ if (confirm('Êtes-vous sûr de vouloir supprimer ?')) {
+ var url="{{ path('cadoles_portal_'~access~'_page_delete',{id:'xx'}) }}";
+ url=url.replace('xx',idpage);
+
+ $(location).attr('href',url);
+ }
+ }
+ }
+
+ function bookmarkPage() {
+ {% if app.user %}
+ if($("#page-"+idpage).length) {
+ if(pagebookmark==idpage)
+ confirmtext="Votre page d'accueil redevient l'accueil général de {{ app.session.get("appname") }}.";
+ else
+ confirmtext="Cette page sera votre page d'acueil à l'ouverture de {{ app.session.get("appname") }}, vous pourrez à tout moment changer de page d'accueil.";
+
+ if (confirm(confirmtext)) {
+ $.ajax({
+ method: "POST",
+ url: "{{ path('cadoles_core_user_preference') }}",
+ data: {
+ id:0,
+ key:'pagebookmark',
+ value: idpage
+ },
+ success: function() {
+ if(pagebookmark==idpage) {
+ pagebookmark="";
+ $("#menubookmark").css("color","");
+ $("#menubookmark").attr("title","Faire de cette page votre page d'accueil")
+ }
+ else {
+ pagebookmark=idpage;
+ $("#menubookmark").css("color","red");
+ $("#menubookmark").attr("title","Ne plus faire de cette page votre page d'accueil")
+ }
+ }
+ });
+ }
+ }
+ {% endif %}
+ }
+
+ // Création d'un widget selectionné
+ function selWidget(idwidgettype) {
+ var url="{{ path('cadoles_portal_user_pagewidget_widget_sumbit',{idpage:'yy',idwidgettype:'xx'})}}";
+ url=url.replace('xx',idwidgettype);
+ url=url.replace('yy',idpage);
+
+ $(location).attr('href', url);
+ };
+
+ function loadmsgCounter() {
+
+ $.ajax({
+ method: "POST",
+ url: "{{ path('cadoles_portal_user_page_ajax_msgcounter') }}",
+ success: function(data) {
+ $.each(data, function(group, counter) {
+ menu=$("a[data-group='"+group+"']");
+ if(menu.length) {
+ if(menu.children(".badge").length) {
+ if(counter==0)
+ menu.remove();
+ else
+ menu.children(".badge").html(counter);
+ }
+ else if(counter>0)
+ menu.append("
"+counter+"
+ Partage Page
+
+
+
+ {{ form_widget(form.submit) }}
+ {% if access=="config" %}
+ Annuler
+ {% else %}
+ Annuler
+ {% endif %}
+
+
+ {% if app.session.flashbag.has('error') %}
+
+ Erreur
+ {% for flashMessage in app.session.flashbag.get('error') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+ {% if app.session.flashbag.has('notice') %}
+
+ Information
+ {% for flashMessage in app.session.flashbag.get('notice') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+
+
+ Informations
+
+
+
+ {{ form_row(form.groups) }}
+
+
+{{ form_end(form) }}
+{% endblock %}
diff --git a/templates/Page/submit.html.twig b/templates/Page/submit.html.twig
new file mode 100644
index 0000000..383b2c3
--- /dev/null
+++ b/templates/Page/submit.html.twig
@@ -0,0 +1,86 @@
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% block pagewrapper %}
+{{ form_start(form) }}
+
+ Nouvelle Page
+
+
+
+ {{ form_widget(form.submit) }}
+ {% if access=="config" %}
+ Annuler
+ {% else %}
+ Annuler
+ {% endif %}
+
+
+ {% if app.session.flashbag.has('error') %}
+
+ Erreur
+ {% for flashMessage in app.session.flashbag.get('error') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+ {% if app.session.flashbag.has('notice') %}
+
+ Information
+ {% for flashMessage in app.session.flashbag.get('notice') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+
+
+ Informations
+
+
+
+ {{ form_row(form.name) }}
+ {{ form_row(form.pagecategory) }}
+ {{ form_row(form.usage) }}
+ {% if form.user is defined %}
+ {{ form_row(form.user) }}
+ {% endif %}
+
+
{{ form_row(form.page) }}
+
{{ form_row(form.groups) }}
+ {{ form_row(form.roworder) }}
+ {{ form_row(form.fonticon) }}
+ {{ form_row(form.maxwidth) }}
+
+
+{{ form_end(form) }}
+{% endblock %}
+
+{% block localjavascript %}
+ $('document').ready(function(){
+ hideshow();
+ });
+
+ $(document.body).on("change","#page_submit_pagecategory",function(){
+ hideshow();
+ });
+
+ $(document.body).on("change","#page_submit_usage",function(){
+ hideshow();
+ });
+
+ function hideshow() {
+ if($("#page_submit_pagecategory").val()==2)
+ $("#pagegroup").show();
+ else {
+ $("#pagegroup").hide();
+ }
+
+ if($("#page_submit_usage").val()=="group")
+ $("#groupworkgroup").show();
+ else {
+ $("#groupworkgroup").hide();
+ }
+ }
+
+{% endblock %}
\ No newline at end of file
diff --git a/templates/Page/updateeditor.html.twig b/templates/Page/updateeditor.html.twig
new file mode 100644
index 0000000..3d8f89b
--- /dev/null
+++ b/templates/Page/updateeditor.html.twig
@@ -0,0 +1,72 @@
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% block pagewrapper %}
+{{ form_start(form) }}
+
+
+
+ {{ form_widget(form.submit) }}
+ {% if access=="config" %}
+ Annuler
+ {% else %}
+ Annuler
+ {% endif %}
+
+ {% if mode=="update" %}
+
+ Supprimer
+
+ {% endif %}
+
+
+ {% if app.session.flashbag.has('error') %}
+
+ Erreur
+ {% for flashMessage in app.session.flashbag.get('error') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+ {% if app.session.flashbag.has('notice') %}
+
+ Information
+ {% for flashMessage in app.session.flashbag.get('notice') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+