From 8569f04090b21e55ab929043efd4f1e48f6a82fb Mon Sep 17 00:00:00 2001 From: MarkBaker Date: Sat, 13 Aug 2016 14:52:49 +0100 Subject: [PATCH] Fixes to ZipArchive cass when PCLZip being used Fixes to default arguments when typehinted arguments in Chart writer are null values Fix to gitignore for Examples folder/subfolders --- Examples/.gitignore | 9 ++++++++- Examples/templates/28iterators.xlsx | Bin 0 -> 8373 bytes Examples/templates/43mergeBook1.xlsx | Bin 0 -> 9629 bytes Examples/templates/43mergeBook2.xlsx | Bin 0 -> 9618 bytes src/PhpSpreadsheet/Shared/File.php | 3 ++- src/PhpSpreadsheet/Shared/PCLZip/gnu-lgpl.txt | 1 - src/PhpSpreadsheet/Shared/ZipStreamWrapper.php | 3 ++- src/PhpSpreadsheet/Writer/Excel2007.php | 3 ++- src/PhpSpreadsheet/Writer/Excel2007/Chart.php | 10 +++++----- 9 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 Examples/templates/28iterators.xlsx create mode 100644 Examples/templates/43mergeBook1.xlsx create mode 100644 Examples/templates/43mergeBook2.xlsx diff --git a/Examples/.gitignore b/Examples/.gitignore index 10192af2..9a415a71 100644 --- a/Examples/.gitignore +++ b/Examples/.gitignore @@ -2,4 +2,11 @@ *.xlsx *.csv *.jpg -*.pdf \ No newline at end of file +*.pdf +*.htm +*.html +*.log +!.gitignore +!data/** +!images/** +!templates/** diff --git a/Examples/templates/28iterators.xlsx b/Examples/templates/28iterators.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e244534ff1a867d23fabf628ba3261c902ada5d2 GIT binary patch literal 8373 zcmeHMgE{-Qt1X6x}b@hT+XWbhw{)T44;X1gO7q#u-Jaj?Qc%*3KsRIK!OuNPeQpK!`R!Ctn+7=UgnHUCn)*n>s@+=|PL#<4Sl6EJ4D17> zK}NGWZI=4JNJ58r7p!}y`tWjsBID>to0E;y=STO247+X2AF#kCJ6NLZAk@ttcUL32a)Xs_? zd?@ohq~~&CJ_bu%-c?MdiCoR+jqF#NjLV+$n?|>iBk5(%N;TG6!u2n zh+HxEnI-rrN0KrO>)!V7VL>M!h!?@K!J0!V)=KRxY{~c z8rs@g{-{~M#|#{-aKXI%e~*u`!xk{igd7Gm2aI^z$40S9rRhm!O^pb@v5yzwtcc31 z8JyFsE`FKilvKH@^f^NqJh<`AUiqcMII?YKkAw1-ZlUKQNUID_$u={zq--Bc5cDp_ zKu<_`K-j*V5mLBIL6_ym{)MgEwWQaXSEo;0k|m8gccijoe8+6QtG2LT(05{+2cZZp zUuP0&w9*HuCOKQ-E`>Nb-}MUkbt*KyEbM)Ew z>?RJRrB88biqqeT65EIe{qD|e@5xkdG;zkw_twLw=ZsJ zmfCm8j7TgIP=bQSpaz_eXg-+%nFAOb2NGulZ!UaI5x!B82(vKt z$69!n(ao(&Z)1e>aq%(`>*Bj-+ag%HUTNMC{~ZDsC{D(LUU)FhG>}K4s_-$r2ZuNLv{ZloYp8B8Iiw$x*I9yhK6M zzC#Pm-KenkSLqMtZ&~+mG71TL%ZOhmkoRc*VWvkYb+zDY*FFZfUiqAo(s|rApzhR1 zaGCZ{Zz@0~eNu-nLT;WOxdz^h^!0J!nXCGh{=&59`iEP;^g@7qplo`gj#!-{e7PG@9j62sXi4>0rWzGAfMCI(9bOYPxQC#% z5F>TbV`U&Vk|DNy32yGM_zTae1#6_ z8mR}>*`EtW15y!X3c%uDzb)Trw6+P4%hXiH9Mtx)Mt)%VEE_0^RMEYQ3lWjptyn~l zz&Mxp5`8k_BX;wIn`O$cSrhsSFtlN-Z-n=us#Ypp-Ss^uC206_3FV>+4{8#_6&{5G-wfNs31 zn9Uq3)<^s;Qj`S>IhWK9|6H;tAZG~tvyqGEstjS}J-9Nn(Y}ib1VknC@CQ)>l%_5& zJuAn9XI98Vmeo|lvGE+`4=t_dV(+i+98TNbV~$Q%N~2MUyxD|IbYpgs%y+p0{D1-H zREOdO4&)zq+GH}80EsRjCn+R)U54*VqLX7(V-ecP3#b$|>u?Jv6IyHW(q3JzePe1$*y$0%#Xpl` z2q8&{!Ac8_((}*@&m+q(D&*oL=pK5)N#)yjvdM?9&NjGN5ZrukJ=kSm2IN`oveZ3s z5~ODyYEf9d+tGRy_4Q(z=s+aErb%>$x$t)6nI5Ue5^fa4EOusvvN2XnBdA>{hnBt1 zJI1J7Tljuzut<4zrXceBUePmhm+^QHX_04V2TEsr*_SkGF-x+}7a~Pfvga2HT-h`4 zEhI_rO6BfKFZnanHcg9wX=xv%oZRz4MiFBqU^M+)%bN4z5R>q=bPjwD`NulQPr5P> z=vujg-)v|(pQXI%%Af{kilKKKdVvb=wQphB=&zMB!rw+K4haB=2K~?geyfyDX2#aW zEWe%Eek}Q(_HYCd4^9jIjR?A<>vu~NE0$vmwiw8H`MY+0v259lpR8T|8a&Ov-Ci0l`*e7-ajn8$`~m-4)S6^A%r{#~MFf}Ck6SQ1Ax7Q(_GdDr+LoF`rO3q)dCS`0XOl!L}ky;!!2_ZR@UyY)Ufq-OyMLWrU{ zzyZ$H?76e15}V=S3J`5m_4EOk$9a+8)ZWw-udCNJ$I-+1najze05KFjPT1>Z?+7JO z&6gh^F9&dW<&18-KSC%I1yc1cgBn+m&+Yi;aKWFqqHz~an#FPwiCC0l9zpkFB^0!t za>*A`gDB`b_Ung^zyJqR(Fm>^@x@V-BpdAzw^)lGw$o-TN`y|&yQhb&@J8yPJ? z`+kR5-|O2d5DtF^|hk_7WGTFt03cW1A`OdoRo`Y15k$|!`EO?)n6 zSX4V~5KQnoV8b~a+b^H@)91It)8t)=GxO9PN4q41d689Nb~cX-B0?vqBpeJVRYuH1 zISN``B2HlT>N4?`n__B@?{DLra25-Eea9q*#|D%x4aj|ckRQ@)M9 zeM2f9{&bW7G4~Y-$0C+HroCuym)+viX_U(ual6M(>IG_)pSwIJujWPjyx)tnvQ&cvX>;&bRfo9j zhAf?JR(1t-nYIo^C*};-o$mWMJN10R#$8tQ;+BT8`jY~-Gg??zB{2KQm2!MwDCk-L z=WMz`7Kxh3l|EciYg}9{5x(*ri>8*OvJ741_!Uxd=Rp#w!yvggiw>3{IGep_PBzC zI(VWwVmpQ51O&|v1r@VzYs?|(ndw@7aE>XQq_>xv@DB3Ne8GUkQ7GHB%g)FpV9WI( zZPj1&RI>b&EfnwL4+2%-J|B%YdQwGR* zQyI6Wz`caqz;MF#^cCM}eD%C1ZtH3gmk6VJvQO*UM6=w7ZP%T==))1gYupJ^x1G=BLO_3r=0qHV z7EP4i2%{_=9Fqc*b5piRi^%*})fK@huEVHcTp_<4Oc;4tADK?u1qg~E?`u?_`p^p3GQ!_7O~T|#4ZzM;*6z#Pvi>U7&yG0e{rQEV@;yIQ$S z@G*pQ;we{Gmxv$Sju?%ea`fvN;nK?o;(3lpgX3|_22 zZs>}x7kBuJsv`QZ+_Hjg%JMfT&V9tAEV#3z&My|#_6|LEta6#D#|sw}3tyxu6|#Ni z-S?|I3YycfkoGX^lEI6gey5$hG@C;Hpr-A6ZI@@xP!q-Pze8MnfXv4S<5T+M_ZH<&2Z0#IbjBFi@e{dU^wEB-s1PiLj*#773tXR)3 zWxh+Sd9UyWJuIe7060IRq6`n8*1o8Y0*Qc$M(>1%a>xrAwLA{eI9#QM@TIk-^$m3M z)cs^)vr%xSvQ?Vkn@f_8iNjM(<;ry!XuqI7(TShZEIl)FSR>NVSlfD)aB zgxV*dfbH-5k)+tkm)ohYgO0(M{dEEPK|GTiOY}hwRLW?KQ*0OZ{CiPXh zn!1%YeXs2Lm{`lK8w@XER%Nq<^afM)g9L0DurLcgIcj63GP__R0E5V?A>JC?Row;W z*a_NlHb&xx4pl=YoXrK`yOHSIiAAJcGzWq^+o$B56pvR3l{cJ_T*LHUQU=9Yh|BTdFCEGbx^v*+s3u5$nBEA_?biZOlnU`nfui;{AO%?Nv zvMRx$#c%h1%rOx?D6UD;eW~-9AyLEpGFyhU9S(0J(EX$G&_cw&?%Oi^grfHb zj$RRDV$q1&e-QCinZtQ0vj*UZM$rmQF4UC|s}1g2@?US0!&Nm3opXw*C`t{2nq`1c zC^g;hbU(i(i&xgGR?Q@MJVorySshus+5YYJgRw!0Pi=|oB-VZ2-M&>g0YhIY1n*<4 z;|sQVj6GEcr_qMkQ;q%N7ju>dafv`Vj%x4$X_+-uWh+uv zH=U$uEQcQfv@U8;`5PYHcE~%D3M4YM*hi~&w3`d=`z<>Y21_enr;#Jc7*i<@h~3*n zCMGF8AZ`W(?$W8c!*!{rin#%tD+41T)~p@SVH?A-WIMyxMLrEjp|1PFdW8O)iW!&_ zrQE1;!b47B=9xC`y}g&@DYJnH@x$qL;`hu4-Q8tLi+I;bsY=2rbk`>X=f1Gj_;*_f z2hRlfUz@|fui5YO-)t2t%m3NIpEtCAH~cY2!2;tC+graH{#oSzqhTeiQT^YN|F3?2 z6@ho4{6SMxvT!atg8!V30(&Hs}b XmE{p(D+~ZUgdKsfl1)VN7;TZ}5@UY+iZ}~5tfgX*1hj$z}?b8VEn`;0vcFWXjOG zp_13v$%1cWCd8Ds{EWa5PXOR`-wZYWz=2H77a>Kyj-k3{UZST>qW#$T8A&3x-4&{I ztIH>7(|&3q4KZfF9MXj{`;Cm+7Yz9E@{dT zu|rk%Am0sV$vx@F+aDiyGtRlh9nAkjb5$~a)<=->9Eh|i31YvZ_mku8yl2D#on^6v5;ND-0bEC0igP~ScPbE(0qfP zc>)VXbXcq!x|rL!va{W;{}-eG#ew;kp;x9TsdRH-L>$OnM)sXS7m{$K6g?&7TB$Sw zg5*D8L*k2RNf$clAK+*JLlI;H+XF5K<`+cbclxMKS9vO9@8b*8G19X38pfGkCNoGJ)Te7b^BI(LDZmBvXeo%BBrO!vj5tAQa6E*8QNQ zvuN_Y8V)L@zE>4d`Hu4+|=6d(=qjiJ(4*Nr5 zDasdNW$T|oqEJz4d;yygSp)z82tbANvSa@vPCOl5Y)u>;ZEs83zhVXsR@Y!C|J_Sl z%CJoj2S(UIct_}XyK~C5>VS|hV|aVhJPJqM{YWJ{(+Y9#A6aSpe6=MRW5u*QUpa>? zeh7YBC8Kd)WMrs+fY>sZJp#FBaHgVtMi~X+ZaKpuh?A?WVq@nUov~F`F>95et`K-? zl-V7crlI$M$6TyHG2=t8q$|*rIkXzP<&nQ%?jaMd z*S7DHpt!^6y&7UdAZ|T&I@bm!j70yPi#leWVewNJt(zV6-+9io@HL+fEVa%f0sz=B zmw#CXmBT4jRprLsq zOS64^?P%c(@+1X$V8P3!CQZxz5P0} z5aS~66ZWhVS(*UJvR1XSLSl|wCbWQXke{w*I7q8*`mLtML6%RCh9*r<1iC}Mu}LpRzzwr6oy?wHe+45`)Kea1iZj4R#cs zjiu#wqe|nu?Qqs@_p%B;| zX7`x~xq7X0Y5xdYE)bzO|Kac>d8_G(+_Ef@*W$qfU@4uCD%C1RR3>vnrM8GP4Fq0i zP~!)_tZhix)m=3eW)mARvUSvhMi-kVByUPlUbJ=DaZx&4{ z(KP4vTjEg;1;wr}bD8_km7UyFAjS%%0wU-fMfDm4sY)^8OPh-iXiTFkQMFS_y;Ly8 zMi)Ee;}%?f8VV<=gOVP;C$*gi9b~&mBXL^30^Rqp0U^~X{>s6B_ zU<=%0LFYfw6-G*RjWKeivSk*i^7zTZR{6snp2((!Yi(^%NdXv$M( zP;z)5piY@4x}g0%(n{snP$pD{qvHUYtnSwJU>6Z#I%mRD#D{NmsW_YZy`Tu3$bQdF zo1GKWHUF7g2Z>XHa{z|>deOZYmf$qKSLRsoz^T_i2u+v@g?`Mqd34q~@XSW4$<7`q zwPJtLW6+o6e~_|!JPWQ5`#2}X!fVU7Z>x!ZAf z+A*0}>&csvlSY_8>7K<8o00J&>+8lVXzY7UAh+vdHR3%h#RK}rdO=QCx8K{ej}S@XKffeaf^@#LUf2ycK`T@2Ha_0& znhm}jmd{vC9{YHZg=v-8%wD8(D29c=o{w0_pPSswpRZ)Xp4e?AnqAGdCPMCEwGYVCR^ac*G-A6Y7c$qSUV-_1a>~*qp^x48GmH!$U;z7 zR*3FRdPaa=7p_KoMcf_GGh3H{R*@vOIV&IS&C!1zOFCBh%EtcK5T%h_8FIj~?ynsx zB>Gh6dN;wJLd2oCb42cVG)!JF$w;h7PO$IM-f@tL45kjGw^flT(@J7OYL&V;lPPFcyWQ1e$chsWDP`=0aq7os#e&{Eyk0) z)t#5NKX5qR6GoNE-}CE?kO+iVdHBB%^b2e|@6(Bz zfJ_vG#u!o_Mqcb?AIDweAP4nDEla(RB<_`pDnPE~G7|_X<|p%ErU7*j8Goak-%jE+ z$=;#}dog#EsrucPc*b3~iyS&063g8anw-3e9ZKFU)vyE1d2#LZz!85g87H1k$lxJ^ zr51royEHqgbc-S10Z4a7{rH|E=S2mNEQXzW(&@nmJ8mGoqIT=+i9?YakzUanBSBT>l~vWo}sDQaL96? zWYy{BDn9@AZM&U+DV2waeIdTWHB4Rk*@Op}h^aa>6_+&CY|g_G3k6jA#VI(2vxue3 z-ZQw_*ZRlR8Cwx6?h3K+nD~lb`QBrxp{4 z>9#KvR1I-$GxAB1shE4)LrN&3|jHau^-012VKW&g}F0oV*I2-kqKn@bo+9 zKD?JUdp30#Dv4^q1N*+>AFBd{jNKky3FY-Gp4j%rM5vL#rR!e-wydI@I0?=Zn7#X) zK(Kh+E?JyT%C4G(3EoYSe)5c(Z$me3zt#-^Kr4|;>cNdA$t%D$bBScL_(T4CVUhP-iFoi%8Ox9fXp7w?ME6xp_J_T{x`?7cv~9{ zz4X|5c_QDp*H^kzQN%5p;u3@zGIz)f{eH~m8wT!P9<65+C3e)VH7DGhM5+XwpSud< zJk;}AInPK8^u73guAP5|uqX(R)u)O`M^giiFZ8L@HbrhCl&;8KCEcgdqOR3Fl37asN;ejz6T z#Wh4bIpCGWMnUPMU5sd-j$23e;ADiyQ-;kQ4llBn4VK$aiTasQuY^lXN(Dq!tb7=> zVpFx_7L?(Hl6Az&n9($M%E<~F!$ECtr*A|y~F2?p5(HO)<`6D8$msU`HP9?hKMtQQ~m7DIQFk@YZu5ek2AKtz= z!?GxkO0}t%Cx83kR?S?vYG?!z*d5}L$j`PwA2#7%SKyTah6+a> z^N>pv&uNvnZ`d&N$1Za%F%ZA8j?ti?H(#ZpF1kV;Hi|aXBpqiQRZ?l@HhrLV{Yu9^ z`iODf=7uBjY(`+dP7CbfnH7y9TVz%99qchR@HDe|X=rAOcb*F=O*ic`PF zxr0$FBvo2W&iU|pfW!Q_wv5zejlmCFo{sehI4HSa%i zyVq+;lWf6$`GsMSWuqw4D^2iuv~npjC$4}yL-c%g&NUOMRS}PjGk8h@XHnOMHR;9c z_y>p!7+iTz4&^=@PwSSHHR!2+f5Kd;qIourGMHzFwX&G_p?3r>w~QaBcA2HN0w7j%*qAOw++Hu%G*kjA*7I0e# zM^V=?x^ah!wrVJjS{La|K9SZmgEq!)XEPrI!9`KPO0I3Kd1M1CecKB6r1B{y=f_b0 z@Q?yEW@PSi`43;XSa^jUc`I_)LL|P*)OI<7fyO62U$g=~dkWc_2S2N3)?5XvP+Ux- zc{ri;6r*gtb!B>UkIv6m4wvPkK6U*G-!efn^D!^=bHT4^jSId6oonH|;w+k30iEm6 zc7=*<&mB<0!8F*vQ+M0l_N=frilO>q)-nSwM|S+t_0c0pjek&dhO7h8V-_~)m}SU+hQe#(r|0y4ni^9eQh%&!;vquRCPtw9;N zk7TFLy;sK1jzeNfmh4^t4XUP&fVmb+Up|dyaB_ToBIaTkh{28VMy-|GT!shHk%`)&de&IRmu-Yi!bSJ zk;aOUSG*Xyq1Rjx*Xzbw4*gKK`6%5Lx%iz{qW^H9nCK_JO%@r!rio=#UUA9gv*90} zP~0mv3_vojF$OP%i5mz<64S`MZ>&p>`A_!J<(;(W)(5QX`>OIzLG(CN_2Liq0)#HU zBesk}p`n3NAn(1)w1DyoFkd+wINn2RUT0;PFh)&kR6RuM_t-21pTA zY9v9o@?_!*!0;_GJZrgWr{yLhK9Pxf`v=R5?#Y6KTh7uREq?f&0LEFeBJ}R(xMl2F zV@f8kd|R_~_GNTsEw*DylzlwR{JB%PRE2I@^v)vz)Wp`hz`6L$}y-+p%tm zRs&Ce%E-#vFIbY`jR4TJ;+pXhNO^kAvr6d$UP$ z&$=;Z&09+7Ct4xj?_%U){6;b~ymgjR*q-<^;fa}eYTWMfB8{)Qr*tdyhSWAiD3x4R zQ;L=Aa;h+pOleq)HW%5zHukPh5KA|cC%f+r$!&A3Uccz16p-(-7Qi3bj8r@u{FE8q z0L<|pi={Zuxk^kwNY8bM6#s23Sfi5ciNYq}Rzt#tDUW83rm8NEPOj{xjxOf63?3%Z z|4(p)OIgye6%+NIU7d&R%bvkbw}; z)}o-R<+_V^n$kD4DYPo4G&;r@3C`j0InB@J4Ka>t>mr&te7ch1%FAQ*9c>JmR8RE0 z>gR$^;Gg5m4d7ZZHJ&Zv#F5R1maw5=5%g3wrCb~~3fnOVkC82lC=opiDa-MR5jL`W zNDWNRQIh*=oK60gBm$Y1;lL@~?0fH*E`>8o>6)ROr{7c2gyWsJ>_(8CT_|#2#@Ww5 zv>)$9J?Fk`3h>+4jt}2)cn^TmS%&Ep7|i=9?G^SkNO`tJ2z6q4F5X-AEE{(|jMcv%Z?KZgB@9cB3nOHmQYPBo$ zNZ?#s;Ek}L%;_iqC6Od~LX1p{LC7roj(dDBC%?=*Z$t|wrbzXJC%*T(M5Ak;M~^RN zbI0b416AoxmK;xT8-s7eSGlBBtuvnSXKQwH^t#Z{w;XfzU}@SBdL~#7_{8s89?6e# z7jwLSixbAhpw)BjQd%u)Yba#B=oMfLYE zUOGavdZ-p zqnjc=EQf5oRUl9|jhc5$s(Y0a4z|h%qS9)6U+ce1rc6^cXjCsC#+xSd=V^><+Uovs zRbg&a70^`WIfZiry56&kA!Z(^P9$tgaaH47z}i)JahqsP`Kq;7c~rY%q)(Dqus$fU z5VD=o#LHHwMOGzTi?1HBPf=q}SKoi)M$D2(+o-+B})#?KAHDhap)ASPokF*vA1lF{^;wRuSzAMJgYGjdeKvKh~hhfV@vcjJ%T0te3uE78AyIpkmW>|fj8yeguq_;-N6cdY+q zc)P8H1;$_c*LMy7-o^W?;W$h&`OiJQyEu1yI=_(6VPf2!4$ocVyHflw<78L^31<9D zn7?a!SJwPx8ie)l|NZ|&&bxqjRl;9@AuwU}&w>02_)9aqi*i?T`i0_)`xE7^0CgAO zF5mwJAP&+5cUXyM*u;iWy7`yPep(^zbgi-?`Q=djLR@6ae@K^SWz(w`~3b y=p_4j0e6b#Z;R+%(7)&WUyuNRHpO4A>CXzFs)z*hF(|Z>6DgkSi%Ja1XK`^ICM)R-Cff4EuQ!N zJcr}={R8hizu(U6%7+|QHTHl4gdvS zOU%yJ*~HdaPsPLD#7PI_ZevZB_W+(Y2LKQI{ePGL;2CIB>9TEM!ER9B6cTS#3-=dO zRegY|6V3GK2f_<}a{O=`52S~FbKx2)s*Iv!$MLk4Yc?k@{61N38l%F!`S5w&lqBvo zQwFDNQsnzCuM4V2R3h zarM}A7;0EpU;>_9@j?;9D;cWkThEfs%QYY$s7)jnMQfE<$u~oDwq%-kFxpTV zJEr%bQBiU)+ZlV#CHBC>2N$>+);l8yLle3n>fF~RiUT^N|1lLrlurWXO6mc!C zNb+@$@9chf%%uAm&VH}w6dUw>`7gPcAk#T#A1uex`{~D zldJf?mi~@a^Cq8)c&3Tw3APGRAcCY{gYQ-M^bG%-%}(-@MQ~~4BV0bpTDP*0HE zWcp{0NzWZh7utZXqsOBssgg1tw5|;?^w3Ymxw2hzl+V8%h*x3{fYgalaUf4Z@C8!+ zHQVJhW)08E;YLN3cgjL4K62%3CJdzejVBduUjyLr9nf*We5ky$Dqh00kQl?ZuUrX}ujRum);=2L-> zSbI$`d44RCP`b?0(N;ZqP&bv{U-MA+R6+feEUbpT?i3R*N~)p^#LPJ`VI{9%TrW&f z!mXsA+8UUsqV)u9BA6qa+}TD8QE0{hT9R0Me;>{`s!P9NyeV|+F*DjC3iLMM)Dx0`6c^PF+M8%_;aYMp)n z0ARsf0_Hh?^_fx?IlE~V^aiX6KNe?&tC#h1Q47bbH!5^q$mEfhoJ#e9u-@8d2@{tai(XYqK8by?qHT+FXmM-{CXcRESyiD$ zMfE@u1AY5wXX*uUBZjzQ!b>H@4o~sA>a@xf7e9s)QDx!EsE;fv+36@-<$R`tv!?$3 z^{9U)!cp2Y=v5Pv7#^Zog<@%m@YGZBz#RM@F6#GvuhlBYzpAS2rFpigs8Y6tpxI{g zDK4roHqOXEHlEMdVEKZ{^1a}7917pQ3?`vWoF?#a)SGkiX=-xhW%%?uG|M$~?3ko% ziZOsYfGBW3i@F7Pg=-dc{>4IOCB~WrF%e<|b=np{jQ@}Z_5&L# z-A$QSgYlXv3>I;%+1s}adL$=bREndWu=I$_;nMRUOqmPGRVlW;@l(SV)l!}Oy392f z@V#lrho&uV@#?$uu`2#94pqg+ZsjA4863`M<#`f_kp>|?SqODbUXhfib~WgJeX9Ka}2UYBKD8#XV#W-@Tm50aSZzDVEI{xhMo z@Y^@poQwz#to<<>(b}RSaYc$YvNept!q?{~gTlPjVAJHJv0Z{OVmVBM#3;~NSu4K| zgHAIU`mqaSTg9W>!iGFK&8BwOMipV8rV79AnF7OePMJr$GVI^iv9RT(d72zr4mKV1I;WuJPbZNM+ST#ch0x|(BLZK3u7h$*Gcd*X{}ftsxx`%Uk`h6YZS_WkF4eQa0P zj_05+{{JG&=3P}vi;mk=;RaUIL`Nalf2L0(=ayd(A% z9$IDaOR8(aR^PVC%4pP*Si#jv>2MF0uJcIZ!P0k@Hivr1)y(oWdyLCI>VdohN*XuY z(LSX7w)su{QilUU(mb*Hf_YLrof12TuMI`E+)lErd@vsr+Vu7uouK}122vHrs9Rv8 zw}d4D!hg)b&#|-JjXf%%**1d(J7n+e1!mG-vv7K$h;a2Ly(Q+`cZEAMDR8AV0wX88 zrgM!5D4HAs+i+lnCA-yI?1`I2zhHd%E8TWy}&(7TTMw$WaIp$SFyj8KFc#y zmovn<$#@Tko^@99>xjYOH170mJ8UfF1snmHaKhDqa9Y(7nzIM(*xW@JH=3Tk7;R&@pxZX9 zj~yNcdIDCt36eNX3+L?XzF{LLN$4rwv{OA#1M(0Rm#CU%+Gl%cw}zKehuAE-S-LmA zbv}%^^{WDns?_Jh2OugrygO3LFb7Kz3)<#8e?qZ20h4s)6bhsq~~=fJT+V2=)sP{Q#bSGwA!f*V-&{%3lR46uEb zfCKJ6-r8;x!2r`X=8DJi^OHdk)<^c~@;ytqB!M$2Nmg%V z6r+LC+B71pDGi*du|U_5;ez@G@NAKNItqyRId~?yuyRPupd(Z@d>-xT@Cc7+^-c@7 zkt=_jTkw`*8zR4XJ>KzJ(nsc`A+_1?2n?SZUxef2(;mJkEGx@iXU__vkt1*B_0nwy z0N&Oo-+a;^fo}y6h4X>E;HA9jAN6In0|S*rwDr{!yBwa!@BGKN$H%$dywBP9A0|$o zj_n7Epy+~O-xqu$6^LpE?+z~na(L$tZ+KuJycY&icP$XrEg~P=^GxFzx2#9w%^o(0 z3#x8ucLyrSS-(Tv)ya0UQS3#4M(fRT^0a)8DTVYEC_;U8oRfmE~T)KOwi z5VglDoBMh<{4NmwfLfMePg&isLGL-F1u;n>#?Pj9L-j{T$(XZ!ZVxAM)>b}r&|qa{ z@tkcxG+U)6j2yFP2LoJX^9G}f@+m=Phl;SXWpL~Y7$ zWG6sZhs?6orE=qo79C0yhP#Jv$9x?r#7TsaQZL*P;Zq0UPSwcfYX(QgzSdR`wi>Lg zewXhULDAMmp|q@`)7b;U8sUA$ga(1DE)kFX3%Q$H;sz$j+mj||p0(|7J$(#``Vek! zi&GRCHcBn#s86LdWD(kiogDmzENE)KZJy<8F8ca4sb~bn8ZQp#*;Dp8Y!564;jVW3If@CC(@9Z#9B0)c6{;|A zHU*~2FHx!If}r&W1`sx~%aF7VDjwx2h48vt`H>IroHa-I=qejE`HBj>adw4h=LNtD zLIfc*cMo-jk-f7r`AJ9!( z-m=7;PH<0GszDvy(!!A?^UU9$L0u;5jqpyU#7<8M{PZ%g-@<&sH&S^JaRz` zZ?6L8?YmKp^!5i!^t9yB^)ZXpL@jpX3ESY|y%OT7*tD!~OwN4pweaCf{v?NPOvI$2 zx6M4`Qg)8dM%e-QI6dgJ6f^PKT=EM2AlVxAuxb%eS+0bjq!1v{5uVTT!I zoGJ6w7HtpXN?xdYB9C^sd?6AmklTeee7Zd2hMw3w4=nBg9TUc$)pTTvef#mvlLs^C zY*{b%rPd9`H4BP9Xepk(U?^2kJsn5x$+E^=n2l-g=!eTJ;=(RSnJbn-jz$ed$gy1Q zWA(@BdmD>)?)Hvlr3y+)_wGse6fjeQ_C0M~ikUri9s}>D?FzyUD4U(zc_tWHSwsKU zWmKSEMRvdv1m!yyqgFN~;^Z9{DuN!MJ*s>CI>c#PiR`KV8DK+a1B zB=%zI_ANF>4n8}MlFX$5;Un>iW;-a6!ExJ`n(w+Bua$}at8xa_MW_Pl#W<>~J#t$< z^4eD?`cDt3y}hJ>j2Bf2%P%@)%h3x#N4?ixc<*{Ps|~E2q%~UyEWU^Is~n*Kt|f6*4G9*uIk29_!OyW1ypj`zKL%NTI<9x zL!@OddT(h|XN0s`G3Nu@D_13woRIQc)M9-4`~(HQd#^Hz^VAN{qi_g`%%ApMx{U&_ zLFj-upaD7usi89jTLeSjq;s%Yih;zFffCY4(CiVr{Q zTw&EGU~dWkJoqs!*^n-5M5XK*VwdY`F7*5ztvVVg&GK+9ImGCU!L)0aX%WO^J(ad5 zj-oG2z3^gq3!wLv5T2>nsL5>g0WN`|azne>Me9h;URKRuS3|ha{u!RLka${%)}svP zY03P3DE7yjX0Fr4=y77#|s@aUka|iL{w%Isjttj9Q53zZO zKh^RiazAgIyL_=*_$7+NUP=PyRlaZTkcMN3Zi2_R*s<@qF}jP$qgiT#ke9xcvTIxz{*~gFuh$taV54Ra1BZccfp>a}OLnLHOJbWY2pHE)Q_{wuP zlilq(C|Pn+Tu(o9@SUiIsN#bN3(!cp==*e4?@)@hlEvzwhxE?yp-IQbs$DOdtAov; z7_XSWO86IOH@^rznN5c`>Np`Qkqr<-bbyu>2=eb>5_e-dBXd(4`%}AjmlSHD7THI#Y3veGZ>YF+7$qnf3I=82ej3xA0 zcW8!C;3yTbHew3lH(5)|DcO2BC?LYht6^SGDd&TagO;#P5<=wQtlc9LwY6jY z2?Oo89d#sjl)!uMISGqLyV1_+qN=3wEc_5mh7KI|aW{wQ$FxSEtGWVu8LfqjEhaJ9 zr|9lTH#7)Dl%iumS@tm&{;|#@%VGzqe1+Gi^kE(y2k4A_uXFeMNTe$U4lgD%2d51D z6seEr?2due{3!kv=-2aFex zpwAHVOp>Deml{fG{ira2i?214D>TZjG7c+^+x`|)`*Pd@3(=GE{ArfoGYBZ=%>b{| zx*=_wV_YP9z#9l!sOa|{JCJV}dRNf!8DS1Kjj%(Bke|{tu9nm?fIS-JRajcFj%;{s zNc()i%2ydYWuvfZ=h(`38NpEVY$6mYb&ngJmN>FRMcr!U973FN5+87NRP9>p<#maP zewlA=ncEolE#zj$I)ad)yF3Q}OT5!d))~xgWk=`X&+$iUJEaE|3;H^bV{(>zgl7Ua zl506YxoRY3d=MLAguf@l|MajLI{{U7yfHGDBzJW5$tOK_GascPP|`r42e@ zYxphA-q7Hk@8|t6w;e&<#{p|{*;u3HoTxH_{m$VQIkp~MU8m&fQ$Yxc16dzMZ$Y~q z9q*Ip@XwPo6a>@h&JTN!{a|QI!2Vz~9@{|2Dka zmcjz#FHP(FhJSC}{nc;?rkMQSjlBCf_ZvCCkkDXS+`YEWedGK3`!C}-Sl0+<{7a3$ zZ+c(V{AKEj`M>}B|7o1}0q={1zX07~4XS?)!e1yFFfHtEV(-(#`v`yMTEFZ80AXSP;2+HEzWM#K`3s<$ wBEmfRuCapwu)eDj6nA_712^open($zipFile) === true) { $returnValue = ($zip->getFromName($archiveFile) !== false); $zip->close(); diff --git a/src/PhpSpreadsheet/Shared/PCLZip/gnu-lgpl.txt b/src/PhpSpreadsheet/Shared/PCLZip/gnu-lgpl.txt index b1e3f5a2..432b7527 100644 --- a/src/PhpSpreadsheet/Shared/PCLZip/gnu-lgpl.txt +++ b/src/PhpSpreadsheet/Shared/PCLZip/gnu-lgpl.txt @@ -501,4 +501,3 @@ necessary. Here is a sample; alter the names: That's all there is to it! - diff --git a/src/PhpSpreadsheet/Shared/ZipStreamWrapper.php b/src/PhpSpreadsheet/Shared/ZipStreamWrapper.php index 8a6df8b8..cc442530 100644 --- a/src/PhpSpreadsheet/Shared/ZipStreamWrapper.php +++ b/src/PhpSpreadsheet/Shared/ZipStreamWrapper.php @@ -88,7 +88,8 @@ class ZipStreamWrapper $url['fragment'] = substr($path, $pos + 1); // Open archive - $this->archive = new ZipArchive(); + $zipClass = \PHPExcel\Settings::getZipClass(); + $this->archive = new $zipClass(); $this->archive->open($url['host']); $this->fileNameInArchive = $url['fragment']; diff --git a/src/PhpSpreadsheet/Writer/Excel2007.php b/src/PhpSpreadsheet/Writer/Excel2007.php index 01c688bc..8c4c1a6e 100644 --- a/src/PhpSpreadsheet/Writer/Excel2007.php +++ b/src/PhpSpreadsheet/Writer/Excel2007.php @@ -351,7 +351,8 @@ class Excel2007 extends BaseWriter implements IWriter $imagePath = substr($imagePath, 6); $imagePathSplitted = explode('#', $imagePath); - $imageZip = new ZipArchive(); + $zipClass = \PHPExcel\Settings::getZipClass(); + $imageZip = new $zipClass(); $imageZip->open($imagePathSplitted[0]); $imageContents = $imageZip->getFromName($imagePathSplitted[1]); $imageZip->close(); diff --git a/src/PhpSpreadsheet/Writer/Excel2007/Chart.php b/src/PhpSpreadsheet/Writer/Excel2007/Chart.php index 44e211a6..6a87446e 100644 --- a/src/PhpSpreadsheet/Writer/Excel2007/Chart.php +++ b/src/PhpSpreadsheet/Writer/Excel2007/Chart.php @@ -126,7 +126,7 @@ class Chart extends WriterPart * * @throws \PHPExcel\Writer\Exception */ - private function writeTitle(Title $title, $objWriter) + private function writeTitle(Title $title=null, $objWriter) { if (is_null($title)) { return; @@ -171,7 +171,7 @@ class Chart extends WriterPart * * @throws \PHPExcel\Writer\Exception */ - private function writeLegend(Legend $legend, $objWriter) + private function writeLegend(Legend $legend=null, $objWriter) { if (is_null($legend)) { return; @@ -226,7 +226,7 @@ class Chart extends WriterPart * * @throws \PHPExcel\Writer\Exception */ - private function writePlotArea(PlotArea $plotArea, Title $xAxisLabel, Title $yAxisLabel, $objWriter, \PHPExcel\Worksheet $pSheet, Axis $xAxis, Axis $yAxis, GridLines $majorGridlines, GridLines $minorGridlines) + private function writePlotArea(PlotArea $plotArea, Title $xAxisLabel=null, Title $yAxisLabel=null, $objWriter, \PHPExcel\Worksheet $pSheet, Axis $xAxis=null, Axis $yAxis=null, GridLines $majorGridlines=null, GridLines $minorGridlines=null) { if (is_null($plotArea)) { return; @@ -361,7 +361,7 @@ class Chart extends WriterPart * * @throws \PHPExcel\Writer\Exception */ - private function writeDataLabels($objWriter, $chartLayout) + private function writeDataLabels($objWriter, Layout $chartLayout=null) { $objWriter->startElement('c:dLbls'); @@ -1404,7 +1404,7 @@ class Chart extends WriterPart * * @throws \PHPExcel\Writer\Exception */ - private function writeLayout(Layout $layout, $objWriter) + private function writeLayout(Layout $layout=null, $objWriter) { $objWriter->startElement('c:layout');