From 68581960a3986510bc8c535e4968d77a711b282e Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 4 May 2023 05:19:29 +0300 Subject: [PATCH] add image.data field --- database/yggo.mwb | Bin 14144 -> 14068 bytes library/mysql.php | 9 ++++++--- public/search.php | 23 +++++++++++++++-------- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/database/yggo.mwb b/database/yggo.mwb index 486a6d52ef4f45468644980f6fb22341f10ac659..d5c8f298cbba262a240cb8807e891c481bf12212 100644 GIT binary patch delta 13614 zcmZv@1xy}M*S3qhLvgo4fg(j8+@W}Z;_hDD8Qk6d!KJvn6)j%e-Q8Ud@B1J5^5rCx znPkt-Br}tJuj^iG?QYu}8$eM88U_af3IYLwlD^=lojZ=R5i*CXWe{(-S*YLrcN?bYf z{!0m3(_`Nw20cpxOUuuPyrdHcy51VNZxQhhKo#9J0X_N;J_EhAi3;LuPOimunY^x( zd<>0T*dE~>?lnJ?f5Zpf=yBc~%gHfJLVTamz_M{#-_ODqcbK0yAT<&QA&CI0y>{NG zhm_X=Cz}@AMdjtU)Z|C97sB}{9TY!oj1V0)F855F@*Zj#nZ5LYlo-}`m$B_kTDQb) z>FM~AHe&cj~|UmHy|yBgbAs&o$BPX~N9#FO7=u;LoUHaB-_9)SCYi@-5LPA0wj zo&?(fbbDjoY%XwY)W3aPrt{zAcThxwM>@AR_~5#K%zsng(#`4)9eq8YEDd}b8fhZg z>vz-LP5m=|;>^P1rs1A5&x$%aPLLQcPm#a~<8#COQ5#d=MZ%+i!(G*}PZ}Gh_WsB8 z_(!d(wXlQVuk)_mIvkK?u+A~^odhP-iBq}q%>}+Uh=y=gmf4x{L~*-ZG3+yWJoTeK z|0vRluE^Jku}BseKNMC1;w@q4Cc}w{qxaG1A1C@V{!($o5P5nLJ~Phv4)sn=FWB=B z`r+zM#dGfYcEwcIK2NZdBsJOL_kG8feiExrr#&I_yT$7|LIVbna-yXj}eZ zY1Z58YL5;WZEn^VY%c{oL<|fX@qPIz-?ba#eRI0?^fDh&H|>n7;voJ*+t}n3QfBN= zGvYja_jUq{@E5)BC$IXi7wZ9jOG7EaOJu0Tws>e3pbTpw6y&*NjejIa{U<002%>}< ztliO&fBYZ}Fg(9r$rUZ~K9uo}8>ho*f^(hWr$*V*Cb#MG2$SuD`SgexMx(`9+CXv$$~MTM6s4G{)eM zfGQ28pxVnt~HZ;$*!*JL;m&-iyr+lV5 zMRj!CcLTkbr5b|yZg(-;uS>WczMdrE;r5E3{NuX=aBnJ`=WGna-0qV>{{DM#Fu|nJ zM&`UP`tbHB_-NY|=YBCr0|zHxjaA*9mKn(yRf81aEHn0V3`&N)Mb z%pKlkV>&hN=gHGdj={v_WO?Qt4(ht=?o7^R?Bs=49sycE>KQ3%_?#^;OJXq$5dM|e zb9O9J`zwo$A#a@b=wbDT!pS6+aC@+8YOrfxT3Qu(h6)w-2>9!e9{FP~(Vf`y$xxhK zYnAkOF8{uT7};JAYZR6U$IOUbq(I8ZeXdiBmy7BKJoQovc*u=!SY2>kUPZ4{B;}#i ziy>DkXKS}<3Z}E2I~JawD3H?vu$Z@;4fze}I2-CbSp|=&`PoC*oY2`O45kBDdg`_T8FYOYguXhs@+mS0e zpWkzJu4rtxt!Va&mg3JN`5eMh(L~7a898frayL4PvMWogoABJBWr%x?fy~4h9b(N} z>oFDPs_`yjy;tRiz9Exr*#}?z%@V*$jT&3Z_(Dc1_MMjYVe?BHvr1LbV`z3UBW|(|qnFHl&MK&0r8b3P#Yw^m2pDk{uk2wY2 zi@eXzevol+j`xLbf?QbvGC?zXp_+9RHW8U_KdRV{$%l)j@Qn^~Aoy?etWS2qowJymh+GSaFfz(ssCLJVyt z6xyLxkf0h^PN$s(i**~aCN+OG%bi*E$HFLDJr_{*tk4=Ukx7j)F&O{c}HUNP4AYF zzI92)w$!SLFS3V4h+kH+$M{j$15Ls>ocf2M%4K{bN}4J_yve1EIUTfR=NTYg?{da& zUR%1S!6Hk)=-;qp25d`ye_%6dF8c1Y1E6Y~nfjaTDcQF>M()Mz5q!xK9+8NF5Gb_+ z&q^~`u_t3+$oW-RH6r|9r!>t=-M(dz^E%M;rr2(IHoWdveh|1YoLAmba(5sM-~R4! z%5@0qbBM+>ZmQ*3E{qjOm{EI=V&QU`?qT292_$c^tmf}bIssk*LIUA(i?_OzWXIeI znuIE=^eVf>lF|905*}!I2x)`>M&}Qyj?@R$jM$!eiVX%Q#=6Inn1|ty*Lbk3orByg z`;)e1E6E=cRI`BQKUvG4(2FJsV(d1(ZH%dsbRSHc)d~o>$_N;C@Q4>z>AfQtmVp)# z67;3GD$84ggM|0@%@ywUq11oqL@@uU=}fLKP1cC!r|EL;RUXBgI*<$C>0duNNOj{W zLVI<xOhAD7F67L^?BX5DDIT#oImj_k3}mImd?9-_+l`#?kgW+ZP9}II=Ir5M zP!WFnZO}7GWvg%$+zRCe_E13P!Ee)vO+sw_8keCQ$xJ!fb(j8_iGfP~8*)qUkc!zr z`#@M!$x75;M9?V!Ar;^X5CyFp+=1_Iyh8rGDMJTo1^=-hSgC>jHAFN+0w-R6Li$3F ziy^N(C&h_Tl`*#X-8B6Xpu}#U*TRlYWyqhxcYF={uWBFPQ=;B_{#Ui#E??XiJf1{E zN!G=Wkxk&d4@FQB^aW|r7S6H0>*9F%6yE*>$`o)8Zb2g)=+3a-(lvjY-ng;oubTHZ z6LlGD%_KEvif*hDYuu$|JUF(!flKG}hn>Bb;~=;hO%<(Dr^)R01Q}Es#i}4GlVY=q zz5w%(h5Q-6iPN_{?s#38csifV%$yC%sCo}(qI>9&J?VtVbTrhp zI%^F~4B{}$jtl3YxNxKcT_cDLM~vR@J%><<^sp`Th-{m^Z5O;dY)4kApW{Lti&S9gJL|t^c_|!3Q?vzjRjjWBjQO0jz5- z8yHTldU2a3aK%-EUDBDtM{lC7YnE>i^zmVuzrYbfe&d&AW#$Lq=tey5FPY1gkdx9NbiCodO{(JgIT&@6HLc4jVj8HV!wf+ zBwnl^dK0TeC5rwmj2;wRel~s2O!YfH4AG}~_zZcr%t9bRPIPcu z>wjzg*Z(Q@;JiMQ9;)t7G;Xr3>MaHCJ+vDjk*43o=v?+u?th6p_MM=rlx)@zvNQ6d6gYGA~)QOO+=KIdan*~ldvDNyRyq>5>$ z)G1n=)X9)7o@CJJdi4(JCs)boEiD?GY@{127kY?prG==^K|Fh4{=9YFQ5TLx6i|Ti)-L9s|#pFj&Gu2qZ9jSzSyX_85=Dv+eCv9 zcVm`y|MOkMtERCO)SF`AHxly%`R)t1=2gfn@eeWzBM|ql8a1GBq(1tX2kkk+y9K`g zL;Ximt0uq5o)#fq5tBi~OZY`c9buInga;`KpHR%hi?yn;e-desrBDG@gA_>)FqUyd zKCv|`2PwJ_iq{4y!mgKcsF8ZNH4D7oZk?!XGr&`IHP=vR8t+g#Ri?c*CAvD3(7A-x%3C*3k;r#PGNfw%G)Pb&rGj>HW&Zt8%vMHt< zAVbi%*@EK~fzyXCuYXYS+M>}79md_7>Za!*5k87AgJLQiyvGY?D2cMbHSb+2sfl!N3htte4LvRo$SvIK-wc#Ct< zJu|rm_)nWap>OMt7rznl0oxs{m<<7YQDpf4P#$p(T>%b}?SiN+U2Th7Q(+&hY3qM9 z39Vf$_oZlR6H^o|Cm8=O5FZI;0rf&ei0MEpFh%*U-RD9CK@tB(X{F%*C=qhg1hTli z^Z8wRZnrE~`{czR^gJ)Fx5;7G?mYGzR1V+-o&$%lmWVur6sEff;!bM5?}|^bkDodu zJD`IbLgKM9W=C-+XGlIlG%n3{D3>Bc;_*zhoLEy=$Xx%xK=2?JZkIRT)^J8{#^uP8 zVp(FMNGaeTUDaX3?Qe% zmea5{U2ZD^J<=aHf*va-Wm?k+9MLAjm#(5aCoK5)MKk1mnP>QTgqjQ@#^9w~OEzgT z)&@z491ovzk^Uf3l_N?0HDZJfXh)7ZlD;zqn}YCMr{*(6U@)3^yWA$O{+!CmKeRf5 zdPG*1Wx>>2_rIjjb#SJxn5NDYz=>hk7Hz zVguV;DM15Gk^>vo>d2XBV_B|3cFumrI2lgGm9g$5PIuv}2%~SHVa62}K!nMP!HdF# z4O8m3@V1*=zHPmJ5JV8VDja$mXS^W)hw+Z3U?}Bll7YU9nMswX{@vppYr-yxnK2LQ z=vgA;zKw>wLT#w!0zhqUA;lZJf}u3OU2IOrc>oF}k*YCkgVXVBh7NPqwua$Bg&L;R zkDhKjJNRs9A~dv5nX$S8IHS=8cayI}#7T%~EOWWOvKs>YBcl)HUT;=Hwm&O0RZIbN7 zTOhxx*5pr5p7+WAB)$rvSG#ww1rUd2#_C@G`d-Dy9|6(~Z#-fKZb$Ygm=0$n?_c}p zJGK)tuB-3}F^-dpK+o=H-YY%N4Bz=T6Cq`2E3}^fh=fFNBzKr(Yh`Aq$CldYV|gcB zIlnqT9v({M2K{f2xZP6w4@Y=>aKu=d;RRW19ScD~R>?oC4Rj|&X+Fu44~lT>0!mJ_ z)H)mr%5-g%3aF~de?5N;JQGSkFNHc;>lKI=@U7S~JR^-dQB4_$fjDWWDDrfeDW?sb zckr{8SaHIlyKA=&@@1UNN7OkP|530Ra*=P)#v`3)wlWvg#~gJ=Rf+z;Y|;N;w#fT` z*rJVMNuLR|FCnGSl7LVMA?8SH4+>m!eRUc$1*5{(bvA{_w2KbVAdcX^jdR;adoq5rOp%Lk>ca(=`gh^;tmv<5l=R~hjYaKw=I=h zMpAk>%rV`xSg>rlbkAq7QTrPs*3}>u#y@-ZjsLhtiKYMBH3F<*|Jydk{l_+T*4O?0 zKeka^weK5xP5FOq<9`eyhL?ZmO*aCI2Hh|EIKNOcG6fr_JKtwSa`!4kQ%aGkC9fEB zJUY7(W5v+&$y%F+D+H3dR9h>Iyzs4xGp$$T%iX1-W{HN0Z#TKKC-p!A7O}JTgndrX z{cbi6Kvu(N)G1NM(vm?tRQKZhx;|fvr)Ef^ql!8q%pyX^!d4wn>Tu##W0s~FBLe68 zdzkgSd9q|P4HVByJ9{nmX`DmqRtjHvb&6SteND#+*8opl*IM6&j>XFTYgD!0;#v>m zIrkBMDhEqj0E=fSrU}3-NI3MwdMO=QrZ(XRxk%y5xSQmKI&_C_>^`{ZI>W>w#EsFP zO)6b=P6-Fcf~JTe6yO)oBZMOo;OE^Zv}V6xevgmhRSfOAJSDL%PJE+1k6fZx+9VPX zAnH~ny+DVIigtJ2L3_-7kgh$sk;91g<{3QAMo-ojkW*5)DhddF*bt53%B8H`#g2qp zD;LYZ=U`7}`Zl>zQ;Hpz{@1e~E|kwZoa82h*(4%VCi8A!r;9iEq}tn!(e0rS5|J49_iw^Do+M}7~qS^b^sj4trDL25qrO}5@Q!HipImS$QUXFx9U%@C52 zg=|_o2+Q z6L-!g#j`+kOChs=22Fh zw?W**%6PC|md2ER_>dHKhWMZ^4%Y7>f73aM8)zG0<`2oub^|GwetNqk*M4A#ElA{~)pAw8o;G;ZZ=v7+kDBX+e$=!c+ z82$U5^4Ub~k|Z7B)y?&gFUI5R?Z3wEc@>8_^v?R@fnU&_%aD3=_6xpMkb3!wyxge` z01FKcK~LajcR5jP_f9i^pvK2-R)0h|q)$1qJAJ`naQHav?Bob2R8lplC@^TSPyq`x zxmM)Wt{CdhnP%kGb{OV2M$gfHKBQaq;-D`z@<=apj1g{I(2LDZ7 z_`7Mlga|@Xi9&Uz24X->K&j zKBif7OS_u`d|a~WA8mH{=ffLf_hEYGOio~2$`4a&wkM+f;%cngV|d-(1BMrz#fuvK z4v8ujVrY$;stq0wc`Jg_3hiA;R@>45i z2%BfvNinp?QzuCFkNAd^lLlo@#Ng}V?)bl{X)dD(nGz{OvZjRdHW z3fFXn|KwOdqk@TBky8FxEcg8V1-YJ3N(utd2$DjC%lOp6Cqgdz>NCi*cObeFJ{23M zm(wyn#_~tPH25T0so?|$pPHlNT@D)z2WM-mS1plqFmC9(s!%l{K)iag_cKTcDT&c3OkrxK<3Q1l5U8VR|PwCb!W=j)g)cqm(aWLxl|ZE*eGk z$s#j6SwbsYLMuI+RrW`wpd}I)JHxOPkt4Eo3F_z@M;6W#)Htu=IG$;)NUq}d=+#2rs+a!fc|>e8MO{I=7&L-Y+L}DdmqR{WZ+Mvwy|)c;^@s zi5iLJT(tPdF(0Mshi-@a@S6qK7WLt1`5yVklAfh$c z{b@c+PaCX5ukGsS{01CXnW=e0>s&!z%i&hF_xRcVAQ57VZ9|Tg;X-YR4$!aWA2Mlb zGN>Z|aGkLuSg3gYJ%a%&pYVLz`1m_{61vV3`Sp*Tc@ZyfwuSj(V&*o;vkAT%Ca9i6 z^)2gfGmKQ8Z!lFdwsl(FBW~GPv0wnVx65OXK~B1;kS_UARR9zCb^ByT>s+YXyA#dH zK202hn;c`bP9v@0CRRX^jiIzhIE$OknXP!arWKdI`!VIHSScG8I^o7X$gthN!O(xu z$a`<$LdF!^`|d^qDIre4=#sm))w+g`d(QaFu<2&%5u1cG+rK&X&Mf7GQkDFQbME;? zwvIig69ZkZA3(*O8@^_t&Tm6`a487Rf}MMODsEiTBpZ29qr@ul;G3$ae7^7*Pt@L< zs&Q%M!9a;_nrw-wBhW{PYDr{=omEuNzeP2ROYhzmj-^o4dTQahfH_86KZEOCoF>55 zTbaW#I5*dPxh=IUo8=i@);%9S(wetwtxXFe(IA*P1ICKdKsto9OX|+aQS@`OU(?5F zTdxQ;U3l4X;^bR4n*8^w*m@TKsO2?amaMjXLUv`=lm}I4{&*m&@=PgY)&)@>ev%Gk zbunjm?Y|!|AMwAvMv~!{QJl{^7KQE_V7AMXm2>PmOyFp zvEe7VW5Ns-BVcE{zL&>d(Q{78V6Q`*wX^7rX{OOKJbrvCjGIRy(-}#-yZKjHd9D6b z+)HB-0jrd2OJL+&Bt3q)_wdvx4uemCPws+lFyYZE$ zUJfdvleHw{Oq~7CN%OHAKxY8my+qWz-tx7zLs?7B3=m&!af3hmM~4P^A=+s&lX7K_ zVMrJc@m=+qvRMfy^!#n((}^4A+)>D^>W&`%c7zkN-0QX#aZ|Frj^nFfVP#7BPSepE zdz3tg^L1wJXTNavZ$Rvm`Mz`eoLtJuSA6T2_YW<*Hrzzz6sh)17S6>k@u%wRhUJ<|}3 zIXv;1W=u#5P|cEGi4-;!AvIOLuywhg_@>r)$YXh#ed7Ycf>C)eg_(1EJ{Q*HJ;-bC zB;|ZL=tJ|z6uI$*i({sGpCNF<(q+5-V9scMVAc#;0M2U-+AH1Qyb0BlX~T%D70zdA zBLprvf{JU4-_O`HkKrYDG6WY9s?b1xLlXLh`~(V_XE_Ayj%JK8L_XO@uE=r4-)axT zcBsJc)-DQXcwuIC`QIE0O*`}-*M9KlS%kU+Q^oyN#bSbU-DNkfl5ZE{O|DWcC`UlO zDL?70_E7?-UoUF@xc|?8*C}v8C`cVLXUZ`Ejh{k*2(*T$RbXY@6#2s>9d!%#7Z0@C zGPJOY6$wn2Rf)^I_wA#AqEqao@u?NB1}br1WhOylVogR^>dnqyAqm!e83p}|y*R~~ z>)D2X<xJreKU`m1*x- zqiV6+1PaQw5qI zkv}?4b6QhEs%?mU1mja$cLxyEz3PObq!~rxveAfnfVX|O;v;U`6vb5)u`&*yzcSl4 zWfN!{cWOxMWJlq|MKb-$-2=hXv|RPcHn2Q9$hM@t&jyx^%}Mb5XuyGa=% zgH;_{QfHa@SDk&&SI){LLrAng=XG&b?gpT-j8$i{MG%&I5{;3sKd;y%zxdm@R8 z!9MARmK8Y#QmznGY!{nnC&UxrqqI?q3}cA#|U|8Be( zsN;ALA!Q_mLtV~#*@C}`4gF}ZDn2kPj>xN``O3juC6nABSq{)RHp?%@Ff(8x84syi z^fKs5yU4rz2B)N?c`Fau&*t~94matl;g}1U{6;sV!8K}+oWzZxZyBxQCQx2{3Ux%+ z5zHuQF*y)#JcnzqB%ozmVG|qWg|su9ZDd}ldN&hxLRfe&S7=0Se@D&~9Weki?qh)F zJ|hTvdk{y}dIPzsCdva2$!>lluP+=XHBUEYy0G=Jsh0m}4(K*byRAA_%Rsl@c}`;7K8lZ)LE3 zWAJv=N}k4s3tm`el40uu6to^6Lb{o7em-_iDGMssohE zUidHW&w%YtGaA%sPmv6{3sedZx9+#HnZcrfj}jN2HJvsn4w_#be1N72f>@6!n;n_> zOC5)v^;HZ_lwrz4J+E`5@JS9sX3j9B-z<5e(hKJ+1G!zgdaQnRkHL;Ggf-Fz-1$bU zZg;4Pr|;W6N-?99;BdyEJ&H|;Bn9PUzn*zm3ow)S;*Ag}kNI6 z|9xrlNoX`>E4zad=|)3X-H;OTBLexT1kIR3Q#4>QG-##d#BjHyaFIX`M%c9Gs)yup zJ5Z{S?4$f_)W-ZPHXhyx{;6dH`cF~XrD>Avll46`Zt|<#0EZy0Kp3k9xbo-%|D*X0 zU=o{ed)1z8MqiF9V>6A5muSEHYj@2R(p8F*z4x``_3JR&??|IkN$wcZ9Xl8U2)=c^ zt!5+GYkOaRh)S};-`C{-X$-M4LdOu1eetcgtyV$8#1Hm^CGT~fu+=~u`cuyMRpWdh z%s|oDIpT^c#B2B9A9e|sd#ew6#U`bOK)7f;q#uPzChBrEW%tOtPOdh z$BD!Pa5{oc9`o zm`CbhSVy3;~$LCr2n$t)nIyV7H5b(u`xJszqQ+MTQ zH>5DeM#=oqs`d2m-4)ZA9%&Wu?nUVHmy%OQ@b$aKh{gubSD8^mVW-uT&)#*p>O)KO z(o-;&YiKms^R9nyzGNgZ7N`gfzAnuw{_E+JbM(4x2s6o=Wiz~R@^DL!Bd8kn$sSlV zED3IODnS#C^ul;j2mvCtt=+r2yarhq>>gXns7FbcUTU;KoBnI(s{8YS%)1d(pPRTz zE<3KPxFyNWXo|gZO>FylAl66`1bCvGlalj|%Bs@$G`tslv12+I*BI;$b*~GnoGSZtC6>HYA4opCT);{K!+miVifAuj5g- zcbo#R57RL(x3H`Kz;A*H8_aBo%X9@l|EcOflOzzaZ~=5S>B%kuj$rm5q%-O3r>(ktsCPDg`BkG^iZXiXL<=WgZHkqj^O=FA_ldudMgJ{d?zQi zhqm&yVdXzZ*2bB8C|=TG?kQ0yvPxhhJ1h@3${$zNQBkM z}-MCA|q|NXf+~I^lCnyQR+_ zXO*v6c!9IlV!k+D4@^G=u?Yh830K!@Jc2Rpy<#9d?!;m&12Om6>@U0T%xZ5yTbr^@ z({t3~*C)GSRNt^K?-K&!TQ#vdylx#Ot90|e&vmMTETypxgo8dQPGFyN)|hB6py+#V zmD%)G9BvHInoMLC|E*Awp)2tZ$cJfuk{TI!`45V9lZTy= z5#yUWjMCMKkigHE;@T~}anjmwNdbwNY&hQJ^=)ibpL_jXSnS@*(V1V*Lb4J|A$Z}6 z^z8NCw!j9dz<0 z_)Ne}rnxT2_8R@+|uVeFBuZVdhGFSwqxw-Q7N6nHQFR<76ioe&=Yt~bPSjIM^15zWMw5?T`IJPGru>%bL00FqnLoyF9PMO0P zIed4CMwX0D0@&g00|?_*WlloG!^(b%{T*InMIS$sp8oXxGYw7D-}mEnk%y-aw#b)u zymwDkmQ!^CN8XwVHB|CZqFw`Ic6aKKS8xH QC+u^QK)rJ$z;S{8FBy4*cK`qY delta 13697 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 z9b_db->prepare('INSERT INTO `hostImage` ( `hostId`, `crc32uri`, @@ -157,9 +158,10 @@ class MySQL { `timeAdded`, `timeUpdated`, `httpCode`, - `rank`) VALUES (?, ?, ?, ?, ?, ?, ?)'); + `rank`, + `data`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)'); - $query->execute([$hostId, $crc32uri, $uri, $timeAdded, $timeUpdated, $httpCode, $rank]); + $query->execute([$hostId, $crc32uri, $uri, $timeAdded, $timeUpdated, $httpCode, $rank, $data]); return $this->_db->lastInsertId(); } @@ -358,6 +360,7 @@ class MySQL { public function getFoundHostImage(int $hostImageId) { $query = $this->_db->prepare('SELECT `hostImage`.`uri`, + `hostImage`.`data`, `hostImage`.`rank`, `host`.`scheme`, `host`.`name`, diff --git a/public/search.php b/public/search.php index 835a6ad..e08fb76 100644 --- a/public/search.php +++ b/public/search.php @@ -320,17 +320,24 @@ if (!empty($q)) { ($hostImage->port ? ':' . $hostImage->port : false) . $hostImage->uri; - // Get remote image data - $hostImageCurl = new Curl($hostImageURL); + // Get image data + if (empty($hostImage->data)) { - // Skip item render on timeout - if (200 != $hostImageCurl->getCode()) continue; + $hostImageCurl = new Curl($hostImageURL); - // Convert remote image data to base64 string to prevent direct URL call - if (!$hostImageType = @pathinfo($hostImageURL, PATHINFO_EXTENSION)) continue; - if (!$hostImageBase64 = @base64_encode($hostImageCurl->getContent())) continue; + // Skip item render on timeout + if (200 != $hostImageCurl->getCode()) continue; - $hostImageURLencoded = 'data:image/' . $hostImageType . ';base64,' . $hostImageBase64; + // Convert remote image data to base64 string to prevent direct URL call + if (!$hostImageType = @pathinfo($hostImageURL, PATHINFO_EXTENSION)) continue; + if (!$hostImageBase64 = @base64_encode($hostImageCurl->getContent())) continue; + + $hostImageURLencoded = 'data:image/' . $hostImageType . ';base64,' . $hostImageBase64; + + } else { + + $hostImageURLencoded = $hostImage->data; + } ?>