mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-05-19 12:05:26 +02:00
Compare commits
856 commits
Author | SHA1 | Date | |
---|---|---|---|
151b229c3d | |||
118b784a5d | |||
2db4d0fbae | |||
bd98a8b8ef | |||
1a88707f87 | |||
4ce95e54b8 | |||
2ccf579125 | |||
171161ae18 | |||
d26c52400e | |||
62759330a8 | |||
5e9773a015 | |||
557db5d456 | |||
15f67ef00d | |||
753f47fa97 | |||
89c363bd80 | |||
e59ab4a94c | |||
87e58e6425 | |||
e9c49c242f | |||
e8781ab779 | |||
15e3ffe6ef | |||
34396a5fe1 | |||
Benjamin Renard | dc8e08b5d1 | ||
bf1a3affe4 | |||
2104187b14 | |||
78af62d428 | |||
2d08374a53 | |||
129cfa537b | |||
f176b626d5 | |||
f9bf3a7597 | |||
06654969d0 | |||
e985f50d8a | |||
59436c9fe4 | |||
1c42aa3a47 | |||
96d99f5b06 | |||
5998983315 | |||
5e8d625a34 | |||
7a4f0fac69 | |||
9384d2e312 | |||
e77a96066d | |||
c0e388f09b | |||
cfa2ff1e6d | |||
1639001a3c | |||
2de8c720b5 | |||
0a98056be9 | |||
c60730f25c | |||
aa197983a1 | |||
1b672f59e7 | |||
11a8448b0a | |||
95f60a534a | |||
961740c855 | |||
0c171789d3 | |||
05519c5432 | |||
fde66b2335 | |||
5376435d8b | |||
fa5b5ceb6d | |||
3a862ce93e | |||
fea76e7af2 | |||
6ff53b412e | |||
a4319237f2 | |||
a6d0f7d126 | |||
33e0687d1e | |||
b1ee3460b1 | |||
0eb0143921 | |||
425df3da3a | |||
1a2fe50ba2 | |||
7c48b8062b | |||
bc171e6092 | |||
b3cd453918 | |||
1c900320db | |||
65d1d50c3a | |||
087b7e3065 | |||
c98e31b7c6 | |||
cc9942019f | |||
513ed9a024 | |||
6ca8427d5d | |||
548315b248 | |||
4003fdfcfc | |||
341f555e0c | |||
27ad049ac7 | |||
99f83f326d | |||
c97d47ac00 | |||
823006937a | |||
7b7ff7e629 | |||
2d108c8b08 | |||
fa60f54b15 | |||
89ee2f1ec3 | |||
069dac2afe | |||
db491f51e7 | |||
2b52e863e6 | |||
3bbf770e33 | |||
48e5d45d32 | |||
e103bee065 | |||
13d83dbf75 | |||
80a50f98f1 | |||
140b000877 | |||
d387052068 | |||
1825ce429e | |||
4ec5769276 | |||
f3d6b10a9e | |||
58dbdcb7fe | |||
f3e7557421 | |||
85d6a87fcf | |||
29bfca1792 | |||
f8c38dd3b6 | |||
796e3287e9 | |||
2239120912 | |||
a529b8ce2b | |||
aae4751a41 | |||
1534a40c7b | |||
85592f94fd | |||
f113c87a15 | |||
68fcb6f81a | |||
e303706779 | |||
cbf1ff1769 | |||
a717f051b9 | |||
82b29e6abc | |||
98a5e6c1b3 | |||
4f69036f2f | |||
43cb6c3f93 | |||
1b38957235 | |||
f4f39d967e | |||
89a13d86c6 | |||
d80c15acc1 | |||
a3fc7bacfa | |||
d7ba794839 | |||
56e17a40f6 | |||
f53d868640 | |||
8e1aa74e12 | |||
ecaf2aeb13 | |||
20432adb14 | |||
bbde10bbf0 | |||
8a02680114 | |||
e71823b644 | |||
38fa02619d | |||
7f862c9765 | |||
a8e0707e7a | |||
a9d00cd3c1 | |||
fd17f87a57 | |||
a0ceb1dbdc | |||
466dec4a64 | |||
dcf68a2330 | |||
a56b20728a | |||
e23ee2f209 | |||
75258d9744 | |||
c0d8f9f81a | |||
1aa4dd8113 | |||
913a340ed4 | |||
1da20e7dcf | |||
2adbdb62c7 | |||
855bcc8564 | |||
3eba1e24d6 | |||
fd81cb496f | |||
4ae9e304ad | |||
c657e318dd | |||
38d5fd5094 | |||
c4e9a33d2d | |||
23d185c171 | |||
7eee7e32b9 | |||
457995bc22 | |||
f5d21ec93c | |||
728be381a6 | |||
064d0f720b | |||
faad922f03 | |||
9d3e69c86d | |||
9c53608fa2 | |||
ad38812859 | |||
bbf40090a9 | |||
fe1181b531 | |||
2375f95063 | |||
3ac8557e59 | |||
5d51114b8d | |||
db287937b7 | |||
dfe3f7d27a | |||
29966b75ae | |||
25f2ccd32e | |||
b42093cf45 | |||
d15fdc5d8e | |||
2d27a7049f | |||
74df3d2f61 | |||
06071f2f5f | |||
c9b2341dbf | |||
7cb8620cb5 | |||
27f06b7b66 | |||
c0d874c68d | |||
91b2b4e1ab | |||
6770babe14 | |||
5e500d5cde | |||
5f06ec8d28 | |||
d89d75f72b | |||
28d08aaae8 | |||
17b9701061 | |||
872a15af94 | |||
59ecc0d7fa | |||
9907e08f18 | |||
a3aa857c78 | |||
26c0026cfc | |||
fed9acfedd | |||
b5c5123bbb | |||
2b71bba8db | |||
2fa20316bc | |||
99f5cc3728 | |||
1ece486cd8 | |||
e67e087853 | |||
43b3a15191 | |||
bb4611d609 | |||
e099a27533 | |||
a7356f5e67 | |||
f635ad609a | |||
8cb36c7aa9 | |||
18cc960755 | |||
531991a1e5 | |||
3298320b3d | |||
2a0981a21e | |||
Benjamin Renard | 12cfb6aa23 | ||
f07e10c40e | |||
096b1d3301 | |||
0af81bf0a3 | |||
9315acc545 | |||
ba8b78706a | |||
988d744836 | |||
16c6d9fa6e | |||
9469103f0e | |||
cc07f293ab | |||
a0fc721776 | |||
3161ace3b7 | |||
e8b8dd1730 | |||
3c6ce596d9 | |||
3c02b94085 | |||
6e98cfef20 | |||
25162f406d | |||
3c7ec2890a | |||
6bc1e46afb | |||
0b850e8acb | |||
516cc12d1b | |||
b936decf89 | |||
afb67b02e9 | |||
b37a2b321f | |||
c45f884aa1 | |||
78de233321 | |||
0360ab7951 | |||
36eae85bc3 | |||
df57967669 | |||
bc652f81f8 | |||
107d8ba0af | |||
c87f609610 | |||
c533aecc34 | |||
7c45c4bb8c | |||
9879dd3eda | |||
72933c9408 | |||
ef2271e7eb | |||
88bb4eef49 | |||
441b5d0af9 | |||
7e68b42b4c | |||
11f32dea04 | |||
83e795044f | |||
8dbbda801a | |||
eccb234210 | |||
159b3fbe7e | |||
40fdc92451 | |||
febb83e39d | |||
1683cadd73 | |||
bf28a6ea94 | |||
cab8c2e66d | |||
1aed362863 | |||
ade6a031dc | |||
0f791ee3cc | |||
6dcae071b5 | |||
0ac0a7e068 | |||
077a44fdf9 | |||
b104454603 | |||
fdbb9842df | |||
2a1d079717 | |||
60532145e3 | |||
631502d9c2 | |||
09d1aeb020 | |||
4b634e408d | |||
59d6d0865d | |||
d94f96498a | |||
7005100ac4 | |||
6d95f9bfd5 | |||
c81e2d0ee3 | |||
639f46d8a4 | |||
aa48cd3980 | |||
f81ac1e31e | |||
0a0f2d7730 | |||
342e575e9f | |||
d6aad3acc8 | |||
2c64eb8e97 | |||
2b6b8ce270 | |||
20c1148f69 | |||
d637a570f1 | |||
dff2aa8b46 | |||
6cce15ddf5 | |||
573737adfd | |||
0ffbf3274a | |||
15823ad677 | |||
84c3cd0d9b | |||
d0397ec41e | |||
3ddc51004f | |||
0e2911dfe5 | |||
f960b2d394 | |||
60d67f3123 | |||
640c0c1d70 | |||
96c7e33034 | |||
78fedd79b2 | |||
3703d0330e | |||
3d9b3c2947 | |||
825b5eb52f | |||
67774a6832 | |||
b26e21fb51 | |||
7578b76737 | |||
d23c84a87d | |||
465d88a609 | |||
935060987b | |||
bf82051249 | |||
44ab0ecab5 | |||
009cb34122 | |||
f3b16bc4f2 | |||
ba2de0f9ec | |||
c9f63fa5e9 | |||
3151721838 | |||
5b7b22dde1 | |||
8c317e127c | |||
a217e42a19 | |||
4c4983b634 | |||
6098f3bc5f | |||
91af444d0a | |||
6b4bc036e3 | |||
60eca6967c | |||
68b1c182db | |||
fb62ce2eed | |||
d27a59f807 | |||
82a236a67c | |||
f47e40a5ac | |||
1e284f098a | |||
f36c989136 | |||
b8040e3d8b | |||
19dd343106 | |||
36a1719b26 | |||
5f4798a5a1 | |||
7ecfa33afc | |||
7af066f4c2 | |||
a25b1e8c10 | |||
e05f0df20d | |||
16373e6904 | |||
5c10277861 | |||
638bb83eed | |||
ff57a12b0e | |||
724e9acedd | |||
0ec390e1fe | |||
e92bc10c8b | |||
305d7447ff | |||
841b3d0bcf | |||
eb8cfbf66a | |||
2544687b27 | |||
cb0106fda9 | |||
ac7e042c2a | |||
40a17c3524 | |||
bc9cc77cde | |||
d48a3c2dc0 | |||
29e499e1d6 | |||
fadfe2d2ba | |||
2fec564d91 | |||
9680f8a18e | |||
957777d44f | |||
7ef6e57c49 | |||
a353ca5c37 | |||
06b8fddc51 | |||
89ecbb8a5c | |||
14352da6bd | |||
514a2eb0fd | |||
7535530416 | |||
43d2620f8e | |||
1c13aa7cdd | |||
f6f2e352bc | |||
d39bba45fb | |||
1428b5df62 | |||
114e3c48ac | |||
089693ea0e | |||
d59f8c52bb | |||
443d51865f | |||
28ac541c3c | |||
0f0bff5a77 | |||
ab922356c0 | |||
a49cf4ba0c | |||
8b292f538d | |||
2abc369c73 | |||
e2ff1503ab | |||
3a946a47e3 | |||
f2a78f3d5c | |||
f6a6c226f4 | |||
852b375964 | |||
1da0693138 | |||
a7ab192274 | |||
c6501d479b | |||
2161cc701a | |||
bc462c07b6 | |||
597054acad | |||
42dd0aa728 | |||
3c75ef482e | |||
4e8a6db06b | |||
0addf22c2e | |||
b4a5824ee8 | |||
106a2d9f04 | |||
770533b7ec | |||
f7231229f5 | |||
335d6a4efa | |||
b93187f208 | |||
b00f59af2e | |||
88248506cf | |||
ef9470bf31 | |||
8b996885d1 | |||
56ffbd7a71 | |||
d5bfddf124 | |||
6c35af3109 | |||
e0bf5a73f5 | |||
3598e48c6e | |||
85b74feb86 | |||
43cf5ccd7a | |||
de62999fea | |||
8f407e9345 | |||
5315005382 | |||
9edfa2b92e | |||
d6c9e358f3 | |||
255817d7aa | |||
a848888894 | |||
bf482c648f | |||
41d816c025 | |||
e4ca5bbf71 | |||
052882eb49 | |||
822d777dfd | |||
1169772c4a | |||
b8c00a8708 | |||
e62ddbdc19 | |||
aeea76ab2a | |||
00132e32ad | |||
060ebf1bff | |||
00d92d1c37 | |||
4e87ddb898 | |||
d344c56f45 | |||
be04b6becf | |||
d0d3e944ed | |||
988054bfc5 | |||
1e6fa6fe8e | |||
fd4bf4f38a | |||
02ad9ded1e | |||
b3210c0108 | |||
63f57cfd77 | |||
a4183a88fc | |||
15941ac678 | |||
7e74853021 | |||
cccce6edb5 | |||
6a3fd60d3e | |||
df1c46eab6 | |||
e89d13d002 | |||
14bccc1e17 | |||
88d8d7f026 | |||
9db67eb2ba | |||
1d1e813edf | |||
bbaa0a99df | |||
406b017023 | |||
4c427b26d6 | |||
0de62c218d | |||
8be45249cb | |||
5b9e6409f4 | |||
4c1c7b2fae | |||
6ed225be8f | |||
be497226ae | |||
7711b3c00a | |||
699631b63c | |||
5975d36a1c | |||
c5b378abe4 | |||
592288bfaa | |||
f0ef642cf0 | |||
0c9a077399 | |||
74468584c1 | |||
a8e2ecc343 | |||
827cf2ca7f | |||
3d49092262 | |||
75cbea9459 | |||
a7d202e5ff | |||
8a1eefc5e3 | |||
c4dc2a0441 | |||
11c2e3c9d4 | |||
7c8fb87c99 | |||
70370f99f9 | |||
e8768d94ce | |||
ada72f3604 | |||
b13ff9b832 | |||
34d7e10f9a | |||
845fdbb4d8 | |||
f223827157 | |||
ee74eed4b8 | |||
cdd6189e91 | |||
8d48716e7b | |||
848d85589b | |||
5fcf3bbf9c | |||
1f1a4e16fa | |||
f234709722 | |||
42e6437966 | |||
3ce495c2c3 | |||
b0b50c51e4 | |||
82198c26a9 | |||
6eee099bd2 | |||
3dc0d7f637 | |||
5bbe076e23 | |||
5e3071d24c | |||
00bb46f6f1 | |||
82d6583ad9 | |||
d5d88d2601 | |||
ba85e5c2fc | |||
14f28a1ec0 | |||
3dbfe18afb | |||
1420439403 | |||
712d18b09f | |||
626e0d854c | |||
634e2e18f5 | |||
36ecea5174 | |||
669d679464 | |||
f9ebf06a63 | |||
7eac609bd9 | |||
6c0324bcc4 | |||
f45074e228 | |||
5b6bb28b4d | |||
bf054a839d | |||
f8f24df2dd | |||
69fc42a299 | |||
05e0cd56b4 | |||
0a8ed10695 | |||
0b180e63b0 | |||
f0bb4f585c | |||
312b3dfb11 | |||
a21b40d706 | |||
f277528400 | |||
c232a9899d | |||
5696eb99c4 | |||
5872430863 | |||
b898b0a9b7 | |||
e58999bbaf | |||
7ed325bac7 | |||
12e4b45cf6 | |||
d456240fde | |||
e44be00ebd | |||
f66b7186e8 | |||
dde982f42c | |||
2c6b95b3d6 | |||
47d97a00ce | |||
d0beb86b3d | |||
c36b385e0f | |||
f0f2ce48ad | |||
06852080a8 | |||
0ce63f3d1e | |||
3c27fa92ca | |||
da2c90a337 | |||
458ca79418 | |||
173ef8603d | |||
Benjamin Renard | 4a72388c60 | ||
Benjamin Renard | 1eced8f47a | ||
Benjamin Renard | daac4db329 | ||
Benjamin Renard | 9de22502ef | ||
Benjamin Renard | 4ba584e8c6 | ||
Benjamin Renard | 559f9d9475 | ||
Benjamin Renard | a65322335e | ||
Benjamin Renard | c8820ff841 | ||
Benjamin Renard | 3494cc55c8 | ||
Benjamin Renard | 6c9ad1884a | ||
Benjamin Renard | e9cc1a35b5 | ||
Benjamin Renard | 9cd76faeed | ||
Benjamin Renard | 079f39ab4b | ||
c0f0a0645c | |||
a5814afefc | |||
6e02cbe2d5 | |||
38ed2ca08c | |||
9c11a81220 | |||
6e14916bae | |||
ac1626fe22 | |||
1b98dbfe80 | |||
e86b20bec0 | |||
84b14c0e5b | |||
030b1c45f9 | |||
61f492faf7 | |||
f16dd52aaa | |||
5708630abb | |||
8add94d54f | |||
c6dcc95b51 | |||
62b0eb36ab | |||
6f3edba986 | |||
6f612199a0 | |||
9848e3d30e | |||
c221bbffdb | |||
6e9266b3c5 | |||
08c23d67a8 | |||
78b18a5729 | |||
f0729a991b | |||
61d34557b5 | |||
62a08bfbf9 | |||
cbaa1eadfd | |||
31f6189f4a | |||
bfd60b28c6 | |||
49656cd6f6 | |||
ff3ca35bed | |||
c29240d771 | |||
506c0fb622 | |||
62ec0a2b1e | |||
ba41b527c0 | |||
78fefb6c8f | |||
0469d0723f | |||
2adbd4cb38 | |||
c989126f9a | |||
47d5ce021d | |||
4f2afc318f | |||
f07d15e2eb | |||
a09841422d | |||
7b14412516 | |||
873c12d722 | |||
bfe7e18e58 | |||
88c995ac5c | |||
81c8a486d9 | |||
69addc15ea | |||
c6526a4e9a | |||
de5a4366a9 | |||
3fbd9e8073 | |||
0b4e6d4104 | |||
cb9babd825 | |||
f4f1e66434 | |||
3ecf6018dd | |||
04dc6c910a | |||
861aa7a340 | |||
90879dc582 | |||
49a34fa8e3 | |||
cb54a1785d | |||
346e36a765 | |||
e868744ea9 | |||
aba5a131c2 | |||
4feec44639 | |||
534295d4f3 | |||
47d9b907af | |||
d68b15bac3 | |||
cf1a98e4b3 | |||
a9860f83de | |||
fc3912b48b | |||
c8b32f90b9 | |||
6d21aa8b72 | |||
9aec383694 | |||
e53331c0ec | |||
c4db08d265 | |||
bde0f1f234 | |||
2c1d03ac7a | |||
fc92305bf3 | |||
a6e9aeaa8b | |||
e8095636b5 | |||
3cf053cf26 | |||
cb83311bd0 | |||
2ed985324e | |||
69eaf31598 | |||
c120e76822 | |||
76577c058b | |||
e1cce4e696 | |||
510f3d4bdc | |||
f7c4050b70 | |||
252095b32b | |||
9bb52296b7 | |||
8b4b227327 | |||
a1a23d1600 | |||
da9c0e344b | |||
42f4e8a860 | |||
8e2c521d18 | |||
351b18827d | |||
50c06500e6 | |||
4ef0a8fb30 | |||
b2ef404da5 | |||
d2761a29ae | |||
db710efb87 | |||
f1ce6380b9 | |||
047d6f51c8 | |||
e6e5f1c2b8 | |||
8a98a6cf30 | |||
80cdd7a789 | |||
c014e235e8 | |||
90944dd541 | |||
694391e1e7 | |||
23bb4aac0e | |||
4a3e4e3fbb | |||
a6f07faca0 | |||
5660804ef7 | |||
e75abab737 | |||
58956d2ece | |||
838a1781b7 | |||
6f3ad49abf | |||
b388656724 | |||
898e312d7e | |||
5f17c45cf4 | |||
499ff808f4 | |||
f61a8b7c71 | |||
Benjamin Renard | 85786bc33c | ||
Benjamin Renard | 0feb8e16ea | ||
Benjamin Renard | 2b535c4640 | ||
Benjamin Renard | 25877a488b | ||
Benjamin Renard | 72f38d0612 | ||
Benjamin Renard | a356555e0a | ||
Benjamin Renard | 3d9c11e12f | ||
Benjamin Renard | 1de6d1d25e | ||
Benjamin Renard | 0d916d3d0d | ||
Benjamin Renard | 258b712d52 | ||
Benjamin Renard | ca7a6e821e | ||
Benjamin Renard | 108b14560d | ||
Benjamin Renard | 24cf73cf91 | ||
Benjamin Renard | 65a5825ce7 | ||
Benjamin Renard | cc288cc391 | ||
Benjamin Renard | 77144a21d0 | ||
Benjamin Renard | ed61cacd8b | ||
Benjamin Renard | 1a26fdafff | ||
Benjamin Renard | 3e0829ba31 | ||
Benjamin Renard | fb7efd9a14 | ||
Benjamin Renard | 5674a99a7c | ||
Benjamin Renard | 6abf194807 | ||
Benjamin Renard | 5dedbc7d08 | ||
Benjamin Renard | 22b4a7f712 | ||
Benjamin Renard | 2f8d644af0 | ||
Benjamin Renard | 0cac3631c6 | ||
Benjamin Renard | e0a44cb8aa | ||
Benjamin Renard | 7425555b3d | ||
Benjamin Renard | 6db3543ec0 | ||
Benjamin Renard | b574300ab3 | ||
Benjamin Renard | aebdb4a111 | ||
Benjamin Renard | 27938eefb9 | ||
Benjamin Renard | 7c43439224 | ||
Benjamin Renard | d069df4d6c | ||
de73ffdd60 | |||
cd8908391d | |||
b9477a8503 | |||
b0d56ef387 | |||
1dabe6d6aa | |||
3c613b7ab4 | |||
e87270112e | |||
7153356a24 | |||
16aa789b21 | |||
91ea37f841 | |||
4bd18a14e4 | |||
1dd07fd523 | |||
66d437cb8d | |||
6ba8f2732c | |||
041e38e131 | |||
3fbe53d4c6 | |||
1cb2c47bfb | |||
03255e41f4 | |||
eb2b939dfe | |||
6dcbddf84c | |||
dfc3f8e8a8 | |||
4828ac6b30 | |||
fbba445106 | |||
9028414568 | |||
4bed3e6c17 | |||
68a2105900 | |||
fe4ef419fd | |||
83b64aac87 | |||
52f7c3a205 | |||
1f24bdb531 | |||
dea00a25d9 | |||
eb93969186 | |||
2183149097 | |||
7098b3ee79 | |||
4593a94c7f | |||
cf40eb999a | |||
edc625b85f | |||
92f3d0be8e | |||
2a39fb7661 | |||
4c344aa570 | |||
a7fea52c92 | |||
55d78db99f | |||
71972ea90c | |||
4097eaed38 | |||
07cdad29a4 | |||
958c5b16a8 | |||
add68ec132 | |||
86b5e8fece | |||
03485bd486 | |||
d6848a3d71 | |||
07e7c3031f | |||
2766237481 | |||
119ce68a35 | |||
feb346acef | |||
338c61838f | |||
43da89992a | |||
9bbd41468b | |||
ed3d2cda59 | |||
c29c0dbe08 | |||
06455db4f3 | |||
5c372cdb44 | |||
ac2416a967 | |||
aba1d18b95 | |||
f8fa2e3d69 | |||
5474cd2315 | |||
23d5161bfe | |||
50ea12a81c | |||
8c2e5e604b | |||
a3649706cc | |||
8c417b6bc1 | |||
d07fb3915c | |||
336b5307b3 | |||
b500b7821e | |||
1ad7f9e462 | |||
53b15e89f8 | |||
ddd6b265e3 | |||
ff2ede7c36 | |||
fa3742c609 | |||
448d977f14 | |||
164a8fab48 | |||
6597a630cf | |||
c1bcad362d | |||
58fba457f5 | |||
35a67dca92 | |||
7879ddf699 | |||
09e051a1e7 | |||
1ebdc91d30 | |||
72b4c27651 | |||
f52f81c1d4 | |||
2a5ef1bb4e | |||
1ee61bfaeb | |||
6ea6b78fd4 | |||
c63040203d | |||
de3adbbffb | |||
43d0df60cd | |||
ffdb8d4cf7 | |||
103689d6ad | |||
9059629846 | |||
69b7ce3f4f | |||
c4687bdfdb | |||
f32fb31d6e | |||
7f1fa41e3a | |||
05d4414a41 | |||
36adcf0f5f | |||
95296871bb | |||
bed05af674 | |||
08f3be6e20 | |||
1f4c21256f | |||
4c8a4b71e8 | |||
3b9da7b42e | |||
e37c06f102 | |||
a33e7b3192 | |||
4df855e0ab | |||
6a0d2f1767 | |||
defc395022 | |||
e5ad1dfd44 | |||
b1252ea0bf | |||
90399ecdfb | |||
4b1c6a2acf | |||
c74f0cf4bd | |||
2fa55a1332 | |||
278b084214 | |||
25504c53ed | |||
2708dd01ee | |||
1a2d881322 | |||
f3e332593e | |||
ee74f4d644 | |||
9a2c41d8ad |
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -1,3 +1,10 @@
|
|||
upgrade.log
|
||||
*.sav
|
||||
*~
|
||||
vendor
|
||||
/src/local.*
|
||||
tests-report*.xml
|
||||
.phplint-cache
|
||||
/ldapsaisie-snapshot.tar.gz
|
||||
/dist
|
||||
/.env
|
||||
|
|
351
.gitlab-ci.yml
Normal file
351
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,351 @@
|
|||
stages:
|
||||
- tests
|
||||
- build
|
||||
- publish
|
||||
- release
|
||||
|
||||
variables:
|
||||
DOC_BRANCH: doc
|
||||
DOC_REMOTE: https://gitlab-ci-token:${ACCESS_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git
|
||||
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
||||
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}"
|
||||
|
||||
tests:bookworm:
|
||||
image:
|
||||
name: docker.io/brenard/ldapsaisie:bookworm
|
||||
entrypoint: [""]
|
||||
stage: tests
|
||||
rules:
|
||||
- changes:
|
||||
- src/**/*.php
|
||||
script:
|
||||
- rm -fr vendor
|
||||
- composer install
|
||||
- service slapd start
|
||||
- >
|
||||
if [ "$GITLAB_CI" == "true" ]; then
|
||||
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-bookworm.xml
|
||||
else
|
||||
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon
|
||||
fi
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- tests-report-bookworm.xml
|
||||
reports:
|
||||
junit: tests-report-bookworm.xml
|
||||
|
||||
tests:bullseye:
|
||||
image:
|
||||
name: docker.io/brenard/ldapsaisie:bullseye
|
||||
entrypoint: [""]
|
||||
stage: tests
|
||||
rules:
|
||||
- changes:
|
||||
- src/**/*.php
|
||||
script:
|
||||
- rm -fr vendor
|
||||
- composer install
|
||||
- service slapd start
|
||||
- >
|
||||
if [ "$GITLAB_CI" == "true" ]; then
|
||||
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-bullseye.xml
|
||||
else
|
||||
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon
|
||||
fi
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- tests-report-bullseye.xml
|
||||
reports:
|
||||
junit: tests-report-bullseye.xml
|
||||
|
||||
tests:buster:
|
||||
image:
|
||||
name: docker.io/brenard/ldapsaisie:buster
|
||||
entrypoint: [""]
|
||||
stage: tests
|
||||
rules:
|
||||
- changes:
|
||||
- src/**/*.php
|
||||
script:
|
||||
- rm -fr vendor
|
||||
- composer install
|
||||
- service slapd start
|
||||
- ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-buster.xml
|
||||
- >
|
||||
if [ "$GITLAB_CI" == "true" ]; then
|
||||
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-buster.xml
|
||||
else
|
||||
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon
|
||||
fi
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- tests-report-buster.xml
|
||||
reports:
|
||||
junit: tests-report-buster.xml
|
||||
|
||||
tests:stretch:
|
||||
image:
|
||||
name: docker.io/brenard/ldapsaisie:stretch
|
||||
entrypoint: [""]
|
||||
stage: tests
|
||||
rules:
|
||||
- changes:
|
||||
- src/*
|
||||
script:
|
||||
- cd /tmp/
|
||||
- composer require overtrue/phplint --dev
|
||||
- cd -
|
||||
- rm -f .phplint-cache
|
||||
- /tmp/vendor/bin/phplint src
|
||||
|
||||
tests:jessie:
|
||||
image:
|
||||
name: docker.io/brenard/ldapsaisie:jessie
|
||||
entrypoint: [""]
|
||||
stage: tests
|
||||
rules:
|
||||
- changes:
|
||||
- src/**/*.php
|
||||
script:
|
||||
- cd /tmp/
|
||||
- composer require overtrue/phplint --dev
|
||||
- cd -
|
||||
- rm -f .phplint-cache
|
||||
- /tmp/vendor/bin/phplint src
|
||||
|
||||
build:debian-stable:
|
||||
image: docker.io/brenard/debian-python-deb:debian11
|
||||
stage: build
|
||||
cache:
|
||||
paths:
|
||||
- .cache/pip
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- ./build-deb.sh --install-build-deps
|
||||
- rm -fr dist/ldapsaisie-*
|
||||
- dpkg-parsechangelog --format dpkg|awk '/ ldapsaisie /,0'|tail -n +3 > dist/release-notes.md
|
||||
artifacts:
|
||||
paths:
|
||||
- dist/*
|
||||
|
||||
build:debian-sid:
|
||||
image: docker.io/brenard/debian-python-deb:debian11
|
||||
stage: build
|
||||
cache:
|
||||
paths:
|
||||
- .cache/pip
|
||||
only:
|
||||
- master
|
||||
script:
|
||||
- ./build-deb.sh --install-build-deps --sid
|
||||
- rm -fr dist/ldapsaisie-*
|
||||
artifacts:
|
||||
paths:
|
||||
- dist/*
|
||||
|
||||
build:snapshot:
|
||||
stage: build
|
||||
image: docker.io/alpine
|
||||
only:
|
||||
- master
|
||||
script:
|
||||
- tar -czf ldapsaisie-snapshot.tar.gz --exclude=ldapsaisie-snapshot.tar.gz ./
|
||||
artifacts:
|
||||
paths:
|
||||
- ldapsaisie-snapshot.tar.gz
|
||||
|
||||
build:doc:html:
|
||||
stage: build
|
||||
image: docker.io/python:alpine
|
||||
cache:
|
||||
paths:
|
||||
- .cache/pip
|
||||
- doc/venv
|
||||
only:
|
||||
- master
|
||||
before_script:
|
||||
- apk add make git
|
||||
- git config user.name $GITLAB_USER_NAME
|
||||
- git config user.email $GITLAB_USER_EMAIL
|
||||
- VERSION=`git describe --tags`
|
||||
- cd doc
|
||||
- git fetch origin $DOC_BRANCH
|
||||
- git rev-parse --verify $DOC_BRANCH && git branch -D $DOC_BRANCH || echo "No existing local git $DOC_BRANCH branch"
|
||||
- git checkout -b $DOC_BRANCH origin/$DOC_BRANCH
|
||||
- git checkout $CI_COMMIT_SHA
|
||||
- make clean && make venv
|
||||
script:
|
||||
- make LdapSaisie.html
|
||||
- test -n "$CI_COMMIT_TAG" && DOC_TAG=stable || DOC_TAG=dev
|
||||
- source venv/bin/activate # We must have to activate the venv to use mike (direct call not supported)
|
||||
- mike deploy --branch $DOC_BRANCH --remote $DOC_REMOTE --push --update-aliases $VERSION $DOC_TAG
|
||||
- mike set-default --branch $DOC_BRANCH --remote $DOC_REMOTE --push $DOC_TAG
|
||||
artifacts:
|
||||
paths:
|
||||
- doc/LdapSaisie.html
|
||||
|
||||
build:doc:pdf:
|
||||
stage: build
|
||||
image:
|
||||
name: docker.io/pink33n/html-to-pdf
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
only:
|
||||
- master
|
||||
needs:
|
||||
- build:doc:html
|
||||
script:
|
||||
- rm -f doc/LdapSaisie.pdf
|
||||
- /usr/local/bin/entrypoint --url file://$(pwd)/doc/LdapSaisie.html --pdf doc/LdapSaisie.pdf || test -f doc/LdapSaisie.pdf
|
||||
artifacts:
|
||||
paths:
|
||||
- doc/LdapSaisie.pdf
|
||||
|
||||
build:doc:epub:
|
||||
stage: build
|
||||
image:
|
||||
name: docker.io/pandoc/core
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
only:
|
||||
- master
|
||||
needs:
|
||||
- build:doc:html
|
||||
before_script:
|
||||
- apk add make
|
||||
script:
|
||||
- cd doc
|
||||
- test ! -d venv && mkdir venv && touch public_html LdapSaisie.html
|
||||
- make LdapSaisie.epub
|
||||
artifacts:
|
||||
paths:
|
||||
- doc/LdapSaisie.epub
|
||||
|
||||
build:doc:append_additional_versions:
|
||||
stage: build
|
||||
image: docker.io/python:alpine
|
||||
only:
|
||||
- master
|
||||
needs:
|
||||
- build:doc:html
|
||||
- build:doc:pdf
|
||||
- build:doc:epub
|
||||
before_script:
|
||||
- apk add git
|
||||
- git config user.name $GITLAB_USER_NAME
|
||||
- git config user.email $GITLAB_USER_EMAIL
|
||||
- VERSION=`git describe --tags`
|
||||
- cd doc
|
||||
- git fetch origin $DOC_BRANCH
|
||||
- git rev-parse --verify $DOC_BRANCH && git branch -D $DOC_BRANCH || echo "No existing local git $DOC_BRANCH branch"
|
||||
- git checkout -b $DOC_BRANCH origin/$DOC_BRANCH
|
||||
- git pull origin $DOC_BRANCH
|
||||
script:
|
||||
- cp LdapSaisie.html LdapSaisie.pdf LdapSaisie.epub dist/$VERSION/
|
||||
- git add dist/$VERSION/
|
||||
- git commit --amend --no-edit
|
||||
- git push --force $DOC_REMOTE $DOC_BRANCH
|
||||
|
||||
publish:doc:
|
||||
stage: publish
|
||||
image: docker.io/alpine:latest
|
||||
only:
|
||||
- master
|
||||
needs:
|
||||
- build:doc:append_additional_versions
|
||||
before_script:
|
||||
- apk update && apk add git openssh-client rsync
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add -
|
||||
- mkdir ~/.ssh
|
||||
- echo "$SSH_HOST_KEY" | base64 -d > ~/.ssh/known_hosts
|
||||
- git fetch origin $DOC_BRANCH
|
||||
- git rev-parse --verify $DOC_BRANCH && git branch -D $DOC_BRANCH || echo "No existing local git $DOC_BRANCH branch"
|
||||
- git checkout -b $DOC_BRANCH origin/$DOC_BRANCH
|
||||
- git pull origin $DOC_BRANCH
|
||||
script:
|
||||
- rsync -atv --exclude '.git*' --delete --progress ./doc/dist/ $SSH_USER@$SSH_HOST:doc/
|
||||
|
||||
publish:snapshot:
|
||||
stage: publish
|
||||
image: docker.io/alpine:latest
|
||||
only:
|
||||
- master
|
||||
needs:
|
||||
- build:snapshot
|
||||
before_script:
|
||||
- apk update && apk add openssh-client rsync
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add -
|
||||
- mkdir ~/.ssh
|
||||
- echo "$SSH_HOST_KEY" | base64 -d > ~/.ssh/known_hosts
|
||||
script:
|
||||
- rsync -atv ldapsaisie-snapshot.tar.gz $SSH_USER@$SSH_HOST:download/ldapsaisie-snapshot.tar.gz
|
||||
|
||||
publish:debian-stable:
|
||||
stage: publish
|
||||
image: docker.io/debian:stable-slim
|
||||
needs:
|
||||
- build:debian-stable
|
||||
only:
|
||||
- tags
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y --no-install-recommends rsync openssh-client dupload
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add -
|
||||
- mkdir ~/.ssh
|
||||
- echo "$SSH_HOST_KEY" | base64 -d > ~/.ssh/known_hosts
|
||||
- echo "$DUPLOAD_CONFIG" | base64 -d > ~/.dupload.conf
|
||||
script:
|
||||
- echo "Publish stable debian packages on APT repository..."
|
||||
- dupload --to debian-stable dist/ldapsaisie*changes
|
||||
|
||||
publish:gitlab:
|
||||
stage: publish
|
||||
image:
|
||||
name: docker.io/alpine/httpie
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
needs:
|
||||
- build:debian-stable
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- ./.gitlab/publish.sh
|
||||
artifacts:
|
||||
paths:
|
||||
- dist/release-notes.md
|
||||
- dist/release-files.txt
|
||||
|
||||
publish:debian-sid:
|
||||
stage: publish
|
||||
image: docker.io/debian:stable-slim
|
||||
only:
|
||||
- master
|
||||
needs:
|
||||
- build:debian-sid
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y --no-install-recommends rsync openssh-client dupload
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add -
|
||||
- mkdir ~/.ssh
|
||||
- echo "$SSH_HOST_KEY" | base64 -d > ~/.ssh/known_hosts
|
||||
- echo "$DUPLOAD_CONFIG" | base64 -d > ~/.dupload.conf
|
||||
script:
|
||||
- echo "Publish Sid debian packages on APT repository..."
|
||||
- dupload --to debian-sid dist/ldapsaisie*changes
|
||||
|
||||
release:
|
||||
stage: release
|
||||
image:
|
||||
name: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
needs:
|
||||
- publish:gitlab
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- ./.gitlab/release.sh
|
14
.gitlab/publish.sh
Executable file
14
.gitlab/publish.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd `dirname $0`/../dist
|
||||
rm -f release-files.txt
|
||||
touch release-files.txt
|
||||
|
||||
for file in *.deb
|
||||
do
|
||||
# The filename can contain only lowercase letters (a-z), uppercase letter (A-Z), numbers (0-9), dots (.),
|
||||
# hyphens (-), or underscores (_).
|
||||
filename=`echo $file|tr '~' '_'|tr '+' '_'|sed s/[^a-zA-Z0-9\.\_\-]//g`
|
||||
https --ignore-stdin --check-status PUT "${PACKAGE_REGISTRY_URL}/${filename}" "JOB-TOKEN: $CI_JOB_TOKEN" "@$file"
|
||||
echo $filename >> release-files.txt
|
||||
done
|
14
.gitlab/release.sh
Executable file
14
.gitlab/release.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Creating a release for $CI_COMMIT_TAG"
|
||||
|
||||
cd `dirname $0`/../dist
|
||||
|
||||
|
||||
CMD="release-cli create --name $CI_COMMIT_TAG --description release-notes.md --tag-name $CI_COMMIT_TAG"
|
||||
for file in `cat release-files.txt`
|
||||
do
|
||||
CMD="$CMD --assets-link {\"name\":\"$file\",\"url\":\"${PACKAGE_REGISTRY_URL}/$file\"}"
|
||||
done
|
||||
|
||||
$CMD
|
9
.phpstan/compat.php
Normal file
9
.phpstan/compat.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
$config = [];
|
||||
|
||||
if (PHP_VERSION_ID < 80100) {
|
||||
$config['parameters']['typeAliases']['FTP\Connection'] = 'resource';
|
||||
}
|
||||
|
||||
return $config;
|
18
.phpstan/config.neon
Normal file
18
.phpstan/config.neon
Normal file
|
@ -0,0 +1,18 @@
|
|||
includes:
|
||||
- compat.php
|
||||
|
||||
parameters:
|
||||
level: 3
|
||||
paths:
|
||||
- ../src
|
||||
excludePaths:
|
||||
- ../src/local
|
||||
- ../src/tmp
|
||||
bootstrapFiles:
|
||||
- ../src/includes/core.php
|
||||
- init.php
|
||||
typeAliases:
|
||||
LSformat: 'string'
|
||||
universalObjectCratesClasses:
|
||||
- LSsearchEntry
|
||||
- LSurlRequest
|
13
.phpstan/init.php
Normal file
13
.phpstan/init.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
require 'Net/LDAP2.php';
|
||||
require 'Console/Table.php';
|
||||
require 'Zxcvbn/autoload.php';
|
||||
require '/usr/share/php/phpseclib/autoload.php';
|
||||
require 'CAS.php';
|
||||
require 'Mail.php';
|
||||
require 'Mail/mime.php';
|
||||
require 'Html2Text.php';
|
||||
|
||||
spl_autoload_register(array('LSsession', 'loadLSclass'));
|
||||
LSsession :: initialize();
|
9
.pre-commit-config.yaml
Normal file
9
.pre-commit-config.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Pre-commit hooks to run tests and ensure code is cleaned.
|
||||
# See https://pre-commit.com for more information
|
||||
repos:
|
||||
- repo: https://github.com/digitalpulp/pre-commit-php.git
|
||||
rev: 1.4.0
|
||||
hooks:
|
||||
- id: php-stan
|
||||
files: ^src\/.*\.(php)$
|
||||
args: ['--configuration=.phpstan/config.neon']
|
267
INSTALL
Normal file
267
INSTALL
Normal file
|
@ -0,0 +1,267 @@
|
|||
|
||||
/========================\
|
||||
| INSTALLATION |
|
||||
\========================/
|
||||
|
||||
|
||||
1. Pré-requis
|
||||
=============
|
||||
|
||||
* Le service Apache HTTP avec le module mod_rewrite d'activé. Les règles de réécriture d'URL sont définies
|
||||
dans le fichier .htaccess fourni avec l'application et il est donc nécessaire d'autoriser une telle configuration
|
||||
à ce niveau via la directive AllowOverride devant inclure à minima FileInfo.
|
||||
* L'utisateur exécutant le serveur web doit avoir les droits d'écriture sur le dossier 'tmp'. En cas d'installation
|
||||
à partir du paquet Debian, ce dossier est remplacé par un lien symbolique vers le dossier /var/cache/ldapsaisie/.
|
||||
* PHP 5.6 (ou supérieur) avec magic_quotes_gpc et register_globals à off.L'outil CLI de PHP est par ailleurs
|
||||
nécessaire pour l'utilisation des outils CLI fournis avec l'application (fourni par le paquet php-cli dans Debian).
|
||||
* Le support LDAP dans PHP (paquet php-ldap dans Debian)
|
||||
* Le support mhash dans PHP (paquet php5-mhash dans Debian Lenny, intégré à php-common dans les versions supérieurs)
|
||||
* Le support json dans PHP (pear install pecl/json sur RedHat, intégré au paquet php5-common précédement)
|
||||
* Net_LDAP2 (paquet php-net-ldap2 dans Debian ou pear install net_ldap2)
|
||||
* Le support mbstring dans PHP (paquet php-mbstring depuis Debian Stretch, intégré au paquet php-common dans Debian)
|
||||
* Smarty (paquet smarty3 dans Debian)
|
||||
* La librairie File_CSV_DataSource (paquet php-file-csv-datasource dans Debian)
|
||||
* La librairie Console_Table (nécessaire pour le fonctionnement de l'outil CLI, paquet php-console-table dans Debian)
|
||||
* Les librairies Mail et Mail_Mime (nécessaire pour l'envoi de courriels, paquets php-mail et php-mail-mime dans Debian)
|
||||
* L'extension PHP ftp (nécessaire pour le fonctionnement du LSaddon FTP, paquet php-ftp dans Debian)
|
||||
* La librairie PhpSecLib (nécessaire pour le fonctionnement du LSaddon SSH, paquet php-phpseclib dans Debian)
|
||||
|
||||
#################
|
||||
# Avertissement #
|
||||
#################
|
||||
#
|
||||
# La librairie Net_LDAP2 oblige le fait que la racine DSE de l'annuaire soit lisible en anonyme sinon la connexion à
|
||||
# l'annuaire échouera systématiquement.
|
||||
#
|
||||
|
||||
|
||||
2. Téléchargement
|
||||
=================
|
||||
|
||||
2.1. A partir du paquet Debian
|
||||
------------------------------
|
||||
|
||||
L'installation à partir du paquet Debian peut être réalisée soit en téléchargeant manuellement le paquet, soit en
|
||||
déclarant le dépôt APT suivant dans votre fichier /etc/apt/sources.list :
|
||||
|
||||
deb http://ldapsaisie.org/debian stable main
|
||||
|
||||
|
||||
Il ne vous restera ensuite plus qu'a installer le paquet ldapsaisie avec la commande suivante :
|
||||
|
||||
apt-get install ldapsaisie
|
||||
|
||||
|
||||
Le fichier /etc/ldapsaisie/apache.conf est un example de configuration du serveur web Apache. La configuration du
|
||||
logiciel ce fera ensuite dans le dossier /etc/ldapsaisie/local/.
|
||||
|
||||
2.2. A partir de Git
|
||||
--------------------
|
||||
|
||||
Le dépôt Git peut être récupéré anonymement en utilisant la commande suivante :
|
||||
|
||||
git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git
|
||||
|
||||
|
||||
La racine web de l'application se trouvera alors dans le dossier /ldapsaisie/src/public_html/.
|
||||
|
||||
2.3. A partir des snapshot
|
||||
--------------------------
|
||||
|
||||
Toutes les nuits, un snapshot de l'arbre Git est réalisé et est téléchargeable au format tar.gz à l'adresse suivante :
|
||||
|
||||
http://ldapsaisie.org/download/ldapsaisie-snapshoot.tar.gz
|
||||
|
||||
3. Arborescence du projet
|
||||
=========================
|
||||
|
||||
Racine
|
||||
|
||||
doc/
|
||||
Les fichiers sources de la documentation (Markdown).
|
||||
lsexample/
|
||||
Les fichiers relatifs à l'annuaire d'exemple.
|
||||
src/
|
||||
|
||||
Les sources de l'application.
|
||||
|
||||
public_html/
|
||||
La racine web de l'application : celle-ci ne contient que les fichiers .htaccess et index.php qui configure et déclenche la réécriture d'URL.
|
||||
conf/
|
||||
|
||||
Contient les fichiers de configuration.
|
||||
|
||||
LSobjects/
|
||||
Configuration des LSobjects.
|
||||
LSaddons/
|
||||
Configuration des LSaddons.
|
||||
LSauth/
|
||||
Configuration des LSauthMethod.
|
||||
|
||||
includes/
|
||||
|
||||
Contient les fichiers des ressources.
|
||||
|
||||
addons/
|
||||
Les addons au projet.
|
||||
class/
|
||||
Les fichiers de définition des classes PHP.
|
||||
js/
|
||||
Les fichiers Javascript.
|
||||
libs/
|
||||
Les librairies utilisées.
|
||||
|
||||
lang/
|
||||
Les fichiers d'internationalisation.
|
||||
templates/
|
||||
Les fichiers template de l'interface. Il y a un sous-dossier par template.
|
||||
css/
|
||||
Les fichiers css de l'interface. Il y a un sous-dossier par template CSS.
|
||||
images/
|
||||
Les images de l'interface. Il y a un sous-dossier par template d'image.
|
||||
local/
|
||||
Les fichiers personnalisés de l'installation.
|
||||
tmp/
|
||||
Les fichiers temporaires (y compris le cache des templates).
|
||||
|
||||
|
||||
4. Tutoriel d'installation
|
||||
==========================
|
||||
|
||||
Cette section décrit les différentes étapes de l'installation de LdapSaisie. Deux méthodes d'installation sont présentées
|
||||
ici, l'une à partir des sources du projet et l'autre à partir du paquet Debian.
|
||||
|
||||
Dans ce tutoriel, nous partirons du principe que vous avez pleinement la main sur votre serveur (installation de nouveau
|
||||
paquet et configuration de votre serveur web). Nous partons également du principe que votre annuaire LDAP est déjà en
|
||||
place. Nous utiliserons pour cette exemple de mise ne oeuvre l'annuaire correspondant au schéma et à la configuration
|
||||
présente dans les sources du projet dans le dossier lsexample.
|
||||
|
||||
1. La première étape consiste à installer le locigiel en tant que tel. Pour cela, référez vous au chapitre
|
||||
Téléchargement.
|
||||
|
||||
En cas d'installation à à partir du paquet Debian, la configuration du logiciel se fera dans le dossier
|
||||
/etc/ldapsaisie/local/. Les fichiers placés dans ce dossier prévaleront toujours aux fichiers fournis par le paquet
|
||||
Debian, vous permettant facilement de modifier un composant existant ou dans écrire de nouveaux. Ainsi, pour modifier
|
||||
un fichier CSS par exemple, il vous suffira de le placer dans le dossier /etc/ldapsaisie/local/css/.
|
||||
|
||||
Pour une installation à partir du code source, il vous faut cloner le dépôt Git du projet dans le dossier
|
||||
/var/www/ldapsaisie. Pour cela il vous faut avoir installés les outils de Git contenu, dans Debian, dans le paquet
|
||||
git-core. Le dépôt Git doit ensuite être récupéré anonymement en utilisant la commande suivante :
|
||||
|
||||
git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git /var/www/ldapsaisie
|
||||
|
||||
|
||||
########
|
||||
# Note #
|
||||
########
|
||||
#
|
||||
# Pour que cette commande se déroule correctement, vous devez avoir accès au port TCP 443 du serveur
|
||||
# gitlab.easter-eggs.com. En cas de problème vérifiez votre parefeu.
|
||||
#
|
||||
|
||||
La suite des opérations se déroulera donc maintenant dans le dossier /var/www/ldapsaisie. Pour avoir plus de détails
|
||||
sur les élements qu'on retrouve dans ce dossier, vous pouvez consulter la section concernée. Nous allons nous
|
||||
instérésser plus particulièrement :
|
||||
|
||||
* au script upgradeFromGit.sh permettant la mise à jour de votre repos tout en concervant les adaptations que nous
|
||||
ferons pour l'usage d'LdapSaisie adapté à notre annuaire ;
|
||||
* au dossier config.local dans lequel seront stockés vos fichiers et vos adaptations de l'application ;
|
||||
* au dossier src/public_html qui correspond à la futur racine du site web de l'application.
|
||||
|
||||
Le principe de l'adaptation est ici de mettre vos fichiers personnalisés dans le dossier config.local, de les déclarer
|
||||
dans votre fichier config.local/local.sh contenant la liste des fichiers devant être installés. Le fichier local.sh est
|
||||
la source de configuration du script upgradeFromGit.sh. Il faut donc dans un premier temps créer votre fichier local.sh
|
||||
en copiant le fichier d'example local.sh.example. Ce fichier est un script bash déclarant les variables de
|
||||
configurations suivantes :
|
||||
|
||||
LOCAL_FILES
|
||||
|
||||
La liste des chemins des fichiers à installer dans l'arboressence du site. Cette élément doivent être séparés par
|
||||
des espaces ou des retour à la liste. Exemple :
|
||||
|
||||
public_html/conf/config.inc.php
|
||||
public_html/lang/fr_FR.UTF8/lang.php
|
||||
|
||||
LOG_FILE
|
||||
Nom du fichier de log des mises à jour.
|
||||
THEME
|
||||
Le nom du theme à installer (facultatif et non traité dans ce tutoriel).
|
||||
|
||||
########
|
||||
# Note #
|
||||
########
|
||||
#
|
||||
# * Il est possible d'utiliser dans ce fichier de configuration la variable bash $ROOT_DIR correspondant au chemin
|
||||
# du dossier d'installation, c'est à dire dans notre exemple /var/www/ldapsaisie.
|
||||
#
|
||||
|
||||
2. La deuxième étape concerne la configuration globale de l'application : Cette partie est principalement contenue dans
|
||||
le fichier conf/config.inc.php (ou /etc/ldapsaisie/local/conf/config.inc.php en cas d'installation à partir du paquet
|
||||
Debian). Il faut donc dans un premier temps copier ce fichier dans le dossier config.local et le déclarer dans la liste
|
||||
des fichiers à déployer lors des mises à jour (variable LOCAL_FILES dans le fichier local.sh). Il s'agit en particulier
|
||||
dans ce fichier de configurer la connexion à votre annuaire. Vous pouvez vous inspirer du fichier d'exemple fourni et
|
||||
pour plus de détails, consulter la documentation du projet. [1]
|
||||
|
||||
########
|
||||
# Note #
|
||||
########
|
||||
#
|
||||
# Notez qu'il est possible de passer l'application en mode debug ce qui peut être utile par la suite.
|
||||
#
|
||||
|
||||
3. La troisième étape concerne la configuration des types de LSobjects : Chaque type d'objet manipulé par LdapSaisie
|
||||
doit correspondre avec un type de LSobject.
|
||||
|
||||
a. Création du fichier de classe :
|
||||
Ce fichier contient la déclaration de la classe PHP correspondant au type de LSobject. Cette classe étend la classe
|
||||
LSldapObject qui contient pour ainsi dire toute les méthodes et proprités nécessaires pour les types de LSobject simples
|
||||
(sans LSrelation). Les fichiers des classes sont contenus dans le dossier /includes/class/ et portent les noms composés
|
||||
de la manière suivante :
|
||||
|
||||
class.LSobjects.[nom du type d'LSobject].php
|
||||
|
||||
Le plus simple pour cette étape est de copier un des fichiers d'exemple dans le dossier config.local et de l'adapter en
|
||||
changeant le nom du type d'objet dans l'ensemble du fichier. Pour cela, le fichier de classe du type LSpeople est le
|
||||
plus simple car il ne contient que le strict minimum. Pour un fichier de classe ayant des LSrelations à gérer, le
|
||||
fichier de classe LSgroup contient déjà les méthodes nécéssaires pour gérer ces cas.
|
||||
|
||||
b. Configurer vos LSobject :
|
||||
Cette partie est certainement la plus longue et consiste à déclarer l'ensemble des informations relatives aux types des
|
||||
objets LDAP manipulés. Les fichiers d'exemples fournis vous seront alors d'une aide précieuse. basé vous sur l'un de
|
||||
pour créer le votre. Pour cela le fichier de configuration du type d'LSobjet LSpeople est le plus complet et est un bon
|
||||
point de départ. Pour plus de détails sur les élements de configuration de ce fichier, consulter la documentation du
|
||||
projet. [1]
|
||||
|
||||
c. Configurer si nécessaire les relations entre les objets appelés LSrelations :
|
||||
Cette opération consiste dans un premier temps à écrire les méthodes PHP nécessaires pour gérer ces relations : pour
|
||||
cela regardez le fichier de classe du type LSgroup. Il faudra ensuite déclarer ces relations dans la configuration des
|
||||
types d'LSobjects : Pour plus de détails, consulter la documentation du projet. [1]
|
||||
|
||||
#############
|
||||
# Important #
|
||||
#############
|
||||
#
|
||||
# Pensez à déclarer les fichiers que vous venez de créer dans la variable LOCAL_FILES du fichier local.sh. Exemple
|
||||
# pour le type d'LSobjet portant comme nom LSexample :
|
||||
#
|
||||
# src/conf/LSobjects/config.LSobjects.LSexample.php
|
||||
# src/includes/class/class.LSobjects.LSexample.php
|
||||
#
|
||||
|
||||
########
|
||||
# Note #
|
||||
########
|
||||
#
|
||||
# Vous pouvez également personnaliser l'interface : Il est possible de personnaliser à votre goût l'interface en
|
||||
# écrivant votre template ou en modifiant simplement
|
||||
# les fichiers CSS. Une partie de cette documentation concernera bientôt cette problématique. Patience...
|
||||
#
|
||||
|
||||
4. La dernière étape à ce niveau consiste à lancer le script upgradeFromGit.sh pour qu'il installe les fichiers que
|
||||
vous venez de créer. Ce script est conçu pour dire tout ce qu'il fait donc en cas de problème vous devriez
|
||||
rapidement comprendre où cela coince. Dans tout les cas, n'hésitez pas à poser vos questions à la communauté sur la
|
||||
liste <ldapsaisie-users@lists.ldapsaisie.org>.
|
||||
|
||||
Liens
|
||||
=====
|
||||
1. Documentation du projet : http://ldapsaisie.org/doc
|
|
@ -275,4 +275,3 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
119
README.md
Normal file
119
README.md
Normal file
|
@ -0,0 +1,119 @@
|
|||
[![LdapSaisie](src/images/default/logo.png)](https://ldapsaisie.org)
|
||||
|
||||
LdapSaisie is a Web application developed to manage LDAP directory. It has been written in PHP / JavaScript and is published under the GNU GPL license. This application is designed to abstract the complexity of the directory through a simple and intuitive administration interface. It was designed with the objective of maximal modularity and easy extension or adaptation: you can use modules, extensions and plugins. LdapSaisie allows any system administrator to manage data stored inside a LDAP server, and thus administrate its information system in a simple manner. It's also possible to let users access their own data, with read-only or read-write access.
|
||||
|
||||
__[Project website](https://ldapsaisie.org)__ | __[Documentation](https://ldapsaisie.org/doc/full)__ | __[Demonstration](https://ldapsaisie.org/demo)__
|
||||
|
||||
## Key features
|
||||
|
||||
* Management of one or several directories;
|
||||
* Management of simple and multi-branch directories;
|
||||
* Able to manage unlimited objects types;
|
||||
* Allow unlimited users to connect to the interface;
|
||||
* A smooth rights management allows to manage each object and attributes access rights, and allows to delegate rights;
|
||||
* Able to manage a lot of attribute type. Each attribute is given specific features which ease application navigation (Automatic password generation, field auto-completion);
|
||||
* Able to manage high rate of attributes verification rules;
|
||||
* Easy management of objects relationships;
|
||||
* Easy modification of application design using templates;
|
||||
* Management of personalized triggers, which allows to execute you own scripts, functions or methods at any action. The triggers scope is set to able a whole modification of application behavior;
|
||||
* Smooth attributes visualization management, allowing to auto-modify attributes according to others;
|
||||
* Possibility to manage hidden attributes.
|
||||
* Customizable responsive web interface
|
||||
|
||||
## Screenshots
|
||||
|
||||
Please see [project website](https://ldapsaisie.org/en:screenshot) for some screenshots of the web interface. Keep in mind that the web interface could be personalized to feet with your needs.
|
||||
|
||||
## Demonstration
|
||||
|
||||
A demonstration version is available at :
|
||||
|
||||
http://ldapsaisie.org/demo
|
||||
|
||||
This demonstration interface is connected to a sample LDAP directory such that the schema and the imported LDIF file are provided with the sources of the application (in the `lsexample` directory).
|
||||
|
||||
Several demonstration accounts exist and have more or less extensive rights. These different accounts are presented on the login page.
|
||||
|
||||
## Installation
|
||||
|
||||
### Requirements
|
||||
|
||||
* PHP (>= 5.6)
|
||||
* PEAR [NetLDAP2](http://pear.php.net/package/Net_LDAP2) package
|
||||
* [Smarty](http://www.smarty.net/)
|
||||
|
||||
Some others dependencies exists for specific features, please see [documentation](https://ldapsaisie.org/doc/all-in-one/LdapSaisie.html#install-requirements) for details (french).
|
||||
|
||||
### Download
|
||||
|
||||
#### Using Debian packages
|
||||
|
||||
You can easily install LdapSaisie using Debian packages by using the following command to configure the project's repository :
|
||||
```
|
||||
echo "deb http://ldapsaisie.org/debian buster main" | tee /etc/apt/sources.list.d/ldapsaisie.list
|
||||
wget -O - http://ldapsaisie.org/debian/ldapsaisie.gpg.key | apt-key add -
|
||||
apt-get update
|
||||
apt-get install ldapsaisie ldapsaisie-archive-keyring
|
||||
```
|
||||
|
||||
__Note:__ Hourly generated Debian packages from _master_ branch are also provided in the _sid_ Debian repository of the project. To use these packages, use the following command to configure the project's _sid_ repository:
|
||||
|
||||
```
|
||||
echo "deb http://ldapsaisie.org/debian sid main" | tee /etc/apt/sources.list.d/ldapsaisie.list
|
||||
```
|
||||
|
||||
#### Using Git
|
||||
|
||||
The Git repos can be cloned anonymously with the command :
|
||||
|
||||
```
|
||||
git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git
|
||||
```
|
||||
|
||||
#### Snapshot
|
||||
|
||||
Every 15 minutes, a snapshot of the Git repository is built and available for download here:
|
||||
|
||||
http://ldapsaisie.org/download/ldapsaisie-snapshoot.tar.gz
|
||||
|
||||
### Configuration
|
||||
|
||||
It's the main step of the installation process and the most complicated. Firstly, you have to configure the global configuration mostly contain in the file `conf/config.inc.php`. Second, you will have to configure your object types and their relationships. You could refer to example files provided with the application and to the [official documentation](https://ldapsaisie.org/doc/all-in-one/LdapSaisie.html#config-LSobject) (in french).
|
||||
|
||||
__Note:__ A more details [tutorial](https://ldapsaisie.org/doc/all-in-one/LdapSaisie.html#install-tutorial) (in french) is also provided in official documentation.
|
||||
|
||||
## Upgrade
|
||||
|
||||
### Using Debian packages
|
||||
|
||||
When using Debian packages, the upgrading process to pretty simple: just upgrade the package:
|
||||
|
||||
```
|
||||
apt-get update
|
||||
apt-get install ldapsaisie
|
||||
```
|
||||
|
||||
Once the application has been updated, paid attention to new features and points of vigilance described in [official documentation](https://ldapsaisie.org/doc/all-in-one/LdapSaisie.html#upgrade) (in french).
|
||||
|
||||
### Using Git
|
||||
|
||||
When using git, you could use the `upgradeFromGit.sh` which automates the update if you have followed the installation procedure for it.
|
||||
|
||||
This script will then take care of:
|
||||
|
||||
* Clean the working-tree Git from the symbolic links of the local files (and possibly the theme) set up during a previous execution;
|
||||
* Empty the template cache;
|
||||
* Update the Git working-tree via a `git pull`;
|
||||
* Install symbolic links for local files. In case of locally modified files, the script will notify you and will allow you to simply update your local file (via a `vim -d`);
|
||||
* Detect changes in the MO files (translation) and in this case trigger a reload of the web server to be taken into account;
|
||||
* Option: to compile an up-to-date local version of the documentation;
|
||||
|
||||
Once the application has been updated, paid attention to new features and points of vigilance described in [official documentation](https://ldapsaisie.org/doc/all-in-one/LdapSaisie.html#upgrade) (in french).
|
||||
|
||||
## License
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with this program (see `LICENSE` file); if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
133
build-deb.sh
Executable file
133
build-deb.sh
Executable file
|
@ -0,0 +1,133 @@
|
|||
#!/bin/bash
|
||||
|
||||
INSTALL_BUILD_DEPS=0
|
||||
SID=0
|
||||
|
||||
function usage() {
|
||||
[ -n "$@" ] && echo -e "$@\n" > /dev/stderr
|
||||
echo "Usage: $0 [--install-build-deps] [--sid]"
|
||||
[ -n "$@" ] && exit 1
|
||||
}
|
||||
|
||||
idx=1
|
||||
while [ $idx -le $# ]
|
||||
do
|
||||
OPT=${!idx}
|
||||
case $OPT in
|
||||
--install-build-deps)
|
||||
INSTALL_BUILD_DEPS=1
|
||||
;;
|
||||
--sid)
|
||||
SID=1
|
||||
;;
|
||||
-x)
|
||||
set -x
|
||||
;;
|
||||
*)
|
||||
usage "Unkown parameter '$OPT'"
|
||||
esac
|
||||
let idx=idx+1
|
||||
done
|
||||
|
||||
# Enter source directory
|
||||
cd $( dirname $0 )
|
||||
|
||||
# Install build dependencies
|
||||
if [ $INSTALL_BUILD_DEPS -eq 1 ]
|
||||
then
|
||||
apt-get update
|
||||
apt-get install --no-install-recommends --yes devscripts equivs sed rsync git lsb-release wget ca-certificates
|
||||
mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
|
||||
fi
|
||||
|
||||
DEBIAN_RELEASE=$( lsb_release -r -s|sed 's/\..*$//' )
|
||||
|
||||
# Install build dependencies based on Debian release
|
||||
if [ $INSTALL_BUILD_DEPS -eq 1 ]
|
||||
then
|
||||
# On Debian Stretch, install GitPython using pip because strect version of python3-git have bugs
|
||||
if [ $DEBIAN_RELEASE -eq 9 ]
|
||||
then
|
||||
apt-get install --no-install-recommends --yes python3-pip
|
||||
python3 -m pip install GitPython
|
||||
else
|
||||
apt-get install --no-install-recommends --yes python3-git
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install GPG key (if provided)
|
||||
if [ -n "$GPG_KEY" ]
|
||||
then
|
||||
[ $INSTALL_BUILD_DEPS -eq 1 ] && apt-get install --no-install-recommends --yes gnupg2
|
||||
echo "$GPG_KEY"|base64 -d|gpg --import
|
||||
fi
|
||||
|
||||
# Retreive source package name
|
||||
SOURCE_PACKAGE_NAME=$( grep -E ^Source: debian/control|sed 's/^Source: //' )
|
||||
|
||||
[ $SID -eq 1 ] && DEBIAN_CODENAME=sid || DEBIAN_CODENAME=$( lsb_release -c -s )
|
||||
|
||||
# Clean previous build
|
||||
rm -fr $SOURCE_PACKAGE_NAME-build-deps* dist
|
||||
|
||||
# Compute version using git describe
|
||||
VERSION="$( git describe --tags 2> /dev/null )"
|
||||
|
||||
# If no tag exist, git describe will fail: in this case, compute a 0.0 version with same format
|
||||
# as git describe
|
||||
[ $? -ne 0 ] && VERSION="0.0-$( git log --oneline|wc -l )-$( git describe --tags --always )"
|
||||
|
||||
# Create dist directory
|
||||
mkdir dist
|
||||
DIST_DIR=dist/$SOURCE_PACKAGE_NAME-$VERSION
|
||||
rsync -av --exclude 'dist' --exclude '.git*' --exclude 'build.sh' --exclude 'docker-builds.sh' ./ $DIST_DIR/
|
||||
|
||||
# Check gitdch is installed
|
||||
GITDCH=$(which gitdch)
|
||||
set -e
|
||||
if [ -z "$GITDCH" ]
|
||||
then
|
||||
TMP_GITDCH=$(mktemp -d)
|
||||
echo "Temporary install gitdch in $TMP_GITDCH"
|
||||
wget -O $TMP_GITDCH/gitdch https://gitea.zionetrix.net/bn8/gitdch/raw/master/gitdch
|
||||
chmod +x $TMP_GITDCH/gitdch
|
||||
GITDCH=$TMP_GITDCH/gitdch
|
||||
else
|
||||
TMP_GITDCH=""
|
||||
fi
|
||||
|
||||
# Compute gitdch extra args
|
||||
GITDCH_EXTRA_ARGS=()
|
||||
[ -n "$DEBFULLNAME" ] && GITDCH_EXTRA_ARGS+=( "--maintainer-name" "$DEBFULLNAME" )
|
||||
[ -n "$DEBEMAIL" ] && GITDCH_EXTRA_ARGS+=( "--maintainer-email" "$DEBEMAIL" )
|
||||
|
||||
if [ -e debian/changelog ]
|
||||
then
|
||||
LAST_MANUAL_COMMIT_ID=$( git log --oneline -n1 -- debian/changelog|awk '{print $1}' )
|
||||
GITDCH_EXTRA_ARGS+=( "--append" "--revision" "${LAST_MANUAL_COMMIT_ID}..HEAD" )
|
||||
fi
|
||||
|
||||
# Generate debian changelog using generate_debian_changelog.py
|
||||
$GITDCH \
|
||||
--package-name $SOURCE_PACKAGE_NAME \
|
||||
--version="${VERSION}" \
|
||||
--code-name $DEBIAN_CODENAME \
|
||||
--output $DIST_DIR/debian/changelog \
|
||||
--release-notes ../release-notes.md \
|
||||
--exclude "^Docker: " \
|
||||
--exclude "^CI: " \
|
||||
--exclude "^debian: " \
|
||||
--exclude "\.gitlab-ci\.yml" \
|
||||
--exclude "build-deb\.sh" \
|
||||
--exclude "README\.md" \
|
||||
--exclude "^Merge branch " \
|
||||
--verbose "${GITDCH_EXTRA_ARGS[@]}"
|
||||
|
||||
# Clean temporary gitdch installation
|
||||
[ -n "$TMP_GITDCH" ] && rm -fr $TMP_GITDCH
|
||||
|
||||
# Build debian package
|
||||
BUILD_ARGS=""
|
||||
[ -z "$GPG_KEY" ] && BUILD_ARGS="--no-sign" || echo "GPG key provide, enable package signing."
|
||||
cd $DIST_DIR/
|
||||
dpkg-buildpackage $BUILD_ARGS
|
40
buildDoc.sh
40
buildDoc.sh
|
@ -1,40 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
ROOT_DIR=$( cd `dirname $0`; pwd )
|
||||
LOCAL_CFG_DIR=$ROOT_DIR/config.local
|
||||
|
||||
# Import config
|
||||
if [ ! -f $LOCAL_CFG_DIR/local.sh ]
|
||||
then
|
||||
echo "Error : You don't have create your own local.sh file in config.local directory. You could rely on the local.sh.example file to create your version."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source $LOCAL_CFG_DIR/local.sh
|
||||
|
||||
cd $ROOT_DIR/doc
|
||||
|
||||
make clean >> $LOG_FILE 2>&1
|
||||
make >> $LOG_FILE 2>&1 &
|
||||
|
||||
export P=$!
|
||||
|
||||
|
||||
trap exitwhell INT
|
||||
|
||||
function exitwhell() {
|
||||
kill -9 $P 2> /dev/null
|
||||
echo " -- INT -- "
|
||||
}
|
||||
|
||||
while [ -d /proc/$P ]
|
||||
do
|
||||
echo -n .
|
||||
sleep 1
|
||||
done
|
||||
echo done.
|
||||
|
||||
if [ -n "$EXPORT_DOC_DIR" ]
|
||||
then
|
||||
$ROOT_DIR/buildDocExports.sh
|
||||
fi
|
|
@ -1,167 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
ROOT_DIR=$( cd `dirname $0`; pwd )
|
||||
LOCAL_CFG_DIR=$ROOT_DIR/config.local
|
||||
|
||||
# Import config
|
||||
if [ ! -f $LOCAL_CFG_DIR/local.sh ]
|
||||
then
|
||||
echo "Error : You don't have create your own local.sh file in config.local directory. You could rely on the local.sh.example file to create your version."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source $LOCAL_CFG_DIR/local.sh
|
||||
|
||||
if [ ! -n "$EXPORT_DOC_DIR" ]
|
||||
then
|
||||
echo "The EXPORT_DOC_DIR variable is not define. Export doc is disabled."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -d "$EXPORT_DOC_DIR" ]
|
||||
then
|
||||
echo "Error : Export directory $EXPORT_DOC_DIR does not exist !"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
DOC_DIR=$ROOT_DIR/doc
|
||||
TMP_DIR=`mktemp -d`
|
||||
ERROR=0
|
||||
|
||||
echo "-> Export documentation in $EXPORT_DOC_DIR :"
|
||||
|
||||
# PDF
|
||||
if [ -n "$PDF" ]
|
||||
then
|
||||
echo -en "\t- PDF : "
|
||||
# PDF
|
||||
cp -f $DOC_DIR/exports/pdf/LdapSaisie.pdf $EXPORT_DOC_DIR/LdapSaisie.pdf
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo -e "\n-> Error"
|
||||
ERROR=1
|
||||
else
|
||||
echo Ok
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# EPUB
|
||||
if [ -n "$EPUB" ]
|
||||
then
|
||||
echo -en "\t- EPUB : "
|
||||
# EPUB
|
||||
cp -f $DOC_DIR/exports/epub/LdapSaisie.epub $EXPORT_DOC_DIR/LdapSaisie.epub
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo -e "\n-> Error"
|
||||
ERROR=1
|
||||
else
|
||||
echo Ok
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# ALL-IN-ONE
|
||||
if [ -n "$ALL_IN_ONE" ]
|
||||
then
|
||||
echo -en "\t- All-In-One : "
|
||||
rm -fr $TMP_DIR/$ALL_IN_ONE
|
||||
mkdir $TMP_DIR/$ALL_IN_ONE
|
||||
|
||||
cp $DOC_DIR/exports/html/all-in-one/LdapSaisie.html $TMP_DIR/$ALL_IN_ONE/
|
||||
sed -i 's/\.\.\/\.\.\/\.\.\///g' $TMP_DIR/$ALL_IN_ONE/LdapSaisie.html
|
||||
|
||||
# IMAGES
|
||||
cp -fr $IMAGES $TMP_DIR/$ALL_IN_ONE/images
|
||||
|
||||
mkdir $TMP_DIR/$ALL_IN_ONE/styles
|
||||
cp $CSS $TMP_DIR/$ALL_IN_ONE/styles/
|
||||
|
||||
echo "done. Build archive and move it later ..."
|
||||
fi
|
||||
|
||||
|
||||
# ONLINE
|
||||
if [ -n "$ONLINE" ]
|
||||
then
|
||||
echo -en "\t- On-line : "
|
||||
rm -fr $TMP_DIR/$ONLINE
|
||||
mkdir $TMP_DIR/$ONLINE
|
||||
|
||||
cp -fr $DOC_DIR/exports/html/online/*.html $TMP_DIR/$ONLINE
|
||||
sed -i 's/\.\.\/\.\.\/\.\.\///g' $TMP_DIR/$ONLINE/*
|
||||
|
||||
# IMAGES
|
||||
cp -fr $IMAGES $TMP_DIR/$ONLINE/images
|
||||
|
||||
mkdir $TMP_DIR/$ONLINE/styles
|
||||
cp $CSS $TMP_DIR/$ONLINE/styles/
|
||||
|
||||
echo "done. Build archive and move it later ..."
|
||||
fi
|
||||
|
||||
|
||||
# DOCBOOK
|
||||
if [ -n "$DOCBOOK" ]
|
||||
then
|
||||
echo -en "\t- Docbook : "
|
||||
|
||||
rm -fr $TMP_DIR/$DOCBOOK
|
||||
mkdir $TMP_DIR/$DOCBOOK
|
||||
|
||||
cd $DOC_DIR
|
||||
for i in `find -type d|grep -v 'export'`
|
||||
do
|
||||
mkdir -p $TMP_DIR/$DOCBOOK/$i
|
||||
done
|
||||
|
||||
for i in `find -type f|egrep -v '(Makefile|^./export)'`
|
||||
do
|
||||
cp $i $TMP_DIR/$DOCBOOK/$i
|
||||
done
|
||||
|
||||
echo "done. Build archive and move it later ..."
|
||||
fi
|
||||
|
||||
echo "-> Build archives and move all in export directory :"
|
||||
cd $TMP_DIR/
|
||||
for i in $ALL_IN_ONE $ONLINE $DOCBOOK
|
||||
do
|
||||
echo -e "\t$i : "
|
||||
echo -en "\t\t+ Archive : "
|
||||
tar -cjf LdapSaisie--Doc--$i.tar.bz2 $i && mv LdapSaisie--Doc--$i.tar.bz2 $EXPORT_DOC_DIR/
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo Ok
|
||||
else
|
||||
echo -e "\n-> Error"
|
||||
ERROR=1
|
||||
fi
|
||||
|
||||
echo -en "\t\t+ Web dir : "
|
||||
[ ! -d "$EXPORT_DOC_DIR/$i" ] && echo "you must create export $i directory manualy before run this script. (path : $EXPORT_DOC_DIR/$i)" && continue
|
||||
rm -fr $EXPORT_DOC_DIR/$i/* && cp -fr $i/* $EXPORT_DOC_DIR/$i/ && rm -fr $i
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo Ok
|
||||
else
|
||||
echo -e "\n-> Error"
|
||||
ERROR=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$LAST_UPDATE_FILE" ]
|
||||
then
|
||||
echo -n "-> Create last-update file : "
|
||||
echo "Last update :" > $LAST_UPDATE_FILE
|
||||
date >> $LAST_UPDATE_FILE
|
||||
cd $ROOT_DIR
|
||||
git log|head -n 1 >> $LAST_UPDATE_FILE
|
||||
echo >> $LAST_UPDATE_FILE
|
||||
echo done.
|
||||
fi
|
||||
|
||||
rm -fr $TMP_DIR
|
||||
|
||||
exit $ERROR
|
|
@ -1,42 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
ROOT_DIR=$( cd `dirname $0`; pwd )
|
||||
LOCAL_CFG_DIR=$ROOT_DIR/config.local
|
||||
|
||||
# Import config
|
||||
if [ ! -f $LOCAL_CFG_DIR/local.sh ]
|
||||
then
|
||||
echo "Error : You don't have create your own local.sh file in config.local directory. You could rely on the local.sh.example file to create your version."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source $LOCAL_CFG_DIR/local.sh
|
||||
|
||||
if [ ! -n "$EXPORT_DOC_DIR" ]
|
||||
then
|
||||
echo "The EXPORT_DOC_DIR variable is not define. Export doc is disabled."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -d "$EXPORT_DOC_DIR" ]
|
||||
then
|
||||
echo "Error : Export directory $EXPORT_DOC_DIR does not exist !"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ ! -n "$LAST_UPDATE_FILE" ]
|
||||
then
|
||||
echo "Error : The LAST_UPDATE_FILE is necessary for update detection !"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
cd $ROOT_DIR
|
||||
|
||||
CURRENT=`grep ^commit $LAST_UPDATE_FILE | cut -d ' ' -f 2`
|
||||
if [ "`git diff $CURRENT -- doc`" != "" ]
|
||||
then
|
||||
echo "Export documentation is necessary"
|
||||
echo "================================="
|
||||
echo "Current doc exports was generated from the commit $CURRENT."
|
||||
echo "Changes have been made since."
|
||||
fi
|
5
composer.json
Normal file
5
composer.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.9"
|
||||
}
|
||||
}
|
78
composer.lock
generated
Normal file
78
composer.lock
generated
Normal file
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "37f736b754e8e0455f279bf0da013262",
|
||||
"packages": [],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "1.9.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "d03bccee595e2146b7c9d174486b84f4dc61b0f2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/d03bccee595e2146b7c9d174486b84f4dc61b0f2",
|
||||
"reference": "d03bccee595e2146b7c9d174486b84f4dc61b0f2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2|^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"phpstan/phpstan-shim": "*"
|
||||
},
|
||||
"bin": [
|
||||
"phpstan",
|
||||
"phpstan.phar"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "PHPStan - PHP Static Analysis Tool",
|
||||
"keywords": [
|
||||
"dev",
|
||||
"static analysis"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan/issues",
|
||||
"source": "https://github.com/phpstan/phpstan/tree/1.9.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/ondrejmirtes",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/phpstan",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-17T13:33:52+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.3.0"
|
||||
}
|
|
@ -16,39 +16,3 @@ THEME_IMG_REF="default"
|
|||
|
||||
# Webserver service reload command to run on gettext MO files changed
|
||||
#WEBSERVER_RELOAD_CMD='sudo service apache2 force-reload'
|
||||
|
||||
# Do doc export ?
|
||||
BUILD_DOC=1
|
||||
|
||||
# The export dir
|
||||
# If EXPORT_DIR is a zero length string, will not export doc
|
||||
EXPORT_DOC_DIR=/var/www/ldapsaisie-doc
|
||||
|
||||
# PDF export name file
|
||||
# If PDF is a zero length string, pdf doc export will not build
|
||||
PDF=LdapSaisie.pdf
|
||||
|
||||
# EPUB export name file
|
||||
# If EPUB is a zero length string, epub doc export will not build
|
||||
EPUB=LdapSaisie.epub
|
||||
|
||||
# ALL_IN_ONE export name
|
||||
# If ALL_IN_ONE is a zero length string, all-in-one doc export will not build
|
||||
ALL_IN_ONE=all-in-one
|
||||
|
||||
# On-line export name
|
||||
# If ONLINE is a zero length string, on-line doc export will not build
|
||||
ONLINE=online
|
||||
|
||||
# Docbook export name
|
||||
# If DOCBOOK is a zero length string, docbook doc export will not buil
|
||||
DOCBOOK=docbook
|
||||
|
||||
# The CSS file to use in export
|
||||
CSS=$ROOT_DIR/doc/styles/LS.css
|
||||
|
||||
# The image doc directory
|
||||
IMAGES=$ROOT_DIR/doc/images
|
||||
|
||||
# The name of last update file
|
||||
LAST_UPDATE_FILE=$EXPORT_DOC_DIR/last_update.txt
|
||||
|
|
563
debian/changelog
vendored
563
debian/changelog
vendored
|
@ -1,3 +1,562 @@
|
|||
ldapsaisie (4.2.0-1) stable; urgency=medium
|
||||
|
||||
* PHP 8.2 support
|
||||
* LSconfig: add escape_key, explode_keys and implode_keys helper methods
|
||||
* Improve LSldapObject::getDisplayValue() method to match with getValue() method's parameters
|
||||
* Fix LSattribute::getDisplayValue() when called on updated attribute
|
||||
* LSattr_ldap::date: replace unique format parameter by a list
|
||||
* Fix some french translated messages
|
||||
* Auth:
|
||||
* LSauth: add filter_function parameter
|
||||
* LSauthMethod::CAS: fix support of phpCAS >= 1.6.0 and patched Debian Buster 1.3.6-1+deb10u1 version
|
||||
* Addons
|
||||
* accesslog:
|
||||
* Improve displaying changes attributes values
|
||||
* Fix infinity loop problem handling entry renaming event with the same DN
|
||||
* ftp: Remove PEAR Net_FTP dependency
|
||||
* posix: Add deleteHomeDirectoryByFTP function
|
||||
* supann: Add supannCMSIdEtiquette attribute support
|
||||
* doc: switch format to Markdown & Mkdocs
|
||||
|
||||
-- LdapSaisie project <support+ldapsaisie@easter-eggs.com> Thu, 26 Oct 2023 11:55:52 +0200
|
||||
|
||||
ldapsaisie (4.1.0-1) unstable; urgency=medium
|
||||
|
||||
* PHP8 compatibility
|
||||
* Import/export:
|
||||
* Allow translation of labels
|
||||
* Add before/after import triggers feature
|
||||
* Allow to generate attribute value using a custom callable
|
||||
* Add update_only mode
|
||||
* Trace errors and messages during import to map them with objects and hooks.
|
||||
* Improve handling time & memory limits and allow before_import hook to set them
|
||||
* import: Check generated field value and stop import in case of error
|
||||
* import: Fix displaying attribute errors two times
|
||||
* Translation:
|
||||
* Fix handling backslash in export POT file
|
||||
* Improve internal message extrators from PHP files
|
||||
* CLI commands messages translation
|
||||
* generate_lang_file: add possibility to translate message in a text editor
|
||||
* generate_lang_file: ignore LSformat string with simple string substitution
|
||||
* Make location paths in ldapsaisie.pot file relative
|
||||
* generate_ldapsaisie_pot: Add -I/--internal paramater to use internal message extractor for PHP files instead of xgettext
|
||||
* Templating tr function: provided message could now be formated as LSformat string using extra provided parameters
|
||||
* Search:
|
||||
* handle translation of LSformat, alternativeLSformats and formaterLSformat
|
||||
* Fix/improve handling data keep in session
|
||||
* globalSearch: defaulty display extraDisplayedColumns
|
||||
* LSsession:
|
||||
* fix saving context info method to keep existing other info
|
||||
* canExecuteCustomAction(): fix handling self LSprofile
|
||||
* loadLSprofiles(): reset current LSprofiles on each call
|
||||
* LSprofiles by LSobject: add possibility to compute basedn using LSformat on authenticated user
|
||||
* LSldap:
|
||||
* add formatDate() method
|
||||
* add possibility to configure hooks
|
||||
* getAttr(): be sure to return on array when $multiple is true
|
||||
* add LDAP password policy support
|
||||
* update(): fix object creation with required userPassword attribute
|
||||
* translate code comments
|
||||
* fix updating internal attributes
|
||||
* LSform:
|
||||
* fix handling default values of dataEntryForm
|
||||
* dataEntryForm: Add forceGeneration parameter
|
||||
* LSformElements
|
||||
* inarray: add reverse parameter
|
||||
* jsonCompositeAttribute:
|
||||
* fix checking non-multiple components value
|
||||
* fix handling empty value & $onlyIfPresent parameter
|
||||
* pre: Fix long lines diplay
|
||||
* select_list/select_box: display values respecting possible values order and force sub-options at the end when sorting
|
||||
* Themes:
|
||||
* light-blue.css: Fix LSobject-list links color on line hover
|
||||
* Fix default ASC & DESC images color to fit with clear themes
|
||||
* Addons:
|
||||
* Some news addons: accesslog, impersonate, orgchart, ppolicy, showSupportInfo
|
||||
* Code cleaning
|
||||
* Mail:
|
||||
* fix catch all message suffix in HTML mode
|
||||
* make optional parameter of sendMail() defaulty null
|
||||
* add MAIL_CATCH_ALL parameter
|
||||
* SUPANN:
|
||||
* Rename some functions:
|
||||
* supannCheckEduPersonPrimaryAffiliation => validate_eduPersonPrimaryAffiliation
|
||||
* supannCheckEduPersonAffiliation => validate_eduPersonAffiliation
|
||||
* Add some new functions:
|
||||
* generate_supannRessourceEtat
|
||||
* generate_supannEntiteAffectationPrincipale & validate_supannEntiteAffectationPrincipale
|
||||
* Add UAI code of ENSAD
|
||||
* LSformElements:
|
||||
* supannCompositeAttribute: fix checking components value
|
||||
* supannEtuInscription: fix cursusann component regex
|
||||
* LSexample:
|
||||
* Make restore_lsexample compatible with OpenLDAP 2.5 (and Debian Bookworm)
|
||||
* LSexample: restore compatibility with Debian stretch
|
||||
* Remove showObjectAccessLogs custom action on LSpeople
|
||||
* Defaulty enable LSpeople API access
|
||||
* Other changes:
|
||||
* LSerror::getErrors(): add $reset parameter
|
||||
* LSselect: fix ajax input
|
||||
* AJAX routes: ensure to enable AJAX mode even if an error occured handling request
|
||||
* LSldapObject::validateAttrsData(): fix handling attribute generation of empty required attributes even if their new value have been provided
|
||||
* Add argon2 passwords support
|
||||
* LSdefault / copyable helper: add copyable-no-btn helper class and fix translating messages
|
||||
* Add some helper functions: generate_uuid(), getRdn() and parentDn()
|
||||
* Code cleaning and quality improvement using PHPstan and pre-commit & CI to maintain it
|
||||
* Fix typos
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Sat, 22 Jul 2023 13:38:40 +0200
|
||||
|
||||
ldapsaisie (4.0.0-1) unstable; urgency=medium
|
||||
|
||||
* Add API feature
|
||||
* Add full import / export objets feature (see LSio & LSioFormat)
|
||||
* Global improvements on SUPANN support:
|
||||
* nomenclatures:
|
||||
* Update/clean nomenclatures
|
||||
* Normalize affiliations & civilites nomenclatures
|
||||
* rework on nomenclatures loading
|
||||
* Add support for new attributes :
|
||||
* supannMailPrive
|
||||
* supannAdressePostalePrivee
|
||||
* supannTelephonePrive
|
||||
* supannOIDCGenre
|
||||
* supannCodePopulation
|
||||
* supannEmpProfil
|
||||
* supannExtProfil
|
||||
* supannEtuDiplome
|
||||
* supannEtuElementPedagogique
|
||||
* supannEtuEtape
|
||||
* supannEtuRegimeInscription
|
||||
* supannEtuSecteurDisciplinaire
|
||||
* supannEtuTypeDiplome
|
||||
* supannRessourceEtat
|
||||
* supannRessourceEtatDate
|
||||
* add new components of supannEtuInscription attribute (SUPANN 2021)
|
||||
* add generate_supann_codeEtablissement_uai_nomenclature CLI command
|
||||
* add eduPersonUniqueId()
|
||||
* supannParseCompositeValue(): check global value integrity
|
||||
* Improve SUPANN attributes CSS
|
||||
* Add dynamic groups support (with cache members attributes)
|
||||
* Ensure attributes values are always an array in LSattribute & LSattr_ldap
|
||||
* Remove historic read right on all attributes of the hard-coded "admin" LSprofile
|
||||
* LSsession:
|
||||
* improve loadLSaddons() method
|
||||
* fix errors in changeAuthUser() and add logging messages
|
||||
* Fix/improve LSsession_13 errors (unconfigured/unknown custom action function)
|
||||
* checkAccess(): fix checking read right
|
||||
* Fix relationCanAccess() method and add debuging infos
|
||||
* displayAjaxReturn(): Adjust HTTP returned code on unsuccessfull request
|
||||
* getLSuserObject(): improve errors logging
|
||||
* setApiMode now trigger LSsession :: setAjaxDisplay()
|
||||
* LSldap: fix search & getNumberResult methods to use basedn from configuration instead of empty
|
||||
one.
|
||||
* LSldapObject:
|
||||
* make method _updateData() protected instead of private
|
||||
* fix/improve validateAttrData()
|
||||
* submitChange():
|
||||
* on new object, check if generated DN is not already affected
|
||||
* Add security check about isNew() return
|
||||
* fix error renaming LSobject
|
||||
* fix default $attrValues handling for updateObjectsInRelation/deleteOneObjectInRelation methods
|
||||
* clean update/validate form data code to fix handling just check mode
|
||||
* fix triggering after_modify event on create
|
||||
* getValue(): ensure return is array in case of attribute
|
||||
* LSrelation: add display_name_format parameter
|
||||
* LSattribute:
|
||||
* fix canBeGenerated() when default_value isn't a string
|
||||
* fix handling default_value in generateValue()
|
||||
* add default LDAP & HTML type (ascii / text)
|
||||
* addToForm(): fix checking user rights before adding/freezing it
|
||||
* fix handling current/provided data
|
||||
* addToForm(): fix freezing
|
||||
* LSattr_ldap:
|
||||
* shadowExpire:
|
||||
* fix getUpdateData()
|
||||
* fix to rounding method to avoid date change
|
||||
* compositeValueToJSON: use static instead of self keyword (to allow override)
|
||||
* Add pwdHistory
|
||||
* date: add note about date & time with micro-seconds
|
||||
* naiveDate: Add format option
|
||||
* password: fix verify method for Salted SHA2 passwords
|
||||
* sambaAcctFlagsparse_flags(): fix handling null|empty value
|
||||
* LSattr_html:
|
||||
* jsonCompositeAttribute: Add fullWidth parameter and improve responsive display
|
||||
* sambaAcctFlags: Add note about how setting default_value
|
||||
* valueWithUnit: fix handling zero value
|
||||
* select_box: add inline parameter
|
||||
* fix handling current/provided data
|
||||
* add $singleValue class variable to handle this common case
|
||||
* LSform:
|
||||
* fix displaying error in form in case of global error
|
||||
* fix displaying multiple errors on same field (on Ajax submit)
|
||||
* display fields errors in same order as triggered
|
||||
* fix reporting failure on Ajax submit
|
||||
* LSformElement:
|
||||
* getApiValue(): add $details parameter
|
||||
* getEmptyField(): do not set value to null (already set by fetchTemplate())
|
||||
* labeledValue:
|
||||
* fix/improve display
|
||||
* add translate_labels parameter and fix translating it
|
||||
* fix label translation on freeze view
|
||||
* date: fix getPostData() method
|
||||
* mail:
|
||||
* Move autocomplete feature in text parent class
|
||||
* fix duplicated email JS button
|
||||
* supannLabeledValue: Add validation of POST values from configured nomenclatures
|
||||
* image: fix bug deleting current image
|
||||
* password:
|
||||
* fix using LSldapobject getDisplayFData method instead of getFData
|
||||
* fix sendind email in create form
|
||||
* fix multiple sent email in some cases
|
||||
* supannLabeledValue:
|
||||
* fix unparsable value display
|
||||
* improve API mode
|
||||
* supannCompositeAttribute:
|
||||
* Add possibility to override parse/format value methods to handledifferent composite value
|
||||
formats
|
||||
* Add possibility to configure date components LDAP format
|
||||
* handle API/CLI mode
|
||||
* LSformRule:
|
||||
* add validate_values() method and use it to value rules
|
||||
* do not defined validate_one_by_one constant visibility
|
||||
* add possibility to throw custom exception to provide error details
|
||||
* Improve LSformRules to throw LSformRuleException with error details and only show default
|
||||
error message if rule does not trigger itself an error
|
||||
* Handle rule without options or message
|
||||
* Add numberOfValues rule
|
||||
* configure CLI parameters autocompleters
|
||||
* compare: code cleaning
|
||||
* add zxcvbn rule for password security check
|
||||
* LSsearch:
|
||||
* rename method setParamsFormPostData() to setParamsFromRequest()
|
||||
* setParamsFromRequest(): add check on parameters load from request data
|
||||
* setParamsFromRequest(): fix error handling filter parameter
|
||||
* LSaddons:
|
||||
* mail: Add test_send_mail CLI command
|
||||
* mailquota: improve error reporting
|
||||
* posix: fix generate_shadowLastChange()
|
||||
* samba: fix PHP warning about LS_SAMBA_UNIX_ID_POOL_DN contant
|
||||
* LSaccessRightsMatrixView:
|
||||
* handle LSform layout to ordering attributes
|
||||
* handle inherited rights from user LSprofiles
|
||||
* LSurl:
|
||||
* add request HTTP method check that must match with one of supported by handler
|
||||
(default: GET or POST)
|
||||
* add_handler: fix handling all params in case of multiple patterns
|
||||
* expose current request as static class variable
|
||||
* handle_request() now handle Ajax mode detection
|
||||
* LSurlRequest: fix fatal error on logging
|
||||
* LSconfig :: get(): add array casting (using ensureIsArray())
|
||||
* LSlang:
|
||||
* fix loading alternative lang files in local directory
|
||||
* fix handling locales that only existing in local directory
|
||||
* Authentication:
|
||||
* Add authz proxy authorization support
|
||||
* LSauthMethod_HTTP: fix logging HTTP_AUTHORIZATION parsing error
|
||||
* Interface:
|
||||
* Fix/improve/factorize search pagination
|
||||
* Fix/improve LSobject & LSsearch customActions code
|
||||
* Add LSdefaut copyable feature and use it in showTechInfo
|
||||
* routes.php: fix error calling LSsession::addErrorCode() vs LSerror::addErrorCode()
|
||||
* Add footer with LdapSaisie version
|
||||
* Add preprod CSS & SVG image to easily add a watermark
|
||||
* Improve/fix LSdefaut / LSsession / LSerror / LSdebug / LSinfosBox
|
||||
* Fix handling noRedirect parameter of LSobject's customAction
|
||||
* Fix handling disableOnSuccessMsg parameter on LSobject customActions
|
||||
* LStemplate:
|
||||
* detect and stop template displaying loop (trigger a fatal error)
|
||||
* fatal_error(): correctly handle Ajax mode
|
||||
* CSS:
|
||||
* Fix possibility to scroll the menu on responsive view
|
||||
* light-blue.css:
|
||||
* improve custom select display
|
||||
* fix handling ul.LSselect_selectable_object_types
|
||||
* fix handling LSformElement_valueWithUnit width
|
||||
* Fix displaying toggle-menu button in responsive view
|
||||
* fix tables style
|
||||
* Add LStable CSS class to make easier to create customized table
|
||||
* HTML buttons are now handle by default CSS (and light-blue one)
|
||||
* CLI:
|
||||
* show:
|
||||
* fix handling --raw-values parameter
|
||||
* add JSON output (with -j|--json parameters)
|
||||
* search:
|
||||
* add --all parameter to permit to disable pagination
|
||||
* add JSON output (with -j|--json parameters)
|
||||
* generate_lang_file: some improvements
|
||||
* add -F/--fix-utf8 parameter
|
||||
* add -K/--keep-unused parameter
|
||||
* Add import & export commands
|
||||
* Add test_form_rule command
|
||||
* Default config files:
|
||||
* add ending-line commas to avoid problem on editing
|
||||
* fix value_attribute ('dn' vs '%{dn}')
|
||||
* Debian packaging:
|
||||
* Make logrotate handling all log file in /var/log/ldapsaisie
|
||||
* remove deprecated php-file-csv-datasource dependency
|
||||
* add recommend on php-unidecode (for withoutAccents() improvements)
|
||||
* helpers:
|
||||
* Add ensureIsArray() helper and use it to make code more readable
|
||||
* withoutAccents(): use unidecode lib if available
|
||||
* Improve getCallableName()
|
||||
* Code cleaning and fix some PHP warnings
|
||||
* Add some debugging/trace messages
|
||||
* Doc:
|
||||
* Add note about how setting default_value
|
||||
* API relation method: use group objects from LSexample
|
||||
* Add anchors for API sections
|
||||
* Remove PEAR File_CSV_DataSource deprecated dependency
|
||||
* add IDs to sections
|
||||
* Add README file
|
||||
* Improve doc about attribute values validation
|
||||
* LSrelation: Make canEdit_attribute parameter more visible in case of simple relation
|
||||
* improve contrib / LSformRules section
|
||||
* Fix project URLs and list emails addresses
|
||||
* LSexample:
|
||||
* LSpeople:
|
||||
* fix sambaPwdCanChange as single-value
|
||||
* improve pagination config
|
||||
* personalTitle: remove Ms deprecated possible value
|
||||
* LSgroup: upgrade generate_gidNumber_withSambaDomainObject to generate_samba_gidNumber
|
||||
* Add Ppolicy support
|
||||
* Add restore_lsexample script
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Mon, 20 Dec 2021 14:11:51 +0100
|
||||
|
||||
ldapsaisie (3.0.2-1) unstable; urgency=medium
|
||||
|
||||
* LSsession:
|
||||
* includeFile(): improve logging
|
||||
* loadLSprofiles(): restructuring code and improve comments and logging
|
||||
* loadLSobject(): auto declare simple PHP class for simple LSObject type if
|
||||
PHP class file not found
|
||||
* Improve error messages
|
||||
* LSauthMethod :: authenticate(): fix PHP warning
|
||||
* LSurl::redirect: fix handling absolute URL without protocol
|
||||
For instance "//localhost/phpldapadmin/")
|
||||
* light-blue.css: fix objet link color in list when table row is hover
|
||||
* LStemplate::getImagePath(): handle SVG image type/ext as preferred format
|
||||
* LSsearch:
|
||||
* Fix/improve logging
|
||||
* Remove buggy _hash cache parameter and replace it by an hash accessible key
|
||||
* getHash(): fix handling onlyAccessible parameter
|
||||
* LSsearchEntry: remove useless $hash private property
|
||||
* LScli: add --trace parameter
|
||||
* modify page: fix URL encode object DN in redirection URL
|
||||
* LSlang:
|
||||
* Fix warning about return not True
|
||||
* generate_lang_file CLI command:
|
||||
* Add Q choice in interactive mode to quit
|
||||
* Factor handling possible_values of select list&box
|
||||
* Improve logging
|
||||
* Handle redirections of old-style URL even if user not authenticated
|
||||
* Translate LSerror message at formating/diplaying time
|
||||
* Attribute types:
|
||||
* image: fix error on non-AJAX form when no file is submitted
|
||||
* date:
|
||||
* Add special_values parameter (also add for LSformRule::date)
|
||||
* Make today button working even if input is empty
|
||||
* Add clear button
|
||||
* select_box: fix double translation of labels on unfreeze field
|
||||
* select_list:
|
||||
* clean code of getPossibleValues() method
|
||||
* add get_possible_values parameter
|
||||
* shadowExpire: fix getUpdateData() method to return string values and
|
||||
add doc about this undocumented LDAP attribute type
|
||||
* LSformRule:
|
||||
* provide reference to LSformElement instead of copied value
|
||||
* imagesize: use self :: log_debug() instead of LSdebug()
|
||||
* date: add special_values parameter
|
||||
* LSldapObject:
|
||||
* getValue(): add $first and $default parameters
|
||||
* submitChange(): improve logging
|
||||
* add isValidTypeName() method and use it in LSsession::loadLSobject().
|
||||
LSobject type name must now only contains letter, digits, dash or underscore.
|
||||
* loadData(): explicitly list need attributes in LDAP request
|
||||
* LSrelation:
|
||||
* fix error codes prefix
|
||||
* check relation is correctly configured before using it to avoid some unreal warnings
|
||||
in case of misconfigured relation
|
||||
* LSformElement::getEmptyField() / LSformElement.tpl: Provide value index as $value_idx
|
||||
template variable
|
||||
* Improve POSIX and Samba support:
|
||||
* Improve LSaddons samba & posix
|
||||
* Add LSattr LDAP & HTML sambaAcctFlags type
|
||||
* Fix home and profile path formats in default configuration
|
||||
* Improve POSIX & Samba config in LSexample
|
||||
* LSaddons:
|
||||
* Add showTechInfo LSaddon
|
||||
* Improve LSaddons samba & posix
|
||||
* LSmail: add possibility to send HTML email
|
||||
* SUPPAN: add support for some attributes
|
||||
* LSaccessRightsMatrixView: handle customActions & customSearchActions
|
||||
* LSldap: fix/improve update() and getEntry() methods
|
||||
* Logging:
|
||||
* Improve logging on LSobject & LSattribute triggers executions
|
||||
* Extend LSlog_handler using LSlog_staticLoggerClass
|
||||
* Add warning on unknown key requested using __get methods
|
||||
* Add __toString() method to all common extendable PHP classes to make context logging
|
||||
easier
|
||||
* Log referrer URL in case of old-style URL redirection
|
||||
* LSform:
|
||||
* fix non-AJAX form submission (or form with input[type=file])
|
||||
* fix/improve handling config (especially, fix handling ajaxSubmit configuration parameter)
|
||||
* Fix handling "0" (zero string) value
|
||||
* Doc:
|
||||
* some fixes and improvements
|
||||
* Publish and complete contrib section about LSaddons, LSformElements and LSformRules
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Wed, 30 Sep 2020 11:35:29 +0200
|
||||
|
||||
ldapsaisie (3.0.1-1) unstable; urgency=medium
|
||||
|
||||
* LSformElement JS: fire change event on input field cleared
|
||||
* LSview: Fix validated URL generation
|
||||
* LSformElement :: boolean: fix translation of default labels
|
||||
* LSaccessRightsMatrixView: fix tab links URL
|
||||
* Fix subDn form style
|
||||
* LSsession:
|
||||
* fix/improve methods & doc about global preference parameters
|
||||
* fix handling subDn in recoverPassword feature
|
||||
* fix usage of self :: $topDn instead of self :: getTopDn()
|
||||
* add setSubDn() and log_exception() methods
|
||||
* LScli:
|
||||
* fix/improve handling LDAP servers with configured subDn
|
||||
* search command: remove buggy --subDn parameter
|
||||
* LSerror: fix PHP error
|
||||
* light-blue.css: globally improve style and use dark-grey for text
|
||||
* login / recoverPassword forms: fix logo style when is too large
|
||||
* LSmail: fix select mail style
|
||||
* LSerror: format error message at adding time to fix formatting error in
|
||||
specific cases.
|
||||
* LSlog: add TRACE log level
|
||||
* Add some debug/trace messages
|
||||
* dumpFile(): add $force_download and $filename parameters
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Thu, 13 Aug 2020 17:28:45 +0200
|
||||
|
||||
ldapsaisie (3.0.0-1) unstable; urgency=medium
|
||||
|
||||
* A lot of code cleaning and PHP notices fixes
|
||||
* Introduce LSurl, a new URL routing manager for LdapSaisie: all pages
|
||||
and files served by the application is now outside the web root directory.
|
||||
* Define base URL in page templates by using public_root_url parameter
|
||||
* Add a CLI commands manager and the ldapsaisie CLI tool that currently
|
||||
permit to:
|
||||
* search/list, show, create, modify and remove LSobject
|
||||
* run procedure implemented in LdapSaisie (useful to run it as cron for
|
||||
instance).
|
||||
* Provide BASH autocompletion mechanisms for ldapsaisie CLI tool
|
||||
* Replace generate_lang_file.php and generate_ldapsaisie.pot.sh script by
|
||||
CLI commands generate_lang_file and generate_ldapsaisie_pot
|
||||
* LSsession:
|
||||
* includeFile(): allow inclusion of external file with include path search
|
||||
support (see $external parameter).
|
||||
* deprecate redirect() method in favor of LSurl :: redirect()
|
||||
* move lang stuff to a dedicated LSlang class
|
||||
* keep trace of already loaded addon to avoid loading it more than once
|
||||
* add default LSprofiles with the name of authenticable object types
|
||||
* Move custom JS & CSS handling methods from LSsession to LStemplate
|
||||
* LSsearch:
|
||||
* fix handling approx parameter
|
||||
* fix possibility to specify a filter and a pattern (in the same time)
|
||||
* fix sorting by extraDisplayedColumns (on one setParams() call)
|
||||
* fix search customActions JS validation
|
||||
* add option to disable cache on customInfos
|
||||
* LdapObject:
|
||||
* add __toString() method to fix password recovery bug
|
||||
(report by Adrien Malgoyre <adrien.malgoyre@osupytheas.fr>)
|
||||
* change getDisplayName $spe parameter default value from empty string to
|
||||
null
|
||||
* specify object type filter on loading data
|
||||
* LSrelation: globally rework and improve it
|
||||
* LSlog:
|
||||
- fix handling non-string message
|
||||
- console handler: fix stderr switching on message other than INFO / DEBUG
|
||||
- add loggers, filters and format message by handlers
|
||||
- some fixes and improvements on get_debug_backtrace_context() method
|
||||
- add enabled parameter for handlers
|
||||
* LSerror:
|
||||
- permit to control message escape method by adding a $escape parameter to all
|
||||
accessible methods
|
||||
- do not automatically close, wait user click on cross button
|
||||
* LSauth:
|
||||
- Add possibility to configure more than one LSobject type as user
|
||||
- Add possibility to handle duplicated identifier
|
||||
* LSauthMethod::CAS: Remove deprecated LSAUTH_CAS_SERVER_SSL_CERT parameter
|
||||
(since corresponding bogus setCasServerCert() method has been remove in
|
||||
phpCAS)
|
||||
* LSaddon:
|
||||
- mail: Improve mail forging method by using PEAR Mail_mime lib
|
||||
- LSaccessRigthsMatrixView: fix handling subDn LDAP servers configuration
|
||||
* LSattr_html:
|
||||
- mail: add autocomplete feature
|
||||
- select_object: Allow multiple type of objects selection
|
||||
- wysiwyg: adjust width
|
||||
- password: add confirmInput and confirmChange features and fix/improve send
|
||||
new password feature
|
||||
* LSform:
|
||||
- Avoid page scrolling on tab change
|
||||
- Add possibility to set callback to confirm/cancel event
|
||||
- Add CSS class on submitting form to permit visual adaptation
|
||||
- validate(): fix checking elements's errors after getPostData()
|
||||
* LSformRule:
|
||||
- imagesize: fix parameters handling problem
|
||||
- filesize: improve by avoiding to create a temporary file
|
||||
- email: fix handling domain parameter if its an array
|
||||
* Add ___() function to allow declaration of messages that will be translated
|
||||
at display time
|
||||
* LSimport: fix data removing on LSobject import
|
||||
* LSselect: Allow multiple type of objects selection
|
||||
* LStemplate:
|
||||
- Now offer some new methods moved from LSsession to handle custom JS & CSS:
|
||||
addJSscript(), addLibJSscript(), addJSconfigParam(), addHelpInfos() (renamed as
|
||||
addHelpInfo()), addCssFile() and addLibCssFile()
|
||||
- fatal_error() method now use LStemplate methods to assign variables and display
|
||||
template instead of directly use Smarty methods.
|
||||
* Interface is now responsive
|
||||
* Templates:
|
||||
* Globally rework on templates files to use blocks. Common basic templates
|
||||
files are now deprecated in favor to base.tpl and base_connected.tpl:
|
||||
accueil.tpl, blank.tpl, empty.tpl, top.tpl, bottom.tpl
|
||||
* Add var_dump template function helper
|
||||
* Rework on CSS and specially on light-blue.css to make it easily customizable,
|
||||
make handling more LdapSaisie components and make it more responsive.
|
||||
All other light-*.css file now only override some CSS variables to change base
|
||||
colors.
|
||||
* LSmail: fix/improve CSS
|
||||
* Fix historical typo in configuration variable name defaultJSscipts vs defaultJSscripts
|
||||
* Fix compatibility with Safari and add error popup on Internet Explorer
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Tue, 21 Jul 2020 14:13:30 +0200
|
||||
|
||||
ldapsaisie (2.4.1-0) unstable; urgency=medium
|
||||
|
||||
* generate_lang_file.php : handle LSprofiles's label
|
||||
* Enable globalSearch by default
|
||||
* generate_lang_file.php : add ignore choice in interactive mode
|
||||
* LSsession : improving logging
|
||||
* Fix some translation problems by forcing the LANGUAGE env variable value
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Mon, 28 Oct 2019 13:03:01 +0100
|
||||
|
||||
ldapsaisie (2.4.0-0) unstable; urgency=medium
|
||||
|
||||
* LSauthMethod_CAS : improve logging
|
||||
* Fix global search button display on Chromium
|
||||
* Fix some PHP 7 warnings
|
||||
* LSsearch :
|
||||
* Add nbObjectsByPageChoices parameter
|
||||
* Add $GLOBALS['NB_LSOBJECT_LIST_CHOICES'] parameter
|
||||
* Update light CSS styles
|
||||
* Add LSattr_ldap :: naiveDate
|
||||
* Add LSaddon LSaccessRightsMatrixView
|
||||
* LSprofiles : add possibility to configure them a label
|
||||
* generate_lang_file.php : fix some problems
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Fri, 25 Oct 2019 18:02:49 +0200
|
||||
|
||||
ldapsaisie (2.3-0) unstable; urgency=medium
|
||||
|
||||
* LSform_rule :: differentPassword : Add missing LSform :: getValue() function
|
||||
|
@ -111,7 +670,7 @@ ldapsaisie (1.8-4) unstable; urgency=medium
|
|||
* Add LSattr_html :: wysiwyg
|
||||
* Add LSaddon exportSearchResultAsCSV
|
||||
* Fix default LSpeople configuration
|
||||
* LSauthMethod::HTTP : support multiple methods to retreive user and
|
||||
* LSauthMethod::HTTP : support multiple methods to retrieve user and
|
||||
password from HTTP server
|
||||
* Documentation :
|
||||
+ Improve doc on LSattr_html::pre
|
||||
|
@ -215,7 +774,7 @@ ldapsaisie (1.5-1) unstable; urgency=medium
|
|||
ldapsaisie (1.4-2) unstable; urgency=medium
|
||||
|
||||
* Add new type of HTML attribut : jsonCompositeAttribute
|
||||
* LSrelation :
|
||||
* LSrelation :
|
||||
+ improve and make it easy to configure simple relation
|
||||
+ add possibilty to handle relation with multiple key values
|
||||
* Fix some PHP 7 compatibility errors
|
||||
|
|
8
debian/conf/apache.conf
vendored
8
debian/conf/apache.conf
vendored
|
@ -1,9 +1,13 @@
|
|||
Alias /ldapsaisie /usr/share/ldapsaisie
|
||||
Alias /ldapsaisie /usr/share/ldapsaisie/public_html
|
||||
|
||||
<Directory /usr/share/ldapsaisie>
|
||||
<IfModule mod_php5.c>
|
||||
php_flag magic_quotes_gpc Off
|
||||
php_flag register_globals Off
|
||||
</IfModule>
|
||||
Options -Indexes +FollowSymLinks
|
||||
Options -Indexes +FollowSymLinks
|
||||
AllowOverride FileInfo
|
||||
</Directory>
|
||||
|
||||
# Uncomment if you have LDAP object DN with slashes
|
||||
#AllowEncodedSlashes NoDecode
|
||||
|
|
6
debian/control
vendored
6
debian/control
vendored
|
@ -1,13 +1,13 @@
|
|||
Source: ldapsaisie
|
||||
Section: admin
|
||||
Priority: extra
|
||||
Build-Depends: debhelper, xsltproc, docbook-xsl
|
||||
Build-Depends: debhelper, bash-completion, python3, python3-venv, python3-pip
|
||||
Maintainer: Benjamin Renard <brenard@easter-eggs.com>
|
||||
|
||||
Package: ldapsaisie
|
||||
Architecture: all
|
||||
Depends: apache2 | httpd, php-ldap | php5-ldap, php-fpm | libapache2-mod-php5 | libapache2-mod-php | php5-cli | php-cli, smarty | smarty3, php-net-ldap2, php-net-ftp, php-mail, php-file-csv-datasource
|
||||
Recommends: php-mbstring, php-phpseclib
|
||||
Depends: apache2 | httpd, php-ldap | php5-ldap, php-fpm | libapache2-mod-php5 | libapache2-mod-php | php5-cli | php-cli, smarty | smarty3, php-net-ldap2, php-console-table
|
||||
Recommends: php-mbstring, php-phpseclib, php-unidecode, php-zxcvbn, php-ftp, php-mail, php-mail-mime, php-html2text, php-gnupg
|
||||
Description: web based interface for managing LDAP servers content
|
||||
LdapSaisie is a Web application developed to manage LDAP directory.
|
||||
It has been written in PHP / JavaScript and is published under the
|
||||
|
|
108
debian/ldapsaisie.NEWS
vendored
108
debian/ldapsaisie.NEWS
vendored
|
@ -1,3 +1,110 @@
|
|||
ldapsaisie (4.0.0-1) unstable; urgency=medium
|
||||
|
||||
This major release was built around three main goals :
|
||||
* Add an API feature that allow to provide the same features of the web interface in progammatic
|
||||
way
|
||||
* Add full import and export objets feature
|
||||
* Improve the SUPANN support to handle support new attributes provided in 2020 v2 release ot the
|
||||
recommendations.
|
||||
|
||||
Around these main goals, a lot of small fixes and improvements have been done.
|
||||
|
||||
Please also note that an historic read right on all attributes of the hard-coded "admin"
|
||||
LSprofile have been removed.
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Mon, 20 Dec 2021 14:11:51 +0100
|
||||
|
||||
ldapsaisie (3.0.2-1) unstable; urgency=medium
|
||||
|
||||
This release include a lot of small fixes and improvements, especially in logging.
|
||||
It also include some noteworthy improvements :
|
||||
- Empty LSldapObject PHP classes for your custom object types is now useless: they
|
||||
will be self-generated if they don't exists.
|
||||
- SVG images are now supported as preferred format.
|
||||
- Possible values list of select attributes could now be generated using a custom
|
||||
configurable function (see doc for details).
|
||||
- Date attribute now support configurable special values
|
||||
- LSldapObject :: getValue() method now accept $first and $default parameters that
|
||||
could be useful to simplify your custom code.
|
||||
- LSldapObject :: loadData() explicitly list need attributes in LDAP request. More
|
||||
than permit to be more efficient, this permit to handle special LDAP attributes
|
||||
which must be explicitly requested to be return by LDAP server.
|
||||
- LSformElement::getEmptyField() / LSformElement.tpl now provide value index as
|
||||
$value_idx template variable. This could be useful to handle composite attribute.
|
||||
- Improve POSIX, Samba and Supann support: handle some new attributes
|
||||
- Add showTechInfo LSaddon that could be useful for admin to see technical information
|
||||
of LDAP object.
|
||||
- "0" (zero string) value are finally properly managed.
|
||||
Please see /usr/share/doc/ldapsaisie/changelog.Debian.gz for complete list of
|
||||
changes.
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Wed, 30 Sep 2020 11:35:29 +0200
|
||||
|
||||
ldapsaisie (3.0.0-1) unstable; urgency=medium
|
||||
|
||||
This release introduce important modifications and especially :
|
||||
- All pages and files served by the application is now using LSurl,
|
||||
an URL routing engine. This new mechanisms require you enable Apache
|
||||
HTTP mod_rewrite and allow RewriteRule defined in .htaccess file
|
||||
provided with the application. The web-root directory also changed
|
||||
to /usr/share/ldapsaisie/public_html : make sure to consequently adapt
|
||||
your configuration.
|
||||
You also have to adapt the public_root_url to your environment in
|
||||
/etc/ldapsaisie/conf/config.inc.php (default: /ldapsaisie/). This URL
|
||||
is now specify as base URL in all templates file. Consequently, a miss
|
||||
configured URL will cause problems to load any resources files (images,
|
||||
CSS, Javascript, ...).
|
||||
We try to keep compatibility to old-style URL but we display a warning to
|
||||
invite you to update your custom code. Please note, this compatibility only
|
||||
handle redirect to new URL, but POST data are not keep during this
|
||||
redirection. Moreover, Ajax calls on old index_ajax.php URL is not handled
|
||||
and only show the warning message.
|
||||
Furthermore, the LSsession :: redirect() method helper is now deprecated in
|
||||
favor of LSurl :: redirect(). A warning message is also displayed if you
|
||||
have custom code that keep using it.
|
||||
Necessarily, a lot of small change have been made in templates and CSS files.
|
||||
If you customize your web interface, please refer to default files delivered
|
||||
with the application to correctly reintroduce your changes.
|
||||
- Interface is now responsive. To take advantage of this, however, you may need
|
||||
to update your graphic adaptations as well as your custom code.
|
||||
- Templates files of the application evolve to use blocks. Blocks permit to
|
||||
extends templates from another and just add/replace some blocks of the extended
|
||||
template. This permit to avoid template code duplication and make easier to
|
||||
create custom theme. Common basic templates files are now deprecated in favor
|
||||
to base.tpl and base_connected.tpl : accueil.tpl, blank.tpl, empty.tpl, top.tpl
|
||||
and bottom.tpl.
|
||||
- The default loaded CSS file light-blue.css evolve to defined color used as CSS
|
||||
variables. All other light-*.css files now have to be used in addition of the
|
||||
file light-blue.css (to load first). This files now only overide defined colors
|
||||
variables.
|
||||
- A CLI tool is now provided with the application : its currently permit
|
||||
to search/list, show, create, modify and delete LSobject as its possible in web
|
||||
interface. You also could run procedure implemented in LdapSaisie (useful to run
|
||||
it as cron for instance). BASH autocompletion is also provided.
|
||||
Furthermore, the generate_lang_file.php and generate_ldapsaisie.pot.sh scripts
|
||||
are replaced by LScli commands generate_lang_file and generate_ldapsaisie_pot.
|
||||
- LSlog, the logging manager, have also gain flexibility: it's now possible to
|
||||
configure log level by component, filter log by components in log handlers
|
||||
configuration and configure log format by handler. To make LdapSaisie components
|
||||
using this new flexibility, a lot of small changes have been make, especially in
|
||||
class files. The old-LSdebug function is now in way to be deprecated, or at least
|
||||
deprioritized in favor of using LSlog :: debug().
|
||||
- It's now possible to configure more than one LSobject type that can connect on
|
||||
application as user. Consequently, if your LDAP directory contains more than one
|
||||
type of users, LdapSaisie can now handle it. Furthermore, a new default LSprofile
|
||||
is added for each authenticable object type to easily allow all users of one type
|
||||
to do something.
|
||||
- LSselect and select_object attributes permit to selection of multiple object types.
|
||||
Consequently and for instance, its now possible to have group of multiple object
|
||||
types (group of users & groups, group of multiple user object types, ...).
|
||||
- LSsession methods to manage custom JS & CSS are now handle and expose by LStemplate
|
||||
- Internet Explorer is now officially unsupported and an error popup is now displayed
|
||||
when users try to access LdapSaisie with this browser.
|
||||
Please see /usr/share/doc/ldapsaisie/changelog.Debian.gz for complete list of
|
||||
changes.
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Wed, 06 May 2020 14:30:03 +0200
|
||||
|
||||
ldapsaisie (1.7-1) unstable; urgency=medium
|
||||
|
||||
This release introduce some modifications for PHP7 and Debian Strech
|
||||
|
@ -13,4 +120,3 @@ ldapsaisie (1.7-1) unstable; urgency=medium
|
|||
+ helper function loadDir() ($regexpr parameter)
|
||||
|
||||
-- Benjamin Renard <brenard@easter-eggs.com> Mon, 08 Jan 2018 20:27:15 +0100
|
||||
|
||||
|
|
26
debian/ldapsaisie.bash-completion
vendored
Normal file
26
debian/ldapsaisie.bash-completion
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
_ldapsaisie()
|
||||
{
|
||||
# Retrieve cur, words and cword variables by using _get_comp_words_by_ref helper
|
||||
# and excluding "=" char as break-word
|
||||
local cur words cword
|
||||
_get_comp_words_by_ref -n "=" cur words cword
|
||||
|
||||
# Retrieve COMPREPLY using bash_autocomplete ldapsaisie CLI command
|
||||
COMPREPLY=( $(ldapsaisie bash_autocomplete ${cword} -- ${words[@]}) )
|
||||
|
||||
# If current word to complete contain '=' and if it's a word-break char
|
||||
# Note: This method was inspired by __ltrim_colon_completions helper.
|
||||
if [[ $cur == *=* && $COMP_WORDBREAKS == *=* ]]; then
|
||||
# Remove equal_word prefix from COMPREPLY items
|
||||
local equal_word=${cur%"${cur##*=}"}
|
||||
local i=${#COMPREPLY[*]}
|
||||
while ((i-- > 0)); do
|
||||
COMPREPLY[i]=${COMPREPLY[i]#"$equal_word"}
|
||||
done
|
||||
fi
|
||||
# If only one answer and it ending by "=", do not add space
|
||||
if [[ ${#COMPREPLY[@]} -eq 1 ]] && [[ ${COMPREPLY[0]} == *= || ${COMPREPLY[0]} == *=\' || ${COMPREPLY[0]} == *=\" ]]; then
|
||||
compopt -o nospace
|
||||
fi
|
||||
}
|
||||
complete -o default -F _ldapsaisie ldapsaisie
|
2
debian/ldapsaisie.docs
vendored
Normal file
2
debian/ldapsaisie.docs
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
lsexample
|
||||
doc/LdapSaisie.html
|
4
debian/ldapsaisie.install
vendored
4
debian/ldapsaisie.install
vendored
|
@ -1,4 +1,2 @@
|
|||
debian/conf/apache.conf etc/ldapsaisie/
|
||||
lsexample/schema/lsexample.schema etc/ldap/schema/
|
||||
lsexample/schema/lsexample.ldif etc/ldap/schema/
|
||||
public_html/* usr/share/ldapsaisie/
|
||||
src/* usr/share/ldapsaisie/
|
||||
|
|
2
debian/ldapsaisie.links
vendored
2
debian/ldapsaisie.links
vendored
|
@ -1,4 +1,4 @@
|
|||
var/cache/ldapsaisie usr/share/ldapsaisie/tmp
|
||||
usr/local/share/ldapsaisie usr/share/ldapsaisie/local
|
||||
usr/local/share/ldapsaisie etc/ldapsaisie/local
|
||||
usr/share/ldapsaisie/lang/generate_lang_file.php usr/bin/ldapsaisie-generate-lang-file
|
||||
usr/share/ldapsaisie/bin/ldapsaisie.php usr/sbin/ldapsaisie
|
||||
|
|
2
debian/ldapsaisie.logrotate
vendored
2
debian/ldapsaisie.logrotate
vendored
|
@ -1,4 +1,4 @@
|
|||
/var/log/ldapsaisie/ldapsaisie.log {
|
||||
/var/log/ldapsaisie/*.log {
|
||||
daily
|
||||
missingok
|
||||
rotate 7
|
||||
|
|
3
debian/ldapsaisie.postinst
vendored
3
debian/ldapsaisie.postinst
vendored
|
@ -13,5 +13,8 @@ case "$1" in
|
|||
then
|
||||
mv /usr/local/share/ldapsaisie/conf/config.inc.php.dpkg-move /usr/local/share/ldapsaisie/conf/config.inc.php
|
||||
fi
|
||||
|
||||
# Purge Smarty templates cache
|
||||
rm -f /var/cache/ldapsaisie/*.php
|
||||
;;
|
||||
esac
|
||||
|
|
15
debian/rules
vendored
15
debian/rules
vendored
|
@ -1,10 +1,10 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
%:
|
||||
dh $@
|
||||
dh $@ --with bash-completion
|
||||
|
||||
override_dh_auto_build:
|
||||
make -C $(CURDIR)/doc/exports/html -f Makefile debian
|
||||
make -C $(CURDIR)/doc -f Makefile debian
|
||||
|
||||
override_dh_clean:
|
||||
dh_clean
|
||||
|
@ -13,9 +13,20 @@ override_dh_clean:
|
|||
override_dh_install:
|
||||
dh_install -X .gitignore -X .placefolder -X tmp
|
||||
|
||||
# Move local directory as /usr/local/share/ldapsaisie
|
||||
# Note: a symbolic link will be install by dh_link
|
||||
mv $(CURDIR)/debian/ldapsaisie/usr/share/ldapsaisie/local $(CURDIR)/debian/ldapsaisie/usr/local/share/ldapsaisie
|
||||
# Remove all files in local directory
|
||||
find $(CURDIR)/debian/ldapsaisie/usr/local/share/ldapsaisie -type f -exec rm -f \{\} \;
|
||||
|
||||
# Change default log file path
|
||||
sed -i 's/tmp\/LS.log/\/var\/log\/ldapsaisie\/ldapsaisie.log/' $(CURDIR)/debian/ldapsaisie/usr/share/ldapsaisie/conf/config.inc.php
|
||||
# Change default public_root_url
|
||||
sed -i "s/^\(\s*'public_root_url' => \).*/\1'\/ldapsaisie\/',/" $(CURDIR)/debian/ldapsaisie/usr/share/ldapsaisie/conf/config.inc.php
|
||||
# Change LS_VERSION
|
||||
sed -i "s/^define('LS_VERSION',.*/define('LS_VERSION', '$(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')');/" $(CURDIR)/debian/ldapsaisie/usr/share/ldapsaisie/includes/core.php
|
||||
|
||||
# Make a copy of default config.inc.php to /usr/local/share/ldapsaisie/conf/config.inc.example.php (=/etc/ldapsaisie/local/conf/config.inc.php)
|
||||
cp $(CURDIR)/debian/ldapsaisie/usr/share/ldapsaisie/conf/config.inc.php $(CURDIR)/debian/ldapsaisie/usr/local/share/ldapsaisie/conf/config.inc.example.php
|
||||
|
||||
override_dh_usrlocal:
|
||||
|
|
6
doc/.gitignore
vendored
Normal file
6
doc/.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
public_html
|
||||
LdapSaisie.html
|
||||
LdapSaisie.pdf
|
||||
LdapSaisie.epub
|
||||
venv
|
||||
dist
|
|
@ -1,33 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY LdapSaisie "<application>LdapSaisie</application>">
|
||||
<!ENTITY netldap "<application><ulink url='http://pear.php.net/package/Net_LDAP2'>Net_LDAP2</ulink></application>">
|
||||
<!ENTITY smarty "<application><ulink url='http://www.smarty.net/'>Smarty</ulink></application>">
|
||||
<!ENTITY php "<application><ulink url='http://www.php.net/'>PHP</ulink></application>">
|
||||
<!ENTITY PEAR "<application><ulink url='http://pear.php.net/'>PEAR</ulink></application>">
|
||||
<!ENTITY openldap "<application><ulink url='http://www.openldap.org/'>OpenLDAP</ulink></application>">
|
||||
<!ENTITY courier "<application><ulink url='http://www.courier-mta.org/'>Courier</ulink></application>">
|
||||
<!ENTITY CAS "<application><ulink url='http://www.jasig.org/cas'>CAS</ulink></application>">
|
||||
<!ENTITY phpCAS "<application><ulink url='http://www.ja-sig.org/wiki/display/CASC/phpCAS'>phpCAS</ulink></application>">
|
||||
<!ENTITY PhpLdapAdmin "<application><ulink url='http://phpldapadmin.sourceforge.net'>PhpLdapAdmin</ulink></application>">
|
||||
<!ENTITY TinyMCE "<application><ulink url='https://www.tinymce.com'>TinyMCE</ulink></application>">
|
||||
|
||||
<!ENTITY subDn "<link linkend='config-subDn'>subDn</link>">
|
||||
<!ENTITY LSprofile "<link linkend='config-LSprofile'>LSprofile</link>">
|
||||
<!ENTITY LSprofiles "<link linkend='config-LSprofile'>LSprofiles</link>">
|
||||
<!ENTITY LSobject "<link linkend='config-LSobject'>LSobject</link>">
|
||||
<!ENTITY LSobjects "<link linkend='config-LSobject'>LSobjects</link>">
|
||||
<!ENTITY LSattribute "<link linkend='config-LSattribute'>LSattribute</link>">
|
||||
<!ENTITY LSattributes "<link linkend='config-LSattribute'>LSattributes</link>">
|
||||
<!ENTITY customActions "<link linkend='config-LSobject-customActions'>customActions</link>">
|
||||
<!ENTITY customSearchActions "<link linkend='config-LSobject-customSearchActions'>customActions</link>">
|
||||
<!ENTITY LSrelation "<link linkend='config-LSobject-LSrelation'>LSrelation</link>">
|
||||
<!ENTITY LSrelations "<link linkend='config-LSobject-LSrelation'>LSrelations</link>">
|
||||
<!ENTITY LSform "<link linkend='config-LSobject-LSform'>LSform</link>">
|
||||
<!ENTITY LSforms "<link linkend='config-LSobject-LSform'>LSforms</link>">
|
||||
<!ENTITY LSformat "<link linkend='config-LSformat'>LSformat</link>">
|
||||
<!ENTITY LSformats "<link linkend='config-LSformat'>LSformats</link>">
|
||||
<!ENTITY LSaddon "<link linkend='config-LSaddon'>LSaddon</link>">
|
||||
<!ENTITY LSaddons "<link linkend='config-LSaddon'>LSaddons</link>">
|
||||
<!ENTITY LSauthMethod "<link linkend='config-LSauthMethod'>LSauthMethod</link>">
|
||||
<!ENTITY LSselect "<emphasis>LSselect</emphasis>">
|
||||
<!ENTITY LSsearch "<link linkend='config-LSobject-LSsearch'>LSsearch</link>">
|
|
@ -1,51 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE
|
||||
book SYSTEM "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[
|
||||
<!ENTITY % LS-entities SYSTEM "LS.entities.xml">
|
||||
%LS-entities;
|
||||
|
||||
<!ENTITY % conf-entities SYSTEM "conf/conf.entities.xml">
|
||||
%conf-entities;
|
||||
<!ENTITY % conf-LSattribute-LSattr_html-entities SYSTEM "conf/LSattribute/LSattr_html/LSattr_html.entities.xml">
|
||||
%conf-LSattribute-LSattr_html-entities;
|
||||
<!ENTITY % conf-LSattribute-LSattr_ldap-entities SYSTEM "conf/LSattribute/LSattr_ldap/LSattr_ldap.entities.xml">
|
||||
%conf-LSattribute-LSattr_ldap-entities;
|
||||
<!ENTITY % conf-LSattribute-check_data-entities SYSTEM "conf/LSattribute/check_data/LSattribute-check_data.entities.xml">
|
||||
%conf-LSattribute-check_data-entities;
|
||||
<!ENTITY % conf-LSaddon-entities SYSTEM "conf/LSaddon/LSaddon.entities.xml">
|
||||
%conf-LSaddon-entities;
|
||||
<!ENTITY % conf-LSauthMethod-entities SYSTEM "conf/LSauthMethod/LSauthMethod.entities.xml">
|
||||
%conf-LSauthMethod-entities;
|
||||
|
||||
<!ENTITY intro SYSTEM "intro/intro.docbook">
|
||||
<!ENTITY install SYSTEM "install/install.docbook">
|
||||
<!ENTITY install-arbo SYSTEM "install/arbo.docbook">
|
||||
]>
|
||||
|
||||
<book lang="fr">
|
||||
|
||||
<bookinfo lang="fr">
|
||||
<title>LdapSaisie</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Benjamin</firstname>
|
||||
<surname>Renard</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>brenard@easter-eggs.com</email>
|
||||
<email>benjamin.renard@zionetrix.net</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<productname>LdapSaisie</productname>
|
||||
<releaseinfo>Version 0.3</releaseinfo>
|
||||
</bookinfo>
|
||||
|
||||
&intro;
|
||||
|
||||
&install;
|
||||
|
||||
&conf;
|
||||
</book>
|
44
doc/Makefile
44
doc/Makefile
|
@ -1,16 +1,40 @@
|
|||
DOCBOOK_FILE=LdapSaisie.docbook
|
||||
build: venv public_html LdapSaisie.html LdapSaisie.pdf LdapSaisie.epub
|
||||
|
||||
all: validate export
|
||||
public_html: venv
|
||||
venv/bin/mkdocs build -s
|
||||
|
||||
# Validation
|
||||
validate:
|
||||
xmllint --valid --noout $(DOCBOOK_FILE)
|
||||
LdapSaisie.html: venv public_html
|
||||
venv/bin/htmlark public_html/print_page/index.html -o LdapSaisie.tmp.html
|
||||
venv/bin/python clean-all-in-one-html-file.py LdapSaisie.tmp.html LdapSaisie.html
|
||||
rm -f LdapSaisie.tmp.html
|
||||
|
||||
export:
|
||||
cd exports; make all
|
||||
LdapSaisie.pdf: LdapSaisie.html
|
||||
docker run -v $(CURDIR):/workspace pink33n/html-to-pdf --url file:///workspace/LdapSaisie.html --pdf LdapSaisie.pdf
|
||||
|
||||
html:
|
||||
cd exports/html; make all-in-one/LdapSaisie.html
|
||||
LdapSaisie.epub: LdapSaisie.html
|
||||
pandoc LdapSaisie.html \
|
||||
-f html \
|
||||
--toc \
|
||||
--standalone \
|
||||
--top-level-division=chapter \
|
||||
--highlight-style style/pygments.theme \
|
||||
--css style/epub.css \
|
||||
--metadata=title:"Documentation LdapSaisie" \
|
||||
--metadata=author:"Benjamin Renard" \
|
||||
--metadata=lang:"fr-FR" \
|
||||
--metadata=cover-image:"../logos/ldapsaisie-logo.png" \
|
||||
--pdf-engine=weasyprint \
|
||||
-o LdapSaisie.epub
|
||||
|
||||
venv:
|
||||
python3 -m venv venv
|
||||
venv/bin/python -m pip install --upgrade pip setuptools
|
||||
venv/bin/python -m pip install -r requirements.txt
|
||||
|
||||
clean:
|
||||
cd exports; make clean
|
||||
rm -fr venv public_html LdapSaisie.html LdapSaisie.pdf LdapSaisie.epub
|
||||
|
||||
serve: venv
|
||||
venv/bin/mkdocs serve
|
||||
|
||||
debian: LdapSaisie.html
|
||||
|
|
35
doc/README
35
doc/README
|
@ -1,35 +0,0 @@
|
|||
Makefile :
|
||||
##########
|
||||
|
||||
The root Makefile permit currently 3 actions :
|
||||
* Validation : For the xml validation of docbook files
|
||||
make validate
|
||||
|
||||
* Export : For build the documentation exports in all available formats
|
||||
make export
|
||||
|
||||
* Clean : Delete non-sources files
|
||||
make clean
|
||||
|
||||
Dependencies :
|
||||
##############
|
||||
|
||||
For validation :
|
||||
================
|
||||
* xmllint command (in debian package libxml2-utils)
|
||||
|
||||
For exports :
|
||||
=============
|
||||
* in HTML :
|
||||
~~~~~~~~~~~
|
||||
+ xsltproc command (in debian package xsltproc)
|
||||
+ XSL stylesheets by N.Walsh (html/docbook.xsl, htmlhelp/htmlhelp.xsl
|
||||
and xhtml/chunk.xsl) (in debian package docbook-xsl)
|
||||
|
||||
* in PDF :
|
||||
~~~~~~~~~~
|
||||
+ jw command (in debian package docbook-utils)
|
||||
|
||||
* in EPUB :
|
||||
~~~~~~~~~~~
|
||||
+ dbtoepub command ((in debian package dbtoepub)
|
40
doc/clean-all-in-one-html-file.py
Normal file
40
doc/clean-all-in-one-html-file.py
Normal file
|
@ -0,0 +1,40 @@
|
|||
import sys
|
||||
import os.path
|
||||
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
# Check & handle arguments
|
||||
if len(sys.argv) < 2:
|
||||
print(f'Usage: {sys.argv[0]} [/path/to/input.html] [/path/to/output.html]')
|
||||
sys.exit(1)
|
||||
|
||||
input_path = sys.argv[1]
|
||||
|
||||
if not os.path.exists(input_path):
|
||||
print(f'{input_path} not found')
|
||||
sys.exit(1)
|
||||
|
||||
output_path = sys.argv[2] if len(sys.argv) > 2 else input_path
|
||||
|
||||
# Open & parse HTML input file
|
||||
with open(input_path, 'r') as fp:
|
||||
soup = BeautifulSoup(fp, 'html.parser')
|
||||
|
||||
# Delete some useless elements
|
||||
to_delete = [
|
||||
(['div'], {'class': 'md-sidebar'}),
|
||||
(['div'], {'class': 'md-search'}),
|
||||
(['label'], {'for': '__search'}),
|
||||
(['div'], {'id': 'print-site-banner'}),
|
||||
(['div'], {'class': 'md-header__source'}),
|
||||
]
|
||||
for args, kwargs in to_delete:
|
||||
for el in soup.find_all(*args, **kwargs):
|
||||
el.decompose()
|
||||
|
||||
# Change LdapSaisie logo header link to JS scroll top action
|
||||
soup.find('a', attrs={'class': 'md-logo'})['href'] = 'javascript:window.scrollTo(0,0)'
|
||||
|
||||
# Store resulting HTML document in output file
|
||||
with open(output_path, 'w') as fp:
|
||||
fp.write(str(soup))
|
|
@ -1,57 +0,0 @@
|
|||
<sect2 id='config-search-params'>
|
||||
<title>Paramètres étendus des recherches dans l'annuaire</title>
|
||||
<para>Les paramètres des recherches sont ceux supportés par &netldap;. Ces
|
||||
paramètres sont passés sous la forme d'un tableau associatif. Les paramètres
|
||||
supportés sont détaillés ci-dessous :
|
||||
|
||||
<informaltable>
|
||||
<tgroup cols="3"> <!-- on décrit le nombre de colonnes -->
|
||||
<thead> <!-- on passe au "header" du tableau -->
|
||||
<row>
|
||||
<entry>Nom</entry>
|
||||
<entry>Description</entry>
|
||||
<entry>Valeur par défaut</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody> <!-- et on remplit les lignes -->
|
||||
<row>
|
||||
<entry><parameter>scope</parameter></entry>
|
||||
<entry>
|
||||
<simpara>Définition de l'étendue de la recherche :</simpara>
|
||||
<itemizedlist>
|
||||
<listitem><simpara><literal>base</literal> - Sur une entrée seulement</simpara></listitem>
|
||||
<listitem><simpara><literal>one</literal> - Sur les entrées imédiatement contenu par le <parameter>basedn</parameter> de la recherche</simpara></listitem>
|
||||
<listitem><simpara><literal>sub</literal> - Sur l'arbre entier</simpara></listitem>
|
||||
</itemizedlist>
|
||||
</entry>
|
||||
<entry><literal>sub</literal></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>sizelimit</parameter></entry>
|
||||
<entry>Le nombre maximum d'entrées retournées par la recherche.</entry>
|
||||
<entry><literal>0</literal> (illimité)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>timelimit</parameter></entry>
|
||||
<entry>Le délai d'attente maximum de la réponse du serveur en secondes.</entry>
|
||||
<entry><literal>0</literal> (illimité)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>attrsonly</parameter></entry>
|
||||
<entry>Si <emphasis>vrai</emphasis>, seuls les noms des atttributs seront
|
||||
retournés.</entry>
|
||||
<entry><literal>false</literal></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>attributes</parameter></entry>
|
||||
<entry>Tableau contenant les noms des attributs que les entrées retournées
|
||||
peuvent contenir et que l'on souhaite récupérer.</entry>
|
||||
<entry><literal>array()</literal>(tous)</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<remark>Pour plus d'information sur le sujet, vous pouvez consulter la
|
||||
documentation officiel du projet &netldap;.</remark>
|
||||
</para>
|
||||
</sect2>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<sect1 id='config-LSaddon'>
|
||||
<title>Configuration des LSaddons</title>
|
||||
<para>
|
||||
Cette partie décrit la manière de configurer les différents &LSaddons;
|
||||
actuellement supportés par &LdapSaisie;. Ces addons peuvent avoir un
|
||||
fichier de configuration et il sera alors stocké dans le dossier
|
||||
<literal>conf/LSaddons/</literal> et potera le nom
|
||||
<literal>config.LSaddons.[addon name].php</literal>.
|
||||
</para>
|
||||
|
||||
&conf-LSaddon_asterisk;
|
||||
&conf-LSaddon_exportSearchResultAsCSV;
|
||||
&conf-LSaddon_mail;
|
||||
&conf-LSaddon_maildir;
|
||||
&conf-LSaddon_mailquota;
|
||||
&conf-LSaddon_phpldapadmin;
|
||||
|
||||
</sect1>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSaddon_asterisk SYSTEM "LSaddon_asterisk.docbook">
|
||||
<!ENTITY conf-LSaddon_exportSearchResultAsCSV SYSTEM "LSaddon_exportSearchResultAsCSV.docbook">
|
||||
<!ENTITY conf-LSaddon_mail SYSTEM "LSaddon_mail.docbook">
|
||||
<!ENTITY conf-LSaddon_maildir SYSTEM "LSaddon_maildir.docbook">
|
||||
<!ENTITY conf-LSaddon_mailquota SYSTEM "LSaddon_mailquota.docbook">
|
||||
<!ENTITY conf-LSaddon_phpldapadmin SYSTEM "LSaddon_phpldapadmin.docbook">
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<sect2 id="config-LSaddon_asterisk">
|
||||
<title>LSaddon_asterisk</title>
|
||||
<para>Cet &LSaddon; est utilisé pour gérer les fonctionnalités spécifiques au serveur de téléphonie Asterisk.
|
||||
Cet &LSaddon; donne accès à une fonction permettant l'encodage d'un mot de passe au format spécifique attendu
|
||||
par Asterisk. Ce format est un hash MD5 d'une chaine de caractère composée du nom d'utilisateur, d'une chaine
|
||||
fixe spécifiée dans la configuration d'Asterisk et du mot de passe en clair.</para>
|
||||
</sect2>
|
|
@ -1,50 +0,0 @@
|
|||
<sect2 id="config-LSaddon_exportSearchResultAsCSV">
|
||||
<title>LSaddon_exportSearchResultAsCSV</title>
|
||||
<para>Cet &LSaddon; fournie une fonction du même nom pouvant être utilisée
|
||||
comme &customSearchActions; et permettant de télécharger le résultat d'une
|
||||
recherche au format CSV. L'export généré reprend exactement le contenu des
|
||||
colonnes du tableau du résultat de la recherche. Le DN de l'objet LDAP
|
||||
correspondant est également fournis dans une colonne.</para>
|
||||
|
||||
<para>Des paramètres de configuration sont disponibles dans le fichier de
|
||||
configuration <literal>config.LSaddons.exportSearchResultAsCSV.php</literal>.
|
||||
Ils permettent notamment de contrôller le format du fichier CSV généré.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>
|
||||
<![CDATA[// CSV file delimiter
|
||||
define('LS_EXPORTSEARCHRESULTASCSV_DELIMITER',',');
|
||||
|
||||
// CSV file enclosure
|
||||
define('LS_EXPORTSEARCHRESULTASCSV_ENCLOSURE','"');
|
||||
|
||||
// CSV file escape character (available since PHP 5.5.4)
|
||||
define('LS_EXPORTSEARCHRESULTASCSV_ESCAPE_CHAR','\\');]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction
|
||||
<literal>exportSearchResultAsCSV()</literal> comme &customSearchActions;</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople']['LSsearch'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'exportSearchResultAsCSV' => array (
|
||||
'label' => 'Export result as CSV',
|
||||
'icon' => 'export_csv',
|
||||
'function' => 'exportSearchResultAsCSV',
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'rights' => array (
|
||||
'admin'
|
||||
)
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
<note><simpara>Le label et l'icône fournis dans cet exemple sont traduits
|
||||
et délivrés avec &LdapSaisie;</simpara></note>
|
||||
|
||||
</sect2>
|
|
@ -1,82 +0,0 @@
|
|||
<sect2 id="config-LSaddon_mail">
|
||||
<title>LSaddon_mail</title>
|
||||
<para>Cet &LSaddon; est utilisé pour gérer l'envoie de mail. Le module
|
||||
&PEAR; Mail doit être installé. Il doit être configuré en éditant son
|
||||
fichier de configuration <literal>config.LSaddons.mail.php</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>/*
|
||||
***********************************************
|
||||
* Configuration du support de l'envoi de mail *
|
||||
***********************************************
|
||||
*/
|
||||
|
||||
// Pear :: Mail
|
||||
define('PEAR_MAIL','/usr/share/php/Mail.php');
|
||||
|
||||
/*
|
||||
* Méthode d'envoie :
|
||||
* - mail : envoie avec la méthode PHP mail()
|
||||
* - sendmail : envoie la commande sendmail du système
|
||||
* - smtp : envoie en utilisant un serveur SMTP
|
||||
*/
|
||||
define('MAIL_SEND_METHOD','smtp');
|
||||
|
||||
/*
|
||||
* Paramètres d'envoie :
|
||||
* Ces paramètres dépende de la méthode utilisé. Repporté vous à la documentation
|
||||
* de PEAR :: Mail pour plus d'information.
|
||||
* Lien : http://pear.php.net/manual/en/package.mail.mail.factory.php
|
||||
* Infos :
|
||||
* List of parameter for the backends
|
||||
* mail
|
||||
* o If safe mode is disabled, $params will be passed as the fifth
|
||||
* argument to the PHP mail() function. If $params is an array,
|
||||
* its elements will be joined as a space-delimited string.
|
||||
* sendmail
|
||||
* o $params["sendmail_path"] - The location of the sendmail program
|
||||
* on the filesystem. Default is /usr/bin/sendmail.
|
||||
* o $params["sendmail_args"] - Additional parameters to pass to the
|
||||
* sendmail. Default is -i.
|
||||
* smtp
|
||||
* o $params["host"] - The server to connect. Default is localhost.
|
||||
* o $params["port"] - The port to connect. Default is 25.
|
||||
* o $params["auth"] - Whether or not to use SMTP authentication.
|
||||
* Default is FALSE.
|
||||
* o $params["username"] - The username to use for SMTP authentication.
|
||||
* o $params["password"] - The password to use for SMTP authentication.
|
||||
* o $params["localhost"] - The value to give when sending EHLO or HELO.
|
||||
* Default is localhost
|
||||
* o $params["timeout"] - The SMTP connection timeout.
|
||||
* Default is NULL (no timeout).
|
||||
* o $params["verp"] - Whether to use VERP or not. Default is FALSE.
|
||||
* o $params["debug"] - Whether to enable SMTP debug mode or not.
|
||||
* Default is FALSE.
|
||||
* o $params["persist"] - Indicates whether or not the SMTP connection
|
||||
* should persist over multiple calls to the send() method.
|
||||
*/
|
||||
$MAIL_SEND_PARAMS = NULL;
|
||||
|
||||
/*
|
||||
* Headers :
|
||||
*/
|
||||
$MAIL_HEARDERS = array(
|
||||
"Content-Type" => "text/plain",
|
||||
"charset" => "UTF-8",
|
||||
"format" => "flowed"
|
||||
);
|
||||
</programlisting>
|
||||
|
||||
<para>Cet &LSaddon; offre la possibilité d'utilisé la fonction &php;
|
||||
<function>sendMail()</function>.
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>bool <function>sendMail</function></funcdef>
|
||||
<paramdef>string <parameter>$to</parameter></paramdef>
|
||||
<paramdef>string <parameter>$subject</parameter></paramdef>
|
||||
<paramdef>string <parameter>$msg</parameter></paramdef>
|
||||
<paramdef>array <parameter>$headers</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</para>
|
||||
</sect2>
|
|
@ -1,5 +0,0 @@
|
|||
<sect2 id="config-LSaddon_maildir">
|
||||
<title>LSaddon_maildir</title>
|
||||
<para>Cet &LSaddon; est utilisé pour gérer la manipulation distante de maildir.
|
||||
FIXME</para>
|
||||
</sect2>
|
|
@ -1,60 +0,0 @@
|
|||
<sect2 id="config-LSaddon_mailquota">
|
||||
<title>LSaddon_mailquota</title>
|
||||
<para>Cet &LSaddon; fournie une fonction <literal>mailquota_get_usage</literal>
|
||||
pouvant être utilisée pour récupérer l'utilisation du quota d'une boîte mail
|
||||
IMAP. Pour cela, &LdapSaisie; se connecte au serveur IMAP en utilisant un
|
||||
compte maître.</para>
|
||||
<para>Cet &LSaddon; fournie une également une fonction
|
||||
<literal>mailquota_show_usage</literal> pouvant être utilisée comme
|
||||
&customSearchActions; et permettant d'afficher l'utilisation du quota de la
|
||||
boîte mail correspondante via une message dynamique (<literal>LSinfo</literal>).
|
||||
</para>
|
||||
|
||||
<para>Des paramètres de configuration sont disponibles dans le fichier de
|
||||
configuration <literal>config.LSaddons.mailquota.php</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>
|
||||
<![CDATA[// IMAP Mailbox connection string LSformat (composed with LSldapObject attributes)
|
||||
// See : https://php.net/imap_open (parameter $mailbox)
|
||||
define('MAILQUOTA_IMAP_MAILBOX','{localhost}');
|
||||
|
||||
// IMAP Master user
|
||||
define('MAILQUOTA_IMAP_MASTER_USER', 'ldapsaisie');
|
||||
|
||||
// IMAP Master user's password
|
||||
define('MAILQUOTA_IMAP_MASTER_USER_PWD', 'secret');
|
||||
|
||||
// IMAP Master user LSformat composed with :
|
||||
// * masteruser = master username (MAILQUOTA_IMAP_MASTER_USER)
|
||||
// * LSldapObject attributes
|
||||
define('MAILQUOTA_IMAP_MASTER_USER_FORMAT', '%{mail}*%{masteruser}');
|
||||
|
||||
// IMAP quota root mailbox
|
||||
define('MAILQUOTA_IMAP_QUOTA_ROOT_MAILBOX', 'INBOX');]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction
|
||||
<literal>mailquota_show_usage()</literal> comme &customActions;</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'showmailquotausage' => array (
|
||||
'function' => 'mailquota_show_usage',
|
||||
'label' => 'Show mail quota usage',
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'mail',
|
||||
'rights' => array (
|
||||
'admin'
|
||||
)
|
||||
),
|
||||
[...]
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
</sect2>
|
|
@ -1,44 +0,0 @@
|
|||
<sect2 id="config-LSaddon_phpldapadmin">
|
||||
<title>LSaddon_phpldapadmin</title>
|
||||
<para>Cet &LSaddon; est utilisé pour permettre un lien facile entre le logiciel
|
||||
&PhpLdapAdmin; et LdapSaisie. Il sera possible ainsi à partir d'un objet dans
|
||||
LdapSaisie de voir ce même objet dans &PhpLdapAdmin;.</para>
|
||||
|
||||
<para>Il est necessaire de configurer l'URL de votre installation de &PhpLdapAdmin; dans
|
||||
le fichier de configuration <literal>config.LSaddons.phpldapadmin.php</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>
|
||||
<![CDATA[// PhpLdapAdmin View Object URL format
|
||||
define('LS_PHPLDAPADMIN_VIEW_OBJECT_URL_FORMAT','//'.$_SERVER['SERVER_NAME'].'/phpldapadmin/cmd.php?cmd=template_engine&server_id=0&dn=%{dn}');]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Cet &LSaddon; offre la possibilité d'utilisé la fonction &php;
|
||||
<function>redirectToPhpLdapAdmin()</function> comme &customActions;.
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>bool <function>redirectToPhpLdapAdmin</function></funcdef>
|
||||
<paramdef>LSldapObject <parameter>$ldapObject</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'redirectPhpLdapAdmin' => array (
|
||||
'function' => 'redirectToPhpLdapAdmin',
|
||||
'label' => 'See in PhpLdapAdmin',
|
||||
'hideLabel' => True,
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'phpldapadmin',
|
||||
'rights' => array (
|
||||
'admin'
|
||||
)
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
</sect2>
|
|
@ -1,290 +0,0 @@
|
|||
<sect2 id="config-LSattribute">
|
||||
<title>Configuration des attributs</title>
|
||||
<para>Cette section décrit les options de configuration des attributs des
|
||||
&LSobjects;. Les attributs sont définis dans le tableau associatif
|
||||
<varname>attrs</varname> de la configuration des &LSobjects;. Dans ce tableau,
|
||||
les clé les noms des attributs et les valeurs liés sont la configuration des
|
||||
attributs.</para>
|
||||
|
||||
<warning><simpara>Contrairement à ce qui existe dans le standard LDAP, les
|
||||
noms des attributs sont sensibles à la casse. Il faut que le nom des attributs
|
||||
dans &LdapSaisie; soient scrupuleusement les mêmes que ceux retourné par
|
||||
&netldap;</simpara></warning>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['attrs' => array (
|
||||
/* ----------- start -----------*/
|
||||
'attr1' => array (
|
||||
'label' => '[label de l'attr1',
|
||||
'displayAttrName' => '[booleen]',
|
||||
'help_info' => '[Message d'aide sur l'attribut attr1]',
|
||||
'help_info_in_view' => '[booleen]',
|
||||
'ldap_type' => 'ldaptype1',
|
||||
'ldap_options' => array(
|
||||
// Options LDAP liées au type LDAP de l'attribut
|
||||
),
|
||||
'html_type' => 'htmltype1',
|
||||
'html_options' => array(
|
||||
// Options HTML liées au type HTML de l'attribut
|
||||
),
|
||||
'no_value_label' => '[No set value label]',
|
||||
'multiple' => 0,
|
||||
'required' => 1,
|
||||
'generate_function' => 'fonction1',
|
||||
'generate_value_format' => '[LSformat]',
|
||||
'default_value' => 'valeur1',
|
||||
'check_data' => array (
|
||||
// Régle de vérification syntaxique des données saisies
|
||||
),
|
||||
'validation' => array (
|
||||
// Règle de vérification d'intégrité des données saisies
|
||||
),
|
||||
'rights' => array(
|
||||
'LSprofile1' => 'droit1',
|
||||
'LSprofile2' => 'droit2',
|
||||
...
|
||||
),
|
||||
'view' => 1,
|
||||
'form' => array (
|
||||
'create' => 1,
|
||||
'modify' => 0,
|
||||
...
|
||||
),
|
||||
'dependAttrs' => array(
|
||||
// Attributs en dépendance
|
||||
),
|
||||
'onDisplay' => 'fonction2'
|
||||
|
||||
'before_modify' => 'function1',
|
||||
'after_modify' => 'function2'
|
||||
),
|
||||
/* ----------- end -----------*/
|
||||
...
|
||||
);]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<!-- Début Paramètres Configuration -->
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>label</term>
|
||||
<listitem>
|
||||
<simpara>Le label de l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>displayAttrName</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le nom de l'attribut doit être affiché en
|
||||
préfixe du message d'aide (paramètre <parameter>help_info</parameter>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>help_info</term>
|
||||
<listitem>
|
||||
<simpara>Message d'aide qui sera affiché dans une bulle d'aide à côté du
|
||||
nom de l'attribut dans les formulaires.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>help_info_in_view</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le message d'aide doit être affiché sur la vue
|
||||
de visualisation de l'objet.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ldap_type</term>
|
||||
<listitem>
|
||||
<simpara>Le type LDAP de l'attribut.
|
||||
<link linkend='config-LSattr_ldap'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ldap_options</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les paramètres de configuration du
|
||||
type LDAP de l'attribut.
|
||||
<link linkend='config-LSattr_ldap'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>html_type</term>
|
||||
<listitem>
|
||||
<simpara>Le type HTML de l'attribut.
|
||||
<link linkend='config-LSattr_html'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>html_options</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les paramètres de configuration du
|
||||
type HTML de l'attribut.
|
||||
<link linkend='config-LSattr_html'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>no_value_label</term>
|
||||
<listitem>
|
||||
<simpara>Label affiché lorsque l'attribut n'a pas de valeur (facultatif).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>multiple</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si cet attribut peut stocker plusieurs valeurs.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si cet attribut doit obligatoirement être
|
||||
défini.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>generate_function</term>
|
||||
<listitem>
|
||||
<simpara>Nom de la fonction permettant de générer la valeur de l'attribut.
|
||||
Cette fonction sera éxecutée, en passant en premier paramètre, l'objet
|
||||
&LSobject; courant.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>generate_value_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; permettant la génération de l'attribut.</simpara>
|
||||
<note><simpara>Cette méthode de génération est utilisée uniquement si aucune fonction de génération
|
||||
de la valeur n'est définie (paramètre <parameter>generate_function</parameter>).</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>default_value</term>
|
||||
<listitem>
|
||||
<simpara>Valeur par défaut de l'attribut.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<note><simpara>Cette valeur est également utilisée dans le cadre de la génération automatique
|
||||
de la valeur de l'attribut si aucune autre méthode n'est disponible (via une fonction ou un &LSformat;).</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>check_data</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les règles de vérification syntaxique
|
||||
des données de l'attribut.<link linkend='config-LSattribute-check-data'>Voir
|
||||
la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>validation</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les règles de vérification d'intégrité
|
||||
des données de l'attribut.<link linkend='config-LSattribute-validation'>Voir
|
||||
la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>rights</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif dont les clés sont les noms des &LSprofiles; ayant
|
||||
des droits sur cet attribut et les valeurs associées sont les droits
|
||||
correspondants. La valeur des droits d'un &LSprofile; peut être
|
||||
<literal>r</literal> pour le droit de lecture ou <literal>w</literal> pour
|
||||
le droit de lecture-écriture. Par défaut, un &LSprofile; n'a aucun droit.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>view</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'attribut est, ou non, affiché lors de la
|
||||
visualisation des objets du type courant.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>form</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif dont les clés sont les noms des &LSforms; et les
|
||||
valeurs associées la définition de l'affichage dans ce &LSform;. Si cette
|
||||
valeur vaut <emphasis>0</emphasis>, alors l'attribut sera lecture-seule et si
|
||||
cette valeur vaut <emphasis>1</emphasis>, cet attribut sera affiché en
|
||||
lecture-écriture.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>dependAttrs</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif listant les attributs dépendants de celui-ci.
|
||||
Les attributs listés ici seront regénérés lors de chaque modification
|
||||
de l'attribut courant. Cette génération sera effectué avec la fonction
|
||||
définie dans le paramètre <varname>generate_function</varname> de
|
||||
l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>onDisplay</term>
|
||||
<listitem>
|
||||
<simpara>Nom ou liste de nom des fonctions retournant les valeurs d'affichages
|
||||
de l'attribut. Si c'est une liste, chacune des fonctions seront executée les
|
||||
unes après les autres. Ces fonctions seront éxecutées, en passant en premier
|
||||
paramètre, le tableau des valeurs de l'objet.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>before_modify</term>
|
||||
<listitem>
|
||||
<simpara>Nom de la fonction qui sera exécutée avant toutes modifications de
|
||||
la valeur de l'attribut.<link linkend="config-LSattribute-triggers">Voir la
|
||||
section concernée</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>after_modify</term>
|
||||
<listitem>
|
||||
<simpara>Nom de la fonction qui sera exécutée après toutes modifications de
|
||||
la valeur de l'attribut.<link linkend="config-LSattribute-triggers">Voir la
|
||||
section concernée</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
&conf-LSattribute-LSattr_ldap;
|
||||
&conf-LSattribute-LSattr_html;
|
||||
|
||||
&conf-LSattribute-check-data;
|
||||
&conf-LSattribute-validation;
|
||||
&conf-LSattribute-triggers;
|
||||
|
||||
</sect2>
|
|
@ -1,30 +0,0 @@
|
|||
<sect3 id="config-LSattr_html">
|
||||
<title>Configuration des attributs HTML</title>
|
||||
<para>Cette section décrit les options propres à chacun des types d'attributs HTML
|
||||
supportés par &LdapSaisie;.</para>
|
||||
|
||||
&conf-LSattr_html_boolean;
|
||||
&conf-LSattr_html_date;
|
||||
&conf-LSattr_html_image;
|
||||
&conf-LSattr_html_jsonCompositeAttribute;
|
||||
&conf-LSattr_html_labeledValue;
|
||||
&conf-LSattr_html_mail;
|
||||
&conf-LSattr_html_maildir;
|
||||
&conf-LSattr_html_mailQuota;
|
||||
&conf-LSattr_html_password;
|
||||
&conf-LSattr_html_postaladdress;
|
||||
&conf-LSattr_html_pre;
|
||||
&conf-LSattr_html_rss;
|
||||
&conf-LSattr_html_select_box;
|
||||
&conf-LSattr_html_select_list;
|
||||
&conf-LSattr_html_select_object;
|
||||
&conf-LSattr_html_ssh_key;
|
||||
&conf-LSattr_html_tel;
|
||||
&conf-LSattr_html_text;
|
||||
&conf-LSattr_html_textarea;
|
||||
&conf-LSattr_html_url;
|
||||
&conf-LSattr_html_valueWithUnit;
|
||||
&conf-LSattr_html_wywiwyg;
|
||||
&conf-LSattr_html_xmpp;
|
||||
|
||||
</sect3>
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSattr_html_boolean SYSTEM "LSattr_html_boolean.docbook">
|
||||
<!ENTITY conf-LSattr_html_date SYSTEM "LSattr_html_date.docbook">
|
||||
<!ENTITY conf-LSattr_html_image SYSTEM "LSattr_html_image.docbook">
|
||||
<!ENTITY conf-LSattr_html_jsonCompositeAttribute SYSTEM "LSattr_html_jsonCompositeAttribute.docbook">
|
||||
<!ENTITY conf-LSattr_html_labeledValue SYSTEM "LSattr_html_labeledValue.docbook">
|
||||
<!ENTITY conf-LSattr_html_mail SYSTEM "LSattr_html_mail.docbook">
|
||||
<!ENTITY conf-LSattr_html_maildir SYSTEM "LSattr_html_maildir.docbook">
|
||||
<!ENTITY conf-LSattr_html_mailQuota SYSTEM "LSattr_html_mailQuota.docbook">
|
||||
<!ENTITY conf-LSattr_html_password SYSTEM "LSattr_html_password.docbook">
|
||||
<!ENTITY conf-LSattr_html_postaladdress SYSTEM "LSattr_html_postaladdress.docbook">
|
||||
<!ENTITY conf-LSattr_html_pre SYSTEM "LSattr_html_pre.docbook">
|
||||
<!ENTITY conf-LSattr_html_rss SYSTEM "LSattr_html_rss.docbook">
|
||||
<!ENTITY conf-LSattr_html_select_box SYSTEM "LSattr_html_select_box.docbook">
|
||||
<!ENTITY conf-LSattr_html_select_list SYSTEM "LSattr_html_select_list.docbook">
|
||||
<!ENTITY conf-LSattr_html_select_object SYSTEM "LSattr_html_select_object.docbook">
|
||||
<!ENTITY conf-LSattr_html_ssh_key SYSTEM "LSattr_html_ssh_key.docbook">
|
||||
<!ENTITY conf-LSattr_html_tel SYSTEM "LSattr_html_tel.docbook">
|
||||
<!ENTITY conf-LSattr_html_text SYSTEM "LSattr_html_text.docbook">
|
||||
<!ENTITY conf-LSattr_html_textarea SYSTEM "LSattr_html_textarea.docbook">
|
||||
<!ENTITY conf-LSattr_html_url SYSTEM "LSattr_html_url.docbook">
|
||||
<!ENTITY conf-LSattr_html_valueWithUnit SYSTEM "LSattr_html_valueWithUnit.docbook">
|
||||
<!ENTITY conf-LSattr_html_wywiwyg SYSTEM "LSattr_html_wywiwyg.docbook">
|
||||
<!ENTITY conf-LSattr_html_xmpp SYSTEM "LSattr_html_xmpp.docbook">
|
||||
|
||||
<!ENTITY LSattr_html_jsonCompositeAttribute "<link linkend='config-LSattr_html_jsonCompositeAttribute'>LSattr_html_jsonCompositeAttribute</link>">
|
||||
<!ENTITY LSattr_html_select_list "<link linkend='config-LSattr_html_select_list'>LSattr_html_select_list</link>">
|
||||
<!ENTITY LSattr_html_textarea "<link linkend='config-LSattr_html_textarea'>LSattr_html_textarea</link>">
|
|
@ -1,53 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_boolean">
|
||||
<title>LSattr_html_boolean</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un booléen.</para>
|
||||
|
||||
|
||||
<para>La valeur retournée est l'une des chaînes de caractères suivantes :
|
||||
<itemizedlist>
|
||||
<listitem><simpara><literal>yes</literal> pour <emphasis>Vrai</emphasis></simpara></listitem>
|
||||
<listitem><simpara><literal>no</literal> pour <emphasis>Faux</emphasis></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'true_label' => '[label]',
|
||||
'false_label' => '[label]',
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>true_label</term>
|
||||
<listitem>
|
||||
<simpara>Label affiché pour désigner la valeur <literal>Vrai</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>false_label</term>
|
||||
<listitem>
|
||||
<simpara>Label affiché pour désigner la valeur <literal>Faux</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<note><simpara>Pour le moment, les attributs à valeurs multiples ne sont pas gérés.
|
||||
</simpara></note>
|
||||
|
||||
<note><simpara>Pour maîtriser les valeurs stockées dans l'annuaire, il faut
|
||||
coupler ce type d'attribut HTML avec le type d'attribut LDAP
|
||||
<link linkend='config-LSattr_ldap_boolean'>boolean</link></simpara></note>
|
||||
|
||||
<important><simpara>La définition de la valeur par défaut d'un attribut utilisant
|
||||
ce type HTML (paramètre <literal>default_value</literal>), doit se faire à l'aide
|
||||
des valeurs <literal>yes</literal> ou <literal>no</literal>.</simpara></important>
|
||||
|
||||
</sect4>
|
|
@ -1,218 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_date">
|
||||
<title>LSattr_html_date</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une date. L'outil de sélection de date <application>
|
||||
<ulink url='http://mootools.net/forge/p/mootools_datepicker'>
|
||||
MooTools-DatePicker</ulink></application> est utilisé pour la sélection
|
||||
graphique de la date et de l'heure.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'format' => '[Format d'affichage de la date]',
|
||||
'time' => '[Booleen pour le choix ou non de l heure]',
|
||||
'manual' => '[Booleen pour l edition manuelle ou non]',
|
||||
'showNowButton' => '[Booleen]',
|
||||
'showTodayButton' => '[Booleen]',
|
||||
'style' => '[Nom du style utilise]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>format</term>
|
||||
<listitem>
|
||||
<para>Format d'affichage de la date dans le champ de saisie. Ce format
|
||||
est composé à partir des motifs clés suivants :
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Mot clé</entry>
|
||||
<entry>Valeur de substitution</entry>
|
||||
<entry>Exemple de valeur</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>%a</literal></entry>
|
||||
<entry><simpara>Nom abrégé du jour de la semaine</simpara></entry>
|
||||
<entry><simpara>De Sun à Sat</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%A</literal></entry>
|
||||
<entry><simpara>Nom complet du jour de la semaine</simpara></entry>
|
||||
<entry><simpara>De Sunday à Saturday</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%b</literal></entry>
|
||||
<entry><simpara>Nom du mois, abrégé, suivant la locale</simpara></entry>
|
||||
<entry><simpara>De Jan à Dec</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%B</literal></entry>
|
||||
<entry><simpara>Nom complet du mois, suivant la locale</simpara></entry>
|
||||
<entry><simpara>De January à December</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%c</literal></entry>
|
||||
<entry><simpara>Date et heure préférées, basées sur la locale</simpara></entry>
|
||||
<entry><simpara>Exemple : Tue Feb 5 00:45:10 2009 pour le 5 Février 2009 à 12:45:10 AM</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%d</literal></entry>
|
||||
<entry><simpara>Jour du mois en numérique, sur 2 chiffres (avec le zéro initial)</simpara></entry>
|
||||
<entry><simpara>De 01 à 31</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%e</literal></entry>
|
||||
<entry><simpara>Jour du mois, avec un espace précédant le premier chiffre. L'implémentation Windows est différente, voyez après pour plus d'informations.</simpara></entry>
|
||||
<entry><simpara>De 1 à 31</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%H</literal></entry>
|
||||
<entry><simpara>L'heure, sur 2 chiffres, au format 24 heures</simpara></entry>
|
||||
<entry><simpara>De 00 à 23</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%I</literal></entry>
|
||||
<entry><simpara>Heure, sur 2 chiffres, au format 12 heures</simpara></entry>
|
||||
<entry><simpara>De 01 à 12</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%j</literal></entry>
|
||||
<entry><simpara>Jour de l'année, sur 3 chiffres avec un zéro initial</simpara></entry>
|
||||
<entry><simpara>001 à 366</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%m</literal></entry>
|
||||
<entry><simpara>Mois, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>De 01 (pour Janvier) à 12 (pour Décembre)</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%M</literal></entry>
|
||||
<entry><simpara>Minute, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>De 00 à 59</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%p</literal></entry>
|
||||
<entry><simpara>'AM' ou 'PM', en majuscule, basé sur l'heure fournie</simpara></entry>
|
||||
<entry><simpara>Exemple : AM pour 00:31, PM pour 22:23</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%s</literal></entry>
|
||||
<entry><simpara>Timestamp de l'époque Unix (identique à la fonction time())</simpara></entry>
|
||||
<entry><simpara>Exemple : 305815200 pour le 10 Septembre 1979 08:40:00 AM</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%S</literal></entry>
|
||||
<entry><simpara>Seconde, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>De 00 à 59</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%T</literal></entry>
|
||||
<entry><simpara>Identique à "%H:%M:%S" Exemple : 21:34:17 pour 09:34:17 PM</simpara></entry>
|
||||
<entry><simpara></simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%U</literal></entry>
|
||||
<entry><simpara>Numéro de la semaine de l'année donnée, en commençant par le premier Lundi comme première semaine</simpara></entry>
|
||||
<entry><simpara>13 (pour la 13ème semaine pleine de l'année)</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%w</literal></entry>
|
||||
<entry><simpara>Représentation numérique du jour de la semaine</simpara></entry>
|
||||
<entry><simpara>De 0 (pour Dimanche) à 6 (pour Samedi)</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%y</literal></entry>
|
||||
<entry><simpara>L'année, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>Exemple : 09 pour 2009, 79 pour 1979</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%Y</literal></entry>
|
||||
<entry><simpara>L'année, sur 4 chiffres</simpara></entry>
|
||||
<entry><simpara>Exemple : 2038</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%z</literal></entry>
|
||||
<entry><simpara> Soit le décalage horaire depuis UTC, ou son abréviation (suivant le système d'exploitation)</simpara></entry>
|
||||
<entry><simpara> Exemple : -0500 ou EST pour l'heure de l'Est</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%Z</literal></entry>
|
||||
<entry><simpara> Le décalage horaire ou son abréviation NON fournie par %z (suivant le système d'exploitation)</simpara></entry>
|
||||
<entry><simpara> Exemple : -0500 ou EST pour l'heure de l'Est</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%%</literal></entry>
|
||||
<entry><simpara>Le caractère de pourcentage ("%")</simpara></entry>
|
||||
<entry><simpara>---</simpara></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
<note><simpara>La valeur par défaut est <emphasis>%d/%m/%Y, %T</emphasis>.
|
||||
Exemple : <emphasis>23/04/2009, 23:03:04</emphasis></simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>time</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'outil de sélection permetra ou non le choix
|
||||
de l'heure en plus de la date</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>manual</term>
|
||||
<listitem>
|
||||
<simpara>Booléen autorisant ou non l'édition manuelle du champs. Si ce paramètre
|
||||
vaut <literal>False</literal>, la sélection se fera uniquement à l'aide de l'outil
|
||||
graphique</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>showNowButton</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le bouton <emphasis>Maintenant</emphasis> est
|
||||
affiché ou non. Par défaut, il est affiché.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>showTodayButton</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le bouton <emphasis>Aujourd'hui</emphasis> est
|
||||
affiché ou non. Par défaut, il est affiché.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>style</term>
|
||||
<listitem>
|
||||
<para>Nom du style d'affichage de l'outil de sélection. Les valeurs possibles
|
||||
sont par défaut :
|
||||
<itemizedlist>
|
||||
<listitem><simpara>default</simpara></listitem>
|
||||
<listitem><simpara>dashboard</simpara></listitem>
|
||||
<listitem><simpara>vista</simpara></listitem>
|
||||
<listitem><simpara>jqui</simpara></listitem>
|
||||
</itemizedlist>
|
||||
<note><simpara>La création de nouveau thème est possible. Pour plus d'information,
|
||||
consulter <ulink url='http://mootools.net/forge/p/mootools_datepicker'>l'aide de
|
||||
l'outil de sélection de date</ulink>.</simpara></note>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_image">
|
||||
<title>LSattr_html_image</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une image. Pour le moment, les attributs à valeurs multiples ne sont pas gérés.
|
||||
</para>
|
||||
</sect4>
|
|
@ -1,122 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_jsonCompositeAttribute">
|
||||
<title>LSattr_html_jsonCompositeAttribute</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont les valeurs sont
|
||||
des dictionnaires de valeurs encodées aux formats <emphasis>JSON</emphasis>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple de valeur gérée</citetitle>
|
||||
<![CDATA[{"component1": "value1", "component2": "value2", "component3": "value3"}]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Le principe est que ces dictionnaires contienent plusieurs composants référencés
|
||||
par leur clé et stockant une valeur dont le type peut être un texte libre ou
|
||||
bien être issue d'une liste déroulante configurable selon le même principe que
|
||||
le type d'attribut &LSattr_html_select_list;.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'components' => array (
|
||||
'[clé composant 1]' => array (
|
||||
'label' => '[Label du composant]',
|
||||
'help_info' => '[Message d'aide sur le composant]',
|
||||
'type' => '[Type de la valeur stocké]',
|
||||
'required' => [Booléen],
|
||||
'multiple' => [Booléen],
|
||||
'check_data' => => array (
|
||||
// Régle de vérification syntaxique des données saisies
|
||||
),
|
||||
),
|
||||
'[clé composant 2]' => array (
|
||||
'label' => '[Label du composant 2]',
|
||||
'type' => 'select_list',
|
||||
'required' => [Booléen],
|
||||
'options' => array (
|
||||
[Configuration équivalente à un attribut LSattr_html_select_list]
|
||||
)
|
||||
),
|
||||
[...]
|
||||
),
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>components</term>
|
||||
<listitem>
|
||||
<para>Tableau associatif obligatoire contenant en valeur clé, l'identifiant des
|
||||
composants, correspondant à la clé dans le dictionnaire <emphasis>JSON</emphasis>,
|
||||
et en valeurs associés, la configuration du composant.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>label</term>
|
||||
<listitem>
|
||||
<simpara>Le label du composant.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>help_info</term>
|
||||
<listitem>
|
||||
<simpara>Message d'aide sur le composant (affiché uniquement en mode édition).
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>type</term>
|
||||
<listitem>
|
||||
<simpara>Le type de valeur du composant. Les types possibles sont
|
||||
<literal>text</literal> ou <literal>select_list</literal> pour respectivement
|
||||
soit une valeur saisie librement, soit une valeur sélectionnée parmis une liste
|
||||
déroulante.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>options</term>
|
||||
<listitem>
|
||||
<simpara>Dans le cadre d'un composant de type <literal>select_list</literal>, cela
|
||||
correspond à la configuration de la liste déroulante. Cette configuration utilise la
|
||||
même syntaxe de configuration que celle du type d'attribut &LSattr_html_select_list;
|
||||
et son paramètre <literal>html_options</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>multiple</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si ce composant peut stocker plusieurs valeurs (Défaut :
|
||||
<emphasis>Faux</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si ce composant doit obligatoirement être défini (Défaut :
|
||||
<emphasis>Faux</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>check_data</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les règles de vérification syntaxique
|
||||
des données du composant. Ces règles sont configurables de la même manière
|
||||
que les celles des valeurs attributs.
|
||||
<link linkend='config-LSattribute-check-data'>Voir la section concernée.</link>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,33 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_labeledValue">
|
||||
<title>LSattr_html_labeledValue</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
prefixé d'un <literal>label</literal> et qui respecte le format suivant :
|
||||
<literal>[label]valeur</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'labels' => array ( // Liste des labels possible
|
||||
'label1' => 'Libellé label1',
|
||||
'label2' => 'Libellé label2',
|
||||
[...]
|
||||
),
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>labels</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif obligatoire contenant en valeur clé, le
|
||||
<literal>label</literal> utilisé dans la valeur stockée et en valeur
|
||||
associée, le valeur d'affichage du <literal>label</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,34 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_mail">
|
||||
<title>LSattr_html_mail</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une adresse e-mail. Il propose directement dans l'interface, la possibilité
|
||||
d'envoyer des mails à l'adresse saisie.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'disableMailSending' => [booléen]
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>disableMailSending</term>
|
||||
<listitem>
|
||||
<simpara>Désactive l'envoi de mail depuis l'interface pour cet attribut.</simpara>
|
||||
<note><simpara>Ceci ne désactive pas pour autant le lien HTML de type
|
||||
<emphasis>mailto:</emphasis>. Pour cela, utilisez plutôt le type d'attribut HTML
|
||||
<link linkend='config-LSattr_html_text'>text</link>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,29 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_mailQuota">
|
||||
<title>LSattr_html_mailQuota</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
le quota d'une boite mail. Le format de la valeur générée correspondant au format
|
||||
attendu par le serveur de mail &courier; par défaut. Exemple : <emphasis>50000000S</emphasis>
|
||||
correspond à un quota de 50Mio.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'suffix' => '[suffix]',
|
||||
)
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>suffix</term>
|
||||
<listitem>
|
||||
<simpara>Chaine de caractères suffixant la valeur du quota (Par défaut : <literal>S</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,82 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_maildir">
|
||||
<title>LSattr_html_maildir</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
le chemin d'une maildir. Typiquement, ce type attribut HTML est utile dans
|
||||
le cas de l'attribut <emphasis>mailbox</emphasis> utilisé par maildrop pour
|
||||
stocker le chemin des boites mails. Ce type d'attribut offre la possibilité de
|
||||
gérér un niveau de l'attribut et à travers les déclencheurs gérés par &LdapSaisie;
|
||||
la création, la modification et ou la suppression de la boite mails. Le &LSaddon;
|
||||
<link linkend='config-LSaddon_maildir'>boolean</link> est utilisé pour manipuler
|
||||
la boite mail à distance.
|
||||
</para>
|
||||
|
||||
<note><simpara>Actuellement, cet &LSaddon; ne gérant que l'accès via FTP au
|
||||
serveur distant, l'API d'accès via FTP est attaquée directement.</simpara></note>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'LSform' => array (
|
||||
'[LSform1]' => [booléen],
|
||||
'[LSform2]' => [booléen],
|
||||
...
|
||||
),
|
||||
'remoteRootPathRegex' => "[Expression régulière pour matcher le dossier à créer]",
|
||||
'archiveNameFormat' => "[LSformat du chemin/nom du fichier une fois archiver]"
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>LSform</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif obligatoire contenant en valeur clé le nom des
|
||||
&LSforms; dans lesquels la fonctionnalité de modification de la boite mail
|
||||
sera présente. Les valeurs attachées sont des booléens définissant si la
|
||||
modification est active par défaut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>remoteRootPathRegex</term>
|
||||
<listitem>
|
||||
<simpara>Expression régulière (compatible Perl) facultative dont le but est de
|
||||
<emphasis>matcher</emphasis> dans la valeur complète du chemin distant de la
|
||||
<emphasis>maildir</emphasis>, le chemin de la <emphasis>maildir</emphasis>
|
||||
à créer une fois connecté sur le serveur.</simpara>
|
||||
<para>Exemple : Si le chemin complet de la <emphasis>maildir</emphasis> est
|
||||
<emphasis>/home/vmail/user</emphasis>, mais que l'utilisateur FTP lorsqu'il
|
||||
se connecte arrive directement dans <emphasis>/home/vmail</emphasis>, et faut
|
||||
définir le paramètre <parameter>remoteRootPathRegex</parameter> de la manière
|
||||
suivante :
|
||||
<programlisting linenumbering="unnumbered">/^\/home\/vmail\/([^\/]*)\/+$/</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>archiveNameFormat</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du nom du dossier de la <emphasis>maildir</emphasis> une
|
||||
fois archivée. Si ce format est défini, le dossier ne sera pas supprimé mais
|
||||
déplacé ou rénommé. Le format sera construit avec pour seul mot clé, le nom
|
||||
de l'ancien dossier. Exemple : Si le dossier de la maildir est
|
||||
<emphasis>/home/vmail/user</emphasis> et le paramètre
|
||||
<parameter>archiveNameFormat</parameter> vaut <emphasis>%{old}.bckp</emphasis>,
|
||||
le dossier sera renommé en <emphasis>/home/vmail/user.bckp</emphasis>.</simpara>
|
||||
<important><simpara>Ce format est interprété après application de la routine
|
||||
liée au paramètre <parameter>remoteRootPathRegex</parameter>. Ainsi, dans
|
||||
l'exemple précédent, si le paramètre <parameter>remoteRootPathRegex</parameter>
|
||||
tronquait uniquement le nom du dossier final, c'est à dire <emphasis>user</emphasis>,
|
||||
le format une fois interprété donnerai <emphasis>user.bckp</emphasis>.
|
||||
</simpara></important>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,254 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_password">
|
||||
<title>LSattr_html_password</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un mot de passe.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'isLoginPassword' => [booleen],
|
||||
'generationTool' => [booleen],
|
||||
'autoGenerate' => [booleen],
|
||||
'lenght' => [nombre de caractères],
|
||||
'chars' => array ( // Caractères que peut contenir le mot de passe
|
||||
array( // Liste caractère avec un nombre mininum d'apparition supérieur à 1
|
||||
'nb' => [nb caractères],
|
||||
'chars' => '[liste de caractères possibles]'
|
||||
),
|
||||
'[autre liste de caractères possibles]', // Liste caractère avec un nombre
|
||||
// d'apparitions égal à 1
|
||||
...
|
||||
),
|
||||
'use_pwgen' => [booléen], // Utiliser pwgen pour la génération du mot de passe
|
||||
'pwgen_path' => "/path/to/pwgen",
|
||||
'pwgen_opts' => "[options à passer à pwgen]",
|
||||
'verify' => [booléen], // Activation de l'outil de vérification du mot de passe
|
||||
'viewHash' => [booléen], // Activation de l'outil de visualisation du mot de passe haché
|
||||
'mail' => array( // Configuration de l'envoi du mot de passe par mail
|
||||
'subject' => "[LSformat du sujet du mail]",
|
||||
'msg' => "[LSformat du message du mail]",
|
||||
'mail_attr' => 'mail', // Attribut mail de l'objet
|
||||
'get_mail_attr_function' => '[function]', // Fonction retournant l'attribut mail de l'objet
|
||||
'send' => 1, // Activation par défaut de l'envoi du mot de passe
|
||||
'ask' => 1, // Laisser le choix à l'utilisateur
|
||||
'canEdit' => 1 // Activation de l'édition du LSformat du message par l'utilisateur
|
||||
)
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>isLoginPassword</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le mot de passe est celui utilisé par l'utilisateur
|
||||
pour se logguer à l'annuaire LDAP. Si c'est le cas, pour vérifier si le mot de passe
|
||||
correspond avec un autre, une tentative de connexion de l'utilisateur à l'annuaire
|
||||
sera faite. (Par défaut : <literal>Faux</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>generationTool</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'outil de génération de mot de passe est
|
||||
activé.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>autoGenerate</term>
|
||||
<listitem>
|
||||
<simpara>Active la génération automatique du mot de passe lorsque l'attribut
|
||||
n'a encore aucune valeur de définie. Il faut également que l'outil de
|
||||
génération soit activé (<parameter>generationTool</parameter>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>lenght</term>
|
||||
<listitem>
|
||||
<simpara>Nombre de caractères que devront contenir les mots de passe générés.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>chars</term>
|
||||
<listitem>
|
||||
<para>Tableau contenant une liste de listes de caractères possibles pour
|
||||
composer le mot de passe. Dans chacune de ces listes, au moins un caractère
|
||||
sera utilisé dans le nouveau mot de passe. Il est possible de définir un
|
||||
nombre supérieur de caractères d'une liste devant apparaître dans les mots de
|
||||
passe générés en spécifiant un tableau associatif dont la clé <emphasis>nb
|
||||
</emphasis> associra le nombre entier de caractères et la clé <emphasis>chars
|
||||
</emphasis> la liste de caractères. Une liste de caractères est un chaîne.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>use_pwgen</term>
|
||||
<listitem>
|
||||
<para>Booléen définissant si la commande <literal>pwgen</literal> doit être
|
||||
utilisé pour générer le mot de passe.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>pwgen_path</term>
|
||||
<listitem>
|
||||
<para>Chemin d'accès au binaire <literal>pwgen</literal>.
|
||||
(Par défaut : <literal>pwgen</literal>).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>pwgen_opts</term>
|
||||
<listitem>
|
||||
<para>Options à passer à la commande <literal>pwgen</literal>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>verify</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'outil de vérification du mot de passe est
|
||||
activé. Si celui-ci est activé, l'utilisateur pourra entrer un mot de passe
|
||||
dans le champ et cliquer sur un bouton qui lancera une procédure de
|
||||
vérification du mot de passe via un test de connexion à l'annuaire.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>viewHash</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'utilisateur aura accès à la fonctionnalité
|
||||
de visualisation du mot de passe haché.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>clearView</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'utilisateur pourra voir le mot de passe en
|
||||
clair par défaut (y comris en mode visualisation uniquement).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>clearEdit</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'utilisateur éditera le mot de passe au travers
|
||||
un champs HTML de type <emphasis>text</emphasis> et donc lisible ou au travers un
|
||||
champs HTML de type <emphasis>password</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>mail</term>
|
||||
<listitem>
|
||||
<para>Paramètres de configuration de l'envoi par mail du mot de passe à
|
||||
l'utilisateur. Lorsque cet outil est activé, lors de la modification/création
|
||||
du mot de passe, l'utilisateur pourra recevoir un mail lui spécifiant son
|
||||
nouveau mot de passe.
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>send</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'envoi du mot de passe est activé par
|
||||
défaut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ask</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si on laisse le choix à l'utilisateur
|
||||
d'activer ou non l'envoi du mot de passe par mail.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>canEdit</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si on laisse la possibilité à l'utilisateur
|
||||
d'éditer le &LSformat; du message et du sujet.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>subject</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du sujet du mail. Ce format sera composé avec la
|
||||
valeur du nouveau mot de passe de l'utilisateur.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>msg</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du message du mail. Ce format sera composé avec les
|
||||
informations de l'object LDAP, y compris le mot clé <emphasis>%{password}</emphasis>
|
||||
correspondant à la valeur du nouveau mot de passe de l'utilisateur.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>mail_attr</term>
|
||||
<listitem>
|
||||
<simpara>Le nom de l'attribut listant les mails possibles de
|
||||
l'utilisateur. Par défaut, la première valeur de l'attribut sera
|
||||
utilisée comme adresse mail destinatrice. Cet attribut peut également
|
||||
être un tableau de plusieurs noms d'attributs. Dans ce cas, la première
|
||||
valeur correcte sera retenue.
|
||||
Si <parameter>canEdit</parameter> est activé, l'utilisateur pourra
|
||||
choisir l'adresse mail destinatrice parmi la liste des valeurs de
|
||||
l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>get_mail_attr_function</term>
|
||||
<listitem>
|
||||
<simpara>Nom de la fonction (ou <literal>callable</literal> au sens PHP)
|
||||
qui sera utilisé pour récupérer le nom de l'attribut listant les mails
|
||||
possibles de l'utilisateur. Cette fonction prendra en paramètre, l'objet
|
||||
<literal>LSformElement</literal> courant et devra retourner une valeur
|
||||
équivalente au paramètre de configuration <literal>mail_attr</literal>.
|
||||
Si ce paramètre est défini, il prévalera toujours sur le paramètre
|
||||
<literal>mail_attr</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>bcc</term>
|
||||
<listitem>
|
||||
<simpara>Mettre en <emphasis>BCC</emphasis> un mail systématiquement
|
||||
(ou plusieurs en les séparant par des virgules).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>headers</term>
|
||||
<listitem>
|
||||
<simpara>Un tableau de type clé/valeur ou la clé est le nom d'un header
|
||||
à ajouter au mail et la valeur est la valeur de l'header en question.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,68 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_postaladdress">
|
||||
<title>LSattr_html_postaladdress</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs du type de l'attribut
|
||||
standard <emphasis>postalAddress</emphasis>. Ce type d'attribut permet d'afficher,
|
||||
en plus de l'adresse, un lien composé à partir d'informations de l'objet permettant
|
||||
par exemple d'afficher un lien vers une carte géocalisant l'adresse postale.</para>
|
||||
|
||||
<para>Par défaut, le lien ajouté sera un lien de recherche de l'adresse postale
|
||||
générée à partir de la valeur de l'attribut (en remplaçant les retours à la ligne
|
||||
(<literal>\n</literal>) par des espaces) via le service
|
||||
<ulink url='http://nominatim.openstreetmap.org/'>Nominatim d'OpenStreetMap</ulink>.
|
||||
</para>
|
||||
|
||||
<note><simpara>Dans le cadre du fonctionnement par défaut et pour maîtriser les
|
||||
valeurs stockées dans l'annuaire, il faut coupler ce type d'attribut HTML avec le
|
||||
type d'attribut LDAP
|
||||
<link linkend='config-LSattr_ldap_postaladdress'>postaladdress</link></simpara></note>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'map_url_pattern_format' => '[LSformat]',
|
||||
'map_url_pattern_generate_function' => '[callable]',
|
||||
'map_url_format' => '[LSformat]',
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>map_url_pattern_format</term>
|
||||
<listitem>
|
||||
<simpara>Ce &LSformat; doit permettre de générer la valeur de l'adresse postale
|
||||
qui sera insérée dans l'URL du lien ajouté dans l'interface.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>map_url_pattern_generate_function</term>
|
||||
<listitem>
|
||||
<simpara>Ce paramètre permet de définir une fonction qui sera utilisée à la place
|
||||
du paramètre <literal>map_url_pattern_format</literal> pour générer la valeur de
|
||||
l'adresse postale qui sera insérée dans l'URL du lien ajouté dans l'interface.
|
||||
Cette fonction prendra en paramètre l'objet <emphasis>LSformElement</emphasis>
|
||||
courant et devra retourner une chaîne de caractères correspondant à l'adresse
|
||||
postale à insérer dans le lien de l'interface. Par défaut, la fonction
|
||||
<literal>LSformElement_postaladdress__generate_pattern</literal> est utilisée.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>map_url_format</term>
|
||||
<listitem>
|
||||
<simpara>Ce &LSformat; doit permettre de générer l'URL du lien ajouté dans
|
||||
l'interface. Il sera composé avec les informations de l'objet LDAP, y compris
|
||||
le mot clé <emphasis>%{pattern}</emphasis> correspondant à la valeur de l'adresse
|
||||
postale générée à l'aide des paramètres précédents. Par défaut, la format suivant
|
||||
sera utilisé :
|
||||
<literal>http://nominatim.openstreetmap.org/search.php?q=%{pattern}</literal></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,8 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_pre">
|
||||
<title>LSattr_html_pre</title>
|
||||
<para>Ce type est dérivé du type &LSattr_html_textarea; et permet
|
||||
simplement que lors de l'affichage de la valeur, celle-ci soit
|
||||
affichée en respectant les retours à la ligne et en utilisant une
|
||||
police de caractères <literal>monospace</literal>. Cela reproduit
|
||||
l'affichage d'une balise HTML <literal>pre</literal>.</para>
|
||||
</sect4>
|
|
@ -1,10 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_rss">
|
||||
<title>LSattr_html_rss</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
l'URL d'un flux RSS. Il propose directement dans l'interface, la possibilité
|
||||
d'accèder au flux RSS.</para>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,9 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_select_box">
|
||||
<title>LSattr_html_select_box</title>
|
||||
<para>Ce type est identique au type <emphasis>LSattr_html_select_list</emphasis>
|
||||
excepté qu'il utilise en lieu et place d'une balise HTML <literal>select</literal>,
|
||||
plusieurs balises HTML <literal>input</literal> de type <literal>checkbox</literal>
|
||||
en cas de valeurs multiples ou de type <literal>radio</literal> en cas de valeur
|
||||
unique. Les paramètres de configuration sont entièrement hérités de la classe
|
||||
<emphasis>LSattr_html_select_list</emphasis> et sont donc exactement les mêmes.</para>
|
||||
</sect4>
|
|
@ -1,203 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_select_list">
|
||||
<title>LSattr_html_select_list</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont les valeurs font
|
||||
partie d'une liste statique ou dynamique. Il est possible de lister des valeurs
|
||||
statiques et également des références à d'autres &LSobjects;. La référence à
|
||||
un objet correspond à une valeur clé, référente à un objet précis, qui peut être
|
||||
soit la valeur d'un de ses attributs, soit son <emphasis>DN</emphasis>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'possible_values' => array (
|
||||
'[LSformat de la valeur clé]' => '[LSformat du nom d'affichage]',
|
||||
...
|
||||
'OTHER_OBJECT' => array (
|
||||
'object_type' => '[Type d'LSobject]',
|
||||
'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
|
||||
'value_attribute' => '[Nom de l'attribut clé]',
|
||||
'values_attribute' => '[Nom de l'attribut clé multi-valeur]',
|
||||
'filter' => '[Filtre de recherche des LSobject]',
|
||||
'scope' => '[Scope de la recherche]',
|
||||
'basedn' => '[Basedn de la recherche]',
|
||||
'onlyAccessible' => '[Booléen]'
|
||||
),
|
||||
'OTHER_ATTRIBUTE' => '[attr]',
|
||||
// Or :
|
||||
'OTHER_ATTRIBUTE' => array(
|
||||
'[attr1]' => '[label1]',
|
||||
'[attr2]' => '[label2]',
|
||||
[...]
|
||||
),
|
||||
// Or :
|
||||
'OTHER_ATTRIBUTE' => array(
|
||||
'attr' => [attr],
|
||||
'json_component_key' => '[Composant JSON clé]',
|
||||
'json_component_label' => '[Composant JSON label]',
|
||||
),
|
||||
array (
|
||||
'label' => '[LSformat du nom du groupe de valeurs]',
|
||||
'possible_values' => array (
|
||||
'[LSformat de la valeur clé]' => '[LSformat du nom d'affichage]',
|
||||
...
|
||||
'OTHER_OBJECT' => array (
|
||||
...
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
'translate_labels' => [booléen],
|
||||
'sort' => [Booléen],
|
||||
'sortDirection' => '[ASC|DESC]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>possible_values</term>
|
||||
<listitem>
|
||||
<para>Tableau associatif obligatoire contenant en valeur clé le &LSformat;
|
||||
des valeurs clés prisent par l'attribut et en valeurs associées, le &LSformat;
|
||||
des noms d'affichage de ces valeurs. Ces &LSformats; sont composés à partir des
|
||||
valeurs de l'objet courant (attributs, dn, ...).</para>
|
||||
|
||||
<para>Si la valeur clé est égale à <literal>OTHER_OBJECT</literal>, une liste
|
||||
d'&LSobject; sera insérée dans la liste des valeurs possibles. La valeur
|
||||
associée est alors un tableau associatif dont les valeurs clés sont les noms
|
||||
des paramètres de configuration de la recherche de ces &LSobjects; et les
|
||||
valeurs associées, les valeurs des paramètres.</para>
|
||||
|
||||
<para>Il est possible de regrouper des valeurs de l'attribut en plaçant leur
|
||||
déclaration dans un sous-tableau. Ce sous-tableau devra contenir la clé
|
||||
<literal>label</literal> dont la valeur associé sera le &LSformat; du nom du groupe
|
||||
de valeurs. Ce &LSformat; est composé à partir des valeurs de l'objet courant
|
||||
(attributs, dn, ...). Une seconde clé <literal>possible_values</literal> regroupera
|
||||
les valeurs possibles du groupe. Comme pour le tableau principal, la clé <literal>
|
||||
OTHER_OBJECT</literal> permet d'imcorporer une liste d'&LSobject;.</para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>object_type</term>
|
||||
<listitem>
|
||||
<simpara>Nom du type d'&LSobject; en référence.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>display_name_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du nom d'affichage des objets lors de leur sélection.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>value_attribute</term>
|
||||
<listitem>
|
||||
<simpara>Nom de l'attribut des &LSobjects; en référence servant de valeur
|
||||
clé et permettant de les identifier (Exemple : <emphasis>dn</emphasis> ou
|
||||
<emphasis>uid</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>values_attribute</term>
|
||||
<listitem>
|
||||
<simpara>Nom de l'attribut des &LSobjects; en référence servant de catalogue de
|
||||
valeurs. Dans ce mode, la valeur n'a pas de label et est affichée directement
|
||||
dans l'interface. Ce paramètre peut-être utilisé en complément ou non du paramètre
|
||||
<emphasis>value_attribute</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter</term>
|
||||
<listitem>
|
||||
<simpara>Filtre falcultatif de la recherche des LSobjets. Il sera dans tous
|
||||
les cas agrémenté des valeurs des <emphasis>objectclass</emphasis> du type
|
||||
d'&LSobject;.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>scope</term>
|
||||
<listitem>
|
||||
<simpara>Scope falcultatif de la recherche des LSobjets.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>basedn</term>
|
||||
<listitem>
|
||||
<simpara>Basedn falcultatif de la recherche des LSobjets.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>onlyAccessible</term>
|
||||
<listitem>
|
||||
<simpara>Booléen falcultatif définissant si seul les LSobjets auxquels l'utilisateur connecté à accès doivent être considérés comme sélectionnables (Faux par défault).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Si la valeur clé est égale à <literal>OTHER_ATTRIBTE</literal>, une liste
|
||||
de valeur possible sera composée à l'aide des valeurs d'un (ou plusieurs) autre
|
||||
attribut de l'objet courant. La valeur associée peut être alors :
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>soit le nom d'un attribut dont les valeurs seront utilisées comme valeurs
|
||||
possibles (la valeur affichée est égale à la valeur stockée).</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>soit un tableau associatif dont les valeurs clés sont les noms des attributs
|
||||
dont les valeurs seront utilisés comme valeurs possibles et dont les valeurs associés
|
||||
seront les labels sous lesquels ces valeurs seront regroupées (la valeur
|
||||
affichée est égale à la valeur stockée).</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>soit un tableau associatif référençant un attribut sous la clé <emphasis>attr
|
||||
</emphasis> dont les valeurs seront utilisées comme valeurs possibles. Cet attribut
|
||||
peut-être du type &LSattr_html_jsonCompositeAttribute;. Il sera alors possible d'utiliser
|
||||
les valeurs d'un composant en particulier en le référençant à l'aide de la clé <emphasis>
|
||||
json_component_key</emphasis>. Il est également possible de référencer un autre composant
|
||||
à l'aide de la clé <emphasis>json_component_label</emphasis> et dont les valeurs seront
|
||||
utilisées comme valeurs affichées lors de la sélection. À défaut, les valeurs affichées
|
||||
seront identiques à celles stockées.</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>translate_labels</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'activer/désactiver la traduction des labels (Par defaut : <literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sort</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si les valeurs possibles doivent être
|
||||
triées ou non (Vrai par défaut). Le trie est effectué sur les libellés
|
||||
des valeurs possibles.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sortDirection</term>
|
||||
<listitem>
|
||||
<simpara>Mot clé déterminant le sens du trie des valeurs possibles.</simpara>
|
||||
<simpara>Valeurs possibles : <literal>ASC</literal> ou <literal>DESC</literal> (<literal>ASC</literal> par défaut).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,111 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_select_object">
|
||||
<title>LSattr_html_select_object</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont les valeurs sont
|
||||
des références à d'autres &LSobjects;. Chaque référence à un objet correspond
|
||||
à une valeur prise par l'attribut. Les valeurs clés référant à un &LSobject;
|
||||
sont soit la valeur d'un de leurs attributs, soit leur <emphasis>DN</emphasis>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
selectable_object => array (
|
||||
'object_type' => '[Type d'LSobject selectionnable]',
|
||||
'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
|
||||
'value_attribute' => '[Nom de l'attribut clé des LSobjects]',
|
||||
'filter' => '[Filtre de recherche]',
|
||||
'onlyAccessible' => '[Booléen]'
|
||||
),
|
||||
'ordered' => [Booléen],
|
||||
'sort' => [Booléen],
|
||||
'sortDirection' => '[ASC|DESC]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>selectable_object</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif obligatoire contenant en valeur clé le nom des
|
||||
paramètres de configuration et dont les valeurs attachées sont les valeurs
|
||||
des paramètres.</simpara>
|
||||
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>object_type</term>
|
||||
<listitem>
|
||||
<simpara>Nom du type d'&LSobject; en référence.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>display_name_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du nom d'affichage des objets lors de leur sélection.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>value_attribute</term>
|
||||
<listitem>
|
||||
<simpara>Nom de l'attribut des &LSobjects; en référence servant de valeur
|
||||
clé et permettant de les identifier (Exemple : <emphasis>dn</emphasis> ou
|
||||
<emphasis>uid</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter</term>
|
||||
<listitem>
|
||||
<simpara>Filtre de recherche (facultatif) qui sera ajouter au filtre par défaut
|
||||
lors de la sélection des objets.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>onlyAccessible</term>
|
||||
<listitem>
|
||||
<simpara>Booléen falcultatif définissant si seul les LSobjets auxquels l'utilisateur connecté à accès doivent être considérés comme sélectionnables (Faux par défault).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ordered</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la liste des objets choisis doit être
|
||||
ordonnable ou non (Faux par défaut). Cela aura pour effet d'activer une
|
||||
fonctionnalité dynamique de l'interface permettant de remonter ou descendre
|
||||
dans la liste les objets choisis.</simpara>
|
||||
<note><simpara>Cette fonctionnalité désactive automatiquement le trie des
|
||||
objets à l'affichage.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sort</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la liste des objets choisis doit être
|
||||
triée ou non (Vrai par défaut). Le trie est effectué sur les libellés
|
||||
des objets choisis.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sortDirection</term>
|
||||
<listitem>
|
||||
<simpara>Mot clé déterminant le sens du trie des objets choisis.</simpara>
|
||||
<simpara>Valeurs possibles : <literal>ASC</literal> ou <literal>DESC</literal> (<literal>ASC</literal> par défaut).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_ssh_key">
|
||||
<title>LSattr_html_ssh_key</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une clef publique SSH. Il permet dans l'interface, d'avoir un affichage adapté
|
||||
à ce type de donnée.</para>
|
||||
</sect4>
|
|
@ -1,10 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_tel">
|
||||
<title>LSattr_html_tel</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un numéro de téléphone. Lors de l'affichage, un lien hypertexte avec une URI
|
||||
de type <literal>tel:~~</literal> est affiché.</para>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,96 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_text">
|
||||
<title>LSattr_html_text</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une chaîne de caractères devant être affichée dans un champ
|
||||
<emphasis>input</emphasis> HTML de type <emphasis>text</emphasis>.
|
||||
</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'generate_value_format' => '[LSformat pour la génération de la valeur]',
|
||||
'autoGenerateOnCreate' => [booléen],
|
||||
'autoGenerateOnModify' => [booléen],
|
||||
'withoutAccent' => [booleen],
|
||||
'replaceSpaces' => "[chaîne de remplacement]",
|
||||
'upperCase' => [booleen],
|
||||
'lowerCase' => [booleen]
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>generate_value_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; de la valeur utilisée pour la génération automatique de
|
||||
celle-ci à partir des informations saisies dans le formulaire. Les valeurs
|
||||
clefs du format sont les noms des attributs de l'objet. Seuls les attributs
|
||||
affichés au moins en lecture seule dans le formulaire peuvent être utilisés
|
||||
dans le format. Une seule valeur par attribut sera utilisée pour la
|
||||
génération : celle du premier champ (dans l'ordre d'apparition dans le
|
||||
formulaire).</simpara>
|
||||
<important><simpara>Seuls les éléments du formulaire de type HTML
|
||||
<emphasis>input</emphasis>, <emphasis>select</emphasis> ou
|
||||
<emphasis>textarea</emphasis> peuvent être utilisés.</simpara></important>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>autoGenerateOnCreate</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la génération automatique lorsque celui-ci est
|
||||
vide au moment du chargement du formulaire.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>autoGenerateOnModify</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la génération automatique lors de chaque
|
||||
modification de la valeur des champs du formulaire lié.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>withoutAccent</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la suppression des accents dans la chaîne de
|
||||
caractères générée automatiquement.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>withoutAccent</term>
|
||||
<listitem>
|
||||
<simpara>Activation du remplacement des accents dans la chaîne de
|
||||
caractères générée automatiquement. La valeur de remplacement est celle du
|
||||
paramètre.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>upperCase</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la mise en majuscule de la valeur générée
|
||||
automatiquement.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>lowerCase</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la mise en minuscule de la valeur générée
|
||||
automatiquement.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,7 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_textarea">
|
||||
<title>LSattr_html_textarea</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est une
|
||||
chaine de caractères trop longue pour être saisie dans un champs HTML
|
||||
<emphasis>imput</emphasis> de type <emphasis>text</emphasis> et est plus adapté
|
||||
à un champ HTML <emphasis>textarea</emphasis>.</para>
|
||||
</sect4>
|
|
@ -1,11 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_url">
|
||||
<title>LSattr_html_url</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une URL. Il propose directement dans l'interface, la possibilité d'accèder au
|
||||
site ou encore de l'ajouter dans ses favoris (lorsque le navigateur le
|
||||
supporte).</para>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,81 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_valueWithUnit">
|
||||
<title>LSattr_html_valueWithUnit</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est un entier
|
||||
auxquel un facteur peut s'appliquer (par exemple : <literal>Kilo, Méga, ...</literal>).</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'units' => array (
|
||||
'[facteur1]' => '[label unit1]',
|
||||
'[facteur2]' => '[label unit2]',
|
||||
[...]
|
||||
),
|
||||
'translate_labels' => [booléen],
|
||||
'nb_decimals' => [number of decimals],
|
||||
'dec_point' => '[decimals point]',
|
||||
'thousands_sep' => '[thousands separator]',
|
||||
'store_integer' => [booléen],
|
||||
'round_down' => [booléen],
|
||||
)
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>units</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif dont la clé est un entier correspondant au facteur et la valeur est le label de l'unité. (Par exemple : <literal>1 => Octet, 1024 => Kilo-octet, ...</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>translate_labels</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'activer/désactiver la traduction des labels (Par defaut : <literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>nb_decimals</term>
|
||||
<listitem>
|
||||
<simpara>Le nombre de décimals à afficher en cas de nombre non-entier (Par defaut : <literal>2</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>dec_point</term>
|
||||
<listitem>
|
||||
<simpara>Le caractère à utiliser comme séparateur de décimal (Par defaut, une virgule).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>thousands_sep</term>
|
||||
<listitem>
|
||||
<simpara>Le caractère à utiliser comme séparateur de milliers (Par defaut, un espace).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>store_integer</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'activer/désactiver le stockage de valeurs entières (Par defaut :
|
||||
<literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>round_down</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'arrondir à l'entier inférieur (et non à l'entier supérieur
|
||||
par défaut) en cas de stockage de valeurs entières.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,33 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_wysiwyg">
|
||||
<title>LSattr_html_wysiwyg</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est du
|
||||
code HTML et dont l'édition doit être fait à l'aide d'un éditeur <literal>WYSIWYG
|
||||
</literal>. La librairie &TinyMCE; est utilisée pour cela.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'extra_options' => array (
|
||||
[Options à passer à TinyMCE]
|
||||
),
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>extra_options</term>
|
||||
<listitem>
|
||||
<simpara>Ce paramètre permet de passer des options à &TinyMCE; pour
|
||||
personnaliser son comportement. Par exemple, il est possible d'utiliser
|
||||
le paramètre <literal>valid_styles</literal> pour définir quels styles
|
||||
CSS sont autorisés. Pour plus d'informations, consultez la documentation
|
||||
de &TinyMCE;.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,14 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_xmpp">
|
||||
<title>LSattr_html_xmpp</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une adresse XMPP. Il propose directement dans l'interface, la possibilité
|
||||
de lancer une fenêtre de dialogue avec l'interlocuteur de son client XMPP
|
||||
préféré .</para>
|
||||
<note><simpara>Cette fonctionnalité n'est supporté uniquement par les
|
||||
navigateurs web supportant les URI de type <emphasis>xmpp://~~</emphasis>.
|
||||
</simpara></note>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,14 +0,0 @@
|
|||
<sect3 id="config-LSattr_ldap">
|
||||
<title>Configuration des attributs LDAP</title>
|
||||
<para>Cette section décrit les options propres à chacun des types d'attributs LDAP
|
||||
supportés par &LdapSaisie;.</para>
|
||||
|
||||
&conf-LSattr_ldap_ascii;
|
||||
&conf-LSattr_ldap_boolean;
|
||||
&conf-LSattr_ldap_compositeValueToJSON;
|
||||
&conf-LSattr_ldap_date;
|
||||
&conf-LSattr_ldap_image;
|
||||
&conf-LSattr_ldap_numeric;
|
||||
&conf-LSattr_ldap_password;
|
||||
&conf-LSattr_ldap_postaladdress;
|
||||
</sect3>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSattr_ldap_ascii SYSTEM "LSattr_ldap_ascii.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_boolean SYSTEM "LSattr_ldap_boolean.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_compositeValueToJSON SYSTEM "LSattr_ldap_compositeValueToJSON.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_date SYSTEM "LSattr_ldap_date.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_image SYSTEM "LSattr_ldap_image.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_numeric SYSTEM "LSattr_ldap_numeric.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_password SYSTEM "LSattr_ldap_password.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_postaladdress SYSTEM "LSattr_ldap_postaladdress.docbook">
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_ascii">
|
||||
<title>LSattr_ldap_ascii</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une chaine de caractère. Ce type est le type par défaut.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,42 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_boolean">
|
||||
<title>LSattr_ldap_boolean</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une booléen. On attend ici par booléen, tout attribut ne pouvant prendre que deux
|
||||
valeurs pré-définies correspond pour l'un à <emphasis>Oui</emphasis> et l'autre
|
||||
à <emphasis>Non</emphasis></para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['ldap_options' => array (
|
||||
'true_value' => '[valeur correspondant à Vrai]',
|
||||
'false_value' => '[valeur correspondant à Faux]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>true_value</term>
|
||||
<listitem>
|
||||
<simpara>La valeur de l'attribut correspondant à <emphasis>Vrai</emphasis>.
|
||||
(Par défaut : <literal>TRUE</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>false_value</term>
|
||||
<listitem>
|
||||
<simpara>La valeur de l'attribut correspondant à <emphasis>Faux</emphasis>.
|
||||
(Par défaut : <literal>FALSE</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<important><simpara>Les valeurs possibles pour le paramètre <parameter>default_value</parameter>
|
||||
sont <literal>yes</literal> et <literal>no</literal>.</simpara></important>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,9 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_compositeValueToJSON">
|
||||
<title>LSattr_ldap_compositeValueToJSON</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs composites dont les
|
||||
valeurs respectent le format suivant :
|
||||
<literal>[key1=value1][key2=value2][...]</literal></para>
|
||||
<para>Ce type d'attribut LDAP sera utilisé pour convertir la valeur en son
|
||||
équivalent <literal>JSON</literal> pour pouvoir être traité à l'aide du type d'
|
||||
attribut HTML &LSattr_html_jsonCompositeAttribute;.</para>
|
||||
</sect4>
|
|
@ -1,63 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_date">
|
||||
<title>LSattr_ldap_date</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une date.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['ldap_options' => array (
|
||||
'timestamp' => [Booléen], // Si la date est stockée au format timestamp
|
||||
'format' => '[Format de stockage]', // Default : "YmdHisO"
|
||||
'timezone' => '[Fuseau horaire]', // Default : "UTC"
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>timestamp</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la date est stockée sous la forme d'un
|
||||
timestamp Unix (nombre de secondes depuis le 1er janvier 1970 à 00:00:00
|
||||
UTC).</simpara>
|
||||
<remark>Si <parameter>timestamp</parameter> est vrai, &LdapSaisie; ne tient
|
||||
pas compte du paramètre <parameter>format</parameter>.</remark>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>format</term>
|
||||
<listitem>
|
||||
<para>Format de stockage de la date dans l'annuaire. Ce format est composé à
|
||||
partir des motifs clés gérés par la fonction <function>date()</function>
|
||||
de &php;. Pour plus d'information, consulter
|
||||
<ulink url='http://www.php.net/date'>la documentation officielle</ulink>.
|
||||
<note><simpara>La valeur par défaut est <emphasis>YmdHisO</emphasis>,
|
||||
correspondant à la syntaxe <literal>Generalized Time</literal> telle que
|
||||
définie dans la <ulink url='https://tools.ietf.org/html/rfc4517'>RFC4517
|
||||
</ulink>. Exemples : <literal>20091206230506Z</literal>
|
||||
<emphasis>(=2009/12/06 23:05:66 UTC)</emphasis> ou
|
||||
<literal>20190613143537+0200</literal>
|
||||
<emphasis>(=2019/06/13 14:35:37 UTC+0200)</emphasis>.</simpara></note>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>timezone</term>
|
||||
<listitem>
|
||||
<para>Fuseau horaire de stockage des dates dans l'annuaire LDAP. Les valeurs
|
||||
possibles sont documentées dans <ulink url='https://www.php.net/timezones'>la
|
||||
documentation officielle de PHP</ulink>. (Par défaut : <literal>UTC</literal>)
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,7 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_image">
|
||||
<title>LSattr_ldap_image</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une image. Pour le moment, aucun traitement particulier n'est appliqué pour le
|
||||
stockage.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,7 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_numeric">
|
||||
<title>LSattr_ldap_numeric</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un nombre. Pour le moment, aucun traitement particulier est n'appliqué pour le
|
||||
stockage.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,106 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_password">
|
||||
<title>LSattr_ldap_password</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un mot de passe.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['ldap_options' => array (
|
||||
'encode' => '[Type d'encodage du mot de passe]',
|
||||
'encode_function' => '[Nom de la fonction d'encodage]',
|
||||
'verify_function' => '[Nom de la fonction de vérification]',
|
||||
'no_random_crypt_salt' => '[Booléen]', // Désactivation de l'utilisation d'une salt aléatoire
|
||||
'wildcardPassword' => '[mot de passe(s) en clair]',
|
||||
'encodedWildcardPassword' => '[mot de passe(s) encodé(s)]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>encode</term>
|
||||
<listitem>
|
||||
<para>Nom du type d'encodage du mot de passe utilisé. Les types d'encodages
|
||||
supportés sont les suivants :
|
||||
<itemizedlist>
|
||||
<listitem><simpara><literal>md5crypt</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>crypt</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ext_des</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>blowfish</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>sha</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>sha256</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>sha512</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ssha</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ssha256</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ssha512</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>smd5</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>md5</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>clear</literal></simpara></listitem>
|
||||
</itemizedlist>
|
||||
<note><simpara>Valeur par défaut : <literal>md5crypt</literal></simpara></note>
|
||||
<important><simpara>Si le type d'encodage est inconnu, ou qu'il n'est pas
|
||||
supporté par le serveur web, un message d'erreur alertera l'utilisateur et le
|
||||
mot de passe sera stocké en clair.</simpara></important>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>encode_function</term>
|
||||
<listitem>
|
||||
<para>Nom d'une function qui sera utilisée afin d'encoder le mot de passe.
|
||||
Cette fonction recevra deux paramètres : le <literal>LSldapObject</literal>
|
||||
et le mot de passe en clair.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>verify_function</term>
|
||||
<listitem>
|
||||
<para>Nom d'une function qui sera utilisée afin de valider un mot de passe
|
||||
soumis par l'utilisateur par rapport à celui stocké dans l'annuaire. Cette
|
||||
fonction recevra trois paramètres : le <literal>LSldapObject</literal>,le
|
||||
mot de passe en clair et le mot de passe hashé. Si ce paramètre est omis
|
||||
et que le paramètre <literal>encode_function</literal> est défini, le mot
|
||||
de passe à tester sera encodé à nouveau à l'aide de la fonction
|
||||
<literal>encode_function</literal> et le résultat sera comparé avec le mot
|
||||
de passe stocké dans l'annuaire.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>no_random_crypt_salt</term>
|
||||
<listitem>
|
||||
<simpara>Désactivation de l'utilisation d'une salt générée aléatoirement au
|
||||
profit de l'utilisation des deux premiers caractères du mot de passe.
|
||||
Ce paramètre impacte uniquement le type de cryptage <literal>crypt</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>wildcardPassword</term>
|
||||
<listitem>
|
||||
<simpara>Mot de passe (ou tableau de mot de passe) qui sera ajouté systématiquement,
|
||||
en plus du mot de passe choisi. Il sera encodé de la même manière que pour le mot de
|
||||
passe choisi avant enregistrement.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>encodedWildcardPassword</term>
|
||||
<listitem>
|
||||
<simpara>Mot de passe (ou tableau de mot de passe) qui sera ajouté systématiquement,
|
||||
en plus du mot de passe choisi. Contrairement à la directive
|
||||
<parameter>wildcardPassword</parameter>, le mot de passe ne sera pas encodé avant
|
||||
enregistrement.</simpara>
|
||||
<note><simpara>Cette directive peut cohabiter avec sa cousine <parameter>wildcardPassword</parameter>. Les mot de passes contenus dans les deux directives seront alors ajoutés.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,14 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_postaladdress">
|
||||
<title>LSattr_ldap_postaladdress</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est construite
|
||||
sur le modèle de l'attribut standard <emphasis>postalAddress</emphasis>, c'est à dire
|
||||
dont les lignes sont séparées à l'aide du caractère de délimiteur <literal>$</literal>.
|
||||
</para>
|
||||
|
||||
<para>Lors de la lecture des valeurs de ce type d'attribut dans l'annuaire, les
|
||||
caractères <literal>$</literal> seront remplacés par des caractères <literal>\n</literal>
|
||||
et, à l'inverse, lors de l'écriture des valeurs de ce type d'attribut dans l'annuaire,
|
||||
les caractères <literal>\n</literal> seront remplacés par des caractères
|
||||
<literal>$</literal>.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,71 +0,0 @@
|
|||
<sect3 id="config-LSattribute-check-data">
|
||||
<title>Configuration des règles de vérification syntaxique</title>
|
||||
<para>Cette section décrit la manière de configuer des règles de vérification
|
||||
syntaxique sur les données des attributs. Ces règles seront utilisées pour vérifier
|
||||
que les valeurs saisies par un utilisateur dans un formulaire sont correctes.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['check_data' => array (
|
||||
'[regle1]' => array(
|
||||
'msg' => "[Message d'erreur]",
|
||||
'params' => array(
|
||||
// Paramètres de la règle
|
||||
)
|
||||
),
|
||||
...
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<para>Le paramètre <parameter>check_data</parameter> est un tableau associatif
|
||||
dont les clés sont les noms des règles de vérification syntaxique actives et les
|
||||
valeurs associées sont des tableaux associatifs contenant les paramètres des
|
||||
règles.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>msg</term>
|
||||
<listitem>
|
||||
<simpara>Le message d'erreur à afficher lors que la règle n'est pas respectée.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>params</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les paramètres de la règle. Les
|
||||
paramètres possibles sont propres à chaque type de règle. Les clès sont les
|
||||
noms des paramètres et les valeurs associés, les valeurs des paramètres.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
&conf-LSattribute-check-data-alphanumeric;
|
||||
&conf-LSattribute-check-data-callable;
|
||||
&conf-LSattribute-check-data-date;
|
||||
&conf-LSattribute-check-data-differentPassword;
|
||||
&conf-LSattribute-check-data-email;
|
||||
&conf-LSattribute-check-data-filesize;
|
||||
&conf-LSattribute-check-data-imagefile;
|
||||
&conf-LSattribute-check-data-imagesize;
|
||||
&conf-LSattribute-check-data-inarray;
|
||||
&conf-LSattribute-check-data-integer;
|
||||
&conf-LSattribute-check-data-lettersonly;
|
||||
&conf-LSattribute-check-data-maxlength;
|
||||
&conf-LSattribute-check-data-minlength;
|
||||
&conf-LSattribute-check-data-mimetype;
|
||||
&conf-LSattribute-check-data-nonzero;
|
||||
&conf-LSattribute-check-data-nopunctuation;
|
||||
&conf-LSattribute-check-data-numeric;
|
||||
&conf-LSattribute-check-data-password;
|
||||
&conf-LSattribute-check-data-rangelength;
|
||||
&conf-LSattribute-check-data-regex;
|
||||
&conf-LSattribute-check-data-required;
|
||||
&conf-LSattribute-check-data-ssh_pub_key;
|
||||
&conf-LSattribute-check-data-telephonenumber;
|
||||
|
||||
</sect3>
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSattribute-check-data-alphanumeric SYSTEM "alphanumeric.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-callable SYSTEM "callable.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-date SYSTEM "date.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-differentPassword SYSTEM "differentPassword.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-email SYSTEM "email.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-filesize SYSTEM "filesize.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-imagefile SYSTEM "imagefile.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-imagesize SYSTEM "imagesize.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-inarray SYSTEM "inarray.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-integer SYSTEM "integer.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-lettersonly SYSTEM "lettersonly.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-maxlength SYSTEM "maxlength.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-mimetype SYSTEM "mimetype.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-minlength SYSTEM "minlength.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-nonzero SYSTEM "nonzero.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-nopunctuation SYSTEM "nopunctuation.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-numeric SYSTEM "numeric.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-password SYSTEM "password.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-rangelength SYSTEM "rangelength.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-regex SYSTEM "regex.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-required SYSTEM "required.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-ssh_pub_key SYSTEM "ssh_pub_key.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-telephonenumber SYSTEM "telephonenumber.docbook">
|
|
@ -1,20 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-alphanumeric">
|
||||
<title>alphanumeric</title>
|
||||
<para>Cette règle vérifie que la valeur est une chaîne de caractères composée
|
||||
uniquement de lettres non-accuentées, en minuscule ou en majuscule et/ou de
|
||||
chiffres.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>withAccents</term>
|
||||
<listitem>
|
||||
<simpara>Si le paramètre est à <emphasis>true</emphasis>, les lettres accentuées seront acceptées.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,24 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-callable">
|
||||
<title>callable</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est correcte en utilisant une
|
||||
fonction personnalisée. Cette fonction devra prendre en paramètres la valeur à
|
||||
valider, le tableau des paramètres de la règle ainsi qu'un pointeur sur l'objet
|
||||
<emphasis>LSformElement</emphasis>. Sur la base de ses informations, elle devra
|
||||
valider la valeur et retourner <literal>True</literal> si la valeur est valide
|
||||
et <literal>False</literal> sinon.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>callable</term>
|
||||
<listitem>
|
||||
<simpara>Le nom de la fonction (ou tout autre <literal>callable</literal> au sens PHP)
|
||||
de validation.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,21 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-date">
|
||||
<title>date</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est bien une date et qu'elle
|
||||
respecte un format précis.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>format</term>
|
||||
<listitem>
|
||||
<simpara>Format de la date à respecter. Ce format doit être compatible avec la
|
||||
fonction <function>strftime()</function> de &php;.
|
||||
<ulink url='http://www.php.net/strftime'>Voir la documentation de la
|
||||
fonction</ulink></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,24 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-differentPassword">
|
||||
<title>differentPassword</title>
|
||||
<para>Cette règle vérifie que la valeur saisie ne correspond pas à
|
||||
un des mots de passe stockés dans d'autres attributs du même objet.
|
||||
</para>
|
||||
|
||||
<important><simpara>Les autres attributs doivent utiliser le type
|
||||
d'attribut <emphasis>LDAP</emphasis>
|
||||
<link linkend='config-LSattr_ldap_password'>LSattr_ldap_password
|
||||
</link>.</simpara></important>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>otherPasswordAttributes</term>
|
||||
<listitem>
|
||||
<simpara>La liste des autres attributs dont les mots de passe doivent être différent.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,29 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-email">
|
||||
<title>email</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est bien une adresse e-mail. Il
|
||||
est possible de vérifier si elle appartient bien à un domaine en particulier ou
|
||||
encore de vérifier si le domaine existe et qu'il possède un serveur de mail(MX).</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>domain</term>
|
||||
<listitem>
|
||||
<simpara>Nom de domaine obligatoire. Ce paramètre peut être une simple chaine
|
||||
correspondant au domaine ou un tableau listant plusieurs domaines
|
||||
possibles.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>checkDomain</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le domaine de l'adresse mail doit être
|
||||
validé.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,25 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-filesize">
|
||||
<title>filesize</title>
|
||||
<para>Cette règle vérifie que la valeur est un fichier dont la taille en octets
|
||||
respecte les limites passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>minSize</term>
|
||||
<listitem>
|
||||
<simpara>Taille minimum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>maxSize</term>
|
||||
<listitem>
|
||||
<simpara>Taille maximum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,12 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-imagefile">
|
||||
<title>imagefile</title>
|
||||
<para>Cette règle vérifie que la valeur est bien un fichier et que le type mime
|
||||
de celui-ci est bien une image. Cette règle utilise la règle mimetype en spécifiant
|
||||
si l'utilisateur ne le fait pas que le type mime doit respecter la regex suivante :
|
||||
<literal>/image\/.*/</literal></para>
|
||||
|
||||
<important><simpara>Cette règle est une simple interface à la règle mimetype,
|
||||
il est donc possible de passer d'autres paramètres propres à ce type.</simpara>
|
||||
</important>
|
||||
|
||||
</sect4>
|
|
@ -1,39 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-imagesize">
|
||||
<title>imagesize</title>
|
||||
<para>Cette règle vérifie que la valeur est une image dont la taille en pixels
|
||||
respecte les limites passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>minWidth</term>
|
||||
<listitem>
|
||||
<simpara>Largeur minimum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>maxWitdh</term>
|
||||
<listitem>
|
||||
<simpara>Largeur maximum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>minHeight</term>
|
||||
<listitem>
|
||||
<simpara>Hauteur minimum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>maxHeight</term>
|
||||
<listitem>
|
||||
<simpara>Hauteur maximum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,18 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-inarray">
|
||||
<title>inarray</title>
|
||||
<para>Cette règle vérifie que la valeur saisie fait partie d'une liste de valeurs
|
||||
autorisées.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>possible_values</term>
|
||||
<listitem>
|
||||
<simpara>Tableau listant les valeurs autorisées.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,39 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-integer">
|
||||
<title>integer</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est un entier. Les paramètres
|
||||
permettent de spécifier éventuellement si la valeur doit être positive ou négative
|
||||
et également de borner les valeurs valides.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>positive</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la valeur doit être positive.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>negative</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la valeur doit être negative.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>min</term>
|
||||
<listitem>
|
||||
<simpara>Valeur minimale (supérieur ou égale).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>max</term>
|
||||
<listitem>
|
||||
<simpara>Valeur maximale (inférieur ou égale).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,5 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-lettersonly">
|
||||
<title>lettersonly</title>
|
||||
<para>Cette règle vérifie que la valeur est une chaîne de caractères composée
|
||||
uniquement de lettres non-accuentées, en minuscule ou en majuscule.</para>
|
||||
</sect4>
|
|
@ -1,18 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-maxlength">
|
||||
<title>maxlength</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est une chaine de caractères
|
||||
dont la longueur est inférieur ou égale à la valeur passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>limit</term>
|
||||
<listitem>
|
||||
<simpara>Limite supérieur (ou égale) de la longueur de la chaîne de caratères.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,27 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-mimetype">
|
||||
<title>mimetype</title>
|
||||
<para>Cette règle vérifie que la valeur est bien un fichier et que le type mime
|
||||
de celui-ci est correct. Il est possible de vérifier si le type mime fait partie
|
||||
d'une liste ou encore s'il valide une expression régulière.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>mimeType</term>
|
||||
<listitem>
|
||||
<simpara>Type mime obligatoire. Ce paramètre peut être une simple chaine
|
||||
correspondant au type mime ou un tableau listant plusieurs possibilités.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>mimeTypeRegEx</term>
|
||||
<listitem>
|
||||
<simpara>Expression régulière que doit respecter le type mime.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,18 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-minlength">
|
||||
<title>minlength</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est une chaine de caractères
|
||||
dont la longueur est supérieur ou égale à la valeur passée en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>limit</term>
|
||||
<listitem>
|
||||
<simpara>Limite inférieure (ou égale) de la longueur de la chaîne de caratères.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,4 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-nonzero">
|
||||
<title>nonzero</title>
|
||||
<para>Cette régle vérifie que la valeur est une valeur numérique non nulle.</para>
|
||||
</sect4>
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-nopunctuation">
|
||||
<title>nopunctuation</title>
|
||||
<para>Cette régle vérifie que la valeur est une chaîne de caractères ne contenant
|
||||
pas de signe de ponctuation. Les caractères suivants sont actuellement exclus :
|
||||
<literal><![CDATA[( ) . \ / \ * \ ^ \ ? # ! @ $ % + = , " ' > < ~ [ ] { }]]></literal></para>
|
||||
</sect4>
|
|
@ -1,4 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-numeric">
|
||||
<title>numeric</title>
|
||||
<para>Cette régle vérifie que la valeur est une valeur numérique.</para>
|
||||
</sect4>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue