Compare commits
93 Commits
1381e4f7be
...
dist/envol
Author | SHA1 | Date | |
---|---|---|---|
4959a10857 | |||
d0d8183f7a | |||
d42fdbfedd | |||
4f2fa1db4f | |||
75d935aa57 | |||
27e23fffaf | |||
70e2d49e7c | |||
df8bcfc1a1 | |||
666b90d513 | |||
2b86aa4e2f | |||
cbae74f041 | |||
57f96132f4 | |||
ecbaed5c85 | |||
aac017c263 | |||
e2d9380f65 | |||
21fc95f71e | |||
702d060503 | |||
c6d349696e | |||
3818a38106 | |||
d0d933f28e | |||
d155d5331f | |||
1249b7be21 | |||
f535e165ef | |||
6081e6a692 | |||
fce9842064 | |||
01da55e6d6 | |||
95e51c4d53 | |||
9157b78671 | |||
fec7eff6c5 | |||
e66f8999ed | |||
41915a0547 | |||
c7586c86d5 | |||
6a8e102fc6 | |||
e41093d3b9 | |||
eedaa86dcf | |||
91d2febf2e | |||
1d448e70c7 | |||
0fc2346281 | |||
63c710c4fd | |||
fbb5a4aca6 | |||
ac37691536 | |||
13e5bfb428 | |||
98718ccc1e | |||
ed75b5f5c3 | |||
5147a2b105 | |||
f361110766 | |||
a5fbe134cc | |||
7dc7d708d3 | |||
9a260e6ae5 | |||
7ecfa45d75 | |||
7380823897 | |||
8b794e8aa1 | |||
911bea2b5d | |||
13c24bd1ee | |||
fac25a036e | |||
d61c2fc94d | |||
f228f01c62 | |||
3e9e581116 | |||
14283a731e | |||
de04ab9bdb | |||
5271f992a7 | |||
729ed9fba9 | |||
e3188b1732 | |||
39f45ab8b8 | |||
fa62b8aa36 | |||
3ba041b207 | |||
465bfd0374 | |||
2a2dfc55bb | |||
24e2fb3c2e | |||
ebd9a5a0a6 | |||
16eb147e5b | |||
e4cb40fae8 | |||
9d40aa6575 | |||
4399db9498 | |||
295c4bd4f7 | |||
27bcb3fbe7 | |||
aef67571f6 | |||
d3c8a95336 | |||
2679d8f629 | |||
2ec1ae6824 | |||
8ed97d8d96 | |||
0ab5a40d98 | |||
2b4d048f9d | |||
edd59cd60c | |||
20c131db2e | |||
da0f0ad0f3 | |||
72c5e49cf6 | |||
996651ca0e | |||
635f44a894 | |||
a78b2051f1 | |||
33841459d9 | |||
d61216216a | |||
150e624fca |
@ -2,6 +2,7 @@
|
||||
<creole>
|
||||
<files>
|
||||
<file filelist='ninegate' name='/etc/eole/eole-db.d/ninegate-db.yml' rm='True' mkdir='True'/>
|
||||
<file filelist='ninegate_nginx' name='/etc/nginx/web.d/ninegate.conf' source='ninegate-nginx.conf' rm='True' mkdir='True' />
|
||||
</files>
|
||||
|
||||
<containers>
|
||||
@ -9,6 +10,7 @@
|
||||
<package>ninegate-apps</package>
|
||||
|
||||
<file filelist='ninegate' name='/etc/apache2/sites-available/ninegate' source='ninegate-apache.conf' rm="True"/>
|
||||
<file filelist='ninegate' name='/lib/systemd/system/wssninegate.service' source='ninegate.service'/>
|
||||
<file filelist="ninegate" name="/var/www/html/ninegate/app/config/parameters.yml" source="ninegate-parameters.yml" rm="True"/>
|
||||
<file filelist="ninegate" name="/var/www/html/ninegate/app/config/template.yml" source="ninegate-template.yml" rm="True"/>
|
||||
<file filelist="ninegate" name="/var/www/html/ninegate/scripts/ninegate-postservice-00.sh" source="ninegate-postservice-00.sh" rm="True" mode="700" />
|
||||
@ -18,16 +20,12 @@
|
||||
<file filelist='ninegate-migration' name='/var/www/html/envole-migration/config/config-db-ninegate.php' source='ninegate-migration.php' mkdir='True'/>
|
||||
|
||||
<service method='apache' servicelist='ninegate'>ninegate</service>
|
||||
|
||||
<service_access service='ninegate_websocket'>
|
||||
<port port_type="SymLinkOption">ninegate_websocket_portexterne</port>
|
||||
</service_access>
|
||||
|
||||
<service servicelist="ninegate">wssninegate</service>
|
||||
</container>
|
||||
</containers>
|
||||
|
||||
<variables>
|
||||
<family name='Ninegate'>
|
||||
<family name='Ninegate' icon='home'>
|
||||
<variable type='oui/non' name='activer_cadolesldap' description='Activer Annuaire Cadoles' hidden='True' exists='False'/>
|
||||
<variable type='string' name='cadolesldap_pwdadmin' description="Mot de passe du compte admin durant l'instance" hidden='True' exists='False'/>
|
||||
<variable type='string' name='cadolesldap_organization' description="Nom de l'organisation principale" hidden='True' exists='False'/>
|
||||
@ -39,6 +37,7 @@
|
||||
<variable name="ninegate_test_ninegate" type="oui/non" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_adminer" type="oui/non" description="Activer Adminer" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_balado" type="oui/non" description="Activer Balado" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_cdt" type="oui/non" description="Activer CdT" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_dokuwiki" type="oui/non" description="Activer Dokuwiki" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_econnect" type="oui/non" description="Activer eConnect" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_ead_web" type="oui/non" description="Activer EAD" hidden='True' exists='False'><value>non</value></variable>
|
||||
@ -65,6 +64,7 @@
|
||||
<variable name="activer_roundcube" type="oui/non" description="Activer Roundcube" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_sacoche" type="oui/non" description="Activer Sacoche" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_wordpress" type="oui/non" description="Activer Wordpress" hidden='True' exists='False'><value>non</value></variable>
|
||||
<variable name="activer_revprox" type="oui/non" description="Activer le reverse proxy Nginx" hidden='True' exists='False'><value>non</value></variable>
|
||||
|
||||
|
||||
<variable name="activer_sondepiwik_local" type="oui/non" description="Activer Sonde Piwik" hidden='True' exists='False'><value>non</value></variable>
|
||||
@ -78,8 +78,6 @@
|
||||
<variable name='ninegate_test_conf_ldap' type='oui/non' hidden='True'/>
|
||||
|
||||
|
||||
|
||||
|
||||
<variable type='oui/non' name='activer_ninegate' description='Activer Ninegate'><value>oui</value></variable>
|
||||
|
||||
<variable type='string' name='ninegate_masteridentity' description="Maître de l'Identité" mandatory='True'><value>LDAP</value></variable>
|
||||
@ -90,6 +88,7 @@
|
||||
<variable type='string' name='ninegate_ssoreqgroup' description="Attribut SSO associé à la notion de groupe" mandatory='True'><value>user_groups</value></variable>
|
||||
<variable type='oui/non' name='ninegate_ssosynchroitem' description="Associer automatiquement les items en fonction d'un attribut SSO"><value>non</value></variable>
|
||||
<variable type='string' name='ninegate_ssoreqitem' description="Attribut SSO associé à la notion d'item" mandatory='True'><value></value></variable>
|
||||
<variable type='string' name='ninegate_typesso' description="Mode de connexion SSO (Client ou Proxy)" mandatory='True'><value>client</value></variable>
|
||||
|
||||
<variable type='oui/non' name='ninegate_syncldap' description="Synchroniser Ninegate vers votre Annuaire CadolesLDAP"><value>non</value></variable>
|
||||
<variable type='string' name='ninegate_ldaptemplate' description="Modèle d'annuaire"><value>scribe</value></variable>
|
||||
@ -197,6 +196,13 @@
|
||||
<variable type='string' name='ninegate_widbalado_url' description='URL complète de votre Balado' mandatory='True' />
|
||||
<variable type='string' name='ninegate_widbalado_syncenvole' description='URL Posh-Profil pour synchronisation Balado' mandatory='True' />
|
||||
|
||||
<!-- CDT -->
|
||||
<variable type="oui/non" name='ninegate_activate_widcdt' description='Activer CdT' mandatory='True'>
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable type='string' name='ninegate_widcdt_url' description='URL complète de votre CdT' mandatory='True' />
|
||||
<variable type='string' name='ninegate_widcdt_syncenvole' description='URL Posh-Profil pour synchronisation CdT' mandatory='True' />
|
||||
|
||||
<!-- DOKUWIKI -->
|
||||
<variable type="oui/non" name='ninegate_activate_widdokuwiki' description='Activer Dokuwiki' mandatory='True'>
|
||||
<value>non</value>
|
||||
@ -213,7 +219,6 @@
|
||||
<variable type="oui/non" name='ninegate_activate_widead' description='Activer EAD' mandatory='True'>
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable type='string' name='ninegate_widead_url' description='URL complète de votre EAD' mandatory='True' />
|
||||
|
||||
<!-- EOE -->
|
||||
<variable type="oui/non" name='ninegate_activate_wideoe' description='Activer EOE' mandatory='True'>
|
||||
@ -374,19 +379,6 @@
|
||||
<variable type='string' name='ninegate_widwordpress_url' description='URL complète de votre Wordpress' mandatory='True' />
|
||||
<variable type='string' name='ninegate_widwordpress_syncenvole' description='URL Posh-Profil pour synchronisation Wordpress' mandatory='True' />
|
||||
|
||||
|
||||
|
||||
<!-- WEBSOCKET -->
|
||||
<variable type='string' name='ninegate_websocket_url' description='Host du serveur Websocket' mandatory='True' />
|
||||
<variable type='string' name='ninegate_websocket_portexterne' description='Port de commuinication externe du serveur Websocket' mandatory='True' >
|
||||
<value>5555</value>
|
||||
</variable>
|
||||
<variable type='string' name='ninegate_websocket_portinterne' description='Port de commuinication interne du serveur Websocket' mandatory='True'>
|
||||
<value>5556</value>
|
||||
</variable>
|
||||
|
||||
|
||||
|
||||
<!-- EMAIL -->
|
||||
<variable type='string' name='ninegate_noreply' description='Adresse mail utilisé pour le noreply' mandatory='True' />
|
||||
<variable type="oui/non" name='ninegate_activer_localmail' description="Utiliser le serveur d'envoi de mail local" mandatory='True'>
|
||||
@ -398,9 +390,9 @@
|
||||
<variable type='string' name='ninegate_smtppwd' description='Fichier contenant le mot de passe associé du compte SMTP' />
|
||||
<variable type='string' name='ninegate_smtpencryption' description='Type Encryptage du serveur SMTP' />
|
||||
<variable type='string' name='ninegate_smtpauthmode' description='Mode Authentification du serveur SMTP' />
|
||||
</family>
|
||||
|
||||
|
||||
|
||||
<family name='EoleDB' icon='database' mode='expert'>
|
||||
<!-- EOLEDB -->
|
||||
<variable type='string' name='ninegate_db_mode' description='Serveur de bases de données à utiliser' mode='expert'/>
|
||||
<variable type='string' name='ninegate_dbserver' description='Adresse du serveur de base de données' mode='expert'/>
|
||||
@ -416,6 +408,7 @@
|
||||
<separator name="ninegate_activate_portal">Paramètres associés aux modules à activer</separator>
|
||||
<separator name="ninegate_activate_widadminer">Paramètres associés à Adminer</separator>
|
||||
<separator name="ninegate_activate_widbalado">Paramètres associés à Balado</separator>
|
||||
<separator name="ninegate_activate_widcdt">Paramètres associés à CdT</separator>
|
||||
<separator name="ninegate_activate_widdokuwiki">Paramètres associés à Dokuwiki</separator>
|
||||
<separator name="ninegate_activate_wideconnect">Paramètres associés à eConnect</separator>
|
||||
<separator name="ninegate_activate_widead">Paramètres associés à EAD</separator>
|
||||
@ -443,9 +436,9 @@
|
||||
<separator name="ninegate_activate_widroundcube">Paramètres associés à Roundcube</separator>
|
||||
<separator name="ninegate_activate_widsacoche">Paramètres associés à Sacoche</separator>
|
||||
<separator name="ninegate_activate_widwordpress">Paramètres associés à Wordpress</separator>
|
||||
<separator name="ninegate_websocket_url">Paramètres associés au Serveur WEBSOCKET</separator>
|
||||
<separator name="ninegate_activate_websocket">Paramètres associés au Serveur WEBSOCKET</separator>
|
||||
<separator name="ninegate_noreply">Paramètres associés aux Mails</separator>
|
||||
<separator name="ninegate_db_mode">Paramètres associés à la Base de Données</separator>
|
||||
<separator name="ninegate_db_mode">Paramètres EoleDB associés à Ninegate</separator>
|
||||
</separators>
|
||||
</variables>
|
||||
|
||||
@ -455,6 +448,11 @@
|
||||
<target type='variable'>activer_ninegate</target>
|
||||
</condition>
|
||||
|
||||
<condition name='hidden_if_in' source='activer_revprox'>
|
||||
<param>non</param>
|
||||
<target type='filelist'>nineboard_nginx</target>
|
||||
</condition>
|
||||
|
||||
<condition name='hidden_if_in' source='activer_ninegate'>
|
||||
<param>non</param>
|
||||
|
||||
@ -466,7 +464,8 @@
|
||||
<target type='variable'>ninegate_ssoreqgroup</target>
|
||||
<target type='variable'>ninegate_ssosynchroitem</target>
|
||||
<target type='variable'>ninegate_ssoreqitem</target>
|
||||
|
||||
<target type='variable'>ninegate_typesso</target>
|
||||
|
||||
<target type='variable'>ninegate_syncldap</target>
|
||||
<target type='variable'>ninegate_ldaptemplate</target>
|
||||
<target type='variable'>ninegate_scribegroup</target>
|
||||
@ -530,6 +529,7 @@
|
||||
<target type='variable'>ninegate_dbpass</target>
|
||||
|
||||
<target type='filelist'>ninegate</target>
|
||||
<target type='filelist'>ninegate_nginx</target>
|
||||
<target type='filelist'>ninegate-migration</target>
|
||||
|
||||
<target type='servicelist'>ninegate</target>
|
||||
@ -565,7 +565,15 @@
|
||||
<target type='variable'>ninegate_ssosynchrogroup</target>
|
||||
<target type='variable'>ninegate_ssoreqgroup</target>
|
||||
<target type='variable'>ninegate_ssosynchroitem</target>
|
||||
<target type='variable'>ninegate_ssoreqitem</target>
|
||||
<target type='variable'>ninegate_ssoreqitem</target>
|
||||
</condition>
|
||||
|
||||
<condition name='hidden_if_in' source='ninegate_mode_auth'>
|
||||
<param>SQL</param>
|
||||
<param>LDAP</param>
|
||||
<param>SAML</param>
|
||||
|
||||
<target type='variable'>ninegate_typesso</target>
|
||||
</condition>
|
||||
|
||||
<condition name='hidden_if_in' source='ninegate_syncldap'>
|
||||
@ -717,6 +725,7 @@
|
||||
|
||||
<target type='variable'>ninegate_activate_widadminer</target>
|
||||
<target type='variable'>ninegate_activate_widbalado</target>
|
||||
<target type='variable'>ninegate_activate_widcdt</target>
|
||||
<target type='variable'>ninegate_activate_widdokuwiki</target>
|
||||
<target type='variable'>ninegate_activate_wideconnect</target>
|
||||
<target type='variable'>ninegate_activate_widead</target>
|
||||
@ -766,6 +775,7 @@
|
||||
<param>non</param>
|
||||
|
||||
<target type='variable'>ninegate_widbalado_syncenvole</target>
|
||||
<target type='variable'>ninegate_widcdt_syncenvole</target>
|
||||
<target type='variable'>ninegate_widgepi_syncenvole</target>
|
||||
<target type='variable'>ninegate_widlimesurvey_syncenvole</target>
|
||||
<target type='variable'>ninegate_widmoodle_syncenvole</target>
|
||||
@ -784,30 +794,12 @@
|
||||
<condition name='hidden_if_in' source='poshprofil_typesynchro'>
|
||||
<param>Annuaire</param>
|
||||
<target type='variable'>ninegate_widbalado_syncenvole</target>
|
||||
<target type='variable'>ninegate_widcdt_syncenvole</target>
|
||||
<target type='variable'>ninegate_widgepi_syncenvole</target>
|
||||
<target type='variable'>ninegate_widnextcloud_syncenvole</target>
|
||||
<target type='variable'>ninegate_widsacoche_syncenvole</target>
|
||||
</condition>
|
||||
|
||||
|
||||
<!-- AFFICHAGE EN FONCTION DU MODULE WEBSOCKET -->
|
||||
<condition name='hidden_if_in' source='ninegate_activate_websocket'>
|
||||
<param>non</param>
|
||||
|
||||
<target type='variable'>ninegate_websocket_url</target>
|
||||
<target type='variable'>ninegate_websocket_portinterne</target>
|
||||
<target type='variable'>ninegate_websocket_portexterne</target>
|
||||
<target type='servicelist'>ninegate_websocket</target>
|
||||
</condition>
|
||||
|
||||
<fill name='calc_multi_condition' target='ninegate_websocket_url'>
|
||||
<param>oui</param>
|
||||
<param type='eole' name='condition_1' hidden='False'>activer_apache</param>
|
||||
<param type='eole' name='match' hidden='False'>web_url</param>
|
||||
<param name='default_mismatch'>None</param>
|
||||
</fill>
|
||||
|
||||
|
||||
<!-- AFFICHAGE EN FONCTION DU WIDGET ADMINER -->
|
||||
<fill name='calc_multi_condition' target='ninegate_activate_widadminer'>
|
||||
<param>oui</param>
|
||||
@ -832,7 +824,7 @@
|
||||
|
||||
|
||||
|
||||
<!-- AFFICHAGE EN FONCTION DU WIDGET BALADAO -->
|
||||
<!-- AFFICHAGE EN FONCTION DU WIDGET BALADO -->
|
||||
<fill name='calc_multi_condition' target='ninegate_activate_widbalado'>
|
||||
<param>oui</param>
|
||||
<param type='eole' name='condition_1' hidden='False'>activer_balado</param>
|
||||
@ -863,6 +855,39 @@
|
||||
</fill>
|
||||
|
||||
|
||||
|
||||
<!-- AFFICHAGE EN FONCTION DU WIDGET CDT -->
|
||||
<fill name='calc_multi_condition' target='ninegate_activate_widcdt'>
|
||||
<param>oui</param>
|
||||
<param type='eole' name='condition_1' hidden='False'>activer_cdt</param>
|
||||
<param name='match'>oui</param>
|
||||
<param name='mismatch'>non</param>
|
||||
<param name='default_mismatch'>non</param>
|
||||
</fill>
|
||||
|
||||
<condition name='hidden_if_in' source='ninegate_activate_widcdt'>
|
||||
<param>non</param>
|
||||
|
||||
<target type='variable'>ninegate_widcdt_url</target>
|
||||
<target type='variable'>ninegate_widcdt_syncenvole</target>
|
||||
</condition>
|
||||
|
||||
<fill name='calc_multi_condition' target='ninegate_widcdt_url'>
|
||||
<param>oui</param>
|
||||
<param type='eole' name='condition_1' hidden='False'>activer_cdt</param>
|
||||
<param name='match'>/cdt</param>
|
||||
<param name='default_mismatch'>None</param>
|
||||
</fill>
|
||||
|
||||
<fill name='calc_multi_condition' target='ninegate_widcdt_syncenvole'>
|
||||
<param>oui</param>
|
||||
<param type='eole' name='condition_1' hidden='False'>activer_cdt</param>
|
||||
<param name='match'>/posh-profil</param>
|
||||
<param name='default_mismatch'>None</param>
|
||||
</fill>
|
||||
|
||||
|
||||
|
||||
<!-- AFFICHAGE EN FONCTION DU WIDGET DOKUWIKI -->
|
||||
<fill name='calc_multi_condition' target='ninegate_activate_widdokuwiki'>
|
||||
<param>oui</param>
|
||||
@ -918,18 +943,6 @@
|
||||
<param name='mismatch'>non</param>
|
||||
<param name='default_mismatch'>non</param>
|
||||
</fill>
|
||||
|
||||
<condition name='hidden_if_in' source='ninegate_activate_widead'>
|
||||
<param>non</param>
|
||||
|
||||
<target type='variable'>ninegate_widead_url</target>
|
||||
</condition>
|
||||
|
||||
<fill name='concat' target='ninegate_widead_url'>
|
||||
<param>https://</param>
|
||||
<param type='eole'>web_url</param>
|
||||
<param>:4200</param>
|
||||
</fill>
|
||||
|
||||
<!-- AFFICHAGE EN FONCTION DU WIDGET EOE -->
|
||||
<fill name='calc_multi_condition' target='ninegate_activate_wideoe'>
|
||||
@ -1651,6 +1664,10 @@
|
||||
<param>['CAS', 'SAML', 'SQL', 'LDAP']</param>
|
||||
</check>
|
||||
|
||||
<check name='valid_enum' target='ninegate_typesso'>
|
||||
<param>['client', 'proxy']</param>
|
||||
</check>
|
||||
|
||||
<check name='valid_enum' target='ninegate_moderegistration'>
|
||||
<param>['none', 'byuser', 'byadmin']</param>
|
||||
</check>
|
||||
|
@ -127,16 +127,16 @@ gos_web_socket:
|
||||
firewall: main
|
||||
shared_config: true
|
||||
server:
|
||||
port: %websocket_port% #The port the socket server will listen on
|
||||
host: %websocket_host% #The host ip to bind to
|
||||
port: 443 #The port the socket server will listen on
|
||||
host: %weburl%/wssninegate #The host ip to bind to
|
||||
|
||||
router:
|
||||
resources:
|
||||
- "@CadolesWebsocketBundle/Resources/config/topic.yml"
|
||||
pushers:
|
||||
wamp:
|
||||
host: %websocket_host%
|
||||
port: %websocket_portinterne%
|
||||
host: 0.0.0.0
|
||||
port: 5556
|
||||
|
||||
# ckeditor configuration
|
||||
ivory_ck_editor:
|
||||
@ -147,7 +147,7 @@ ivory_ck_editor:
|
||||
language: fr
|
||||
toolbar: "my_toolbar_1"
|
||||
uiColor: "#ffffff"
|
||||
extraPlugins: ["html5video","pastebase64"]
|
||||
extraPlugins: ["html5video"]
|
||||
light_config:
|
||||
language: fr
|
||||
toolbar: "my_toolbar_2"
|
||||
|
@ -1,11 +1,9 @@
|
||||
#!/bin/bash
|
||||
websocket_url=$(CreoleGet adresse_ip_eth0 non)
|
||||
websocket_portinterne=$(CreoleGet ninegate_websocket_portinterne non)
|
||||
|
||||
# Server Websocket
|
||||
if [[ "$1" != "restartifdown" ]]; then
|
||||
echo WEBSOCKET = STOP
|
||||
pid="$(pgrep -a -f gos:websocket | grep $websocket_portinterne)"
|
||||
pid="$(pgrep -a -f gos:websocket | grep 5556)"
|
||||
if [ -n "${pid}" ]; then
|
||||
IFS=' ' read -r -a array <<< "$pid"
|
||||
kill -9 ${array[0]};
|
||||
@ -13,7 +11,7 @@ if [[ "$1" != "restartifdown" ]]; then
|
||||
fi
|
||||
|
||||
# Port LISTEN ?
|
||||
pid="$(pgrep -a -f gos:websocket | grep $websocket_portinterne)"
|
||||
pid="$(pgrep -a -f gos:websocket | grep 5556)"
|
||||
restart="yes"
|
||||
if [ "$1" == "restartifdown" ] && [ -n "${pid}" ] ; then
|
||||
restart="no"
|
||||
@ -22,5 +20,5 @@ fi
|
||||
if [ "$restart" == "yes" ] && [ "$1" != "stop" ] ; then
|
||||
echo WEBSOCKET = START
|
||||
cd /var/www/html/ninegate
|
||||
bin/console gos:websocket:server --port $websocket_portinterne -a $websocket_url --no-debug -n -q --env=prod & disown
|
||||
systemctl restart wssninegate
|
||||
fi
|
@ -30,7 +30,10 @@ class SecurityController extends Controller
|
||||
|
||||
// Init Client CAS
|
||||
\phpCAS::setDebug("/var/log/phpcas/phpCAS-ninegate.log");
|
||||
@\phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
|
||||
if($this->getParameter("cas_type")=="client")
|
||||
@\phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
|
||||
else
|
||||
@\phpCAS::proxy(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
|
||||
\phpCAS::setNoCasServerValidation();
|
||||
|
||||
|
||||
@ -75,7 +78,9 @@ class SecurityController extends Controller
|
||||
if($masteridentity=="LDAP") {
|
||||
// Normalement la synchronisation des comptes aurait du générer le compte en base c'est donc pas normal
|
||||
// Peut-être juste relancer une synchronisation
|
||||
throw $this->createNotFoundException('Permission denied. Need to synchronize LDAP ? Contact your administrator');
|
||||
// On tente une synchronisation via methode SSO
|
||||
$masteridentity="SSO";
|
||||
// throw $this->createNotFoundException('Permission denied. Need to synchronize LDAP ? Contact your administrator');
|
||||
}
|
||||
|
||||
if($masteridentity=="SSO") {
|
||||
@ -86,8 +91,10 @@ class SecurityController extends Controller
|
||||
|
||||
// On calcule le niveau01 de l'utilisateur
|
||||
$niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->calculateNiveau01($attributes);
|
||||
if(!$niveau01)
|
||||
throw $this->createNotFoundException('Permission denied. No Organisation Niveau 01 match');
|
||||
if(!$niveau01) {
|
||||
$niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->findAll()[0];
|
||||
//throw $this->createNotFoundException('Permission denied. No Organisation Niveau 01 match');
|
||||
}
|
||||
|
||||
$user->setUsername($username);
|
||||
$user->setEmail($email);
|
||||
@ -104,6 +111,7 @@ class SecurityController extends Controller
|
||||
$user->setAvatar("noavatar.png");
|
||||
$user->setVisible(true);
|
||||
$user->setAuthlevel("simple");
|
||||
$user->setBelongingpopulation("agent");
|
||||
$user->setRole("ROLE_USER");
|
||||
|
||||
if(in_array($username,$this->getParameter("ldap_usersadmin")))
|
||||
@ -194,7 +202,10 @@ class SecurityController extends Controller
|
||||
public function logoutAction() {
|
||||
// Init Client CAS
|
||||
\phpCAS::setDebug(false);
|
||||
@\phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), true);
|
||||
if($this->getParameter("cas_type")=="client")
|
||||
@\phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), true);
|
||||
else
|
||||
@\phpCAS::proxy(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), true);
|
||||
\phpCAS::setNoCasServerValidation();
|
||||
|
||||
|
||||
@ -208,7 +219,10 @@ class SecurityController extends Controller
|
||||
|
||||
// Init Client CAS
|
||||
\phpCAS::setDebug("/var/log/phpcas/phpCAS-ninegate.log");
|
||||
@\phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
|
||||
if($this->getParameter("cas_type")=="client")
|
||||
@\phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
|
||||
else
|
||||
@\phpCAS::proxy(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
|
||||
\phpCAS::setNoCasServerValidation();
|
||||
|
||||
|
||||
@ -294,4 +308,29 @@ class SecurityController extends Controller
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function imapunreadAction() {
|
||||
if($this->getParameter("active_imapunread")&&$this->getParameter("cas_type")=="proxy") {
|
||||
$ip=$this->getParameter("imapundread_ip");
|
||||
|
||||
// Init Client CAS
|
||||
\phpCAS::setDebug("/var/log/phpcas/phpCAS-ninegate.log");
|
||||
@\phpCAS::proxy(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
|
||||
\phpCAS::setNoCasServerValidation();
|
||||
\phpCAS::forceAuthentication();
|
||||
|
||||
|
||||
$pt= \phpCAS::retrievePT('imap://'.$ip,$t,$f);
|
||||
$a = \phpCAS::serviceMail("{".$ip.":993/imap/ssl/novalidate-cert}","imap://".$ip,0, $errc,$err,$pt);
|
||||
$unseen = imap_status($a, "{".$ip.":993/imap/ssl/novalidate-cert}INBOX", SA_UNSEEN);
|
||||
|
||||
$count=$unseen->unseen;
|
||||
$response = new Response(json_encode($count));
|
||||
}
|
||||
else
|
||||
$response = new Response(json_encode(""));
|
||||
|
||||
$response->headers->set('Content-Type', 'application/json');
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
@ -10,3 +10,7 @@ cas_sp.test:
|
||||
path: /test
|
||||
defaults: { _controller: CadolesCASBundle:Security:test }
|
||||
|
||||
cas_sp.imapunread:
|
||||
path: /imapunread
|
||||
defaults: { _controller: CadolesCASBundle:Security:imapunread }
|
||||
|
||||
|
@ -228,9 +228,17 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$this->addModeration($profil,'cadoles_portal_config_flux',1);
|
||||
$this->addModeration($profil,'cadoles_portal_config_notice',1);
|
||||
$this->addModeration($profil,'cadoles_portal_config_icon',1);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncbalado',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_synccdt',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncgepiannu',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncgepisiecle',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_synclimesurvey',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncmoodle',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncnextcloud',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncsacoche',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncpiwik',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncwordpress',0);
|
||||
|
||||
$this->addModeration($profil,'cadoles_core_config_statistic',1);
|
||||
$this->addModeration($profil,'cadoles_core_config_mailing',1);
|
||||
$this->addModeration($profil,'cadoles_core_config_importuser',0);
|
||||
|
@ -380,6 +380,46 @@ class PurgeFileCommand extends Command
|
||||
if($result) $find=true;
|
||||
}
|
||||
|
||||
// Si pas trouvé on la cherche dans les projecttask
|
||||
if(!$find) {
|
||||
$result = $this->em
|
||||
->getRepository("CadolesPortalBundle:Projecttask")->createQueryBuilder('projecttask')
|
||||
->where('projecttask.description LIKE :tofind')
|
||||
->setParameter('tofind', '%'.$tofind.'%')
|
||||
->getQuery()->getResult();
|
||||
if($result) $find=true;
|
||||
}
|
||||
|
||||
// Si pas trouvé on la cherche dans les projectcomment
|
||||
if(!$find) {
|
||||
$result = $this->em
|
||||
->getRepository("CadolesPortalBundle:Projectcomment")->createQueryBuilder('projectcomment')
|
||||
->where('projectcomment.description LIKE :tofind')
|
||||
->setParameter('tofind', '%'.$tofind.'%')
|
||||
->getQuery()->getResult();
|
||||
if($result) $find=true;
|
||||
}
|
||||
|
||||
// Si pas trouvé on la cherche dans les blogcomment
|
||||
if(!$find) {
|
||||
$result = $this->em
|
||||
->getRepository("CadolesPortalBundle:Blogcomment")->createQueryBuilder('blogcomment')
|
||||
->where('blogcomment.description LIKE :tofind')
|
||||
->setParameter('tofind', '%'.$tofind.'%')
|
||||
->getQuery()->getResult();
|
||||
if($result) $find=true;
|
||||
}
|
||||
|
||||
// Si pas trouvé on la cherche dans les alert
|
||||
if(!$find) {
|
||||
$result = $this->em
|
||||
->getRepository("CadolesPortalBundle:Alert")->createQueryBuilder('alert')
|
||||
->where('alert.content LIKE :tofind')
|
||||
->setParameter('tofind', '%'.$tofind.'%')
|
||||
->getQuery()->getResult();
|
||||
if($result) $find=true;
|
||||
}
|
||||
|
||||
// Si pas trouvé on supprime
|
||||
if(!$find) {
|
||||
$this->writeln($name);
|
||||
|
@ -49,7 +49,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"visibletrue"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = visibletrue");
|
||||
$this->writeln("== SCRIPT = visibletrue");
|
||||
$this->visibletrue();
|
||||
|
||||
$script=new Script();
|
||||
@ -61,7 +61,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"setusersniveau"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = setusersniveau");
|
||||
$this->writeln("== SCRIPT = setusersniveau");
|
||||
$this->setusersniveau();
|
||||
|
||||
$script=new Script();
|
||||
@ -73,7 +73,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"setfgcancreateproject"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = setfgcancreateproject");
|
||||
$this->writeln("== SCRIPT = setfgcancreateproject");
|
||||
$this->setfgcancreateproject();
|
||||
|
||||
$script=new Script();
|
||||
@ -85,7 +85,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"createproject"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = createproject");
|
||||
$this->writeln("== SCRIPT = createproject");
|
||||
$this->createproject();
|
||||
|
||||
$script=new Script();
|
||||
@ -97,7 +97,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"createthumbmini"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = createthumbmini");
|
||||
$this->writeln("== SCRIPT = createthumbmini");
|
||||
$this->createthumbmini();
|
||||
|
||||
$script=new Script();
|
||||
@ -109,7 +109,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"createwidgetproject"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = createwidgetproject");
|
||||
$this->writeln("== SCRIPT = createwidgetproject");
|
||||
$this->createwidgetproject();
|
||||
|
||||
$script=new Script();
|
||||
@ -121,7 +121,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"renamegroup"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = renamegroup");
|
||||
$this->writeln("== SCRIPT = renamegroup");
|
||||
$this->renamegroup();
|
||||
|
||||
$script=new Script();
|
||||
@ -134,7 +134,7 @@ class ScriptCommand extends Command
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"rolegroup"]);
|
||||
if(!$script) {
|
||||
$this->writelnred("== SCRIPT = rolegroup");
|
||||
$this->writeln("== SCRIPT = rolegroup");
|
||||
$this->rolegroup();
|
||||
|
||||
$script=new Script();
|
||||
@ -144,6 +144,56 @@ class ScriptCommand extends Command
|
||||
$this->writeln("");
|
||||
}
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"userdefaultmissing"]);
|
||||
if(!$script) {
|
||||
$this->writeln("== SCRIPT = userdefaultmissing");
|
||||
$this->userdefaultmissing();
|
||||
|
||||
$script=new Script();
|
||||
$script->setName("userdefaultmissing");
|
||||
$this->em->persist($script);
|
||||
$this->em->flush();
|
||||
$this->writeln("");
|
||||
}
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"updateorthographe01"]);
|
||||
if(!$script) {
|
||||
$this->writeln("== SCRIPT = updateorthographe01");
|
||||
$this->updateorthographe01();
|
||||
|
||||
$script=new Script();
|
||||
$script->setName("updateorthographe01");
|
||||
$this->em->persist($script);
|
||||
$this->em->flush();
|
||||
$this->writeln("");
|
||||
}
|
||||
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"updateorthographe02"]);
|
||||
if(!$script) {
|
||||
$this->writeln("== SCRIPT = updateorthographe02");
|
||||
$this->updateorthographe02();
|
||||
|
||||
$script=new Script();
|
||||
$script->setName("updateorthographe02");
|
||||
$this->em->persist($script);
|
||||
$this->em->flush();
|
||||
$this->writeln("");
|
||||
}
|
||||
|
||||
if($this->container->getParameter('ldap_template')=="scribe") {
|
||||
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"purgepageprofil"]);
|
||||
if(!$script) {
|
||||
$this->writeln("== SCRIPT = purgepageprofil");
|
||||
$this->purgepageprofil();
|
||||
|
||||
$script=new Script();
|
||||
$script->setName("purgepageprofil");
|
||||
$this->em->persist($script);
|
||||
$this->em->flush();
|
||||
$this->writeln("");
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -319,9 +369,98 @@ class ScriptCommand extends Command
|
||||
}
|
||||
}
|
||||
|
||||
private function userdefaultmissing(){
|
||||
$users = $this->em->getRepository('CadolesCoreBundle:User')->findAll();
|
||||
foreach($users as $user) {
|
||||
if($user->getVisible()=="") {
|
||||
$user->setVisible(true);
|
||||
$this->em->persist($user);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
if($user->getAuthlevel()=="") {
|
||||
$user->setAuthlevel("simple");
|
||||
$this->em->persist($user);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
if($user->getBelongingpopulation()=="") {
|
||||
$user->setBelongingpopulation("agent");
|
||||
$this->em->persist($user);
|
||||
$this->em->flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function updateorthographe01(){
|
||||
$config=$this->em->getRepository('CadolesCoreBundle:Config')->find("fgforceconnect");
|
||||
if($config) {
|
||||
$config->setHelp("Forcer la connexion afin de rendre votre site privé");
|
||||
$this->em->persist($config);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
$config=$this->em->getRepository('CadolesCoreBundle:Config')->find("fontfacebody");
|
||||
if($config) {
|
||||
$config->setHelp("Police générale de votre site");
|
||||
$this->em->persist($config);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
$config=$this->em->getRepository('CadolesCoreBundle:Config')->find("permgroup");
|
||||
if($config) {
|
||||
$config->setHelp("Détermine quel rôle aura la permission de créer des groupes de travail");
|
||||
$this->em->persist($config);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
$config=$this->em->getRepository('CadolesCoreBundle:Config')->find("permannu");
|
||||
if($config) {
|
||||
$config->setHelp("Détermine quel rôle aura la permission de voir l'annuaire");
|
||||
$this->em->persist($config);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
$config=$this->em->getRepository('CadolesCoreBundle:Config')->find("labelbookmarkuser");
|
||||
if($config) {
|
||||
$config->setHelp("Titre de la section des items créés par l'utilisateur, et qui ne sont listés que dans cette section.");
|
||||
$this->em->persist($config);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
$config=$this->em->getRepository('CadolesCoreBundle:Config')->find("labelbookmarkitem");
|
||||
if($config) {
|
||||
$config->setHelp("Titre sur la section des items créés par l'administrateur ou le modérateur, mis à la disposition de l'utilisateur, et sélectionnés par ce dernier pour apparaitre dans cette section plutôt que dans leur catégorie d'origine.");
|
||||
$this->em->persist($config);
|
||||
$this->em->flush();
|
||||
}
|
||||
}
|
||||
|
||||
private function updateorthographe02(){
|
||||
$entityItem = $this->em->getRepository('CadolesPortalBundle:Item')->find(-398);
|
||||
if($entityItem) {
|
||||
if($entityItem->getSubtitle()!="Messagerie") {
|
||||
$entityItem->setSubtitle("Messagerie");
|
||||
$entityItem->setContent("Messagerie permettant la communication sécurisée par méls. La messagerie n’a pas pour but d’envoyer des gros fichiers mais plutôt de communiquer des informations, des liens.");
|
||||
$this->em->persist($entityItem);
|
||||
$this->em->flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function purgepageprofil() {
|
||||
$page=$this->em->getRepository('CadolesPortalBundle:Page')->findOneBy(['name'=>'PROFIL - Enseignants']);
|
||||
if($page) {
|
||||
$this->em->remove($page);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
$page=$this->em->getRepository('CadolesPortalBundle:Page')->findOneBy(['name'=>'PROFIL - Administratifs']);
|
||||
if($page) {
|
||||
$this->em->remove($page);
|
||||
$this->em->flush();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -128,7 +128,7 @@ class SynchroCommand extends Command
|
||||
$ldapfilter="(|(&(uid=*)(ENTPersonProfils=enseignant))(&(uid=*)(typeadmin=0))(&(uid=*)(typeadmin=2)))";
|
||||
$label="PROFIL - Enseignants";
|
||||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,$scribe_group);
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,false);
|
||||
|
||||
// Responsables
|
||||
$ldapfilter="(&(uid=*)(ENTPersonProfils=responsable))";
|
||||
@ -140,7 +140,20 @@ class SynchroCommand extends Command
|
||||
$ldapfilter="(&(uid=*)(ENTPersonProfils=administratif))";
|
||||
$label="PROFIL - Administratifs";
|
||||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,$scribe_group);
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,false);
|
||||
|
||||
// Niveaux
|
||||
$this->writeln('');
|
||||
$this->writeln('== NIVEAUX ==========================================');
|
||||
$results = $this->ldap->search("type=Niveau", ['cn','description','gidNumber'], $this->ldap_basedn);
|
||||
foreach($results as $result) {
|
||||
$cn=$result["cn"];
|
||||
$ldapfilter="(&(type=Niveau)(cn=$cn))";
|
||||
|
||||
$label="NIVEAU - ".$result["cn"];
|
||||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,false);
|
||||
}
|
||||
|
||||
// Classes
|
||||
$this->writeln('');
|
||||
@ -155,6 +168,32 @@ class SynchroCommand extends Command
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,$scribe_group);
|
||||
}
|
||||
|
||||
// Elèves des Classes
|
||||
$this->writeln('');
|
||||
$this->writeln('== ELEVES DES CLASSES ==========================================');
|
||||
$results = $this->ldap->search("type=Classe", ['cn','description','gidNumber'], $this->ldap_basedn);
|
||||
foreach($results as $result) {
|
||||
$cn=$result["cn"];
|
||||
$ldapfilter="(&(type=Classe)(cn=$cn))";
|
||||
|
||||
$label="ELEVES - ".$result["cn"];
|
||||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,false);
|
||||
}
|
||||
|
||||
// Professeurs des Classes
|
||||
$this->writeln('');
|
||||
$this->writeln('== PROFESSEURS DES CLASSES ==========================================');
|
||||
$results = $this->ldap->search("type=Classe", ['cn','description','gidNumber'], $this->ldap_basedn);
|
||||
foreach($results as $result) {
|
||||
$cn=$result["cn"];
|
||||
$ldapfilter="(|(&(type=Equipe)(cn=profs-$cn))(&(ENTPersonProfils=Administratif)(divcod=$cn)))";
|
||||
|
||||
$label="PROFESSEURS - ".$result["cn"];
|
||||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,false);
|
||||
}
|
||||
|
||||
// Options
|
||||
$this->writeln('');
|
||||
$this->writeln('== OPTIONS ==========================================');
|
||||
|
@ -326,10 +326,9 @@ class ConfigController extends Controller
|
||||
$fields["niveau02"]["perm"]=1;
|
||||
$fields["niveau02"]["label"]=$session->get('labelniveau02');
|
||||
}
|
||||
if(!array_key_exists("group",$fields)) {
|
||||
$fields["group"]["perm"]=1;
|
||||
$fields["group"]["label"]="Groupes";
|
||||
}
|
||||
if(!array_key_exists("group",$fields)) $fields["group"]["perm"]=1;
|
||||
$fields["group"]["label"]="Groupes (caché uniquement pour le rôle Utilisateur) ";
|
||||
|
||||
if(!array_key_exists("job",$fields)) {
|
||||
$fields["job"]["perm"]=1;
|
||||
$fields["job"]["label"]="Métier";
|
||||
@ -346,10 +345,8 @@ class ConfigController extends Controller
|
||||
$fields["telephonenumber"]["perm"]=1;
|
||||
$fields["telephonenumber"]["label"]="Téléphone";
|
||||
}
|
||||
if(!array_key_exists("visitedate",$fields)) {
|
||||
$fields["visitedate"]["perm"]=1;
|
||||
$fields["visitedate"]["label"]="Visite";
|
||||
}
|
||||
if(!array_key_exists("visitedate",$fields)) $fields["visitedate"]["perm"]=1;
|
||||
$fields["visitedate"]["label"]="Visite (caché uniquement pour les rôles Animateur et Utilisateur) ";
|
||||
|
||||
if(!$session->get('viewniveau02'))
|
||||
unset($fields["niveau02"]);
|
||||
|
@ -59,17 +59,18 @@ class CoreController extends Controller
|
||||
|
||||
// Chargement des chartes à signer
|
||||
if($user) {
|
||||
|
||||
$notices=$em->getRepository("CadolesPortalBundle:Notice")->getNoticeToRead($user);
|
||||
if(! $notices->isEmpty()) {
|
||||
$notices=$em->getRepository("CadolesPortalBundle:Notice")->getNoticeUser($user,false);
|
||||
|
||||
return $this->render('CadolesPortalBundle:Notice:mustread.html.twig',[
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => false,
|
||||
'maxwidth' => true,
|
||||
'mustread' => true,
|
||||
'notices' => $notices
|
||||
'notices' => $notices,
|
||||
'id' => $id,
|
||||
]);
|
||||
}
|
||||
|
||||
@ -85,8 +86,8 @@ class CoreController extends Controller
|
||||
switch($key) {
|
||||
case "firstname": if($user->getFirstname()=="") $toprofil=true; break;
|
||||
case "visible": if($user->getVisible()=="") $toprofil=true; break;
|
||||
case "authlevel": if($user->getAuthlevel()=="") $toprofil=true; break;
|
||||
case "belongingpopulation": if($user->getBelongingpopulation()=="") $toprofil=true; break;
|
||||
//case "authlevel": if($user->getAuthlevel()=="") $toprofil=true; break;
|
||||
//case "belongingpopulation": if($user->getBelongingpopulation()=="") $toprofil=true; break;
|
||||
case "job": if($user->getJob()=="") $toprofil=true; break;
|
||||
case "position": if($user->getPosition()=="") $toprofil=true; break;
|
||||
case "niveau02": if($user->geNiveau02()=="") $toprofil=true; break;
|
||||
|
@ -526,13 +526,15 @@ class FileController extends Controller
|
||||
|
||||
$output=array();
|
||||
$directory=$request->request->get('directory');
|
||||
|
||||
|
||||
// Récupération du répertoire source et le nom du fichier
|
||||
$racine=$this->get('kernel')->getRootDir()."/../uploads/file";
|
||||
$dirsource =$request->request->get('dirsource');
|
||||
$namesource =$request->request->get('namesource');
|
||||
$dirdestination =$request->request->get('dirdestination');
|
||||
$namedestination =$request->request->get('namedestination');
|
||||
$directory = $request->request->get('directory');
|
||||
$dirsource = $request->request->get('dirsource');
|
||||
$namesource = $request->request->get('namesource');
|
||||
$dirdestination = $request->request->get('dirdestination');
|
||||
$namedestination = $request->request->get('namedestination');
|
||||
|
||||
|
||||
$canupdate =$this->getPermission($access,$directory);
|
||||
@ -541,8 +543,19 @@ class FileController extends Controller
|
||||
$fs = new Filesystem();
|
||||
|
||||
// Déplacer le fichier
|
||||
$urlsource=$racine."/".$dirsource."/".$namesource;
|
||||
$urldestination=$racine."/".$dirdestination."/".$namedestination;
|
||||
$urlsource=str_replace("//","/",$racine."/".$dirsource."/".$namesource);
|
||||
$urldestination=str_replace("//","/",$racine."/".$dirdestination."/".$namedestination);
|
||||
|
||||
// Controle de cohérance du déplacement
|
||||
$fgerror=false;
|
||||
if(empty($racine)) $fgerror=true;
|
||||
if(empty($dirsource)) $fgerror=true;
|
||||
if(empty($directory)) $fgerror=true;
|
||||
if($urlsource==$urldestination) $fgerror=true;
|
||||
if(stripos($urldestination,$urlsource)!==false) $fgerror=true;
|
||||
if($fgerror) return new JsonResponse(array('message' => 'Interdit'), 400);
|
||||
|
||||
|
||||
if($fs->exists($urlsource)) {
|
||||
if(is_dir($urlsource)) {
|
||||
$fs->mirror($urlsource,$urldestination);
|
||||
|
@ -494,6 +494,13 @@ class GroupController extends Controller
|
||||
$datas=$qb->setFirstResult($start)->setMaxResults($length)->getQuery()->getResult();
|
||||
$user=$this->getUser();
|
||||
|
||||
$config=$em->getRepository('CadolesCoreBundle:Config')->find("datausers");
|
||||
$fields=$config->getValue();
|
||||
$fields=json_decode($fields,true);
|
||||
if(!is_array($fields)) $fields=[];
|
||||
if(!array_key_exists("visite",$fields)) $fields["visite"]["perm"]=0;
|
||||
$fgviewvisite=($fields["visite"]["perm"]==1);
|
||||
|
||||
foreach($datas as $data) {
|
||||
// Propriétaire
|
||||
$usergroup=$em->getRepository("CadolesCoreBundle:UserGroup")->findOneBy(["user"=>$data->getId(),"group"=>$id]);
|
||||
@ -522,12 +529,18 @@ class GroupController extends Controller
|
||||
}
|
||||
|
||||
// Visite
|
||||
$visite="";
|
||||
if($usergroup->getVisitedate()) {
|
||||
$visite=$usergroup->getVisitedate()->format("d/m/Y H:i")."<br>nb = ".$usergroup->getVisitecpt();
|
||||
if($fgviewvisite) {
|
||||
$visite="";
|
||||
if($usergroup->getVisitedate()) {
|
||||
$visite=$usergroup->getVisitedate()->format("d/m/Y H:i")."<br>nb = ".$usergroup->getVisitecpt();
|
||||
}
|
||||
}
|
||||
if($fgviewvisite)
|
||||
$tmp=array("DT_RowId"=>"user".$data->getId(),$action,$avatar,$data->getUsername(),$data->getEmail(),$visite,$rolegroup);
|
||||
else
|
||||
$tmp=array("DT_RowId"=>"user".$data->getId(),$action,$avatar,$data->getUsername(),$data->getEmail(),$rolegroup);
|
||||
|
||||
array_push($output["data"],array("DT_RowId"=>"user".$data->getId(),$action,$avatar,$data->getUsername(),$data->getEmail(),$visite,$rolegroup));
|
||||
array_push($output["data"],$tmp);
|
||||
}
|
||||
|
||||
// Retour
|
||||
@ -575,7 +588,7 @@ class GroupController extends Controller
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key->toString(),$userid,$groupid,$message);
|
||||
|
||||
// Notification mail auprès de la personne inscrite
|
||||
if($group->getFgcanshare()) {
|
||||
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
|
||||
$idpage =$group->getPages()->first()->getId();
|
||||
$url = $this->generateUrl('cadoles_core_redirect', ["route"=>"cadoles_core_home","id"=>$idpage], UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$texthtml="Vous venez d'être inscrit dans le groupe de travail : ".$group->getLabel()."<br>Suivez le lien suivant pour y accéder = <a href='$url'>$url</a>";
|
||||
@ -629,7 +642,7 @@ class GroupController extends Controller
|
||||
$em->flush();
|
||||
|
||||
// Notification mail auprès des managers
|
||||
if($group->getFgcanshare()) {
|
||||
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
|
||||
$text=$user->getUsername()." a été désinscrit du groupe de travail : ".$group->getLabel();
|
||||
$template="template";
|
||||
$mail_params=array(
|
||||
@ -675,7 +688,7 @@ class GroupController extends Controller
|
||||
$em->flush();
|
||||
|
||||
// Notification mail auprès des managers
|
||||
if($group->getFgcanshare()) {
|
||||
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
|
||||
$text=$user->getUsername()." a été désinscrit du groupe de travail : ".$group->getLabel();
|
||||
$template="template";
|
||||
$mail_params=array(
|
||||
@ -875,7 +888,7 @@ class GroupController extends Controller
|
||||
$this->ctrlFgcanshare($data,$access);
|
||||
|
||||
// Si le propriétaire change de main on prévient le nouveau propriétaire
|
||||
if($data->getOwner()&&$data->getOwner()!=$oldowner) {
|
||||
if($data->getOwner()&&$data->getOwner()!=$oldowner&&$this->get('session')->get('fgnotifgroup')) {
|
||||
// Email à destination de l'inscript pour le prévenir qu'un administrateur doit valider
|
||||
$text="On vient de vous tranférer la propriété du groupe ".$data->getLabel();
|
||||
$template="template";
|
||||
@ -1018,6 +1031,14 @@ class GroupController extends Controller
|
||||
// idreturn ?
|
||||
$idreturn=$request->get("idreturn");
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$config=$em->getRepository('CadolesCoreBundle:Config')->find("datausers");
|
||||
$fields=$config->getValue();
|
||||
$fields=json_decode($fields,true);
|
||||
if(!is_array($fields)) $fields=[];
|
||||
if(!array_key_exists("visite",$fields)) $fields["visite"]["perm"]=0;
|
||||
$fgviewvisite=($fields["visite"]["perm"]==1);
|
||||
|
||||
// Affichage du formulaire
|
||||
return $this->render($this->labelentity.':users.html.twig', [
|
||||
'useheader' => true,
|
||||
@ -1026,6 +1047,7 @@ class GroupController extends Controller
|
||||
'access' => $access,
|
||||
$this->labeldata => $data,
|
||||
'idreturn' => $idreturn,
|
||||
'fgviewvisite' => $fgviewvisite,
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -331,8 +331,15 @@ class PermmodoprofilController extends Controller
|
||||
$this->addModeration($profil,'cadoles_portal_config_flux',1);
|
||||
$this->addModeration($profil,'cadoles_portal_config_notice',1);
|
||||
$this->addModeration($profil,'cadoles_portal_config_icon',1);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncbalado',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_synccdt',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncgepiannu',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncgepisiecle',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_synclimesurvey',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncmoodle',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncnextcloud',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncsacoche',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncpiwik',0);
|
||||
$this->addModeration($profil,'cadoles_portal_config_syncwordpress',0);
|
||||
$this->addModeration($profil,'cadoles_core_config_statistic',1);
|
||||
$this->addModeration($profil,'cadoles_core_config_mailing',1);
|
||||
|
@ -46,6 +46,7 @@ class SondeController extends Controller
|
||||
elseif($route=="cadoles_portal_user_page_view") {
|
||||
if($usage=="group") $usagesonde="collaboratif";
|
||||
elseif($usage=="user") $usagesonde="collaboratif";
|
||||
elseif($usage=="accueil") $usagesonde="accueil";
|
||||
else $usagesonde="portail";
|
||||
}
|
||||
elseif(stripos($route,"cadoles_portal_user_calendar")!==false)
|
||||
|
@ -366,8 +366,8 @@ class UserController extends Controller
|
||||
// Initialisation de l'enregistrement
|
||||
$data = new User();
|
||||
$data->setVisible(true);
|
||||
$data->setBelongingpopulation("authlevel");
|
||||
$data->setAuthlevel("simple");
|
||||
$data->setBelongingpopulation("agent");
|
||||
$fields=$this->getDefaultDatauser();
|
||||
|
||||
// Création du formulaire
|
||||
@ -429,7 +429,7 @@ class UserController extends Controller
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key->toString(),$iduser,$idgroup,$message);
|
||||
|
||||
// Notification mail auprès de la personne inscrite
|
||||
if($group->getFgcanshare()) {
|
||||
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
|
||||
$idpage =$group->getPages()->first()->getId();
|
||||
$url = $this->generateUrl('cadoles_core_redirect', ["route"=>"cadoles_core_home","id"=>$idpage], UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$texthtml="Vous venez d'être inscrit dans le groupe de travail : ".$group->getLabel()."<br>Suivez le lien suivant pour y accéder = <a href='$url'>$url</a>";
|
||||
@ -489,6 +489,7 @@ class UserController extends Controller
|
||||
$oldpassword=$data->getPassword();
|
||||
$fields=$this->getDefaultDatauser();
|
||||
|
||||
|
||||
// Si un acces modo via console d'admin on s'assure qu'il a les droit dessus sinon retour à la liste
|
||||
if($this->isGranted('ROLE_MODO')&&$access=="config") {
|
||||
$niveau01=$data->getNiveau01();
|
||||
@ -580,7 +581,7 @@ class UserController extends Controller
|
||||
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key->toString(),$id,$idgroup,$message);
|
||||
|
||||
// Notification mail auprès de la personne inscrite
|
||||
if($group->getFgcanshare()) {
|
||||
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
|
||||
$idpage =$group->getPages()->first()->getId();
|
||||
$url = $this->generateUrl('cadoles_core_redirect', ["route"=>"cadoles_core_home","id"=>$idpage], UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$texthtml="Vous venez d'être inscrit dans le groupe de travail : ".$group->getLabel()."<br>Suivez le lien suivant pour y accéder = <a href='$url'>$url</a>";
|
||||
@ -623,7 +624,7 @@ class UserController extends Controller
|
||||
$em->flush();
|
||||
|
||||
// Notification mail auprès des managers
|
||||
if($group->getFgcanshare()) {
|
||||
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
|
||||
$text=$data->getUsername()." a été désinscrit du groupe de travail : ".$group->getLabel();
|
||||
$template="template";
|
||||
$mail_params=array(
|
||||
@ -841,12 +842,15 @@ class UserController extends Controller
|
||||
public function viewAction($id, Request $request)
|
||||
{
|
||||
$user=$this->getData($id);
|
||||
$fields=$this->getDefaultDatausers();
|
||||
|
||||
return $this->render('CadolesCoreBundle:User:view.html.twig', [
|
||||
'useheader' => false,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => false,
|
||||
"user" => $user
|
||||
'user' => $user,
|
||||
'fields' => $fields,
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
@ -1255,7 +1259,7 @@ class UserController extends Controller
|
||||
$key=$request->request->get('key');
|
||||
$id=$request->request->get('id');
|
||||
$value=$request->request->get('value');
|
||||
|
||||
|
||||
// Récupérer les préférences de l'utilisateur
|
||||
$preference=$this->getUser()->getPreference();
|
||||
|
||||
@ -1290,7 +1294,7 @@ class UserController extends Controller
|
||||
$toupdate=true;
|
||||
$preference[$key][$id]=$value;
|
||||
}
|
||||
if($value&&$preference[$key][$id]!=$value) {
|
||||
if($preference[$key][$id]!=$value) {
|
||||
$toupdate=true;
|
||||
$preference[$key][$id]=$value;
|
||||
}
|
||||
@ -1452,7 +1456,76 @@ class UserController extends Controller
|
||||
if(!array_key_exists("visite",$fields)) {
|
||||
$fields["visite"]["perm"]=1;
|
||||
$fields["visite"]["label"]="Visite";
|
||||
}
|
||||
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
protected function getDefaultDatausers()
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$session=$this->get('session');
|
||||
$config=$em->getRepository('CadolesCoreBundle:Config')->find("datausers");
|
||||
$fields=$config->getValue();
|
||||
|
||||
$fields=json_decode($fields, true);
|
||||
if(!is_array($fields)) $fields=[];
|
||||
|
||||
// Valeur par défaut 0=caché / 3=visible
|
||||
if(!array_key_exists("avatar",$fields)) {
|
||||
$fields["avatar"]["perm"]=1;
|
||||
$fields["avatar"]["label"]="Avatar";
|
||||
}
|
||||
if(!array_key_exists("login",$fields)) {
|
||||
$fields["login"]["perm"]=1;
|
||||
$fields["login"]["label"]="Login";
|
||||
}
|
||||
if(!array_key_exists("lastname",$fields)) {
|
||||
$fields["lastname"]["perm"]=1;
|
||||
$fields["lastname"]["label"]="Nom";
|
||||
}
|
||||
if(!array_key_exists("firstname",$fields)) {
|
||||
$fields["firstname"]["perm"]=1;
|
||||
$fields["firstname"]["label"]="Prenom";
|
||||
}
|
||||
if(!array_key_exists("email",$fields)) {
|
||||
$fields["email"]["perm"]=1;
|
||||
$fields["email"]["label"]="Email";
|
||||
}
|
||||
if(!array_key_exists("niveau01",$fields)) {
|
||||
$fields["niveau01"]["perm"]=1;
|
||||
$fields["niveau01"]["label"]=$session->get('labelniveau01');
|
||||
}
|
||||
if(!array_key_exists("niveau02",$fields)) {
|
||||
$fields["niveau02"]["perm"]=1;
|
||||
$fields["niveau02"]["label"]=$session->get('labelniveau02');
|
||||
}
|
||||
if(!array_key_exists("group",$fields)) $fields["group"]["perm"]=1;
|
||||
$fields["group"]["label"]="Groupes (caché uniquement pour le rôle Utilisateur) ";
|
||||
|
||||
if(!array_key_exists("job",$fields)) {
|
||||
$fields["job"]["perm"]=1;
|
||||
$fields["job"]["label"]="Métier";
|
||||
}
|
||||
if(!array_key_exists("position",$fields)) {
|
||||
$fields["position"]["perm"]=1;
|
||||
$fields["position"]["label"]="Fonction";
|
||||
}
|
||||
if(!array_key_exists("role",$fields)) {
|
||||
$fields["role"]["perm"]=1;
|
||||
$fields["role"]["label"]="Rôles";
|
||||
}
|
||||
if(!array_key_exists("telephonenumber",$fields)) {
|
||||
$fields["telephonenumber"]["perm"]=1;
|
||||
$fields["telephonenumber"]["label"]="Téléphone";
|
||||
}
|
||||
if(!array_key_exists("visitedate",$fields)) $fields["visitedate"]["perm"]=1;
|
||||
$fields["visitedate"]["label"]="Visite (caché uniquement pour les rôles Animateur et Utilisateur) ";
|
||||
|
||||
if(!$session->get('viewniveau02'))
|
||||
unset($fields["niveau02"]);
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
|
@ -27,10 +27,10 @@ class Registration implements UserInterface, \Serializable
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=25, unique=true)
|
||||
* @ORM\Column(type="string", length=128, unique=true)
|
||||
* @Assert\Length(
|
||||
* min = "5",
|
||||
* max = "25",
|
||||
* max = "128",
|
||||
* minMessage = "Votre nom doit faire au moins {{ limit }} caractères",
|
||||
* maxMessage = "Votre nom ne peut pas être plus long que {{ limit }} caractères"
|
||||
* )
|
||||
@ -68,7 +68,7 @@ class Registration implements UserInterface, \Serializable
|
||||
private $passwordad;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, unique=true)
|
||||
* @ORM\Column(type="string", length=128, unique=true)
|
||||
*/
|
||||
private $email;
|
||||
|
||||
|
@ -30,10 +30,10 @@ class User implements UserInterface, \Serializable
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=50, unique=true)
|
||||
* @ORM\Column(type="string", length=128, unique=true)
|
||||
* @Assert\Length(
|
||||
* min = "5",
|
||||
* max = "25",
|
||||
* max = "128",
|
||||
* minMessage = "Votre nom doit faire au moins {{ limit }} caractères",
|
||||
* maxMessage = "Votre nom ne peut pas être plus long que {{ limit }} caractères"
|
||||
* )
|
||||
@ -71,7 +71,7 @@ class User implements UserInterface, \Serializable
|
||||
private $passwordad;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, unique=true)
|
||||
* @ORM\Column(type="string", length=128, unique=true)
|
||||
*/
|
||||
private $email;
|
||||
|
||||
|
@ -13,12 +13,15 @@
|
||||
class sessionListener {
|
||||
protected $container;
|
||||
protected $em;
|
||||
protected $token_storage;
|
||||
protected $session;
|
||||
|
||||
public function __construct($container, EntityManager $em, TokenStorageInterface $token_storage)
|
||||
public function __construct($container, EntityManager $em, TokenStorageInterface $token_storage,Session $session)
|
||||
{
|
||||
$this->container = $container;
|
||||
$this->em = $em;
|
||||
$this->token_storage = $token_storage;
|
||||
$this->session = $session;
|
||||
}
|
||||
|
||||
public function haveRole($curentuser,$roles,$tohave,$route) {
|
||||
@ -44,9 +47,7 @@
|
||||
}
|
||||
|
||||
public function onDomainParse(Event $event) {
|
||||
$session = new Session();
|
||||
|
||||
|
||||
$session = $this->session;
|
||||
|
||||
$configs = $this->em->getRepository("CadolesCoreBundle:Config")->findAll();
|
||||
foreach($configs as $config) {
|
||||
@ -93,6 +94,7 @@
|
||||
$app["activate_widwordpress"] =$this->container->getParameter('activate_widwordpress');
|
||||
|
||||
$app["widbalado_activate_syncenvole"] =$this->container->getParameter('widbalado_activate_syncenvole');
|
||||
$app["widcdt_activate_syncenvole"] =$this->container->getParameter('widcdt_activate_syncenvole');
|
||||
$app["widgepi_activate_syncenvole"] =$this->container->getParameter('widgepi_activate_syncenvole');
|
||||
$app["widnextcloud_activate_syncenvole"] =$this->container->getParameter('widnextcloud_activate_syncenvole');
|
||||
$app["widpiwik_activate_syncenvole"] =$this->container->getParameter('widpiwik_activate_syncenvole');
|
||||
|
@ -52,7 +52,7 @@ class MailType extends AbstractType
|
||||
'mapped'=> false,
|
||||
'required' => false,
|
||||
'attr' => array("class" => "form-control", "style" => "margin-bottom:15px"),
|
||||
'config' => ["height" => "150px",'filebrowserUploadRoute' => 'cadoles_portal_user_pagewidget_upload']
|
||||
'config' => ["height" => "150px"]
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -99,7 +99,7 @@ class MailingType extends AbstractType
|
||||
'mapped'=> false,
|
||||
'required' => true,
|
||||
'attr' => array("class" => "form-control", "style" => "margin-bottom:15px"),
|
||||
'config' => ["height" => "400px",'filebrowserUploadRoute' => 'cadoles_portal_user_pagewidget_upload']
|
||||
'config' => ["height" => "400px"]
|
||||
]);
|
||||
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ services:
|
||||
cadoles.core.session.listener:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\EventListener\sessionListener
|
||||
arguments: ['@service_container','@doctrine.orm.entity_manager',"@security.token_storage"]
|
||||
arguments: ['@service_container','@doctrine.orm.entity_manager',"@security.token_storage","@session"]
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: kernel.request, method: onDomainParse }
|
||||
|
||||
|
@ -60,6 +60,17 @@ body {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .title{
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.header small {
|
||||
font-size:14px;
|
||||
top: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.header { display: none }
|
||||
#menu-header { display: none }
|
||||
@ -110,6 +121,25 @@ body {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#navbar-nameuser {
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
right: 30px;
|
||||
}
|
||||
|
||||
.navbar-top-links #navbar-nameuser {
|
||||
position: relative;
|
||||
top: -8px;
|
||||
right: inherit;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.navbar-top-links #navbar-nameuser {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.navbar-default .navbar-header #title {
|
||||
display: none;
|
||||
@ -337,12 +367,12 @@ span.item-drag {
|
||||
|
||||
.grid-item .item-link img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
//max-height: 110px;
|
||||
height: auto;
|
||||
margin: 10px;
|
||||
height: 105px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.grid-item .grid-item-title {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
@ -735,6 +765,11 @@ a.item-heart {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.widget-ckeditor img {
|
||||
height:auto !important;
|
||||
}
|
||||
|
||||
|
||||
.frameitem {
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
Binary file not shown.
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
@ -49,6 +49,12 @@
|
||||
|
||||
.header.reduit .avatar {height: 25px; }
|
||||
|
||||
.header.reduit #navbar-nameuser
|
||||
{
|
||||
top: 14px;
|
||||
right: 210px;
|
||||
}
|
||||
|
||||
/* ===================== FIN MODE REDUIT ==========================*/
|
||||
|
||||
/* fix defaut d'affichage sur toogle switch */
|
||||
@ -57,7 +63,11 @@ body {
|
||||
background: linear-gradient(180deg, var(--main), white,50%);
|
||||
}
|
||||
|
||||
body.eleves, body.grp-National_1 {
|
||||
#navbar-nameuser a {
|
||||
color: var(--main, #004d9a) !important;
|
||||
}
|
||||
|
||||
body.eleves, body.grp-National_1, body.grp-eleves {
|
||||
--colorbody: #ffffff;
|
||||
--main: #169b62;
|
||||
--mainR: 22;
|
||||
@ -77,7 +87,7 @@ body.eleves, body.grp-National_1 {
|
||||
/* responsables #MAUVE #7D4E5B
|
||||
*/
|
||||
|
||||
body.responsables, body.grp-National_2 {
|
||||
body.responsables, body.grp-National_2,body.grp-responsables {
|
||||
--colorbody: #ffffff;
|
||||
--main: #7d4e5b;
|
||||
--mainR: 125;
|
||||
@ -96,7 +106,7 @@ body.responsables, body.grp-National_2 {
|
||||
|
||||
|
||||
/* professeurs, enseignants1d #BLEU1 #5770BE */
|
||||
body.professeurs, body.enseignants1d, body.grp-National_3 {
|
||||
body.professeurs, body.enseignants1d, body.grp-National_3, body.grp-professeurs {
|
||||
--colorbody: #ffffff;
|
||||
--main: #5770be;
|
||||
--mainR: 87;
|
||||
@ -114,7 +124,7 @@ body.professeurs, body.enseignants1d, body.grp-National_3 {
|
||||
}
|
||||
|
||||
/* administratifs, admin #ORANGE #FF6F4C */
|
||||
body.administratifs, body.admin, body.grp-National_4 , body.grp-National_5, body.grp-National_6 {
|
||||
body.administratifs, body.admin, body.grp-National_4 , body.grp-National_5, body.grp-National_6 , body.grp-administratifs, {
|
||||
--colorbody: #ffffff;
|
||||
--main: #ff6f4c;
|
||||
--mainR: 255;
|
||||
@ -278,7 +288,9 @@ div.header > a.title > span {
|
||||
}
|
||||
.nav.navbar-top-links.navbar-right > li a:hover {
|
||||
color: var(--fontcolorhover, white) !important;
|
||||
background: var(--fontcolorhoverdark, black) !important;
|
||||
background: var(--light, black) !important;
|
||||
border-radius: 5px;
|
||||
padding-top: 1px;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -0,0 +1,26 @@
|
||||
{% set logo = "" %}
|
||||
|
||||
{% set header = "header.jpg" %}
|
||||
{% set heightheader = "" %}
|
||||
|
||||
{% set colormain = "" %}
|
||||
{% set fontcolorhover = "" %}
|
||||
{% set colorbody = "" %}
|
||||
|
||||
{% set fontfacetitle = "" %}
|
||||
{% set fontfacebody = "" %}
|
||||
|
||||
{{
|
||||
render(url("cadoles_core_theme_setconfig",
|
||||
{
|
||||
'logo':logo,
|
||||
'header': header,
|
||||
'heightheader': heightheader,
|
||||
'colormain': colormain,
|
||||
'fontcolorhover': fontcolorhover,
|
||||
'colorbody': colorbody,
|
||||
'fontfacetitle': fontfacetitle,
|
||||
'fontfacebody': fontfacebody
|
||||
}
|
||||
))
|
||||
}}
|
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,3 @@
|
||||
name: White
|
||||
author: Arnaud Fornerot
|
||||
version: 1.0
|
Binary file not shown.
After Width: | Height: | Size: 286 KiB |
@ -0,0 +1,25 @@
|
||||
.header{
|
||||
background-image: url(header.jpg) !important;
|
||||
}
|
||||
|
||||
.header .title {
|
||||
color: var(--main);
|
||||
}
|
||||
|
||||
.header .title:hover {
|
||||
color: var(--light);
|
||||
}
|
||||
|
||||
.header a {
|
||||
color: var(--main);
|
||||
}
|
||||
|
||||
.header a:hover {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.grid-item .grid-item-title h2 {
|
||||
font-weight: bold;
|
||||
text-transform: initial;
|
||||
font-size:110% !important;
|
||||
}
|
@ -4,6 +4,8 @@
|
||||
<form>
|
||||
<h1 class="page-header">Configuration Générale</h1>
|
||||
|
||||
Attention, selon la configuration du portail, certains paramètres sont forcés au niveau du serveur et donc certains réglages peuvent être inopérants dans cette interface.
|
||||
<br><br>
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<i class="fa fa-table fa-fw"></i> Liste des Configurations
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% block pagewrapper %}
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">Modification Configuration Générale</h1>
|
||||
<h1 class="page-header">Modification Configuration Générale = {{config.id}}</h1>
|
||||
|
||||
{{ form_widget(form.submit) }} <a class="btn btn-default" href={{ path('cadoles_core_config_commun') }}>Annuler</a>
|
||||
|
||||
|
@ -291,6 +291,7 @@
|
||||
});
|
||||
|
||||
|
||||
{% if canupdate and not fgtrash %}
|
||||
$('.file').on('dragstart', function (s) {
|
||||
dirsource=$(this).data("dir");
|
||||
namesource=$(this).data("name");
|
||||
@ -313,11 +314,17 @@
|
||||
dirdestination=$(this).data("dir")+"/"+$(this).data("name");
|
||||
namedestination=namesource;
|
||||
|
||||
// Si la source est la meme que la destination on ne fait rien
|
||||
if(dirdestination+"/"+namedestination==dirsource+"/"+namesource) return false;
|
||||
urlsource=dirsource+"/"+namesource;
|
||||
urlsource=urlsource.replace("//","/");
|
||||
urldestination=dirdestination+"/"+namedestination;
|
||||
urldestination=urldestination.replace("//","/");
|
||||
|
||||
// Si la source est la meme que la destination on ne fait rien
|
||||
if(urlsource==urldestination) return false;
|
||||
|
||||
// Si la source est dans la destination on ne fait rien
|
||||
//if(urldestination.includes(urlsource)) return false;
|
||||
|
||||
console.log(dirsource+"/"+namesource);
|
||||
console.log(dirdestination+"/"+namedestination);
|
||||
// On déplace l'element
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
@ -336,11 +343,9 @@
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
});
|
||||
@ -366,6 +371,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
{% if canupdate %}
|
||||
// Trasher un fichier
|
||||
function trashFile(directory,subdirectory,filename) {
|
||||
var r = confirm("Confirmez-vous la mise à la poubelle de ce fichier ? Vous pourrez le récupèrer si besoin.");
|
||||
@ -422,6 +428,7 @@
|
||||
});
|
||||
}
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
|
||||
// Affichage des frames associés aux items de bureau
|
||||
|
@ -4,11 +4,11 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Groupe
|
||||
Modification Groupe = {{ group.label }}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Groupe
|
||||
{% elseif mode=="delete" %}
|
||||
Suppression Groupe
|
||||
Suppression Groupe = {{ group.label }}
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
|
@ -36,7 +36,9 @@
|
||||
<th width="70px" class="no-sort">Avatar</th>
|
||||
<th width="200px">Login</th>
|
||||
<th>Email</th>
|
||||
{% if fgviewvisite %}
|
||||
<th class="no-sort no-visible">Visite</th>
|
||||
{% endif %}
|
||||
{% if group.fgcanshare %}
|
||||
<th class="no-sort no-visible">Permissions</th>
|
||||
{% endif %}
|
||||
@ -63,7 +65,9 @@
|
||||
<th width="70px" class="no-sort">Avatar</th>
|
||||
<th width="200px">Login</th>
|
||||
<th>Email</th>
|
||||
{% if fgviewvisite %}
|
||||
<th class="no-sort">Visite</th>
|
||||
{% endif %}
|
||||
{% if group.fgcanshare %}
|
||||
<th class="no-sort">Permissions</th>
|
||||
{% endif %}
|
||||
|
@ -6,9 +6,9 @@
|
||||
{% set permannu = app.session.get('permannu') %}
|
||||
|
||||
{% if fgheader %}
|
||||
<li id="menu-header"><a onclick="switchHeader()" title="Cacher / Affichier Bannière " style="cursor:pointer"><i class="fa fa-chevron-up fa-fw"></i></a>
|
||||
<li id="menu-header"><a onclick="switchHeader()" title="Cacher / Afficher Bannière " style="cursor:pointer"><i class="fa fa-chevron-up fa-fw"></i></a>
|
||||
{% else %}
|
||||
<li id="menu-header"><a onclick="switchHeader()" title="Cacher / Affichier Bannière " style="cursor:pointer"><i class="fa fa-chevron-down fa-fw"></i></a>
|
||||
<li id="menu-header"><a onclick="switchHeader()" title="Cacher / Afficher Bannière " style="cursor:pointer"><i class="fa fa-chevron-down fa-fw"></i></a>
|
||||
{% endif %}
|
||||
|
||||
{% if is_granted('ROLE_ADMIN') or (is_granted('ROLE_MODO') and (permannu=="ROLE_MODO" or permannu=="ROLE_ANIM" or permannu=="ROLE_USER")) or (is_granted('ROLE_ANIM') and (permannu=="ROLE_ANIM" or permannu=="ROLE_USER")) or (is_granted('ROLE_USER') and permannu=="ROLE_USER") %}
|
||||
|
@ -4,11 +4,11 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification {{ labelniveau01 }}
|
||||
Modification {{ labelniveau01 }} = {{niveau01.label}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création {{ labelniveau01 }}
|
||||
{% elseif mode=="delete" %}
|
||||
Suppression {{ labelniveau01 }}
|
||||
Suppression {{ labelniveau01 }} = {{niveau01.label}}
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
|
@ -4,11 +4,11 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification {{ labelniveau02 }}
|
||||
Modification {{ labelniveau02 }} = {{niveau02.label}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création {{ labelniveau02 }}
|
||||
{% elseif mode=="delete" %}
|
||||
Suppression {{ labelniveau02 }}
|
||||
Suppression {{ labelniveau02 }} = {{niveau02.label}}
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
|
@ -4,11 +4,11 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Profil de Modération
|
||||
Modification Profil de Modération = {{ permmodoprofil.name }}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Profil de Modération
|
||||
{% elseif mode=="delete" %}
|
||||
Suppression Profil de Modération
|
||||
Suppression Profil de Modération = {{ permmodoprofil.name }}
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
|
@ -5,11 +5,11 @@
|
||||
{% if moderegistration!="none" %}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="send" %}
|
||||
Confirmation à l'Utilisateur
|
||||
Confirmation à l'Utilisateur = {{ registration.username }}
|
||||
{% elseif mode=="submit" %}
|
||||
Inscription
|
||||
{% elseif mode=="delete" %}
|
||||
Suppression Inscription
|
||||
Suppression Inscription = {{ registration.username }}
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<i class="fa fa-table fa-fw"></i> Compteur de visites journalière
|
||||
<i class="fa fa-table fa-fw"></i> Compteur de visites journalières
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<i class="fa fa-table fa-fw"></i> Compteur de visites journalière des groupes de travail
|
||||
<i class="fa fa-table fa-fw"></i> Compteur de visites journalières des groupes de travail
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@ -27,7 +27,7 @@
|
||||
<div class="col col-md-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<i class="fa fa-table fa-fw"></i> Evolution du nombre de message dans les tchat
|
||||
<i class="fa fa-table fa-fw"></i> Évolution du nombre de message dans les chats
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@ -39,7 +39,7 @@
|
||||
<div class="col col-md-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<i class="fa fa-table fa-fw"></i> Evolution du nombre d'articles de blog
|
||||
<i class="fa fa-table fa-fw"></i> Évolution du nombre d'articles de blog
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
|
@ -5,7 +5,7 @@
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
{% if access=="config" %}
|
||||
Modification Utilisateur
|
||||
Modification Utilisateur = {{ user.username}}
|
||||
{% else %}
|
||||
Profil
|
||||
{% endif %}
|
||||
|
@ -42,10 +42,10 @@ td { font-size: 10px; }
|
||||
{% if viewniveau02 %}
|
||||
<th class="no-sort {% if fields["niveau02"] is defined and fields["niveau02"].perm==0 %}no-visible{% endif %}">{{ labelniveau02 }}</th>
|
||||
{% endif %}
|
||||
<th class="no-sort {% if fields["group"] is defined and fields["group"].perm==0 %}no-visible{% endif %}">Groupes</th>
|
||||
<th class="no-sort {% if fields["group"] is defined and fields["group"].perm==0 and is_granted('ROLE_USER') %}no-visible{% endif %}">Groupes</th>
|
||||
<th class="{% if fields["job"] is defined and fields["job"].perm==0 %}no-visible{% endif %}">Métier</th>
|
||||
<th class="{% if fields["position"] is defined and fields["position"].perm==0 %}no-visible{% endif %}">Fonction</th>
|
||||
<th class="{% if fields["visitedate"] is defined and fields["visitedate"].perm==0 %}no-visible{% endif %}">Visite</th>
|
||||
<th class="{% if fields["visitedate"] is defined and fields["visitedate"].perm==0 and (is_granted('ROLE_USER') or is_granted('ROLE_ANIM')) %}no-visible{% endif %}">Visite</th>
|
||||
<th class="{% if fields["role"] is defined and fields["role"].perm==0 %}no-visible{% endif %}">Rôle</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -11,28 +11,32 @@
|
||||
<br>L'utilisateur souhaite masquer ses informations personnelles.
|
||||
{% else %}
|
||||
{%if user.lastname %}<b>Nom</b> = {{ user.lastname }}<br>{%endif%}
|
||||
{%if user.firstname %}<b>Prénom</b> = {{ user.firstname }}<br>{%endif%}
|
||||
{%if user.firstname and not fields["firstname"]["perm"]==0 %}<b>{{fields["firstname"]["label"]}}</b> = {{ user.firstname }}<br>{%endif%}
|
||||
{%if user.email %}<b>Email</b> = <a href='mailto:{{ user.email }}'>{{ user.email }}</a><br>{%endif%}
|
||||
{%if user.telephonenumber %}<b>Téléphone</b> = {{ user.telephonenumber }}<br>{%endif%}
|
||||
{%if user.telephonenumber and not fields["telephonenumber"]["perm"]==0 %}<b>{{fields["telephonenumber"]["label"]}}</b> = {{ user.telephonenumber }}<br>{%endif%}
|
||||
{%if user.niveau01 %}<b>{{ labelniveau01 }}</b> = {{ user.niveau01.label }}<br>{%endif%}
|
||||
{%if viewniveau02 and user.niveau02%}<b>{{ labelniveau02 }}</b> = {{ user.niveau02.label }}<br>{% endif %}
|
||||
{%if user.job %}<b>Métier</b> = {{ user.job }}<br>{%endif%}
|
||||
{%if user.position %}<b>Fonction</b> = {{ user.position }}<br>{%endif%}
|
||||
{%if user.postaladress %}<b>Adresse</b> = {{ user.postaladress }}<br>{%endif%}
|
||||
{%if user.visitedate %}<b>Date de dernière visite</b> = {{ user.visitedate|date('d/m/Y H:i') }}<br>{%endif%}
|
||||
{%if user.visitecpt %}<b>Nombre de visites</b> = {{ user.visitecpt }}<br>{%endif%}
|
||||
<br>
|
||||
{% set fgtitle=false %}
|
||||
{% for usergroup in user.groups %}
|
||||
{% if usergroup.group.fgcanshare %}
|
||||
{% if not fgtitle %}
|
||||
<br><b>Groupes de Travail</b><br>
|
||||
{% set fgtitle=true %}
|
||||
{%if user.job and not fields["job"]["perm"]==0 %}<b>{{fields["position"]["job"]}}</b> = {{ user.job }}<br>{%endif%}
|
||||
{%if user.position and not fields["position"]["perm"]==0 %}<b>{{fields["position"]["label"]}}</b> = {{ user.position }}<br>{%endif%}
|
||||
{%if user.postaladress and not fields["postaladress"]["perm"]==0 %}<b>{{fields["postaladress"]["label"]}}</b> = {{ user.postaladress }}<br>{%endif%}
|
||||
|
||||
{%if user.visitedate and (not fields["visitedate"]["perm"]==0 or (not is_granted('ROLE_USER') and not is_granted('ROLE_ANIM'))) %}<b>Date de dernière visite</b> = {{ user.visitedate|date('d/m/Y H:i') }}<br>{%endif%}
|
||||
{%if user.visitecpt and (not fields["visitedate"]["perm"]==0 or (not is_granted('ROLE_USER') and not is_granted('ROLE_ANIM'))) %}<b>Nombre de visites</b> = {{ user.visitecpt }}<br>{%endif%}
|
||||
|
||||
{% if not fields["group"].perm==0 or not is_granted('ROLE_USER') %}
|
||||
<br>
|
||||
{% set fgtitle=false %}
|
||||
{% for usergroup in user.groups %}
|
||||
{% if usergroup.group.fgcanshare %}
|
||||
{% if not fgtitle %}
|
||||
<br><b>Groupes de Travail</b><br>
|
||||
{% set fgtitle=true %}
|
||||
{% endif %}
|
||||
|
||||
{{ usergroup.group.label }}<br>
|
||||
{% endif %}
|
||||
|
||||
{{ usergroup.group.label }}<br>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -4,11 +4,11 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Liste Blanche
|
||||
Modification Liste Blanche = {{ whitelist.label }}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Liste Blanche
|
||||
{% elseif mode=="delete" %}
|
||||
Suppression Liste Blanche
|
||||
Suppression Liste Blanche = {{ whitelist.label }}
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
|
@ -84,6 +84,10 @@
|
||||
{{ include('@CadolesCore/Include/menu.html.twig') }}
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
{% if app.user %}
|
||||
<div id="navbar-nameuser"><a href="{{ path('cadoles_core_user') }}" title="Profil">{{ app.user.firstname }} {{ app.user.lastname }}</a></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@ -106,6 +110,9 @@
|
||||
</div>
|
||||
|
||||
<ul class="nav navbar-top-links navbar-right">
|
||||
{% if app.user %}
|
||||
<a id="navbar-nameuser" href="{{ path('cadoles_core_user') }}" title="Profil">{{ app.user.firstname }} {{ app.user.lastname }}</a>
|
||||
{% endif %}
|
||||
{% if mustread is not defined %}
|
||||
{{ include('@CadolesCore/Include/menu.html.twig') }}
|
||||
{% endif %}
|
||||
|
@ -81,6 +81,7 @@ class samlUserCreatorService implements UserCreatorInterface
|
||||
$user->setAvatar("noavatar.png");
|
||||
$user->setVisible(true);
|
||||
$user->setAuthlevel("simple");
|
||||
$user->setBelongingpopulation("agent");
|
||||
$user->setRole("ROLE_USER");
|
||||
|
||||
// Création
|
||||
|
@ -200,7 +200,8 @@ class ApiController extends Controller
|
||||
$bookmarks=null;
|
||||
$items=null;
|
||||
$itemcategorys=null;
|
||||
$weburl="https://".$this->getParameter("weburl")."/".$this->getParameter("alias")."/";
|
||||
# fixe #31884 "https://" => "//"
|
||||
$weburl="//".$this->getParameter("weburl")."/".$this->getParameter("alias")."/";
|
||||
|
||||
$em->getRepository("CadolesPortalBundle:Item")->getUserItems($user,$bookmarks,$items,$itemcategorys,null,$ssoitems,3);
|
||||
|
||||
@ -673,10 +674,10 @@ $api('$id',data);";
|
||||
}
|
||||
|
||||
public function sessionAction($id="",$access="config") {
|
||||
// Masteridentity
|
||||
$masteridentity=$this->getParameter("masteridentity");
|
||||
if($masteridentity!="SSO") {
|
||||
$output["error"]="Le bundle Edispatcher ne fonctionne qu'en mode MasterIdentity=SSO";
|
||||
// mode_auth
|
||||
$mode_auth=$this->getParameter("mode_auth");
|
||||
if($mode_auth!="CAS") {
|
||||
$output["error"]="Le bundle Edispatcher ne fonctionne qu'en mode mode_auth=CAS";
|
||||
return new Response(json_encode($output), 400);
|
||||
}
|
||||
|
||||
@ -729,6 +730,7 @@ $api('$id',data);";
|
||||
$user->setAvatar("noavatar.png");
|
||||
$user->setVisible(true);
|
||||
$user->setAuthlevel("simple");
|
||||
$user->setBelongingpopulation("agent");
|
||||
$user->setRole("ROLE_USER");
|
||||
|
||||
if(in_array($username,$this->getParameter("ldap_usersadmin")))
|
||||
|
@ -24,7 +24,7 @@ class Datasource
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=50, unique=true)
|
||||
* @ORM\Column(type="string", length=128, unique=true)
|
||||
*/
|
||||
private $username;
|
||||
|
||||
|
@ -12,6 +12,10 @@ div.header {
|
||||
position: relative !important;
|
||||
}
|
||||
|
||||
#navbar-nameuser a {
|
||||
color: var(--main, #004d9a) !important;
|
||||
}
|
||||
|
||||
div.header > a > span {
|
||||
color: black !important;
|
||||
}
|
||||
|
@ -407,6 +407,7 @@ class GetLimesurveyCommand extends Command
|
||||
foreach($surveys as $survey) {
|
||||
// Si le sondage est actif
|
||||
if($survey["active"]=="Y") {
|
||||
$this->writeln("SURVEY = ".$survey["surveyls_title"]);
|
||||
|
||||
// Liste des participants
|
||||
$survey_id=$survey["sid"];
|
||||
@ -415,6 +416,8 @@ class GetLimesurveyCommand extends Command
|
||||
|
||||
foreach($users as $user) {
|
||||
if(isset($user["participant_info"]["email"]) && $user["participant_info"]["email"]!="") {
|
||||
$this->writeln("EMAIL = ".$user["participant_info"]["email"]);
|
||||
|
||||
$entity = $this->em->getRepository('CadolesCoreBundle:User')->findOneBy(["email"=>$user["participant_info"]["email"]]);
|
||||
if($entity) {
|
||||
$surveypropconf = $myJSONRPCClient->get_survey_properties($sessionKey,$survey["sid"],["datecreated"]);
|
||||
|
@ -43,6 +43,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
|
||||
$activate_widadminer = $this->getContainer()->getParameter('activate_widadminer');
|
||||
$activate_widbalado = $this->getContainer()->getParameter('activate_widbalado');
|
||||
$activate_widcdt = $this->getContainer()->getParameter('activate_widcdt');
|
||||
$activate_widdokuwiki = $this->getContainer()->getParameter('activate_widdokuwiki');
|
||||
$activate_wideconnect = $this->getContainer()->getParameter('activate_wideconnect');
|
||||
$activate_widead = $this->getContainer()->getParameter('activate_widead');
|
||||
@ -380,7 +381,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-394);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Adminer');
|
||||
$entityItem->SetSubtitle("Gestionnaire de Bases de Données");
|
||||
$entityItem->setSubtitle("Gestionnaire de Bases de Données");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryadm);
|
||||
@ -402,7 +403,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-377);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Balado');
|
||||
$entityItem->SetSubtitle("Enregistrement en ligne et partage ses enregistrements");
|
||||
$entityItem->setSubtitle("Interactions orales et écrites en ligne avec possibilité d’enregistrement audio intégré");
|
||||
$entityItem->SetContent("Balad((o)) permet d’interagir avec les élèves en leur proposant une activité en ligne avec texte, image, audio déposé ou enregistré en ligne, vidéo déposée ou intégrée, documents joints.<br>Les élèves peuvent répondre en ligne avec texte, image, audio déposé ou enregistré en ligne, vidéo déposée ou intégrée, documents joints.<br>L’enseignant peut ensuite consulter en ligne les travaux rendus par les élèves, mais pas encore les annoter individuellement.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -413,6 +415,29 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$em->persist($entityItem);
|
||||
}
|
||||
|
||||
// Item CdT
|
||||
if($activate_widcdt) {
|
||||
$widcdt_url =$this->getContainer()->getParameter('widcdt_url');
|
||||
$entityItem = $em->getRepository('CadolesPortalBundle:Item')->find(-391);
|
||||
if(!$entityItem) {
|
||||
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_cdt.png"]);
|
||||
|
||||
$entityItem = new Item();
|
||||
$entityItem->setId(-391);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('CdT');
|
||||
$entityItem->setSubtitle("Application complète de gestion de cahier de texte scolaire");
|
||||
$entityItem->SetContent("Application complète de gestion de cahier de texte scolaire");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
$entityItem->setEssential(true);
|
||||
$entityItem->addGroup($groupall);
|
||||
}
|
||||
$entityItem->setUrl($widcdt_url);
|
||||
$em->persist($entityItem);
|
||||
}
|
||||
|
||||
// Item Dokuwiki
|
||||
if($activate_widdokuwiki) {
|
||||
$widdokuwiki_url =$this->getContainer()->getParameter('widdokuwiki_url');
|
||||
@ -424,7 +449,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-399);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Dokuwiki');
|
||||
$entityItem->SetSubtitle("Création de documentations de toute sorte");
|
||||
$entityItem->setSubtitle("Base de connaissances sous forme d’un wiki");
|
||||
$entityItem->SetContent("Le wiki permet de mettre du contenu classé par catégories.<br>Sur chaque catégorie et sur chaque page, des droits de lecture, modification, suppression peuvent être affectés à des utilisateurs ou des groupes d’utilisateurs.<br>En établissement, le wiki peut être utilisé comme base de connaissances en intranet / extranet professionnel ou comme support pédagogique d’écriture collaborative.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -446,7 +472,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-376);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Econnect');
|
||||
$entityItem->SetSubtitle("Gestion de connecteurs vers d'autres applications");
|
||||
$entityItem->setSubtitle("Gestion de connecteurs vers d'autres applications");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -468,7 +494,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-393);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('EAD');
|
||||
$entityItem->SetSubtitle("Console d'administration du serveur scribe");
|
||||
$entityItem->setSubtitle("Console d'administration du serveur scribe");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryadm);
|
||||
@ -489,8 +515,9 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem = new Item();
|
||||
$entityItem->setId(-370);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('EOE');
|
||||
$entityItem->SetSubtitle("EOLE Outils Elève");
|
||||
$entityItem->setTitle('Outils Élève');
|
||||
$entityItem->setSubtitle("EOLE Outils Elève<br>(EOE)");
|
||||
$entityItem->setContent("EOLE Outils Élève (EOE) permet à l’élève en particulier de changer son mot de passe d’accès, dans l’objectif de maîtriser son identité numérique sur l’ENT.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -511,8 +538,9 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem = new Item();
|
||||
$entityItem->setId(-371);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('EOP');
|
||||
$entityItem->SetSubtitle("EOLE Outils Professeur");
|
||||
$entityItem->setTitle('Outils Professeur');
|
||||
$entityItem->setSubtitle("EOLE Outils Professeur<br>(EOP)");
|
||||
$entityItem->setContent("Parmi les outils disponibles dans EOLE Outils Professeur (EOP) :<br>Changement de mot de passe local (Scribe) utilisé sur les postes en établissement<br>Changer le mot de passe des élèves (uniquement pour les professeurs principaux)<br>Distribuer des documents / devoirs à des classes et groupes à l’aide du dossier « perso » de l’enseignant et de chaque élève. Cette application est adaptée à un fonctionnement synchrone en établissement, un peu moins en distanciel asynchrone.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -534,7 +562,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-382);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Etherhome');
|
||||
$entityItem->SetSubtitle("Gestion de vos pads et de vos calcs collaboratifs");
|
||||
$entityItem->setSubtitle("Accès aux pads, calcs et scrums");
|
||||
$entityItem->setContent("Etherhome permet de créer, partager et accéder aux pads (textes), calcs (tableaux) et scrums (murs de textes).<br>Les pads et calcs sont des supports de travail collaboratif synchrone ou asynchrone, à reprendre éventuellement ensuite dans un traitement de textes ou un tableur ou un logiciel de présentation.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -556,7 +585,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-397);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Fluxbb');
|
||||
$entityItem->SetSubtitle("Forum");
|
||||
$entityItem->setSubtitle("Forum");
|
||||
$entityItem->setContent("Forum avec gestion des droits des utilisateurs.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -578,7 +608,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-368);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Genconfig');
|
||||
$entityItem->SetSubtitle("Console de configuration du serveur");
|
||||
$entityItem->setSubtitle("Console de configuration du serveur");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryadm);
|
||||
@ -600,7 +630,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-389);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('GEPI');
|
||||
$entityItem->SetSubtitle("Intégration du logiciel de gestion des notes, absences, cahier de texte");
|
||||
$entityItem->setSubtitle("Intégration du logiciel de gestion des notes, absences, cahier de texte");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -622,7 +652,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-388);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('GLPI');
|
||||
$entityItem->SetSubtitle("Gestion de tickets");
|
||||
$entityItem->setSubtitle("Gestion de tickets");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -644,7 +674,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-388);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Grr');
|
||||
$entityItem->SetSubtitle("Gestion et de Réservations de Ressources");
|
||||
$entityItem->setSubtitle("Gestion et de Réservations de Ressources");
|
||||
$entityItem->setContent("GRR permet de réserver des ressources disponibles dans l’établissement : salles, matériels, etc.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -666,7 +697,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-363);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Kanboard');
|
||||
$entityItem->SetSubtitle("Gestion de Projets");
|
||||
$entityItem->setSubtitle("Gestion de rojets");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -688,7 +719,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-374);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Limesurvey');
|
||||
$entityItem->SetSubtitle("Application de sondage");
|
||||
$entityItem->setSubtitle("Gestion d’enquêtes");
|
||||
$entityItem->setContent("Limesurvey permet de créer des enquêtes en ligne avec différents formats de réponses : texte, nombre, choix multiple avec réponse unique ou non, etc.<br>Chaque enquête peut être adressée :<br>soit à des utilisateurs ou groupes par invitation individuelle, ce qui permet d’éviter les doubles réponses<br>soit de manière anonyme par un lien public");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -710,7 +742,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-369);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Mindmaps');
|
||||
$entityItem->SetSubtitle("Carte Mentale");
|
||||
$entityItem->setSubtitle("Carte Mentale");
|
||||
$entityItem->setContent("Carte mentale simple, enregistrable mais non collaborative.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -732,7 +765,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-387);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Moodle');
|
||||
$entityItem->SetSubtitle("Application de eLearning");
|
||||
$entityItem->setSubtitle("Cours en ligne");
|
||||
$entityItem->setContent("Plateforme d’apprentissage en ligne (« e-learning ») où l’enseignant peut mettre à disposition :<br>- des ressources à consulter : textes en ligne, documents joints, vidéos intégrées, etc.<br>- des activités : devoirs à rendre, tests auto-évalués, glossaire collaboratif, activités multimédia H5P, etc.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -754,7 +788,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-366);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Nextcloud');
|
||||
$entityItem->SetSubtitle("Stockage de Fichiers");
|
||||
$entityItem->setSubtitle("Dépôt et partage de fichiers");
|
||||
$entityItem->setContent("Nextcloud permet de déposer des fichiers, organisés dans des dossiers.<br>Ces dossiers et fichiers peuvent être partagés avec des droits de lecture et/ou de modification / suppression :<br>Soit avec des utilisateurs ou groupes d’utilisateurs<br>Soit de manière anonyme avec un lien public, paramétrable (durée, mot de passe)");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -776,7 +811,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-361);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Nineboard');
|
||||
$entityItem->SetSubtitle("Gestionnaire de tableau de bord collaboratif");
|
||||
$entityItem->setSubtitle("Accès aux pads, calcs, scrums, whiteboards, timelines et mindmaps");
|
||||
$entityItem->setContent("Nineboard permet de créer, partager et accéder aux pads (textes), calcs (tableaux), scrums (murs de textes en colonne), whiteboards (murs de textes libre), timelines (frises temporelles) et mindmaps (cartes mentales)<br>Les pads et calcs sont des supports de travail collaboratif synchrone ou asynchrone, à reprendre éventuellement ensuite dans un traitement de textes ou un tableur ou un logiciel de présentation.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -798,7 +834,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-1001);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Nineschool');
|
||||
$entityItem->SetSubtitle("Gestionnaire d'activités scolaire'");
|
||||
$entityItem->setSubtitle("Gestionnaire d'activités scolaire'");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -820,7 +856,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-1002);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Ninesurvey');
|
||||
$entityItem->SetSubtitle("Application de Sondage par Date");
|
||||
$entityItem->setSubtitle("Application de Sondage par Date");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -842,7 +878,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-1000);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Onlyoffice');
|
||||
$entityItem->SetSubtitle("Application Bureautique");
|
||||
$entityItem->setSubtitle("Application Bureautique");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -864,7 +900,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-383);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Opensondage');
|
||||
$entityItem->SetSubtitle("Application de Sondage par Date");
|
||||
$entityItem->setSubtitle("Création de sondage à réponse simple ou pour le choix d’une date");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -886,7 +922,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-362);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('PhpLdapAdmin');
|
||||
$entityItem->SetSubtitle("Gestionnaire d’annuaire LDAP");
|
||||
$entityItem->setSubtitle("Gestionnaire d’annuaire LDAP");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryadm);
|
||||
@ -897,7 +933,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$em->persist($entityItem);
|
||||
}
|
||||
|
||||
// Item piwigo
|
||||
// Item Piwigo
|
||||
if($activate_widpiwigo) {
|
||||
$widpiwigo_url =$this->getContainer()->getParameter('widpiwigo_url');
|
||||
$entityItem = $em->getRepository('CadolesPortalBundle:Item')->find(-396);
|
||||
@ -908,7 +944,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-396);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Piwigo');
|
||||
$entityItem->SetSubtitle("Gestionnaire d’albums photos");
|
||||
$entityItem->setSubtitle("Gestionnaire d’albums photos");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -930,7 +966,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-380);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Piwik');
|
||||
$entityItem->SetSubtitle("Application de Statistique de Visite");
|
||||
$entityItem->setSubtitle("Mesures d’audience du portail");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryadm);
|
||||
@ -952,7 +988,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-398);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Roundcube');
|
||||
$entityItem->SetSubtitle("Webmail");
|
||||
$entityItem->setSubtitle("Messagerie");
|
||||
$entityItem->setContent("Messagerie permettant la communication sécurisée par méls. La messagerie n’a pas pour but d’envoyer des gros fichiers mais plutôt de communiquer des informations, des liens.");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -960,6 +997,12 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->addGroup($groupall);
|
||||
}
|
||||
$entityItem->setUrl($widroundcube_url);
|
||||
|
||||
if($this->getContainer()->getParameter('cas_type')=="proxy")
|
||||
$entityItem->setBadgeurl("/ninegate/cas/imapunread");
|
||||
else
|
||||
$entityItem->setBadgeurl(null);
|
||||
|
||||
$em->persist($entityItem);
|
||||
}
|
||||
|
||||
@ -974,7 +1017,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-372);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Sacoche');
|
||||
$entityItem->SetSubtitle("Evaluation de compétences");
|
||||
$entityItem->setSubtitle("Evaluation de compétences");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -996,7 +1039,8 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityItem->setId(-400);
|
||||
$entityItem->setRowOrder(0);
|
||||
$entityItem->setTitle('Wordpress');
|
||||
$entityItem->SetSubtitle("Application de Blog");
|
||||
$entityItem->setSubtitle("Sites ou blogs en intranet ou sur internet");
|
||||
$entityItem->setContent("Avec la plateforme Wordpress, sur demande, un administrateur peut créer des blogs ou sites.<br>Pour chaque blog ou site, des droits peuvent être donnés aux utilisateurs :<br>Qui peut écrire des articles ?<br>Qui peut valider ces articles ?<br>Qui peut consulter ces articles ? (le blog peut aussi être rendu visible publiquement sur internet)<br>");
|
||||
$entityItem->setIcon($entityicon);
|
||||
$entityItem->setTarget("_blank");
|
||||
$entityItem->setItemcategory($entityItemcategoryapp);
|
||||
@ -1011,15 +1055,15 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
//== WIDGET ============================================================================================================================================
|
||||
$output->writeln(' > Creation Widget');
|
||||
|
||||
// Widget URL
|
||||
// Widget Page web
|
||||
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-2000);
|
||||
if(!$entityWidget) $entityWidget = new Widget();
|
||||
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_ribbon.png"]);
|
||||
$entityWidget->setId(-2000);
|
||||
$entityWidget->setRoworder(0);
|
||||
$entityWidget->setIcon($entityicon);
|
||||
$entityWidget->setName('URL');
|
||||
$entityWidget->setDescription("Affiche le contenu d'une url");
|
||||
$entityWidget->setName('Page web');
|
||||
$entityWidget->setDescription("Affiche le contenu d'une page web");
|
||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_url");
|
||||
$entityWidget->setHeight("630");
|
||||
$entityWidget->setAutoajust(false);
|
||||
@ -1091,15 +1135,15 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$em->persist($entityWidget);
|
||||
|
||||
|
||||
// Widget Favoris
|
||||
// Widget Liens
|
||||
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1960);
|
||||
if(!$entityWidget) $entityWidget = new Widget();
|
||||
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_star.png"]);
|
||||
$entityWidget->setId(-1960);
|
||||
$entityWidget->setRoworder(0);
|
||||
$entityWidget->setIcon($entityicon);
|
||||
$entityWidget->setName('Favoris');
|
||||
$entityWidget->setDescription("Création de Favoris");
|
||||
$entityWidget->setName('Liens');
|
||||
$entityWidget->setDescription("Bibliothèque de Liens");
|
||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_bookmark");
|
||||
$entityWidget->setHeight("630");
|
||||
$entityWidget->setAutoajust(true);
|
||||
@ -1111,7 +1155,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$em->persist($entityWidget);
|
||||
|
||||
|
||||
// Widget Liens
|
||||
// Widget Lien
|
||||
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1950);
|
||||
if(!$entityWidget) $entityWidget = new Widget();
|
||||
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_bolt.png"]);
|
||||
@ -1119,7 +1163,7 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$entityWidget->setRoworder(0);
|
||||
$entityWidget->setIcon($entityicon);
|
||||
$entityWidget->setName('Lien');
|
||||
$entityWidget->setDescription("Création d'un Lien");
|
||||
$entityWidget->setDescription("Création d'un Lien unique");
|
||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_link");
|
||||
$entityWidget->setHeight("200");
|
||||
$entityWidget->setAutoajust(true);
|
||||
@ -1131,14 +1175,14 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$em->persist($entityWidget);
|
||||
|
||||
|
||||
// Widget Editor
|
||||
// Widget Texte
|
||||
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1940);
|
||||
if(!$entityWidget) $entityWidget = new Widget();
|
||||
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_compose.png"]);
|
||||
$entityWidget->setId(-1940);
|
||||
$entityWidget->setRoworder(0);
|
||||
$entityWidget->setIcon($entityicon);
|
||||
$entityWidget->setName('Editeur');
|
||||
$entityWidget->setName('Texte');
|
||||
$entityWidget->setDescription("Votre propre texte à éditer");
|
||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_editor");
|
||||
$entityWidget->setHeight("630");
|
||||
@ -1302,14 +1346,14 @@ class InitDataCommand extends ContainerAwareCommand
|
||||
$em->persist($entityWidget);
|
||||
}
|
||||
|
||||
// Widget Information
|
||||
// Widget Informations
|
||||
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1860);
|
||||
if(!$entityWidget) $entityWidget = new Widget();
|
||||
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_info.png"]);
|
||||
$entityWidget->setId(-1860);
|
||||
$entityWidget->setRoworder(0);
|
||||
$entityWidget->setIcon($entityicon);
|
||||
$entityWidget->setName('Information Page');
|
||||
$entityWidget->setName('Informations');
|
||||
$entityWidget->setDescription("Afficher les informations associées à la page");
|
||||
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_info");
|
||||
$entityWidget->setHeight("630");
|
||||
|
@ -8,6 +8,7 @@ use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\Form\FormError;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
|
||||
use Cadoles\PortalBundle\Entity\Alert;
|
||||
use Cadoles\PortalBundle\Form\AlertType;
|
||||
@ -195,6 +196,32 @@ class AlertController extends Controller
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function uploadAction(Request $request,$access=null) {
|
||||
// Fichier temporaire uploadé
|
||||
$tmpfile = $request->files->get('upload');
|
||||
$extention = $tmpfile->getClientOriginalExtension();
|
||||
|
||||
// Répertoire de Destination
|
||||
$fs = new Filesystem();
|
||||
$rootdir = $this->get('kernel')->getRootDir()."/../web";
|
||||
$fs->mkdir($rootdir."/uploads/ckeditor");
|
||||
|
||||
// Fichier cible
|
||||
$targetName = uniqid().".".$extention;
|
||||
$targetFile = $rootdir."/uploads/ckeditor/".$targetName;
|
||||
$targetUrl = "/".$this->getParameter('alias')."/uploads/ckeditor/".$targetName;
|
||||
$message = "";
|
||||
|
||||
move_uploaded_file($tmpfile,$targetFile);
|
||||
|
||||
$output["uploaded"]=1;
|
||||
$output["fileName"]=$targetName;
|
||||
$output["url"]=$targetUrl;
|
||||
|
||||
return new Response(json_encode($output));
|
||||
|
||||
}
|
||||
|
||||
public function readAction(Request $request) {
|
||||
$output=array();
|
||||
$id=$request->request->get('id');
|
||||
|
@ -361,7 +361,7 @@ class BlogController extends Controller
|
||||
if($groups[0]) {
|
||||
if($groups[0]->getFgcanshare()) {
|
||||
$pages=$groups[0]->getPages();
|
||||
if($pages) {
|
||||
if($pages[0]) {
|
||||
$idpage=$pages[0]->getId();
|
||||
$groups=$pages[0]->getGroups();
|
||||
$idgroup=$groups[0]->getId();
|
||||
|
@ -182,7 +182,7 @@ class BlogarticleController extends Controller
|
||||
if($groups[0]) {
|
||||
if($groups[0]->getFgcanshare()) {
|
||||
$pages=$groups[0]->getPages();
|
||||
if($pages) {
|
||||
if($pages[0]) {
|
||||
$idpage=$pages[0]->getId();
|
||||
$groups=$pages[0]->getGroups();
|
||||
$idgroup=$groups[0]->getId();
|
||||
|
@ -41,7 +41,7 @@ class BookmarkController extends Controller
|
||||
$user=$pagewidget->getPage()->getUser();
|
||||
if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied');
|
||||
}
|
||||
else {
|
||||
elseif($usage=="group") {
|
||||
$groupentity=$this->getDoctrine()->getRepository("CadolesCoreBundle:Group")->find($group);
|
||||
$usergroup=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity]);
|
||||
if(!$usergroup or $usergroup->getRolegroup()<50) throw $this->createNotFoundException('Permission denied');
|
||||
|
@ -341,7 +341,7 @@ class CalendarController extends Controller
|
||||
if($groups[0]) {
|
||||
if($groups[0]->getFgcanshare()) {
|
||||
$pages=$groups[0]->getPages();
|
||||
if($pages) {
|
||||
if($pages[0]) {
|
||||
$idpage=$pages[0]->getId();
|
||||
$groups=$pages[0]->getGroups();
|
||||
$idgroup=$groups[0]->getId();
|
||||
|
@ -71,7 +71,8 @@ class ItemController extends Controller
|
||||
"mode" => "submit",
|
||||
"labelniveau01" => $this->GetParameter("labelsniveau01"),
|
||||
"ssosynchroitem" => $this->GetParameter("ssosynchroitem"),
|
||||
"user_attr_cas_item" => $this->GetParameter("user_attr_cas_item")
|
||||
"user_attr_cas_item" => $this->GetParameter("user_attr_cas_item"),
|
||||
"activate_widsonde" => $this->GetParameter("activate_widsonde"),
|
||||
));
|
||||
|
||||
// Récupération des data du formulaire
|
||||
@ -122,7 +123,8 @@ class ItemController extends Controller
|
||||
"idicon" => ($data->getIcon()?$data->getIcon()->getId():null),
|
||||
"labelniveau01" => $this->GetParameter("labelsniveau01"),
|
||||
"ssosynchroitem" => $this->GetParameter("ssosynchroitem"),
|
||||
"user_attr_cas_item" => $this->GetParameter("user_attr_cas_item")
|
||||
"user_attr_cas_item" => $this->GetParameter("user_attr_cas_item"),
|
||||
"activate_widsonde" => ($this->GetParameter("activate_widsonde")&&$data->getId()>0),
|
||||
));
|
||||
|
||||
// Récupération des data du formulaire
|
||||
@ -230,6 +232,13 @@ class ItemController extends Controller
|
||||
if ($form->get('submit')->isClicked() && $mode=="submit") {
|
||||
}
|
||||
|
||||
if ($form->get('submit')->isClicked() && ($mode=="submit" || $mode=="update")) {
|
||||
// si clicksonde alors clicksondeservice obligatoire
|
||||
if ($data->getClicksonde() && !$data->getClicksondeservice()) {
|
||||
$form->addError(new FormError('Type de service sur le click sonde est obligatoire'));
|
||||
}
|
||||
}
|
||||
|
||||
if ($form->get('submit')->isClicked() && !$form->isValid()) {
|
||||
$this->get('session')->getFlashBag()->clear();
|
||||
$validator = $this->get('validator');
|
||||
|
@ -210,6 +210,10 @@ class NoticeController extends Controller
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$user=$this->getUser();
|
||||
$notices=$em->getRepository("CadolesPortalBundle:Notice")->getNoticeToRead($user);
|
||||
|
||||
// Récupération redirection potentielle
|
||||
$id = $request->get('id');
|
||||
|
||||
foreach($notices as $notice) {
|
||||
$users=$notice->getUsers();
|
||||
|
||||
@ -223,7 +227,7 @@ class NoticeController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
return $this->redirectToRoute("cadoles_core_home");
|
||||
return $this->redirectToRoute("cadoles_core_home",["id"=>$id]);
|
||||
}
|
||||
|
||||
public function viewAction(Request $request) {
|
||||
|
@ -447,6 +447,26 @@ class PagewidgetController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
protected function getKeyPreference(&$entity,$key,$value) {
|
||||
$user=$this->getUser();
|
||||
if(!$user)
|
||||
return $value;
|
||||
|
||||
$preference=$user->getPreference();
|
||||
$id=$entity->getId();
|
||||
|
||||
if(!is_array($preference))
|
||||
return $value;
|
||||
|
||||
if(!array_key_exists($key,$preference))
|
||||
return $value;
|
||||
|
||||
if(!array_key_exists($id,$preference[$key]))
|
||||
return $value;
|
||||
|
||||
return $preference[$key][$id];
|
||||
}
|
||||
|
||||
protected function getRender($view,$params) {
|
||||
// Paramétres toujours présent dans un rendu de widget
|
||||
$allways = [
|
||||
@ -602,6 +622,9 @@ class PagewidgetController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
// Préference utilisateur
|
||||
$modedesktop = $this->getKeyPreference($this->entity,"modedesktop",$modedesktop);
|
||||
|
||||
// Profilage
|
||||
$itemsordered = $this->em->getRepository("CadolesPortalBundle:Item")->getUserItems($this->user,$bookmarks,$items,$itemcategorys,$iditemcategory,$this->get('session')->get('ssoitems'),$withbookmark,false);
|
||||
}
|
||||
@ -639,10 +662,14 @@ class PagewidgetController extends Controller
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Préference utilisateur
|
||||
$modedesktop = $this->getKeyPreference($this->entity,"modedesktop",$modedesktop);
|
||||
|
||||
// Profilage
|
||||
$itemsordered = $this->em->getRepository("CadolesPortalBundle:Item")->getUserItems($this->user,$bookmarks,$items,$itemcategorys,null,$this->get('session')->get('ssoitems'),0,true);
|
||||
}
|
||||
|
||||
|
||||
// Render
|
||||
return $this->getRender('viewitemessential.html.twig', [
|
||||
@ -651,7 +678,7 @@ class PagewidgetController extends Controller
|
||||
'items' => $itemsordered,
|
||||
'bookmarks' => $bookmarks,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function viewalertAction(Request $request,$id,$access="config") {
|
||||
// Récupération de la requete
|
||||
|
@ -362,7 +362,7 @@ class ProjectController extends Controller
|
||||
if($groups[0]) {
|
||||
if($groups[0]->getFgcanshare()) {
|
||||
$pages=$groups[0]->getPages();
|
||||
if($pages) {
|
||||
if($pages[0]) {
|
||||
$idpage=$pages[0]->getId();
|
||||
$groups=$pages[0]->getGroups();
|
||||
$idgroup=$groups[0]->getId();
|
||||
|
@ -207,7 +207,7 @@ class ProjecttaskController extends Controller
|
||||
if($groups[0]) {
|
||||
if($groups[0]->getFgcanshare()) {
|
||||
$pages=$groups[0]->getPages();
|
||||
if($pages) {
|
||||
if($pages[0]) {
|
||||
$idpage=$pages[0]->getId();
|
||||
$groups=$pages[0]->getGroups();
|
||||
$idgroup=$groups[0]->getId();
|
||||
|
@ -39,6 +39,20 @@ class SyncenvoleController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function cdtAction()
|
||||
{
|
||||
$url=$this->getParameter("widcdt_syncenvole");
|
||||
$color=$this->get('session')->get('colormain');
|
||||
$themename=$this->get('session')->get("theme");
|
||||
|
||||
return $this->render('CadolesPortalBundle:Tool:frame.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => true,
|
||||
'url' => $url."/synchro.php?app=cdt&color=#color#"
|
||||
]);
|
||||
}
|
||||
|
||||
public function gepiannuAction()
|
||||
{
|
||||
$url=$this->getParameter("widgepi_syncenvole");
|
||||
|
@ -149,7 +149,7 @@ class Alert
|
||||
{
|
||||
$today = new \DateTime();
|
||||
if (null === $this->unpublishedat) {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
if ($this->unpublishedat->getTimestamp() < $today->getTimestamp()) {
|
||||
return true;
|
||||
|
@ -95,6 +95,13 @@ class Item
|
||||
*/
|
||||
private $color;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="badgeurl", type="string", length=250, nullable=true)
|
||||
*/
|
||||
private $badgeurl;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
@ -115,6 +122,20 @@ class Item
|
||||
*/
|
||||
private $icon;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
* @ORM\Column(name="clicksonde", type="boolean", nullable=true, options={"default":false})
|
||||
*/
|
||||
private $clicksonde = false;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
* @ORM\Column(name="clicksondeservice", type="string", nullable=true)
|
||||
*/
|
||||
private $clicksondeservice;
|
||||
|
||||
/**
|
||||
* @var ArrayCollection $bookmark
|
||||
* @var Bookmark
|
||||
@ -650,4 +671,76 @@ class Item
|
||||
{
|
||||
return $this->ssoitem;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set badgeurl.
|
||||
*
|
||||
* @param string|null $badgeurl
|
||||
*
|
||||
* @return Item
|
||||
*/
|
||||
public function setBadgeurl($badgeurl = null)
|
||||
{
|
||||
$this->badgeurl = $badgeurl;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get badgeurl.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getBadgeurl()
|
||||
{
|
||||
return $this->badgeurl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set clicksonde
|
||||
*
|
||||
* @param boolean $clicksonde
|
||||
*
|
||||
* @return Item
|
||||
*/
|
||||
public function setClicksonde($clicksonde)
|
||||
{
|
||||
$this->clicksonde = $clicksonde;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get clicksonde
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function getClicksonde()
|
||||
{
|
||||
return $this->clicksonde;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set clicksondeservice
|
||||
*
|
||||
* @param string $clicksondeservice
|
||||
*
|
||||
* @return Item
|
||||
*/
|
||||
public function setClicksondeservice($clicksondeservice)
|
||||
{
|
||||
$this->clicksondeservice = $clicksondeservice;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get clicksondeservice
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getClicksondeservice()
|
||||
{
|
||||
return $this->clicksondeservice;
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ class AlertType extends AbstractType
|
||||
"label" => 'Description',
|
||||
"required" => false,
|
||||
"disabled" => ($options["mode"]=="delete"?true:false),
|
||||
"config" => array("height" => "500px")
|
||||
"config" => array("height" => "500px","filebrowserUploadRoute" => 'cadoles_portal_config_alert_upload')
|
||||
])
|
||||
|
||||
->add("fghideable",ChoiceType::class,[
|
||||
@ -118,14 +118,13 @@ class AlertType extends AbstractType
|
||||
|
||||
->add('publishedat', DateType::class, [
|
||||
'label' => 'Publier du',
|
||||
'input' => 'datetime',
|
||||
"widget" => 'single_text',
|
||||
])
|
||||
|
||||
->add('unpublishedat', DateType::class, [
|
||||
'label' => 'Jusqu\'au',
|
||||
'input' => 'datetime',
|
||||
'required' => false,
|
||||
'years' => range(date('Y'), date('Y')+10)
|
||||
"widget" => 'single_text',
|
||||
]);
|
||||
|
||||
|
||||
|
@ -118,6 +118,11 @@ class ItemType extends AbstractType
|
||||
"required" => false
|
||||
])
|
||||
|
||||
->add('badgeurl', TextType::class, [
|
||||
'label' => "Badge URL",
|
||||
'required' => false,
|
||||
])
|
||||
|
||||
->add('essential', CheckboxType::class, [
|
||||
"label" => "Item essentiel ?",
|
||||
"required" => false
|
||||
@ -141,6 +146,51 @@ class ItemType extends AbstractType
|
||||
"disabled" => ($options["mode"]=="delete"?true:false),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
if($options["activate_widsonde"]) {
|
||||
$builder
|
||||
->add('clicksonde', CheckboxType::class, [
|
||||
"label" => "Exécuter une sonde statistique sur le clic",
|
||||
"required" => false
|
||||
])
|
||||
|
||||
->add('clicksondeservice', ChoiceType::class, [
|
||||
"label" => 'Type de Service associé à la sonde',
|
||||
"placeholder" => 'Sélectionner un service',
|
||||
"required" => false,
|
||||
"choices" => [
|
||||
"ACCUEIL" => "ACCUEIL",
|
||||
"ACTUALITES" => "ACTUALITES",
|
||||
"CAHIER TEXTES" => "CAHIER_TEXTES",
|
||||
"CAHIER LIAISON" => "CAHIER_LIAISON",
|
||||
"COURRIER ELECTRONIQUE" => "COURRIER_ELECTRONIQUE",
|
||||
"MESSAGERIE INSTANTANEE" => "MESSAGERIE_INSTANTANEE",
|
||||
"VISIOCONFERENCE" => "VISIOCONFERENCE",
|
||||
"STOCKAGE PARTAGE" => "STOCKAGE_PARTAGE",
|
||||
"PRODUCTION COLLABORATIVE" => "PRODUCTION_COLLABORATIVE",
|
||||
"DOCUMENTATION CDI" => "DOCUMENTATION_CDI",
|
||||
"PARCOURS PEDAGOGIQUE" => "PARCOURS_PEDAGOGIQUE",
|
||||
"RESERVATION SALLES MATERIELS" => "RESERVATION_SALLES_MATERIELS",
|
||||
"SERVICE COLLECTIVITE" => "SERVICE_COLLECTIVITE",
|
||||
"SERVICES VIE SCOLAIRE" => "SERVICES_VIE_SCOLAIRE",
|
||||
"GESTION TEMPS" => "GESTION_TEMPS",
|
||||
"ABSENCES" => "ABSENCES",
|
||||
"GESTION COMPETENCES" => "GESTION_COMPETENCES",
|
||||
"NOTES" => "NOTES",
|
||||
"MANUEL NUMERIQUE" => "MANUEL_NUMERIQUE",
|
||||
"RESSOURCE MULTIMEDIA" => "RESSOURCE_MULTIMEDIA",
|
||||
"RESSOURCE ORIENTATION" => "RESSOURCE_ORIENTATION",
|
||||
"RESSOURCE PRODUCTION" => "RESSOURCE_PRODUCTION",
|
||||
"RESSOURCE ACCOMPAGNEMENT ENTRAINEMENT" => "RESSOURCE_ACCOMPAGNEMENT_ENTRAINEMENT",
|
||||
"RESSOURCE REFERENCE DICTIONNAIRE" => "RESSOURCE_REFERENCE_DICTIONNAIRE",
|
||||
"RESSOURCE DOCUMENTAIRE" => "RESSOURCE_DOCUMENTAIRE",
|
||||
"PAGE ENT" => "PAGE_ENT",
|
||||
],
|
||||
"disabled" => ($options["mode"]=="delete"?true:false),
|
||||
]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
@ -152,6 +202,7 @@ class ItemType extends AbstractType
|
||||
'labelniveau01' => "string",
|
||||
'ssosynchroitem' => "string",
|
||||
'user_attr_cas_item' => "string",
|
||||
"activate_widsonde" => "string",
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,9 @@ class AlertRepository extends EntityRepository
|
||||
$roles=($user?$user->getRoles():["ROLE_ANONYME"]);
|
||||
$niveau01=($user?$user->getNiveau01():null);
|
||||
$groups=($user?$user->getGroups():[]);
|
||||
|
||||
|
||||
$userreads=($user?$user->getAlertreaders():new ArrayCollection());
|
||||
|
||||
// Initialisation du calcul des alerts
|
||||
$alerts=new ArrayCollection();
|
||||
|
||||
@ -67,8 +69,9 @@ class AlertRepository extends EntityRepository
|
||||
->setParameter("alertcategory",$alertcategoryfilter);
|
||||
}
|
||||
$alertsroles=$qb->getQuery()->getResult();
|
||||
|
||||
foreach($alertsroles as $alertrole) {
|
||||
if(!$alerts->contains($alertrole)&&!$alertrole->getReaders()->contains($user)) $alerts->add($alertrole);
|
||||
if(!$alerts->contains($alertrole)&&!$userreads->contains($alertrole)) $alerts->add($alertrole);
|
||||
}
|
||||
}
|
||||
|
||||
@ -91,7 +94,7 @@ class AlertRepository extends EntityRepository
|
||||
}
|
||||
$alertsniveau01s=$qb->getQuery()->getResult();
|
||||
foreach($alertsniveau01s as $alertniveau01) {
|
||||
if(!$alerts->contains($alertniveau01)&&!$alertniveau01->getReaders()->contains($user)) $alerts->add($alertniveau01);
|
||||
if(!$alerts->contains($alertniveau01)&&!$userreads->contains($alertniveau01)) $alerts->add($alertniveau01);
|
||||
}
|
||||
|
||||
// Récupération des alerts par group
|
||||
@ -113,8 +116,8 @@ class AlertRepository extends EntityRepository
|
||||
->setParameter("alertcategory",$alertcategoryfilter);
|
||||
}
|
||||
$alertsgroups=$qb->getQuery()->getResult();
|
||||
foreach($alertsgroups as $alertgroup) {
|
||||
if(!$alerts->contains($alertgroup)&&!$alertgroup->getReaders()->contains($user)) $alerts->add($alertgroup);
|
||||
foreach($alertsgroups as $alertgroup) {
|
||||
if(!$alerts->contains($alertgroup)&&!$userreads->contains($alertgroup)) $alerts->add($alertgroup);
|
||||
}
|
||||
}
|
||||
|
||||
@ -141,8 +144,8 @@ class AlertRepository extends EntityRepository
|
||||
->setParameter("alertcategory",$alertcategoryfilter);
|
||||
}
|
||||
$alertsitems=$qb->getQuery()->getResult();
|
||||
foreach($alertsitems as $alertitem) {
|
||||
if(!$alerts->contains($alertitem)&&!$alertitem->getReaders()->contains($user)) $alerts->add($alertitem);
|
||||
foreach($alertsitems as $alertitem) {
|
||||
if(!$alerts->contains($alertitem)&&!$userreads->contains($alertitem)) $alerts->add($alertitem);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,11 @@ cadoles_portal_config_syncdelegation:
|
||||
cadoles_portal_config_syncbalado:
|
||||
path: /config/syncenvole/balado
|
||||
defaults: { _controller: CadolesPortalBundle:Syncenvole:balado }
|
||||
|
||||
|
||||
cadoles_portal_config_synccdt:
|
||||
path: /config/syncenvole/cdt
|
||||
defaults: { _controller: CadolesPortalBundle:Syncenvole:cdt }
|
||||
|
||||
cadoles_portal_config_syncgepiannu:
|
||||
path: /config/syncenvole/gepiannu
|
||||
defaults: { _controller: CadolesPortalBundle:Syncenvole:gepiannu }
|
||||
@ -159,6 +163,13 @@ cadoles_portal_config_alert_order:
|
||||
path: /config/alert/order
|
||||
defaults: { _controller: CadolesPortalBundle:Alert:order }
|
||||
|
||||
cadoles_portal_config_alert_upload:
|
||||
path: /config/alert/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Alert:upload }
|
||||
cadoles_portal_config_alert_upload_direct:
|
||||
path: /config/alert/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Alert:upload }
|
||||
|
||||
cadoles_portal_config_ajax_alert_seleclist:
|
||||
path: /config/alert/ajax/selectlist
|
||||
defaults: { _controller: CadolesPortalBundle:Alert:ajaxseleclist }
|
||||
@ -321,6 +332,9 @@ cadoles_portal_config_page_order:
|
||||
cadoles_portal_config_page_upload:
|
||||
path: /config/page/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Page:upload, access: config }
|
||||
cadoles_portal_config_page_upload_direct:
|
||||
path: /config/page/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Page:upload, access: config }
|
||||
|
||||
#-- Access user
|
||||
cadoles_portal_user_page_submit:
|
||||
@ -350,6 +364,9 @@ cadoles_portal_user_page_order:
|
||||
cadoles_portal_user_page_upload:
|
||||
path: /user/page/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Page:upload, access: user }
|
||||
cadoles_portal_user_page_upload_direct:
|
||||
path: /user/page/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Page:upload, access: user }
|
||||
|
||||
# Page spécifique
|
||||
cadoles_portal_user_page_application:
|
||||
@ -531,7 +548,10 @@ cadoles_portal_config_blogarticle_delete:
|
||||
cadoles_portal_config_blogarticle_upload:
|
||||
path: /config/blogarticle/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Blogarticle:upload, access: config }
|
||||
|
||||
cadoles_portal_config_blogarticle_upload_direct:
|
||||
path: /config/blogarticle/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Blogarticle:upload, access: config }
|
||||
|
||||
cadoles_portal_config_blogarticle_image:
|
||||
path: /config/blogarticle/image
|
||||
defaults: { _controller: CadolesPortalBundle:Blogarticle:image, access: config }
|
||||
@ -556,6 +576,9 @@ cadoles_portal_user_blogarticle_delete:
|
||||
cadoles_portal_user_blogarticle_upload:
|
||||
path: /user/blogarticle/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Blogarticle:upload, access: user }
|
||||
cadoles_portal_user_blogarticle_upload_direct:
|
||||
path: /user/blogarticle/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Blogarticle:upload, access: user }
|
||||
|
||||
cadoles_portal_user_blogarticle_image:
|
||||
path: /user/blogarticle/image
|
||||
@ -584,6 +607,9 @@ cadoles_portal_config_blogcomment_delete:
|
||||
cadoles_portal_config_blogcomment_upload:
|
||||
path: /config/blogcomment/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Blogcomment:upload, access: config }
|
||||
cadoles_portal_config_blogcomment_upload_direct:
|
||||
path: /config/blogcomment/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Blogcomment:upload, access: config }
|
||||
|
||||
#-- Access user
|
||||
cadoles_portal_user_blogcomment_submit:
|
||||
@ -605,7 +631,9 @@ cadoles_portal_user_blogcomment_delete:
|
||||
cadoles_portal_user_blogcomment_upload:
|
||||
path: /user/blogcomment/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Blogcomment:upload, access: user }
|
||||
|
||||
cadoles_portal_user_blogcomment_upload_direct:
|
||||
path: /user/blogcomment/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Blogcomment:upload, access: user }
|
||||
|
||||
#== CALENDAR =============================================================================================================================================
|
||||
|
||||
@ -804,6 +832,9 @@ cadoles_portal_config_projecttask_delete:
|
||||
cadoles_portal_config_projecttask_upload:
|
||||
path: /config/projecttask/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Projecttask:upload, access: config }
|
||||
cadoles_portal_config_projecttask_upload_direct:
|
||||
path: /config/projecttask/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Projecttask:upload, access: config }
|
||||
|
||||
cadoles_portal_config_projecttask_users:
|
||||
path: /config/projecttask/users
|
||||
@ -833,6 +864,9 @@ cadoles_portal_user_projecttask_delete:
|
||||
cadoles_portal_user_projecttask_upload:
|
||||
path: /user/projecttask/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Projecttask:upload, access: user }
|
||||
cadoles_portal_user_projecttask_upload_direct:
|
||||
path: /user/projecttask/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Projecttask:upload, access: user }
|
||||
|
||||
cadoles_portal_user_projecttask_users:
|
||||
path: /user/projecttask/users
|
||||
@ -861,6 +895,9 @@ cadoles_portal_config_projectcomment_delete:
|
||||
cadoles_portal_config_projectcomment_upload:
|
||||
path: /config/projectcomment/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Projectcomment:upload, access: config }
|
||||
cadoles_portal_config_projectcomment_upload_direct:
|
||||
path: /config/projectcomment/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Projectcomment:upload, access: config }
|
||||
|
||||
#-- Access user
|
||||
cadoles_portal_user_projectcomment_submit:
|
||||
@ -878,7 +915,9 @@ cadoles_portal_user_projectcomment_delete:
|
||||
cadoles_portal_user_projectcomment_upload:
|
||||
path: /user/projectcomment/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Projectcomment:upload, access: user }
|
||||
|
||||
cadoles_portal_user_projectcomment_upload_direct:
|
||||
path: /user/projectcomment/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Projectcomment:upload, access: user }
|
||||
|
||||
#== FEED =================================================================================================================================================
|
||||
|
||||
@ -930,6 +969,9 @@ cadoles_portal_config_pagewidget_order:
|
||||
cadoles_portal_config_pagewidget_upload:
|
||||
path: /config/pagewidget/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:upload, access: config }
|
||||
cadoles_portal_config_pagewidget_upload_direct:
|
||||
path: /config/pagewidget/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:upload, access: config }
|
||||
|
||||
cadoles_portal_config_panelwidget_view_url:
|
||||
path: /config/pagewidget/view/url/{id}
|
||||
@ -1051,6 +1093,9 @@ cadoles_portal_user_pagewidget_order:
|
||||
cadoles_portal_user_pagewidget_upload:
|
||||
path: /user/pagewidget/upload
|
||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:upload, access: user }
|
||||
cadoles_portal_user_pagewidget_upload_direct:
|
||||
path: /user/pagewidget/upload&responseType=json
|
||||
defaults: { _controller: CadolesPortalBundle:Pagewidget:upload, access: user }
|
||||
|
||||
cadoles_portal_user_panelwidget_view_url:
|
||||
path: /pagewidget/view/url/{id}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Annonces
|
||||
Modification Annonces = {{alert.title}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Annonces
|
||||
{% endif %}
|
||||
|
@ -11,50 +11,164 @@
|
||||
<a href="{{ path('cadoles_portal_config_alert_submit') }}" class="btn btn-success">Ajouter une Annonce</a>
|
||||
<a href="{{ path('cadoles_portal_config_alertcategory_submit') }}" class="btn btn-success">Ajouter une Catégorie</a>
|
||||
</p>
|
||||
|
||||
<div id="listpending" class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 style="margin:0px">En Attente Publication</h2>
|
||||
</div>
|
||||
|
||||
<div id="list" class="panel-group">
|
||||
{% for alert in alerts %}
|
||||
<div
|
||||
class="
|
||||
panel
|
||||
list-item
|
||||
alertcategory-{{ alert.alertcategory.id }}
|
||||
{{ alert.isOnline ? "alertstatut-online" : ""}}
|
||||
{{ alert.isPending ? "alertstatut-pending" : ""}}
|
||||
{{ alert.isArchived ? "alertstatut-archived" : ""}}
|
||||
{% for group in alert.groups %}{{ ' group-' ~ group.id }}{% endfor %}
|
||||
{% for role in alert.roles %}{{ ' role-' ~ role }}{% endfor %}
|
||||
"
|
||||
data-alert-category-id="{{ alert.alertcategory.id }}"
|
||||
data-alert-id="{{ alert.id }}"
|
||||
style="background: {{ alert.alertcategory.color ? '#'~alert.alertcategory.color : '#'~color['main'] }};"
|
||||
>
|
||||
<div class="panel-heading" role="tab">
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}" class="panel-heading-icon pull-left">
|
||||
{% if alert.alertcategory.icon %}
|
||||
<img height="25" src="/{{ alias }}/{{ alert.alertcategory.icon.label }}">
|
||||
{% else %}
|
||||
<img height="25" src="/{{ alias }}/uploads/icon/icon_megaphone.png">
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}">
|
||||
<i class="fa fa-arrows-v" style="color: rgba(255,255,255,.5);"></i>
|
||||
{{ alert.title }}
|
||||
</a>
|
||||
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#alert-{{ alert.id }}" aria-expanded="true" aria-controls="collapseOne" class="panel-heading-chevron pull-right">
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="alert-{{ alert.id }}" class="panel-body panel-collapse collapse">
|
||||
{{ alert.content|raw }}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="list panel-group">
|
||||
{% for alert in alerts if alert.isPending %}
|
||||
<div
|
||||
class="
|
||||
panel
|
||||
list-item
|
||||
alertcategory-{{ alert.alertcategory.id }}
|
||||
{{ alert.isOnline ? "alertstatut-online" : ""}}
|
||||
{{ alert.isPending ? "alertstatut-pending" : ""}}
|
||||
{{ alert.isArchived ? "alertstatut-archived" : ""}}
|
||||
{% for group in alert.groups %}{{ ' group-' ~ group.id }}{% endfor %}
|
||||
{% for role in alert.roles %}{{ ' role-' ~ role }}{% endfor %}
|
||||
"
|
||||
data-alert-category-id="{{ alert.alertcategory.id }}"
|
||||
data-alert-id="{{ alert.id }}"
|
||||
style="background: {{ alert.alertcategory.color ? '#'~alert.alertcategory.color : '#'~color['main'] }};"
|
||||
>
|
||||
<div class="panel-heading" role="tab">
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}" class="panel-heading-icon pull-left">
|
||||
{% if alert.alertcategory.icon %}
|
||||
<img height="25" src="/{{ alias }}/{{ alert.alertcategory.icon.label }}">
|
||||
{% else %}
|
||||
<img height="25" src="/{{ alias }}/uploads/icon/icon_megaphone.png">
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}">
|
||||
<i class="fa fa-arrows-v" style="color: rgba(255,255,255,.5);"></i>
|
||||
{{ alert.title }}
|
||||
</a>
|
||||
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#alert-{{ alert.id }}" aria-expanded="true" aria-controls="collapseOne" class="panel-heading-chevron pull-right">
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="alert_item[id][]" value="{{ alert.id }}" />
|
||||
<div id="alert-{{ alert.id }}" class="panel-body panel-collapse collapse">
|
||||
{{ alert.content|raw }}
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="alert_item[id][]" value="{{ alert.id }}" />
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="listonline" class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 style="margin:0px">En Ligne</h2>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div id="listonline" class="list panel-group">
|
||||
{% for alert in alerts if alert.isOnline %}
|
||||
<div
|
||||
class="
|
||||
panel
|
||||
list-item
|
||||
alertcategory-{{ alert.alertcategory.id }}
|
||||
{{ alert.isOnline ? "alertstatut-online" : ""}}
|
||||
{{ alert.isPending ? "alertstatut-pending" : ""}}
|
||||
{{ alert.isArchived ? "alertstatut-archived" : ""}}
|
||||
{% for group in alert.groups %}{{ ' group-' ~ group.id }}{% endfor %}
|
||||
{% for role in alert.roles %}{{ ' role-' ~ role }}{% endfor %}
|
||||
"
|
||||
data-alert-category-id="{{ alert.alertcategory.id }}"
|
||||
data-alert-id="{{ alert.id }}"
|
||||
style="background: {{ alert.alertcategory.color ? '#'~alert.alertcategory.color : '#'~color['main'] }};"
|
||||
>
|
||||
<div class="panel-heading" role="tab">
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}" class="panel-heading-icon pull-left">
|
||||
{% if alert.alertcategory.icon %}
|
||||
<img height="25" src="/{{ alias }}/{{ alert.alertcategory.icon.label }}">
|
||||
{% else %}
|
||||
<img height="25" src="/{{ alias }}/uploads/icon/icon_megaphone.png">
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}">
|
||||
<i class="fa fa-arrows-v" style="color: rgba(255,255,255,.5);"></i>
|
||||
{{ alert.title }}
|
||||
</a>
|
||||
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#alert-{{ alert.id }}" aria-expanded="true" aria-controls="collapseOne" class="panel-heading-chevron pull-right">
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="alert-{{ alert.id }}" class="panel-body panel-collapse collapse">
|
||||
{{ alert.content|raw }}
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="alert_item[id][]" value="{{ alert.id }}" />
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="listarchived" class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 style="margin:0px">Archivées</h2>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div id="listarchived" class="list panel-group">
|
||||
{% for alert in alerts if alert.isArchived %}
|
||||
<div
|
||||
class="
|
||||
panel
|
||||
list-item
|
||||
alertcategory-{{ alert.alertcategory.id }}
|
||||
{{ alert.isOnline ? "alertstatut-online" : ""}}
|
||||
{{ alert.isPending ? "alertstatut-pending" : ""}}
|
||||
{{ alert.isArchived ? "alertstatut-archived" : ""}}
|
||||
{% for group in alert.groups %}{{ ' group-' ~ group.id }}{% endfor %}
|
||||
{% for role in alert.roles %}{{ ' role-' ~ role }}{% endfor %}
|
||||
"
|
||||
data-alert-category-id="{{ alert.alertcategory.id }}"
|
||||
data-alert-id="{{ alert.id }}"
|
||||
style="background: {{ alert.alertcategory.color ? '#'~alert.alertcategory.color : '#'~color['main'] }};"
|
||||
>
|
||||
<div class="panel-heading" role="tab">
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}" class="panel-heading-icon pull-left">
|
||||
{% if alert.alertcategory.icon %}
|
||||
<img height="25" src="/{{ alias }}/{{ alert.alertcategory.icon.label }}">
|
||||
{% else %}
|
||||
<img height="25" src="/{{ alias }}/uploads/icon/icon_megaphone.png">
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
<a href="{{ path('cadoles_portal_config_alert_update', { id: alert.id }) }}">
|
||||
<i class="fa fa-arrows-v" style="color: rgba(255,255,255,.5);"></i>
|
||||
{{ alert.title }}
|
||||
</a>
|
||||
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#alert-{{ alert.id }}" aria-expanded="true" aria-controls="collapseOne" class="panel-heading-chevron pull-right">
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="alert-{{ alert.id }}" class="panel-body panel-collapse collapse">
|
||||
{{ alert.content|raw }}
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="alert_item[id][]" value="{{ alert.id }}" />
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -219,7 +333,11 @@
|
||||
});
|
||||
}
|
||||
|
||||
$( "#list" ).sortable({
|
||||
if($(".alertstatut-pending").length==0) $("#listpending").hide();
|
||||
if($(".alertstatut-online").length==0) $("#listonline").hide();
|
||||
if($(".alertstatut-archived").length==0) $("#listarchived").hide();
|
||||
|
||||
$( ".list" ).sortable({
|
||||
axis: "y",
|
||||
placeholder: "list-item placeholder",
|
||||
update: updateItems
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Catégorie d'Annonce
|
||||
Modification Catégorie d'Annonce = {{alertcategory.label}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Catégorie d'Annonce
|
||||
{% endif %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Blog
|
||||
Modification Blog = {{entity.name}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Blog
|
||||
{% endif %}
|
||||
|
@ -9,7 +9,7 @@
|
||||
<p>
|
||||
<a href="{{ path('cadoles_portal_config_blog_submit') }}" class="btn btn-success">Ajouter un Blog</a>
|
||||
<span class="pull-right">
|
||||
<label for="alluser" class="control-label">Afficher les utilisateurs</label>
|
||||
<label id="labelalluser" for="alluser" class="control-label" style="margin-right:15px">Afficher les blogs créés par des utilisateurs</label>
|
||||
<input id="alluser" name="alluser" type="checkbox" class="switch" onChange="switchalluser();">
|
||||
</span>
|
||||
</p>
|
||||
@ -74,6 +74,12 @@
|
||||
if (typeof table !== 'undefined') {
|
||||
table.ajax.reload();
|
||||
}
|
||||
|
||||
var check = $('#alluser').bootstrapSwitch('state');
|
||||
if(check)
|
||||
$("#labelalluser").html("Afficher les blogs non liés à un utilisateur");
|
||||
else
|
||||
$("#labelalluser").html("Afficher les blogs créés par des utilisateurs");
|
||||
}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Calendrier
|
||||
Modification Calendrier = {{entity.name}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Calendrier
|
||||
{% endif %}
|
||||
|
@ -10,7 +10,7 @@
|
||||
<a href="{{ path('cadoles_portal_config_calendar_submit') }}" class="btn btn-success">Ajouter un Calendrier</a>
|
||||
|
||||
<span class="pull-right">
|
||||
<label for="alluser" class="control-label">Afficher les utilisateurs</label>
|
||||
<label id="labelalluser" for="alluser" class="control-label" style="margin-right:15px">Afficher les calendriers créés par des utilisateurs</label>
|
||||
<input id="alluser" name="alluser" type="checkbox" class="switch" onChange="switchalluser();">
|
||||
</span>
|
||||
</p>
|
||||
@ -73,6 +73,12 @@
|
||||
if (typeof table !== 'undefined') {
|
||||
table.ajax.reload();
|
||||
}
|
||||
|
||||
var check = $('#alluser').bootstrapSwitch('state');
|
||||
if(check)
|
||||
$("#labelalluser").html("Afficher les calendriers non liés à un utilisateur");
|
||||
else
|
||||
$("#labelalluser").html("Afficher les calendriers créés par des utilisateurs");
|
||||
}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -3,7 +3,7 @@
|
||||
{% block pagewrapper %}
|
||||
{{ form_start(form) }}
|
||||
<h1>
|
||||
Partage Calendrier
|
||||
Partage Calendrier = {{entity.name}}
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
|
@ -288,7 +288,12 @@
|
||||
{% if entity.id is defined %}
|
||||
{% for calendar in calendars %}
|
||||
{% if calendar.id==entity.id %}
|
||||
showCalendar({{ calendar.id }}, {{ calendar.canadd }});
|
||||
{% if access=="config" %}
|
||||
{% set calendarcanadd=true %}
|
||||
{% else %}
|
||||
{% set calendarcanadd=calendar.canadd %}
|
||||
{% endif %}
|
||||
showCalendar({{ calendar.id }}, {{ calendarcanadd }});
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Flux
|
||||
Modification Flux = {{flux.title}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Flux
|
||||
{% endif %}
|
||||
@ -17,7 +17,7 @@
|
||||
<a href={{ path('cadoles_portal_config_flux_delete',{'id':flux.id}) }}
|
||||
class="btn btn-danger pull-right"
|
||||
data-method="delete" data-csrf="_token:{{ 'csrf' }}"
|
||||
data-confirm="Êtes-vous sûr de vouloir supprimer cette annonce ?">
|
||||
data-confirm="Êtes-vous sûr de vouloir supprimer ce flux ?">
|
||||
Supprimer
|
||||
</a>
|
||||
{% endif %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Item
|
||||
Modification Item = {{item.title}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Item
|
||||
{% endif %}
|
||||
@ -49,6 +49,8 @@
|
||||
{{ form_row(form.subtitle) }}
|
||||
{{ form_row(form.essential) }}
|
||||
{{ form_row(form.content) }}
|
||||
{{ form_row(form.badgeurl) }}
|
||||
{{ form_row(form.protected) }}
|
||||
</div>
|
||||
|
||||
|
||||
@ -65,6 +67,13 @@
|
||||
{{ form_row(form.ssoitem) }}
|
||||
{% endif %}
|
||||
|
||||
{% if form.clicksonde is defined %}
|
||||
{{ form_row(form.clicksonde) }}
|
||||
<div id="divclicksondeservice">
|
||||
{{ form_row(form.clicksondeservice) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{{ form_row(form.color) }}
|
||||
|
||||
<div id="diviconsel" class="col-md-12 text-left" style="height:140px; padding:20px; text-align:center; background-color: {{ item.color ? "#"~item.color : '#'~color['main'] }};">
|
||||
@ -92,6 +101,10 @@
|
||||
showhide();
|
||||
});
|
||||
|
||||
$('#item_clicksonde').change(function() {
|
||||
showhide();
|
||||
});
|
||||
|
||||
function selIcon(idicon,label) {
|
||||
$("#item_idicon").val(idicon);
|
||||
$("#diviconsel img").remove();
|
||||
@ -120,5 +133,13 @@
|
||||
if($("#item_target").val()=="frame") {
|
||||
$("#divhelp").show();
|
||||
}
|
||||
|
||||
|
||||
if($("#item_clicksonde").is(':checked')) {
|
||||
$("#divclicksondeservice").show();
|
||||
}
|
||||
else {
|
||||
$("#divclicksondeservice").hide();
|
||||
}
|
||||
}
|
||||
{% endblock %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Catégorie d'Item
|
||||
Modification Catégorie d'Item = {{itemcategory.label}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Catégorie d'Item
|
||||
{% endif %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Charte
|
||||
Modification Charte = {{notice.title}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Charte
|
||||
{% endif %}
|
||||
|
@ -18,7 +18,7 @@
|
||||
{% endfor %}
|
||||
|
||||
<form name="toread" method="post">
|
||||
|
||||
|
||||
<input style="float:left; zoom:1.7;margin:5px 0px 0px 0px;" type="checkbox" id="readcharte" name="readcharte" value="0">
|
||||
<span style="float:left; zoom: 1.7;margin-top: 3px;">Accepter la charte d'utilisation</span>
|
||||
</form>
|
||||
@ -37,7 +37,7 @@
|
||||
|
||||
function haveRead() {
|
||||
if($("#readcharte").val()=="1") {
|
||||
document.location.href ="{{ path("cadoles_portal_user_notice_haveread") }}";
|
||||
document.location.href ="{{ path("cadoles_portal_user_notice_haveread",{id:id}) }}";
|
||||
}
|
||||
}
|
||||
{% endblock %}
|
@ -25,12 +25,17 @@
|
||||
<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>
|
||||
|
||||
{% set datasonde = "" %}
|
||||
{% if bookmark.item and bookmark.item.clicksonde %}
|
||||
{% set datasonde = "class='linktosonde' data-sondetitle='"~bookmark.item.title~"' data-sondeservice='"~bookmark.item.clicksondeservice~"'" %}
|
||||
{% endif %}
|
||||
|
||||
{% if bookmark.target == 'frame' %}
|
||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url }}')">
|
||||
<a {{datasonde|raw}} 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 %}">
|
||||
<a {{datasonde|raw}} 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 }}">
|
||||
<a {{datasonde|raw}} href="{{ bookmark.url }}" target="{{ bookmark.target }}">
|
||||
{% endif %}
|
||||
|
||||
<div class="item-link clearfix">
|
||||
@ -110,12 +115,17 @@
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
{% set datasonde = "" %}
|
||||
{% if item.clicksonde %}
|
||||
{% set datasonde = "class='linktosonde' data-sondetitle='"~item.title~"' data-sondeservice='"~item.clicksondeservice~"'" %}
|
||||
{% endif %}
|
||||
|
||||
{% if item.target == 'frame' %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url }}')">
|
||||
<a {{datasonde|raw}} 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 %}">
|
||||
<a {{datasonde|raw}} 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 }}">
|
||||
<a {{datasonde|raw}} href="{{ item.url }}" target="{{ item.target }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@ -196,9 +206,10 @@
|
||||
// Sur click item à sonder
|
||||
{% if activate_widsonde %}
|
||||
$( ".linktosonde" ).click(function() {
|
||||
title=$(this).attr("data-sonde");
|
||||
//$.getScript( "{{ widsonde_url }}?appli="+title );
|
||||
});
|
||||
title=$(this).attr("data-sondetitle");
|
||||
service=$(this).attr("data-sondeservice");
|
||||
EnvoleClickSondes($(this),title,service);
|
||||
});
|
||||
{% endif %}
|
||||
|
||||
});
|
||||
|
@ -86,7 +86,7 @@
|
||||
|
||||
<div class="caption">
|
||||
<h3 style="text-align:center">Portail<br>Personnalisable</h3>
|
||||
<p>Les utilisateurs du portail sont libres de créer leur propre page.</p>
|
||||
<p>En fonction de la configuration et de leur profil, les utilisateurs du portail sont libres de créer leur propre page.</p>
|
||||
<p>Les pages de l'utilisateur pouvant prendre plusieurs formes :
|
||||
<ul>
|
||||
<li>Une page pointant sur l'adresse d'un autre site</li>
|
||||
@ -105,7 +105,7 @@
|
||||
|
||||
<div class="caption">
|
||||
<h3 style="text-align:center">Portail<br>Evolutif</h3>
|
||||
<p>NinthGate est évolutif dans le sens où, vous disposerez d'une large bibliothèque de widgets qui composeront vos pages</p>
|
||||
<p>Ninegate est évolutif dans le sens où, vous disposerez d'une large bibliothèque de widgets qui composeront vos pages.</p>
|
||||
<p>Voici quelques exemples :
|
||||
<ul>
|
||||
<li>Widget URL</li>
|
||||
@ -133,8 +133,8 @@
|
||||
<li>Distribuer {{ app.session.get('appname') }}</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>NinthGate est développé dans le cadre du projet <a href='http://envole.ac-dijon.fr' target='_blank'>Envole</a>. Vous pourrez trouver le code source de NinthGate sur la <a href='https://dev-eole.ac-dijon.fr/projects/eole-eportail' target='_blank'>forge du projet</a></p>
|
||||
<p>NinthGate est propulsé par la société <a href='http://cadoles.com' target='_blank'>Cadoles</a></p>
|
||||
<p>Ninegate est développé dans le cadre du projet <a href='https://envole.ac-dijon.fr/ninegate/' target='_blank'>Envole</a>. Vous pourrez trouver le code source de Ninegate sur la <a href='https://dev-eole.ac-dijon.fr/projects/eole-eportail' target='_blank'>forge du projet</a></p>
|
||||
<p>Ninegate est propulsé par la société <a href='https://cadoles.com' target='_blank'>Cadoles</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -10,7 +10,7 @@
|
||||
<a href="{{ path('cadoles_portal_config_page_submit') }}" class="btn btn-success">Ajouter une Page</a>
|
||||
|
||||
<span class="pull-right">
|
||||
<label for="alluser" class="control-label">Afficher les utilisateurs</label>
|
||||
<label id="labelalluser" for="alluser" class="control-label" style="margin-right:15px">Afficher les pages créées par des utilisateurs</label>
|
||||
<input id="alluser" name="alluser" type="checkbox" class="switch" onChange="switchalluser();">
|
||||
</span>
|
||||
</p>
|
||||
@ -43,6 +43,9 @@
|
||||
$(".switch").bootstrapSwitch();
|
||||
{% 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").bootstrapSwitch('state',state);
|
||||
{% endif %}
|
||||
|
||||
@ -76,6 +79,13 @@
|
||||
if (typeof table !== 'undefined') {
|
||||
table.ajax.reload();
|
||||
}
|
||||
|
||||
var check = $('#alluser').bootstrapSwitch('state');
|
||||
if(check)
|
||||
$("#labelalluser").html("Afficher les pages non liées à un utilisateur");
|
||||
else
|
||||
$("#labelalluser").html("Afficher les pages créées par des utilisateurs");
|
||||
|
||||
}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -13,7 +13,7 @@
|
||||
{% endif %}
|
||||
|
||||
<li id="menupage-{{page.id}}" {{ isactive }} class="list-group-item {{isactive}}" onClick="$('#listgrouppage li').removeClass('active'); $(this).addClass('active') " style="cursor:pointer">
|
||||
<a data-group="{{groupshared.id}}" onClick="$('#selgrouppages').modal('hide'); showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','group','{{forcereload}}','{{groupshared.id}}')">
|
||||
<a data-group="{{groupshared.id}}" onClick="$('#selgrouppages').modal('hide'); showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','group','{{forcereload}}','{{groupshared.id}}','{{page.name}}')">
|
||||
{% if page.fonticon %}
|
||||
<i class="{{ page.fonticon }} fa-faw"></i>
|
||||
{% else %}
|
||||
@ -55,7 +55,7 @@
|
||||
{% endif %}
|
||||
|
||||
<li id="menupage-{{page.id}}" {{ isactive }} style="cursor:pointer">
|
||||
<a data-group="{{groupshared.id}}" onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','group','{{forcereload}}','{{groupshared.id}}')">
|
||||
<a data-group="{{groupshared.id}}" onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','group','{{forcereload}}','{{groupshared.id}}','{{page.name}}')">
|
||||
{% if page.fonticon %}
|
||||
<i class="{{ page.fonticon }} fa-faw"></i>
|
||||
{% else %}
|
||||
@ -93,7 +93,7 @@
|
||||
{% endif %}
|
||||
|
||||
<li id="menupage-{{page.id}}" {{isactive}} style="cursor:pointer">
|
||||
<a onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','group','{{forcereload}}','{{groupshared.id}}')">
|
||||
<a onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','group','{{forcereload}}','{{groupshared.id}}','{{page.name}}')">
|
||||
{% if page.fonticon %}
|
||||
<i class="{{ page.fonticon }} fa-faw"></i>
|
||||
{% endif %}
|
||||
|
@ -26,11 +26,11 @@
|
||||
<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 }}')">
|
||||
<a 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 %}">
|
||||
<a 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 }}">
|
||||
<a href="{{ bookmark.url }}" target="{{ bookmark.target }}">
|
||||
{% endif %}
|
||||
|
||||
<div class="item-link clearfix">
|
||||
@ -111,11 +111,11 @@
|
||||
|
||||
{% else %}
|
||||
{% if item.target == 'frame' %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url }}')">
|
||||
<a 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 %}">
|
||||
<a 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 }}">
|
||||
<a href="{{ item.url }}" target="{{ item.target }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@ -192,15 +192,6 @@
|
||||
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 %}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
@ -13,9 +13,12 @@
|
||||
{% 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 %}
|
||||
<li id="menupage-{{page.id}}" class="active" style="cursor:pointer">
|
||||
<a onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','portal','{{forcereload}}')">
|
||||
<a onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','{{usage}}','{{forcereload}}',null,'{{page.name}}')">
|
||||
{% if page.fonticon %}
|
||||
<i class="{{ page.fonticon }} fa-faw"></i>
|
||||
{% endif %}
|
||||
@ -24,7 +27,7 @@
|
||||
</li>
|
||||
{% else %}
|
||||
<li id="menupage-{{page.id}}">
|
||||
<a style="cursor:pointer" onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','portal','{{forcereload}}')">
|
||||
<a style="cursor:pointer" onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','portal','{{forcereload}}',null,'{{page.name}}')">
|
||||
{% if page.fonticon %}
|
||||
<i class="{{ page.fonticon }} fa-faw"></i>
|
||||
{% endif %}
|
||||
@ -45,7 +48,7 @@
|
||||
|
||||
{% if entity.id is defined and page.id==entity.id %}
|
||||
<li id="menupage-{{page.id}}" class="active" style="cursor:pointer">
|
||||
<a onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','user','{{forcereload}}')">
|
||||
<a onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','user','{{forcereload}}',null,'{{page.name}}')">
|
||||
{% if page.fonticon %}
|
||||
<i class="{{ page.fonticon }} fa-faw"></i>
|
||||
{% else %}
|
||||
@ -56,7 +59,7 @@
|
||||
</li>
|
||||
{% else %}
|
||||
<li id="menupage-{{page.id}}">
|
||||
<a style="cursor:pointer" onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','user','{{forcereload}}')">
|
||||
<a style="cursor:pointer" onClick="showPage({{ page.id }},{{ page.pagecategory.id }},'{{ page.canupdate }}','user','{{forcereload}}',null,'{{page.name}}')">
|
||||
{% if page.fonticon %}
|
||||
<i class="{{ page.fonticon }} fa-faw"></i>
|
||||
{% else %}
|
||||
@ -91,6 +94,8 @@
|
||||
|
||||
|
||||
<div id="menupageaction">
|
||||
<a id="menuname" style="cursor:pointer;font-size:80%" href=""></a>
|
||||
|
||||
{% if canadd %}
|
||||
<a id="menusubmit" style="cursor:pointer" onclick="submitPage()" title='Ajouter une page'><i class='fa fa-plus fa-fw'></i></a>
|
||||
{% endif %}
|
||||
@ -256,20 +261,22 @@
|
||||
{% if gotoroute is empty %}
|
||||
{% for page in pagesadmin %}
|
||||
{% if page.id==entity.id %}
|
||||
showPage({{ page.id }}, {{ page.pagecategory.id }},'{{ page.canupdate }}','portal');
|
||||
{% 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');
|
||||
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}});
|
||||
showPage({{ page.id }}, {{ page.pagecategory.id }},'{{ page.canupdate }}','group',true,{{groupshared.id}},'{{page.name}}');
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
@ -306,54 +313,11 @@
|
||||
order: [[ 1, "asc" ]],
|
||||
});
|
||||
|
||||
{% if app.user %}
|
||||
{% if app.user and app.session.get("timerefreshnotif") > 0%}
|
||||
setInterval(function(){
|
||||
loadmsgCounter()
|
||||
}, 10000);
|
||||
}, {{(app.session.get("timerefreshnotif")*1000)}});
|
||||
{% endif %}
|
||||
|
||||
// Init socket de counter
|
||||
/* Désactiver car il semble préférable de faire un appel ajax régulier plutot qu'ouvrir un channel websocket
|
||||
{% if websocket_activate %}
|
||||
var _WS_URI = "wss://{{ gos_web_socket_server_host }}:{{ gos_web_socket_server_port }}";
|
||||
|
||||
var webSocket = WS.connect(_WS_URI);
|
||||
|
||||
webSocket.on("socket/connect", function (session) {
|
||||
// The callback function in "subscribe" is called everytime an event is published in that channel.
|
||||
session.subscribe("websocket/counter", function (uri, payload) {
|
||||
if(payload.log) {
|
||||
console.log("Received message", payload.log);
|
||||
}
|
||||
if(payload.alert) {
|
||||
alert(payload.alert);
|
||||
}
|
||||
{% if app.user %}
|
||||
if(payload.from!="{{app.user.id}}") {
|
||||
menu=$("a[data-group='"+payload.group+"']");
|
||||
if(menu.length) {
|
||||
if(payload.add) {
|
||||
console.log("Ajout counter pour group "+payload.group+" by "+payload.from);
|
||||
if(menu.children(".badge").length) {
|
||||
menu.children(".badge").html(+(menu.children(".badge").html())+1);
|
||||
}
|
||||
else menu.append("<span id='badge-"+payload.group+"' class='badge'>1</span");
|
||||
}
|
||||
}
|
||||
}
|
||||
{% endif %}
|
||||
});
|
||||
|
||||
$(document).on('click', '#refreshcounter', function(){
|
||||
{% if app.user %}
|
||||
event=$(this).data("event");
|
||||
event.userid={{app.user.id}}
|
||||
session.publish("websocket/counter", event);
|
||||
{% endif %}
|
||||
});
|
||||
});
|
||||
{% endif %}
|
||||
*/
|
||||
});
|
||||
|
||||
$(window).resize(function() {
|
||||
@ -406,7 +370,7 @@
|
||||
}
|
||||
|
||||
// Affichages des pages
|
||||
function showPage(id,catid,canupdate,usage,forcereload,groupid) {
|
||||
function showPage(id,catid,canupdate,usage,forcereload,groupid,pagename) {
|
||||
// Sauvegarder la page en cours
|
||||
idpage=id;
|
||||
|
||||
@ -449,6 +413,10 @@
|
||||
$("#badge-"+groupid).remove()
|
||||
}
|
||||
|
||||
// Nom de la page
|
||||
console.log(pagename);
|
||||
$("#menuname").html(pagename);
|
||||
|
||||
// Cacher les actions possibles sur la page
|
||||
$("#menuupdate").hide();
|
||||
$("#menushare").hide();
|
||||
@ -578,19 +546,7 @@
|
||||
$(location).attr('href', url);
|
||||
};
|
||||
|
||||
function loadmsgCounter() {
|
||||
/*
|
||||
menu=$("a[data-group='"+payload.group+"']");
|
||||
if(menu.length) {
|
||||
if(payload.add) {
|
||||
console.log("Ajout counter pour group "+payload.group+" by "+payload.from);
|
||||
if(menu.children(".badge").length) {
|
||||
menu.children(".badge").html(+(menu.children(".badge").html())+1);
|
||||
}
|
||||
else menu.append("<span id='badge-"+payload.group+"' class='badge'>1</span");
|
||||
}
|
||||
}
|
||||
*/
|
||||
function loadmsgCounter() {
|
||||
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
@ -611,40 +567,5 @@
|
||||
});
|
||||
}
|
||||
});
|
||||
/*
|
||||
$.ajax({
|
||||
method: "GET",
|
||||
url: "process.php?process=process-notifuser.php",
|
||||
success: function(data, dataType)
|
||||
{
|
||||
if(data.trim()!="") {
|
||||
var result=data.split(",");
|
||||
if(parseInt(result[0])) {
|
||||
$("#notif").show();
|
||||
|
||||
if(result[1]!=0) {
|
||||
$("#notifbadge").html(result[1]);
|
||||
$("#notifbadge").css('display', 'inline-block');
|
||||
}
|
||||
else {
|
||||
$("#notifbadge").hide();
|
||||
}
|
||||
}
|
||||
else $("#notifbadge").hide();
|
||||
}
|
||||
else {
|
||||
$("#notif").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
||||
// Permet de déclencher l'évenement de modification des counter
|
||||
/* Plus nécessaire on passe par de l'ajax
|
||||
function counter(event) {
|
||||
$('#refreshcounter').data("event",event);
|
||||
$('#refreshcounter').click();
|
||||
};
|
||||
*/
|
||||
{% endblock %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Page Editeur
|
||||
Modification Page Editeur = {{entity.name}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Page Editeur
|
||||
{% endif %}
|
||||
|
@ -3,7 +3,7 @@
|
||||
{% block pagewrapper %}
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
Modification Page {{ entity.pagecategory.name}}
|
||||
Modification Page {{ entity.pagecategory.name}} = {{entity.name}}
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
|
@ -4,7 +4,7 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Page URL
|
||||
Modification Page URL = {{entity.name}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Page URL
|
||||
{% endif %}
|
||||
|
@ -142,9 +142,9 @@
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if mode=="update" %}
|
||||
Modification Page Widget
|
||||
Modification Page Widget = {{entity.name}}
|
||||
{% elseif mode=="updatetemplate" %}
|
||||
Modification Modèle de Page
|
||||
Modification Modèle de Page = {{entity.name}}
|
||||
{% elseif mode=="submit" %}
|
||||
Création Page Widget
|
||||
{% endif %}
|
||||
|
@ -263,6 +263,18 @@
|
||||
}
|
||||
});
|
||||
|
||||
// badgeurl item
|
||||
$(".itembadgeurl").each(function() {
|
||||
mybadge=$(this);
|
||||
$.ajax({
|
||||
method: "GET",
|
||||
url: $(this).data("url"),
|
||||
success: function(data) {
|
||||
mybadge.append(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Création des slick
|
||||
slick();
|
||||
|
||||
@ -277,8 +289,9 @@
|
||||
// Sur click item à sonder
|
||||
{% if activate_widsonde %}
|
||||
$( ".linktosonde" ).click(function() {
|
||||
title=$(this).attr("data-sonde");
|
||||
//$.getScript( "{{ widsonde_url }}?appli="+title );
|
||||
title=$(this).attr("data-sondetitle");
|
||||
service=$(this).attr("data-sondeservice");
|
||||
EnvoleClickSondes($(this),title,service);
|
||||
});
|
||||
{% endif %}
|
||||
|
||||
@ -391,6 +404,31 @@
|
||||
}
|
||||
}
|
||||
|
||||
// Changer widget
|
||||
function changeWidget(idwidget,key,value) {
|
||||
{% if app.user %}
|
||||
if(key=="modedesktop") {
|
||||
value=value+1;
|
||||
console.log(value);
|
||||
if(value==4) value=0;
|
||||
console.log(value);
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "{{ path('cadoles_core_user_preference') }}",
|
||||
data: {
|
||||
id:idwidget,
|
||||
key:key,
|
||||
value:value
|
||||
},
|
||||
success: function() {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
// Aggrandir widget
|
||||
function bigWidget(idwidget) {
|
||||
var url="{{ path('cadoles_portal_'~access~'_page_view',{id:entity.id,group:group,usage:usage,by:mode,look:'list',selwidget:'xx'})}}";
|
||||
|
@ -68,7 +68,7 @@
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
{{ alert.content|raw }}
|
||||
<div class="widget-ckeditor">{{ alert.content|raw }}</div>
|
||||
|
||||
{% if not alert.items is empty %}
|
||||
{% if app.user %}
|
||||
@ -95,11 +95,11 @@
|
||||
|
||||
{% else %}
|
||||
{% if item.target == 'frame' %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url|replace({'#login#': username}) }}')">
|
||||
<a style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url|replace({'#login#': username}) }}')">
|
||||
{% elseif item.target == "_self" %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ item.target }}{% endif %}">
|
||||
<a href="{{ item.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ item.target }}{% endif %}">
|
||||
{% else %}
|
||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url|replace({'#login#': username}) }}" target="{{ item.target }}">
|
||||
<a href="{{ item.url|replace({'#login#': username}) }}" target="{{ item.target }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
@ -83,7 +83,7 @@
|
||||
|
||||
<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 }};">
|
||||
<a class="linktosonde" data-sonde="{{ item.itemcategory.label }}" href="{{ item.url }}" target="_blank">
|
||||
<a href="{{ item.url }}" target="_blank">
|
||||
|
||||
|
||||
<div class="item-link clearfix">
|
||||
|
@ -87,11 +87,11 @@
|
||||
{% endif %}
|
||||
|
||||
{% if bookmark.target == 'frame' %}
|
||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url|replace({'#login#': username}) }}')">
|
||||
<a style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url|replace({'#login#': username}) }}')">
|
||||
{% elseif bookmark.target == "_self" %}
|
||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
||||
<a href="{{ bookmark.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
||||
{% else %}
|
||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{{ bookmark.target }}">
|
||||
<a href="{{ bookmark.url|replace({'#login#': username}) }}" target="{{ bookmark.target }}">
|
||||
{% endif %}
|
||||
|
||||
<div class="item-link clearfix">
|
||||
|
@ -109,7 +109,7 @@
|
||||
|
||||
<div class="grid-item {{ stylegrid }} feed flux-{{ feed.fluxid }}">
|
||||
<div class="grid-item-content" style="{{ stylecolor }};">
|
||||
<a class="linktosonde" data-sonde="Flux = {{ feed.fluxtitle }}" href="{{ feed.link }}" target="_blank">
|
||||
<a href="{{ feed.link }}" target="_blank">
|
||||
<div class="item-link clearfix">
|
||||
{% if feed.image is not empty %}
|
||||
<div class="grid-item-logo">
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user