From 21250b98d569072c86ca5c2143ffb463ab3fe22e Mon Sep 17 00:00:00 2001
From: Uma <uma.s@vtiger.com>
Date: Fri, 30 Oct 2020 21:11:33 +0530
Subject: [PATCH] Fixes #1525 Quotes failing to email attached pdf documents

---
 modules/Emails/models/Record.php              |  26 ++++++++++++++----
 packages/vtiger/optional/ModComments.zip      | Bin 37857 -> 38815 bytes
 .../modules/ModComments/models/Record.php     |  23 ++++++++++++----
 3 files changed, 38 insertions(+), 11 deletions(-)

diff --git a/modules/Emails/models/Record.php b/modules/Emails/models/Record.php
index 11fe808dd..2f390883b 100644
--- a/modules/Emails/models/Record.php
+++ b/modules/Emails/models/Record.php
@@ -46,6 +46,8 @@ class Emails_Record_Model extends Vtiger_Record_Model {
 	 * Function sends mail
 	 */
 	public function send($addToQueue = false) {
+            global $log;
+            $log->fatal('sending out email here');
 		$currentUserModel = Users_Record_Model::getCurrentUserModel();
 		$rootDirectory = vglobal('root_directory');
 
@@ -182,7 +184,7 @@ class Emails_Record_Model extends Vtiger_Record_Model {
             //Adding attachments to mail
             if(is_array($attachments)) {
                 foreach($attachments as $attachment) {
-                    $fileNameWithPath = $rootDirectory.$attachment['path'].$attachment['fileid']."_".$attachment['storedname'];
+                    $fileNameWithPath = $rootDirectory.$attachment['filenamewithpath'];
                     if(is_file($fileNameWithPath)) {
                         $mailer->AddAttachment($fileNameWithPath, $attachment['attachment']);
                     }
@@ -277,12 +279,24 @@ class Emails_Record_Model extends Vtiger_Record_Model {
 		$attachmentsList = array();
 		if($numOfRows) {
 			for($i=0; $i<$numOfRows; $i++) {
-				$attachmentsList[$i]['fileid'] = $db->query_result($attachmentRes, $i, 'attachmentsid');
-				$attachmentsList[$i]['attachment'] = decode_html($db->query_result($attachmentRes, $i, 'name'));
-                $attachmentsList[$i]['storedname'] = decode_html($db->query_result($attachmentRes, $i, 'storedname'));
-				$path = $db->query_result($attachmentRes, $i, 'path');
+                                $attachmentId = $db->query_result($attachmentRes, $i, 'attachmentsid');
+                                $rawFileName = $db->query_result($attachmentRes, $i, 'name');
+                                $storedName = $db->query_result($attachmentRes, $i, 'storedname');
+                                $path = $db->query_result($attachmentRes, $i, 'path');
+                                if($storedName) { 
+                                    $filename = $storedName;
+                                } else {
+                                    $filename = $rawFileName;
+                                }
+                                $attachmentsList[$i]['attachment'] = decode_html($rawFileName);
+                                $attachmentsList[$i]['fileid'] = $attachmentId;
+                                $attachmentsList[$i]['storedname'] = decode_html($storedName);
 				$attachmentsList[$i]['path'] = $path;
-				$attachmentsList[$i]['size'] = filesize($path.$attachmentsList[$i]['fileid'].'_'.$attachmentsList[$i]['storedname']);
+                                $saved_filename = $attachmentId."_".$filename;
+                                $filenamewithpath = $path.$saved_filename;
+                                $filesize = filesize($filenamewithpath);
+                                $attachmentsList[$i]['filenamewithpath'] = $filenamewithpath;
+				$attachmentsList[$i]['size'] = $filesize;
 				$attachmentsList[$i]['type'] = $db->query_result($attachmentRes, $i, 'type');
 				$attachmentsList[$i]['cid'] = $db->query_result($attachmentRes, $i, 'cid');
 			}
diff --git a/packages/vtiger/optional/ModComments.zip b/packages/vtiger/optional/ModComments.zip
index a1e37d05c84937d116fe22278de9d221f6e0ab05..bba05805eec71b34c2cd9dbd062a9fda1ef45be7 100644
GIT binary patch
delta 9869
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

delta 8966
zcmbW62RPO5`^P`W$QH6!_Ku85ooq5P5@m#JGBZM{W3SAPog|zhA|yK_vXV-r!q=u@
zlMwlTK2GHvQT{)!i^Fw2uh0Fw@B2CD{oMDhLY%?7I0zjLTs&d``dTO$(%E?N^9M1&
z3^<xQ+j^SYTDyzr>k$FCfy6&dX-_ejd3uuoFuaer0I>06ld-ggL4n1vb~f|;Ns9bQ
z650ku4F*66K&TRK+w|8k09XT`v>#wbUJT=)2gCTa7;A0O>^m4@r@atv#Np%O>G8kr
zgam_dQ3@@`A8~MQ)#LjXJ@$c{5XGaG-cU2{UuxoKEMR2>l0X!X4ZZrpJsPtea)B0b
z6?`@^S=Y&AQUJh}1^{vNYUFAJEhJ+6c26%!B~Bw{!o@=qpy$`p=;hqN2Y^=aU&0#%
zQE2tHPcONOcMD(P*Xn8T`Dz}f##iwGK!XVYNI?ai%$@CRtld3?y`3C4G`O^F6u5x_
zcqV_#rIU-5r{n)zmDJ!q1{G+~I{uNwtvTG91t#=rq=+t&)J{qO0CXnMDnd2ziq!ya
z4eIce1ORw{uP3;UB!|S@wh&4VpRvdLoeBs-_cHFz40sx>KoAB58Ke6bN`>wM42vQh
zF6xs7QqF^CihnZ{WcYQ8onv9szl%-rKAI!L1C~VxIRJ2DP(B)y?o6RLD}ety7D!gU
zo?(VHG5}DJ+Co8+B6gOxkIBKkr+l{LtDsI4Pd1g|MVa1bnp8(UtxzYM3y}#P&b|d9
zJnZ4eB3@I*vXmyR|7QYM1vtLW^p$q41Rj80Ynrm?_v^1Qdqx|Tl~ic@<A*HS-1SJC
z_#neJ`!<GFo}f+(6&}O|1+~~y4T*c#GuV0Ifkf)8K5&%uCo+-Njyd*lMK{V&3F~;@
z+tSxc;;W}vIZxN-@}y3djWj!|jnzkFGw^Eo9Vp8%Q>+}|(((^l<_Hgz$R6Pz6EC`<
za67m9`LKQ39->dyl-#116;E6$pp)P(doQ;48h)U}m}uRtuH&gz2oivL^}eO9cV+nu
zPrLNN2G!&)zpgNN{(>Z5tmz|z`p*o!R|}mAj%rYeH4>?W#J^mPQ#t(O_$u=ux&4iU
zCN?KUZge)iC$mo;r6hleHx|ukPIb^GAd<Vqz|U`D@ENDdV?x%63dA8sg7PNV#O#HX
z5M7Q_#67OJMR3@|IfD>~&oc{Ui=Ck6Qy}N4CG#dHkB(O99`7C@BeIoPO@Viu=9~4Q
z<rfl)b_EgwPm+@u9duPN%Ha;Z>(}~C=v?6%t=~|%_BhGoIauWZsUt1?W@EXfx`7A>
zJ*`5{A8!rDLx`MRIg4VVLhlcMq6pG&IV(z4krrp2o?!@MVM{rT2!E)T0<4#O80|aI
zIqY#so&17)P5I?8h5ZZT@Yy^&{BrlUz{AT_UA(Z@Urm9@g`kdNUXozmR<nM=u*|(`
zv_Dp#hz-XtJN2Sa%wg`15$uQf_h!;qv-_bI!qd#m(rpK+<b9<Hn8lJw=iml|vG8%(
z+`!Y`A1pL<@(g2D5JW8@LdzqUW6fg;*a@VRXr<}T3G@=57YzMMlq_cc>S*22TdwwT
z7{UA$O?>D6rw^WRb}T2~F{g!%S#*-m%0vl^kbgguRd4sAHki}-D(e;a>SKOFy0a|l
zJcbnP$+aP-^2e-R5?ga+$SbV{5t}0nq5?kYAH4fGlucKcAlnboTpM~<^x)8b2T$5i
zOTHwOamylCV#GtB;u(?I0Y3ZDh8BW2l*M8FLWBMF+MM>b_8#fSP%Xpb><@BI!mc3M
z%pZ2)gao>VkS1ge<*OUNx%R<{eJ^e^t-Dkd*@65<E*sHg)eallf|${AmzTUr37n%t
z3d=%$;*vTm1V~XPgod5_%G8pnJhLCIPMwP;($C*Zm2)K_Ese@j<$msedX`El_}VL~
zv2Uoxo@<ytt3u?lcb8Wonfm*E_E1f;zNE*k%9m2+r%d*UFY&&5loC&ioE%;pe!V&D
z)TLf2BB$v9`m+&oW8wb7Bf8V_HHk#WL~(|%$>n?xKkeE(7>s!RU|*qeDjCcxJo2fV
z_tDON#-?c(Eo!5z3Sm>W^$(fs)(wh0^?1xIK5I7zzcyytuM!%@s@{F21~(b=my^#*
zwypR?o*X7{9X}p5N-<&;rSTxfQukh__4FO$YbDo-C+G#%DplE5mQ3k{E?KZR2zC_k
zO36Q`6n<7$`(9-U@kp+_8Ll#tp2!$LPR&Pd){bj`OyRj#z-p8`u_$}?)e;9z`+&S=
zU`j_k+@30G)UA=@I5K(mI3a4-XU6jx`)zf*Bf%qIgM7V&*zTw;0uDx$H}TqoVrI+h
zLe(bi%+Ki_X1CJRNR3|gl4YrJ`7V2`=KOarglrAM=YvdyKjNXysn|PqC-+cjhZV-y
zo~XsqB=!CHg#I1gCHPGiwK|L57`a@|Bk8j~Lv-1|L2ne}V`3%RPhl690oAo*$qyt&
z7|wgOT)2C2{dp=|Pqs$2bJ>^oiz<9M9Bz3AO-^h%^T~xz-E1AYObjHY|GQ;kSr)~7
zWHm!p$EaYfh9`>zAvv5=aARCcJ=8R%)%?25-a89C1L6t7kMw#w+yo;9WYx0v3ZC4b
z<8i<y>73oM6p5F<LHr>st-L;x1hm6kujP~%O`TCzy~Ih8w(hA_hS`j#4Jlb2;wbOs
zDl{eBO;moSrf)w#Mpk@NEE+WyN;CEqpVm52l(?ydhcqo9+aDo1%_NzVE7q+jnPH)0
zAF|?mZ}2}x0mph-;-y&}?e;JHsYOQk)&|+9xLGT7u063v#V#YF<2V*+R18s47x8V2
z&escQ3Nc7ho8o1B;7iR7NXMgR8(p@P%{YN8bWAjGv<mi7hVNDGTYNzyXE~h^?RPO%
zk8JsGE0LzlTl0QGh^fVEs_b?3kdkQW#ASu!MH(H+ccfHjow=4-?tK_;vRa(I-1g1+
zJKfrUs-^r-RZRP?ynmTxE|XMH)IJuw{sJC-WX`u6(9;NNb~h?we$hNI-YBtrxcYJa
zyE7cDXHC9_judtW<{c6mS-BT+w#vk{__4HagEQWb)yY$ccf5$Hh;JhkpP7fW6pC`)
z6{6YO@+M5$9-Dac#Gk87i<zGYUsf+R`eJ-A2PG5)Pn;)Yu3xtEo`B`_`oFZwR5xAy
z$n+#LQ#z@=m{<Dted6(NFI`I(aci0~Pk-VTl`tx!5jZ<+e}&SUbB5nT08e!^pMQ`G
zW_blC-B|m5@IWdzqR2_cxG>bQ!(g;Ey<Qw;E&0M%sF%IShQ*CGVgX6n_GHn8Zs<WI
zk5LGTrG@5o>8AgbCC1*TQcQX(#77kO;oK_uVOT7<Zx4gVS|_RT!J&4S>u)bTzbzJT
zQjAyPFfu|2H_KfrP0E*G)H!^gQMr)}mt6m<*+OyLN+P*!fdryMH3yk~T{ASRfr&0W
z#zldSU;88B`ES*C&k~*ucb|_CsuM|dmRx*t>XYkU?I%Kp&%26R92pvY4P+Bp!o*mf
zRIbFOE6>yCi5CU4jpQ>o%ir{c-=ee3deU{+ZF$)y{pknc(N=grz;@?cZ{9@TRK^IW
z!IzPN!y^Jd3<z#p1o`puk-c}9b%U4tR3(uC9TMHhNb=a(Oj#|S0jKy*$@!vEtB%>c
z&_xdaF?-rjaa-K5*L*3Y-#RT<RGn7U*<AwoThuB<{h4YlKMV$a_&`G65`5dJ*|;q2
zTxHoI%b+*b)HVg{Q*2LE10SUovu8a)i80*ms89@euhT(ZErsB7np23<GeAv;Sj(}!
zLe=Wb*!v3{Jfw~i6uXsrKCI1}!*YesH(JEUp#4zYlBS}6VIoz77w4UZGQT44)P^&I
z4G*d!f7I2~yfE+=UgC51Y0Kbr-9suTK2bX8rNnbvAmW_6L}zh@T<g<o@T+(YCth1d
z9OQXvaV}p+F<itK;cU!uoq{&vZ2}|V62ZxR^a=+CRLl5_hjoQH%pbF+E2jP!Y`*7M
z6)Pe=-M^T+Qt(ty{>>b2aErW%Qge^)N%_}KqIvT}T<Oi##MDC3rUN64*-JB@OPM_l
zIW^rx%b6p?<kgPfw{OF%I%zDg#-)rJusK`25FjQmVl2oMbPn;NOYZ$;w^iDE0bUlc
ztCzlhURDlvdPy@HOs1o6S8h5u^?2gqNBOe5BSP<K9Rs*T#U~m9JEh{^QC-wIW7VVe
z+II53^SqE+{t9X)El{-`kwnELLRK#TdmvRkL2~rn*c_=fwL>r?U38ns{1Mn`D^2wa
z+Nvo1q1fTM#j?|H5JElr!^*cuOWP%!Qs&46V&pRBGv*BJvhE?hlnRO$OwY@-`N~fA
z%deLi09SKh`K7phF@5JqwbnIZj76vWdY#MYzo_|D14Z)^)uny$hN(%*$1Wg>wU64z
zTz^f<TRFH;S+K5X<$gyU(XHQ?H|;2GWJD2KsCC47tjyT<IO5j%`&u`S=lR97w=WH;
zhJNOnJkIiJw6*upi>#^z%5M1CNq*U3zc;TYrDn)Vcs$+)0Nf<Hbc=d7*Lxo7+Sqlf
z2_q~8Dx{H)XSn?ig<Ig>dcROi{gFZ&;ijHRU(Kq0dWoFyUbY|Q@#>&)`L-EYWX>V{
zh%_xeLh(jHM+#8{(JMk<&)86L0l%TNoGB5W633g5g=fzXo1*&PnJ!GQt`aL3UJ&Y`
zs#{-Mby>&LIp%on^_zXfKxy)`fa3z<3aOozPaCTgfM_v}{&R;5`(>;Q6#}VA9MeTU
z#pT#LteQVt$;hc!RG4gb>6r@tK@yZce5lbzU8+o}>C3e%M-Z9#di!hS$Z{@HTEH&R
ze3^1;uIjU3zm!#ZsNqz?nflZ~IuTWq{znOTdu<eF#6ty^_Gu3IDuu;L@|&UFNmafh
zP0Z^NyYeR4F~uNB1gDX3#qUXBY)fG+)wMoJw}G(A0AA6-F&2l$*I&au5w<;RzD~8L
z^5Yow;%dw9_%qle23-@f68c16D!YF!?axcgD;WMPP~PX3Uh}1lrA?~rQjc!+q;dA7
zepc>^W73@C-Om##P45>!ICj5s9B(^8Ys2)pIHI>tbx%A#b=#w}1A=uW5|zPxeldNk
zi8GP0IPVHozv;-#8(nqv?AagPGH~AGJ`L>E?KymQz9<plher`_OBy7X-7d~nAimU2
zSG!zh@mzTm|7m<Y5mup1?o~+7_*Sr;-8x!DQh)H<D}hzg&(^sn7v`tMoZ-Mhp2|eF
zHUePkJd>7_fWz}j8if~jX&s;4bh&-b9q&e(Ti>xIdV0n1*@HC0%V*AJo_fkdrfVD4
zly4bJ{-Nr$FJiov4v{<8n(uIj{DK|IAl@KGzqCl7LxiAd&)ce+K1soqE{lD>T_s0v
z6V{~2z%GdNH2FRvy56)NKOJ$>bg79>qw+@Zhp$gf$-?+kqa-ZyY;Fxx&M=9Fe81^s
zkmj}~Xysoc^R2r6TjEMT!wBNa$U+jgUf?k4&1&BM14UWJZ9Zu_TJPf$_*)TgGb)&A
zTikpj4;aI9wA@bMlOzl$JP6TjYiz1i7wQgFY^c4ZBa0$geY+&J*@xQNcVYQ?MXie^
zf$r?vUbwg3*`tHmW5>XY@;&gnE%<Z&3vGs-uebO*pEobbQ2T1mWr?ek0sz_+H!tiI
zQ6wCSE^gMsu6C{)9guDN4<(N5T@>I|8Qqz~-O>kQ2BVpc+7Io-`CnZiXl+kD-q8v0
zx_=q$K5%X9gatVeLk#U?+w~<SDl@phFY1t%d!sZAX+T0CApi(%5JYy?K}eASd$s)|
zg;p9I0C)^4iC)cubdjUlnQ&8%0SD{(Hx4zOu?2I{2~v1|?!Y_xFRg}Z8HdeWKpMDy
z#ec;NKEDOjfbX{kc*tq>zvw`t!M53gfify<*J4`@Y7n;{05~@&G)OR`tpCX7QTjT<
z-`U*SPhtc)ac)fLZj{@<@(E>QK$$qW8&snL%m@d1HS%7<#y+;K>=I4So=r6%g0|-E
z1AZWZ79>Cw5$DE^taIJ7b4G?-gRlu%u8GI-!E983nnHTUxe4yP`kfomW<H_)o1_H8
z&A|4N;9hhS3fw=^*^3e)Y^y-Y4KK^h))BOWhe3GaVPN#k;1NMTp9!gS<u5HP*DI0O
zRXIpBmn{!!&<^h6r-~dW?7`mTuamjGmUjNin@T`6VH{H-Bt!%Nax4HK04f1?7QvdJ
zhxW4l*)9<~Nc6k9A;QPnv5Yt{k`Qn|2Y(YtkizhNJ5x;H2`~f<hZT3H?mhj_K0XDo
zE)TuL?B(O5d-+%mbm;wWlLy816R`1%0>I=cp?Nw#hXcPF`ydwD^0ruXGZeyNclFU&
zaQDEve>Bn~j0^EM%J!Qj#0stoOsJ#zuV(-Md#mOE2^MY*1Gmxn|95;)fntic4-2S(
zoDHW{)Yk(!P>F4;7J8ps-zxTFabiFYmpn*;n(^CG(3<}_2*A|*BS_(Zh5`y82^tFg
zg#^WeJrKYoO;RA^!fB8*5u`}J2udi8{|M~Q2>~W<h8EZ|F93<qykOe^|0oQrjRas<
z#zSxnu{k;banL~PFSxCTfEr8xMJ50`?8+ON+_CPr&m<ETNr`!b1dS9F|1BF-UDyK!
zOxaR?v!L+;gxj&mHs=%AqXkTy8T+r$2%tg3E_v8P229=q&P^UTa@Zvgd)$D@d&IrT
z1BVa0;6X)<J$S(69TmjjAvbtCRxvuYTMs)6R%(-^(LB(3?jkmbh3z{rW1ITP0$u1X
zSWxj|J5WrPG#nil=w422`cbf2{!z$(dQmhL0HDtqdrjm_6dM#AWGuHmS?Hqs)0Sce
zSE~sHw_#Fu!Gc7?HmH~^B3+0jvJ1f=4z^Xr<OJ!XV*-uqE?L;76_d4o2F(I3>@HY;
z+E+~0Q^Q|cZJ60z=mix9wvol;DVajN4O^>*wnG0dimjhhj95p&#1?=IF8X~EvUh)}
z3n&NJ_7*d?A~XpyySva0VqqIyOxB1!6xD|9-6ad#@?x?Y93Yn9E;x`<*yb0L!|%MI
z6l8@V)-JTdw!xUJFYag-Xo`0c7o-)oA;x6A@!DW%ZrWoox_^AEKvjlqjWLOCKEJAr
r9*S<qH=Rw_h;5QFSvY~eSR0mEXeS>29>@}KgWu1=sr6bA^w<9Z;$XJU

diff --git a/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php b/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php
index 6d8807df4..6616d6a6e 100644
--- a/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php
+++ b/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php
@@ -412,14 +412,27 @@ class ModComments_Record_Model extends Vtiger_Record_Model {
 		$attachmentsList = array();
 		if($numOfRows) {
 			for($i=0; $i<$numOfRows; $i++) {
-				$attachmentsList[$i]['fileid'] = $db->query_result($attachmentRes, $i, 'attachmentsid');
-				$attachmentsList[$i]['attachment'] = decode_html($db->query_result($attachmentRes, $i, 'name'));
-				$path = $db->query_result($attachmentRes, $i, 'path');
+                                $attachmentId = $db->query_result($attachmentRes, $i, 'attachmentsid');
+                                $rawFileName = $db->query_result($attachmentRes, $i, 'name');
+                                $storedName = $db->query_result($attachmentRes, $i, 'storedname');
+                                $path = $db->query_result($attachmentRes, $i, 'path');
+                                if($storedName) { 
+                                    $filename = $storedName;
+                                } else {
+                                    $filename = $rawFileName;
+                                }
+                                $attachmentsList[$i]['attachment'] = decode_html($rawFileName);
+                                $attachmentsList[$i]['fileid'] = $attachmentId;
+                                $attachmentsList[$i]['storedname'] = decode_html($storedName);
 				$attachmentsList[$i]['path'] = $path;
-				$attachmentsList[$i]['size'] = filesize($path.$attachmentsList[$i]['fileid'].'_'.$attachmentsList[$i]['attachment']);
+                                $saved_filename = $attachmentId."_".$filename;
+                                $filenamewithpath = $path.$saved_filename;
+                                $filesize = filesize($filenamewithpath);
+                                $attachmentsList[$i]['filenamewithpath'] = $filenamewithpath;
+				$attachmentsList[$i]['size'] = $filesize;
 				$attachmentsList[$i]['type'] = $db->query_result($attachmentRes, $i, 'type');
 				$attachmentsList[$i]['cid'] = $db->query_result($attachmentRes, $i, 'cid');
-			}
+                        }
 		}
 		return $attachmentsList;
 	}
-- 
GitLab