From 6a406e575a6fbfb7fe1c98e7a324ff9a364e30fa Mon Sep 17 00:00:00 2001 From: Uma <uma.s@vtiger.com> Date: Thu, 29 Oct 2020 13:52:13 +0530 Subject: [PATCH] Fixes #1511 Portal Download files results on zero length file --- packages/vtiger/optional/CustomerPortal.zip | Bin 75831 -> 77576 bytes .../CustomerPortal/apis/DownloadFile.php | 35 +++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/packages/vtiger/optional/CustomerPortal.zip b/packages/vtiger/optional/CustomerPortal.zip index d81610c26a208ca3563d9e7fb607064b57d7700a..ac46c5b1c6d6793ca69c6ae251469ddaa1b45765 100644 GIT binary patch delta 13242 zcmb`M2|QJ6_s93vF=w8`G3JDj28on8L!p6EBxOh$Lqv5t4Vt{6Q+Btak}jI$s`M63 zD5=os-X!%GZgXyORfhL@_OaPV#~JkBeG(t7?^(}U>v{HieygO8vf~9M*vowsMG?Ut z->Gw1->|+)AlgWHU}R`~U}$ixnfC%IMAWirRlu{*g8^@pv4HqQNd%?9|B8PZo+FEB zX9Ox(kJMZZ(Z;BwQ4PKTVu%=mkk(NvgCNG>^LtG-`ak~_C-;jTQ6mw$sMzdjK@J8Y z2m;N9Uyv9cm~~O{alaB4NfKr4R1jaj7Ko>Yv_SZ?0;0{76;mFuy#|P|tt_f(Gx8jR z7(>K(J`qFHv``vBocj@2fDEe1JzLY|JSoPaVtzT##<+vxgVwBU4dpIZMv%$<T$*cS zP;jDYTy*%rGC9{msJO2vpnJ50zxNhJ5Xj(6FH=GgYr^YyGN?Rvue+7xL;&}5u*fwj zP-D<~_!^tS;#%^R)S=6+*)<SO3+8<d1@3-zX-KJo+F$cm<|A=61cAoG`vq%1A}T08 z{Fjad6%xfEJ~l3jc_cw%gtfC$2tjnf4#-GQ#mp4Y(cBlC>R^U~Bw$xkgpE-IfySJZ zt1g8ghW%Jjk<z-R(JP~QR8EoQdsvqhMx~6uL0v)wXZQ*58!8T0$7<wJ5$-;>+c*jX z><-iNakjz;0*!}H5ZKHh6#VYxp_SvTil3K&z~jKIPf&oHWcy2{g)(51Ks(M$)gFx? zMz~K@rfIzl_mz6rZ-N0d#}cyFg8)KX&eSU)4yLS?G7Hlcxl<d`_Xz>&>c^8r(m}qV zEobT{Nfs4NHRn!rOErOh&Of@2W(fR*c7w!{2>*fiXu1l5j0b+AsZ{3a({gn15}K5B zFo5_w<Q>|wsL`{*MV2lt-&a0)*Q)I)TMyUSoLBKOrTBZ8L>qp1v*1`&k;)&m+iMf* z>z?oI>j}BmEoc4Gr_`T%y|bo1Dr9X)D1F)-pF6!TULr3vO1q-yGSV-ToUW(o+3DWU zxhhOA%F&1nbGg2Pl6blMP?wNnswCy3aGBm{gD*1C`%N9*mM6bu?ojBOt(q4@Dev{# z8Q&0cqH%*Lz0&Y>nUrJECdHkxny(Le%A=F*)t|b$lvU9_+g7?2OwyfbZKhUsJVWKC zzO<NE@5PmM!S=dcs(JTn)k5Ty6yMZV*@!n&4CzWYPwMOC7g`oBH;|PSJtF6sj%2Ez za`_%4Pg4&H5Raxc$~Rk%4m4e8c~6}7KAV#Cs%1sOgg=`an!Y%s#U9A@t5|(Aw{htu z%iUTz6FN7?epr?o?sZHp;J$M6Se1L_FMExhE<`@6!p`Xg7I|7GtX|amdbQi7P128K z{O>fZYNT&#m*4PL`{owwZ!g;C-<ohtSv6cl@9(NjTG`L#%$=3~eXX!@?UjT3<gzO! zZgG~)*luOrmSP{{LQRs4blqlt{E6%IZxPBaS+^WdJdJ<9>-ZD5vW@pPTg|(&H{)!x zwv_9BFM4g&`CT&BJ9eMSbP`&3VOtmTs1E%{=9)PtHCxB1(=RKBeJm+g@Tk~Vbl|_` z&BvRmmbZjvzumMZN^QCP;%z3*j@7zVm%g^m`miuU#+SCdIppj;Z=({-ZjbZJ!^r_z zsm{Bj=Ug|u?c_bKYZt}ow`mUUrx$e}T|U#h5}98Y5pY+6aZi5R=`lN%9)7&>IkAgb z`Dj%})Pg^;Sv`GnE<5Pr-V+UrSDwwW?hM{FKh8t*p{BFHp?%%AWA~~nCl|SknCue{ zj+~g<mb@al(z&#xOmFtaWghpZ?A}wE9OZiRaDif8Wal33Csd=P6lcjaa~X$7g=?Zp z4oAM;@1B*F)3@KD)2~7z<=_UiFrXncamu{pW%7mfe-tR~{jzh;{Buq8yOV<(LT+Cz zy7jKd^Msq9cUIii|GZ+DO_*JLv+a4@lF9i-woXsY$`6%V1ziv|&#K&bd0YM#rIZLS z`yb66J#lN!96b4_KBcA&)0!Q%SbN;fz_l^vS>>OwV#yzkq4PA9)Gw8ed(inLU`(pf zz76Z`nMDO3x_iDg#LW=aL!I*`(63sasumX;<F@%h*bo1ub-BjpwrgbTOJJv7eZBsg zR=LS~mPftw3Ffg2>vwHr?0x9v67Yqp@%3oLn`dfyHD@M^Pq-U#?Qlhyey(yuXsXDV z?!eObs%FXdiM?)>LORO+_gw>}re?IKbUqXF$jW&Wze7?&^3vV(_?pLvg}u_sJbF-W z@ixQuidE|SyPxhZo$@B|MxcIr+Sq8}ogxeWk`rnA__*#Gttd1l`0pvpTNuuJPi!^l z&4}|*DCl^)!DrD&^I4hIw5e5@W!3kk-kY3Uxh#I^+<@nMTP-GwsZoo{H~)jYTVbng zTqJ$u-^=YKZXZIGVr0^qck6m&`Sx_?G}h8TPrX0U)woUZP=v*o?@N*nRyTKOg)uk8 z8M}>X>r<1XQsul3ys&M$+g15sV@%{4t)6r-r7ZOg@--{`#s`gE<9jqV>z@c(L5G)z zQPbMJ&mQ<>nAv!2oUt_BrS*U@7QAKYqJv}d5+oZ9XHL5(d1vK$HT&Xs7ndY_h{<Ix zti5bb&%Ja|(=pe}*j3BdYx2e4<kml(vY76dU-)*P<?c)A^S>4z@;$mF-)2&9UFr6i z-;HatHBat~Z<`ifLMfNf99>snx%79-r6*0+s2AIpAZ8Ls%ir$E{vZGBe%r#xT+%-G z#vfL@uW2+s?x>P@;<KdmTXxS?hvmm6OqJXIp(1sWPb9tMhlBU!Rjw=4sU>@atX~%> z|5fGW>C^6?Vo@;rR^6>i>n&e3g{_*y7HmC5t2LV8fA<f)`ehUDtleT%{e9P6$@2fp z9!KjvJ8x+~t5M74?DurPy>lL%(Omk0a`e{BYy<H<&nU5{reAF>KlNh9g-OT!9@ZO< zT6g2w=24a<DywxxZ0Irh##PsizP3EqF*C5)ziwBUS7~~~l;0PaHl4e;y*=yd!t(9q z%uVATS(n&2g-#sP$cXwVuRRwN|GZCP()jpQnXj*Zd-FDYy^TrQ0j<0wp$m2E9sIs^ zhFr2S*sMmeUR4%pm0xt+N~cUUT*2>ovC&zh+^)8nUhbk|F5}x`+(q;d1iq05-&N$h zQl~6}nDoC>y>9bp8k2AP!=5Dg;=YHz;C%{hIaB9>_oF$W+U4jn<Fk0Q$VakzVRsgH zew6rk(49eB&eSgOn@KDxRz^id4IP8y0>i>%`DoHaj%vehKygWJm<H$uAc^y5JRLRQ zIs6PBt}7Q`#T(0<f{4q&b!f~PYo&>|1el#FYR0|GXpUrx0Z->o7dxK@uC>sRGm-%^ zFrhyhqAI8ycdYbsIt;)fs{QC>5CCY*8LJB#P0+kxb9H!m`lU7u_Co>f&i@93ctS(Y z$i<*ng#8ex1}t42mE!K{17;rdv=v?5eH?fSjX7gyf%2P(W5+VbrO0xpdZlE-(v9;| zEZqy%4sAJ8vq8|o#TGa_j-T$|oo+h{a2Fd?S5F7oht{0A7T}h}3IdM;*pV{>-WVIh zD#NV6jS<>$CjJH*P;g@ep6X*3S}2cxc;*Fjn63TOQKkvV7BuFJl>-51?J|9gu7V0P zYd7=ASjXlLn6bk$A&H+s#vp(*`Y^avlh8aiS7#6f-ZqkzL}>^>LSxR@Ng(L(UhpcP zM+a|I;0lv<u36H@2_y^JaV8dvvra|394e-+&Fd71F3*Qp+9!r^F2F)#&e$4x+)*q> z8Rg-r?_y85c9Ue=Bko}B(2z4y8GN8VSUb4=G0!zgaNh(Eo5JC7wJGn>{gvRjg0`Hg zGeF_dSX9G#!7=f{v2lDHvJ1nFU>%6x@vk%hbpRop@jl=;<NBSJy)Vt(=_>CfkXl*x zAC-lG3T-)4TeOHvrzUn%3*~Vj)cw~+9AMA>cBpt7NEkHcjJ*uv&$`Qk2xp35HM%H| zFi&~z0P8{RpIJ9&f)GOhXS5|qEAjF@m&xPh+mPuG&xPvNiMM<~44^G%sv0=o;JFA& z0(+^0s&Wr+#ba|A-n4YjbQ2I>Xw1TL5*@X0tSU3jO?*0E((q8JAsKki3Z^RNsf0>k z$%?2XcL$AKa0h#hG8~|TkidD}urlDu4K*RaR_2c7yR5Q7MBsZCV8Ob@n4V5N5|!jM z7e=(uMJs;}a2VQicG!SMYy(K<LA~sDMgmYVGi~7l2?T+*oT)!RHS6|=Axn?f+cxu6 zE_C**>^Z-qz*%U_8S4QmnNZxWEAdj?k`|3cfxKw)-gl1<IBB3U3(Kjh#1U;IHaIRW zEHd<0v~@W$CU8ZZeOOc^zr3M!+5`41oI$vbMK!qB(YMdVLSUulis<q}5I|@+{7S)8 zWN@WGQ4J0sse@_b5o8QOn*;;bkDG(*w0xY_DlIOOAoC$x?w2`&W&i?*cN|U|Y<u{d zHVlnr47hwifzq}|5i_Lm+U^xS9k5YjY}2~(8SETrJiJ?){n!~4bfil19R*hN0KEek z?n8)@SPJ?K&WwtuS=m1Y=MA(T-aQ#2K`=jS!-5k=n(a=IAoT$lv#U#mdr{K9^};uh zriumgJJ@>AoaN=v+++i>RTTtLwnLpe(V>G$@evi998s5=2HHnx$C>yEY=Y6i)ri2z zun^ccBu4O>z09&mgolMl`Sh1@C=gZw!OI;LQXDn>h!Q_Wz?VKd_?;jF%VD_iqu}l& zo<2Jl1OXFFS6&m$VR(Q8&JThH{LI8OMx#`B{%}N^$fHT{Y8%8cJ^=4}O`)_5$Fm$~ zTHK=uXF9~wXO{|&t?)p8r<((7rnAjmAx@GF`;dgi$DRBwANT9$c_-m6h^9Jd-GRSM zMKO7|ku$-mL}G@EVKZe>>g<7e&#*)9f%X5ie6}Rn-NK0`d=rVZlV_Y@LOSRp!%Q6d zXo8PRiG}k>J^>|<Ho<t51eKP?q27GXN(bwTK$EANU^YrZw<xjvg@aOJEAj9bw;qyw zaLpZr+9hK%WKk;u$0JLGkK{=wdrUt<oFyEY{=aRf-4=)d1Ji+W()p>L;LMbG`s^N9 zU~*chn!xo$9(;lxjsPNk41=jS5uc$7SWo1ECzzR%pw}%~P&h&L;@ye-Tu<boCzzO$ z&{{JfS_7Y-^64*bJ*1x4H~w7*2<3m{6D38SgR*UW##l$3h}Eg0a(uc;K*?iJa8n|! z{fs*fWt!B>3dkf6L4i<0VjlBiF~K-hKqh$%%FaA9pT(r63c`c~RF+=NlB<DMM)Gss zA{O)1Y5cq=Myc@MA>&k{b0FeL7OTNso5WNJU@?L0E#TV8QZ<mdNz8Xakf{enZvmNP zX&Pu`BxX=3&cr3}g?vliKkq7xq*AkcjjkH_1VP;<>(uNivkGU0;%cOnfT19Z)Zpe# z3WY;F%TcIz3kW64)a;H<Ph>e-Q!A*WWR04gslI{bD3rSebd)Sn0~v?3ddp1^I+jUG z5p?lnd7AyCa!bLP3syv}2^z^!O_r(IL(sPqCwoIOA0wKd>y<23vo!#W;&h0fCSYL6 z`ZW6vTd^N^bwKVG5KLC6*};zw41fjQSY(l!{e1O43ZZ&fy(TInpr>Ssn*A_T&V^7d zT<sPRN*1ZvJ)M%zf~F~>f*!GCjT-3Nq+QTm2%%J{b_?hzS(pauHi`MP2xt26t#$ug ztz>-~Xxk)s3?>UA%LGEVfc}!TY4%oNMhWgOE^`YAC9Bfx&`;O<1KTfh3kW6))9khN zdj$a&v<k?oH2YbYbe9zYC~))XD4vobjUW)T2Qy_ytAS88C~v#-l($)3JJDv4<!Sb? zZe>9S<!(ORCCKE$Vn4eLAK>odVz+=$vN+BDiv9M8hygBj3&<tQ)9kyT;wixuv<S%B zG!V82^TlX>#R>qFxdn8TtW2|CiN3sML7~X~3l~BtY7<YN-Ii8lQ26CvV9*7GAr%W% zZsO^)t8T^G^-(2a@qFHe$znB|O2trXgFFRn$yik47Z%U1q?x@XEuL@H8#TlgKw=w^ zb!sSl6Hgyw!&@vve^6Q*fxH0JZ2||hCBsexYTW`#b!5Ss?Rv>b!g(z1n}CkMNuYI; zoP693ox~+;i8=fh6cJ0Zdd>dEHtQL{YW_n0q3}&SeRd2AI#~St%HXJwArycKm&sB# zRKkg;k5NNGneANz$|{e@5<Iey4Fqrk2P6@5aTLnoe6F70k;UuLY&-*LQ~)s?HWtEQ Uuz<)QPT)^36+t>=Q1J8r0CDIr`~Uy| delta 11490 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 F{tu4A#*qL3 diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php index c8260dda8..110b61412 100644 --- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php +++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php @@ -63,18 +63,22 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract { $fileres = $adb->pquery($fileidQuery, array($id)); $fileid = $adb->query_result($fileres, 0, 'attachmentsid'); - $filepathQuery = 'SELECT path,name FROM vtiger_attachments WHERE attachmentsid = ?'; - $fileres = $adb->pquery($filepathQuery, array($fileid)); - $filepath = $adb->query_result($fileres, 0, 'path'); - $filename = $adb->query_result($fileres, 0, 'name'); - $filename = decode_html($filename); + $filepathQuery = 'SELECT path,name,storedname FROM vtiger_attachments WHERE attachmentsid = ?'; + $fileres = $adb->pquery($filepathQuery, array($fileid)); + $filepath = $adb->query_result($fileres, 0, 'path'); + if($adb->query_result($fileres, 0, 'storedname')) { + $filename = $adb->query_result($fileres, 0, 'storedname'); + } else { + $filename = $adb->query_result($fileres, 0, 'name'); + } + $realfilename = decode_html($adb->query_result($fileres, 0, 'name')); - $saved_filename = $fileid."_".$filename; - $filenamewithpath = $filepath.$saved_filename; - $filesize = filesize($filenamewithpath); - $fileDetails = array(); - $fileDetails['fileid'] = $fileid; - $fileDetails['filename'] = $filename; + $saved_filename = $fileid."_".$filename; + $filenamewithpath = $filepath.$saved_filename; + $filesize = filesize($filenamewithpath); + $fileDetails = array(); + $fileDetails['fileid'] = $fileid; + $fileDetails['filename'] = $realfilename; $fileDetails['filetype'] = $filetype; $fileDetails['filesize'] = $filesize; $fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath)); @@ -86,8 +90,13 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract { //construct path for attachment and get file size and type details $attachmentDetails = $rawAttachmentDetails[0]; $fileid = $attachmentDetails['attachmentsid']; - $filename = $attachmentDetails['name']; + $filename = $attachmentDetails['storedname']; + if(empty($filename)){ + $filename = $attachmentDetails['name']; + } $filepath = $attachmentDetails['path']; + $realfilename = decode_html($attachmentDetails['name']); + $saved_filename = $fileid."_".$filename; $filenamewithpath = $filepath.$saved_filename; $filesize = filesize($filenamewithpath); @@ -96,7 +105,7 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract { //Construct array with all attachment details $fileDetails = array(); $fileDetails['fileid'] = $fileid; - $fileDetails['filename'] = $filename; + $fileDetails['filename'] = $realfilename; $fileDetails['filetype'] = $filetype; $fileDetails['filesize'] = $filesize; $fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath)); -- GitLab