From 6926b7cbde80ccea786e07c23b3b0c2ac26d55d4 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Mon, 10 Feb 2014 19:16:37 +0000 Subject: [PATCH] enhanced password mail sending --- lam/docs/manual-sources/howto.xml | 15 ++++++++++ .../manual-sources/images/configProfiles9.png | Bin 0 -> 22077 bytes lam/help/help.inc | 2 ++ lam/lib/config.inc | 27 ++++++++++++++++-- lam/lib/modules.inc | 6 ++-- lam/templates/config/confmain.php | 12 ++++++++ lam/templates/lib/500_lam.js | 5 +++- 7 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 lam/docs/manual-sources/images/configProfiles9.png diff --git a/lam/docs/manual-sources/howto.xml b/lam/docs/manual-sources/howto.xml index e3a2082e..58f19d0f 100644 --- a/lam/docs/manual-sources/howto.xml +++ b/lam/docs/manual-sources/howto.xml @@ -1286,6 +1286,21 @@ Have fun! the script is located. The default rights for new home directories can be set, too. + + + + + + + + + LAM Pro users can send out changed passwords to their users. + Here you can specify the options for these mails. + + If you select "Allow alternate address" then password mails + can be sent to any address (e.g. a secondary address if the user + account is also bound to the mailbox). + diff --git a/lam/docs/manual-sources/images/configProfiles9.png b/lam/docs/manual-sources/images/configProfiles9.png new file mode 100644 index 0000000000000000000000000000000000000000..3d50903d376c2e0de575f1d840eb1fa10ed41a60 GIT binary patch literal 22077 zcmbq*1ymeewsix+0wDwq5(pkV3BjG<1b24`?(Px@5ZtA4cN%vR0>K)0cWErR!(Zf^ zH|x#JlX>g!RS~+Xy6fJ$br&@%~fVFeHfei#ITV?coi-Z2ix z{s8=g;2N=VWt6poZyP=?4v=T*B}XDK_%C;y#*I7?28-F z@2&UhWUn*f$$OMuh=>Sc$`^WMe)X*`D+$%SDRZiwo^66zS80ebTFZY|7Ez+Z!2Ic# ziT(oTt~Ul(XmjB(aym{33qA&P?$&+`+dZD&;>*~=xao^+9@0jUyvD*5LLm$M5HdNB z`Z^F(XnQRf5&6$M7-$&4&nRZZc*MW~n4=sF9FK?Q+Ns$-9w@$6xhw$ei0an=?)SJO zywe{6I8KQ0KRzI0q-G&LK7>ivOFoHSn98$}*8>Lfe9xtM%CwM>>@*#_jj(GE>>Drhec|Ic)Pj|A3*y{DMRWjsc8UpHhm4R#)vc zHFI)vT@a9xCNxBbx!ZJKqhN^nls*hI@|V41wHj0U$j<1$ScU3CBfB^k>@qjhuiG(H z-aKD}N)d>89cj_WNsJ=`@2ke(b$@FW>v*{d-cP=P81mnD~LOHlF*m>cQB9h&fzWCE6#H8nN2&-ZB9>kEsEXJ?zhT;b22 zJZS++$!3^fpGHVXM1o#3AJ&Fj@q=DV9H-jUCuyEfve=&9P*MVKmy-G~zT>;s@d(pF z@CpD4kVg+Z(>Al7nHw!0TA?t-$(J7HCb^~SoSri@lFbgQ6V*{+(AdK3b( zy^+BZ#B@1WMD}gBrbhqmjO=SQcR@hpkYTz&$K?6J^D?t`$trfM@}fRxsM=bDcoqY+ z(o8V`oij1*{-w=-HI~rYH`?aT%16JpxhY-3m(jMjGgdmE)=U!-j2s+Ty!c`Q=fLFW z3d{anYU_ZsxR>L^$cXdO{o3yfGxV8|?3DgmE*@uw>%NR&s%(5#2X5Qn!ru3D1!hwf z+Prn9hc71nj6ISf<@bP_a{OiWPW^LYl*uVmI04b_{ur#P#6+-Ksh)S?swIlv`<0`$ zDJ%)6q4aY|W?Q1Zzv7y+_jl3z`uD)Spn1$=8-L2;*;Hf&uqTYVx0I_j_8ByVc zI-c(7ZcsUI>tRT4%8t*!m~i00Imiz#c!=kJ?$Ag)qnSt&ph&7+HWBc{*njb;cTLUI z^p}R+bJ+)q7u@@MrEtrl^RINmZjZ%)n^mQ z>8jUnn!&t(z_mVCS*9=(-Wck?cz4q`XglBN@lf&rjR&tZ5M;dJ?u-V5EsTub%+*N~ zSqlnQdCC!`VjORro-(jhU&NYvobBaX;+K{V!1+Q=;C%CpZcT>?)+kS8 zdNmQdx2NUQ6k}(*t;Bx0E)i791Mj=o+EhaFiY##0M+1 zY;dKC^zrD(s4A(?Ict+z7`&iTM^Q{WFI^N@THZH0qF*u=z;(s)GSo&%g@a27CF`Lf zpP57a_>QI7NK5XP1m?1cpKlFTG;4|s;84c6(U*+P9ynx9r$bFuG zNz?ZF^f8&{<{3|FZLE&YbmciT*O|25e2enIn|zA(WMn93s$07G#_bdyH00gNZi#+z zu%tRUy||cPS}No$kyl#k->c+_-t6Syeoy}dMxJ^X6!2BU?|q# zZLFX=RUToph~o$|LIg#U;tw{@9A{nsLp6h+ZNe@qv*T=e z#`9xWWoDh0>*ErqVlgokvQyHjQ^epnrQgS=u#qYXul|H)t64e6YyJ~9P-Yn|F~?<8 zu4FL!{ztg7gSv2zIXk^2St9l?sYy;5d?)=6URPgu+8*km{N)eos!Q_DG+#n9T^`!V zqo=ENZ9u<|9dq7DviTu^OrU9(o6>%H${851Zm4PaBe<$%^)VC+o&fn&(}TIbjeI%fMwfT>1jq9Ze0BEh@`fp1_ea3lshZQA z91bpatSi6zZzwxo#S#_|$@aEyIBuTNq z57{-G>m%OZu%VA?@By(SB_Z7}#7%6f4Z(DmsLo33xjFc#y!g#Gt`Adrhfkij%kc)d zlV~!<`^RWvqww=znBVW`^_SnDjx8G?jZDUATy!otTe+=uU%?F@1qDrZ0qHP5ocONErf567%$Iol70$E0&- z5M%rc@0Dqf;S-ZraUqH!=(RoqzFKEO&Q8G(J7c`R|2lt`)%ZKv4Q&)1p9q^-$m@6o zboVj-O!P-gs4*6Y7@SU$lUhB}n7n<0+?lhI;TicSj8rS*lXoRX5D{2}RsNKBlPBs@sO zPf4t$UYmu_;@MlNqt;ZS8ihP;Vh%LaVq^`d4 z<>V+?-AyQ~u+c#fr6>$)GBc+c{_?=s++=>f@%1S)aFY=G`siHtIQq8GQn+6P%5|cA z$*!r{!oy4OZnHumoS5Hvefpe%BMKgW@Yl(e|Dbl$lW))0?Hi$B3?Xstjg5^Nb@hk{ z4ESg@)qZNKOYEVUgIFD=9K{rTY8 zR9@NZZm_%H6_0)MRUN4LfQ1cW4o!ab=_grw{JpiZ#-Q+me?Xk1 zK&yY}puXP1@<}O2t>P#Ocd*}62RS^k*<9}z0x?G8Gu1S*#ImwdvEr0qORHaqPdZUz+MrNHfPA~VLm06ngR);IF;*}4Y?|3Q#hJEDJ za#3YFG_X;~tAr`@i5X@I1km-ec(GVWY%hFGd--*vCaWEU3O`OSIn7O zTi@e5sJNX!-E|zop|6UDQ!;QLzS98g3n0d)@K! zAh202QbdazeNQSmlF_~;=DrChWMQG*sS15KPhW%)1z4_TKOu59p#c%RE#ip)rRV*UiVs3KX zeJ?sExc+d?N8zu5n&ub`49w0qxg8IMA#*!HxZGf)H!FBS`?Cb+9~ez^w#PT<*@{uT zKatCVPfu-KD)-kXtGE2!PM$t}x?XZXMU52x+_t8Ae!lms zsGy{q0bJs2M;&M4UW`hp^olso^e8!iFe95Yb~M*Zp<&66jN zk6&c;dq=T=Zyl2t_}r_jE#4+h7dywKqbt*3ihH?NvJD>Wu0neFV!=!i7~iqsv9YmW zB!x(?xYUV&kAWnHw#q%o=3j5q_6wi+NqQVpQhxT&0b3oWmrLO>)*Kp9=sK-kpS`0H z1SKD5S)R7Zo zW2|q7Q#mOb3b(-w-fS?*;lOBj_a-*BS1RQw@%5^B74dT`6!JM@S3BF4;o*(g@M6Nm zeDoHbD=&Y$dUApJJd=jbrYY$BNn;CHOntQ4$yo1p;!9NLYAxy=kI2<;XT}P`@CGtC zJ)HYG#q5sish=QD&HmP~+&c$zD~@GE5b=Bexb$syv3_W}sHc(5ct-keb&k~nC!*G_ zGl*8PfOQ#jPpCH3+1-Gye90k z2P3+ObjT+q%lPQ%cMjdBJ1izVuBVr<+TD*q7_k{DEx4rZcAeL(`udS$qmdar1P&X= zoygDc2`ug+9k!r8r<9EJTO!a?7;j81+n?Jn0|f8-ue~EwPw6u={g1LytW5><5pfbi z2RJA}l%}!Ks8RPpXT^c)YKy)ZQaLP1;e(->xy-v(r@!jt$+BqFENf+23X_7&w%)#7 zGh+xi@?I6k-}+t@c^}srFHX6jEtbn4QZz9DL__DzXa291PSavy&ZnS1)6x=)WZ&zw zUh}J`S}z3ieroK|8-~klX@MlpeV#bdXgu5FEzb6*A@zrv^x8LjuN{=m(5IzY2BV+r zy!9aj%c$a6P9!id!GVa_ACz2hD&OH22z zE>s}(ch~1`$EWIL3AOozaX9!l7^iNhl+Qr(?&r5Go1w|-bNT`NGfiG%s-{~hb1Fx! zBwjbU`TS)QSuphYebq8H35kozGHoKSm28b)2TR)0Pf^o3%oLzcjN-Zi;D7m?U!A_7 z5bLABAIu25T#LjmAjhSy7|c?vnyM{)pi!*qFJ_Uiiw|vAl3TuX;xBh`bd2i?3k$_# z)UsWlwwt(_7^Wz?=Z{y(f@BkeIFN9mU=(u_TIOjBnIw1Tt0_)ILRysbCz=l60rqv5 z=+|+>pk?D1mNzvWWAY121MaFxv8PiuA8AT$gjHs}F@kTgUxCz0eV$TT6djyOsOz*LkPfW^QikZf=dYsk(i4>#v%fi^c##M-X}# zhJ=K~Ln15Uk<3O-4Zsb^1_YvDNMQ)->Fup@u`Qg4`EEp))|o~A5%)$}YN~vYlamv& zp^->wL@G|#EAwFKYyITuXSh(Cf$n{}7q3mW*yvai z+-nMof<;&GJcFd9B*2wSXm6|=?XDYHn2(waOsgNy3hDn|`+au2VeNI@aJD~Il~XH` z%BDp@am8vw7@og*S6EvtIw6w#!z4({T3tQ4C^@;R%1&QU5ShLtg%R!P(}CH#vblgz zbmcu&MxiVKvdln!44F)5)6S`Xu?x*M!VfVQHE&hk+Agxr8N_#)@Ogh0sRMncYzeS( zKpMw67l>KELw+v(NqQIBnC~8G#7Kt)0J$o*Sf!AVr+gqmI1xFVC>#zANT9*x4i8xZ z)<8SI%@urK8#tkygl#JaN)z;rlL%K)o3XGQFOAbwXqO~|> z%#_VyA3f!l?~&bIXj=#f2*}S#R@c{!%uTwD?j3ac1{e8wwZ9kHOWWGnNk~e<`!cs* zo8Qz~9WJ(doNPkN!Q4g`q`aPTyStXH1jW-88dwL5PP=1bBGzbjC*q z3(ZTR?dmM{H!3Ys7Y7hyrbJB@m3(q+<7vw}H3sXSL4Acjr{nW|i{Dp()bO+(Hdr+xogd#l&2XQ@1aun~=*J^mK5TiFDcn%*5d5c%O5i{Fc z%!wAUoEeRX*p+^V(Aq+in{RSU*j9dT1)Fa0zDjQu^SB_W_U!6bXL)E$e{a2qNf`ce zn|s7(e(zn*9V~nb8vd)~_#Bnw?c4R0&QnJI){L{dm0uOk5AL}Z^;r;ZMWrYFgxXEc z;a|TNt{w#n>G$2;plv-k+?x!}57#bv-t5h=M2nwNvO0NxE)4bN8@}x5pm^~D^p@<+ zWmuyFUj`eikx*t^n_p2;a=3CZ;>o6T>bcoMnUYbVK|5&qy4C_07gt$XdCI`hNA2RS zZz8myVRCL_HLt%-m&kc%wJY?`Yq~@gh-f8W0bsh`Tv>Utl`Zw>HIxx{&%|KaJ9>c+ z-*SDi)aGP?8>y|I#+a8!$SYn5^ z_`PpG&%|^cE2H5v-g{fA0Z<+Y5XwA@x^{Mo)G|ubK2Rx<;z%Ry$MwsavaPJHAVCQ8 z+v^&MhK(Y=`qm|S{rdSPzLd%3q>oc`(TBTS`O_DLoMxv^-uLVlDm0XoAm6aC{!;=L zlc6+Pej1;Z+s1{J6`t6U$=8UWXQX0q(nTwQ*CKD;lm1f>#~cDHtDcZ+iyF6V3}=R+g$!@5ZBt{K&vEXTjD zoRM&WTrZcuPwCz7xvr zjB0OfzWYDe!%O>C43USmn+p@)w4{QMLcMUDAHq(Ewh0WN%!rvUmw z0STzeUkc_pI{ijo0;+J<@Q3*gw?702>HntUt!UGUS3w|sXj^M6)yIKC@(x@6mrIaQIbbD zl;-M>-}E(*9MoZskTofO9uRh!^Q18EJJ!obqNFEYY4jwN0LQns=x5v*4?oe3JT9@B znfl-$1{93=$n7ZnPmDtD4jKl)9~>KVfvpV;K77_|pD5Yf+1X($uisL)GiSpB#D15+^4M$jWgg#GVQ2+5sCJoGZ>l0Nnur$x40;JSlg-4E~N7|Em6&~hG$C`R4? z;0wS5l;l-C-(&WTy4WUZ2Eq#~F`LLzwcLAzQ?EWdkG=``URn9M-m&)^Kl88N0B+~| zgUP9-P8PkfO4Tw$Lp6gqz&A2FmI*ZtS{qz<{ z#-=KJ#7KR3;xY4ecfP@-r92Pt@HD@%$udhd!*BiyEGqzeF#1F>lm1# z#V0+hCje%m+DA{x@motPqygO7k(>ML;I3Ob1)|o)*R2)q0$bghp0OEEN(RJ7fMFO zEw9`9{FNFYD>P`yK;?~8*^Nw9j9Tp)(}<=bsF%XdkL;EjcQ2Yk7}an#_ZMi`sL8Ju zIUn8yOnFu-{YR%PAPZ>rM^R{>`-NzoE_pO3#Z-0IP&bFRuQRw1hQhQlvVLCll zljN4Am{>7gNd6UA1zukjQHh_6h0?qZG$?)+EI$~`O%N4>AdxHtT851+CHR$upXw18 zES9H)nxJ8jL}tXt-<&Y}d?VSQ4zY!`2$gg%FwT5Ly;4p`i zI=b`d&Ued4myTRsmv1w6tHhN4+&)qIqTDUKcbrYaK)I*%RtM+%KKh$d-yaIm1i?>y z*Dc?_hZ|k0)QNwK*1t2`D@ox}G@iz8ZZ=~*Kb=M2=KXM#7JD*UJ0*Ul!Inw|7STFQ!XX8RwQd zUn3czumYhV2qZV$cc>6u1$ob3>9ZEO+xgIPo5=Io%1T}#`_ia$tYF9(4N#oSp+g|w zsO6Ewih0kgV`$l2@4X??$8ZmQoW)dgD=T&Nt9xodQcrJ5DKhJy^!gRChk{D751Wl2 zde{;}CVs^YR6jilz&!#`DS^fg9~bA$HM;GCGc-G(U91@6&s7>)Q5Ruh<9Zer=F?ru z=^!4uE`RRD3SB8U2~?9b92GoYMSFAO{Io5~!rx@ec6+;$-Rjo;F6eh6^HL9aEcLZm zM%czliIh}-rweI1msL^A(equO-XWj?{>)IysxyhfV0!tGXb?C3&cXSBI zuGk_WxzEhF9WKVhb^MHa2e5v{C5RIf{w$`B%x^xYQ9^JNHJZU*mqV{hZbSsg@wHyk;5 zB1y+RQ<9V0o8ces_Yg8S@2*(ch1D(nTNOjLB`N#u<-~z*q~kuDlCx=O=xZS9osv$$1i8QVuyf39auh^1tcvFA3ApNtA!y?%%M+FxO*~`cA|b(gYseo~_PyC@!p+4YLd}W(c1|`Lp!S@`z)_cR7GEaci zZH~w$%cx(qG9%^3r)c@Z7~Jrz0NYm(!7J$Zkpo|>M9`3>TJ4da1~jtX%{9VhXVX!S zpN|j?II}o|FLjo?nd80uLyxp}m3U!A0h)mF@8WIrZlw&E-Vp4%`LhCJ-g4oEyCf`! zzcvQ&UHv24L&*xt62}6e2zk_VXD2WWx6%!_7FVXFYs(>m&i5%bQmHhgq-Z(h!dCTc z;uFqWDl|nlZ8i}Jef=ABbF|{=L#@TLYE; z&R=u~_Sr-7kA8xylMblD|AW2i@5<9+o<9yfeMyTgA0G?7>>C_b06UU7Rn0JXc$B>8 zZ2biNmdcGEc>k!_2mne_#4E8YPfuG+p|WpsZveDvt*^hcH5Zh*G6t1L^9O+F@{cQ5 zKHcF)sYKr+ze@)?lv?utqz=6#%?r@LN$d2(>FMc1_#^)~HE3B^=(K_a=(-ML3yr_~ zBhbFa0%GhVrlXj7&a@hd_4--#9kCsS9_qKpB)Tq1x8v4@{?%<@@(NLt)bzBV4XnD2yo$ti`La`mp>LdbKI(dCn%Tj z--LP6{K1A@ebN9q&7^zH%Xrqeqqu^L+fp`n&R$+3ss!l3SRq90#0u0G%H9Vhx20+L ziRC}hU-4O9J+yg7#f;8N04rL7ieWU6Mz0JtP{sr+T5Vmg*BN3!w2Qqds-%Xp5GBpT zYm^Q3Olezg@LsbX4t$}-6f9FfMC4!!Mdx&b#aPAzm@I|SqRk5k_1RrZXWN{sCp)^l z9_KCA0k61yTy}R4R|qQ2PDnz8$LaB&qG5nQ>W!qBI%}GtOt823c;-bAAy>| zlJj_6LiV`}@|=t{uLn~SdqrlZ03I_F-L?IWf=m4(Mje=17Ja75D;0JLVjjY0*6B&0 z!s@M|jm;aq7)#M<^W52=k>zv$vCs^NC(RsOj&_bH>6l4LQLl9$1s@g`hrvDdK`@xu zlDpUc0t-8!8~ITwfsJ@A&U4b8?@E}%28Q?#N1%;iIi25z__>LXf_eBXy3x0oz}nhP z(C1)H1ucdp;hBRuH7B_$<=I#oGC^$OeM^rEM{UUGEH4_Ot74+5ib%lWGcs7`)9yVY zfA$a=fGPA8EV=B;p}+%2hNEc3@y(uZzSlR7SiBDh9;BLaUx%(`m5aQ_p&=y!D5wky zE-EnDR233l=fSeWBm$Opz?#BFMI{X`Yg4c8n5?5ng%a{v>X}T2X;=VvgOImRRxH@c zasZ6ULB9H1UHx{b-!6cEXUOQiC_3roR#$+z$ydH%Fn7JSR#SgM&S2V|-CfZ5X@P3F zj@4B8!f02R(GlXwmeb+L-L)>eA_?#PY4uRKZgW1@qECl!+`7@sapU&(9N=>bi%4ko zy4}|Iv9XysUf_1YV@%?Anyujuxj3L)Oyx1|^LNVv=5?ddO6y^5-tB~xSE9eq4GuJv z&Zk|YcRw&wtw_Qb8rIHA_C{?+hF4r7nbo0t+Sm7z+XXxJF!Fht?eXQ&g_rg8TVvRG z?hWmc%R!x)A;jd2?n`s!aTzzcclHhypR;-~8KfS6LcjDFl-t%zNW>n7uOzJpyD%vB>mAX;(}l zkDD7OexFv)!P6m{!o|M4)L2VFSy>w9L#MJ@PEKZRkMOv5<7#!t7XW0+%F2pCe-0x9 z^&29hjbTOi!Hw0S&CTLaKd0wjlBJ-SnCVdrRr!LpkxfQ^fz5P{x~?uMCy# z;W2U8?=?WuUI>Y2wHO4EgfW!l3$lVR#cbd}!{UOKG}9@&CT(Onv3|KIpkaL>XSi0z ziva6586eH0|)P%p(!JV-BFZgmbdpAPekN#&MF>w&0EX9h~`wyShBh( zf>&!zh;W-L4Ctf9b8~VoYltOcE=YMkykk{n(FexcGy6$_ikj{c^aK${P+macKh*|r zAMTkt@#W6*WuQd5wVBeuINeMtHaQAS7N-8APB zk$-f_u~~XR%O-8+0Vny7E!B+Bmi3tm)iORB>C;F)e4uVfOh^bmr(1fO}~CEu}w`f!H;K&KuqG()JDSe5$!MRIs=QC?eFnbdB(vgmcgtQ)RPsorJ*2Afq}%=frBs9&|2B;GhLb4@&0h&TRhYLk&( zKFL6ikDmxc99T`9V(U%cG&cv2$Fz5nDTBx?sP0uatwlD`d^dTxvwPA64WhlWY1 z0(yAaY%PoB_aAS64SH9%sc~9q2tdn3BVK+0$R97>ZYnBXowpBT8eT}q;p<1mEnfb} z=;&^jZ@v0u54V<}NhFRdKh6MQ;;w0{CjokBGoHpt;W~fG$rnJ)c2%CG(d4*K_~M0p z*Ba`VA8|JqfOyHQ%L;fON>mM9hZmh&8UrExZQ z`Wzh}Fh?@{HzI*TUZT<_;61;A)(@rgVuuLJDkyFR2hmwHy6!*@r-HPbT&uDlU*zYo ziOi0p@I^0NJO-_rgPX(mEG$=^_iMi*6BvO+w#cY)dpBEISZxY$?j^1*?W?Q#pMLsu zqhxg_{SOksaZLi2poH$^+_tN0Pa!QgI=Y4K$Z$2&20j4+I#e={SN4)wjKe#9?ym;-=TK2y8bw9<`1t4n37C~d@dYxdN{z>}C#qky z;{D6Ric^WaQL>Cn?b{Q3s0AjlaAvElEX>X6Kn;$EZALo~@APzt@>9iD+xz*0-@o@t zO94X`gL>0mwV7i4{$T6RpW56mCOjS*Iy#G;z-$lM07_4jS04r4W2yt$@^iZVI=2cz zMV*|S)E!7}X4{+lWwrxRX1BRN>o3;^=9D({7Mz>02{G zXc$>?I2Woveu!AGr0a~$W{Q`aeE0hR`#bZW4^)VxxImK#NC`EBD)^HmeaND-BXz8q zJ~{)^I-Z{zWlJg<>-(snA%-!V2foQX8}-FV~^P9KiX*>Ozjf+S-f#5sy)4 zv~!}iu=4lK;p8AHcxs-2ERav=+S2@RZ?#AGj)L8(i#)3>oe8A;y(F9ErJ`4H058#1 zPDS{n(4WVJS)He~vHJ4R;2)@dQZiZD3TYxX9{1DXV#8mY4qJdq!|Ecsog)-Y3Bn9K zw{{U`RL}HK1~z?8-sa4wpuIT>!Vgk4sI|lX2&~M=9wmUG?h7Jf5bAJcf5WLZyrz-4*z<} zJOuPo{2NU;7>5diz!`k@RPm=R21tl{R&?(+J`7=ZJhJQ4Gv^iUFFH=rG*bqF(tJ3$ z;Z)#337)1R$;^zB8l;26!kzT>BM<%ELUBzRDjsn-K&@=-?E!V|=i!rio{49BmZi0^ zsE>@>GFnKbcx)Ox__b_t1_c#n3?=HPe98jfYsSgneIFN~ic+UDvo}z1enzMM)>}FC zpN~$yM9YcK56L52<&(2-ujeO5?pflUG*t&CTnm`I4H4QtJ08Q((4S8Hcms?;ZVfQ- z{eDu)>Nni`i5x2oaM{VISQ>i$nE(0|EsF@!n-~14COJ}tCLE~tVq47_5d_@b&kuuT zR8{UBf`W%C7V963+}-Q0@0kB$c9VM+q?2o~{?5vW+x{Pz>v1}c&yG#`Cm;~N?hqP& zMgNjcoBf!J9RC@6y~E2l(c)V{<#x8mh@cqCdMo~Az?!%B-m!0-szMjPCl!dzfQ{LD zG_DI$Z#t-Bx4XOa%WLmT*wn=y?_|GKjUs+K;M9YhH#T1B4ybR;@K-ua$p&FOd^n%A zy1a3eg0g&goREGyI={6Q@uMe!a-V8f-u7MD(jX|yuZI7-BTAcMSRQ^i82& z%NzeW0y#CfFL~rF7^tA$86zY3+;;s|I(@tZi?uZP&!0y>ueDuhYHCX6jqdI7czEpk z`>(p>ZD3%qg%6S)pJo7LzP3PiE8!#mg%DTNq17p|LG*ObE$IPw+W zz}83mo_-JLN=y5Pt_?yQ{KP(0b&a}`nbG-qbdVYYHK@kIRHMEmF0KY>OWIs-`Q#NN zC_kGz90sr;tdH$*ST+w=^9b;-e`;G=47w%AT7N}~juXWMfpBUzo0a%}7Dl%LkB1~> z%(g=n;Cu5DSB1a}1!W5`B=ju3fB8UHZQe#@dI7YGk1 zW`4EFxssoherIK;6fb{t!);mf%b}8b6O=KCZ9p3?fjkq&oCyRu*kKiIP3e|xQfmGF z^oYTUZ2P<9ZxOE;`EuzkEcyYvi=iPCNJ;7U%WtAOIkOO_rN+V~BU3&I#Gap$>M;(X zed1I=qj)Fr{-q;43J881B*BT^hLTJ9{rcuajxy^%=u>lbQx4GMO}ayti6DNrjc}9v z^8Kcz(kG|d%q9)n%{^nyxrp#xv45s==l_o2o)2I@a)|cWt#nd!5+8Y^S~<8Bw3{*m zs;0$B*T3Hy^rGvgPb!$(A^!Th67cy$%8whxINlGRvi{YcAtPdl%T}%nSZqfYy}B86 ztL!ER^xQl*zb)IXZC#?LOgC5qOdJ{X$fX4G4m(~|soxw8q0Ujj#mj}p#AEGZLUg2= zj)+CD(zJF`f&9%*zdI3_^R1!yawJmFKFlhF593mk?$Knf{BPt#MP^rA#COs32>I-r zLC^%&V1!ysHHp`Oaux+c`R9X75ue8S?G;rSuwc78@N&2;vL-Y?4+6R!o;iUJBKP04H#Y7 zqI?}|6wH6)@-%KRp{s7z=`bW`w#nIEAkD~8{Qe@WmMbCSClf_8F%*r30`Tb6iZO}; zcX$@A8(9aNMO4>&NDn-`B5cR+NK#Td?I@VO59%+6Hw2~#UR7ii-V?+nWpVOfh_KGkT1YG$tBuV2JB+JqSukWFjJ%--+|C}_|c47U)AJrudQY&e`h;|4XHIZH@-qk}FK z6;S=f-J*~{7cnG&BQ9rh6AkZ+o5w{+c!+qL%b?G|GV79MS>w5zO4?pKeb|(w=FBjVv;N5!K1shC`4OP6XRl6%tUlGa;{hv4E+9^6)FCX1SUbBC z{wdu{=FnwlBpek1{i2?4AK?Y;*$9$BJ2q++l1X1S9QTbTfX*!?I$m5i+Rs14K`6xh zx9dex3Pq#bw&b!8oPga+TlNYO$m{bm zZQK7s$So4z`yE|4l5^|mINjYnkLpK34(N^*8h;mZA@vrWctBUC2p;LC2AD&lKO# zj#XAVU}eb#@(q_prl&sv-njGR#bq1(D@pqP{F5Z%1xV`;f+L0D1o{GM&iHR_Mq&;@ z%Q~Yu%qFs>a~~xoXLZ@J9qe`T`Fb8i=$fl`e&H@ zz{5mM-3>9`Du0+i&t}k}w=(`{GkbXk*n-dZ`QI5;Uie>)Z96tWGKGNd5Z!8XVhLDx6N)E!3(wz56@X*vEWNn`B*xDy?PP;-(mN|KY}LR@se;3?~%nO8UC}fj&;R zvaok{76O=orjyV>xVSt>0T`esf~T;Z7N8v^y<8hE6VPY@$1rSiF7IGdv+jT!|4g&l zIUf`iA78@7ZebA?6Qh6@=3Jagn=_~eL(eKD75fDcO}P2_-Jq!GXhj>XyDV^;C9p|L z&weA|meSFDgHC5OlhyhCqt9)f%k!|j;;2Uxk5H0*E}p1CjM3ZeCzzlo!*GBs>-j=l z!vD;rmMlgNuRFVLUX)KYCo9Dj<5x&5KK}zl<)#}NTPmxSc?a+_Ze7N|0t`q)s^&$t zysG&C%>hKqxjS1Y%RBH(?}(3p%d-i5KfeLLJgIOuUvjt-*!7piF# zX+H&0MaUHh@qScyuLm|@=7NBfN;(-lMN}a&GYpt%+>b_|g$N&CLp9ZT3m6LF!7>>v zs%x?zfSPPv>3`8`$AO+XCAwBD2Zzz0?`l_LX|5jJIAvDGNB#xM+}|TKL~6QJsg0Ht zuz*evCc?7|o9YVzCgZFhs3~TfhmwF6n8B2y<=LMA3|{LVIwJTW&xRMNy0MSVqo>!? z8N8$Etuc|=s>r7DF<5SLsG;iP=MM&%hr$nb)xW--m$2)EL9+f;aL$ShYS)YpPcCf9 z)=<%WS(%5>wA;-6ZjPwEf-Q7Wc_sXs1~fO7lAfj?tD zQs>1B+i-Km_SU>b!b7kR6JWqvghmk(hJR|b9UP*3E zj|ym#D+B)zny|T5`dkzsM*@K7`ZHpaDzM=uj8&r*gF4#4!WPxS7Ju8>Q@bHKXCKcO zsL1`{Y|RR&5HN-8|LS}EFMiL3M2@)MKRe}w3fb6FjcsgL4H^=QlB>A(rT&w|X_h{d z!&ts7F4b@E>|EIXYBUKr{S|k_@sqtpL)77WBM_GGKMaN#CxRU7Hn?%31-QTm9y#d6=wZs&t1=k z{a-p>ZG2*)si`q17Z-}Kf%dDe$lt5~MzLOYwY9TR`vu%7aJGxi87)3vbCns?_czH` zsIY7GPdni15nY}_UdEb!G&K*Lh4kyMKe3{d>?@5B1kCcr|5WCrp}2sG2{Co9nzUDO z87&n5owcRoymz}$R?!}8+K~_Spu|E2dA>890D``;MMd}Gwdb`eq?!W2NVw_Lg0p0Q zlaevbd;e-PlxsL2MYtPa=UU_ad`Oq)yl>{bxtIOaRT)0$+R@aaPEI&tujHccn-iCO zyMBQG>dJUlUbE7mXjf8lZKKo4dItV;XPA-G@i-Moji}Cb?i>LtByOle=c03nUNx|9 z@GH+ysKw8s7l9h^KxY*c41az2!^d0vKnea=XY?v6N>-A2r+(bYiVRZjx`0AHCaB^1 zwBC5xoPzh|FEhFNPtKiB<5FsrZ2t?t7ihSxH5nkckulQet1psV9{7Obc2)wZ$ZX~I zioIO70=LEP?t1kLS_&2Ecn$2%*8EtOxk}BGlH5Q@z*lODN#@)cp@m14;en2ue)ppW z8{?neFQCtBxxr3EEd)yBpr94Pemy6wzbqRr2bL7{7HALC)8*A*wiDQqt7?n z`0&fhB47k}8O+Sg1rKKUz)p8ar@S(vqeq4lfY#dd-2B0mcb$z=rmBh7Cm**Ga2{Ch zq*ruGPE?~tMn-lfnlEM#r@X37Y8ghG?yt;NeREU-|B|U*`{2g;%bHe|H4avL9{;L- z9W#moj{^T@cu|`UKzXHqngUW~DN@w{f&n5RH32CG zmKKU8^k#(62_=D0@8|W$ow;-O?)`Uvz2BUf@0>Z$IcMH^Pct{w>$TC1d`&)5Y16s% zUOZ-gUxMs=W(H~sf_WwkJ(2z5z8UGyL z_*XdP9)0uD`-BH`WnDZk_@VnfYfgbCCW8LWk+^!55Qp79>Z=>Mto)8JpyEl=)mIBp zTPGjkw2-o5GD>m9Crbi7m%=n(a0@99W3+qbdJHSvvUqREs$EcX=@}27d;aM1#fxHM zSkD!T^t@L<-6;p#`Au-#!-M@`cog8$GS(qzq6H-5_CZBOd4YZmMBr>%$am)s)Wk`& z6lJ^->pn1aX!wIg6}1xz;H190MP;mb2BG)1-L0zcR$1*s(9D7L)ciFba~UsI9;b*x zvF(7&#qV=9k2*R!fO)Xq5=2@rQzU^)06f?Vy(;d!`+2K+BIwJIuE^)+Bb-|CU?kmW z8@0n!bm^D#W=b)PReks+B(BIX`}g-R%-u`N&12&>oSG;eH7e*kdn~x@E%eM0_9R|@nA8!YXJnL!3|=oFBg{WN ztXVbPC&!YpHbSf|Ow1Kpf22msGcGB`eG~J50^3jHVilVb1zB`D9=$(@CyY9h6xw{S zsdHZn4009BSQgMWuYn3 zDUfmt7w^f&gm7VDquMUJtA~$nSy5DkHR zG>soNTy@;5+q{2n_|Ma#>IaLaDI!Yar4?)+?Qw3iiA^+8c11CbMnlEK7FJ=I$M3}J zSF$r#P=J`2w}jn(JskA@lciz#P8g>i4^aL3ghQNtBD)lh-+9iB;uKNe*+}*@Wy-k?8gY1AI2TU$J?ze;+0=e>%a6N! zJCmQ6_bz2Au5P&E*9ZpuvFnO8#|DR3j;??CCc#f& zwMtSL!m`$ZpC9wVf!Ksy3Hiv`{aX&crJ0liTc8aTeACh_3#1tu^TxF@R$Q%8Qd2X! zA9il9n;r-W@m!y27qj~4+*hNMjE9FD?Cp#PZ%1g~avLe19xTH^+{WdACp6Gafpzm7 zdY{r{rVidoXs2b2{Kmnf@mdr^u5J-OQ$CHksPI@xk<0D zBS`zF3h$*jk8@Y)Hx=mvz1b;6dmnJOLrt|?wQkzkQKEU^QM2jkPI_sxjBNteqS}Mi zxHfxoXA@PwY4b?ZtT5JcPim0r4LAVA>#G4Sp<|sKy_ofKTixll0L$YxA7t-WLgm{A z)LhvYO?CAdc}LG~L}mEa`i2*=<`~ZmNk?Dx$%n$i*~uoh^_h$Dx#v9n3j-f-tmW%* zMMe^dM4*W8@9>>!0Q2pyo|tC@gg4Qbmd9`ewHx++Z=C||jCx5zsQ z{$O*#OX0}8w$`4N1RJ{=VRerS9(C3>1HIZDSr~{{S9^WHvh7jy7*%S-F)EV9;^JQT zR+&V06q0+wV8SRCnSMxn>5lC?0v}3Vp>DP*V&%$O-UwT%=+xd2w}hbU zL$WiL5=D7n>JwK#N9tgtgzEof;Gaz*0bi1TgRKquAMspb9}4lG5Feq>XzTJ@qoDh1EG53C!^D1)TbDJlUH)C757P> z5;GW9t`yI-^`40?fzRFgV6r%H`DwJD&Ag0SS$9jG`Az=R(@DSU4~tL1rGkRJyA_2d z2kJUhXKT2!R8by_$%gFgN8*FNMbqg~T5;f^%vtJ_OLx2)4^DW@0tsar$Nsk;|AOEDk1Tjxu%UtBvAV!G}w`UrqPlZNqD5`P1t*B$?R z(FoNufC#!;bab?b%Yd6g?N2;=uA}#ZP^c#5e~C`8uTTC~Y9%4_!x)pY#VC`Sd|(Ht z-3!1%H{C5*2FI)KfIyAX=KuVfTn$1tz@x&#enFuQgY42A6gWlXz{D{jZ{AS0s^Llo z5Bz>@(2$Qj8)%d`p3O^iGf0=$!Dl9R=CxVT=g`eU*uqU;_cg@WxOH=a0H$D#YdGBcMrUliG48 zbrE7mg;(h@5^U3uIAsY~Ym!O#Z7of8SE;MQX`l%uoqLApI*%-)TlfzRGTNCVIc0f9 zr(^JehYTI0;_j;!MsGreHC$6Hca2^bkA=2IWqGMM-W_4n*4 zt>w_~)iTq9G7??BCHcc$+7^b`RUZ`82<8dNrgXNA)!$@%v;q2fkfURqN^N0i?xl}Y0iYDmX1AZvEAF)*vtAqI)clocOn70Fw2u;zL)w>rBa0BUR L8r&*{+lBoD1Va6e literal 0 HcmV?d00001 diff --git a/lam/help/help.inc b/lam/help/help.inc index 8c242953..5eb6d127 100644 --- a/lam/help/help.inc +++ b/lam/help/help.inc @@ -250,6 +250,8 @@ $helpArray = array ( "Text" => _('Specifies if the mail should be sent as text or HTML.')), "554" => array ("Headline" => _("Reply-to address"), "Text" => _("This email address will be set as reply-to address of all password mails.")), + "555" => array ("Headline" => _("Allow alternate address"), + "Text" => _('Specifies if password mails may be sent to mail addresses other than the user\'s LDAP mail address.')), // 600 - 699 // OU-editor, domain page "601" => array ("Headline" => _("OU-Editor") . " - " . _("New organisational unit"), diff --git a/lam/lib/config.inc b/lam/lib/config.inc index 6561c155..39db0054 100644 --- a/lam/lib/config.inc +++ b/lam/lib/config.inc @@ -407,6 +407,9 @@ class LAMConfig { /** treat password reset mail body as HTML */ private $lamProMailIsHTML = 'false'; + /** allow sending mails to an alternative address */ + private $lamProMailAllowAlternateAddress = 'true'; + /** mail body for password reset mails */ private $lamProMailText = ''; @@ -415,7 +418,8 @@ class LAMConfig { "defaultLanguage", "scriptPath", "scriptServer", "scriptRights", "cachetimeout", "modules", "activeTypes", "types", "tools", "accessLevel", 'loginMethod', 'loginSearchSuffix', 'loginSearchFilter', 'searchLimit', 'lamProMailFrom', 'lamProMailReplyTo', 'lamProMailSubject', - 'lamProMailText', 'lamProMailIsHTML', 'httpAuthentication', 'loginSearchDN', 'loginSearchPassword'); + 'lamProMailText', 'lamProMailIsHTML', 'lamProMailAllowAlternateAddress', 'httpAuthentication', 'loginSearchDN', + 'loginSearchPassword'); /** @@ -603,6 +607,7 @@ class LAMConfig { if (!in_array("lamProMailReplyTo", $saved)) array_push($file_array, "\n\n# Password mail reply-to\n" . "lamProMailReplyTo: " . $this->lamProMailReplyTo . "\n"); if (!in_array("lamProMailSubject", $saved)) array_push($file_array, "\n\n# Password mail subject\n" . "lamProMailSubject: " . $this->lamProMailSubject . "\n"); if (!in_array("lamProMailIsHTML", $saved)) array_push($file_array, "\n\n# Password mail is HTML\n" . "lamProMailIsHTML: " . $this->lamProMailIsHTML . "\n"); + if (!in_array("lamProMailAllowAlternateAddress", $saved)) array_push($file_array, "\n\n# Allow alternate address\n" . "lamProMailAllowAlternateAddress: " . $this->lamProMailAllowAlternateAddress . "\n"); if (!in_array("lamProMailText", $saved)) array_push($file_array, "\n\n# Password mail text\n" . "lamProMailText: " . $this->lamProMailText . "\n"); // check if all module settings were added $m_settings = array_keys($this->moduleSettings); @@ -1402,12 +1407,30 @@ class LAMConfig { /** * Sets if the password reset mail content should be treated as HTML. * - * @param boolean $lamProMailIsHTML + * @param boolean $lamProMailIsHTML true if HTML */ public function setLamProMailIsHTML($lamProMailIsHTML) { $this->lamProMailIsHTML = $lamProMailIsHTML; } + /** + * Returns if sending to an alternate address is allowed. + * + * @return boolean alternate address allowed + */ + public function getLamProMailAllowAlternateAddress() { + return $this->lamProMailAllowAlternateAddress; + } + + /** + * Sets if sending to an alternate address is allowed. + * + * @param boolean $lamProMailAllowAlternateAddress alternate address allowed + */ + public function setLamProMailAllowAlternateAddress($lamProMailAllowAlternateAddress) { + $this->lamProMailAllowAlternateAddress = $lamProMailAllowAlternateAddress; + } + /** * Returns the mail body for password reset mails. * diff --git a/lam/lib/modules.inc b/lam/lib/modules.inc index 5932b3fa..31bd568e 100644 --- a/lam/lib/modules.inc +++ b/lam/lib/modules.inc @@ -1061,7 +1061,9 @@ class accountContainer { $pwdMailCheckbox->setTableRowsToShow(array('lamPasswordChangeSendMailAddress')); $container->addElement($pwdMailCheckbox); $container->addElement(new htmlHelpLink('407'), true); - $container->addElement(new htmlTableExtendedInputField(_('Alternate recipient'), 'lamPasswordChangeSendMailAddress', '', '410')); + if (($_SESSION['config']->getLamProMailAllowAlternateAddress() != 'false')) { + $container->addElement(new htmlTableExtendedInputField(_('Alternate recipient'), 'lamPasswordChangeSendMailAddress', '', '410')); + } } $container->addElement(new htmlSpacer(null, '10px'), true); // password modules @@ -1157,7 +1159,7 @@ class accountContainer { } if (isLAMProVersion() && $sendMail) { $this->sendPasswordViaMail = $password1; - if (!empty($input['sendMailAlternateAddress'])) { + if (($_SESSION['config']->getLamProMailAllowAlternateAddress() != 'false') && !empty($input['sendMailAlternateAddress'])) { if (!get_preg($input['sendMailAlternateAddress'], 'email')) { $return['messages'] .= StatusMessage('ERROR', _('Alternate recipient'), _('Please enter a valid email address!'), array(), true); $return['errorsOccured'] = 'true'; diff --git a/lam/templates/config/confmain.php b/lam/templates/config/confmain.php index 318543b0..b7cf3ee3 100644 --- a/lam/templates/config/confmain.php +++ b/lam/templates/config/confmain.php @@ -355,6 +355,12 @@ if (isLAMProVersion()) { } $pwdMailContent->addElement(new htmlTableExtendedInputCheckbox('pwdResetMail_isHTML',$pwdMailIsHTML , _('HTML format'), '553'), true); + $pwdMailAllowAlternate = true; + if ($conf->getLamProMailAllowAlternateAddress() == 'false') { + $pwdMailAllowAlternate = false; + } + $pwdMailContent->addElement(new htmlTableExtendedInputCheckbox('pwdResetMail_allowAlternate',$pwdMailAllowAlternate , _('Allow alternate address'), '555'), true); + $pwdMailBody = new htmlTableExtendedInputTextarea('pwdResetMail_body', $conf->getLamProMailText(), 50, 4, _('Text'), '552'); $pwdMailContent->addElement($pwdMailBody, true); @@ -522,6 +528,12 @@ function checkInput() { else { $conf->setLamProMailIsHTML('false'); } + if (isset($_POST['pwdResetMail_allowAlternate']) && ($_POST['pwdResetMail_allowAlternate'] == 'on')) { + $conf->setLamProMailAllowAlternateAddress('true'); + } + else { + $conf->setLamProMailAllowAlternateAddress('false'); + } $conf->setLamProMailText($_POST['pwdResetMail_body']); } $adminText = $_POST['admins']; diff --git a/lam/templates/lib/500_lam.js b/lam/templates/lib/500_lam.js index 3e476b32..c6eb19e8 100644 --- a/lam/templates/lib/500_lam.js +++ b/lam/templates/lib/500_lam.js @@ -253,7 +253,10 @@ function passwordHandleInput(random, ajaxURL) { var pwd2 = jQuery('#passwordDialog').find('[name=newPassword2]').val(); var forcePasswordChange = jQuery('input[name=lamForcePasswordChange]').prop('checked'); var sendMail = jQuery('input[name=lamPasswordChangeSendMail]').prop('checked'); - var sendMailAlternateAddress = jQuery('#passwordDialog').find('[name=lamPasswordChangeSendMailAddress]').val(); + var sendMailAlternateAddress = ''; + if (jQuery('#passwordDialog').find('[name=lamPasswordChangeSendMailAddress]')) { + sendMailAlternateAddress = jQuery('#passwordDialog').find('[name=lamPasswordChangeSendMailAddress]').val(); + } var pwdJSON = { "modules": modules, "password1": pwd1,