160 Commits

Author SHA1 Message Date
74c0a44f56 Merge branch 'master' into dist/envole/6/master 2021-03-24 09:21:53 +01:00
788e0f511f Merge branch 'master' into dist/envole/6/master 2021-03-12 16:55:26 +01:00
1461ceca06 Merge branch 'master' into dist/envole/6/master 2021-03-12 11:52:45 +01:00
4328e7b7c8 Merge branch 'master' into dist/envole/6/master 2021-03-11 11:09:36 +01:00
9433a39649 Merge branch 'master' into dist/envole/6/master 2021-03-10 16:45:35 +01:00
4247ead6bd Merge branch 'master' into dist/envole/6/master 2021-03-09 10:31:18 +01:00
3389eecb74 Merge branch 'master' into dist/envole/6/master 2021-03-09 10:12:12 +01:00
ee4c59a859 Merge branch 'master' into dist/envole/6/master 2021-03-08 16:01:39 +01:00
f2df26e0d9 Merge branch 'master' into dist/envole/6/master 2021-03-08 15:46:37 +01:00
429ce0ba1f Merge branch 'master' into dist/envole/6/master 2021-03-08 15:29:11 +01:00
4314cec399 Merge branch 'master' into dist/envole/6/master 2021-03-08 10:50:49 +01:00
aaaf22e3ba Merge branch 'master' into dist/envole/6/master 2021-03-05 17:00:51 +01:00
23219dd58e Merge branch 'master' into dist/envole/6/master 2021-03-05 16:27:00 +01:00
a11928569b Merge branch 'master' into dist/envole/6/master 2021-03-05 15:22:17 +01:00
b40e3c4eb8 Merge branch 'master' into dist/envole/6/master 2021-03-04 17:04:20 +01:00
b2d20b59cc Merge branch 'master' into dist/envole/6/master 2021-03-04 13:48:06 +01:00
0ed4fec378 Merge branch 'master' into dist/envole/6/master 2021-03-03 18:08:01 +01:00
e1458a0cac Merge branch 'master' into dist/envole/6/master 2021-03-03 17:36:12 +01:00
c17677e871 Merge branch 'master' into dist/envole/6/master 2021-03-03 16:39:00 +01:00
0904f306ce Merge branch 'master' into dist/envole/6/master 2021-02-24 17:01:12 +01:00
69848cf0cf Merge branch 'master' into dist/envole/6/master 2021-02-24 10:55:33 +01:00
8da037fd77 Merge branch 'master' into dist/envole/6/master 2021-02-23 16:35:25 +01:00
9cae1480bb Merge branch 'master' into dist/envole/6/master 2021-02-23 13:45:47 +01:00
34123aeb58 Merge branch 'master' into dist/envole/6/master 2021-02-23 13:29:08 +01:00
83eac6491c Merge branch 'master' into dist/envole/6/master 2021-02-19 13:01:30 +01:00
824a23e172 Merge branch 'master' into dist/envole/6/master 2021-02-17 10:55:58 +01:00
36a9b2e2bd Merge branch 'master' into dist/envole/6/master 2021-02-09 16:48:32 +01:00
3f9bd75d82 Merge branch 'master' into dist/envole/6/master 2021-02-09 09:53:00 +01:00
2bb89b008d Merge branch 'master' into dist/envole/6/master 2021-02-03 10:52:03 +01:00
c82afe13de Merge branch 'master' into dist/envole/6/master 2021-02-02 11:23:14 +01:00
3442eb0d12 Merge branch 'master' into dist/envole/6/master 2021-02-01 11:35:39 +01:00
30a89a23b8 Merge branch 'master' into dist/envole/6/master 2021-02-01 11:08:39 +01:00
0afd32a4e6 Merge branch 'master' into dist/envole/6/master 2021-01-28 10:30:36 +01:00
6890d67bba Merge branch 'master' into dist/envole/6/master 2021-01-27 15:42:12 +01:00
e684ee6701 Merge branch 'master' into dist/envole/6/master 2021-01-27 10:48:20 +01:00
031ca517ed Merge branch 'master' into dist/envole/6/master 2021-01-25 15:02:36 +01:00
ff9d07e0cb Merge branch 'master' into dist/envole/6/master 2021-01-21 17:32:11 +01:00
2077f643ab Merge branch 'master' into dist/envole/6/master 2021-01-21 16:03:06 +01:00
c88666dc9f resolution conflic 2021-01-21 15:23:45 +01:00
4a92ef8dbb Merge branch 'master' into dist/envole/6/master 2021-01-20 16:30:05 +01:00
92923badd8 prise en compte du logrotate dans le paquet 2021-01-20 13:23:15 +01:00
de2bf97fef Merge branch 'master' into dist/envole/6/master 2021-01-13 10:38:50 +01:00
258a7089d1 Merge branch 'master' into dist/envole/6/master 2021-01-13 09:18:05 +01:00
907ea53eb1 Merge branch 'master' into dist/envole/6/master 2021-01-08 15:49:44 +01:00
d69e869c10 Merge branch 'master' into dist/envole/6/master 2021-01-08 14:55:28 +01:00
ff71bfb5a4 Merge branch 'master' into dist/envole/6/master 2021-01-05 10:06:37 +01:00
d2dbe98e64 Merge branch 'master' into dist/envole/6/master 2020-12-16 11:55:19 +01:00
cce91c421a Merge branch 'master' into dist/envole/6/master 2020-12-16 11:14:37 +01:00
5dd372f2a2 Merge branch 'master' into dist/envole/6/master 2020-12-16 10:24:08 +01:00
0dba8c4dc1 resolve conflic 2020-12-15 16:37:58 +01:00
8dc2d81ab3 Merge branch 'master' into dist/envole/6/master 2020-11-19 15:16:20 +01:00
0885efd1f4 Merge branch 'master' into dist/envole/6/master 2020-11-06 14:10:45 +01:00
b648137665 Merge branch 'master' into dist/envole/6/master 2020-10-27 09:05:42 +01:00
cd4472ee71 Merge branch 'master' into dist/envole/6/master 2020-10-23 14:28:03 +02:00
2c8cc7a987 Merge branch 'master' into dist/envole/6/master 2020-10-23 14:03:55 +02:00
f07b95f1e4 Merge branch 'master' into dist/envole/6/master 2020-10-21 15:32:13 +02:00
ae1a97bcbd Merge branch 'master' into dist/envole/6/master 2020-10-19 11:01:12 +02:00
632102c813 Merge branch 'master' into dist/envole/6/master 2020-10-19 10:33:11 +02:00
5326152ff4 Merge branch 'master' into dist/envole/6/master 2020-10-14 09:44:50 +02:00
c02d5f0869 Merge branch 'master' into dist/envole/6/master 2020-10-13 17:40:03 +02:00
6f752a6b44 Merge branch 'master' into dist/envole/6/master 2020-10-13 11:15:45 +02:00
9b6e140808 resolution merge 2020-10-09 15:49:56 +02:00
30e4609f6f Merge branch 'master' into dist/envole/6/master 2020-10-07 11:14:49 +02:00
cc71a435f7 Merge branch 'master' into dist/envole/6/master 2020-10-06 17:12:50 +02:00
d32ded9f5e Merge branch 'master' into dist/envole/6/master 2020-10-01 16:35:39 +02:00
b1d9c2dc63 Merge branch 'master' into dist/envole/6/master 2020-10-01 16:09:55 +02:00
173ceacc8e Merge branch 'master' into dist/envole/6/master 2020-09-30 17:07:13 +02:00
0999f11f8c Merge branch 'master' into dist/envole/6/master 2020-09-29 09:09:32 +02:00
273ce5a3df Merge branch 'master' into dist/envole/6/master 2020-09-24 16:22:59 +02:00
d8be4e06e1 Merge branch 'master' into dist/envole/6/master 2020-09-23 15:30:46 +02:00
d64c20519d Merge branch 'master' into dist/envole/6/master 2020-09-23 14:48:43 +02:00
a2ebec25f8 Merge branch 'master' into dist/envole/6/master 2020-09-21 11:00:22 +02:00
2e5a8d39a5 Merge branch 'master' into dist/envole/6/master 2020-09-18 15:14:50 +02:00
82b329ab8f Merge branch 'master' into dist/envole/6/master 2020-09-17 15:36:41 +02:00
6da8f15c2d Merge branch 'master' into dist/envole/6/master 2020-09-02 16:25:44 +02:00
8659a32942 resolution conflit 2020-09-02 11:48:45 +02:00
68c8d599ff Merge branch 'master' into dist/envole/6/master 2020-07-27 10:19:39 +02:00
95784beed6 Merge branch 'master' into dist/envole/6/master 2020-07-23 10:09:10 +02:00
30eb0d07e2 Merge branch 'master' into dist/envole/6/master 2020-07-22 13:39:52 +02:00
87ef7fb6c7 resolution merge 2020-07-17 16:08:06 +02:00
af5fbf0a6a Merge branch 'master' into dist/envole/6/master 2020-07-15 16:57:37 +02:00
4ae4dabb9f resolv conflict 2020-07-10 12:23:07 +02:00
2392318922 Merge branch 'master' into dist/envole/6/master 2020-07-10 09:37:23 +02:00
5ee9a52554 Merge branch 'master' into dist/envole/6/master 2020-07-07 09:25:12 +02:00
ec6cf7e062 Merge branch 'master' into dist/envole/6/master 2020-07-06 12:00:07 +02:00
5cdd0a6703 Merge branch 'master' into dist/envole/6/master 2020-07-06 11:54:32 +02:00
d1637e4efa Merge branch 'master' into dist/envole/6/master 2020-06-26 15:46:34 +02:00
ba41570721 Merge branch 'master' into dist/envole/6/master 2020-06-26 08:43:25 +02:00
0777934192 Merge branch 'master' into dist/envole/6/master 2020-06-25 13:40:55 +02:00
0a6a5abe38 conflic 2020-06-24 13:46:57 +02:00
220bb795ae Merge branch 'master' into dist/envole/6/master 2020-06-24 12:04:55 +02:00
1877f101ee Merge branch 'master' into dist/envole/6/master 2020-06-24 11:41:37 +02:00
50ae3ed4c4 Merge branch 'master' into dist/envole/6/master 2020-06-24 09:54:52 +02:00
e03af01666 Merge branch 'master' into dist/envole/6/master 2020-06-22 13:32:50 +02:00
36b8cee983 Merge branch 'master' into dist/envole/6/master 2020-06-22 09:49:41 +02:00
286e49653e Merge branch 'master' into dist/envole/6/master 2020-06-18 11:59:09 +02:00
3a0c0c1458 Merge branch 'master' into dist/envole/6/master 2020-06-18 10:59:45 +02:00
58a07356be resol merge 2020-06-17 08:52:17 +02:00
de87ac1261 Merge branch 'master' into dist/envole/6/master 2020-05-27 15:37:14 +02:00
9f99fe2c3f Merge branch 'master' into dist/envole/6/master 2020-05-27 15:34:34 +02:00
2d2d8f0938 Merge branch 'master' into dist/envole/6/master 2020-05-15 16:03:17 +02:00
3f10684027 resolution merge 2020-05-15 15:52:05 +02:00
8fe1009186 Merge branch 'master' into dist/envole/6/master 2020-05-15 15:37:05 +02:00
314ec0e85c Merge branch 'master' into dist/envole/6/master 2020-04-21 12:22:11 +02:00
59e4b0ee28 Merge branch 'master' into dist/envole/6/master 2020-04-20 16:05:30 +02:00
d983e70f1d Merge branch 'master' into dist/envole/6/master 2020-04-20 13:58:46 +02:00
425eeb4f3b Merge branch 'master' into dist/envole/6/master 2020-04-20 11:33:02 +02:00
0cb286080d Merge branch 'master' into dist/envole/6/master 2020-04-20 09:36:38 +02:00
3eedb4d086 Merge branch 'master' into dist/envole/6/master 2020-04-20 08:49:54 +02:00
362047c295 Merge branch 'master' into dist/envole/6/master 2020-04-16 16:11:00 +02:00
f3d465f491 Merge branch 'master' into dist/envole/6/master 2020-03-09 11:29:34 +01:00
189ed35825 Merge branch 'master' into dist/envole/6/master 2020-03-09 09:29:53 +01:00
767dbe7230 Merge branch 'master' into dist/envole/6/master 2020-03-03 10:56:48 +01:00
c74f82e475 Merge branch 'master' into dist/envole/6/master 2020-03-03 10:22:38 +01:00
75e2737524 Merge branch 'master' into dist/envole/6/master 2020-02-28 15:37:42 +01:00
c788b97fca Merge branch 'master' into dist/envole/6/master 2020-02-28 10:58:13 +01:00
c813e78c69 Merge branch 'master' into dist/envole/6/master 2020-02-26 17:41:48 +01:00
e2da7e081f reglage conflit 2020-02-26 10:31:49 +01:00
afaa822d50 conflit 2020-02-13 11:21:06 +01:00
90eb93eebe Merge branch 'master' into dist/envole/6/master 2020-02-13 09:39:48 +01:00
03526d3374 Merge branch 'master' into dist/envole/6/master 2020-02-12 09:45:35 +01:00
bb77cc0ea0 Merge branch 'master' into dist/envole/6/master 2020-02-10 10:52:24 +01:00
5adab0951c Merge branch 'master' into dist/envole/6/master 2020-02-10 10:33:31 +01:00
fc06da09c9 Merge branch 'master' into dist/envole/6/master 2020-02-10 09:52:42 +01:00
743e9b6d3b Merge branch 'master' into dist/envole/6/master 2020-01-16 16:21:14 +01:00
bc2e2b4e4c Merge branch 'master' into dist/envole/6/master 2020-01-13 15:47:48 +01:00
d649c11821 Merge branch 'master' into dist/envole/6/master 2020-01-08 15:45:34 +01:00
61c8ad37fd Merge branch 'master' into dist/envole/6/master 2020-01-08 15:27:07 +01:00
a97ba39dbd Merge branch 'master' into dist/envole/6/master 2020-01-06 09:21:19 +01:00
3e35acb028 Merge branch 'master' into dist/envole/6/master 2019-12-19 14:13:03 +01:00
5b14604d9c Merge branch 'master' into dist/envole/6/master 2019-12-18 14:54:25 +01:00
81740cd4e5 Merge branch 'master' into dist/envole/6/master 2019-12-16 17:21:35 +01:00
8211c08403 Merge branch 'master' into dist/envole/6/master 2019-12-16 17:20:11 +01:00
1acce9d3fd Merge branch 'master' into dist/envole/6/master 2019-12-16 17:14:52 +01:00
742383206e Merge branch 'master' into dist/envole/6/master 2019-12-16 17:04:33 +01:00
f54efc703c Merge branch 'master' into dist/envole/6/master 2019-12-13 15:46:30 +01:00
d31d2d8628 Merge branch 'master' into dist/envole/6/master 2019-12-09 13:37:56 +01:00
8e00e5765a Merge branch 'master' into dist/envole/6/master 2019-12-06 11:21:00 +01:00
5f933a67b9 Merge branch 'master' into dist/envole/6/master 2019-12-06 10:59:04 +01:00
72ad84e1b7 Merge branch 'master' into dist/envole/6/master 2019-12-05 14:17:49 +01:00
0c099b0784 Merge branch 'master' into dist/envole/6/master 2019-11-21 10:42:56 +01:00
99f29975d8 resoulion merge 2019-11-20 10:02:37 +01:00
f141b15e48 dep 2019-11-19 11:00:44 +01:00
7416dfaa3e Merge branch 'master' into dist/envole/6/master 2019-11-19 10:28:59 +01:00
03e0a1dc7c Merge branch 'master' into dist/envole/6/master 2019-11-19 10:26:14 +01:00
fb5e3c72ee dependance sur envole-dependances 2019-11-19 10:25:56 +01:00
a0bb903635 ajout php-imagick en dépendance 2019-11-18 16:34:51 +01:00
6ad1eb5569 résolution conflit 2019-11-15 11:45:54 +01:00
9cbcdd28b9 déclaration du proxy en http et non plus en tcp (ref #29) 2019-10-29 16:16:41 +01:00
2b1625b5f8 Merge branch 'master' into dist/envole/6/master 2019-10-29 09:45:34 +01:00
28e9c37e48 Merge branch 'master' into dist/envole/6/master 2019-10-23 10:44:18 +02:00
2262bebcda Merge branch 'master' into dist/envole/6/master 2019-10-18 14:10:19 +02:00
f0ae7eb4f4 Merge branch 'master' into dist/envole/6/master 2019-10-18 13:56:17 +02:00
df29e2ca71 Merge branch 'master' into dist/envole/6/master 2019-10-16 13:55:20 +02:00
ef0d452bc2 Merge branch 'master' into dist/envole/6/master 2019-10-09 13:49:02 +02:00
ab2129de6e Merge branch 'master' into dist/envole/6/master 2019-10-04 11:40:46 +02:00
b14a2b3434 dep sur composer et envole-themes 2019-09-27 13:46:38 +02:00
faf244cf06 Merge branch 'master' into dist/envole/6/master 2019-09-27 13:39:57 +02:00
1acf74126e Merge branch 'master' into dist/envole/6/master 2019-09-25 14:11:13 +02:00
7ebc37268c repertoire debian 2019-09-25 14:08:13 +02:00
170 changed files with 1515 additions and 2917 deletions

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
7

24
debian/control vendored Normal file
View File

@ -0,0 +1,24 @@
Source: eole-ninegate
Section: web
Priority: optional
Maintainer: Equipe Envole <eole@ac-dijon.fr>
Build-Depends: debhelper (>= 7.0.50)
Standards-Version: 3.8.4
Homepage: http://eole.orion.education.fr/diff/
Vcs-Git: http://dev-eole.ac-dijon.fr/git/ninegate
Vcs-Browser: http://dev-eole.ac-dijon.fr/projects/ninegate/repository
Package: ninegate-sso
Architecture: all
Depends: ${misc:Depends}, eole-sso
Description: Filtre SSO pour ninegate "EOLE".
Package: eole-ninegate
Architecture: all
Depends: ${misc:Depends}, eole-web (>= 2.6.1), ninegate-sso, eole-envole-dependances
Description: Eolisation de l'application ninegate.
Package: ninegate-apps
Architecture: all
Depends: ${misc:Depends}, eole-web-pkg (>= 2.6.1), envole-dependances-apps
Description: Sources pour ninegate "EOLE".

44
debian/copyright vendored Normal file
View File

@ -0,0 +1,44 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: {PROJECT}
Source: {URL}
Files: *
Copyright: YEAR {UPSTREAM} {AUTHOR} <{MAIL}>
License: {UPSTREAM LICENSE}
Files: debian/*
Copyright: 2012 Équipe EOLE <eole@ac-dijon.fr>
License: CeCILL-2
License: {UPSTREAM LICENSE}
{TEXT OF THE LICENSE}
License: CeCILL-2
This software is governed by the CeCILL-2 license under French law and
abiding by the rules of distribution of free software. You can use,
modify and or redistribute the software under the terms of the CeCILL-2
license as circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info";.
.
As a counterpart to the access to the source code and rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty and the software's author, the holder of the
economic rights, and the successive licensors have only limited
liability.
.
In this respect, the user's attention is drawn to the risks associated
with loading, using, modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean that it is complicated to manipulate, and that also
therefore means that it is reserved for developers and experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or
data to be ensured and, more generally, to use and operate it in the
same conditions as regards security.
.
The fact that you are presently reading this means that you have had
knowledge of the CeCILL-2 license and that you accept its terms.
.
On Eole systems, the complete text of the CeCILL-2 License can be found
in '/usr/share/common-licenses/CeCILL-2-en'.

1
debian/eole-ninegate.install vendored Normal file
View File

@ -0,0 +1 @@
usr/share/eole

3
debian/gbp.conf vendored Normal file
View File

@ -0,0 +1,3 @@
# Set per distribution debian tag
[DEFAULT]
debian-tag = debian/envole/%(version)s

2
debian/ninegate-apps.install vendored Normal file
View File

@ -0,0 +1,2 @@
var/www/html
etc

1
debian/ninegate-sso.install vendored Normal file
View File

@ -0,0 +1 @@
usr/share/sso

8
debian/rules vendored Executable file
View File

@ -0,0 +1,8 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (native)

View File

@ -2,7 +2,6 @@
<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>
@ -10,7 +9,6 @@
<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" />
@ -20,12 +18,16 @@
<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 servicelist="ninegate">wssninegate</service>
<service_access service='ninegate_websocket'>
<port port_type="SymLinkOption">ninegate_websocket_portexterne</port>
</service_access>
</container>
</containers>
<variables>
<family name='Ninegate' icon='home'>
<family name='Ninegate'>
<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'/>
@ -37,7 +39,6 @@
<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>
@ -64,7 +65,6 @@
<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,6 +78,8 @@
<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>
@ -88,7 +90,6 @@
<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>
@ -196,13 +197,6 @@
<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>
@ -219,6 +213,7 @@
<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'>
@ -379,6 +374,19 @@
<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'>
@ -390,9 +398,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'/>
@ -408,7 +416,6 @@
<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>
@ -436,9 +443,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_activate_websocket">Paramètres associés au Serveur WEBSOCKET</separator>
<separator name="ninegate_websocket_url">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 EoleDB associés à Ninegate</separator>
<separator name="ninegate_db_mode">Paramètres associés à la Base de Données</separator>
</separators>
</variables>
@ -448,11 +455,6 @@
<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>
@ -464,8 +466,7 @@
<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>
@ -529,7 +530,6 @@
<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,15 +565,7 @@
<target type='variable'>ninegate_ssosynchrogroup</target>
<target type='variable'>ninegate_ssoreqgroup</target>
<target type='variable'>ninegate_ssosynchroitem</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>
<target type='variable'>ninegate_ssoreqitem</target>
</condition>
<condition name='hidden_if_in' source='ninegate_syncldap'>
@ -725,7 +717,6 @@
<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>
@ -775,7 +766,6 @@
<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>
@ -794,12 +784,30 @@
<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>
@ -824,7 +832,7 @@
<!-- AFFICHAGE EN FONCTION DU WIDGET BALADO -->
<!-- AFFICHAGE EN FONCTION DU WIDGET BALADAO -->
<fill name='calc_multi_condition' target='ninegate_activate_widbalado'>
<param>oui</param>
<param type='eole' name='condition_1' hidden='False'>activer_balado</param>
@ -855,39 +863,6 @@
</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>
@ -943,6 +918,18 @@
<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'>
@ -1664,10 +1651,6 @@
<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>

View File

@ -2,7 +2,6 @@
/app/config/parameters.yml
/app/config/template.yml
/src/Cadoles/CoreBundle/Command/data/core-init-01.sql
/src/Cadoles/CoreBundle/Command/LocalCommand.php
/build/
/phpunit.xml
/var/*

View File

@ -127,16 +127,16 @@ gos_web_socket:
firewall: main
shared_config: true
server:
port: 443 #The port the socket server will listen on
host: %weburl%/wssninegate #The host ip to bind to
port: %websocket_port% #The port the socket server will listen on
host: %websocket_host% #The host ip to bind to
router:
resources:
- "@CadolesWebsocketBundle/Resources/config/topic.yml"
pushers:
wamp:
host: 0.0.0.0
port: 5556
host: %websocket_host%
port: %websocket_portinterne%
# ckeditor configuration
ivory_ck_editor:
@ -147,7 +147,7 @@ ivory_ck_editor:
language: fr
toolbar: "my_toolbar_1"
uiColor: "#ffffff"
extraPlugins: ["html5video"]
extraPlugins: ["html5video","pastebase64"]
light_config:
language: fr
toolbar: "my_toolbar_2"

View File

@ -1,46 +0,0 @@
<?php
namespace Cadoles\CoreBundle\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Finder\Finder;
use Symfony\Component\Filesystem\Filesystem;
class LocalCommand extends Command
{
private $container;
private $em;
private $output;
private $filesystem;
private $rootlog;
protected function configure()
{
$this
->setName('Core:Local')
->setDescription('Lauch Local Script')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$this->container = $this->getApplication()->getKernel()->getContainer();
$this->em = $this->container->get('doctrine')->getEntityManager();
$this->output = $output;
$this->filesystem = new Filesystem();
$this->rootlog = $this->container->get('kernel')->getRootDir()."/../var/logs/";
return 1;
}
private function writelnred($string) {
$this->output->writeln('<fg=red>'.$string.'</>');
$this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n");
}
private function writeln($string) {
$this->output->writeln($string);
$this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n");
}
}

View File

@ -49,11 +49,6 @@ rm -f /var/www/html/ninegate/var/logs/dev.log
# Copie des polices du projet dans le rep web
cp -rf src/Cadoles/CoreBundle/Resources/public/fonts web/
# Copie de la commande local de base si elle la commande n'existe pas
if [ ! -f src/Cadoles/CoreBundle/Command/LocalCommand.php ]; then
cp -rf scripts/LocalCommand.php src/Cadoles/CoreBundle/Command/LocalCommand.php
fi
# Nettoyage du cache
echo
echo CACHE = Refresh
@ -71,9 +66,6 @@ php bin/console Portal:InitData --env=prod
# Passage des scripts
php bin/console Core:Script --env=prod
# Passage des scripts locaux
php bin/console Core:Local --env=prod
# Generation des assets
echo ASSET = Dump
bin/console assetic:dump --env=prod --quiet

View File

@ -1,9 +1,11 @@
#!/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 5556)"
pid="$(pgrep -a -f gos:websocket | grep $websocket_portinterne)"
if [ -n "${pid}" ]; then
IFS=' ' read -r -a array <<< "$pid"
kill -9 ${array[0]};
@ -11,7 +13,7 @@ if [[ "$1" != "restartifdown" ]]; then
fi
# Port LISTEN ?
pid="$(pgrep -a -f gos:websocket | grep 5556)"
pid="$(pgrep -a -f gos:websocket | grep $websocket_portinterne)"
restart="yes"
if [ "$1" == "restartifdown" ] && [ -n "${pid}" ] ; then
restart="no"
@ -20,5 +22,5 @@ fi
if [ "$restart" == "yes" ] && [ "$1" != "stop" ] ; then
echo WEBSOCKET = START
cd /var/www/html/ninegate
systemctl restart wssninegate
bin/console gos:websocket:server --port $websocket_portinterne -a $websocket_url --no-debug -n -q --env=prod & disown
fi

View File

@ -30,10 +30,7 @@ class SecurityController extends Controller
// Init Client CAS
\phpCAS::setDebug("/var/log/phpcas/phpCAS-ninegate.log");
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::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
\phpCAS::setNoCasServerValidation();
@ -78,37 +75,19 @@ 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
// On tente une synchronisation via methode SSO
$masteridentity="SSO";
// throw $this->createNotFoundException('Permission denied. Need to synchronize LDAP ? Contact your administrator');
throw $this->createNotFoundException('Permission denied. Need to synchronize LDAP ? Contact your administrator');
}
if($masteridentity=="SSO") {
if(empty($email)) $email = $username."@nomail.com";
// On s'assure qu'il n'y a pas déjà un utilisateur avec le même mail
$usermail = $em->getRepository('CadolesCoreBundle:User')->findOneBy(array("email"=>$email));
if($usermail) {
return $this->render('CadolesCoreBundle:Registration:info.html.twig', [
'useheader' => true,
'usemenu' => false,
'usesidebar' => false,
'infotitle' => "Première connexion",
'info' => "Votre compte ne peut être activé car votre adresse mel est déjà utilisée par un autre compte utilisateur.<br>Nous sommes désolés du désagrément et vous invitons à contacter un administrateur.",
'mode' => "error",
'redirectto' => "",
]);
}
// Là c'est normal que potentiellement il n'existe pas il faut donc l'autogénérer
$user = new User();
// On calcule le niveau01 de l'utilisateur
$niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->calculateNiveau01($attributes);
if(!$niveau01) {
$niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->findAll()[0];
//throw $this->createNotFoundException('Permission denied. No Organisation Niveau 01 match');
}
if(!$niveau01)
throw $this->createNotFoundException('Permission denied. No Organisation Niveau 01 match');
$user->setUsername($username);
$user->setEmail($email);
@ -125,7 +104,6 @@ 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")))
@ -216,10 +194,7 @@ class SecurityController extends Controller
public function logoutAction() {
// Init Client CAS
\phpCAS::setDebug(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'), 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::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), true);
\phpCAS::setNoCasServerValidation();
@ -233,10 +208,7 @@ class SecurityController extends Controller
// Init Client CAS
\phpCAS::setDebug("/var/log/phpcas/phpCAS-ninegate.log");
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::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), false);
\phpCAS::setNoCasServerValidation();
@ -322,29 +294,4 @@ 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;
}
}

View File

@ -10,7 +10,3 @@ cas_sp.test:
path: /test
defaults: { _controller: CadolesCASBundle:Security:test }
cas_sp.imapunread:
path: /imapunread
defaults: { _controller: CadolesCASBundle:Security:imapunread }

View File

@ -138,7 +138,6 @@ class InitDataCommand extends ContainerAwareCommand
$usergroup->setUser($user);
$usergroup->setGroup($group);
$usergroup->setKeyvalue($key);
$usergroup->setRolegroup(0);
$em->persist($usergroup);
$em->flush();
$em->clear();
@ -228,17 +227,9 @@ 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);

View File

@ -287,7 +287,7 @@ class OnlyCommand extends Command
$this->em->flush();
// On ajoute le propriétaire en tant que membre du groupe
$this->addMember($group,$user,100);
$this->addMember($group,$user,true);
// On controle que le groupe a bien page / calendrier / blog / project
$this->ctrlFgcanshare($group,$user,$pagetemplate);
@ -318,7 +318,7 @@ class OnlyCommand extends Command
// On s'assure qu'il n'es pas déjà rattaché
$usergroup=$this->em->getRepository("CadolesCoreBundle:UserGroup")->findOneBy(["user"=>$user,"group"=>$group]);
if(!$usergroup) {
$this->addMember($group,$user,0);
$this->addMember($group,$user,false);
}
}
}
@ -578,12 +578,12 @@ class OnlyCommand extends Command
}
private function addMember($group,$user,$role) {
private function addMember($group,$user,$fgmanager) {
$key = Uuid::uuid4();
$usergroup=new UserGroup();
$usergroup=new Usergroup;
$usergroup->setUser($user);
$usergroup->setGroup($group);
$usergroup->setRolegroup($role);
$usergroup->setFgmanager($fgmanager);
$usergroup->setKeyvalue($key);
$this->em->persist($usergroup);
$this->em->flush();

View File

@ -380,46 +380,6 @@ 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);

View File

@ -239,7 +239,6 @@ class ScribeToNinegateCommand extends Command
$member= new UserGroup();
$member->setGroup($group);
$member->setUser($user);
$member->setRolegroup(0);
$this->em->persist($member);
$this->em->flush();

View File

@ -49,7 +49,7 @@ class ScriptCommand extends Command
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"visibletrue"]);
if(!$script) {
$this->writeln("== SCRIPT = visibletrue");
$this->writelnred("== 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->writeln("== SCRIPT = setusersniveau");
$this->writelnred("== 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->writeln("== SCRIPT = setfgcancreateproject");
$this->writelnred("== 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->writeln("== SCRIPT = createproject");
$this->writelnred("== 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->writeln("== SCRIPT = createthumbmini");
$this->writelnred("== 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->writeln("== SCRIPT = createwidgetproject");
$this->writelnred("== 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->writeln("== SCRIPT = renamegroup");
$this->writelnred("== SCRIPT = renamegroup");
$this->renamegroup();
$script=new Script();
@ -132,68 +132,6 @@ class ScriptCommand extends Command
}
$script=$this->em->getRepository("CadolesCoreBundle:Script")->findOneBy(["name"=>"rolegroup"]);
if(!$script) {
$this->writeln("== SCRIPT = rolegroup");
$this->rolegroup();
$script=new Script();
$script->setName("rolegroup");
$this->em->persist($script);
$this->em->flush();
$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;
}
@ -351,116 +289,11 @@ class ScriptCommand extends Command
}
}
private function rolegroup(){
$usergroups = $this->em->getRepository('CadolesCoreBundle:UserGroup')->findAll();
foreach($usergroups as $usergroup) {
if(!$usergroup->getRolegroup()) {
$role=0;
if($usergroup->getFgmanager()) {
$role=50;
if($usergroup->getUser()==$usergroup->getGroup()->getOwner()) $role=100;
}
$usergroup->setRolegroup($role);
$this->em->persist($usergroup);
$this->em->flush();
}
}
}
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 na pas pour but denvoyer 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();
}
}

View File

@ -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,false);
if(!$simulate) $this->addmodGroup($label,$ldapfilter,$scribe_group);
// Responsables
$ldapfilter="(&(uid=*)(ENTPersonProfils=responsable))";
@ -140,20 +140,7 @@ class SynchroCommand extends Command
$ldapfilter="(&(uid=*)(ENTPersonProfils=administratif))";
$label="PROFIL - Administratifs";
$this->writeln(" - $label");
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);
}
if(!$simulate) $this->addmodGroup($label,$ldapfilter,$scribe_group);
// Classes
$this->writeln('');
@ -168,32 +155,6 @@ 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 ==========================================');
@ -938,7 +899,6 @@ class SynchroCommand extends Command
$member= new UserGroup();
$member->setGroup($group);
$member->setUser($user);
$member->setRolegroup(0);
}
// Si modèle scribe
@ -947,7 +907,7 @@ class SynchroCommand extends Command
if($ldap_template=="scribe"&&$scribe_master) {
$ldapfilter="(|(&(uid=".$user->getUsername().")(ENTPersonProfils=enseignant))(&(uid=".$user->getUsername().")(typeadmin=0))(&(uid=".$user->getUsername().")(typeadmin=2)))";
$results = $this->ldap->search($ldapfilter, ['uid'], $this->ldap_basedn);
if($results) $member->setRolegroup(50);
if($results) $member->setFgmanager(true);
}
$this->em->persist($member);

View File

@ -326,9 +326,10 @@ 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 (caché uniquement pour le rôle Utilisateur) ";
if(!array_key_exists("group",$fields)) {
$fields["group"]["perm"]=1;
$fields["group"]["label"]="Groupes";
}
if(!array_key_exists("job",$fields)) {
$fields["job"]["perm"]=1;
$fields["job"]["label"]="Métier";
@ -345,8 +346,10 @@ 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 (caché uniquement pour les rôles Animateur et Utilisateur) ";
if(!array_key_exists("visitedate",$fields)) {
$fields["visitedate"]["perm"]=1;
$fields["visitedate"]["label"]="Visite";
}
if(!$session->get('viewniveau02'))
unset($fields["niveau02"]);

View File

@ -59,18 +59,17 @@ 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,
'id' => $id,
'notices' => $notices
]);
}
@ -86,8 +85,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;

View File

@ -300,9 +300,7 @@ class FileController extends Controller
$urlsource= $fulldirectory."/".$oldname;
$urldestination = $fulldirectory."/".$data["subdirectory"];
if($urlsource!=$urldestination) {
if($fs->exists($urldestination)) {
$form->addError(new FormError('Ce nom existe déjà'));
$this->get('session')->getFlashBag()->clear();
@ -327,7 +325,7 @@ class FileController extends Controller
if($fs->exists($urlsource))
$fs->rename($urlsource,$urldestination,true);
}
$toclose=true;
}
}
@ -526,15 +524,13 @@ 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";
$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');
$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);
@ -543,19 +539,8 @@ class FileController extends Controller
$fs = new Filesystem();
// Déplacer le fichier
$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);
$urlsource=$racine."/".$dirsource."/".$namesource;
$urldestination=$racine."/".$dirdestination."/".$namedestination;
if($fs->exists($urlsource)) {
if(is_dir($urlsource)) {
$fs->mirror($urlsource,$urldestination);
@ -735,9 +720,8 @@ class FileController extends Controller
// On s'assure que l'utilisateur à la permission de voir
$page=$widget->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate,$canadd);
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
return $canadd;
break;
case "projecttask":
@ -750,7 +734,6 @@ class FileController extends Controller
$user=$this->getUser();
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$project,$cansee,$canupdate,$canadd);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
return $canupdate;
break;
case "calendarevent":
@ -761,12 +744,13 @@ class FileController extends Controller
// On s'assure que l'utilisateur à la permission de voir
$calendar=$calendarevent->getCalendar();
$user=$this->getUser();
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($user,$calendar,$cansee,$canupdate,$canadd);
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($user,$calendar,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
return $canadd;
break;
}
}
else $canupdate=true;
return $canupdate;
}
}

View File

@ -178,19 +178,19 @@ class GroupController extends Controller
$action.="<a href='".$this->generateUrl('cadoles_core_'.$access.'_group_statistic', array('id'=>$data->getId()))."'><i class='fa fa-chart-area fa-fw fa-2x'></i></a>";
}
else {
$fgcanupdate=($user==$data->getOwner());
$fgcanmanage=false;
$fgproprio=($user==$data->getOwner());
$fgmanager=false;
$usergroup=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findOneBy(["user"=>$this->getUser(),"group"=>$data]);
if($usergroup) $fgcanmanage=($usergroup->getRolegroup()>=90);
if($usergroup) $fgmanager=$usergroup->getFgmanager();
// Modification possible uniquement si l'utilisateur est propriétaire du groupe
if($fgcanupdate) {
if($fgproprio) {
$action .="<a href='".$this->generateUrl('cadoles_core_'.$access.'_group_update', array('id'=>$data->getId()))."'><i class='fa fa-file fa-2x fa-fw'></i></a>";
$action .="<a href='".$this->generateUrl('cadoles_core_'.$access.'_group_delete', array('id'=>$data->getId()))."'><i class='fa fa-trash fa-2x fa-fw'></i></a>";
}
// Gestion des utilisateurs du groupe uniquement pour le proprio ou les managers
if($fgcanupdate||$fgcanmanage) {
if($fgproprio||$fgmanager) {
$action .="<a href='".$this->generateUrl('cadoles_core_'.$access.'_group_users', array('id'=>$data->getId()))."'><i class='fa fa-users fa-2x fa-fw'></i></a>";
}
else {
@ -370,10 +370,12 @@ class GroupController extends Controller
if($group->getLdapfilter()==""&&$group->getAttributes()=="")
$action.="<a style='cursor:pointer' onClick='addUsers(".$data->getId().")'><i class='fa fa-plus fa-fw'></i></a>";
$fgmanager="<input type='checkbox' class='switch' onChange='switchManager(".$data->getId().");'>";
// Avatar
$avatar="<img onClick='seeUser(".$data->getId().")' src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;cursor:pointer;'>";
array_push($output["data"],array("DT_RowId"=>"user".$data->getId(),$action,$avatar,$data->getUsername(),$data->getEmail(),"",""));
array_push($output["data"],array("DT_RowId"=>"user".$data->getId(),$action,$avatar,$data->getUsername(),$data->getEmail(),"",$fgmanager));
}
// Retour
@ -492,15 +494,7 @@ 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]);
@ -515,32 +509,22 @@ class GroupController extends Controller
$avatar="<img onClick='seeUser(".$data->getId().")' src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;cursor:pointer'>";
// Flag manager
$rolegroup="";
$fgmanager="";
if($fgcanshare) {
if($fgproprio) $rolegroup="Propriétaire du groupe";
elseif($user==$usergroup->getUser()) $rolegroup="Gestionnaire";
else {
$selectuser=($usergroup->getRolegroup()==0?"selected='selected'":"");
$selectwritter=($usergroup->getRolegroup()==50?"selected='selected'":"");
$selectmanager=($usergroup->getRolegroup()==90?"selected='selected'":"");
$rolegroup='<select id="roleuser-'.$data->getId().'" name="user[visible]" onChange="changeRole('.$data->getId().');"><option value="0" '.$selectuser.'>Utilisateur</option><option value="50" '.$selectwritter.'>Collaborateur</option><option value="90" '.$selectmanager.'>Gestionnaire</option></select>';
}
$checked=($usergroup->getFgmanager()?"checked":"");
$fgmanager="<input type='checkbox' class='switch' onChange='switchManager(".$data->getId().");' $checked>";
if($fgproprio) $fgmanager="Propriétaire du groupe";
}
// Visite
if($fgviewvisite) {
$visite="";
if($usergroup->getVisitedate()) {
$visite=$usergroup->getVisitedate()->format("d/m/Y H:i")."<br>nb = ".$usergroup->getVisitecpt();
}
$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"],$tmp);
array_push($output["data"],array("DT_RowId"=>"user".$data->getId(),$action,$avatar,$data->getUsername(),$data->getEmail(),$visite,$fgmanager));
}
// Retour
@ -573,12 +557,11 @@ class GroupController extends Controller
}
$key = Uuid::uuid4();
$usergroup=new UserGroup();
$usergroup=new Usergroup;
$user=$em->getRepository("CadolesCoreBundle:User")->find($userid);
$usergroup->setUser($user);
$usergroup->setGroup($group);
$usergroup->setKeyvalue($key);
$usergroup->setRolegroup(0);
$em->persist($usergroup);
$em->flush();
@ -588,7 +571,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()&&$this->get('session')->get('fgnotifgroup')) {
if($group->getFgcanshare()) {
$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>";
@ -642,7 +625,7 @@ class GroupController extends Controller
$em->flush();
// Notification mail auprès des managers
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
if($group->getFgcanshare()) {
$text=$user->getUsername()." a été désinscrit du groupe de travail : ".$group->getLabel();
$template="template";
$mail_params=array(
@ -650,11 +633,10 @@ class GroupController extends Controller
"body_html"=>nl2br($text),
"body_text"=>$text
);
$usergroups=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$groupid));
$managers=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$groupid,"fgmanager"=>true));
$to=array();
foreach($usergroups as $usergroup) {
if($usergroup->getRolegroup()>=90)
array_push($to,$usergroup->getUser()->getEmail());
foreach($managers as $manager) {
array_push($to,$manager->getUser()->getEmail());
}
$from = $this->getParameter('noreply');;
@ -688,7 +670,7 @@ class GroupController extends Controller
$em->flush();
// Notification mail auprès des managers
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
if($group->getFgcanshare()) {
$text=$user->getUsername()." a été désinscrit du groupe de travail : ".$group->getLabel();
$template="template";
$mail_params=array(
@ -696,11 +678,10 @@ class GroupController extends Controller
"body_html"=>nl2br($text),
"body_text"=>$text
);
$usergroups=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$group));
$managers=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$group,"fgmanager"=>true));
$to=array();
foreach($usergroups as $usergroup) {
if($usergroup->getRolegroup()>=90)
array_push($to,$usergroup->getUser()->getEmail());
foreach($managers as $manager) {
array_push($to,$manager->getUser()->getEmail());
}
$from = $this->getParameter('noreply');;
@ -714,7 +695,7 @@ class GroupController extends Controller
return $this->redirect($this->generateUrl("cadoles_core_user_group"));
}
public function changeroleAction(Request $request,$access="config")
public function switchmanagerAction(Request $request,$access="config")
{
// S'assurer que c'est un appel ajax
if (!$request->isXmlHttpRequest()) {
@ -726,13 +707,12 @@ class GroupController extends Controller
$output=array();
$userid=$request->request->get('user');
$groupid=$request->request->get('group');
$role=$request->request->get('role');
$group=$em->getRepository("CadolesCoreBundle:Group")->find($groupid);
$this->canManager($group,$access);
$data = $em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(array("user"=>$userid,"group"=>$groupid));
if($data) $data->setRolegroup($role);
if($data) $data->setFgmanager(!$data->getFgmanager());
$em->persist($data);
$em->flush();
@ -888,7 +868,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&&$this->get('session')->get('fgnotifgroup')) {
if($data->getOwner()&&$data->getOwner()!=$oldowner) {
// 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";
@ -1031,14 +1011,6 @@ 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,
@ -1047,7 +1019,6 @@ class GroupController extends Controller
'access' => $access,
$this->labeldata => $data,
'idreturn' => $idreturn,
'fgviewvisite' => $fgviewvisite,
]);
}
@ -1270,8 +1241,8 @@ class GroupController extends Controller
protected function canManager($group,$access) {
if($access!="config") {
$em = $this->getDoctrine()->getManager();
$user=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()]);
if(!$user||$user->getRolegroup()<90)
$ismanager=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser(),"fgmanager"=>true]);
if(!$ismanager)
throw $this->createNotFoundException('Permission denied');
}
}
@ -1287,27 +1258,19 @@ class GroupController extends Controller
protected function ctrlOwner($group) {
$em = $this->getDoctrine()->getManager();
// Le propriétaire passe manager
$usergroups=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(["group"=>$group,"rolegroup"=>"100"]);
foreach($usergroups as $usergroup) {
$usergroup->setRolegroup(90);
$em->persist($usergroup);
$em->flush();
}
// Le propriétaire prend son role dans le groupe
if($group->getOwner()) {
$usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$group->getOwner()]);
if(!$usergroup) {
$key = Uuid::uuid4();
$usergroup=new UserGroup();
$usergroup=new Usergroup;
$usergroup->setUser($group->getOwner());
$usergroup->setGroup($group);
$usergroup->setKeyvalue($key);
}
$usergroup->setRolegroup(100);
$usergroup->setFgmanager(true);
$em->persist($usergroup);
$em->flush();
}
}

View File

@ -331,15 +331,8 @@ 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);

View File

@ -212,7 +212,7 @@ class RegistrationController extends Controller
// Sur erreur
$this->getErrorForm(null,$form,$request,$data,"submit",$idstatut);
// Sur validation
// Sur validation(z)
if ($form->get('submit')->isClicked() && $form->isValid()) {
$data = $form->getData();
@ -342,8 +342,6 @@ class RegistrationController extends Controller
// A voir retour sur un écran d'info indiquant si validation par admion ou s'il doit matter ses email
$this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', "info");
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info');
}
else {
@ -362,16 +360,12 @@ class RegistrationController extends Controller
{
$info = $this->get('session')->get('registrationinfo');
$mode = $this->get('session')->get('registrationmode');
$redirectto = $this->get('session')->get('registrationredirectto');
return $this->render($this->labelentity.':info.html.twig', [
'useheader' => true,
'usemenu' => false,
'usesidebar' => false,
'info' => $info,
'mode' => $mode,
'redirectto' => $redirectto,
'mode' => $mode
]);
}
@ -473,7 +467,6 @@ class RegistrationController extends Controller
{
$moderegistration = $this->getParameter('moderegistration');
$masteridentity = $this->getParameter('masteridentity');
if($moderegistration=="none"||$masteridentity!="SQL")
throw $this->createNotFoundException('Permission denied');
@ -495,8 +488,7 @@ class RegistrationController extends Controller
$mode="danger";
$this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
$this->get('session')->set('registrationmode', $mode);
}
else {
$url=$this->getUrlLogin();
@ -547,24 +539,16 @@ class RegistrationController extends Controller
// Si invitation à un groupe : on le rattache directement à ce groupe
$groupid=$data[0]->getGroupid();
$userid=$user->getId();
if($groupid) {
$group=$em->getRepository("CadolesCoreBundle:Group")->find($groupid);
if($group) {
$idpage =$group->getPages()->first()->getId();
$url = $this->generateUrl('cadoles_core_redirect', ["route"=>"cadoles_core_home","id"=>$idpage], UrlGeneratorInterface::ABSOLUTE_URL);
$info="<p>Votre compte est à présent activé</p><p>Vous allez être redirigé vers la mire de connexion puis vers votre groupe de travail</p><p><a href='".$url."'>Connexion</a>";
$this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationredirectto', $url);
$key = Uuid::uuid4();
$usergroup=new UserGroup();
$usergroup=new Usergroup;
$user=$em->getRepository("CadolesCoreBundle:User")->find($userid);
$usergroup->setUser($user);
$usergroup->setGroup($group);
$usergroup->setKeyvalue($key);
$usergroup->setRolegroup(0);
$em->persist($usergroup);
$em->flush();
@ -703,7 +687,6 @@ class RegistrationController extends Controller
$mode="info";
$this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info');
}
@ -740,7 +723,6 @@ class RegistrationController extends Controller
$mode="danger";
$this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info');
}
else {
@ -800,7 +782,6 @@ class RegistrationController extends Controller
$mode="success";
$this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info');
}

View File

@ -46,7 +46,6 @@ 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)

View File

@ -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
@ -419,7 +419,6 @@ class UserController extends Controller
$datagroup = $group;
$usergroup->setGroup($datagroup);
$usergroup->setKeyvalue($key);
$usergroup->setRolegroup(0);
$em->persist($usergroup);
$em->flush();
}
@ -429,7 +428,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()&&$this->get('session')->get('fgnotifgroup')) {
if($group->getFgcanshare()) {
$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,7 +488,6 @@ 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();
@ -571,7 +569,6 @@ class UserController extends Controller
$datagroup = $group;
$usergroup->setGroup($datagroup);
$usergroup->setKeyvalue($key);
$usergroup->setRolegroup(0);
$em->persist($usergroup);
$em->flush();
}
@ -581,7 +578,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()&&$this->get('session')->get('fgnotifgroup')) {
if($group->getFgcanshare()) {
$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>";
@ -624,7 +621,7 @@ class UserController extends Controller
$em->flush();
// Notification mail auprès des managers
if($group->getFgcanshare()&&$this->get('session')->get('fgnotifgroup')) {
if($group->getFgcanshare()) {
$text=$data->getUsername()." a été désinscrit du groupe de travail : ".$group->getLabel();
$template="template";
$mail_params=array(
@ -632,14 +629,12 @@ class UserController extends Controller
"body_html"=>nl2br($text),
"body_text"=>$text
);
$usergroups=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$group));
$managers=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$group,"fgmanager"=>true));
$to=array();
foreach($usergroups as $usergroup) {
if($usergroup->getRolegroup()>=90)
array_push($to,$usergroup->getUser()->getEmail());
foreach($managers as $manager) {
array_push($to,$manager->getUser()->getEmail());
}
$from = $this->getParameter('noreply');;
$fromName = $this->get('session')->get('appname');
$message = $this->container->get('cadoles.core.service.mail');
@ -842,15 +837,12 @@ 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,
'fields' => $fields,
"user" => $user
]);
}
@ -1259,7 +1251,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();
@ -1294,7 +1286,7 @@ class UserController extends Controller
$toupdate=true;
$preference[$key][$id]=$value;
}
if($preference[$key][$id]!=$value) {
if($value&&$preference[$key][$id]!=$value) {
$toupdate=true;
$preference[$key][$id]=$value;
}
@ -1456,76 +1448,7 @@ 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;
}

View File

@ -27,10 +27,10 @@ class Registration implements UserInterface, \Serializable
private $id;
/**
* @ORM\Column(type="string", length=128, unique=true)
* @ORM\Column(type="string", length=25, unique=true)
* @Assert\Length(
* min = "5",
* max = "128",
* max = "25",
* 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=128, unique=true)
* @ORM\Column(type="string", length=60, unique=true)
*/
private $email;

View File

@ -30,10 +30,10 @@ class User implements UserInterface, \Serializable
private $id;
/**
* @ORM\Column(type="string", length=128, unique=true)
* @ORM\Column(type="string", length=50, unique=true)
* @Assert\Length(
* min = "5",
* max = "128",
* max = "25",
* 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=128, unique=true)
* @ORM\Column(type="string", length=60, unique=true)
*/
private $email;

View File

@ -37,15 +37,9 @@ class UserGroup
/**
* @ORM\Column(type="boolean", options={"default" : false})
* CE CHAMP N'EST PLUS UTILSE
*/
private $fgmanager = false;
/**
* @ORM\Column(type="integer", length=60, nullable=true)
*/
private $rolegroup;
/**
* @ORM\Column(type="string", length=60, nullable=true)
*/
@ -214,28 +208,4 @@ class UserGroup
{
return $this->visitecpt;
}
/**
* Set rolegroup
*
* @param integer $rolegroup
*
* @return UserGroup
*/
public function setRolegroup($rolegroup)
{
$this->rolegroup = $rolegroup;
return $this;
}
/**
* Get rolegroup
*
* @return integer
*/
public function getRolegroup()
{
return $this->rolegroup;
}
}

View File

@ -13,15 +13,12 @@
class sessionListener {
protected $container;
protected $em;
protected $token_storage;
protected $session;
public function __construct($container, EntityManager $em, TokenStorageInterface $token_storage,Session $session)
public function __construct($container, EntityManager $em, TokenStorageInterface $token_storage)
{
$this->container = $container;
$this->em = $em;
$this->token_storage = $token_storage;
$this->session = $session;
}
public function haveRole($curentuser,$roles,$tohave,$route) {
@ -47,7 +44,9 @@
}
public function onDomainParse(Event $event) {
$session = $this->session;
$session = new Session();
$configs = $this->em->getRepository("CadolesCoreBundle:Config")->findAll();
foreach($configs as $config) {
@ -94,7 +93,6 @@
$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');

View File

@ -181,7 +181,6 @@ class syncUser implements EventSubscriber
$data->setUser($user);
$data->setGroup($fgall[0]);
$data->setKeyvalue($key);
$data->setRolegroup(0);
$this->em->persist($data);
$this->em->flush();
}

View File

@ -52,7 +52,7 @@ class MailType extends AbstractType
'mapped'=> false,
'required' => false,
'attr' => array("class" => "form-control", "style" => "margin-bottom:15px"),
'config' => ["height" => "150px"]
'config' => ["height" => "150px",'filebrowserUploadRoute' => 'cadoles_portal_user_pagewidget_upload']
]);
}

View File

@ -99,7 +99,7 @@ class MailingType extends AbstractType
'mapped'=> false,
'required' => true,
'attr' => array("class" => "form-control", "style" => "margin-bottom:15px"),
'config' => ["height" => "400px"]
'config' => ["height" => "400px",'filebrowserUploadRoute' => 'cadoles_portal_user_pagewidget_upload']
]);
}

View File

@ -110,8 +110,7 @@ class RegistrationType extends AbstractType
"type" => PasswordType::class,
"required" => ($options["mode"]=="submit"?true:false),
"first_options" => array("label" => "Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px", "autocomplete" => "new-password")),
"second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"invalid_message" => "Mot de passe non valide"
"second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px"))
)
);

View File

@ -45,8 +45,7 @@ class ResetpwdType extends AbstractType
"required" => ($options["mode"]=="submit"?true:false),
"options" => array("always_empty" => true),
"first_options" => array("label" => "Votre nouveau Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"second_options" => array('label' => 'Confirmer votre nouveau Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"invalid_message" => "Mot de passe non valide"
"second_options" => array('label' => 'Confirmer votre nouveau Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px"))
)
);
}

View File

@ -141,8 +141,7 @@ class UserType extends AbstractType
"required" => ($options["mode"]=="submit"?true:false),
"options" => array("always_empty" => true),
"first_options" => array("label" => "Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px", "autocomplete" => "new-password")),
"second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"invalid_message" => "Mot de passe non valide"
"second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px"))
)
);
}

View File

@ -63,7 +63,6 @@ class GroupRepository extends \Doctrine\ORM\EntityRepository
$usergroup->setUser($user);
$usergroup->setGroup($retgroup);
$usergroup->setKeyvalue($key);
$usergroup->setRolegroup(0);
$this->_em->persist($usergroup);
$this->_em->flush();

View File

@ -494,9 +494,9 @@ cadoles_core_config_group_ajax_usergroup_del:
path: /config/group/ajax/usergroupdel
defaults: { _controller: CadolesCoreBundle:Group:usergroupdel, access: config }
cadoles_core_config_group_ajax_changerole:
path: /config/group/ajax/changerole
defaults: { _controller: CadolesCoreBundle:Group:changerole, access: config }
cadoles_core_config_group_ajax_switchmanager:
path: /config/group/ajax/switchmanager
defaults: { _controller: CadolesCoreBundle:Group:switchmanager, access: config }
cadoles_core_config_group_export:
path: /config/group/export
@ -559,9 +559,9 @@ cadoles_core_user_group_ajax_usergroup_del:
path: /user/group/ajax/usergroupdel
defaults: { _controller: CadolesCoreBundle:Group:usergroupdel, access: user }
cadoles_core_user_group_ajax_changerole:
path: /user/group/ajax/changerole
defaults: { _controller: CadolesCoreBundle:Group:changerole, access: user }
cadoles_core_user_group_ajax_switchmanager:
path: /user/group/ajax/switchmanager
defaults: { _controller: CadolesCoreBundle:Group:switchmanager, access: user }
cadoles_core_user_group_usergroup_export:
path: /user/group/users/export/{id}

View File

@ -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","@session"]
arguments: ['@service_container','@doctrine.orm.entity_manager',"@security.token_storage"]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onDomainParse }

View File

@ -60,17 +60,6 @@ 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 }
@ -121,25 +110,6 @@ 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;
@ -367,12 +337,12 @@ span.item-drag {
.grid-item .item-link img {
display: block;
margin: 10px;
height: 105px;
max-width: 100%;
//max-height: 110px;
height: auto;
}
.grid-item .grid-item-title {
display: inline-block;
vertical-align: top;
@ -765,11 +735,6 @@ 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

View File

@ -49,12 +49,6 @@
.header.reduit .avatar {height: 25px; }
.header.reduit #navbar-nameuser
{
top: 14px;
right: 210px;
}
/* ===================== FIN MODE REDUIT ==========================*/
/* fix defaut d'affichage sur toogle switch */
@ -63,11 +57,7 @@ body {
background: linear-gradient(180deg, var(--main), white,50%);
}
#navbar-nameuser a {
color: var(--main, #004d9a) !important;
}
body.eleves, body.grp-National_1, body.grp-eleves {
body.eleves, body.grp-National_1 {
--colorbody: #ffffff;
--main: #169b62;
--mainR: 22;
@ -87,7 +77,7 @@ body.eleves, body.grp-National_1, body.grp-eleves {
/* responsables #MAUVE #7D4E5B
*/
body.responsables, body.grp-National_2,body.grp-responsables {
body.responsables, body.grp-National_2 {
--colorbody: #ffffff;
--main: #7d4e5b;
--mainR: 125;
@ -106,7 +96,7 @@ body.responsables, body.grp-National_2,body.grp-responsables {
/* professeurs, enseignants1d #BLEU1 #5770BE */
body.professeurs, body.enseignants1d, body.grp-National_3, body.grp-professeurs {
body.professeurs, body.enseignants1d, body.grp-National_3 {
--colorbody: #ffffff;
--main: #5770be;
--mainR: 87;
@ -124,7 +114,7 @@ body.professeurs, body.enseignants1d, body.grp-National_3, body.grp-professeurs
}
/* administratifs, admin #ORANGE #FF6F4C */
body.administratifs, body.admin, body.grp-National_4 , body.grp-National_5, body.grp-National_6 , body.grp-administratifs, {
body.administratifs, body.admin, body.grp-National_4 , body.grp-National_5, body.grp-National_6 {
--colorbody: #ffffff;
--main: #ff6f4c;
--mainR: 255;
@ -288,9 +278,7 @@ div.header > a.title > span {
}
.nav.navbar-top-links.navbar-right > li a:hover {
color: var(--fontcolorhover, white) !important;
background: var(--light, black) !important;
border-radius: 5px;
padding-top: 1px;
background: var(--fontcolorhoverdark, black) !important;
}
/*

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -1,26 +0,0 @@
{% 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.

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@ -1,3 +0,0 @@
name: White
author: Arnaud Fornerot
version: 1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

View File

@ -1,25 +0,0 @@
.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;
}

View File

@ -4,8 +4,6 @@
<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

View File

@ -2,7 +2,7 @@
{% block pagewrapper %}
{{ form_start(form) }}
<h1 class="page-header">Modification Configuration Générale = {{config.id}}</h1>
<h1 class="page-header">Modification Configuration Générale</h1>
{{ form_widget(form.submit) }} <a class="btn btn-default" href={{ path('cadoles_core_config_commun') }}>Annuler</a>

View File

@ -175,7 +175,7 @@
</a>
{% else %}
<a style="cursor:pointer;" data-toggle="modal" data-target="#mymodal" onClick="ModalLoad('mymodal','Modification Répertoire','{{ path('cadoles_core_'~access~'_file_rename',{'id': directory,'subdirectory':subdirectory,'oldname':dir.name}) }}');" class="item-update">
<i class="fa fa-file" title="Renommer le dossier"></i>
<i class="fa fa-file" title="Modifier le dossier"></i>
</a>
<a style="cursor:pointer;" onClick="trashFile('{{ directory }}','{{subdirectory}}','{{dir.name|e('js')|raw }}')" class="item-delete">
@ -218,7 +218,7 @@
</a>
{% else %}
<a style="cursor:pointer;" data-toggle="modal" data-target="#mymodal" onClick="ModalLoad('mymodal','Modification Fichier','{{ path('cadoles_core_'~access~'_file_rename',{'id': directory,'subdirectory':subdirectory,'oldname':file.name}) }}');" class="item-update">
<i class="fa fa-file" title="Renommer le fichier"></i>
<i class="fa fa-file" title="Modifier le fichier"></i>
</a>
<a style="cursor:pointer;" onClick="trashFile('{{ directory }}','{{subdirectory}}','{{file.name|e('js')|raw }}')" class="item-delete">
@ -291,7 +291,6 @@
});
{% if canupdate and not fgtrash %}
$('.file').on('dragstart', function (s) {
dirsource=$(this).data("dir");
namesource=$(this).data("name");
@ -314,17 +313,11 @@
dirdestination=$(this).data("dir")+"/"+$(this).data("name");
namedestination=namesource;
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;
if(dirdestination+"/"+namedestination==dirsource+"/"+namesource) return false;
console.log(dirsource+"/"+namesource);
console.log(dirdestination+"/"+namedestination);
// On déplace l'element
$.ajax({
method: "POST",
@ -343,9 +336,11 @@
}
});
return false;
});
{% endif %}
});
@ -371,7 +366,6 @@
}
}
{% 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.");
@ -428,7 +422,6 @@
});
}
}
{% endif %}
// Affichage des frames associés aux items de bureau

View File

@ -46,8 +46,7 @@
$('document').ready(function(){
{% if toclose %}
href=parent.location.href;
parent.location.href=href;
parent.location.reload();
{% endif %}
$("#form_subdirectory").focus();

View File

@ -4,11 +4,11 @@
{{ form_start(form) }}
<h1 class="page-header">
{% if mode=="update" %}
Modification Groupe = {{ group.label }}
Modification Groupe
{% elseif mode=="submit" %}
Création Groupe
{% elseif mode=="delete" %}
Suppression Groupe = {{ group.label }}
Suppression Groupe
{% endif %}
</h1>

View File

@ -9,15 +9,10 @@
<a class="btn btn-default" href={{ path('cadoles_core_home',{'id':idreturn}) }}>Fermer</a>
{% endif %}
{% if moderegistration!="none" and masteridentity=="SQL" and group.fgcanshare %}
{% if moderegistration!="none" and masteridentity=="SQL"%}
<a class="btn btn-primary" style="cursor:pointer" onClick="showMail();">Inviter des personnes non listées ci-dessous</a>
<a class="btn btn-primary" style="cursor:pointer" onClick="showInvitations();">Suivi des Invitations</a>
{%endif%}
{% if group.fgcanshare %}
<button class="btn btn-default pull-right" style="margin-left:10px" data-toggle="modal" data-target="#modalperm">Matrice des permissions</button>
{%endif%}
<a class="btn btn-default pull-right" href={{ path('cadoles_core_'~access~'_group_usergroup_export',{'id':group.id}) }}>Exporter CSV</a>
<br><br>
@ -36,11 +31,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>
<th class="no-sort no-visible">Manager</th>
{% endif %}
</tr>
</thead>
@ -65,11 +58,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>
<th class="no-sort">Manager</th>
{% endif %}
</tr>
</thead>
@ -79,333 +70,6 @@
</div>
</div>
<div id="modalperm" class="modal fade bs-item-modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">MATRICE DES PERMISSIONS</h4>
</div>
<div class="modal-body">
<div class="dataTable_wrapper">
<table class="table table-striped table-bordered table-hover" id="dataTablesnotin" style="width:100%; text-align:center; zoom:80%">
<thead>
<tr>
<th>Permissions</th>
<th style="text-align:center">Propriétaire<br>***</th>
<th style="text-align:center">Gestionnaire<br>**</th>
<th style="text-align:center">Collaborateur<br>*</th>
<th style="text-align:center">Utilisateur<br>&nbsp;</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" style="font-weight: bold;">GROUPE</td>
</tr>
<tr>
<td style="text-align:left;">Modifier le groupe</td>
<td>x</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Supprimer le groupe</td>
<td>x</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Changer le propriétaire du groupe</td>
<td>x</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Affecter des utilisateurs au groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Désaffecter des utilisateurs au groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Inviter des utilisateurs dans le groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Visualiser les statistiques du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Sinscrire par soi-même sur les groupes ouverts</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Se désinscrire par soi-même </td>
<td></td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td colspan="5" style="font-weight: bold;">PAGE</td>
</tr>
<tr>
<td style="text-align:left;">Créer / Modifier / Supprimer / Partager des Pages sur le groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Placer en favoris une page du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td colspan="5" style="font-weight: bold;">WIDGET</td>
</tr>
<tr>
<td style="text-align:left;">Widget Favoris = Ajouter / Modifier / Supprimer Lien</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Widget Fichier = Ajouter / Modifier / Supprimer Fichiers</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Widget Lien = Modifier Lien</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Widget Editeur = Modifier Texte</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Widget Carrousel = Créer / Modifier / Supprimer Image</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Widget Gallerie Images = Créer / Modifier / Supprimer Image</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Widget Chat = Ajouter commentaires</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Widget Chat = Modifier / Supprimer Commentaires des membres du groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Widget Chat = Masquer Commentaires des membres du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td colspan="5" style="font-weight: bold;">BLOG</td>
</tr>
<tr>
<td style="text-align:left;">Créer / Modifier / Supprimer / Partager un blog sur le groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Créer des articles sur les blogs du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer ses articles sur les blogs du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer des articles de blog des autres membres du groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Ajouter des commentaires sur les articles du blog</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer ses propres commentaires</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer les commentaires des autres membre du groupe de ses articles</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer les commentaires des autres membre du groupe sur l'ensemble du blog</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="5" style="font-weight: bold;">PROJET</td>
</tr>
<tr>
<td style="text-align:left;">Créer / Modifier / Supprimer / Partager des projets sur le groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Créer des taches sur les projets du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer ses propres tâches</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Affecter des tâches aux autres membres du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer des Tâches à des autres membres du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Ajouter des commentaires sur les tâches</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer ses propres commentaires de tâches</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer les commentaires des autres membre du groupe de ses taches</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Modifier / Supprimer les commentaires des taches sur l'ensemble du projet</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="5" style="font-weight: bold;">CALENDRIER</td>
</tr>
<tr>
<td style="text-align:left;">Créer / Modifier / Supprimer / Partager un calendrier sur le groupe</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Créer des évènements sur les calendriers du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td style="text-align:left;">Créer / Modifier / Supprimer / Partager des évènements sur les calendriers du groupe</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block localjavascript %}
@ -488,17 +152,15 @@
});
}
function changeRole(id) {
function switchManager(id) {
$.ajax({
method: "POST",
url: "{{ path('cadoles_core_'~access~'_group_ajax_changerole') }}",
url: "{{ path('cadoles_core_'~access~'_group_ajax_switchmanager') }}",
data: {
"group": {{ group.id }},
"user": id,
"role": $("#roleuser-"+id).val(),
}
});
}
function showMail() {

View File

@ -6,9 +6,9 @@
{% set permannu = app.session.get('permannu') %}
{% if fgheader %}
<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>
<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>
{% else %}
<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>
<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>
{% 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") %}

View File

@ -4,11 +4,11 @@
{{ form_start(form) }}
<h1 class="page-header">
{% if mode=="update" %}
Modification {{ labelniveau01 }} = {{niveau01.label}}
Modification {{ labelniveau01 }}
{% elseif mode=="submit" %}
Création {{ labelniveau01 }}
{% elseif mode=="delete" %}
Suppression {{ labelniveau01 }} = {{niveau01.label}}
Suppression {{ labelniveau01 }}
{% endif %}
</h1>

View File

@ -4,11 +4,11 @@
{{ form_start(form) }}
<h1 class="page-header">
{% if mode=="update" %}
Modification {{ labelniveau02 }} = {{niveau02.label}}
Modification {{ labelniveau02 }}
{% elseif mode=="submit" %}
Création {{ labelniveau02 }}
{% elseif mode=="delete" %}
Suppression {{ labelniveau02 }} = {{niveau02.label}}
Suppression {{ labelniveau02 }}
{% endif %}
</h1>

View File

@ -4,11 +4,11 @@
{{ form_start(form) }}
<h1 class="page-header">
{% if mode=="update" %}
Modification Profil de Modération = {{ permmodoprofil.name }}
Modification Profil de Modération
{% elseif mode=="submit" %}
Création Profil de Modération
{% elseif mode=="delete" %}
Suppression Profil de Modération = {{ permmodoprofil.name }}
Suppression Profil de Modération
{% endif %}
</h1>

View File

@ -5,11 +5,11 @@
{% if moderegistration!="none" %}
<h1 class="page-header">
{% if mode=="send" %}
Confirmation à l'Utilisateur = {{ registration.username }}
Confirmation à l'Utilisateur
{% elseif mode=="submit" %}
Inscription
{% elseif mode=="delete" %}
Suppression Inscription = {{ registration.username }}
Suppression Inscription
{% endif %}
</h1>
@ -110,8 +110,9 @@
{% if form.email is defined %}
{{ form_row(form.email) }}
<div class='alert alert-info alert-email' style='display:none; font-size: 80%;padding: 5px;margin-top: -10px;'>
Votre mail ne fait pas partie des mails professonniels pré-inscrits dans {{app.session.get("appname")}}.<br>
S'il s'agit de votre mail professionnel vous devez compléter le formulaire "Motivations" pour que l'administrateur de {{app.session.get("appname")}} valide votre demannde d'inscription.
Attention, le suffixe de votre adresse mail nest pas dans la liste des administrations autorisées.<br>
Merci de bien vouloir privilégier votre adresse professionnelle si vous en avez une.<br>
Si ce nest pas le cas, il faut que vous renseigniez la case motivation de votre demande.
</div>
{% endif %}
{% if form.visible is defined %} {{ form_row(form.visible) }} {% endif %}

View File

@ -1,25 +1,13 @@
{% extends '@CadolesCore/base.html.twig' %}
{% block pagewrapper %}
<h1 class="page-header">{%if infotitle is defined%}{{infotitle}}{%else%}Inscriptions{%endif%}</h1>
<h1 class="page-header">Inscriptions</h1>
<div style="padding-top:50px;max-width: 1000px; margin:auto; font-size:18px;">
<div class='alert alert-{{ mode }}' style='margin: 5px 0px'>
{% autoescape %}
<p>{{ info|raw }}</p>
{% endautoescape %}
{% if mode=="error" %}
{% if mode_auth == "SAML" %}
<a class="btn btn-primary" href="{{ path("lightsaml_sp.logout") }}">Déconnexion</a>
{% elseif mode_auth == "CAS" %}
<a class="btn btn-primary" href="{{ path("cas_sp.logout") }}">Déconnexion</a>
{% elseif mode_auth == "SQL" %}
<a class="btn btn-primary" href="{{ path("cadoles_core_logout") }}">Déconnexion</a>
{% elseif mode_auth == "LDAP" %}
<a class="btn btn-primary" href="{{ path("cadoles_core_ldap_logout") }}">Déconnexion</a>
{% endif %}
{% endif %}
</div>
</div>
{% endblock %}
@ -30,9 +18,7 @@
$(document).ready(function() {
// Redirection vers la mire d'authentification
setTimeout(function(){
{% if redirectto is defined and redirectto is not null %}
window.location.href="{{ redirectto }}";
{% elseif mode_auth == "SAML" %}
{% if mode_auth == "SAML" %}
window.location.href="{{ path("lightsaml_sp.login") }}";
{% elseif mode_auth == "CAS" %}
window.location.href="{{ path("cas_sp.login") }}";
@ -46,5 +32,6 @@
}, 6000);
});
{% endif %}
{% endblock %}

View File

@ -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ères
<i class="fa fa-table fa-fw"></i> Compteur de visites journalière
</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ères des groupes de travail
<i class="fa fa-table fa-fw"></i> Compteur de visites journalière 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> Évolution du nombre de message dans les chats
<i class="fa fa-table fa-fw"></i> Evolution du nombre de message dans les tchat
</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> Évolution du nombre d'articles de blog
<i class="fa fa-table fa-fw"></i> Evolution du nombre d'articles de blog
</div>
<div class="panel-body">

View File

@ -5,7 +5,7 @@
<h1 class="page-header">
{% if mode=="update" %}
{% if access=="config" %}
Modification Utilisateur = {{ user.username}}
Modification Utilisateur
{% else %}
Profil
{% endif %}

View File

@ -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 and is_granted('ROLE_USER') %}no-visible{% endif %}">Groupes</th>
<th class="no-sort {% if fields["group"] is defined and fields["group"].perm==0 %}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 and (is_granted('ROLE_USER') or is_granted('ROLE_ANIM')) %}no-visible{% endif %}">Visite</th>
<th class="{% if fields["visitedate"] is defined and fields["visitedate"].perm==0 %}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>

View File

@ -11,32 +11,28 @@
<br>L'utilisateur souhaite masquer ses informations personnelles.
{% else %}
{%if user.lastname %}<b>Nom</b> = {{ user.lastname }}<br>{%endif%}
{%if user.firstname and not fields["firstname"]["perm"]==0 %}<b>{{fields["firstname"]["label"]}}</b> = {{ user.firstname }}<br>{%endif%}
{%if user.firstname %}<b>Prénom</b> = {{ user.firstname }}<br>{%endif%}
{%if user.email %}<b>Email</b> = <a href='mailto:{{ user.email }}'>{{ user.email }}</a><br>{%endif%}
{%if user.telephonenumber and not fields["telephonenumber"]["perm"]==0 %}<b>{{fields["telephonenumber"]["label"]}}</b> = {{ user.telephonenumber }}<br>{%endif%}
{%if user.telephonenumber %}<b>Téléphone</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 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>
{%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 %}
{% endif %}
{% endfor %}
{% endif %}
{{ usergroup.group.label }}<br>
{% endif %}
{% endfor %}
{% endif %}
{% endif %}
</div>

View File

@ -4,11 +4,11 @@
{{ form_start(form) }}
<h1 class="page-header">
{% if mode=="update" %}
Modification Liste Blanche = {{ whitelist.label }}
Modification Liste Blanche
{% elseif mode=="submit" %}
Création Liste Blanche
{% elseif mode=="delete" %}
Suppression Liste Blanche = {{ whitelist.label }}
Suppression Liste Blanche
{% endif %}
</h1>

View File

@ -84,10 +84,6 @@
{{ 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 %}
@ -110,9 +106,6 @@
</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 %}

View File

@ -81,7 +81,6 @@ class samlUserCreatorService implements UserCreatorInterface
$user->setAvatar("noavatar.png");
$user->setVisible(true);
$user->setAuthlevel("simple");
$user->setBelongingpopulation("agent");
$user->setRole("ROLE_USER");
// Création

View File

@ -200,8 +200,7 @@ class ApiController extends Controller
$bookmarks=null;
$items=null;
$itemcategorys=null;
# fixe #31884 "https://" => "//"
$weburl="//".$this->getParameter("weburl")."/".$this->getParameter("alias")."/";
$weburl="https://".$this->getParameter("weburl")."/".$this->getParameter("alias")."/";
$em->getRepository("CadolesPortalBundle:Item")->getUserItems($user,$bookmarks,$items,$itemcategorys,null,$ssoitems,3);
@ -674,10 +673,10 @@ $api('$id',data);";
}
public function sessionAction($id="",$access="config") {
// 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";
// Masteridentity
$masteridentity=$this->getParameter("masteridentity");
if($masteridentity!="SSO") {
$output["error"]="Le bundle Edispatcher ne fonctionne qu'en mode MasterIdentity=SSO";
return new Response(json_encode($output), 400);
}
@ -730,7 +729,6 @@ $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")))

View File

@ -24,7 +24,7 @@ class Datasource
private $id;
/**
* @ORM\Column(type="string", length=128, unique=true)
* @ORM\Column(type="string", length=50, unique=true)
*/
private $username;

View File

@ -12,10 +12,6 @@ div.header {
position: relative !important;
}
#navbar-nameuser a {
color: var(--main, #004d9a) !important;
}
div.header > a > span {
color: black !important;
}

View File

@ -407,7 +407,6 @@ 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"];
@ -416,8 +415,6 @@ 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"]);

View File

@ -43,7 +43,6 @@ 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');
@ -381,7 +380,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);
@ -403,8 +402,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-377);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Balado');
$entityItem->setSubtitle("Interactions orales et écrites en ligne avec possibilité denregistrement audio intégré");
$entityItem->SetContent("Balad((o)) permet dinteragir 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>Lenseignant peut ensuite consulter en ligne les travaux rendus par les élèves, mais pas encore les annoter individuellement.");
$entityItem->SetSubtitle("Enregistrement en ligne et partage ses enregistrements");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -415,29 +413,6 @@ 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');
@ -449,8 +424,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-399);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Dokuwiki');
$entityItem->setSubtitle("Base de connaissances sous forme dun 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 dutilisateurs.<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->SetSubtitle("Création de documentations de toute sorte");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -472,7 +446,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);
@ -494,7 +468,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);
@ -515,9 +489,8 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem = new Item();
$entityItem->setId(-370);
$entityItem->setRowOrder(0);
$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 daccès, dans lobjectif de maîtriser son identité numérique sur lENT.");
$entityItem->setTitle('EOE');
$entityItem->SetSubtitle("EOLE Outils Elève");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -538,9 +511,8 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem = new Item();
$entityItem->setId(-371);
$entityItem->setRowOrder(0);
$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 à laide du dossier « perso » de lenseignant et de chaque élève. Cette application est adaptée à un fonctionnement synchrone en établissement, un peu moins en distanciel asynchrone.");
$entityItem->setTitle('EOP');
$entityItem->SetSubtitle("EOLE Outils Professeur");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -562,8 +534,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-382);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Etherhome');
$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->SetSubtitle("Gestion de vos pads et de vos calcs collaboratifs");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -585,8 +556,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-397);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Fluxbb');
$entityItem->setSubtitle("Forum");
$entityItem->setContent("Forum avec gestion des droits des utilisateurs.");
$entityItem->SetSubtitle("Forum");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -608,7 +578,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);
@ -630,7 +600,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);
@ -652,7 +622,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);
@ -674,8 +644,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-388);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Grr');
$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->SetSubtitle("Gestion et de Réservations de Ressources");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -697,7 +666,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-363);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Kanboard');
$entityItem->setSubtitle("Gestion de rojets");
$entityItem->SetSubtitle("Gestion de Projets");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -719,8 +688,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-374);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Limesurvey');
$entityItem->setSubtitle("Gestion denquê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->SetSubtitle("Application de sondage");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -742,8 +710,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-369);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Mindmaps');
$entityItem->setSubtitle("Carte Mentale");
$entityItem->setContent("Carte mentale simple, enregistrable mais non collaborative.");
$entityItem->SetSubtitle("Carte Mentale");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -765,8 +732,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-387);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Moodle');
$entityItem->setSubtitle("Cours en ligne");
$entityItem->setContent("Plateforme dapprentissage en ligne (« e-learning ») où lenseignant 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->SetSubtitle("Application de eLearning");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -788,8 +754,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-366);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Nextcloud');
$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 dutilisateurs<br>Soit de manière anonyme avec un lien public, paramétrable (durée, mot de passe)");
$entityItem->SetSubtitle("Stockage de Fichiers");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -811,8 +776,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-361);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Nineboard');
$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->SetSubtitle("Gestionnaire de tableau de bord collaboratif");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -834,7 +798,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);
@ -856,7 +820,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);
@ -878,7 +842,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);
@ -900,7 +864,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-383);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Opensondage');
$entityItem->setSubtitle("Création de sondage à réponse simple ou pour le choix dune date");
$entityItem->SetSubtitle("Application de Sondage par Date");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -922,7 +886,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-362);
$entityItem->setRowOrder(0);
$entityItem->setTitle('PhpLdapAdmin');
$entityItem->setSubtitle("Gestionnaire dannuaire LDAP");
$entityItem->SetSubtitle("Gestionnaire dannuaire LDAP");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryadm);
@ -933,7 +897,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);
@ -944,7 +908,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-396);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Piwigo');
$entityItem->setSubtitle("Gestionnaire dalbums photos");
$entityItem->SetSubtitle("Gestionnaire dalbums photos");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -966,7 +930,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-380);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Piwik');
$entityItem->setSubtitle("Mesures daudience du portail");
$entityItem->SetSubtitle("Application de Statistique de Visite");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryadm);
@ -988,8 +952,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-398);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Roundcube');
$entityItem->setSubtitle("Messagerie");
$entityItem->setContent("Messagerie permettant la communication sécurisée par méls. La messagerie na pas pour but denvoyer des gros fichiers mais plutôt de communiquer des informations, des liens.");
$entityItem->SetSubtitle("Webmail");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -997,12 +960,6 @@ 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);
}
@ -1017,7 +974,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);
@ -1039,8 +996,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityItem->setId(-400);
$entityItem->setRowOrder(0);
$entityItem->setTitle('Wordpress');
$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->SetSubtitle("Application de Blog");
$entityItem->setIcon($entityicon);
$entityItem->setTarget("_blank");
$entityItem->setItemcategory($entityItemcategoryapp);
@ -1055,15 +1011,15 @@ class InitDataCommand extends ContainerAwareCommand
//== WIDGET ============================================================================================================================================
$output->writeln(' > Creation Widget');
// Widget Page web
// Widget URL
$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('Page web');
$entityWidget->setDescription("Affiche le contenu d'une page web");
$entityWidget->setName('URL');
$entityWidget->setDescription("Affiche le contenu d'une url");
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_url");
$entityWidget->setHeight("630");
$entityWidget->setAutoajust(false);
@ -1135,15 +1091,15 @@ class InitDataCommand extends ContainerAwareCommand
$em->persist($entityWidget);
// Widget Liens
// Widget Favoris
$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('Liens');
$entityWidget->setDescription("Bibliothèque de Liens");
$entityWidget->setName('Favoris');
$entityWidget->setDescription("Création de Favoris");
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_bookmark");
$entityWidget->setHeight("630");
$entityWidget->setAutoajust(true);
@ -1155,7 +1111,7 @@ class InitDataCommand extends ContainerAwareCommand
$em->persist($entityWidget);
// Widget Lien
// Widget Liens
$entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1950);
if(!$entityWidget) $entityWidget = new Widget();
$entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_bolt.png"]);
@ -1163,7 +1119,7 @@ class InitDataCommand extends ContainerAwareCommand
$entityWidget->setRoworder(0);
$entityWidget->setIcon($entityicon);
$entityWidget->setName('Lien');
$entityWidget->setDescription("Création d'un Lien unique");
$entityWidget->setDescription("Création d'un Lien");
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_link");
$entityWidget->setHeight("200");
$entityWidget->setAutoajust(true);
@ -1175,14 +1131,14 @@ class InitDataCommand extends ContainerAwareCommand
$em->persist($entityWidget);
// Widget Texte
// Widget Editor
$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('Texte');
$entityWidget->setName('Editeur');
$entityWidget->setDescription("Votre propre texte à éditer");
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_editor");
$entityWidget->setHeight("630");
@ -1346,14 +1302,14 @@ class InitDataCommand extends ContainerAwareCommand
$em->persist($entityWidget);
}
// Widget Informations
// Widget Information
$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('Informations');
$entityWidget->setName('Information Page');
$entityWidget->setDescription("Afficher les informations associées à la page");
$entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_info");
$entityWidget->setHeight("630");

View File

@ -8,7 +8,6 @@ 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;
@ -196,32 +195,6 @@ 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');

View File

@ -361,7 +361,7 @@ class BlogController extends Controller
if($groups[0]) {
if($groups[0]->getFgcanshare()) {
$pages=$groups[0]->getPages();
if($pages[0]) {
if($pages) {
$idpage=$pages[0]->getId();
$groups=$pages[0]->getGroups();
$idgroup=$groups[0]->getId();

View File

@ -106,7 +106,6 @@ class BlogarticleController extends Controller
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Blog")->getPermission($this->getUser(),$entity->getBlog(),$cansee,$canupdate,$canadd);
if(!$canadd) throw $this->createNotFoundException('Permission denied');
elseif(!$canupdate&&$this->getUser()!=$entity->getUser()) throw $this->createNotFoundException('Permission denied');
}
// Création du formulaire
@ -158,7 +157,6 @@ class BlogarticleController extends Controller
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Blog")->getPermission($this->getUser(),$entity->getBlog(),$cansee,$canupdate,$canadd);
if(!$canadd) throw $this->createNotFoundException('Permission denied');
elseif(!$canupdate&&$this->getUser()!=$entity->getUser()) throw $this->createNotFoundException('Permission denied');
}
// Suppression
@ -182,7 +180,7 @@ class BlogarticleController extends Controller
if($groups[0]) {
if($groups[0]->getFgcanshare()) {
$pages=$groups[0]->getPages();
if($pages[0]) {
if($pages) {
$idpage=$pages[0]->getId();
$groups=$pages[0]->getGroups();
$idgroup=$groups[0]->getId();
@ -210,10 +208,12 @@ class BlogarticleController extends Controller
}
else {
$em->getRepository("CadolesPortalBundle:Blog")->getPermission($user,$entity->getBlog(),$cansee,$canupdate,$canadd);
if(!$canupdate&&$this->getUser()==$entity->getUser()) $canupdate=true;
}
if(!$cansee) throw $this->createNotFoundException('Permission denied');
$canupdate=false;
if($user) $canupdate=true;
}
$em->getRepository("CadolesPortalBundle:Blogarticle")->getBlogsArticles($blogs,0,10,$count,$blogarticles);

View File

@ -145,8 +145,7 @@ class BlogcommentController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Blog")->getPermission($this->getUser(),$entity->getBlogarticle()->getBlog(),$cansee,$canupdate,$canadd);
if(!$canupdate&&$this->getUser()==$entity->getBlogarticle()->getUser()) $canupdate=true;
if(!$canupdate&&$this->getUser()!=$entity->getUser()) throw $this->createNotFoundException('Permission denied');
if(!$canadd&&$this->getUser()!=$entity->getUser()) throw $this->createNotFoundException('Permission denied');
}
// Création du formulaire
@ -197,7 +196,7 @@ class BlogcommentController extends Controller
// On s'assure que l'utilisateur à la permission de supprimer
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Blog")->getPermission($this->getUser(),$entity->getBlogarticle()->getBlog(),$cansee,$canupdate,$canadd);
if(!$canupdate&&$this->getUser()!=$entity->getUser()) throw $this->createNotFoundException('Permission denied');
if(!$canadd&&$this->getUser()!=$entity->getUser()) throw $this->createNotFoundException('Permission denied');
}
// Suppression

View File

@ -35,19 +35,6 @@ class BookmarkController extends Controller
if (!$pagewidget) throw $this->createNotFoundException('Unable to find entity.');
}
// Vérifier que cet enregistrement est modifiable
if($access=="user") {
if($usage=="user") {
$user=$pagewidget->getPage()->getUser();
if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied');
}
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');
}
}
// Création du formulaire
$form = $this->createForm(BookmarkType::class,$data,array("mode"=>"submit"));
@ -136,8 +123,8 @@ class BookmarkController extends Controller
}
else {
$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');
$fgmanager=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity,"fgmanager"=>true]);
if(!$fgmanager) throw $this->createNotFoundException('Permission denied');
}
}
@ -227,8 +214,8 @@ class BookmarkController extends Controller
}
else {
$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');
$fgmanager=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity,"fgmanager"=>true]);
if(!$fgmanager) throw $this->createNotFoundException('Permission denied');
}
}

View File

@ -220,7 +220,7 @@ class CalendarController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
$oldpassword=$entity->getPasswordDecrypt();
@ -272,7 +272,7 @@ class CalendarController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
@ -308,7 +308,7 @@ class CalendarController extends Controller
// On s'assure que l'utilisateur à la permission de supprimer
if($access=="user") {
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$canupdate) 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[0]) {
if($pages) {
$idpage=$pages[0]->getId();
$groups=$pages[0]->getGroups();
$idgroup=$groups[0]->getId();
@ -369,7 +369,6 @@ class CalendarController extends Controller
$calendar->setType(0);
$calendar->setUser($user);
$calendar->setCanupdate(true);
$calendar->setCanadd(true);
$key = Uuid::uuid4();
$calendar->setKeyvalue($key);
$em->persist($calendar);

View File

@ -40,10 +40,9 @@ class CalendareventController extends Controller
if($access=="config")
$calendar->setCanupdate(true);
else {
$this->getDoctrine()->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate,$canadd);
$this->getDoctrine()->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
$calendar->setCanupdate($canupdate);
$calendar->setCanadd($canadd);
}
$calendars=[$calendar];
@ -68,7 +67,7 @@ class CalendareventController extends Controller
$tmp['color'] = "#".(is_null($calendar->getColor())?$this->get('session')->get('color')["main"]:$calendar->getColor());
$tmp['allDay'] = $calendarevent->getAllday();
$tmp['calendar'] = $calendar->getId();
$tmp['editable'] = $calendarevent->getCalendar()->getCanadd();
$tmp['editable'] = $calendarevent->getCalendar()->getCanupdate();
$tmp['files'] = $this->loadpj($tmp['id'] );
array_push($events,$tmp);
@ -155,8 +154,8 @@ class CalendareventController extends Controller
// On s'assure que l'utilisateur à la permission de supprimer
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate,$canadd);
if(!$canadd) throw $this->createNotFoundException('Permission denied');
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
$calendarevent=new Calendarevent();
@ -209,8 +208,8 @@ class CalendareventController extends Controller
// On s'assure que l'utilisateur à la permission
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate,$canadd);
if(!$canadd) throw $this->createNotFoundException('Permission denied');
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
$calendarevent = $this->getDoctrine()->getRepository("CadolesPortalBundle:Calendarevent")->find($id);
@ -267,8 +266,8 @@ class CalendareventController extends Controller
// On s'assure que l'utilisateur à la permission
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate,$canadd);
if(!$canadd) throw $this->createNotFoundException('Permission denied');
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
$calendarevent = $this->getDoctrine()->getRepository("CadolesPortalBundle:Calendarevent")->find($id);
@ -292,8 +291,8 @@ class CalendareventController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate,$canadd);
if(!$canadd) throw $this->createNotFoundException('Permission denied');
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
// Création du formulaire
@ -330,8 +329,8 @@ class CalendareventController extends Controller
// On s'assure que l'utilisateur à la permission
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate,$canadd);
if(!$canadd) throw $this->createNotFoundException('Permission denied');
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
$files = $this->loadpj($id);

View File

@ -65,18 +65,13 @@ class ItemController extends Controller
{
// Initialisation de l'enregistrement
$data = new Item();
if($this->GetParameter("activate_widsonde")) {
$data->setClicksonde(true);
$data->setClicksondeservice("PAGE_ENT");
}
// Création du formulaire
$form = $this->createForm(ItemType::class,$data,array(
"mode" => "submit",
"labelniveau01" => $this->GetParameter("labelsniveau01"),
"ssosynchroitem" => $this->GetParameter("ssosynchroitem"),
"user_attr_cas_item" => $this->GetParameter("user_attr_cas_item"),
"activate_widsonde" => $this->GetParameter("activate_widsonde"),
"user_attr_cas_item" => $this->GetParameter("user_attr_cas_item")
));
// Récupération des data du formulaire
@ -127,8 +122,7 @@ 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"),
"activate_widsonde" => ($this->GetParameter("activate_widsonde")&&$data->getId()>0),
"user_attr_cas_item" => $this->GetParameter("user_attr_cas_item")
));
// Récupération des data du formulaire
@ -210,26 +204,6 @@ class ItemController extends Controller
return $response;
}
public function forceorderAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$categorys=$em->getRepository("CadolesPortalBundle:Itemcategory")->findAll();
foreach($categorys as $category) {
$i=0;
$items=$em->getRepository("CadolesPortalBundle:Item")->findBy(["itemcategory"=>$category],["title"=>"ASC"]);
foreach($items as $item) {
$i++;
$item->setRowOrder($i);
$em->flush();
}
}
// Retour à la liste
return $this->redirectToRoute($this->labelroute);
}
protected function getDatas()
{
$em = $this->getDoctrine()->getManager();
@ -256,13 +230,6 @@ 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');

View File

@ -210,10 +210,6 @@ 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();
@ -227,7 +223,7 @@ class NoticeController extends Controller
}
}
return $this->redirectToRoute("cadoles_core_home",["id"=>$id]);
return $this->redirectToRoute("cadoles_core_home");
}
public function viewAction(Request $request) {

View File

@ -286,7 +286,7 @@ class PageController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
@ -369,7 +369,7 @@ class PageController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
@ -408,7 +408,7 @@ class PageController extends Controller
// On s'assure que l'utilisateur à la permission de supprimer
if($access=="user") {
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
@ -438,7 +438,7 @@ class PageController extends Controller
// On s'assure que l'utilisateur à la permission
if($access=="user") {
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
@ -474,7 +474,7 @@ class PageController extends Controller
}
else {
// On s'assure que l'utilisateur à la permission de voir
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate,$canadd);
$em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate);
if(!$cansee) {
return $this->render('CadolesCoreBundle:Core:reconnect.html.twig', [
'useheader' => false,

View File

@ -30,15 +30,14 @@ class PagewidgetController extends Controller
private $access;
private $look;
private $mini;
private $selwidget;
private $usage;
private $group;
private $selwidget;
private $cansee;
private $canupdate;
private $canudate;
private $canadd;
private function searchArray($array, $key, $value) {
private function searchArray($array, $key, $value)
{
$results = array();
if (is_array($array))
@ -53,7 +52,8 @@ class PagewidgetController extends Controller
return $results;
}
private function entityForm(Pagewidget $entity,$idpage,$id,$access="config",$by="view") {
private function entityForm(Pagewidget $entity,$idpage,$id,$access="config",$by="view")
{
if ($this->getDoctrine()->getManager()->contains($entity)) {
$widgettype= $this->getDoctrine()->getManager()->getRepository("CadolesPortalBundle:Pagewidget")->find($id)->getWidget();
$params = $widgettype->getParameter();
@ -97,7 +97,8 @@ class PagewidgetController extends Controller
}
}
public function submitAction(Request $request,$idpage,$idwidgettype,$access="config") {
public function submitAction(Request $request,$idpage,$idwidgettype,$access="config")
{
$by=$request->query->get('by');
$entity = new Pagewidget();
$form = $this->entityForm($entity,$idpage,$idwidgettype,$access,$by);
@ -189,7 +190,8 @@ class PagewidgetController extends Controller
]);
}
public function updateAction(Request $request,$idpage,$idwidget,$access="config") {
public function updateAction(Request $request,$idpage,$idwidget,$access="config")
{
$by=$request->query->get('by');
$usage=$request->query->get('usage');
$group=$request->query->get('group');
@ -201,7 +203,7 @@ class PagewidgetController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$entity->getPage(),$cansee,$canupdate,$canadd);
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$entity->getPage(),$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
@ -271,7 +273,8 @@ class PagewidgetController extends Controller
]);
}
public function deleteAction(Request $request,$access="config") {
public function deleteAction(Request $request,$access="config")
{
// S'assurer que c'est un appel ajax
if (!$request->isXmlHttpRequest()) return new JsonResponse(array('message' => 'Interdit'), 400);
@ -286,7 +289,7 @@ class PagewidgetController extends Controller
// On s'assure que l'utilisateur à la permission de supprimer
if($access=="user") {
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$entity->getPage(),$cansee,$canupdate,$canadd);
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$entity->getPage(),$cansee,$canupdate);
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
}
@ -312,7 +315,8 @@ class PagewidgetController extends Controller
return $response;
}
public function orderAction(Request $request) {
public function orderAction(Request $request)
{
// S'assurer que c'est un appel ajax
if (!$request->isXmlHttpRequest()) return new JsonResponse(array('message' => 'Interdit'), 400);
@ -363,6 +367,7 @@ class PagewidgetController extends Controller
}
protected function getErrorForm($id,$form,$request,$idwidgettype,$page,$data,$mode) {
if ($form->get('submit')->isClicked()&&$mode=="delete") {
@ -400,9 +405,7 @@ class PagewidgetController extends Controller
$this->access = $access;
$this->look = $request->query->get('look');
$this->selwidget = $request->query->get('selwidget');
$this->usage = $request->query->get('usage');
$this->group = $request->query->get('group');
// Le widget existe-t-il ?
$this->entity = $this->em->getRepository($this->labelentity)->find($this->id);
if (!$this->entity) throw $this->createNotFoundException('Unable to find entity.');
@ -414,7 +417,7 @@ class PagewidgetController extends Controller
else {
// On s'assure que l'utilisateur à la permission de voir
$this->page=$this->entity->getPage();
$this->em->getRepository("CadolesPortalBundle:Page")->getPermission($this->user,$this->page,$this->cansee,$this->canupdate,$this->canadd);
$this->em->getRepository("CadolesPortalBundle:Page")->getPermission($this->user,$this->page,$this->cansee,$this->canupdate);
if(!$this->cansee) throw $this->createNotFoundException('Permission denied');
}
@ -447,26 +450,6 @@ 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 = [
@ -622,9 +605,6 @@ 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);
}
@ -662,14 +642,10 @@ 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', [
@ -678,7 +654,7 @@ class PagewidgetController extends Controller
'items' => $itemsordered,
'bookmarks' => $bookmarks,
]);
}
}
public function viewalertAction(Request $request,$id,$access="config") {
// Récupération de la requete
@ -711,6 +687,7 @@ class PagewidgetController extends Controller
]);
}
public function viewfluxAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
@ -917,6 +894,7 @@ class PagewidgetController extends Controller
]);
}
public function viewrssAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
@ -1137,20 +1115,34 @@ class PagewidgetController extends Controller
// Render
return $this->getRender('viewbookmark.html.twig', [
'canadd' => $this->canadd,
'modedesktop' => $modedesktop,
'bookmarks' => $bookmarks,
]);
}
public function viewlinkAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$url="";
$target="_blank";
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "url":
$url=$parameter["value"];
@ -1161,21 +1153,44 @@ class PagewidgetController extends Controller
}
}
// Préference utilisateur
$this->getPreference($entity);
// Render
return $this->getRender('viewlink.html.twig', [
return $this->render($this->labelentity.':viewlink.html.twig', [
'entity' => $entity,
'canadd' => false,
'canupdate' => $canupdate,
'url' => $url,
'target' => $target,
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function vieweditorAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$html="";
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "html":
$html=$parameter["value"];
@ -1184,45 +1199,91 @@ class PagewidgetController extends Controller
}
}
// Préference utilisateur
$this->getPreference($entity);
// Render
return $this->getRender('vieweditor.html.twig', [
return $this->render($this->labelentity.':vieweditor.html.twig', [
'entity' => $entity,
'canadd' => false,
'canupdate' => $canupdate,
'html' => $html,
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewslideAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$interval="2";
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "interval":
$interval=$parameter["value"];
break;
}
}
// Préference utilisateur
$this->getPreference($entity);
// Récupération des slides
$slides=$this->em->getRepository("CadolesPortalBundle:Slide")->findBy(["pagewidget"=>$this->entity],['roworder'=>'ASC','title'=>'ASC']);
$slides=$em->getRepository("CadolesPortalBundle:Slide")->findBy(["pagewidget"=>$entity],['roworder'=>'ASC','title'=>'ASC']);
// Render
return $this->getRender('viewslide.html.twig', [
'canadd' => $this->canadd,
return $this->render($this->labelentity.':viewslide.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'slides' => $slides,
'interval' => $interval,
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewfileAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$view="small";
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "modelist":
$view=($parameter["value"]==0?"small":"list");
@ -1230,17 +1291,45 @@ class PagewidgetController extends Controller
}
}
// Render
return $this->getRender('viewfile.html.twig', [
'canadd' => $this->canadd,
// Préference utilisateur
$this->getPreference($entity);
return $this->render($this->labelentity.':viewfile.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'access' => $access,
'directory' => "widget-".$id,
'view' => $view,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewgaleryAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Préference utilisateur
$this->getPreference($entity);
$directory=$this->get('kernel')->getRootDir()."/../uploads/file/widget-".$id;
$files=[];
@ -1270,47 +1359,96 @@ class PagewidgetController extends Controller
// Render
return $this->getRender('viewgalery.html.twig', [
'canadd' => $this->canadd,
return $this->render($this->labelentity.':viewgalery.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'files' => $files,
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewcalendarAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
if($group) $groupentity=$em->getRepository("CadolesCoreBundle:Group")->find($group);
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$nbday="0";
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "nbday":
$nbday=$parameter["value"];
break;
}
}
// Préference utilisateur
$this->getPreference($entity);
// Récupérer les events de l'utilisateur
$user=$this->getUser();
$events=$this->em->getRepository("CadolesPortalBundle:Calendarevent")->getUserCalendarevents($user,$this->get('session')->get('color')["main"],$this->usage,$this->group,$firstcalendar);
$events=$em->getRepository("CadolesPortalBundle:Calendarevent")->getUserCalendarevents($user,$this->get('session')->get('color')["main"],$usage,$group,$firstcalendar);
// Render
return $this->getRender('viewcalendar.html.twig', [
'canadd' => $this->canadd,
return $this->render($this->labelentity.':viewcalendar.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'events' => $events,
'nbday' => $nbday,
'access' => $access,
'firstcalendar' => $firstcalendar,
'usage' => $this->usage,
'usage' => $usage,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewblogAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$nbarticle=10;
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "nbarticle":
$nbarticle=$parameter["value"];
@ -1318,38 +1456,64 @@ class PagewidgetController extends Controller
}
}
// Préference utilisateur
$this->getPreference($entity);
// On récupère soit les blogs du group en cours soit l'ensemble des blogs de l'utilisateur
if($this->usage=="group") {
$blogs=$this->em->getRepository("CadolesPortalBundle:Blog")->getBlogsGroup($this->getUser(),$this->group);
if($usage=="group") {
$blogs=$em->getRepository("CadolesPortalBundle:Blog")->getBlogsGroup($this->getUser(),$group);
if($blogs) $firstblog=$blogs[0]->getId();
}
else {
$this->em->getRepository("CadolesPortalBundle:Blog")->getBlogsUser($this->getUser(),$blogsuser,$blogsadmin,$blogsshared);
$em->getRepository("CadolesPortalBundle:Blog")->getBlogsUser($this->getUser(),$blogsuser,$blogsadmin,$blogsshared);
$blogs=array_merge($blogsuser,$blogsadmin->toArray(),$blogsshared);
$firstblog="all";
}
// On récupère les nbarticle de ses blogs
$this->em->getRepository("CadolesPortalBundle:Blogarticle")->getBlogsArticles($blogs,0,$nbarticle,$count,$blogarticles);
$em->getRepository("CadolesPortalBundle:Blogarticle")->getBlogsArticles($blogs,0,$nbarticle,$count,$blogarticles);
// Render
return $this->getRender('viewblog.html.twig', [
'canadd' => $this->canadd,
return $this->render($this->labelentity.':viewblog.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'blogarticles' => $blogarticles,
'nbarticle' => $nbarticle,
'access' => $access,
'firstblog' => $firstblog,
'usage' => $this->usage,
'usage' => $usage,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewprojectAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Parametres
$nbarticle=10;
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "nbarticle":
$nbarticle=$parameter["value"];
@ -1357,56 +1521,76 @@ class PagewidgetController extends Controller
}
}
// Préference utilisateur
$this->getPreference($entity);
// On récupère soit les projects du group en cours soit l'ensemble des projects de l'utilisateur
$user=$this->getUser();
if($this->usage=="group") {
$projects=$this->em->getRepository("CadolesPortalBundle:Project")->getProjectsGroup($this->getUser(),$this->group);
if($usage=="group") {
$projects=$em->getRepository("CadolesPortalBundle:Project")->getProjectsGroup($this->getUser(),$group);
if($projects) $firstproject=$projects[0]->getId();
}
else {
$this->em->getRepository("CadolesPortalBundle:Project")->getProjectsUser($user,$projectsuser,$projectsadmin,$projectsshared);
$em->getRepository("CadolesPortalBundle:Project")->getProjectsUser($user,$projectsuser,$projectsadmin,$projectsshared);
$projects=array_merge($projectsuser,$projectsadmin->toArray(),$projectsshared);
$firstproject="all";
}
// On récupère les nbarticle de ses projects
$this->em->getRepository("CadolesPortalBundle:Projecttask")->getProjectsTasks($projects,0,$nbarticle,$count,$projecttasks);
$em->getRepository("CadolesPortalBundle:Projecttask")->getProjectsTasks($projects,0,$nbarticle,$count,$projecttasks);
foreach($projecttasks as $key => $projecttask) {
if($projecttask->getPercentage()==100) unset($projecttasks[$key]);
}
if($this->usage!="group") {
if($usage!="group") {
foreach($projecttasks as $key => $projecttask) {
if(!$user) unset($projecttasks[$key]);
else {
if($projecttask->getUser() && $projecttask->getUser()!=$user)
unset($projecttasks[$key]);
elseif(!$projecttask->getUser() && $projecttask->getOwner() && $projecttask->getOwner()!=$user)
unset($projecttasks[$key]);
if($projecttask->getUser() && $projecttask->getUser()!=$user) unset($projecttasks[$key]);
elseif($projecttask->getOwner() && $projecttask->getOwner()!=$user) unset($projecttasks[$key]);
}
}
}
// Render
return $this->getRender('viewproject.html.twig', [
'canadd' => $this->canupdate,
return $this->render($this->labelentity.':viewproject.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'projecttasks' => $projecttasks,
'nbarticle' => $nbarticle,
'access' => $access,
'firstproject' => $firstproject,
'usage' => $this->usage,
'usage' => $usage,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewseparatorAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Parametres
$seetitle=false;
$seeicon=false;
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "seetitle":
$seetitle=boolval($parameter["value"]);
@ -1417,21 +1601,44 @@ class PagewidgetController extends Controller
}
}
// Préference utilisateur
$this->getPreference($entity);
// Render
return $this->getRender('viewseparator.html.twig', [
'canadd' => $this->canupdate,
return $this->render($this->labelentity.':viewseparator.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'seetitle' => $seetitle,
'seeicon' => $seeicon,
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewclockAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Parametres
$clock="0";
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "clock":
$clock=$parameter["value"];
@ -1439,33 +1646,79 @@ class PagewidgetController extends Controller
}
}
// Préference utilisateur
$this->getPreference($entity);
// Render
return $this->getRender('viewframe.html.twig', [
'canadd' => $this->canupdate,
return $this->render($this->labelentity.':viewframe.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'onheader' => true,
'tool' => ($clock==0?"cadoles_portal_user_tool_clockanalogique":"cadoles_portal_user_tool_clocknumerique"),
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewcalculatorAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Préference utilisateur
$this->getPreference($entity);
// Render
return $this->getRender('viewframe.html.twig', [
'canadd' => $this->canupdate,
return $this->render($this->labelentity.':viewframe.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'onheader' => true,
'tool' => "cadoles_portal_user_tool_calculator",
'tool' => "cadoles_portal_user_tool_calculator",
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewappexternalAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$idappexternal=null;
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "appexternal":
$idappexternal=$parameter["value"];
@ -1476,12 +1729,15 @@ class PagewidgetController extends Controller
}
}
// Préference utilisateur
$this->getPreference($entity);
$user=$this->getUser();
$items=[];
$itemcategorys=[];
if($user) {
if($idappexternal) $appextenals=$this->em->getRepository("CadolesPortalBundle:Appexternal")->findBy(["id"=>$idappexternal]);
else $appextenals=$this->em->getRepository("CadolesPortalBundle:Appexternal")->findAll();
if($idappexternal) $appextenals=$em->getRepository("CadolesPortalBundle:Appexternal")->findBy(["id"=>$idappexternal]);
else $appextenals=$em->getRepository("CadolesPortalBundle:Appexternal")->findAll();
foreach($appextenals as $appexternal) {
switch($appexternal->getName()) {
case "Limesurvey":
@ -1534,86 +1790,161 @@ class PagewidgetController extends Controller
array_multisort($title, SORT_ASC, $items);
// Render
return $this->getRender('viewappexternal.html.twig', [
return $this->render($this->labelentity.':viewappexternal.html.twig', [
'entity' => $entity,
'canadd' => ($user),
'canupdate' => $canupdate,
'modedesktop' => $modedesktop,
'items' => $items,
'itemcategorys' => $itemcategorys,
'itemcategorys' => $itemcategorys,
'access' => $access,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewinfoAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$user=$this->getUser();
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
$page=$entity->getPage();
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Préference utilisateur
$this->getPreference($entity);
$icon=null;
$title=null;
$description=null;
$members=[];
if($this->usage=="group") {
$groupentity=$this->em->getRepository("CadolesCoreBundle:Group")->find($this->group);
if($groupentity) {
$title=$this->entity->getPage()->getName();
$id=$groupentity->getId();
if($groupentity->getDescription())
$description="<strong>Description</strong><br>".$groupentity->getDescription();
if($groupentity->getIcon())
$icon="/".$groupentity->getIcon()->getLabel();
if($usage=="group") {
$group=$em->getRepository("CadolesCoreBundle:Group")->find($group);
if($group) {
$title=$group->getLabel();
$id=$group->getId();
if($group->getDescription())
$description="<strong>Description</strong><br>".$group->getDescription();
if($group->getIcon())
$icon="/".$group->getIcon()->getLabel();
foreach($groupentity->getUsers() as $usergroup) {
foreach($group->getUsers() as $usergroup) {
array_push($members,$usergroup);
}
}
}
else {
$title=$this->entity->getPage()->getName();
$proprio=$this->entity->getPage()->getUser();
$title=$entity->getPage()->getName();
$proprio=$entity->getPage()->getUser();
$id=0;
if($proprio) {
$description="Propriétaire de la page<br>".$proprio->getLastname()." ".$proprio->getLastname();
$icon="/uploads/avatar/".$proprio->getAvatar();
}
}
// Render
return $this->getRender('viewinfo.html.twig', [
'canadd' => $this->canupdate,
'usage' => $this->usage,
return $this->render($this->labelentity.':viewinfo.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'usage' => $usage,
'icon' => $icon,
'title' => $title,
'description' => $description,
'members' => $members,
'id' => $id,
'idpage' => $this->entity->getPage()->getId(),
'idpage' => $page->getId(),
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewchatAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$group=$this->group;
if($this->usage!="group"||!$group) {
$group=$this->em->getRepository("CadolesCoreBundle:Group")->findOneBy(["fgall"=>true])->getId();
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Préference utilisateur
$this->getPreference($entity);
if($usage!="group"||!$group) {
$group=$em->getRepository("CadolesCoreBundle:Group")->findOneBy(["fgall"=>true])->getId();
}
// Render
return $this->getRender('viewchat.html.twig', [
'canadd' => $this->canupdate,
return $this->render($this->labelentity.':viewchat.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'onheader' => false,
'tool' => "cadoles_websocket_chat",
'usage' => $this->usage,
'access' => $access,
'usage' => $usage,
'group' => $group,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewgroupAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$user=$this->getUser();
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Préference utilisateur
$this->getPreference($entity);
$mygroups=[];
$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,null,$default,$pagesuser,$pagesadmin,$groupsshared);
if(is_array($groupsshared)) {
@ -1631,21 +1962,47 @@ class PagewidgetController extends Controller
}
// Render
return $this->getRender('viewgroup.html.twig', [
return $this->render($this->labelentity.':viewgroup.html.twig', [
'entity' => $entity,
'canadd' => ($user),
'usage' => $this->usage,
'canupdate' => $canupdate,
'usage' => $usage,
'groups' => $mygroups,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewgroupmessageAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$user=$this->getUser();
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Préference utilisateur
$this->getPreference($entity);
// Récupération des paramétres du widget
$modelist=1;
$nbarticle=5;
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "modelist":
$modelist=$parameter["value"];
@ -1656,8 +2013,8 @@ class PagewidgetController extends Controller
}
}
$mygroups=[];
$mymsg= [];
$user=$this->getUser();
$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,null,$default,$pagesuser,$pagesadmin,$groupsshared);
if(is_array($groupsshared)) {
foreach($groupsshared as $groupshared) {
@ -1693,23 +2050,48 @@ class PagewidgetController extends Controller
// Render
return $this->getRender('viewgroupmessage.html.twig', [
return $this->render($this->labelentity.':viewgroupmessage.html.twig', [
'entity' => $entity,
'canadd' => ($user),
'usage' => $this->usage,
'canupdate' => $canupdate,
'usage' => $usage,
'modelist' => $modelist,
'messages' => $mymsg,
'nbarticle' => $nbarticle,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
public function viewOnlydocAction(Request $request,$id,$access="config") {
// Récupération de la requete
$this->setRequest($request,$id,$access);
$usage=$request->query->get('usage');
$group=$request->query->get('group');
$look=$request->query->get('look');
$selwidget=$request->query->get('selwidget');
$user=$this->getUser();
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository($this->labelentity)->find($id);
if (!$entity) throw $this->createNotFoundException('Unable to find entity.');
// Permissions
if($access=="config") {
$canupdate = true;
$cansee = true;
}
else {
// On s'assure que l'utilisateur à la permission de voir
$page=$entity->getPage();
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
if(!$cansee) throw $this->createNotFoundException('Permission denied');
}
// Récupération des paramétres du widget
$apponly=0;
$view="small";
foreach($this->entity->getParameter()["fields"] as $parameter) {
foreach($entity->getParameter()["fields"] as $parameter) {
switch($parameter["id"]) {
case "apponly":
$apponly=$parameter["value"];
@ -1719,11 +2101,19 @@ class PagewidgetController extends Controller
break;
}
}
return $this->getRender('viewonlydoc.html.twig', [
'canadd' => $this->canupdate,
// Préference utilisateur
$this->getPreference($entity);
return $this->render($this->labelentity.':viewonlydoc.html.twig', [
'entity' => $entity,
'canadd' => $canupdate,
'canupdate' => $canupdate,
'access' => $access,
'directory' => $id,
'view' => $view,
'look' => $look,
'mini' => ($look=="list"&&$entity->getId()!=$selwidget),
]);
}
}

View File

@ -362,7 +362,7 @@ class ProjectController extends Controller
if($groups[0]) {
if($groups[0]->getFgcanshare()) {
$pages=$groups[0]->getPages();
if($pages[0]) {
if($pages) {
$idpage=$pages[0]->getId();
$groups=$pages[0]->getGroups();
$idgroup=$groups[0]->getId();
@ -410,6 +410,7 @@ class ProjectController extends Controller
}
if(!$cansee) throw $this->createNotFoundException('Permission denied');
$canupdate=$this->get('session')->get('cancreateproject');
}

View File

@ -116,7 +116,6 @@ class ProjecttaskController extends Controller
$user=$this->getUser();
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$entity->getProject(),$cansee,$canupdate,$canadd);
if($user && ((is_null($entity->getUser()) && $user==$entity->getOwner()) || $user==$entity->getUser())) $canadd=true;
else $canadd = $em->getRepository("CadolesPortalBundle:Project")->getInvalideur($user,$entity->getProject());
if(!$canadd) throw $this->createNotFoundException('Permission denied');
}
@ -181,7 +180,6 @@ class ProjecttaskController extends Controller
$user=$this->getUser();
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$entity->getProject(),$cansee,$canupdate,$canadd);
if($user && ((is_null($entity->getUser()) && $user==$entity->getOwner()) || $user==$entity->getUser())) $canadd=true;
else $canadd = $em->getRepository("CadolesPortalBundle:Project")->getInvalideur($user,$entity->getProject());
if(!$canadd) throw $this->createNotFoundException('Permission denied');
}
@ -207,7 +205,7 @@ class ProjecttaskController extends Controller
if($groups[0]) {
if($groups[0]->getFgcanshare()) {
$pages=$groups[0]->getPages();
if($pages[0]) {
if($pages) {
$idpage=$pages[0]->getId();
$groups=$pages[0]->getGroups();
$idgroup=$groups[0]->getId();
@ -235,7 +233,6 @@ class ProjecttaskController extends Controller
}
else {
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$entity->getProject(),$cansee,$canupdate,$canadd);
$canadd = $em->getRepository("CadolesPortalBundle:Project")->getInvalideur($user,$entity->getProject());
}
if(!$cansee) throw $this->createNotFoundException('Permission denied');
@ -269,6 +266,17 @@ class ProjecttaskController extends Controller
$tmp["thumb"]="";
if($tmp["extension"]=="pdf") {
$tmp["thumb"]="/".$this->getParameter('alias')."/bundles/cadolescore/images/files/".$tmp["extension"].".png";
/* ne plus afficher l'apercu du pdf
if($fs->exists($directory."/thumbmini/".$tmp["name"])) {
$data = file_get_contents($directory."/thumbmini/".$tmp["name"]);
$tmp["thumb"]="data:image/jpg;base64," . base64_encode($data);
}
elseif($fs->exists($directory."/thumb/".$tmp["name"])) {
$data = file_get_contents($directory."/thumb/".$tmp["name"]);
$tmp["thumb"]="data:image/jpg;base64," . base64_encode($data);
}
*/
}
elseif($fs->exists($directory."/thumbmini/".$tmp["name"])) {
$data = file_get_contents($directory."/thumbmini/".$tmp["name"]);
@ -345,7 +353,7 @@ class ProjecttaskController extends Controller
$project=$em->getRepository("CadolesPortalBundle:Project")->find($projectid);
if($project) {
$user=$this->getUser();
$canadd = $em->getRepository("CadolesPortalBundle:Project")->getInvalideur($user,$project);
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$project,$cansee,$canupdate,$canadd);
// Si permission alors il peut affecter tt les personnes du groupe
if($canadd||$access=="config") {
@ -397,8 +405,9 @@ class ProjecttaskController extends Controller
// On s'assure que l'utilisateur à la permission de modifier
if($access=="user") {
$user=$this->getUser();
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$entity->getProject(),$cansee,$canupdate,$canadd);
if($user && ((is_null($entity->getUser()) && $user==$entity->getOwner()) || $user==$entity->getUser())) $canadd=true;
else $canadd = $em->getRepository("CadolesPortalBundle:Project")->getInvalideur($user,$entity->getProject());
if(!$canadd) throw $this->createNotFoundException('Permission denied');
}

View File

@ -37,8 +37,8 @@ class SlideController extends Controller
}
else {
$groupentity=$this->getDoctrine()->getRepository("CadolesCoreBundle:Group")->find($group);
$usergroup=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity]);
if(!$usergroup||$usergroup->getRolegroup()<50) throw $this->createNotFoundException('Permission denied');
$fgmanager=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity,"fgmanager"=>true]);
if(!$fgmanager) throw $this->createNotFoundException('Permission denied');
}
}
@ -81,8 +81,8 @@ class SlideController extends Controller
}
else {
$groupentity=$this->getDoctrine()->getRepository("CadolesCoreBundle:Group")->find($group);
$usergroup=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity]);
if(!$usergroup||$usergroup->getRolegroup()<50) throw $this->createNotFoundException('Permission denied');
$fgmanager=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity,"fgmanager"=>true]);
if(!$fgmanager) throw $this->createNotFoundException('Permission denied');
}
}
@ -142,8 +142,8 @@ class SlideController extends Controller
}
else {
$groupentity=$this->getDoctrine()->getRepository("CadolesCoreBundle:Group")->find($group);
$usergroup=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity]);
if(!$usergroup||$usergroup->getRolegroup()<50) throw $this->createNotFoundException('Permission denied');
$fgmanager=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity,"fgmanager"=>true]);
if(!$fgmanager) throw $this->createNotFoundException('Permission denied');
}
}
@ -206,8 +206,8 @@ class SlideController extends Controller
}
else {
$groupentity=$this->getDoctrine()->getRepository("CadolesCoreBundle:Group")->find($group);
$usergroup=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity]);
if(!$usergroup||$usergroup->getRolegroup()<50) throw $this->createNotFoundException('Permission denied');
$fgmanager=$this->getDoctrine()->getRepository("CadolesCoreBundle:UserGroup")->findoneby(["user"=>$this->getUser(),"group"=>$groupentity,"fgmanager"=>true]);
if(!$fgmanager) throw $this->createNotFoundException('Permission denied');
}
}

View File

@ -39,20 +39,6 @@ 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");

View File

@ -149,7 +149,7 @@ class Alert
{
$today = new \DateTime();
if (null === $this->unpublishedat) {
return false;
return true;
}
if ($this->unpublishedat->getTimestamp() < $today->getTimestamp()) {
return true;

View File

@ -132,17 +132,6 @@ class Calendar
return $this;
}
private $canadd;
public function getCanadd()
{
return $this->canadd;
}
public function setCanadd($canadd)
{
$this->canadd = $canadd;
return $this;
}
/* Password User */
public function setPassword($password)
{

View File

@ -95,13 +95,6 @@ class Item
*/
private $color;
/**
* @var string
*
* @ORM\Column(name="badgeurl", type="string", length=250, nullable=true)
*/
private $badgeurl;
/**
* @var string
*
@ -122,20 +115,6 @@ 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
@ -671,76 +650,4 @@ 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;
}
}

View File

@ -33,7 +33,7 @@ class AlertType extends AbstractType
"label" => 'Description',
"required" => false,
"disabled" => ($options["mode"]=="delete"?true:false),
"config" => array("height" => "500px","filebrowserUploadRoute" => 'cadoles_portal_config_alert_upload')
"config" => array("height" => "500px")
])
->add("fghideable",ChoiceType::class,[
@ -118,13 +118,14 @@ class AlertType extends AbstractType
->add('publishedat', DateType::class, [
'label' => 'Publier du',
"widget" => 'single_text',
'input' => 'datetime',
])
->add('unpublishedat', DateType::class, [
'label' => 'Jusqu\'au',
'input' => 'datetime',
'required' => false,
"widget" => 'single_text',
'years' => range(date('Y'), date('Y')+10)
]);

View File

@ -35,9 +35,8 @@ class BlogShareType extends AbstractType
->where('g.fgcanshare=:fgcanshare')
->andWhere('g=ug.group')
->andWhere('ug.user=:user')
->andWhere('ug.rolegroup>=:role')
->andWhere('ug.fgmanager=:fgcanshare')
->setParameter('fgcanshare',true)
->setParameter('role',90)
->setParameter('user',$user);
},
'choice_label' => 'label',

Some files were not shown because too many files have changed in this diff Show More