Compare commits

..

11 Commits

13 changed files with 838 additions and 23 deletions

57
README.md Normal file
View File

@ -0,0 +1,57 @@
# Ninegate
## Portail Open Source
Ce projet est opensource
Vous pouvez à tout moment modifier le code de votre portail
- Distribuer Ninegate
- Ninegate est développé dans le cadre du projet Envole. Vous pourrez trouver le code source de NinthGate sur la forge du projet
Ninegate est propulsé par la société Cadoles
## 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
- Des Blogs
## Portail Personnalisable
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 Calendriers
- Widget Favoris
- Widget Dépôt de Fichiers
- Et bien d'autres encore

View File

@ -1,8 +0,0 @@
dep sur
apt-get eole-web
apt-get install composer
apt-get install php-mbstring
apt-get install eole-db
eole-client-annuaire
apt-get install eole-envole-themes

View File

@ -8,7 +8,7 @@ INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
(-100, 'Interne', 'SIREN'); (-100, 'Interne', 'SIREN');
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}GOavH93C/wFQIeORz+3fpbmLAYHKzpDz (-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}A1vL21ZdkzU1Wf+CScEIZ9VY3560N8Ld
', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple'); ', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple');

View File

@ -59,7 +59,7 @@ class MailController extends Controller
"body_html"=>nl2br($text), "body_html"=>nl2br($text),
"body_text"=>$text "body_text"=>$text
); );
$from = $this->getUser()->getEmail(); $from = $this->getParameter('noreply');
$fromName = $this->getUser()->getFirstname()." ".$this->getUser()->getLastname(); $fromName = $this->getUser()->getFirstname()." ".$this->getUser()->getLastname();
$message = $this->container->get('cadoles.core.service.mail'); $message = $this->container->get('cadoles.core.service.mail');
$message->sendEmail($template, $mail_params, $to, $from, $fromName); $message->sendEmail($template, $mail_params, $to, $from, $fromName);

View File

@ -259,9 +259,9 @@ function MyTourGroupe() {
}, },
{ {
element: $("#group_submit"), element: $("#group_submit"),
title: "Validation de la création du groupe", title: "Validation de la création ou de la modification du groupe",
placement : "right", placement : "right",
content: "N'oubliez pas de valider la création de votre groupe !", content: "N'oubliez pas de valider la création ou la modification de votre groupe !",
}, },
] ]
}); });
@ -1200,6 +1200,684 @@ function AdminPageUpdate() {
tour.goTo(0); tour.goTo(0);
tour.restart(); tour.restart();
} }
function AdminItem() {
var tour = new Tour({
name: "adminitem",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter un item",
placement : "right",
content: "Ajouter un item consiste à ajouter un nouveau lien dans le portail et à y associer une icône spécifique, des utilisateurs... Ce lien apparaîtra dans la liste des liens pouvant être ajoutés sur le bureau de l'utilisateur, s'il est concerné (ciblé) par ce lien.",
},
{
element: $(".btn:last"),
title: "Ajouter une catégorie",
placement : "right",
content: "Vous pouvez créer une nouvelle catégorie d'items pour regrouper ceux-ci par nature. Attention une catégorie ne doit servir qu'à différencier les items par nature (exemple : Applications / Administration / Liens externes / Micro-sites) et ne doit pas servir à différencier un ciblage d'utilisateurs par exemple (le ciblage se fait par item).",
},
{
element: $(".grid-title:first"),
title: "organisation des items et des catégories",
placement : "top",
content: "Vous pouvez déplacer et organiser les items et les catégories par simple 'glisser-déposer'.",
},
{
element: $(".panel-heading:first"),
title: "Afficher par rôle",
placement : "top",
content: "Sélectionner un rôle pour voir ce que ce rôle voit dans sa page de gestion du bureau.",
},
{
element: $(".panel-heading:last"),
title: "Afficher par groupe",
placement : "top",
content: "Sélectionner un groupe pour voir ce que ce groupe voit dans sa page de gestion du bureau. N'oubliez pas que tous les utilisateurs sont aussi par défaut membres du groupe 'Tout le monde' et afficheront donc aussi les items de ce groupe.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminItemSubmit() {
var tour = new Tour({
name: "adminitemsubmit",
template: templatetourSolo,
steps: [
{
element: $("#item_title"),
title: "Nom de l'item",
placement : "top",
content: "Donnez un nom le plus court et le plus explicite possible.",
},
{
element: $("#item_subtitle"),
title: "Sous-titre de l'item",
placement : "top",
content: "Le sous-titre vous permet de préciser éventuellement le titre.",
},
{
element: $("#item_essential"),
title: "Item essentiel",
placement : "top",
content: "En cochant cette case, vous placez obligatoirement l'item sur le bureau des populations ciblées. ",
},
{
element: $("#cke_1_top"),
title: "Descriptif de l'item",
placement : "top",
content: "Placez ici le contenu que vous souhaitez afficher lorsque l'utilisateur clique sur le bouton ' i ' associé à l'item. Vous pouvez créer un contenu riche avec des images pour illustrer les possibilités de l'application. ",
},
{
element: $("#item_url"),
title: "URL",
placement : "top",
content: "Vous devez obligatoirement indiquer l'URL de la page que doit ouvrir le lien : page d'accueil de l'application ou page spécifique de votre choix. ",
},
{
element: $("#item_target"),
title: "type d'ouverture",
placement : "top",
content: "Indique comment la page s'ouvrira : choisissez plutôt 'dans un nouvel onglet', cela facilite la navigation pour l'utilisateur. ",
},
{
element: $("#item_itemcategory"),
title: "choix de la catégorie",
placement : "top",
content: "Choisissez dans quelle catégorie l'item doit être proposé (permet à l'utilisateur de trouver plus facilement ce qu'il cherche). ",
},
{
element: $("#item_roles_1"),
title: "Sélectionner un ou plusieurs rôles",
placement : "left",
content: "Permet de restreindre l'accès à un item sur un ou plusieurs rôles donnés. Si aucune case n'est cochée tous les rôles sont ciblés, mais seulement si un groupe est sélectionné (comme le groupe 'Tout le monde'). ",
},
{
element: $(".select2-search__field:first"),
title: "Sélectionner un ou plusieurs services",
placement : "left",
content: "Permet de restreindre l'accès à un item sur un ou plusieurs services. Si aucune case n'est cochée tous les services sont ciblés. ",
},
{
element: $(".select2-search__field:last"),
title: "Sélectionner un ou plusieurs groupes",
placement : "left",
content: "Permet de restreindre l'accès à un item sur un ou plusieurs groupes. Sélectionnez le groupe 'Tout le monde' pour cibler tous les utilisateurs (sous réserve des restrictions apportées ci-dessus). ",
},
{
element: $("#item_color"),
title: "Sélectionner une couleur",
placement : "left",
content: "Permet de choisir la couleur de fond de votre item dans la page de gestion du bureau.",
},
{
element: $("#diviconsel"),
title: "Sélectionner l'icône de votre item",
placement : "left",
content: "Permet de sélectionner l'icône de votre item. ",
},
{
element: $("#item_submit"),
title: "Valider la création de l'item",
placement : "top",
content: "N'oubliez pas de valider la création de votre item. ",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminAlert() {
var tour = new Tour({
name: "adminalert",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter une annonce",
placement : "top",
content: "Vous permet d'ajouter une annonce dans la catégorie (Annonces, Alertes...) que vous souhaitez et pour les cibles que vous visez...",
},
{
element: $(".btn-success:last"),
title: "Ajoutez une catégorie",
placement : "right",
content: "Vous permet d'ajouter une nouvelle catégorie qui viendra s'ajouter aux catégories actuelles(Annonces, Alertes...).",
},
{
element: $(".panel-heading:first"),
title: "Liste de vos annonces",
placement : "top",
content: "Vous pouvez cliquer sur le nom de chacune pour les modifier et sur le bouton ' v ' à droite pour les déplier ",
},
{
element: $(".list-group-item:first"),
title: "Filtre de catégorie",
placement : "left",
content: "Vous pouvez sélectionner la catégorie que vous souhaitez afficher dans cette page de gestion des annonces (cela n'a pas d'incidence sur l'affichage chez les utilisateurs).",
},
{
element: $("#role-filter"),
title: "Filtre de rôle",
placement : "left",
content: "Vous pouvez sélectionner les rôles que vous souhaitez afficher",
},
{
element: $("#group-filter"),
title: "Filtre de groupe",
placement : "left",
content: "Vous pouvez sélectionner les groupes que vous souhaitez afficher",
},
{
element: $(".panel-heading:last"),
title: "Filtre de statuts",
placement : "left",
content: "Vous pouvez sélectionner les statuts d'annonces que vous souhaitez afficher",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminAlertSubmit() {
var tour = new Tour({
name: "adminalertsubmit",
template: templatetourSolo,
steps: [
{
element: $("#alert_title"),
title: "Titre de l'annonce",
placement : "top",
content: "Donnez un titre court et explicite à votre annonce.",
},
{
element: $("#alert_publishedat_day"),
title: "date de publication",
placement : "top",
content: "Indiquer la date de départ de la publication.",
},
{
element: $("#alert_unpublishedat_day"),
title: "Date de fin de la publication",
placement : "top",
content: "Vous pouvez laisser cette date vide, l'annonce restera affichée tant qu'une date ne sera pas entrée. ",
},
{
element: $("#cke_1_top"),
title: "Contenu de l'annonce",
placement : "top",
content: "Votre annonce peut être rédigée avec une mise en forme, un lien et même une image... ",
},
{
element: $("#alert_alertcategory"),
title: "Catégorie",
placement : "top",
content: "Sélectionner la catégorie de l'annonce que vous souhaitez passer. ",
},
{
element: $("#alert_roles_1"),
title: "Sélectionner un ou plusieurs rôles",
placement : "left",
content: "Permet de restreindre l'accès à l'annonce sur un ou plusieurs rôles donnés. Si aucune case n'est cochée tous les rôles sont ciblés, mais dans ce cas il faudra sélectionner un groupe, par exemple le groupe 'Tout le monde'. ",
},
{
element: $(".select2-search__field:first"),
title: "Sélectionner un ou plusieurs services",
placement : "left",
content: "Permet de restreindre l'accès à l'annonce sur un ou plusieurs services. N'en sélectionnez aucun pour cibler tous les utilisateurs (sous réserve des autres restrictions apportées). ",
},
{
element: $(".select2-search__field:last"),
title: "Sélectionner un ou plusieurs groupes",
placement : "left",
content: "Permet de restreindre l'accès à l'annonce sur un ou plusieurs groupes. Sélectionnez le groupe 'Tout le monde' pour cibler tous les utilisateurs (sous réserve des restrictions apportées ci-dessus). ",
},
{
element: $("#alert_submit"),
title: "Valider l'annonce",
placement : "right",
content: "N'oubliez pas pour finir de valider votre annonce. ",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminCalendar() {
var tour = new Tour({
name: "admincalendar",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter un calendrier",
placement : "right",
content: "Ajouter un calendrier peut être utile en plus des calendriers créés automatiquement pour chaque groupe.",
},
{
element: $(".control-label"),
title: "Sélectionner les utilisateurs",
placement : "bottom",
content: "Vous pouvez afficher non seulement vos propres calendriers mais aussi tous ceux créés automatiquement ou manuellement par tous les autres utilisateurs. Dans ce cas mettez le bouton sur 'On' et entrez un nom dans la zone de recherche pour n'afficher que ceux d'un utilisateur ciblé.",
},
{
element: $(".panel-heading"),
title: "liste des calendriers",
placement : "top",
content: "Vous pouvez afficher, gérer et même supprimer des calendriers. La suppression d'un calendrier de groupe n'est pas recommandée, vous devriez plutôt ne pas l'afficher dans la page du groupe.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminCalendarSubmit() {
var tour = new Tour({
name: "admincalendarsubmit",
template: templatetourSolo,
steps: [
{
element: $("#calendar_name"),
title: "Nom du calendrier",
placement : "top",
content: "Donnez un nom court et explicite à votre calendrier. Il doit permettre de comprendre en quoi il est différent du calendrier d'un groupe",
},
{
element: $("#calendar_type"),
title: "Sélectionner le type de calendrier",
placement : "top",
content: "Choisissez par défaut interne, sauf si vous avez besoin d'utiliser les protocoles d'échange (iCalendar ou CalDAV).",
},
{
element: $("#calendar_color"),
title: "couleur du calendrier",
placement : "top",
content: "Vous pouvez choisir une couleur spécifique pour différencier votre nouveau calendrier des calendriers existants.",
},
{
element: $("#select2-calendar_user-container"),
title: "propriétaire du calendrier",
placement : "left",
content: "Affectez le calendrier à un propriétaire qui aura donc tous les droits sur celui-ci. Notez bien que les propriétaires et managers de groupes avec lesquels ce calendrier sera partagé pourront ajouter aussi des évènements.",
},
{
element: $("#calendar_roles_2"),
title: "rôles ciblés",
placement : "left",
content: "Sélectionner les profils qui peuvent avoir accès à ce calendrier. Si vous laissez vide, tous les profils des groupes sélectionnés ci-dessous auront accès au calendrier.",
},
{
element: $(".select2-search__field"),
title: "groupes ciblés",
placement : "left",
content: "Sélectionner les groupes qui peuvent avoir accès à ce calendrier. Les évènements de ce calendrier apparaîtront dans l'espace 'groupe' auquel il est rattaché et dans le widget 'Agenda des groupes'.",
},
{
element: $("#calendar_submit"),
title: "valider",
placement : "top",
content: "N'oubliez pas de valider la création de votre calendrier.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminBlog() {
var tour = new Tour({
name: "adminblog",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter un blog",
placement : "right",
content: "Ajouter un blog peut être utile en plus des blogs créés automatiquement pour chaque groupe.",
},
{
element: $(".control-label"),
title: "Sélectionner les utilisateurs",
placement : "bottom",
content: "Vous pouvez afficher non seulement vos propres blogs mais aussi tous ceux créés automatiquement ou manuellement par tous les autres utilisateurs. Dans ce cas mettez le bouton sur 'On' et entrez un nom dans la zone de recherche pour n'afficher que ceux d'un utilisateur ciblé.",
},
{
element: $(".panel-heading"),
title: "liste des blogs",
placement : "top",
content: "Vous pouvez afficher, gérer et même supprimer des blogs. La suppression d'un blog de groupe n'est pas recommandée, vous devriez plutôt ne pas l'afficher dans la page du groupe.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminBlogSubmit() {
var tour = new Tour({
name: "adminblogsubmit",
template: templatetourSolo,
steps: [
{
element: $("#blog_name"),
title: "Nom du blog",
placement : "top",
content: "Donnez un nom court et explicite à votre blog. Il doit permettre de comprendre en quoi il est différent du blog d'un groupe",
},
{
element: $("#select2-blog_user-container"),
title: "propriétaire du blog",
placement : "left",
content: "Affectez le blog à un propriétaire qui aura donc tous les droits sur celui-ci. Notez bien que les propriétaires et managers de groupes avec lesquels ce blog sera partagé pourront ajouter aussi des articles.",
},
{
element: $("#blog_roles_2"),
title: "rôles ciblés",
placement : "left",
content: "Sélectionner les profils qui peuvent avoir accès à ce blog. Si vous laissez vide, tous les profils des groupes sélectionnés ci-dessous auront accès au blog.",
},
{
element: $(".select2-search__field"),
title: "groupes ciblés",
placement : "left",
content: "Sélectionner les groupes qui peuvent avoir accès à ce blog. Les articles de ce blog apparaîtront dans l'espace 'groupe' auquel il est rattaché et dans le widget 'Journaux des groupes'.",
},
{
element: $("#blog_submit"),
title: "valider",
placement : "top",
content: "N'oubliez pas de valider la création de votre blog.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminFlux() {
var tour = new Tour({
name: "adminflux",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter un flux",
placement : "right",
content: "Ajoutez un flux si vous souhaitez abonner un ou plusieurs groupes ou des profils utilisateurs à des flux d'actualités en provenance de sites ou applications de Transnum ou de sites et applications externes.",
},
{
element: $("#list"),
title: "choisir le flux à consulter ou éditer",
placement : "top",
content: "Vous pouvez consulter ou modifier les flux existants en cliquant sur le nom de chacun d'eux. Vous constaterez dans cette liste que certaines applications de Transnum (LimeSurvey, Moodle, Wordpress) peuvent remonter des informations aux utilisateurs sur les contenus qui les concernent.",
},
{
element: $("#role-filter"),
title: "afficher les flux par rôle",
placement : "left",
content: "Vous pouvez afficher les flux qui concernent certains rôles. En ne choisissant pas de rôle, vous affichez tous les flux.",
},
{
element: $("#group-filter"),
title: "afficher les flux par groupe",
placement : "left",
content: "Vous pouvez afficher les flux qui concernent certains groupes. En ne choisissant pas de groupe, vous affichez tous les flux.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminFlux() {
var tour = new Tour({
name: "adminflux",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter un flux",
placement : "right",
content: "Ajoutez un flux si vous souhaitez abonner un ou plusieurs groupes ou des profils utilisateurs à des flux d'actualités en provenance de sites ou applications de Transnum ou de sites et applications externes.",
},
{
element: $("#list"),
title: "choisir le flux à consulter ou éditer",
placement : "top",
content: "Vous pouvez consulter ou modifier les flux existants en cliquant sur le nom de chacun d'eux. Vous constaterez dans cette liste que certaines applications de Transnum (LimeSurvey, Moodle, Wordpress) peuvent remonter des informations aux utilisateurs sur les contenus qui les concernent.",
},
{
element: $("#role-filter"),
title: "afficher les flux par rôle",
placement : "left",
content: "Vous pouvez afficher les flux qui concernent certains rôles. En ne choisissant pas de rôle, vous affichez tous les flux.",
},
{
element: $("#group-filter"),
title: "afficher les flux par groupe",
placement : "left",
content: "Vous pouvez afficher les flux qui concernent certains groupes. En ne choisissant pas de groupe, vous affichez tous les flux.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminFluxSubmit() {
var tour = new Tour({
name: "adminfluxsubmit",
template: templatetourSolo,
steps: [
{
element: $("#flux_title"),
title: "Nom du flux",
placement : "top",
content: "Donnez un nom court et explicite à votre flux, par exemple le nom de la source de l'information qui sera remontée dans ce flux.",
},
{
element: $("#flux_url"),
title: "URL du flux",
placement : "top",
content: "Les URL de flux ont souvent une extension de type .xml et sont fournis par les sites. Suivant les sites, vous pouvez avoir un choix dans les abonnements pour ne remonter qu'une partie de l'actualité. Pour les flux générés par les applications Transnum, la forme du lien est de type /ninegate/feed/application/##userid## ce qui permet de ne remonter que les contenus ciblant l'utilisateur.",
},
{
element: $("#flux_maxread"),
title: "Nombre d'articles affichés",
placement : "top",
content: "Choisissez un nombre limité inférieur à 5 par exemple - ainsi vous ne surchargerez pas votre page et ne remonterez que l'actualité la plus récente.",
},
{
element: $("#flux_color"),
title: "Couleur du flux",
placement : "top",
content: "Sélectionner la couleur que vous voulez associer à votre flux - choisissez des couleurs différenciées pour faciliter l'identification visuelle des actualités.",
},
{
element: $("#flux_roles_2"),
title: "sélectionner les rôles",
placement : "left",
content: "Vous pouvez sélectionner les rôles que vous ciblez pour ce flux. En ne choisissant pas de rôle, tous les rôles sont informés.",
},
{
element: $(".select2-search__field"),
title: "sélectionner les groupes",
placement : "left",
content: "Vous pouvez choisir le ou les groupes destinataires de ce flux. Choisissez le groupe 'tout le monde' pour informer tous les utilisateurs.",
},
{
element: $("#flux_submit"),
title: "valider",
placement : "top",
content: "N'oubliez pas de valider la création ou la modification de votre flux.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminNotice() {
var tour = new Tour({
name: "adminnotice",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter une charte",
placement : "right",
content: "Ajoutez une charte si vous souhaitez différencier la charte visible par les services ou si vous souhaitez compléter l'information préalable des utilisateurs.",
},
{
element: $("#list"),
title: "choisir la charte à consulter ou éditer",
placement : "top",
content: "Vous pouvez consulter ou modifier les chartes existantes en cliquant sur le nom de chacune d'elles. ",
},
{
element: $("#role-filter"),
title: "afficher les chartes par rôle",
placement : "left",
content: "Vous pouvez afficher les chartes qui concernent certains rôles. En ne choisissant pas de rôle, vous affichez toutes les chartes.",
},
{
element: $("#group-filter"),
title: "afficher les chartes par groupe",
placement : "left",
content: "Vous pouvez afficher les chartes qui concernent certains groupes. En ne choisissant pas de groupe, vous affichez toutes les chartes.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminNoticeSubmit() {
var tour = new Tour({
name: "adminchartesubmit",
template: templatetourSolo,
steps: [
{
element: $("#notice_title"),
title: "Nom de la charte",
placement : "top",
content: "Donnez un nom court et explicite à votre charte, résumant son contenu.",
},
{
element: $("#notice_mustread"),
title: "confirmation de lecture et approbation",
placement : "top",
content: "Insère une case à cocher qui confirme que la charte a été lue et approuvée.",
},
{
element: $("#cke_notice_description"),
title: "Description",
placement : "top",
content: "Rédiger le texte de la charte. Vous disposez d'outils de mise en forme et de possibilité d'intégration de liens, images, vidéos...",
},
{
element: $("#notice_roles_2"),
title: "sélectionner les rôles",
placement : "left",
content: "Vous pouvez sélectionner les rôles que vous ciblez pour cette charte. En ne choisissant pas de rôle, tous les rôles sont informés.",
},
{
element: $(".select2-search__field"),
title: "sélectionner les groupes",
placement : "left",
content: "Vous pouvez choisir le ou les groupes destinataires de cette charte. Choisissez le groupe 'tout le monde' pour informer tous les utilisateurs.",
},
{
element: $("#notice_submit"),
title: "valider",
placement : "top",
content: "N'oubliez pas de valider la création ou la modification de votre charte.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminIcon() {
var tour = new Tour({
name: "adminicon",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Ajouter une icone",
placement : "top",
content: "Ajoutez une icône en cliquant sur ce bouton - les icônes sont utilisées pour l'identité des items, des widgets et des groupes. En cliquant sur une icône existante, vous pourrez la supprimer ou la modifier. Essayez de choisir des icônes en phase avec les tendances graphiques du portail... ",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
// Create Button Tour // Create Button Tour
$(document).on('ready', function(){ $(document).on('ready', function(){
var url = document.location.href; var url = document.location.href;
@ -1215,6 +1893,9 @@ $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourUser()' class='f
else if (new RegExp("ninegate/user/group$").test(url)) { else if (new RegExp("ninegate/user/group$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='Groups()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='Groups()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
else if (new RegExp(/ninegate\/user\/group\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourGroupe()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp(/ninegate\/user\/group\/users\/\d+$/).test(url)) { else if (new RegExp(/ninegate\/user\/group\/users\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourGroupUsers()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourGroupUsers()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
@ -1287,6 +1968,57 @@ $("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPageView()' class
else if (new RegExp (/ninegate\/config\/page\/update\/\d+$/).test(url)) { else if (new RegExp (/ninegate\/config\/page\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPageUpdate()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPageUpdate()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
else if (new RegExp("ninegate/config/item$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminItem()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/item/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminItemSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp(/ninegate\/config\/item\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminItemSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/alert$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminAlert()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/alert/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminAlertSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp(/ninegate\/config\/alert\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminAlertSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/calendar$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminCalendar()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/calendar/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminCalendarSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/blog$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminBlog()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/blog/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminBlogSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/flux$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminFlux()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/flux/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminFluxSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp(/ninegate\/config\/flux\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminFluxSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/notice$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminNotice()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/notice/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminNoticeSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp(/ninegate\/config\/notice\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminNoticeSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/icon$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminIcon()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
// Instance the Tour // Instance the Tour
else if($("#menu-annuaire".length)) { else if($("#menu-annuaire".length)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTour()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTour()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));

View File

@ -16,7 +16,7 @@
<div class="panel panel-primary"> <div class="panel panel-primary">
<div class="panel-heading"> <div class="panel-heading">
<i class="fa fa-table fa-fw"></i> Liste des Calendriers <i class="fa fa-table fa-fw"></i> Liste des Blogs
</div> </div>
<div class="panel-body"> <div class="panel-body">

View File

@ -58,6 +58,7 @@
{{ form_row(form.url) }} {{ form_row(form.url) }}
<em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br> <em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br>
{{ form_row(form.target) }} {{ form_row(form.target) }}
<div id="divhelp"><em>Attention certains sites n'acceptent pas d'être encapsulés dans une frame. Si vous ne voyez pas votre site apparaître, veuillez changer de cible.<br><br></em></div>
{{ form_row(form.color) }} {{ form_row(form.color) }}
<div id="diviconsel" class="col-md-12 text-left" style="height:140px; padding:20px; text-align:center; background-color: {{ entity.color ? "#"~entity.color : '#000000' }};"> <div id="diviconsel" class="col-md-12 text-left" style="height:140px; padding:20px; text-align:center; background-color: {{ entity.color ? "#"~entity.color : '#000000' }};">
@ -117,6 +118,14 @@
{% endblock %} {% endblock %}
{% block localjavascript %} {% block localjavascript %}
$('document').ready(function(){
showhide();
});
$( "#bookmark_target" ).change(function() {
showhide();
});
function selIcon(idicon) { function selIcon(idicon) {
$("#bookmark_idicon").val(idicon); $("#bookmark_idicon").val(idicon);
$("#diviconsel img").remove(); $("#diviconsel img").remove();
@ -130,4 +139,12 @@
$("#diviconsel img").remove(); $("#diviconsel img").remove();
$("#bookmark_idicon").val(null); $("#bookmark_idicon").val(null);
} }
function showhide() {
$("#divhelp").hide();
if($("#bookmark_target").val()=="frame") {
$("#divhelp").show();
}
}
{% endblock %} {% endblock %}

View File

@ -56,6 +56,7 @@
{{ form_row(form.url) }} {{ form_row(form.url) }}
<em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br> <em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br>
{{ form_row(form.target) }} {{ form_row(form.target) }}
<div id="divhelp"><em>Attention certains sites n'acceptent pas d'être encapsulés dans une frame. Si vous ne voyez pas votre site apparaître, veuillez changer de cible.<br><br></em></div>
{{ form_row(form.itemcategory) }} {{ form_row(form.itemcategory) }}
{{ form_row(form.roles) }} {{ form_row(form.roles) }}
{{ form_row(form.niveau01s) }} {{ form_row(form.niveau01s) }}
@ -106,6 +107,14 @@
{% endblock %} {% endblock %}
{% block localjavascript %} {% block localjavascript %}
$('document').ready(function(){
showhide();
});
$( "#item_target" ).change(function() {
showhide();
});
function selIcon(idicon) { function selIcon(idicon) {
$("#item_idicon").val(idicon); $("#item_idicon").val(idicon);
$("#diviconsel img").remove(); $("#diviconsel img").remove();
@ -119,4 +128,11 @@
$("#diviconsel img").remove(); $("#diviconsel img").remove();
$("#item_idicon").val(null); $("#item_idicon").val(null);
} }
function showhide() {
$("#divhelp").hide();
if($("#item_target").val()=="frame") {
$("#divhelp").show();
}
}
{% endblock %} {% endblock %}

View File

@ -55,7 +55,8 @@
{{ form_row(form.name) }} {{ form_row(form.name) }}
{{ form_row(form.url) }} {{ form_row(form.url) }}
<em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br> <em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br>
<em>Attention certains sites n'acceptent pas d'être encapsulés dans une frame.<br><br>
{{ form_row(form.roworder) }} {{ form_row(form.roworder) }}
{{ form_row(form.maxwidth) }} {{ form_row(form.maxwidth) }}
</div> </div>

View File

@ -79,7 +79,7 @@
{% endif %} {% endif %}
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-logo"> <div class="grid-item-logo" title="{{ bookmark.subtitle|nl2br }}">
{% if bookmark.icon %} {% if bookmark.icon %}
<img class="grid-item-img" height="110" src="/{{ alias }}/{{ bookmark.icon.label }}"> <img class="grid-item-img" height="110" src="/{{ alias }}/{{ bookmark.icon.label }}">
{% else %} {% else %}

View File

@ -120,7 +120,7 @@
{% endif %} {% endif %}
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-logo"> <div class="grid-item-logo" title="{{ bookmark.item.subtitle|nl2br }}">
{% if bookmark.item.icon %} {% if bookmark.item.icon %}
<img class="grid-item-img" src="/{{ alias }}/{{ bookmark.item.icon.label }}"> <img class="grid-item-img" src="/{{ alias }}/{{ bookmark.item.icon.label }}">
{% else %} {% else %}
@ -155,7 +155,7 @@
{% endif %} {% endif %}
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-logo"> <div class="grid-item-logo" title="{{ bookmark.subtitle|nl2br }}">
{% if bookmark.icon %} {% if bookmark.icon %}
<img class="grid-item-img" src="/{{ alias }}/{{ bookmark.icon.label }}"> <img class="grid-item-img" src="/{{ alias }}/{{ bookmark.icon.label }}">
{% else %} {% else %}
@ -266,7 +266,7 @@
{% endif %} {% endif %}
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-logo"> <div class="grid-item-logo" title="{{ item.subtitle|nl2br }}">
{% if item.icon %} {% if item.icon %}
<img class="grid-item-img" height="110" src="/{{ alias }}/{{ item.icon.label }}"> <img class="grid-item-img" height="110" src="/{{ alias }}/{{ item.icon.label }}">
{% else %} {% else %}

View File

@ -85,7 +85,7 @@
{% endif %} {% endif %}
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-logo"> <div class="grid-item-logo" title="{{ bookmark.item.subtitle|nl2br }}">
{% if bookmark.item.icon %} {% if bookmark.item.icon %}
<img class="grid-item-img" src="/{{ alias }}/{{ bookmark.item.icon.label }}"> <img class="grid-item-img" src="/{{ alias }}/{{ bookmark.item.icon.label }}">
{% else %} {% else %}
@ -120,7 +120,7 @@
{% endif %} {% endif %}
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-logo"> <div class="grid-item-logo" title="{{ bookmark.subtitle|nl2br }}">
{% if bookmark.icon %} {% if bookmark.icon %}
<img class="grid-item-img" height="110" src="/{{ alias }}/{{ bookmark.icon.label }}"> <img class="grid-item-img" height="110" src="/{{ alias }}/{{ bookmark.icon.label }}">
{% else %} {% else %}
@ -170,7 +170,7 @@
{% endif %} {% endif %}
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-logo"> <div class="grid-item-logo" title="{{ item.subtitle|nl2br }}">
{% if item.icon %} {% if item.icon %}
<img class="grid-item-img" height="110" src="/{{ alias }}/{{ item.icon.label }}"> <img class="grid-item-img" height="110" src="/{{ alias }}/{{ item.icon.label }}">
{% else %} {% else %}

View File

@ -122,7 +122,7 @@ class WebsocketTopic implements TopicInterface
$to=explode(";",$event["to"]); $to=explode(";",$event["to"]);
unset($to[0]); unset($to[0]);
$mail->sendEmail("template", $mail_params, $to, $user->getEmail(), $user->getLastname()." ".$user->getFirstname()); $mail->sendEmail("template", $mail_params, $to, $this->container->getParameter('noreply'), $user->getLastname()." ".$user->getFirstname());
$event["message"].="<br><i>Notification envoyée par mail</i>"; $event["message"].="<br><i>Notification envoyée par mail</i>";
} }
} }