PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB` sh-3ll

HOME


sh-3ll 1.0
DIR:/home/korminas/dms.korminas.id/seeddms60x/seeddms-6.0.25/utils/
Upload File :
Current File : /home/korminas/dms.korminas.id/seeddms60x/seeddms-6.0.25/utils/importmail.php
<?php
if(isset($_SERVER['SEEDDMS_HOME'])) {
	ini_set('include_path', $_SERVER['SEEDDMS_HOME'].'/utils'. PATH_SEPARATOR .ini_get('include_path'));
	$myincpath = $_SERVER['SEEDDMS_HOME'];
} else {
	ini_set('include_path', dirname($argv[0]). PATH_SEPARATOR .ini_get('include_path'));
	$myincpath = dirname($argv[0]);
}

function usage() { /* {{{ */
	echo "Usage:".PHP_EOL;
	echo "  seeddms-importmail [--config <file>] [-h] [-v] [-t] --user <seeddms user> --imap-urn <urn of mailbox> --imap-user <imap-user> --imap-password <-|password> [--eml] [--mode|-m <mode>] [--delete] [--attribute <header-name:attr-name>] [--subfolder] [--inform-sender] [--type <type of attachments>] -F <folder id> -d <dirname>".PHP_EOL;
	echo PHP_EOL;
	echo "Description:".PHP_EOL;
	echo "  This program accesses a mail box via imap and imports all mail".PHP_EOL;
	echo "  attachments or the complete mail in rfc822 format.".PHP_EOL;
	echo PHP_EOL;
	echo "Options:".PHP_EOL;
	echo "  -h, --help: print usage information and exit.".PHP_EOL;
	echo "  -v, --version: print version and exit.".PHP_EOL;
	echo "  -t: just check for mails without import.".PHP_EOL;
	echo "  --config: set alternative config file.".PHP_EOL;
	echo "  --user: use this user for accessing seeddms.".PHP_EOL;
	echo "  --imap-urn: mailbox of imap server, {hostname[:port][flags]}mailbox_name".PHP_EOL;
	echo "    e.g. '{mail.mydomain.com:993/imap/ssl/novalidate-cert}INBOX".PHP_EOL;
	echo "    'flags' is something like '/imap' for an imap mail box without".PHP_EOL;
	echo "    ssl encryption, '/imap/ssl' for an imap mailbox with ssl encryption or".PHP_EOL;
	echo "    '/imap/ssl/novalidate-cert' if an invalid certificate is accepted".PHP_EOL;
	echo "    'mailbox_name' is the name of the mailbox or INBOX for the default mail box".PHP_EOL;
	echo "    For a full explaination of the urn check".PHP_EOL;
	echo "    http://php.net/manual/de/function.imap-open.php".PHP_EOL;
	echo "  --imap-user: use this user for imap access.".PHP_EOL;
	echo "  --imap-password: set password for imap access ('-' for stdin).".PHP_EOL;
	echo "  --imap-config: Read imap configuration from file (urn, user, password).".PHP_EOL;
	echo "  --eml: save whole mail in rfc822 format instead of extracting attachments.".PHP_EOL;
	echo "  -m, --mode: can be 'all', 'new', 'unseen', 'today', 'since:<date>', 'on:<date>".PHP_EOL;
	echo "    <date> can be any parsable date by strtotime(), e.g. -3days".PHP_EOL;
	echo "  -F <folder id>: id of folder the file is uploaded to".PHP_EOL;
	echo "  --delete: delete mails after successful import (default is to set 'seen')".PHP_EOL;
	echo "  --attribute: <header field name>:<attribute name>".PHP_EOL;
	echo "    save mail header field into attribute. If --subfolder is set, the header fields are".PHP_EOL;
	echo "    saved in attributes attached to the folder of the mail, otherwise they are attached".PHP_EOL;
	echo "    to the documents containing the attachment.".PHP_EOL;
	echo "    <header field name> is the name of the mail header field in lower case".PHP_EOL;
	echo "    (e.g. subject, toaddress, fromaddress, date, message_id)".PHP_EOL;
	echo "    <attribute_name> is the name of the seeddms attribute".PHP_EOL;
	echo "  --inform-sender: inform the sender about the result of the import".PHP_EOL;
	echo PHP_EOL;
	echo "If attachments are imported the following options are available too:".PHP_EOL;
	echo "  --subfolder: create subfolder for each mail".PHP_EOL;
	echo "  --type: set type of message to extract (can be set more than once).".PHP_EOL;
	echo "    Common types are:".PHP_EOL;
	echo "    JPEG: jpeg images".PHP_EOL;
	echo "    PNG: png images".PHP_EOL;
	echo "    GIF: gif images".PHP_EOL;
	echo "    TIFF: tiff images".PHP_EOL;
	echo "    MPEG: mpeg files (e.g. mp3)".PHP_EOL;
 	echo "    PDF: PDF files".PHP_EOL;
 	echo "    VND.OPENXMLFORMATS-OFFICEDOCUMENT.SPREADSHEETML.SHEET: Excel xml files".PHP_EOL;
 	echo "    VND.OPENXMLFORMATS-OFFICEDOCUMENT.WORDPROCESSINGML.DOCUMENT: MS Word xml files".PHP_EOL;
 	echo "    X-XZ: xz compressed files".PHP_EOL;
 	echo "    GZIP: gzip compressed files".PHP_EOL;
 	echo "    ZIP: zip compressed files".PHP_EOL;
 	echo "    VND.DEBIAN.BINARY-PACKAGE: debian package files".PHP_EOL;
 	echo "    VND.OASIS.OPENDOCUMENT.TEXT: Open document type files".PHP_EOL;
 	echo "    RTF: rtf files".PHP_EOL;
 	echo "    MSWORD: MS Word doc files".PHP_EOL;
 	echo "    PGP-SIGNATURE: pgp signatures".PHP_EOL;
	echo PHP_EOL;
	echo "Example:".PHP_EOL;
	echo "  seeddms-importmail --config=/home/www-data/seeddms/conf/settings.xml --imap-urn \"{mail.mydomain.com:993/imap/ssl/novalidate-cert}INBOX\" --imap-user admin --imap-password - --mode=\"since:-2 days\" --user=admin -F 8376 --subfolder --attribute=\"toaddress:Mail: To\" --attribute=\"fromaddress:Mail: From\" --attribute=\"subject:Mail: Subject\" --attribute=\"date:Mail: Date\" --type=\\!PGP-SIGNATURE".PHP_EOL;
	echo PHP_EOL;
	echo "  This will import all attachments of mails received within the last two days. It creates".PHP_EOL;
	echo "  a folder for each mail (below folder 8376) and puts all attachments into it.".PHP_EOL;
	echo "  The folder will get 4 attributes containing the subject, fromaddress, toaddress and date.".PHP_EOL;
	echo "  The attributes have to exist already. Attachments of type PGP-SIGNATURE will not be".PHP_EOL;
	echo "  imported. The password for the mailbox is read from stdin.".PHP_EOL;
	echo PHP_EOL;
	echo "  seeddms-importmail --config=/home/www-data/seeddms/conf/settings.xml --imap-urn \"{mail.mydomain.com:993/imap/ssl/novalidate-cert}INBOX\" --imap-user admin --imap-password - --mode=\"on:2016-06-07\" --user=admin -F 8376 --eml".PHP_EOL;
	echo "  This will import all mails in rfc822 format received on 7th of June 2016.".PHP_EOL;
} /* }}} */

$g_config = array();
$version = "0.0.1";
$shortoptions = "d:F:p:m:b:thv";
$longoptions = array('help', 'version', 'imap-urn:', 'config:', 'user:', 'imap-user:', 'imap-password:', 'imap-config:', 'type::', 'mode:', 'delete', 'subfolder', 'inform-sender', 'attribute:', 'base-url:', 'eml');
if(false === ($options = getopt($shortoptions, $longoptions))) {
	usage();
	exit(0);
}

/* Print help and exit */
if(!$options || isset($options['h']) || isset($options['help'])) {
	usage();
	exit(0);
}

/* Print version and exit */
if(isset($options['v']) || isset($options['verѕion'])) {
	echo $version.PHP_EOL;
	exit(0);
}

/* Check for test mode */
$g_config['dryrun'] = false;
if(isset($options['t'])) {
	$g_config['dryrun'] = true;
}

/* Check if complete mail is saved as eml file */
$g_config['saveeml'] = false;
if(isset($options['eml'])) {
	$g_config['saveeml'] = true;
}

/* Create subfolder */
$g_config['createsubfolder'] = false;
if(isset($options['subfolder'])) {
	$g_config['createsubfolder'] = true;
}

/* Inform sender */
$g_config['inform_sender'] = false;
if(isset($options['inform-sender'])) {
	$g_config['inform_sender'] = true;
}

/* Base url */
$g_config['base_url'] = '';
if(isset($options['b']) || isset($options['base-url'])) {
	if(isset($options['b']))
		$g_config['base_url'] = rtrim($options['b'], '/');
	else
		$g_config['base_url'] = rtrim($options['base-url'], '/');
}

/* Check for test mode */
$g_config['deletemails'] = false;
if(isset($options['delete'])) {
	$g_config['deletemails'] = true;
}

/* set mode for retrieving emails */
$g_config['mode'] = '';
if(isset($options['m']) || isset($options['mode'])) {
	if(isset($options['m']))
		$g_config['mode'] = $options['m'];
	else
		$g_config['mode'] = $options['mode'];
}

/* set attributes being set from mail header */
$g_config['attributes'] = array();
if(isset($options['attribute'])) {
	if(is_string($options['attribute']))
		$g_config['attributes'][] = $options['attribute'];
	else
		$g_config['attributes'] = $options['attribute'];
}

$g_config['inc_subtypes'] = array();
$g_config['exc_subtypes'] = array();
if(!empty($options['type'])) {
	if(is_string($options['type'])) {
		if($options['type'][0] == '!')
			$g_config['exc_subtypes'][] = substr($options['type'], 1);
		else
			$g_config['inc_subtypes'][] = $options['type'];
	} else {
		foreach($options['type'] as $type) {
			if($type[0] == '!')
				$g_config['exc_subtypes'][] = substr($type, 1);
			else
				$g_config['inc_subtypes'][] = $type;
		}
	}
}

/* Set alternative config file */
if(isset($options['config'])) {
	define('SEEDDMS_CONFIG_FILE', $options['config']);
} elseif(isset($_SERVER['SEEDDMS_CONFIG_FILE'])) {
	define('SEEDDMS_CONFIG_FILE', $_SERVER['SEEDDMS_CONFIG_FILE']);
}

/* Read imap data from config file */
if(isset($options['imap-config'])) {
	if(file_exists($options['imap-config'])) {
		$lines = file($options['imap-config']);
		foreach($lines as $line) {
			$line = trim($line);
			if($line[0] != '#') {
				list($key, $value) = explode('=', $line, 2);
				switch($key) {
				case 'urn':
				case 'user':
				case 'password':
					$g_config['imap-'.$key] = trim($value);
					break;
				}
			}
		}
	} else {
		echo "Cannot open imap config file".PHP_EOL;
		exit(1);
	}
}

/* Set urn of imap server */
/* e.g. {host:port/imap/ssl/novalidate-cert}folder */
if(!isset($g_config['imap-urn'])) {
	if(isset($options['imap-urn'])) {
		$g_config['imap-urn'] = $options['imap-urn'];
	} else {
		usage();
		exit(1);
	}
}

if(!isset($g_config['imap-user'])) {
	if(isset($options['imap-user'])) {
		$g_config['imap-user'] = $options['imap-user'];
	} else {
		usage();
		exit(1);
	}
}

/* Set password for imap */
if(!isset($g_config['imap-password'])) {
	if(isset($options['p']) || isset($options['imap-password'])) {
		$password = isset($options['p']) ? $options['p'] : (isset($options['imap-password']) ? $options['imap-password'] : '');
		if($password == '-') {
			$oldStyle = shell_exec('stty -g');
			echo "Please enter password: ";
			shell_exec('stty -echo');
			$line = fgets(STDIN);
			$g_config['imap-password'] = rtrim($line);
			shell_exec('stty ' . $oldStyle);
			echo PHP_EOL;
		} else {
			$g_config['imap-password'] = $password;
		}
	} else {
		$g_config['imap-password'] = '';
	}
}

if(isset($options['F'])) {
	$folderid = (int) $options['F'];
} else {
	if(!$g_config['dryrun']) {
		echo "Missing folder ID".PHP_EOL;
		usage();
		exit(1);
	}
}

if(isset($options['user'])) {
	$userlogin = $options['user'];
} else {
	usage();
	exit(1);
}

include($myincpath."/inc/inc.Settings.php");
include($myincpath."/inc/inc.Init.php");
include($myincpath."/inc/inc.Extension.php");
include($myincpath."/inc/inc.DBInit.php");
include($myincpath."/inc/inc.ClassNotificationService.php");
include($myincpath."/inc/inc.ClassEmailNotify.php");
include($myincpath."/inc/inc.ClassController.php");

/* Create a global user object */
if(!($g_config['dms_user'] = $dms->getUserByLogin($userlogin))) {
	echo "User with login '".$userlogin."' does not exists.";
	exit(1);
}

$dms->setUser($g_config['dms_user']);
/* $user must be set globally because the controller needs it */
$user = $g_config['dms_user'];

/* Check if import folder exists and is writable */
$dms_folder = $dms->getFolder($folderid);
if (!is_object($dms_folder)) {
	echo "Could not find specified folder".PHP_EOL;
	exit(1);
}

if ($dms_folder->getAccessMode($g_config['dms_user']) < M_READWRITE) {
	echo "Not sufficient access rights".PHP_EOL;
	exit(1);
}
$g_config['dms_folder'] = $dms_folder;

/* Check if all attributes exist {{{ */
$g_config['attrmap'] = array();
if($g_config['attributes']) {
	foreach($g_config['attributes'] as $tmp) {
		$hdr_attr = explode(':', $tmp, 2);
		if(count($hdr_attr) == 2) {
			if(in_array($hdr_attr[0], array('subject', 'toaddress', 'fromaddress', 'date', 'message_id'))) {
				if($attrdef = $dms->getAttributeDefinitionByName($hdr_attr[1])) {
					if($g_config['createsubfolder']) {
						$ot = $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all || $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_folder;
					} else {
						$ot = $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all || $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_document;
					}
					$t = $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_string;
					if($ot) {
						if($t) {
							$g_config['attrmap'][strtolower($hdr_attr[0])] = $attrdef;
						} else {
							echo "Attribute '".$hdr_attr[1]."' has incorrect type".PHP_EOL;
						}
					} else {
						echo "Attribute '".$hdr_attr[1]."' has incorrect object type".PHP_EOL;
					}
				} else {
					echo "Unknown attribute name '".$hdr_attr[1]."' in attribute mapping".PHP_EOL;
				}
			} else {
				echo "Unknown header field '".strtolower($hdr_attr[0])."' in attribute mapping".PHP_EOL;
			}
		}
	}
} /* }}} */

/* Create a global notifier object {{{ */
$notifier = new SeedDMS_NotificationService();

if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
	foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
		if(method_exists($notificationObj, 'preAddService')) {
			$notificationObj->preAddService($dms, $notifier);
		}
	}
}

if($settings->_enableEmail) {
	$notifier->addService(new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword));
}

if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
	foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
		if(method_exists($notificationObj, 'postAddService')) {
			$notificationObj->postAddService($dms, $notifier);
		}
	}
}
/* }}} */

function getpart($mbox,$mid,$p,$partno) { /* {{{ */
	// $partno = '1', '2', '2.1', '2.1.3', etc for multipart, 0 if simple
	global $g_config, $attachments;

	$htmlmsg = $plainmsg = '';
	if((!isset($g_config['inc_subtypes']) && !isset($g_config['exc_subtypes'])) || (!$g_config['inc_subtypes'] && !$g_config['exc_subtypes']) || in_array($p->subtype, $g_config['inc_subtypes']) || !in_array($p->subtype, $g_config['exc_subtypes'])) {
		// DECODE DATA
		$data = ($partno)?
			imap_fetchbody($mbox,$mid,$partno):  // multipart
			imap_body($mbox,$mid);  // simple
		// Any part may be encoded, even plain text messages, so check everything.
		if ($p->encoding==4)
			$data = quoted_printable_decode($data);
		elseif ($p->encoding==3)
			$data = base64_decode($data);

		// PARAMETERS
		// get all parameters, like charset, filenames of attachments, etc.
		$params = array();
		if (isset($p->parameters))
			foreach ($p->parameters as $x)
				$params[strtolower($x->attribute)] = $x->value;
		if (isset($p->dparameters))
			foreach ($p->dparameters as $x)
				$params[strtolower($x->attribute)] = $x->value;

		// ATTACHMENT
		// Any part with a filename is an attachment,
		// so an attached text file (type 0) is not mistaken as the message.
		if (isset($params['filename']) || isset($params['name'])) {
			// filename may be given as 'Filename' or 'Name' or both
			$filename = (!empty($params['filename'])) ? $params['filename'] : $params['name'];
			// filename may be encoded, so see imap_mime_header_decode()
			$attachments[] = array('filename'=>$filename, 'type'=>$p->subtype, 'data'=>$data);  // this is a problem if two files have same name
		}

		// TEXT
		if ($p->type==0 && $data) {
			// Messages may be split in different parts because of inline attachments,
			// so append parts together with blank row.
			if (strtolower($p->subtype)=='plain')
				$plainmsg .= trim($data) .PHP_EOL.PHP_EOL;
			else
				$htmlmsg .= $data ."<br><br>";
			$charset = $params['charset'];  // assume all parts are same charset
		}

		// EMBEDDED MESSAGE
		// Many bounce notifications embed the original message as type 2,
		// but AOL uses type 1 (multipart), which is not handled here.
		// There are no PHP functions to parse embedded messages,
		// so this just appends the raw source to the main message.
		elseif ($p->type==2 && $data) {
			$plainmsg .= $data.PHP_EOL.PHP_EOL;
		}
	}

	// SUBPART RECURSION
	if (isset($p->parts)) {
		foreach ($p->parts as $partno0=>$p2)
			getpart($mbox,$mid,$p2,$partno.'.'.($partno0+1));  // 1.2, 1.2.1, etc.
	}
} /* }}} */

/**
 * Convert a quoted printable and converts it into utf-8
 *
 * @param string $item
 * @return string recoded string in utf-8
 */
function rfc2047_decode($item) { /* {{{ */
	$text = '';
	$elements = imap_mime_header_decode($item);
	foreach ($elements as $element) {
		switch(strtoupper($element->charset)) {
		case 'DEFAULT':
		case 'UTF-8':
			$text .= $element->text;
			break;
		default:
			$text .= iconv($element->charset, 'UTF-8', $element->text);
		}
	}
	return $text;
} /* }}} */

function import_mail($mbox, $msgids) { /* {{{ */
	global $g_config;
	global $dms, $user;
	global $settings, $indexconf;
	global $attachments;

	$attachments = array();
	if($settings->_enableFullSearch) {
		$index = $indexconf['Indexer']::open($settings->_luceneDir);
		$indexconf['Indexer']::init($settings->_stopWordsFile);
	} else {
		$index = null;
		$indexconf = null;
	}


	echo "Processing ".count($msgids)." mails".PHP_EOL;
	foreach($msgids as $mid) {
		$header = imap_header($mbox, $mid);
		echo PHP_EOL;
		echo "Reading msg ".$header->message_id.PHP_EOL;
		echo " Subject: ".rfc2047_decode($header->subject).PHP_EOL;
		echo " From: ".rfc2047_decode($header->fromaddress).PHP_EOL;
		echo " To: ".rfc2047_decode($header->toaddress).PHP_EOL;
		echo " Date: ".$header->date.PHP_EOL;

		if($g_config['saveeml']) {
			if(!$g_config['dryrun']) {
				$f = $g_config['dms_folder'];
				if($f) {
					$headers = imap_fetchheader($mbox, $mid, FT_PREFETCHTEXT);
					$body = imap_body($mbox, $mid);
					$filetmp = tempnam(sys_get_temp_dir(), 'IMPMAIL');
					file_put_contents($filetmp, $headers . PHP_EOL . $body);

					$name = rfc2047_decode($header->subject);
					$from = rfc2047_decode($header->fromaddress);
					$reviewers = array();
					$approvers = array();
					$comment = '';
					$version_comment = '';
					$reqversion = 1;
					$expires = false;
					$keywords = '';
					$categories = array();
					$attributes = array();
					if($g_config['attrmap']) {
						foreach($g_config['attrmap'] as $hdrfield=>$attrdef) {
							$attributes[$attrdef->getID()] = rfc2047_decode($header->{$hdrfield});
						}
					}
					$finfo = finfo_open(FILEINFO_MIME_TYPE);
					$mimetype = finfo_file($finfo, $filetmp);
					$filetype = ".eml";

					$controller = Controller::factory('AddDocument', array('dms'=>$dms, 'user'=>$user));
					$controller->setParam('documentsource', 'script');
					$controller->setParam('folder', $f);
					$controller->setParam('index', $index);
					$controller->setParam('indexconf', $indexconf);
					$controller->setParam('name', $name);
					$controller->setParam('comment', $comment);
					$controller->setParam('expires', $expires);
					$controller->setParam('keywords', $keywords);
					$controller->setParam('categories', $categories);
					$controller->setParam('owner', $g_config['dms_user']);
					$controller->setParam('userfiletmp', $filetmp);
					$controller->setParam('userfilename', $name);
					$controller->setParam('filetype', $filetype);
					$controller->setParam('userfiletype', $mimetype);
					$minmax = $f->getDocumentsMinMax();
					if($settings->_defaultDocPosition == 'start')
						$controller->setParam('sequence', $minmax['min'] - 1);
					else
						$controller->setParam('sequence', $minmax['max'] + 1);
					$controller->setParam('reviewers', $reviewers);
					$controller->setParam('approvers', $approvers);
					$controller->setParam('reqversion', $reqversion);
					$controller->setParam('versioncomment', $version_comment);
					$controller->setParam('attributes', $attributes);
					$controller->setParam('attributesversion', array());
					$controller->setParam('workflow', null);
					$controller->setParam('notificationgroups', array());
					$controller->setParam('notificationusers', array());
					$controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText);
					$controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs);
					if(!$document = $controller->run()) {
						echo "(could not be added, ".$controller->getErrorMsg().")";
					} else {
						echo "(added)";
						if(!$g_config['dryrun'] && $g_config['deletemails'])
							imap_delete($mbox, $mid);
					}
					if($g_config['inform_sender']) {
						
					}
				}
			}
		} else {
			$from = rfc2047_decode($header->fromaddress);
			$attachments = array();
	//			print_r($header);
			$s = imap_fetchstructure($mbox,$mid);
	//			print_r($s);
			if($s) {
				if (!isset($s->parts))  // simple
					getpart($mbox,$mid,$s,0);  // pass 0 as part-number
				else {  // multipart: cycle through each part
					foreach ($s->parts as $partno0=>$p)
						getpart($mbox,$mid,$p,$partno0+1);
				}
				if($attachments) {
					echo " Attachments:".PHP_EOL;
					$sequence = 1;
					$f = null;
					if(!$g_config['dryrun']) {
						if($g_config['createsubfolder']) {
							$attributes = array();
							if($g_config['attrmap']) {
								foreach($g_config['attrmap'] as $hdrfield=>$attrdef) {
									$attributes[$attrdef->getID()] = rfc2047_decode($header->{$hdrfield});
								}
							}
							$f = $g_config['dms_folder']->addSubFolder(rfc2047_decode($header->subject), '', $g_config['dms_user'], 0, $attributes);

						} else {
							$f = $g_config['dms_folder'];
						}
					} else {
						$f = true; // fake $f, to list at least the attachments
					}
					if($f) {
						$controller = Controller::factory('AddDocument', array('dms'=>$dms, 'user'=>$user));
						foreach($attachments as $attachment) {
							echo "  ".$attachment['type'].": ".rfc2047_decode($attachment['filename'])." ";

							if(!$g_config['dryrun']) {
								$name = rfc2047_decode($attachment['filename']);
								$filetmp = tempnam(sys_get_temp_dir(), 'IMPMAIL');
								file_put_contents($filetmp, $attachment['data']);

								$reviewers = array();
								$approvers = array();
								$comment = '';
								$version_comment = '';
								$reqversion = 1;
								$expires = false;
								$keywords = '';
								$categories = array();
								$attributes = array();
								if(!$g_config['createsubfolder']) {
									if($g_config['attrmap']) {
										foreach($g_config['attrmap'] as $hdrfield=>$attrdef) {
											$attributes[$attrdef->getID()] = rfc2047_decode($header->{$hdrfield});
										}
									}
								}

								$finfo = finfo_open(FILEINFO_MIME_TYPE);
								$mimetype = finfo_file($finfo, $filetmp);
								echo "(".$mimetype.") ";
								$lastDotIndex = strrpos($name, ".");
								if (is_bool($lastDotIndex) && !$lastDotIndex) $filetype = ".";
								else $filetype = substr($name, $lastDotIndex);

								$controller->setParam('documentsource', 'script');
								$controller->setParam('folder', $f);
								$controller->setParam('index', $index);
								$controller->setParam('indexconf', $indexconf);
								$controller->setParam('name', $name);
								$controller->setParam('comment', $comment);
								$controller->setParam('expires', $expires);
								$controller->setParam('keywords', $keywords);
								$controller->setParam('categories', $categories);
								$controller->setParam('owner', $g_config['dms_user']);
								$controller->setParam('userfiletmp', $filetmp);
								$controller->setParam('userfilename', $name);
								$controller->setParam('filetype', $filetype);
								$controller->setParam('userfiletype', $mimetype);
								$minmax = $f->getDocumentsMinMax();
								if($settings->_defaultDocPosition == 'start')
									$controller->setParam('sequence', $minmax['min'] - 1);
								else
									$controller->setParam('sequence', $minmax['max'] + 1);
								$controller->setParam('reviewers', $reviewers);
								$controller->setParam('approvers', $approvers);
								$controller->setParam('reqversion', $reqversion);
								$controller->setParam('versioncomment', $version_comment);
								$controller->setParam('attributes', $attributes);
								$controller->setParam('attributesversion', array());
								$controller->setParam('workflow', null);
								$controller->setParam('notificationgroups', array());
								$controller->setParam('notificationusers', array());
								$controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText);
								$controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs);
								if(!$document = $controller->run()) {
									echo "(could not be added, ".$controller->getErrorMsg().")";
									$infosubject = $settings->_siteName.": Importing mail attachment failed";
									$infobody = "Attachment ".rfc2047_decode($attachment['filename'])." (".$mimetype.", ".$attachment['type'].") could not be imported.".PHP_EOL.$controller->getErrorMsg();
								} else {
									echo "(added)";
									$infosubject = $settings->_siteName.": Importing mail attachment succeded";
									$infobody = "Attachment ".rfc2047_decode($attachment['filename'])." (".$mimetype.", ".$attachment['type'].") imported.";
									$infobody .= PHP_EOL.PHP_EOL;
									$infobody .= $g_config['base_url'].'/'.$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
								}
								if($g_config['inform_sender']) {
									mail($from, $infosubject, $infobody);
								}
								$sequence++;
							}
							echo PHP_EOL;
						}
					}
					if(!$g_config['dryrun'] && $g_config['deletemails'])
						imap_delete($mbox, $mid);
				}
			}
		}
	}
} /* }}} */

/*
$host = 'mail.mmk-hagen.de';
$port = '993';
$ssl = 'ssl/novalidate-cert';
$folder = $g_config['imapfolder'];
$urn = "{"."$host:$port/imap/$ssl"."}$folder";
*/

//echo $urn;
$options = 0;
if($g_config['dryrun'])
	$options = OP_READONLY;
$mbox = imap_open($g_config['imap-urn'], $g_config['imap-user'], $g_config['imap-password'], $options);
if(!$mbox) {
	echo "Error opening Mailbox".PHP_EOL;
	exit;
}
$msgids = array();
switch($g_config['mode']) {
case 'today':
	$msgids = imap_search($mbox, 'ON '.date('d-M-Y'));
	break;
case 'unseen':
	$msgids = imap_search($mbox, 'UNSEEN');
	break;
case 'new':
	$msgids = imap_search($mbox, 'NEW');
	break;
default:
	if(substr($g_config['mode'], 0, 6) == 'since:') {
		$tmp = explode(':', $g_config['mode'], 2);
		if($tt = strtotime($tmp[1])) {
			$msgids = imap_search($mbox, 'SINCE '.date('d-M-Y', $tt));
		}
	} elseif(substr($g_config['mode'], 0, 3) == 'on:') {
		$tmp = explode(':', $g_config['mode'], 2);
		if($tt = strtotime($tmp[1])) {
			$msgids = imap_search($mbox, 'ON '.date('d-M-Y', $tt));
		}
	} elseif(substr($g_config['mode'], 0, 7) == 'before:') {
		$tmp = explode(':', $g_config['mode'], 2);
		if($tt = strtotime($tmp[1])) {
			$msgids = imap_search($mbox, 'BEFORE '.date('d-M-Y', $tt));
		}
	} else {
		$msgids = imap_search($mbox, 'ALL');
	}
}
if($msgids) {
	import_mail($mbox, $msgids);
	imap_expunge($mbox);
}
imap_close($mbox);