From c8bcfe6bd67436cce9ed23a1d40eb6dc7e6a4b53 Mon Sep 17 00:00:00 2001 From: dimitar Date: Sun, 16 Feb 2025 20:02:41 +0100 Subject: [PATCH] category -> product association implemented --- data.json | 33 + ecomzone-v10.zip | Bin 0 -> 23283 bytes ecomzone-v11.zip | Bin 0 -> 23237 bytes ecomzone-v12.zip | Bin 0 -> 23879 bytes ecomzone-v13.zip | Bin 0 -> 24007 bytes ecomzone-v14.zip | Bin 0 -> 24283 bytes ecomzone-v15.zip | Bin 0 -> 24378 bytes ecomzone-v16.zip | Bin 0 -> 24401 bytes ecomzone-v17.zip | Bin 0 -> 24401 bytes ecomzone-v18.zip | Bin 0 -> 24421 bytes ecomzone-v19.zip | Bin 0 -> 24769 bytes ecomzone-v20.zip | Bin 0 -> 24833 bytes ecomzone-v5.2.zip | Bin 0 -> 16853 bytes ecomzone-v5.3.zip | Bin 0 -> 18751 bytes ecomzone-v6.1.zip | Bin 0 -> 6712 bytes ecomzone-v6.2.zip | Bin 0 -> 8623 bytes ecomzone-v6.zip | Bin 0 -> 3793 bytes ecomzone-v7.zip | Bin 0 -> 16496 bytes ecomzone-v8.zip | Bin 0 -> 17483 bytes ecomzone-v9.zip | Bin 0 -> 22938 bytes ecomzone/classes/EcomZoneApiTest.php | 53 ++ ecomzone/classes/EcomZoneCategoryHandler.php | 215 +++++ ecomzone/classes/EcomZoneClient.php | 213 +++-- ecomzone/classes/EcomZoneCronTask.php | 40 - ecomzone/classes/EcomZoneException.php | 13 + ecomzone/classes/EcomZoneLogger.php | 83 +- ecomzone/classes/EcomZoneOrderSync.php | 81 -- ecomzone/classes/EcomZoneProductImport.php | 345 +++++++ ecomzone/classes/EcomZoneProductSync.php | 916 ++++++++++++++----- ecomzone/classes/interfaces/ICategory.php | 11 + ecomzone/classes/interfaces/IProductSync.php | 10 + ecomzone/config.xml | 13 + ecomzone/cron.php | 124 ++- ecomzone/ecomzone.php | 446 +++++---- ecomzone/index.php | 8 + ecomzone/interfaces/ICategory.php | 11 + ecomzone/interfaces/IProductSync.php | 12 + ecomzone/views/templates/admin/configure.tpl | 255 ++++-- ecomzone/views/templates/admin/index.php | 8 + ecomzone/views/templates/index.php | 8 + te,p.md | 27 + 41 files changed, 2222 insertions(+), 703 deletions(-) create mode 100644 data.json create mode 100644 ecomzone-v10.zip create mode 100644 ecomzone-v11.zip create mode 100644 ecomzone-v12.zip create mode 100644 ecomzone-v13.zip create mode 100644 ecomzone-v14.zip create mode 100644 ecomzone-v15.zip create mode 100644 ecomzone-v16.zip create mode 100644 ecomzone-v17.zip create mode 100644 ecomzone-v18.zip create mode 100644 ecomzone-v19.zip create mode 100644 ecomzone-v20.zip create mode 100644 ecomzone-v5.2.zip create mode 100644 ecomzone-v5.3.zip create mode 100644 ecomzone-v6.1.zip create mode 100644 ecomzone-v6.2.zip create mode 100644 ecomzone-v6.zip create mode 100644 ecomzone-v7.zip create mode 100644 ecomzone-v8.zip create mode 100644 ecomzone-v9.zip create mode 100644 ecomzone/classes/EcomZoneApiTest.php create mode 100644 ecomzone/classes/EcomZoneCategoryHandler.php delete mode 100644 ecomzone/classes/EcomZoneCronTask.php create mode 100644 ecomzone/classes/EcomZoneException.php delete mode 100644 ecomzone/classes/EcomZoneOrderSync.php create mode 100644 ecomzone/classes/EcomZoneProductImport.php create mode 100644 ecomzone/classes/interfaces/ICategory.php create mode 100644 ecomzone/classes/interfaces/IProductSync.php create mode 100644 ecomzone/config.xml create mode 100644 ecomzone/index.php create mode 100644 ecomzone/interfaces/ICategory.php create mode 100644 ecomzone/interfaces/IProductSync.php create mode 100644 ecomzone/views/templates/admin/index.php create mode 100644 ecomzone/views/templates/index.php create mode 100644 te,p.md diff --git a/data.json b/data.json new file mode 100644 index 0000000..68874c5 --- /dev/null +++ b/data.json @@ -0,0 +1,33 @@ + + { + "status": "ok", + "message": "", + "data": { + "sku": "2246-911", + "product_name": "KitchPro", + "product_price": "12.480", + "currency": "EUR", + "recommended_retail_price": "32.990", + "image": "https:\/\/zoho-site.com\/cdn\/img\/649036", + "images": "[\"https:\\\/\\\/ourshopcdn.com\\\/01\\\/56\\\/db\\\/40\\\/fb\\\/5d\\\/5e\\\/9f\\\/1c\\\/40\\\/8 + "gif_or_video": "https:\/\/zoho-site.com\/cdn\/img\/1290557", + "description": "Kitchen food processor", + "long_description": "Multi-function kitchen tool grinds, slices, chops and mashes foods to help you quickly", + "categories": "[\"Kitchen\",\"0Promo\",\"0Warranty\",\"0Cross-sell\",\"0Clearance\"]", + "google_categories": "[\"Home & Garden\",\"Kitchen & Dining\",\"Kitchen Appliances\",\"Food Mixers & Blende", + "specifications": "{\"description\":\"KitchPro is a multi-purpose food processor. It is designed to chop, m}", + "dimensions": "{\"weight\":0,\"height\":0,\"width\":0,\"length\":0}", + "stock": "269", + "updated_at": "2025-02-13 14:01:03", + "products_id": [ + 17842 + ], + "ean": "3831125001095", + "has_variations": false + } + } + + + +php cron.php token=2bff5bb42beb2069ee5dc2fdb6f68933 + diff --git a/ecomzone-v10.zip b/ecomzone-v10.zip new file mode 100644 index 0000000000000000000000000000000000000000..3f1135dc019b1ee4bb2a729ff441488bbbe2ef2e GIT binary patch literal 23283 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 RiHV=~BTOrbT8ak#`Y+7|IsyOy literal 0 HcmV?d00001 diff --git a/ecomzone-v11.zip b/ecomzone-v11.zip new file mode 100644 index 0000000000000000000000000000000000000000..92ec5220cd970c992b504125f6aafccae876e2f2 GIT binary patch literal 23237 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 Zjy2NXL|uU}FmO{}{M0h1F-E|re*uF0Q{Dgo literal 0 HcmV?d00001 diff --git a/ecomzone-v12.zip b/ecomzone-v12.zip new file mode 100644 index 0000000000000000000000000000000000000000..1e57f6c868c1962c73717d56fb6672e7f56a6ce0 GIT binary patch literal 23879 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 v@`Et~mng8ChHf5#-85)e^m#bx7f literal 0 HcmV?d00001 diff --git a/ecomzone-v13.zip b/ecomzone-v13.zip new file mode 100644 index 0000000000000000000000000000000000000000..038fad894017c007bb5c55eadb32025a63847592 GIT binary patch literal 24007 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 UcMv-Z0QDm-vNT%aXb4>WAF-;d*#H0l literal 0 HcmV?d00001 diff --git a/ecomzone-v14.zip b/ecomzone-v14.zip new file mode 100644 index 0000000000000000000000000000000000000000..6eb6635037f3b9b7b14e3660a504113e6e7cf67f GIT binary patch literal 24283 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 literal 0 HcmV?d00001 diff --git a/ecomzone-v16.zip b/ecomzone-v16.zip new file mode 100644 index 0000000000000000000000000000000000000000..9c3b775b8c1e0196d0ead86ff14c8b1f2f4a9f89 GIT binary patch literal 24401 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 N7E4P;mSO~){SSZ!a_Rs8 literal 0 HcmV?d00001 diff --git a/ecomzone-v17.zip b/ecomzone-v17.zip new file mode 100644 index 0000000000000000000000000000000000000000..9c3b775b8c1e0196d0ead86ff14c8b1f2f4a9f89 GIT binary patch literal 24401 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 N7E4P;mSO~){SSZ!a_Rs8 literal 0 HcmV?d00001 diff --git a/ecomzone-v18.zip b/ecomzone-v18.zip new file mode 100644 index 0000000000000000000000000000000000000000..02a676c9f3b16d0103cda7ded82f3fbf03913a80 GIT binary patch literal 24421 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

>zWhe*-I}5Nh_`=)NnWBGN6<~9^jLmd&eOT;e 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 literal 0 HcmV?d00001 diff --git a/ecomzone-v20.zip b/ecomzone-v20.zip new file mode 100644 index 0000000000000000000000000000000000000000..d9f663d1ababd387b2b63e57e2efcb09159f458c GIT binary patch literal 24833 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 literal 0 HcmV?d00001 diff --git a/ecomzone-v5.3.zip b/ecomzone-v5.3.zip new file mode 100644 index 0000000000000000000000000000000000000000..28d74e4ca89e546db600cb1ca4cd7c6760658ffe GIT binary patch literal 18751 zcmdsfbyU~e(mvANAtl`{NJ~n0Nq2XbbaywB64DLQ-QC^Yjfm8b?>W~a$M;;{dw+kv zdo3AR%QequKYRAPzjYk{_?LMP(b)V`ns0pA1p2O=@jJQfFQbF zl^9ap7aIbky%P-33(#EHzW|)jI9xXQ|0M1`L*rz4J~b)g|#j8%=B$&t&FVx`0#PG62m~~5<`Ie z1!+iG)pA`B)qSKiQAN1C0c!5+n6bB#4)S|Y*`}0(`Q!zRe zN+I?N;v&$c%tmxemf<*mj=P4}9j4l^#k_8{R(zS7*>L;5f&uE4;kTqH$OJao_-}1w zv?`rm*hpCT3l7GuMCc7s7R0Fee(NbI83fL4X+Z`~66s|SU+ZHT4h6}#U!Fmt=E8dq zoCbo5*>%u!rk5Hy^^SRh!&HPO5!s>HaEt|?Zd?SfXl22V(HBtX)^$deEDau6d)OFj zDs?<0oD~~nAGhSI+h96;BE)8AB|F>?Jbaa@fqXuyt>y6PO`zKfy#T4nve04mr36j| z5H=e`$ZG^j=Q=T_MQp(^F&zJ_M6f)+qpJ28=l7syx~0S)E=mk*0!~dnn9un<6x*|< z-V^93O+~4a=y<2gAaQTVOE|jH!eUhC4DYbLi!8e8e7n&s6Nu1dQdyTi((5L%!y)tzJa-rs>oBs>~8T0#>Y5K!RMf>!MMBxEfTSJ@2+2D2h&FlI)9+ zsjB0D8>CrZ;flum-4_Prq-J(nW2QY6ufP0?v--tY@Yqf^wQX6oh8hlZi(QZsj`=Pk z9uUl@^!6A1)rl0yMna-oB8|q|xVi`i=&n`8b7t%@iD6&CEiCQ`2jcJ*bB;jpEZgNA z{Vv4U)*I?n$4nONeD;k+^}sUT%)hCeYo166^&tOt}DtUZgA0id&!QJ z5OH4QojG~yA(aFBC`P~H8vrCcOGQ6QBm&f#O298Sy319dU2gZL)=5~)0Q4FSqQnf? zaP`1498b3nAAVDn=&8Hr3@l?U+*KalL12-3tRwa=F^v%Dkw;R*MB)n<@tav$aLF z@ovx<$Om8fv_{e!8E^BHPRp+_TkLJo4Dl-f zPR2b$Bi`+57-(`|$JelHM1Zj>a_IfGBZyJGH089@H;DQX5f~Oj-KwHUt%C!3MEUx! zg3 z=ucq036~R7D*YlMY@WV?o{$`MXF-*51S)tV<0YE~fnC)kt6?IqqhmKGm|LsG|U>(VBt6s#mhH}vB3?(9FpielamN|le}{jX<-_h z%2683QxS(o8gKPIBrbvG^5dj$U#qZ)U?6{;WxX)BrN4h&H|0_EN%kUouG!sOnf4<~ zgL>CCcIrDqW=@Z5v{I!L6Yg!wnMS)VsvR+XUHgFr29DS*%Y}W1`CaIeb?)FV zJ{~~QVi1s}jYbuS;6Olt^XAWk4R8{%IR89}7?6N~h<ye||ZD ziWSXm=LHcThD&P=UWze&qmfvI4NoP&hrn81pjF{YLcBJV5tHr33i=dr1Q-4_fT zG<6w5L-NbW5!aX7#r=*RD;#v_aH*`om++o5Sv4Ro|$}z&0r&xl@vwwv#?6#nMEnJox=#J*Jvehkk{PBUlbo*qo1cM1&Q^g_0)Ei9JA1zq)l(mVt zXw_7WSKgloun@C<^tUM~<%t(f3bgJmUyUHvis(#aqwX}fgUf=@Lbeh~@q-u~I=+yX zPRCXTr!$q8O^>+L5f*}7XQhkL>3wH;c5-Nzdaskx*?{#3H71GccZuXx!jvc*dAbV; zbTnAyz0xX>EJVYF#UPWPp<6m{2P~9~Q>Eq6Wz}BV|IXCGqFyCw(Rejnu%rZ~<(Sb6 zhEx|R+g)qD`h6@`#@l%`5y~BqO-VKR9T}H^Ij8QEeFyVY)j>)Hm7!xoUbd=n3f*B!a+r%qP$DKmyHJJpeRqS$M!Ke zPVu&Xh9Th50WUvk=~X_J7&PUCCoWv2 z4=P;3^p|Mjk-qB+G}Jq*tmLoJ_&N~B@p(D!8P~nybs^Zv*Wg)ewh1_Tzq{LBE>Nrm zfp5#nf_NQ%rAA$qCv)hD#7gvkL(dVfd~|6Ei(W~|@a^=ur6n;mM^vL$sl{;@f!_s~s_w2TH zmy9c0pzaG1T$YOBW-eQEx_QeApW{cC6&L>sJXvlX{UQaJV>#Nq(>pfnroe|&Os}iW z7fhD5!aZR}?cZ6M$j)dL*)J!i_<|hBfx?+WPR47cD=d=*3zu602D_8Xl|75YftNFp zqylb|cO^TCS+(Q{$S?82k;nbSRBPrnBE1C&X3OO#XG7Vb?Gh>&2;#x{tfDL#;$IiN zAj-#F6xX2N%zx}9c7UMF$%GB#Cz_k}*Lu{ZB^+eNZ`h(=NZlm=T!3SKLOC7@fi1^B zmtD1~^p>%BaMdte;6sUt+jmQsF&t6H^{9=Dz$4DvB?SoW%_*!BAI0EEp}un)8)YzY zdvvGt2Hzf8Dw3{`c~ETZDtowGdf5JrM^(g9g4J$NSmYeoaw0o_%0#E9 zSP97eG!Xqo`$E|(<|Dtv!GK%82t-T=%6OzwM`4qiQAI(}%J)(1m$`Fqj^G=okL7@{ zZ;ZhaCa)JkBeI+GZPgZL(*%i{F4Gavg}$p)2##f5@1i*4xQq(zE?jA0Y|5=^0z5A< zI;l1k7!VM^zy7o5^#cV0BKfW7wXw92*S0nNPke8xthwm|J>tW$rnQ%6%Gl_58&|Dq zH{=`)leKky8@vD5W+hFoaGFMqLDr*N^hS1A41CS4mg=;v8Kz>}!nB9CaMq_#1#ws=m+^`?N{d3}JZw)qaKB%$wzDBDKKYU%N@O=~p1DI&a} z_1;N75CqH#>P(BO1D@%FFJ$HzJ56SG`zpw7i9%q0G)ZYnZl-c{ZEglSx9r+zA-%-T zmpz?$%_fcI%?WDt&A9+DwioA0!6kmz83(7G`15@}1Vu9j>8I~+s1y|PV&3IZl8T8{ zZ&d(yn82#a@l0Uqe(3g{<$&eTvl_)FKHDkjx$2Nuq+*yfN-5K(n7=C!2qSZyA~$b% zH!(8LahFi>0wqRjW2)BE5lRXc^XdZ*#%><%YGxQuh`{OL{kp{d%95UkuKTLd0VTbO zGThl=xb_4)d*?&_JxpD+O}RGnKn2qUUOJRXF_YIoQ0dz=d7~X8*kbxuZhJ`XCgm(6 zE`bk!oa;^$YsUvKfPert^v~9n1^mC9>*AJ%hR+hqA7?s1{&KGS$*5a;^B}tJD4GTJ z@qUWVwN%m-@0{)oZfmZZRwGX_vRy6T#$F6{s7kGv@6_8XxR4eRrMe zF40kL5#IE8F(_7uBUSn857VzqNgB{>z)oS?FVTmenN){X3>q9+a0Jga=_n1E_}Ajl zLEd?4IXEUx6uS+fg6+&e8c+6lh^Jx{fk}ekg%RBW16;<(1yg&yr$q%U-Oojx_Wc>G z89@U9k^atQNZIJ=+sHXv=>Fw1K#~6}O#tLC>zea^$#R|^(PO8yjPO;4_ot&M^!hM+ z193OfUu;(S<5Q5zBns1j*hSfCmZ;NI^kdt>d*^&1g z+q6k^Bd>*CT|HbvawX|S$iLVVf&wX_{owG$Nm%J!4Oj#!N{X*Gu~Ug2QhwX0k&@~C zU*}~B)mu#pKVOL_VOaNG zAr3OQ5)`%5vLs=wvQ35N_FhzmB#-Z0wodXs=$*WP%j;UMcafMiU$wu{shJUf$)PS! zQeRmrK3W&9Nb}RhV1wTi6rDi7MuxXU{IXEQg5<)P?JpUIQApG z=V5mGUgI(}S2ME+ZjWO*pne`?d}l^z~3KTYzjt0yev6XM5-);(g2MP}=$z#>7%7b|+V}-LW zc-zxXn=ALuAt^+vheSuEZj^tF(vIM8vQc-br-9v6^Rk(WJU2XzsA(#$ycbOn%_p7q z_~0l(tRFSIu7`YrSd7L=^7Bw%;go&QQD4HxGgQ;2=8xjNa6`Q`+gZE!8hV{q5F!F< z#E~c@kkp5sh5Ft4$BveL_NJl+m6+b*wwv#q#lSX2V_w{v2Im>HnI_F+cGhAgl`4Wu zla)MZV#~ob_Dp~Lfclj&h(Jj6BtgUoXz4h^S=|h5+3CAzUYL=F^XUn=%i@PD1kSOZ zo00bDjyffXsaF+VF#sDkJwb?D;HiEH z*q%Q(?%}g4WU(R;5c%&muC$G%p1rQ!-?lC%{-0YHAb;7qOE{*M3xekj9$oM0ZEOlU zCE*3EO=5Vi3Qg|W=ZswpK|v)-h?!CI&$WA+wp&&X4{hq`xHdUySwHdM9v>bK9yU7W z7oTVrCma-qKFA1SUX2rH5QkQDYK~>@;7UlrzqJhDB=Py&AR{|!b_~I^lB%I+tOVY* z<%Z1ZcjI$XQ{#Zgy-XOV!&N!`RPGeA(=imS_&zZA^^cvPNK4=1nOHGJ=EVpx?G8vsP z-wA9TtYdR!2AuZGiA$LtSBcm3E|BN5+OQ*80!eFW5j`*}un-st%YB=NvmC6P$&Flf zSWN5dvhvnwm+D?hohu!wWOTNkAI@JRH=Hd;-`G`4R(=}qz}b|1s(vXsK(e+Q^NpPo z93LkeU_5vO3yggI>d@Ue^7?TZ^+AOvPc6p}&z7Bh!*B%We0XDU=MiIG!>p@1VVq? z-R9ZoM1lFr*virYRb>_>7o1I)gFF_&4(KeIi_5vMCL#h(Mv15{JSg$)SPE=Q@Hr0C zXFlh*kZTcbA92rTG(o#L7a?4ndU(Y%cdjcUGunrNb(lV!M-kVACWcksoU7s3Wr`?I*j=XDxt zYt+1fyW;R(iEc{F778iel(y8|6x`T0>+2X$i;j6QRMAk1Z+(YjjDJ54ezPEJ#A3LO zwbDpXsu9JT)F?6DkgYF;1V-B(B`v=zm%NkF+L5{)WSOkL%CrJAWYUMj2@02V_USuo z@pXvSL}tff`So1pTn$T+0!{$yy~|hRU6I5zWg>}ozbaA)%h2JHA(BtTs0qD`w zG+w;K@@XKZ??>rDv^iVWm6OP~v__b6?$Q=%c)0_QT3FjwTJT?lt!GlKF3n#@3q_di zn0{LV)uHu=C>_+<_QbWt%Is65!_Oz*Q2MCz{ccIU0#A+`1OkX5`I~JouOFO|)$2T< zLoN{9gH4z~ywpsgI1s`tFo@^s+ecZ|s`Pr50`A5@D6rXXT;qPe=?o=Z7Z66Kmn>lL}iBg9m1UJ>2* zb<-XO>3bBAxJ8s^Wggajam-|K$OUEUjP95<1#7G())n>Y| z?=V@Kv-^}f_&aW>o~^;u}YU#m=C^Ok^W4FO>b{^K7XE| zGL`zk3K3YsTa_NCTqKwtU;(q!*hWsudt>_D+ z;SL!YxA<3&8sAzOh4o?h9zCA4uf0<^_I;O!34MK+tqqB(c#X>~=kTP8C@$;FZ*;$) z>iD2M2z-mE?~<9LTTorX2oVgn>!w{HO0k|j^eglWC&UV)BiLYS)p>_g zg@I_{ul9&!fJLH*SjYPlW&XG9XBW7 zCE`F3@?F+>=!~^rN*0gr@@D9yN(v-bf)P~!kxwWa#Biq1RZamxr^I+ef-SlKOVUzr zZK{He0WB!;QHg3%oD10TkoXql204Xnu66?-QCGXBmYrJ|X3nCNa6@L|9(<9*xvF0s zd*LL=kvW!MY7HpcID#;5EKi`y&HHW56IPhAnUWZgP{Mk=POZCK5yx2kMc+|$CQW?F z7{AZp)*88Iyhm;kT}`e~L9@BUmnwd@M;Lmn5ppfF#(^jjmHFwMw=Oga-#(LrLWDzG zB$bF{q|Gtmhw*iv%%iwYcO_Z_ZKn;{?5K7}r3D`Fe35yz^v+s-5oC3hlqTLs&{d(d z3#92{oVxR(ka?5mE>*Fw8jfC+Pk4#nJwrDLhERE}g-E$ilD*AV@e`wHfjLkzL*fQC z&CF4cZn*s8cti5t_K-$8j>dC;E`24mTWQ*1qk zKJ?{#?)PdfqLsasb@!!r*(p9RyrT`^4D}W$VND8`jM)@;76S~1uc(C~T9Ww+CNK%u zjf?w@F49Vk5r?vXhG;C;m&c0OfaA3V3J=zK>Ig)%t3HV|6R<(pL`y{amz5*m#wNv- zjOE2>y6>a*YAl22$BYBT9w;Zp;>f(FbR`=v_xces`Si>4Rp;wp%a&+-1J;&6oaHb^C*EgnB>=b zlC~Gu-1(e1otNiv-)S?0ovD(&ob&mKAW%~IxWsKvoj1dyNkaDAd3E-8BG0HP^3R)1 z;KU~R#-ZU-Rs3F*0ZH) zXk7{l?!^Jj(#`~CS~p)kE{e?fJr~VgT_(T6lq`?IEw9|V99X$!#~64GU+XgxcsNoG z5f)a*mAVj$u`XsokmdlwW@~Tm*$aIml14DZWP?p+Xk+N<_azp{^q<0zD~*nGk^){b z&l|Yu7?O~p$K|C^ogLdIY~x5fKz!z!UTp{xCzHtM4Yc*mPg<_y+9I}mt?gfU6v2>VN>Pti!^NQ@GS%(ey9odg4^yX6U+7_4X@g7b-?uXZh#mfU(qpMI~~f|bej9QXSvPpX$629XZNKLn+=zYR^b@EI&*S^YpU#y?VuYb z9(*oogXFl)f=PJm-xs+P&)FrnguMHluCNRL2Dlf8k|(oo>eENX#`9NxL#RFM65AAJ zs4t%D5?1c4-UokHS{FQivatj)Dp zAI;M00aH&Tcxxc~KrdcaSM+w5-%ITM``yy1Qf7IzxF~B=+k!ezvqPop347X5STjnP z20s^Zl;m<_>ID?pX3dX&gfjtD%+h_{_de-1GrAr7JQOS#%sNp#eq(uj)5yN)-okZO z{CMwn3vT0?E;y(a;==kW8LPEgZ7~alCfl5XsgPIS@qu^L%9iKv zsA=Hq-pj9yh`x46arBFPIarb8y%9zy8SJ_Y!ZUEoAQz}!wdCbQU!k(wp+!4?0GbDTL zY~8$v@dm%He`jAqv0MSFTT}0AS!n{Vvx>nB{c9{QI7DGbcj5Q(^vUXI-uw{KeAf}sHzrYi_knUWf^ooN`4{gCDyy&;kFFR5#>86>NB+d!% zMarjwgW3ovgpF>0LyTPV`TdkfBChh+#a4}`CAA<#j{Q*GR0x`lNy>NOqI$FwmSH2M zy6s243N|A)m3jEuq8FQ%>!yBO?mf!5y;wO|cIhb!c)>uk(q8uNt(6}N`JbHamq@%b z@nhX;1`vL7zU=drB@vN?*|`M#s{p+Hspb;VF*k(rXr_YsMCB3!-CKh!c1`zdYyYkk zX(cxwSlHa6FJZUA;_FyJ25Xt^7p7-LY1)sLU`!U$9HR6f4;}N-l&>?v;cc0zm~OH1 zC1dC7s<{c)X9!X-xHv5B2D{vb9NySyp2gbPrT6V7aC`K3+23eLfVq`8lbY!|#2d$r zAO^I5FA8{NIDMqyBY4*s8L|h9c9nB?O?Q}8kqfi5o}vI^&RzmPo*jsM!PV>|`c(@? z&7MF9iUSD^B+pOhGn}d7OVjU^h27&$v$XiWTOo1cSuB|iTmdq|wnXE32eofT(hLYH zd+tLxlOYeP2PZJXGp;4iN|CUyVeAE#m|O`QEwBnou?w6<9Ql)qX{XS}XS1MG5odD{ zAakj}$m;kR5h10TO}Yv&_upWEE#|92F7nrbj!PA2U*)Rm>=v5Fa7y_IPcc&Cs_jG^ zMyJ63s`xof<*I1j5>2Ta(RedK?%5ZqnzjZF#qp@yi>XMJ&A@KEILXfYexl{t__d7C0gVt~r`UljB<&t;ZHXO-SPn z-Cf$#-4CGh^Rp&Y^Xy3($y2Ep>z`^u#uj?|PJb0}Z=T+i0p67XxbZgTu{9p8e$R?et)K_SS)tCJ}0FFrOvNVB2f1?aRI)${A>OVF4s*xZ%f?{PE<$- zv_I9XEQ5uESHofrGN=u+PC)=fbvI^5w>>@71JLo4sOL`<0<0JetvUt5f)<^G0ub7y>cx#h!kCOMt(*!%NRB3ORg3Bt^LC6YYm9Hvctgx zLBOk(r6Y@w$i!WLRQ6lWmbp|+jV6nIQXOv_Rc%=YlHOM_6|Ni}nz8!On4KHcrrh$u za0?EaNw#{!n4c#eUo*Cemqv8!CPE-2VrkP+4Iq(|sR%)PDCL&LdK2EI2Ff3MhUGlR5Q? z1ZN%(EJeCG3jynFN?bOGsG`xhVTEbzGFVZ3E@fr1;Ga%6h{W_>d zjSCr`|5HsseuP;zAD^kPD{SD`k4??$uZpZxkApJpkt15d1i2j3^ytRdSeviVuP=co z_i`H4ce1_)-zFeTP<3T-bRJ9XqWbMXMVcNO8TPA)mbj&IqgbeK-3cm|XeXxGe@?w& zDGbz>b&^8HsGM3KFj0=Jj40Hv(`cfKcQ=ZhMh0&~5`F9C^)Y}-58S6zhyJJ&FP4*@ z1zgd_mgF+5%}qC4WL9MDrVeAN7F>P36kLZE-nTM5l{eiK_)H&N@nJom*JPL@fm0JD zE8GnZ&14|V(hu*;SZak%ZnhFi(}W1thgG_3bupPw8RPe7$GYYe0>!$$C#~cmUl1YU zBkUFfnDIty`XW)KP(Rij(sLqw=WfMbpFir&iFcrI?Q zNT04<0H*fS2vMF@a2IfZfY6@r)*lZ_|1!kff4wOM$X_;Uld`$x0xR-Enr0iCH(xiY z!&i9o7lttz*bT+j#wnFCU=|^KTEz3Dgdvn7Z?0(0S1g6ckOgEMk{3AKjP$JySm_XU z{Mf!-5o&Hh*m%-JnoVYlh6zITV zx-}0h1CT|+(ImibIwDcgKGB?X$8uO%0#RMj6|e#_gRcpkk$g}kWXAJ%q@RlUTqCE+ z8H}iiM69g#6vWMnpr(U(fuZN9J+D4l`odHbAwG|OQUU9C;4K%w=8F#W z?q&^%drw9a?9xsA($`iAtf6<0S0GAP@--U{b7;+Un6EE%nYOL^yg65{b`Bbrb$kfg zkZm%JkA|3!Z(!ntTKx3;JG7(^-Xf%Z(Yg|s!duYJIa!V@F&R2$mS7Il@^f^gN2NWaI>FtwDMWB<%`BVBS&HudpQ2MH$#W zuaptL*`L3JzpVKvdy1?Hl(tX9cB3LKNtg>1DP6LPDL8i9H^mzKAuqz4cj!%`T6?!x zH;WsqGF8lp`3iJSgzB3bob;iX_;V>VC7Bg zG&P(|{M_OB7fANi1C; zP81letaE;FR|R>)vhp4_(ktrV()DsVWjwXr5c&((+H;p9(b8CUrIIc_RurX_y^vie^4bx z$Bccvepw?f-$(5x=Vik9&P!CoWMLv6ky}G_#${B_2LmS{Hm*8rZNTLlQ1h|FmDa&5 z*Ik9I!Gf`%$^cukYz3i){lqui+5u%%Q}5*gwd^z}u$wGdXu_vb%*W*tMy0PF(<(6A z(>K=IG|dGL!3NeU#OhPfM&N?Ja-XU&`q&dbN{fu2W)rrj=w5VP8N<0(SGGUQc%O!i zT&aB9b!SyWW@8w#n&sdkTMOl9WxY{8mb9$n&XmDeEXo7%tLcA zH5JZWkPPD*Hrbg14dxYG*8Q-|D0f!7RK-mVB@#s3vKK{d7NC}%!%Nrld#3%&>R)vtVoaj=qa+fRO?`p7a)1Xd|85#!pFvV&*$@yor3 zv&X9OBhb{BL$5r7nLy8bvBeLmi=5XcJGi~qBCG}1mx{!?x{rgHTXX{qb%UTT{dXzC zP%&S4a+pO%O&M6@ISGK3kAyBU3p*R6qS)8slk+BX-?;b-HYY1-VhW$D^Xb-ht67AP zXm@@Zptkd$tdNUXg@o8WY^20wi>GpwG=mVeW-SLZ`X)0*GQ_Ut(lrNBF1BoRx3Cmo zWOMIsf?XxQwce~GSpf#a;ar-Fw+%lN+G#bY#fL$|{9;2~{#4#}l8j%1ji{!Z>0=1f zq+5PO6eH;y!>pc4!4nM*_4hm%a6sU;3h4gY$JithI{2AyMP4ZBc*eXL0x!2_*c;%4 zb1+Os6Q?@4s}yyDG=?el`{+fyQj6(Jp)ti0kCP5^&l?5`_c{@(Sl#UVwy18rbVNS` z{Pmf0xUu)sJ6gI2)QYAfPjgR{Y71UIDG*iLwsLQeH`Yq-ewZ|STxsOpvRAHC>WJ*b zB^pBq8Ec5&SLjDo@vAYJ6ewl#2;4Y7N*JD=*X3yM%>|N@gi;NSc7Z_$9}?(B9KVS* zn4r<=<7YbNMj|+kuFZHH-|ZOiXlh*(aOhKZ2)1GG}oalkGc>s!@|;*B{}m!l+U!V2^C{XpgGmzT)Qa=a){~iIihvvA8Zr zTgtIKI&6&gNN*5EueqS13p8B~e+|yep6$0S#I3SXh+ABs-eq1v%4o#tTHS_>7R@g? z`WBKoC9aMlokinCLv$dS&D35`WW07zcTGFQI9|)L;zL5CkIM_>V?B21R!>Z2h(z&g8%{oL zcZBD$gM+cYo@=U$QTU%mv)yw3HbTVe=66tv@kF>w71cxwX-t&quu2tV?9>+ze%22_NJOIAsO=P{GsQ0Mf+8swb_2OJ1002%$cqv0 z3L0fzZW7JXOLsgFBX=3LQG|j?olgqOZjA*1%N@uq-g$q#-#M`cfi(+|QRwoB&8E&@ z6e_oj7uD{6n>8O9g{GfMK{zc--=bcWCj01UImy#fo7^s;&;?SZE$z{qm9lbAWRhG)U$f~e$q7(e!2 z*)j9ug{1FjfS(3tF_@(`RVC#)#_G`L<5oHWvzJ%w=~P26G~LBfbQ1l?>9+?shpLWZ zHG~yJkz{i2lGTDaM{#XvtlK1VNC&{n-kf}8fTipY9UfM@KP759Rl!q3wt(~rsSk_8 zy=1PMamG`T*SW<`iezJ-@x4DWC@-r!K#n2~-Y-x-JmhMRX(acXR78eCHr~<+>^MXE z(77JP$h)3eFLj_bD!?&}&SFY^XiaTzHa~B&BH2$z`sp_HT@Ug=Q}%o;{g$YhEnjY2 zDq%OnZYUq&OOyym#5rkH-;Dy#YI36t+rlAv@P&mU$DkpygQWM22oE!os-4AjWWFn)0=zE3r)W- zRv@aUqY-p%u`_wg(anrDPK8u@WKzb982b*BSQfS8BhQn`K)gg8zM&I`k z*z`m%iBypegp$Km_o`tpyu0LwV(DwfnK;yOo~UZOI=UO0Yhd)yHL*=;*22`UGFkrS zdox7#n99km_Vy4$t*CzITdb`OuQuB-&Vsj%1ks&7Fe8q;Bn^ppw)>lsn3OCy@+JdT zQPfQ+?e}tS_mqc#vP7 z&N-JsWO?ThsY8IRJb6b5Ncybq@ye&SG60wGGt-)U=HLK@0K(sSqQBQi=$||sz{>&T zFP`rIXnh250(3kh4DdVZbHa=*?DTC6v~_nC##?TMz1UC~KG%0*(kE;+K5+)H)2>*fA{}iUFg*lH)(oBp za(YR2b<%W2$Y-xOybWiIW*j3t2U#s1%UNjc(ny7^qo}s(n=>EB2 z)*XLJb&1JT$~>CPGwW`++>-VfOedj7J$&s}Y-Ae-V9*(i3|@;*D*)i^C!3wm)(2qF zxc`RDzuPj>(*gk&2_S!^@&9J64`92E&$t5o{x@6Jchc9jvNN`{_*Y;9`a})yQv)nO z{zB1D_L-mAGW-+!6wldzrtwF&t$>rR{vRNJ6?48l8M6En3_$(@Q&~>eOTH>PEJ98D z-b!M4B&>f#%)VGyl7_r*a70eHm|SE?>_va;yV`;}RL_hICJHh}Wdb(t(%N@z6Lf=P zJrg8c_`NG6lWfGxT?|icvhUkQTU$r5VYCx5p{h$or>R0HHMJp3Q_t`yG-e*lYwdu~6r)@FZ(!NX6S02;^v z@)vG?(oX+OmEn`Bm%pkqwy?F+HZ%Ln@)rN45g>oj`lsc|QqT^{lqm>PQ;HT%j#h0` ziqcTf^veN3soIhd6I*#fM)JA2fn_AR8*3P7Sc~XLhQAUX^)JKx!#1)>JxI8pJ_GP6 z(qb=wQ9=HF%ly+n`D5Jk0>qDc=YP;Z|5NQhwb1{m6bR^^SLnIg|Gc68PxXKt1JF|c zyu}gFQvYLAdBy*e`X5{V|D(bF2VXz3o98V)fELOhqsj~aDINTauOAcp3;928sQeZ1 zdDjQY-vEo?tq#xMQUh8YevB%wA;jMR z{#T6;&oKe7w4dMA0bXhU7*$^WPrKvaPV%1uq2IjOevS&b2Yi0<1-J+NF{-?hN&f-$ z?|%6=w}Q`c02%)CyA8lK+K*A?)j{?g=Rdqud#)aELGrx(0k|OfF{-?TDW9qT!Qx+j z?l;#ZKOg|Aeyvde>L@?PJ+JTUXAu8sRpqC9`lq_ePvv9(Q~A$|#UJH~-&R?E!u&c1 zK%M2sxaTEj{2z1p3G<&;U4HsR0NC>+>+e3%?|%pTuc|OVmI~k#0ZH6*qXr~#KSq^T z1~O-lCz51{v-a-bi0_q-dd&+z`MjOZtqfSl-gd=JQpevB%wH*Eim@ZV-g zKjsAB5Rf-K=Ma!L{1{bUKJ5RD_;>n#lSTZ10;v3_u=@wpJ#Q(;GpJ|b;U9MY+aUZW zeSk3hc`ynH!+(q_uNR#EjPT=}{I7!Y9}@#`2#9q5J%?y-{~7l09R4Qm{Q(7-$v*{( zKW2E(%ggl)>OTt`f073X9G^#PfWYy`sPYQ^RrP-nMoNo;J^hyufKc=$&^M^37G*#{ H2=xB|&OFHG literal 0 HcmV?d00001 diff --git a/ecomzone-v6.1.zip b/ecomzone-v6.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..ecc81b49d11b27802bdfdb21b9937a4e408d0853 GIT binary patch literal 6712 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 literal 0 HcmV?d00001 diff --git a/ecomzone-v7.zip b/ecomzone-v7.zip new file mode 100644 index 0000000000000000000000000000000000000000..037b8cc03204181dd5891672c2b1582e0e806969 GIT binary patch literal 16496 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 literal 0 HcmV?d00001 diff --git a/ecomzone-v8.zip b/ecomzone-v8.zip new file mode 100644 index 0000000000000000000000000000000000000000..635ffe6f3b6ff11853a7f936d64ba375d40730bc GIT binary patch literal 17483 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 WIQVlG2DCS$0`)v=NUS*l-~Jzl*R;3* literal 0 HcmV?d00001 diff --git a/ecomzone-v9.zip b/ecomzone-v9.zip new file mode 100644 index 0000000000000000000000000000000000000000..e6a9047e228bedb70d1d28becc7d6de722a00ee0 GIT binary patch literal 22938 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


I0g;&%2V;YUT#v44^M>v@0t2!RfGZLV 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 literal 0 HcmV?d00001 diff --git a/ecomzone/classes/EcomZoneApiTest.php b/ecomzone/classes/EcomZoneApiTest.php new file mode 100644 index 0000000..e11f6f2 --- /dev/null +++ b/ecomzone/classes/EcomZoneApiTest.php @@ -0,0 +1,53 @@ + +client = new EcomZoneClient(); + } + + public function testProductFetch() + { + try { + // Get first page with one product + $result = $this->client->getCatalog(1, 1); + + EcomZoneLogger::log("API Test Result", "INFO", [ + "result" => $result, + ]); + + return $result; + } catch (Exception $e) { + EcomZoneLogger::log("API Test Failed", "ERROR", [ + "error" => $e->getMessage(), + ]); + throw $e; + } + } + public function getProducts($page = 1, $perPage = 10) + { + try { + $result = $this->client->getCatalog($page, $perPage); + + return [ + "products" => $result["data"] ?? [], + "total" => $result["total"] ?? 0, + "current_page" => $page, + "per_page" => $perPage, + ]; + } catch (Exception $e) { + EcomZoneLogger::log("Failed to get products", "ERROR", [ + "error" => $e->getMessage(), + ]); + throw $e; + } + } +} + diff --git a/ecomzone/classes/EcomZoneCategoryHandler.php b/ecomzone/classes/EcomZoneCategoryHandler.php new file mode 100644 index 0000000..377df4c --- /dev/null +++ b/ecomzone/classes/EcomZoneCategoryHandler.php @@ -0,0 +1,215 @@ +defaultLangId = (int) Configuration::get("PS_LANG_DEFAULT"); + $this->defaultShopId = (int) Context::getContext()->shop->id; + + EcomZoneLogger::log("Category Handler initialized", "INFO", [ + "default_lang" => $this->defaultLangId, + "shop_id" => $this->defaultShopId, + ]); + } + + public function createCategory(string $name, ?int $parentId = null): int + { + try { + if (isset($this->categoryCache[$name])) { + return $this->categoryCache[$name]; + } + + $parentId = + $parentId ?: (int) Configuration::get("PS_HOME_CATEGORY"); + + $category = new Category(); + $category->name = [$this->defaultLangId => trim($name)]; + $category->link_rewrite = [ + $this->defaultLangId => $this->generateLinkRewrite($name), + ]; + $category->id_parent = $parentId; + $category->active = true; + $category->id_shop_default = $this->defaultShopId; + + // Set shop association for multistore + if (Shop::isFeatureActive()) { + $category->id_shop_list = [$this->defaultShopId]; + } + + if (!$category->add()) { + throw new EcomZoneException( + "Failed to create category: $name", + EcomZoneException::CATEGORY_CREATE_ERROR + ); + } + + $this->categoryCache[$name] = (int) $category->id; + + EcomZoneLogger::log("Category created", "INFO", [ + "name" => $name, + "id" => $category->id, + "parent_id" => $parentId, + ]); + + return $this->categoryCache[$name]; + } catch (Exception $e) { + EcomZoneLogger::log("Category creation failed", "ERROR", [ + "name" => $name, + "error" => $e->getMessage(), + ]); + throw new EcomZoneException( + "Category creation failed: " . $e->getMessage(), + EcomZoneException::CATEGORY_CREATE_ERROR, + $e + ); + } + } + + public function getCategoryIdByName(string $name, ?int $parentId = null): ?int + { + try { + if (isset($this->categoryCache[$name])) { + return $this->categoryCache[$name]; + } + + $name = trim($name); + $sql = 'SELECT c.id_category + FROM `' . + _DB_PREFIX_ . + 'category_lang` cl + JOIN `' . + _DB_PREFIX_ . + 'category` c ON c.id_category = cl.id_category + WHERE cl.name = "' . + pSQL($name) . + '" + AND cl.id_lang = ' . + (int) $this->defaultLangId . + ' + AND c.active = 1'; + + if ($parentId !== null) { + $sql .= ' AND c.id_parent = ' . (int) $parentId; + } + + $categoryId = (int) Db::getInstance()->getValue($sql); + + if ($categoryId) { + $this->categoryCache[$name] = $categoryId; + return $categoryId; + } + + return null; + } catch (Exception $e) { + EcomZoneLogger::log("Category lookup failed", "ERROR", [ + "name" => $name, + "error" => $e->getMessage(), + ]); + return null; + } + } + + public function processCategoriesFromString(string $categories): array + { + $categoryNames = array_map('trim', explode('>', $categories)); + $categoryIds = []; + $parentId = null; + + foreach ($categoryNames as $name) { + $categoryId = $this->getCategoryIdByName($name, $parentId); + if (!$categoryId) { + $categoryId = $this->createCategory($name, $parentId); + } + if ($categoryId) { + $categoryIds[] = $categoryId; + $parentId = $categoryId; + } + } + + return $categoryIds; + } + + private function generateLinkRewrite(string $name): string + { + if (isset($this->categoryLinkRewriteCache[$name])) { + return $this->categoryLinkRewriteCache[$name]; + } + + $linkRewrite = Tools::str2url($name); + + // Ensure uniqueness + $suffix = 1; + $originalLinkRewrite = $linkRewrite; + while ($this->linkRewriteExists($linkRewrite)) { + $linkRewrite = $originalLinkRewrite . "-" . $suffix++; + } + + $this->categoryLinkRewriteCache[$name] = $linkRewrite; + return $linkRewrite; + } + + private function linkRewriteExists(string $linkRewrite): bool + { + return (bool) Db::getInstance()->getValue( + 'SELECT COUNT(*) + FROM `' . + _DB_PREFIX_ . + 'category_lang` cl + JOIN `' . + _DB_PREFIX_ . + 'category_shop` cs + ON cl.id_category = cs.id_category + WHERE cl.link_rewrite = "' . + pSQL($linkRewrite) . + '" + AND cl.id_lang = ' . + (int) $this->defaultLangId . + ' + AND cs.id_shop = ' . + (int) $this->defaultShopId + ); + } + + public function createCategoryPath(array $categoryNames): int + { + $parentId = (int) Configuration::get("PS_HOME_CATEGORY"); + $lastCategoryId = $parentId; + + foreach ($categoryNames as $categoryName) { + $categoryName = trim($categoryName); + if (empty($categoryName)) { + continue; + } + + try { + $categoryId = $this->getCategoryIdByName($categoryName); + if (!$categoryId) { + $categoryId = $this->createCategory( + $categoryName, + $parentId + ); + } + $lastCategoryId = $categoryId; + $parentId = $categoryId; + } catch (Exception $e) { + EcomZoneLogger::log("Category path creation failed", "ERROR", [ + "category" => $categoryName, + "error" => $e->getMessage(), + ]); + break; + } + } + + return $lastCategoryId; + } +} + diff --git a/ecomzone/classes/EcomZoneClient.php b/ecomzone/classes/EcomZoneClient.php index fe3d14f..f282a9c 100644 --- a/ecomzone/classes/EcomZoneClient.php +++ b/ecomzone/classes/EcomZoneClient.php @@ -1,107 +1,152 @@ apiToken = 'klRyAdrXaxL0s6PEUp7LDlH6T8aPSCtBY8NiEHsHiWpc6646K2TZPi5KMxUg'; - $this->apiUrl = Configuration::get('ECOMZONE_API_URL'); - - if (empty($this->apiUrl)) { - throw new Exception('API URL not configured'); + $this->apiToken = Configuration::get("ECOMZONE_API_TOKEN"); + $this->apiUrl = Configuration::get("ECOMZONE_API_URL"); + + if (empty($this->apiToken)) { + throw new EcomZoneException( + "API token not configured", + EcomZoneException::API_ERROR + ); } + + if (empty($this->apiUrl)) { + throw new EcomZoneException( + "API URL not configured", + EcomZoneException::API_ERROR + ); + } + + EcomZoneLogger::log("API Client initialized", "INFO", [ + "url" => $this->apiUrl, + ]); } public function getCatalog($page = 1, $perPage = 100) { - $url = $this->apiUrl . '/catalog?page=' . $page . '&per_page=' . $perPage; - - EcomZoneLogger::log("Making API request", 'INFO', ['url' => $url]); - return $this->makeRequest('GET', $url); + $url = $this->apiUrl . "/catalog"; + $params = [ + "page" => $page, + "per_page" => $perPage, + ]; + + return $this->makeRequest("GET", $url, $params); } public function getProduct($sku) { - return $this->makeRequest('GET', $this->apiUrl . '/product/' . $sku); + $url = $this->apiUrl . "/product/" . urlencode($sku); + return $this->makeRequest("GET", $url); } - public function createOrder($orderData) - { - return $this->makeRequest('POST', $this->apiUrl . '/ordering', $orderData); - } - - public function getOrder($orderId) - { - return $this->makeRequest('GET', $this->apiUrl . '/order/' . $orderId); - } - - private function makeRequest($method, $url, $data = null) + private function makeRequest($method, $url, $params = [], $data = null) { $retryCount = 0; - $maxRetries = 5; - $backoff = 1; // initial backoff time in seconds - do { - $curl = curl_init(); - $headers = [ - 'Authorization: Bearer ' . $this->apiToken, - 'Accept: application/json', - 'Content-Type: application/json', - ]; - - $options = [ - CURLOPT_URL => $url, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_ENCODING => '', - CURLOPT_MAXREDIRS => 10, - CURLOPT_TIMEOUT => 30, - CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, - CURLOPT_CUSTOMREQUEST => $method, - CURLOPT_HTTPHEADER => $headers, - CURLOPT_SSL_VERIFYPEER => false, // Temporarily disable SSL verification for testing - ]; - - if ($data !== null) { - $options[CURLOPT_POSTFIELDS] = json_encode($data); - } - - curl_setopt_array($curl, $options); - - $response = curl_exec($curl); - $err = curl_error($curl); - $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); - - EcomZoneLogger::log("API Response", 'INFO', [ - 'url' => $url, - 'method' => $method, - 'http_code' => $httpCode, - 'curl_error' => $err, - 'response' => $response - ]); - - curl_close($curl); - - if ($err) { - if (strpos($err, 'Connection timed out') !== false && $retryCount < $maxRetries) { - EcomZoneLogger::log("Connection timed out. Retrying in $backoff seconds...", 'WARNING'); - sleep($backoff); - $backoff *= 2; // exponential backoff - $retryCount++; - } else { - throw new Exception('cURL Error: ' . $err); - } - } else if ($httpCode >= 400) { - throw new Exception('API Error: HTTP ' . $httpCode . ' - ' . $response); - } else { - $decodedResponse = json_decode($response, true); - if (json_last_error() !== JSON_ERROR_NONE) { - throw new Exception('Invalid JSON response: ' . json_last_error_msg()); - } - return $decodedResponse; - } - } while ($retryCount < $maxRetries); - } + $lastError = null; + + do { + try { + EcomZoneLogger::log("Making API request", "INFO", [ + "method" => $method, + "url" => $url, + "params" => $params, + "retry" => $retryCount, + ]); + + // Add query parameters + if (!empty($params)) { + $url .= + (strpos($url, "?") === false ? "?" : "&") . + http_build_query($params); + } + + $curl = curl_init(); + $options = [ + CURLOPT_URL => $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => "", + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => $this->timeout, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => $method, + CURLOPT_HTTPHEADER => [ + "Authorization: Bearer " . $this->apiToken, + "Accept: application/json", + "Content-Type: application/json", + ], + ]; + + if ($data !== null) { + $options[CURLOPT_POSTFIELDS] = json_encode($data); + } + + curl_setopt_array($curl, $options); + $response = curl_exec($curl); + $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); + $error = curl_error($curl); + curl_close($curl); + + if ($error) { + throw new Exception("cURL Error: " . $error); + } + + if ($httpCode >= 400) { + throw new Exception( + "HTTP Error: " . $httpCode . " Response: " . $response + ); + } + + $decodedResponse = json_decode($response, true); + if (json_last_error() !== JSON_ERROR_NONE) { + throw new Exception("Invalid JSON response"); + } + + EcomZoneLogger::log("API request successful", "INFO", [ + "http_code" => $httpCode, + ]); + + return $decodedResponse; + } catch (Exception $e) { + $lastError = $e; + $retryCount++; + + EcomZoneLogger::log("API request failed", "ERROR", [ + "error" => $e->getMessage(), + "retry" => $retryCount, + ]); + + if ($retryCount < $this->maxRetries) { + sleep(pow(2, $retryCount)); + continue; + } + + throw new EcomZoneException( + "API request failed after {$this->maxRetries} retries: " . + $e->getMessage(), + EcomZoneException::API_ERROR, + $e + ); + } + } while ($retryCount < $this->maxRetries); + + throw new EcomZoneException( + "Max retries reached: " . $lastError->getMessage(), + EcomZoneException::API_ERROR, + $lastError + ); + } } + diff --git a/ecomzone/classes/EcomZoneCronTask.php b/ecomzone/classes/EcomZoneCronTask.php deleted file mode 100644 index 212c893..0000000 --- a/ecomzone/classes/EcomZoneCronTask.php +++ /dev/null @@ -1,40 +0,0 @@ -name = 'ecomzone_cron'; - $this->title = $this->l('EcomZone Product Sync'); - $this->cron_frequency = 3600 * 2; // Run every hour, change this to 2 hours!!! - } - - public function install() - { - if (!parent::install()) { - return false; - } - - Configuration::updateValue('ECOMZONE_LAST_CRON_RUN', ''); - return true; - } - - public function run() - { - try { - EcomZoneLogger::log('Starting scheduled product sync'); - - $productSync = new EcomZoneProductSync(); - $result = $produgtSync->importProducts(); - - Configuration::updateValue('ECOMZONE_LAST_CRON_RUN', date('Y-m-d H:i:s')); - EcomZoneLogger::log('Scheduled product sync completed', 'INFO', $result); - - return true; - } catch (Exception $e) { - EcomZoneLogger::log('Scheduled product sync failed', 'ERROR', ['error' => $e->getMessage()]); - return false; - } - } -} diff --git a/ecomzone/classes/EcomZoneException.php b/ecomzone/classes/EcomZoneException.php new file mode 100644 index 0000000..ca8a374 --- /dev/null +++ b/ecomzone/classes/EcomZoneException.php @@ -0,0 +1,13 @@ + self::$maxLogSize) { + $backup = self::$logFile . "." . date("Y-m-d-H-i-s") . ".bak"; + rename(self::$logFile, $backup); + touch(self::$logFile); + chmod(self::$logFile, 0666); + } + } +} + diff --git a/ecomzone/classes/EcomZoneOrderSync.php b/ecomzone/classes/EcomZoneOrderSync.php deleted file mode 100644 index 6e9bc4f..0000000 --- a/ecomzone/classes/EcomZoneOrderSync.php +++ /dev/null @@ -1,81 +0,0 @@ -client = new EcomZoneClient(); - } - - public function syncOrder($orderId) - { - try { - EcomZoneLogger::log("Starting order sync", 'INFO', ['order_id' => $orderId]); - - $order = new Order($orderId); - $customer = new Customer($order->id_customer); - $address = new Address($order->id_address_delivery); - - $orderData = $this->prepareOrderData($order, $customer, $address); - $result = $this->client->createOrder($orderData); - - EcomZoneLogger::log("Order sync completed", 'INFO', [ - 'order_id' => $orderId, - 'result' => $result - ]); - - return $result; - } catch (Exception $e) { - EcomZoneLogger::log("Order sync failed", 'ERROR', [ - 'order_id' => $orderId, - 'error' => $e->getMessage() - ]); - throw $e; - } - } - - private function prepareOrderData($order, $customer, $address) - { - return [ - 'order_index' => $order->id, - 'ext_id' => $order->reference, - 'payment' => [ - 'method' => $this->getPaymentMethod($order), - 'customer_price' => $order->total_paid - ], - 'customer_data' => [ - 'full_name' => $customer->firstname . ' ' . $customer->lastname, - 'email' => $customer->email, - 'phone_number' => $address->phone, - 'country' => Country::getIsoById($address->id_country), - 'address' => $address->address1 . ' ' . $address->address2, - 'city' => $address->city, - 'post_code' => $address->postcode - ], - 'items' => $this->getOrderItems($order) - ]; - } - - private function getPaymentMethod($order) - { - // Map PrestaShop payment modules to eComZone payment methods - return $order->module === 'cashondelivery' ? 'cod' : 'pp'; - } - - private function getOrderItems($order) - { - $items = []; - $products = $order->getProducts(); - - foreach ($products as $product) { - $items[] = [ - 'full_sku' => $product['reference'], - 'quantity' => $product['product_quantity'] - ]; - } - - return $items; - } -} \ No newline at end of file diff --git a/ecomzone/classes/EcomZoneProductImport.php b/ecomzone/classes/EcomZoneProductImport.php new file mode 100644 index 0000000..c5029d2 --- /dev/null +++ b/ecomzone/classes/EcomZoneProductImport.php @@ -0,0 +1,345 @@ +module = Module::getInstanceByName("ecomzone"); + $this->defaultLangId = (int) Configuration::get("PS_LANG_DEFAULT"); + $this->defaultShopId = (int) Context::getContext()->shop->id; + } + + public function importProduct($productData) + { + try { + $data = $productData["data"]; + + // Start transaction + Db::getInstance()->execute("START TRANSACTION"); + + // Get or create product + $product = $this->getOrCreateProduct($data["sku"]); + + // Update basic information + $this->updateBasicInfo($product, $data); + + // Update categories + $this->updateCategories($product, $data); + + // Update images + $this->updateImages($product, $data); + + // Update specifications + $this->updateSpecifications($product, $data); + + // Update stock + $this->updateStock($product, $data); + + // Commit transaction + Db::getInstance()->execute("COMMIT"); + + EcomZoneLogger::log("Product imported successfully", "INFO", [ + "sku" => $data["sku"], + ]); + + return true; + } catch (Exception $e) { + Db::getInstance()->execute("ROLLBACK"); + EcomZoneLogger::log("Product import failed", "ERROR", [ + "sku" => $data["sku"] ?? "unknown", + "error" => $e->getMessage(), + ]); + throw $e; + } + } + + private function getOrCreateProduct($sku) + { + $productId = Product::getIdByReference($sku); + + if ($productId) { + $product = new Product($productId); + } else { + $product = new Product(); + $product->reference = $sku; + } + + return $product; + } + + private function updateBasicInfo($product, $data) + { + $product->name[$this->defaultLangId] = $data["product_name"]; + $product->description[$this->defaultLangId] = $data["long_description"]; + $product->description_short[$this->defaultLangId] = + $data["description"]; + $product->price = (float) $data["product_price"]; + $product->wholesale_price = + (float) ($data["recommended_retail_price"] ?? 0); + $product->ean13 = $data["ean"] ?? ""; + + // Product settings + $product->active = true; + $product->visibility = "both"; + $product->available_for_order = true; + $product->show_price = true; + $product->indexed = 1; + + // Dimensions + if (!empty($data["dimensions"])) { + $dimensions = json_decode($data["dimensions"], true); + $product->weight = (float) ($dimensions["weight"] ?? 0); + $product->height = (float) ($dimensions["height"] ?? 0); + $product->width = (float) ($dimensions["width"] ?? 0); + $product->depth = (float) ($dimensions["length"] ?? 0); + } + + if (!$product->id) { + $product->add(); + } else { + $product->update(); + } + } + + private function updateCategories($product, $data) + { + $categoryIds = []; + + // Process main categories + if (!empty($data["categories"])) { + $categories = json_decode($data["categories"], true); + foreach ($categories as $categoryName) { + if (strpos($categoryName, "0") === 0) { + continue; + } // Skip special categories + $categoryId = $this->getOrCreateCategory($categoryName); + if ($categoryId) { + $categoryIds[] = $categoryId; + } + } + } + + // Process Google categories + if (!empty($data["google_categories"])) { + $googleCategories = json_decode($data["google_categories"], true); + foreach ($googleCategories as $categoryName) { + $categoryId = $this->getOrCreateCategory($categoryName); + if ($categoryId) { + $categoryIds[] = $categoryId; + } + } + } + + // Ensure we have at least default category + if (empty($categoryIds)) { + $categoryIds[] = (int) Configuration::get("PS_HOME_CATEGORY"); + } + + $categoryIds = array_unique($categoryIds); + $product->id_category_default = reset($categoryIds); + $product->updateCategories($categoryIds); + } + + private function getOrCreateCategory($name) + { + $name = trim($name); + if (empty($name)) { + return null; + } + + // Try to find existing category + $categoryId = (int) Db::getInstance()->getValue( + 'SELECT c.id_category + FROM `' . + _DB_PREFIX_ . + 'category_lang` cl + JOIN `' . + _DB_PREFIX_ . + 'category` c ON c.id_category = cl.id_category + WHERE cl.name = "' . + pSQL($name) . + '" + AND cl.id_lang = ' . + (int) $this->defaultLangId + ); + + if ($categoryId) { + return $categoryId; + } + + // Create new category + $category = new Category(); + $category->name = [$this->defaultLangId => $name]; + $category->link_rewrite = [ + $this->defaultLangId => Tools::str2url($name), + ]; + $category->id_parent = (int) Configuration::get("PS_HOME_CATEGORY"); + $category->active = true; + + if ($category->add()) { + return (int) $category->id; + } + + return null; + } + + private function updateImages($product, $data) + { + $imageUrls = []; + + // Main image + if (!empty($data["image"])) { + $imageUrls[] = $data["image"]; + } + + // Additional images + if (!empty($data["images"])) { + $additionalImages = json_decode($data["images"], true); + if (is_array($additionalImages)) { + $imageUrls = array_merge($imageUrls, $additionalImages); + } + } + + // GIF or video thumbnail + if (!empty($data["gif_or_video"])) { + $imageUrls[] = $data["gif_or_video"]; + } + + if (empty($imageUrls)) { + return; + } + + // Delete existing images + $product->deleteImages(); + + // Import new images + foreach ($imageUrls as $index => $imageUrl) { + $this->importImage($product, $imageUrl, $index === 0); + } + } + + private function importImage($product, $imageUrl, $cover = false) + { + $tmpFile = tempnam(_PS_TMP_IMG_DIR_, "ecomzone_"); + + try { + if (!copy($imageUrl, $tmpFile)) { + throw new Exception("Failed to download image"); + } + + $image = new Image(); + $image->id_product = $product->id; + $image->position = Image::getHighestPosition($product->id) + 1; + $image->cover = $cover; + + if (!$image->add()) { + throw new Exception("Failed to create image record"); + } + + $imagesTypes = ImageType::getImagesTypes("products"); + foreach ($imagesTypes as $type) { + ImageManager::resize( + $tmpFile, + _PS_PROD_IMG_DIR_ . + $image->getExistingImgPath() . + "." . + $type["name"] . + ".jpg", + $type["width"], + $type["height"] + ); + } + + // Save original image + ImageManager::resize( + $tmpFile, + _PS_PROD_IMG_DIR_ . $image->getExistingImgPath() . ".jpg" + ); + } catch (Exception $e) { + EcomZoneLogger::log("Image import failed", "ERROR", [ + "url" => $imageUrl, + "error" => $e->getMessage(), + ]); + } finally { + if (file_exists($tmpFile)) { + unlink($tmpFile); + } + } + } + + private function updateSpecifications($product, $data) + { + if (empty($data["specifications"])) { + return; + } + + try { + $specifications = json_decode($data["specifications"], true); + if (!is_array($specifications)) { + return; + } + + foreach ($specifications as $name => $value) { + if (empty($value)) { + continue; + } + + // Get or create feature + $featureId = Feature::getIdByName($name); + if (!$featureId) { + $feature = new Feature(); + $feature->name[$this->defaultLangId] = $name; + if (!$feature->add()) { + continue; + } + $featureId = $feature->id; + } + + // Get or create feature value + $featureValue = new FeatureValue(); + $featureValue->id_feature = $featureId; + $featureValue->value[$this->defaultLangId] = $value; + if (!$featureValue->add()) { + continue; + } + + // Associate with product + $product->addFeaturesToDB([$featureId => $featureValue->id]); + } + } catch (Exception $e) { + EcomZoneLogger::log("Failed to update specifications", "ERROR", [ + "sku" => $product->reference, + "error" => $e->getMessage(), + ]); + } + } + + private function updateStock($product, $data) + { + try { + $quantity = (int) ($data["stock_quantity"] ?? $data["stock"] ?? 0); + StockAvailable::setQuantity($product->id, 0, $quantity); + + // Update out of stock behavior + StockAvailable::setProductOutOfStock( + $product->id, + $quantity > 0 ? 2 : 0, // 2 = Allow orders, 0 = Deny orders + $this->defaultShopId + ); + } catch (Exception $e) { + throw new EcomZoneException( + "Failed to update stock: " . $e->getMessage(), + EcomZoneException::INVALID_PRODUCT_DATA, + $e + ); + } + } +} + diff --git a/ecomzone/classes/EcomZoneProductSync.php b/ecomzone/classes/EcomZoneProductSync.php index 73b637d..15a8591 100644 --- a/ecomzone/classes/EcomZoneProductSync.php +++ b/ecomzone/classes/EcomZoneProductSync.php @@ -1,29 +1,558 @@ client = new EcomZoneClient(); + $this->categoryHandler = new EcomZoneCategoryHandler(); + $this->defaultLangId = (int) Configuration::get("PS_LANG_DEFAULT"); + $this->defaultShopId = (int) Context::getContext()->shop->id; + + EcomZoneLogger::log("Product Sync initialized", "INFO"); } - - private function resizeImage($src, $dest, $width, $height) + + public function importProducts(int $perPage = 100): array { - list($srcWidth, $srcHeight, $type) = getimagesize($src); - $srcImage = $this->createImageFromType($src, $type); - - $destImage = imagecreatetruecolor($width, $height); - imagecopyresampled($destImage, $srcImage, 0, 0, 0, 0, $width, $height, $srcWidth, $srcHeight); - - $this->saveImageFromType($destImage, $dest, $type); - - imagedestroy($srcImage); - imagedestroy($destImage); + $page = 1; + $totalImported = 0; + $totalAvailable = 0; + $errors = []; + + try { + EcomZoneLogger::log("Starting product import", "INFO", [ + "per_page" => $perPage, + ]); + + do { + $catalog = $this->client->getCatalog($page, $perPage); + + if (!isset($catalog["data"]) || !is_array($catalog["data"])) { + throw new EcomZoneException( + "Invalid catalog response", + EcomZoneException::API_ERROR + ); + } + + foreach ($catalog["data"] as $product) { + try { + if ($this->importSingleProduct($product)) { + $totalImported++; + } + } catch (Exception $e) { + $errors[] = [ + "sku" => $product["sku"] ?? "unknown", + "error" => $e->getMessage(), + ]; + EcomZoneLogger::log("Product import failed", "ERROR", [ + "sku" => $product["sku"] ?? "unknown", + "error" => $e->getMessage(), + ]); + } + } + + $totalAvailable = $catalog["total"] ?? 0; + $page++; + + EcomZoneLogger::log("Page processed", "INFO", [ + "page" => $page - 1, + "imported" => $totalImported, + "total" => $totalAvailable, + ]); + } while ( + isset($catalog["next_page_url"]) && + $catalog["next_page_url"] !== null + ); + + $this->clearCache(); + + return [ + "success" => true, + "imported" => $totalImported, + "total" => $totalAvailable, + "errors" => $errors, + ]; + } catch (Exception $e) { + EcomZoneLogger::log("Product import process failed", "ERROR", [ + "error" => $e->getMessage(), + ]); + throw $e; + } } - - private function createImageFromType($filename, $type) + + public function importSingleProduct(array $productData): bool + { + try { + // Get SKU from catalog data + $sku = $productData["sku"] ?? $productData["data"]["sku"] ?? null; + + if (!$sku) { + throw new EcomZoneException("Missing SKU in product data"); + } + + // Fetch complete product data from product endpoint + $fullProductData = $this->client->getProduct($sku); + + if (!isset($fullProductData["data"])) { + throw new EcomZoneException("Invalid product response"); + } + + $data = $fullProductData["data"]; + + EcomZoneLogger::log("Processing product", "INFO", [ + "sku" => $sku, + "categories" => $data["categories"] ?? null, + "google_categories" => $data["google_categories"] ?? null + ]); + + $this->validateProductData($data); + + // Start transaction + Db::getInstance()->execute("START TRANSACTION"); + + $product = $this->getOrCreateProduct($sku); + + // Update product data + $this->updateProductData($product, $data); + $this->updateProductCategories($product, $data); + $this->updateProductStock($product, $data); + $this->processProductImages($product, $data); + + // Commit transaction + Db::getInstance()->execute("COMMIT"); + + return true; + } catch (Exception $e) { + Db::getInstance()->execute("ROLLBACK"); + EcomZoneLogger::log("Product import failed", "ERROR", [ + "sku" => $sku ?? "unknown", + "error" => $e->getMessage() + ]); + return false; + } + } + + private function validateProductData(array $data): void + { + $requiredFields = [ + 'sku', + 'product_name', + 'product_price', + 'description', + 'stock' + ]; + + foreach ($requiredFields as $field) { + if (empty($data[$field])) { + throw new EcomZoneException( + "Missing required field: {$field}", + EcomZoneException::VALIDATION_ERROR + ); + } + } + } + + private function getOrCreateProduct(string $sku): Product + { + try { + $productId = Product::getIdByReference($sku); + + if ($productId) { + $product = new Product($productId); + if (!Validate::isLoadedObject($product)) { + throw new Exception("Invalid product object"); + } + return $product; + } + + $product = new Product(); + $product->reference = $sku; + return $product; + } catch (Exception $e) { + throw new EcomZoneException( + "Failed to get/create product: " . $e->getMessage(), + EcomZoneException::INVALID_PRODUCT_DATA, + $e + ); + } + } + + private function updateProductData(Product $product, array $data): void + { + try { + // Basic information + $product->name[$this->defaultLangId] = $data['product_name']; + $product->description[$this->defaultLangId] = $data['long_description'] ?? $data['description']; + $product->description_short[$this->defaultLangId] = $data['description']; + $product->price = (float)$data['product_price']; + $product->wholesale_price = (float)($data['recommended_retail_price'] ?? 0); + $product->reference = $data['sku']; + $product->ean13 = $data['ean'] ?? ''; + + // Shop configuration + $product->id_shop_default = $this->defaultShopId; + $product->active = true; + $product->visibility = 'both'; + $product->available_for_order = true; + $product->show_price = true; + $product->indexed = 1; + + // Update dimensions if available + if (!empty($data['dimensions'])) { + $dimensions = json_decode($data['dimensions'], true); + if (is_array($dimensions)) { + $product->weight = (float)($dimensions['weight'] ?? 0); + $product->height = (float)($dimensions['height'] ?? 0); + $product->width = (float)($dimensions['width'] ?? 0); + $product->depth = (float)($dimensions['length'] ?? 0); + } + } + + // Set tax rules if configured + $taxRulesGroupId = (int)Configuration::get('PS_TAX_RULES_GROUP_DEFAULT'); + if ($taxRulesGroupId) { + $product->id_tax_rules_group = $taxRulesGroupId; + } + + // Save the product + if (!$product->id) { + if (!$product->add()) { + throw new EcomZoneException('Failed to create product'); + } + } else { + if (!$product->update()) { + throw new EcomZoneException('Failed to update product'); + } + } + + // Update shop association + if (Shop::isFeatureActive()) { + Shop::setContext(Shop::CONTEXT_SHOP, $this->defaultShopId); + $product->id_shop_list = [$this->defaultShopId]; + $product->id_shop_default = $this->defaultShopId; + + // Associate product with shop + Db::getInstance()->execute(' + INSERT IGNORE INTO '._DB_PREFIX_.'product_shop + (id_product, id_shop, price, wholesale_price) + VALUES + ('.(int)$product->id.', '.(int)$this->defaultShopId.', + '.(float)$product->price.', '.(float)$product->wholesale_price.') + '); + } + + // Process specifications if available + if (!empty($data['specifications'])) { + $this->updateProductFeatures($product, $data['specifications']); + } + + } catch (Exception $e) { + throw new EcomZoneException( + 'Failed to update product data: ' . $e->getMessage(), + EcomZoneException::INVALID_PRODUCT_DATA, + $e + ); + } + } + + private function updateProductCategories(Product $product, array $data): void + { + try { + $categoryIds = []; + + // Process main categories + if (!empty($data['categories'])) { + $categories = json_decode($data['categories'], true); + if (is_array($categories)) { + foreach ($categories as $categoryPath) { + // Skip special categories that start with '0' + if (strpos($categoryPath, '0') === 0) { + continue; + } + // Create each category as a single path + $categoryId = $this->categoryHandler->createCategoryPath([$categoryPath]); + if ($categoryId) { + $categoryIds[] = $categoryId; + } + } + } + } + + // Process Google categories + if (!empty($data['google_categories'])) { + $googleCategories = json_decode($data['google_categories'], true); + if (is_array($googleCategories)) { + $categoryId = $this->categoryHandler->createCategoryPath($googleCategories); + if ($categoryId) { + $categoryIds[] = $categoryId; + } + } + } + + // Ensure we have at least the default category + if (empty($categoryIds)) { + $categoryIds[] = (int)Configuration::get('PS_HOME_CATEGORY'); + } + + // Remove duplicates + $categoryIds = array_unique($categoryIds); + + // Set default category + $product->id_category_default = reset($categoryIds); + + // Save the product to ensure it has an ID + if (!$product->id) { + $product->add(); + } else { + $product->update(); + } + + // Clear existing category associations + Db::getInstance()->execute(' + DELETE FROM `'._DB_PREFIX_.'category_product` + WHERE id_product = '.(int)$product->id + ); + + // Insert new category associations + foreach ($categoryIds as $categoryId) { + Db::getInstance()->execute(' + INSERT INTO `'._DB_PREFIX_.'category_product` + (id_category, id_product, position) + VALUES + ('.(int)$categoryId.', '.(int)$product->id.', 0) + '); + } + + // Update shop associations if needed + if (Shop::isFeatureActive()) { + $product->id_shop_list = [$this->defaultShopId]; + $product->id_shop_default = $this->defaultShopId; + } + + EcomZoneLogger::log('Categories updated', 'DEBUG', [ + 'product' => $product->reference, + 'category_ids' => $categoryIds + ]); + + } catch (Exception $e) { + throw new EcomZoneException( + 'Failed to update product categories: ' . $e->getMessage(), + EcomZoneException::CATEGORY_CREATE_ERROR, + $e + ); + } + } + + private function updateProductStock(Product $product, array $data): void + { + try { + $quantity = (int) ($data['stock_quantity'] ?? 0); + StockAvailable::setQuantity($product->id, 0, $quantity); + + // Update out of stock behavior + StockAvailable::setProductOutOfStock( + $product->id, + $quantity > 0 ? 2 : 0, // 2 = Allow orders, 0 = Deny orders + $this->defaultShopId + ); + } catch (Exception $e) { + EcomZoneLogger::log("Failed to update stock", "WARNING", [ + "product" => $product->reference, + "error" => $e->getMessage() + ]); + } + } + + private function processProductImages(Product $product, array $data): void + { + try { + $imageUrls = []; + + // Process main image + if (!empty($data["image"])) { + $imageUrls[] = $data["image"]; + } + + // Process additional images + if (!empty($data["images"])) { + $additionalImages = json_decode($data["images"], true); + if (is_array($additionalImages)) { + $imageUrls = array_merge($imageUrls, $additionalImages); + } + } + + if (empty($imageUrls)) { + return; + } + + // Delete existing images if any + $product->deleteImages(); + + foreach ($imageUrls as $index => $imageUrl) { + $this->importProductImage($product, $imageUrl, $index === 0); + } + } catch (Exception $e) { + EcomZoneLogger::log("Failed to process product images", "WARNING", [ + "sku" => $product->reference, + "error" => $e->getMessage(), + ]); + } + } + + private function importProductImage(Product $product, string $imageUrl, bool $cover = false): void + { + try { + // Create temporary file + $tempFile = tempnam(_PS_TMP_IMG_DIR_, 'import_'); + + // Download image + if (!copy($imageUrl, $tempFile)) { + throw new Exception("Failed to download image: " . $imageUrl); + } + + // Create image object + $image = new Image(); + $image->id_product = $product->id; + $image->position = Image::getHighestPosition($product->id) + 1; + $image->cover = $cover; + + if (!$image->add()) { + throw new Exception("Failed to create image record"); + } + + // Create product image directory if it doesn't exist + $imagePath = _PS_PROD_IMG_DIR_ . $image->getExistingImgPath(); + $imageDir = dirname($imagePath); + + if (!file_exists($imageDir)) { + mkdir($imageDir, 0755, true); + } + + // Generate image + if (!ImageManager::resize( + $tempFile, + $imagePath . '.jpg' + )) { + throw new Exception("Failed to process image"); + } + + // Generate thumbnails + $this->generateThumbnails($image); + + // Clean up + unlink($tempFile); + + } catch (Exception $e) { + EcomZoneLogger::log("Failed to import product image", "ERROR", [ + "product" => $product->reference, + "image_url" => $imageUrl, + "error" => $e->getMessage() + ]); + } + } + + private function generateThumbnails(Image $image): void + { + try { + $imageTypes = ImageType::getImagesTypes('products'); + foreach ($imageTypes as $imageType) { + $dir = _PS_PROD_IMG_DIR_ . $image->getExistingImgPath(); + if (!file_exists($dir)) { + mkdir($dir, 0755, true); + } + ImageManager::resize( + _PS_PROD_IMG_DIR_ . $image->getExistingImgPath() . '.jpg', + _PS_PROD_IMG_DIR_ . $image->getExistingImgPath() . '-' . stripslashes($imageType['name']) . '.jpg', + (int)$imageType['width'], + (int)$imageType['height'] + ); + } + } catch (Exception $e) { + EcomZoneLogger::log("Failed to generate thumbnails", "WARNING", [ + "image_id" => $image->id, + "error" => $e->getMessage() + ]); + } + } + + private function generateImageType( + string $srcPath, + string $destPath, + ?int $width, + ?int $height + ): void { + try { + $this->createDirectoryIfNotExists(dirname($destPath)); + + if ($width === null || $height === null) { + copy($srcPath, $destPath); + return; + } + + $imageInfo = getimagesize($srcPath); + if (!$imageInfo) { + throw new Exception("Invalid image file"); + } + + $srcImage = $this->createImageFromType($srcPath, $imageInfo[2]); + $destImage = imagecreatetruecolor($width, $height); + + // Preserve transparency for PNG images + if ($imageInfo[2] === IMAGETYPE_PNG) { + imagealphablending($destImage, false); + imagesavealpha($destImage, true); + $transparent = imagecolorallocatealpha( + $destImage, + 255, + 255, + 255, + 127 + ); + imagefilledrectangle( + $destImage, + 0, + 0, + $width, + $height, + $transparent + ); + } + + imagecopyresampled( + $destImage, + $srcImage, + 0, + 0, + 0, + 0, + $width, + $height, + $imageInfo[0], + $imageInfo[1] + ); + + imagejpeg($destImage, $destPath, 95); + + imagedestroy($srcImage); + imagedestroy($destImage); + } catch (Exception $e) { + throw new EcomZoneException( + "Failed to generate image type: " . $e->getMessage(), + EcomZoneException::IMAGE_PROCESSING_ERROR, + $e + ); + } + } + + private function createImageFromType(string $filename, int $type) { switch ($type) { case IMAGETYPE_JPEG: @@ -36,236 +565,159 @@ class EcomZoneProductSync throw new Exception("Unsupported image type: " . $type); } } - - private function saveImageFromType($image, $filename, $type) + + private function createDirectoryIfNotExists(string $directory): void { - switch ($type) { - case IMAGETYPE_JPEG: - $this->createDirectoryIfNotExists(dirname($filename)); - imagejpeg($image, $filename); - break; - case IMAGETYPE_PNG: - $this->createDirectoryIfNotExists(dirname($filename)); - imagepng($image, $filename); - break; - case IMAGETYPE_GIF: - $this->createDirectoryIfNotExists(dirname($filename)); - imagegif($image, $filename); - break; - case IMAGETYPE_GIF: - imagegif($image, $filename); - break; - default: - throw new Exception("Unsupported image type: " . $type); - } - } - - - public function importProducts($perPage = 100) - { - $page = 1; - $totalImported = 0; - $totalAvailable = 0; - - EcomZoneLogger::log("Starting product import - perPage: $perPage"); - - EcomZoneLogger::log("Number of products to be imported per page: $perPage", 'INFO'); - - try { - do { - $catalog = $this->client->getCatalog($page, $perPage); -$importedCount = 0; -foreach ($catalog['data'] as $product) { - if ($this->importSingleProduct($product)) { - $importedCount++; - } -} - -$totalImported += $importedCount; -$totalAvailable = $catalog['total']; -$page++; - -EcomZoneLogger::log("Imported page $page", 'INFO', [ - 'total_imported' => $totalImported, - 'page' => $page, - 'total_available' => $totalAvailable -]); - - } while ($page <= ceil($totalAvailable / $perPage) && isset($catalog['next_page_url']) && $catalog['next_page_url'] !== null); - - EcomZoneLogger::log("Finished importing products", 'INFO', [ - 'total_imported' => $totalImported, - 'total_available' => $totalAvailable - ]); - - // Clear cache - Tools::clearSmartyCache(); - Tools::clearXMLCache(); - Media::clearCache(); - PrestaShopAutoload::getInstance()->generateIndex(); - - return [ - 'success' => true, - 'imported' => $totalImported, - 'total' => $totalAvailable - ]; - - } catch (Exception $e) { - EcomZoneLogger::log("Error importing products: " . $e->getMessage(), 'ERROR'); - throw $e; - } - } - - private function importSingleProduct($productData) - { - // Extract data from nested structure - $data = isset($productData['data']) ? $productData['data'] : $productData; - - if (!isset($data['sku']) || !isset($data['product_name']) || !isset($data['description']) || !isset($data['product_price'])) { - EcomZoneLogger::log("Invalid product data", 'ERROR', ['data' => $productData]); - return false; - } - - try { - // Check if product already exists by reference - $productId = Db::getInstance()->getValue(' - SELECT id_product - FROM ' . _DB_PREFIX_ . 'product - WHERE reference = "' . pSQL($data['sku']) . '" - '); - - $product = $productId ? new Product($productId) : new Product(); - - $defaultLangId = (int)Configuration::get('PS_LANG_DEFAULT'); - - $product->reference = $data['sku']; - $product->name[$defaultLangId] = $data['product_name']; - $product->description[$defaultLangId] = $data['long_description'] ?? $data['description']; - $product->description_short[$defaultLangId] = $data['description']; - $product->price = $data['product_price']; - $product->active = true; - $product->quantity = (int)$data['stock']; - $homeCategoryId = (int)Configuration::get('PS_HOME_CATEGORY'); - $product->id_category_default = $homeCategoryId; - $product->addToCategories([$homeCategoryId]); - $product->visibility = 'both'; // Ensure product is visible in both catalog and search - $product->active = true; - $product->quantity = (int)$data['stock']; - $homeCategoryId = (int)Configuration::get('PS_HOME_CATEGORY'); - $product->id_category_default = $homeCategoryId; - $product->addToCategories([$homeCategoryId]); - - - // Save product first to get ID - if (!$product->id) { - $product->add(); - } else { - $product->update(); + if (!is_dir($directory)) { + if (!mkdir($directory, 0755, true)) { + throw new Exception( + "Failed to create directory: " . $directory + ); } -StockAvailable::setQuantity($product->id, 0, (int)$data['stock']); -$product->available_for_order = true; // Ensure product is available for order -$product->show_price = true; // Ensure price is shown + } + } - // Handle image import if URL is provided - if (isset($data['image']) && !empty($data['image'])) { - $this->importProductImage($product, $data['image']); + private function updateProductFeatures(Product $product, string $specificationsJson): void + { + try { + $specifications = json_decode($specificationsJson, true); + if (!is_array($specifications)) { + return; } - - StockAvailable::setQuantity($product->id, 0, (int)$data['stock']); - - EcomZoneLogger::log("Imported product", 'INFO', [ - 'sku' => $data['sku'], - 'id' => $product->id, - 'name' => $data['product_name'] + + foreach ($specifications as $featureName => $featureValue) { + if (empty($featureValue)) { + continue; + } + + // Convert array or object to string if necessary + if (is_array($featureValue) || is_object($featureValue)) { + $featureValue = json_encode($featureValue); + } + + // Ensure we have a string value + $featureValue = (string)$featureValue; + + // Get or create feature using DB query + $featureId = $this->getOrCreateFeature($featureName); + if (!$featureId) { + continue; + } + + // Get or create feature value + $featureValueId = $this->getOrCreateFeatureValue($featureId, $featureValue); + if (!$featureValueId) { + continue; + } + + // Associate feature with product + $product->addFeaturesToDB( + [$featureId => $featureValueId], + $this->defaultLangId + ); + } + + EcomZoneLogger::log("Features updated successfully", "DEBUG", [ + "product" => $product->reference, + "specifications" => $specifications ]); - - return true; - + } catch (Exception $e) { - EcomZoneLogger::log("Error importing product", 'ERROR', [ - 'sku' => $data['sku'], - 'error' => $e->getMessage() - ]); - return false; + EcomZoneLogger::log( + "Failed to update product features", + "WARNING", + [ + "product" => $product->reference, + "error" => $e->getMessage(), + ] + ); } } + private function getOrCreateFeature(string $name): ?int + { + // Try to find existing feature + $featureId = (int)Db::getInstance()->getValue( + 'SELECT f.id_feature + FROM `'._DB_PREFIX_.'feature_lang` fl + JOIN `'._DB_PREFIX_.'feature` f ON f.id_feature = fl.id_feature + WHERE fl.name = "'.pSQL($name).'" + AND fl.id_lang = '.(int)$this->defaultLangId + ); - -private function importProductImage($product, $imageUrl) -{ - try { - // Create temporary file - $tmpFile = tempnam(_PS_TMP_IMG_DIR_, 'ecomzone_'); - - // Download image - if (!copy($imageUrl, $tmpFile)) { - throw new Exception("Failed to download image from: " . $imageUrl); - } - - // Get image info - $imageInfo = getimagesize($tmpFile); - if (!$imageInfo) { - unlink($tmpFile); - throw new Exception("Invalid image file"); - } - - // Validate image dimensions and file size - if ($imageInfo[0] > 2000 || $imageInfo[1] > 2000 || filesize($tmpFile) > 5000000) { - unlink($tmpFile); - throw new Exception("Image dimensions or file size exceed limits"); - } - - // Generate unique name - $imageName = $product->reference . '-' . time() . '.' . pathinfo($imageUrl, PATHINFO_EXTENSION); - - // Delete existing images if any - $product->deleteImages(); - - // Add new image - $image = new Image(); - $image->id_product = $product->id; - $image->position = 1; - $image->cover = true; - - // Save the image to the correct directory - $imagePath = _PS_PROD_IMG_DIR_ . $image->getImgPath() . '.' . $image->image_format; - $this->createDirectoryIfNotExists(dirname($imagePath)); - if (!copy($tmpFile, $imagePath)) { - unlink($tmpFile); - throw new Exception("Failed to save image to: " . $imagePath); + if ($featureId) { + return $featureId; } - // Associate the image with the product - if (!$image->add()) { - unlink($tmpFile); - throw new Exception("Failed to add image to product"); + // Create new feature + $feature = new Feature(); + $feature->name = array_fill_keys(Language::getIDs(), $name); + + return $feature->add() ? (int)$feature->id : null; + } + + private function getOrCreateFeatureValue(int $featureId, string $value): ?int + { + // Try to find existing feature value + $valueId = (int)Db::getInstance()->getValue( + 'SELECT fv.id_feature_value + FROM `'._DB_PREFIX_.'feature_value_lang` fvl + JOIN `'._DB_PREFIX_.'feature_value` fv ON fv.id_feature_value = fvl.id_feature_value + WHERE fv.id_feature = '.(int)$featureId.' + AND fvl.value = "'.pSQL($value).'" + AND fvl.id_lang = '.(int)$this->defaultLangId + ); + + if ($valueId) { + return $valueId; } - // Manually resize the image and generate thumbnails - $this->resizeImage($imagePath, _PS_PROD_IMG_DIR_ . $image->getImgPath() . '-home_default.' . $image->image_format, 250, 250); - $this->resizeImage($imagePath, _PS_PROD_IMG_DIR_ . $image->getImgPath() . '-large_default.' . $image->image_format, 800, 800); - - // Cleanup - unlink($tmpFile); - EcomZoneLogger::log("Imported product image", 'INFO', [ - 'sku' => $product->reference, - 'image' => $imageUrl - ]); + // Create new feature value + $featureValue = new FeatureValue(); + $featureValue->id_feature = $featureId; + $featureValue->value = array_fill_keys(Language::getIDs(), $value); - } catch (Exception $e) { - EcomZoneLogger::log("Error importing product image", 'ERROR', [ - 'sku' => $product->reference, - 'image' => $imageUrl, - 'error' => $e->getMessage() - ]); + return $featureValue->add() ? (int)$featureValue->id : null; + } + + private function updateProductDimensions( + Product $product, + string $dimensionsJson + ): void { + try { + $dimensions = json_decode($dimensionsJson, true); + if (!is_array($dimensions)) { + return; + } + + $product->weight = (float) ($dimensions["weight"] ?? 0); + $product->height = (float) ($dimensions["height"] ?? 0); + $product->width = (float) ($dimensions["width"] ?? 0); + $product->depth = (float) ($dimensions["length"] ?? 0); + + $product->update(); + } catch (Exception $e) { + EcomZoneLogger::log( + "Failed to update product dimensions", + "WARNING", + [ + "product" => $product->reference, + "error" => $e->getMessage(), + ] + ); + } + } + + private function clearCache(): void + { + Tools::clearAllCache(); + Tools::clearSmartyCache(); + Tools::clearXMLCache(); + Media::clearCache(); + PrestaShopAutoload::getInstance()->generateIndex(); } } -private function createDirectoryIfNotExists($directory) -{ - if (!is_dir($directory)) { - mkdir($directory, 0755, true); - } -} -} +$token = Configuration::get('ECOMZONE_CRON_TOKEN'); +echo $token; + diff --git a/ecomzone/classes/interfaces/ICategory.php b/ecomzone/classes/interfaces/ICategory.php new file mode 100644 index 0000000..f1d0d27 --- /dev/null +++ b/ecomzone/classes/interfaces/ICategory.php @@ -0,0 +1,11 @@ + + + ecomzone + + + + + + 1 + 0 + + diff --git a/ecomzone/cron.php b/ecomzone/cron.php index fc8a4fa..0285624 100644 --- a/ecomzone/cron.php +++ b/ecomzone/cron.php @@ -1,24 +1,50 @@ 'classes/EcomZoneException.php', + 'EcomZoneClient' => 'classes/EcomZoneClient.php', + 'EcomZoneLogger' => 'classes/EcomZoneLogger.php', + 'EcomZoneProductSync' => 'classes/EcomZoneProductSync.php', + 'EcomZoneProductImport' => 'classes/EcomZoneProductImport.php', + 'EcomZoneCategoryHandler' => 'classes/EcomZoneCategoryHandler.php', + 'IProductSync' => 'classes/interfaces/IProductSync.php', + 'ICategory' => 'classes/interfaces/ICategory.php' + ]; + + if (isset($classMap[$className])) { + require_once dirname(__FILE__) . '/' . $classMap[$className]; + } +}); + +// Function to send JSON response +function sendJsonResponse($data, $statusCode = 200) +{ + if (php_sapi_name() === 'cli') { + echo json_encode($data, JSON_PRETTY_PRINT) . "\n"; + } else { + if (!headers_sent()) { + http_response_code($statusCode); + header("Content-Type: application/json"); + } + echo json_encode($data); + } + exit($statusCode === 200 ? 0 : 1); } -// Security token check -$token = null; - +// Get token from either GET parameter or command line argument +$token = ''; if (php_sapi_name() === 'cli') { global $argv; foreach ($argv as $arg) { - if (preg_match('/^--token=(.+)$/', $arg, $matches)) { - $token = $matches[1]; + if (strpos($arg, 'token=') === 0) { + $token = substr($arg, 6); break; } } @@ -26,18 +52,72 @@ if (php_sapi_name() === 'cli') { $token = Tools::getValue('token'); } -$configToken = Configuration::get('ECOMZONE_CRON_TOKEN'); - -echo "Config token: " . $configToken . "\n"; -echo "Provided token: " . $token . "\n"; +// Security check +$configToken = Configuration::get("ECOMZONE_CRON_TOKEN"); if (empty($token) || $token !== $configToken) { - die('Invalid token. Provided: ' . $token . ', Expected: ' . $configToken); + sendJsonResponse([ + 'success' => false, + 'error' => 'Invalid token', + 'provided_token' => $token, + 'expected_token' => $configToken + ], 403); } try { - $result = $module->runCronTasks(); - echo json_encode(['success' => true, 'result' => $result]); + // Initialize logger + EcomZoneLogger::log("Starting cron execution", "INFO", [ + "time" => date("Y-m-d H:i:s"), + ]); + + // Check last run time to prevent too frequent execution + $lastRun = Configuration::get("ECOMZONE_LAST_CRON_RUN"); + $minInterval = 360; + + if (!empty($lastRun) && strtotime($lastRun) + $minInterval > time()) { + EcomZoneLogger::log("Skipping cron - too soon since last run", "INFO", [ + "last_run" => $lastRun, + "next_run" => date("Y-m-d H:i:s", strtotime($lastRun) + $minInterval), + ]); + + sendJsonResponse([ + "success" => false, + "message" => "Too soon since last run", + "last_run" => $lastRun, + "next_run" => date("Y-m-d H:i:s", strtotime($lastRun) + $minInterval), + ]); + } + + // Initialize Product Sync + $productSync = new EcomZoneProductSync(); + + // Start the import process + $result = $productSync->importProducts(100); // Import 100 products per page + + // Update last run time + Configuration::updateValue("ECOMZONE_LAST_CRON_RUN", date("Y-m-d H:i:s")); + + // Log completion and send response + EcomZoneLogger::log("Cron execution completed", "INFO", [ + "imported" => $result["imported"], + "total" => $result["total"], + "errors" => count($result["errors"]), + ]); + + sendJsonResponse([ + "success" => true, + "result" => $result, + "timestamp" => date("Y-m-d H:i:s"), + ]); } catch (Exception $e) { - echo json_encode(['success' => false, 'error' => $e->getMessage()]); -} \ No newline at end of file + EcomZoneLogger::log("Cron execution failed", "ERROR", [ + "error" => $e->getMessage(), + "trace" => $e->getTraceAsString() + ]); + + sendJsonResponse([ + "success" => false, + "error" => $e->getMessage() + ], 500); +} + diff --git a/ecomzone/ecomzone.php b/ecomzone/ecomzone.php index e67cb82..80afe84 100644 --- a/ecomzone/ecomzone.php +++ b/ecomzone/ecomzone.php @@ -1,219 +1,345 @@ name = 'ecomzone'; - $this->tab = 'market_place'; - $this->version = '1.0.0'; - $this->author = 'Your Name'; + $this->name = "ecomzone"; + $this->tab = "shipping_logistics"; + $this->version = "1.0.0"; + $this->author = "EcomZone"; $this->need_instance = 0; $this->bootstrap = true; + $this->ps_versions_compliancy = [ + "min" => "8.0.0", + "max" => "8.99.99", + ]; parent::__construct(); - // Register autoloader - spl_autoload_register([$this, 'autoload']); - - $this->displayName = $this->l('EcomZone Dropshipping'); - $this->description = $this->l('Integration with EcomZone Dropshipping API'); - } - - /** - * Autoload classes - */ - public function autoload($className) - { - // Only handle our module's classes - if (strpos($className, 'EcomZone') !== 0) { - return; - } - - $classPath = dirname(__FILE__) . '/classes/' . $className . '.php'; - if (file_exists($classPath)) { - require_once $classPath; - } + $this->displayName = $this->trans( + "EcomZone Dropshipping", + [], + "Modules.Ecomzone.Admin" + ); + $this->description = $this->trans( + "Integration with EcomZone Dropshipping API", + [], + "Modules.Ecomzone.Admin" + ); + $this->confirmUninstall = $this->trans( + "Are you sure you want to uninstall?", + [], + "Modules.Ecomzone.Admin" + ); } public function install() { - return parent::install() && - $this->registerHook('actionOrderStatusUpdate') && - Configuration::updateValue('ECOMZONE_API_TOKEN', '') && - Configuration::updateValue('ECOMZONE_API_URL', 'https://dropship.ecomzone.eu/api') && - Configuration::updateValue('ECOMZONE_LAST_SYNC', '') && - Configuration::updateValue('ECOMZONE_CRON_TOKEN', Tools::encrypt(uniqid())); + if (!parent::install() + || !$this->registerHook('actionCronJob') + || !$this->registerHook('actionProductUpdate') + || !$this->registerHook('actionProductDelete') + ) { + return false; + } + + // Set default configuration values + Configuration::updateValue('ECOMZONE_API_URL', 'https://dropship.ecomzone.eu/api'); + Configuration::updateValue('ECOMZONE_CRON_TOKEN', Tools::encrypt(uniqid())); + Configuration::updateValue('ECOMZONE_LAST_SYNC', ''); + + // Create required directories + $this->createRequiredDirectories(); + + return true; } - private function createLogFile() + private function createRequiredDirectories() { - if (!file_exists(dirname(EcomZoneLogger::LOG_FILE))) { - mkdir(dirname(EcomZoneLogger::LOG_FILE), 0755, true); + $dirs = [ + _PS_MODULE_DIR_ . $this->name . '/log', + _PS_MODULE_DIR_ . $this->name . '/tmp' + ]; + + foreach ($dirs as $dir) { + if (!file_exists($dir)) { + mkdir($dir, 0755, true); + } } - - if (!file_exists(EcomZoneLogger::LOG_FILE)) { - touch(EcomZoneLogger::LOG_FILE); - chmod(EcomZoneLogger::LOG_FILE, 0666); - } - - return true; } public function uninstall() { return parent::uninstall() && - Configuration::deleteByName('ECOMZONE_API_TOKEN') && - Configuration::deleteByName('ECOMZONE_API_URL') && - Configuration::deleteByName('ECOMZONE_CRON_TOKEN') && - Configuration::deleteByName('ECOMZONE_LAST_CRON_RUN'); + Configuration::deleteByName("ECOMZONE_API_URL") && + Configuration::deleteByName("ECOMZONE_API_TOKEN") && + Configuration::deleteByName("ECOMZONE_CRON_TOKEN") && + Configuration::deleteByName("ECOMZONE_LAST_SYNC"); } public function getContent() { - $output = ''; - - if (Tools::isSubmit('submitEcomZoneModule')) { - Configuration::updateValue('ECOMZONE_API_TOKEN', Tools::getValue('ECOMZONE_API_TOKEN')); - $output .= $this->displayConfirmation($this->l('Settings updated')); - } - - // Handle manual product import - if (Tools::isSubmit('importPoducts')) { - try { - $productSync = new EcomZoneProductSync(); - $result = $productSync->importProducts(); + $output = ""; + + if (Tools::isSubmit("submitEcomZoneModule")) { + $apiToken = Tools::getValue("ECOMZONE_API_TOKEN"); + if (Configuration::updateValue("ECOMZONE_API_TOKEN", $apiToken)) { $output .= $this->displayConfirmation( - sprintf($this->l('Imported %d products'), $result['imported']) + $this->trans( + "Settings updated", + [], + "Modules.Ecomzone.Admin" + ) ); + } + } + + // Handle product fetch request + if (Tools::isSubmit("fetchProducts") || Tools::getValue("page")) { + try { + $page = (int) Tools::getValue("page", 1); + $perPage = 10; + + $result = $this->makeApiRequest( + "catalog?page={$page}&per_page={$perPage}" + ); + + if (!empty($result["data"])) { + $totalPages = ceil($result["total"] / $perPage); + + $this->context->smarty->assign([ + "API_PRODUCTS" => $result["data"], + "PAGINATION" => [ + "total_pages" => $totalPages, + "current_page" => $page, + "total_items" => $result["total"], + ], + ]); + + if (Tools::isSubmit("fetchProducts")) { + $output .= $this->displayConfirmation( + $this->trans( + "Products fetched successfully", + [], + "Modules.Ecomzone.Admin" + ) + ); + } + } } catch (Exception $e) { $output .= $this->displayError($e->getMessage()); } } - - // Add debug info - $debugInfo = $this->getDebugInfo(); - - $shopUrl = Tools::getShopDomainSsl(true); - $shopRoot = _PS_ROOT_DIR_; $this->context->smarty->assign([ - 'ECOMZONE_API_TOKEN' => Configuration::get('ECOMZONE_API_TOKEN'), - 'ECOMZONE_CRON_TOKEN' => Configuration::get('ECOMZONE_CRON_TOKEN'), - 'ECOMZONE_DEBUG_INFO' => $debugInfo, - 'ECOMZONE_LOGS' => $this->getRecentLogs(), - 'shop_url' => $shopUrl, - 'shop_root' => $shopRoot + "module_dir" => $this->_path, + "ECOMZONE_API_TOKEN" => Configuration::get("ECOMZONE_API_TOKEN"), + "ECOMZONE_CRON_TOKEN" => Configuration::get("ECOMZONE_CRON_TOKEN"), + "ECOMZONE_LAST_SYNC" => Configuration::get("ECOMZONE_LAST_SYNC"), + "current_url" => + $this->context->link->getAdminLink("AdminModules", false) . + "&configure=" . + $this->name . + "&tab_module=" . + $this->tab . + "&module_name=" . + $this->name, + "shop_url" => $this->context->link->getBaseLink(), ]); - - return $output . $this->display(__FILE__, 'views/templates/admin/configure.tpl'); + + return $output . + $this->display(__FILE__, "views/templates/admin/configure.tpl"); } - private function getDebugInfo() + private function makeApiRequest($endpoint, $method = "GET", $data = null) { - $lastCronRun = Configuration::get('ECOMZONE_LAST_CRON_RUN'); - $nextRun = !empty($lastCronRun) ? - date('Y-m-d H:i:s', strtotime($lastCronRun) + 3600) : - $this->l('Not scheduled yet'); + $apiUrl = Configuration::get("ECOMZONE_API_URL"); + $apiToken = Configuration::get("ECOMZONE_API_TOKEN"); - return [ - 'php_version' => PHP_VERSION, - 'prestashop_version' => _PS_VERSION_, - 'module_version' => $this->version, - 'curl_enabled' => function_exists('curl_version'), - 'api_url' => Configuration::get('ECOMZONE_API_URL'), - 'last_sync' => Configuration::get('ECOMZONE_LAST_SYNC'), - 'last_cron_run' => $lastCronRun ?: $this->l('Never'), - 'next_cron_run' => $nextRun, - 'log_file' => EcomZoneLogger::LOG_FILE, - 'log_file_exists' => file_exists(EcomZoneLogger::LOG_FILE), - 'log_file_writable' => is_writable(EcomZoneLogger::LOG_FILE) + if (empty($apiToken)) { + throw new Exception( + $this->trans( + "API token not configured", + [], + "Modules.Ecomzone.Admin" + ) + ); + } + + $curl = curl_init(); + $url = rtrim($apiUrl, "/") . "/" . ltrim($endpoint, "/"); + + $options = [ + CURLOPT_URL => $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => "", + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 30, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => $method, + CURLOPT_HTTPHEADER => [ + "Authorization: Bearer " . $apiToken, + "Accept: application/json", + "Content-Type: application/json", + ], + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_SSL_VERIFYHOST => 2, ]; - } - private function getRecentLogs($lines = 50) - { - if (!file_exists(EcomZoneLogger::LOG_FILE)) { - return []; + if ($data !== null) { + $options[CURLOPT_POSTFIELDS] = json_encode($data); } - - $logs = array_slice(file(EcomZoneLogger::LOG_FILE), -$lines); - return array_map('trim', $logs); - } - public function hookActionOrderStatusUpdate($params) - { - $order = $params['order']; - $newOrderStatus = $params['newOrderStatus']; + curl_setopt_array($curl, $options); - // Sync order when it's paid - if ($newOrderStatus->paid == 1) { - try { - $orderSync = new EcomZoneOrderSync(); - $result = $orderSync->syncOrder($order->id); - - // Log the result - PrestaShopLogger::addLog( - 'EcomZone order sync: ' . json_encode($result), - 1, - null, - 'Order', - $order->id, - true - ); - } catch (Exception $e) { - PrestaShopLogger::addLog( - 'EcomZone order sync error: ' . $e->getMessage(), - 3, - null, - 'Order', - $order->id, - true - ); - } + $response = curl_exec($curl); + $err = curl_error($curl); + $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); + + curl_close($curl); + + if ($err) { + throw new Exception("cURL Error: " . $err); } + + if ($httpCode >= 400) { + $errorData = json_decode($response, true); + $errorMessage = isset($errorData['error']) + ? $errorData['error'] + : "HTTP Error: " . $httpCode; + throw new EcomZoneException( + $errorMessage, + EcomZoneException::API_ERROR + ); + } + + $decodedResponse = json_decode($response, true); + if (json_last_error() !== JSON_ERROR_NONE) { + throw new Exception("Invalid JSON response"); + } + + return $decodedResponse; } public function hookActionCronJob($params) { - $cronTask = new EcomZoneCronTask(); - - // Check if it's time to run - $lastRun = Configuration::get('ECOMZONE_LAST_CRON_RUN'); - if (empty($lastRun) || (strtotime($lastRun) + $cronTask->cron_frequency) <= time()) { - return $cronTask->run(); + try { + $lastSync = Configuration::get("ECOMZONE_LAST_SYNC"); + $syncInterval = 24 * 3600; // 24 hours + + if ( + !empty($lastSync) && + strtotime($lastSync) + $syncInterval > time() + ) { + return; + } + + $page = 1; + $perPage = 100; + $totalImported = 0; + $errors = []; + + do { + $result = $this->makeApiRequest( + "catalog?page={$page}&per_page={$perPage}" + ); + + if (empty($result["data"])) { + break; + } + + foreach ($result["data"] as $product) { + try { + if ($this->importSingleProduct($product)) { + $totalImported++; + } + } catch (Exception $e) { + $errors[] = [ + "sku" => $product["sku"] ?? "unknown", + "error" => $e->getMessage() + ]; + } + // Clear memory after each product + gc_collect_cycles(); + } + + $page++; + } while (!empty($result["next_page_url"])); + + Configuration::updateValue( + "ECOMZONE_LAST_SYNC", + date("Y-m-d H:i:s") + ); + } catch (Exception $e) { + EcomZoneLogger::log("Cron job execution failed", "ERROR", [ + "error" => $e->getMessage(), + "trace" => $e->getTraceAsString() + ]); } - - return true; } - public function runCronTasks() + public function importSingleProduct(array $productData): bool { try { - EcomZoneLogger::log('Starting scheduled product sync'); - - $lastRun = Configuration::get('ECOMZONE_LAST_CRON_RUN'); - $frequency = 3600; // 1 hour in seconds - - if (!empty($lastRun) && (strtotime($lastRun) + $frequency) > time()) { - EcomZoneLogger::log('Skipping cron - too soon since last run'); - return false; - } - - $productSync = new EcomZoneProductSync(); - $result = $productSync->importProducts(); - - Configuration::updateValue('ECOMZONE_LAST_CRON_RUN', date('Y-m-d H:i:s')); - EcomZoneLogger::log('Scheduled product sync completed', 'INFO', $result); - - return $result; + $importer = new EcomZoneProductImport(); + return $importer->importProduct($productData); } catch (Exception $e) { - EcomZoneLogger::log('Scheduled product sync failed', 'ERROR', ['error' => $e->getMessage()]); - throw $e; + EcomZoneLogger::log("Product import failed", "ERROR", [ + "sku" => $productData['data']['sku'] ?? 'unknown', + "error" => $e->getMessage() + ]); + return false; } } -} + + private function importProductImage( + Product $product, + string $imageUrl, + bool $cover = false + ): void { + // Implementation of the method + } + + private function updateBasicInfo(Product $product, array $data): void + { + try { + // Basic information + $product->name[$this->defaultLangId] = $data["product_name"]; + $product->description[$this->defaultLangId] = $data["long_description"] ?? $data["description"]; + $product->description_short[$this->defaultLangId] = $data["description"]; + $product->price = (float) $data["product_price"]; + $product->reference = $data["sku"]; + $product->ean13 = $data["ean"] ?? ""; + + // Shop configuration + $product->id_shop_default = $this->defaultShopId; + $product->active = true; + $product->visibility = "both"; + $product->available_for_order = true; + $product->show_price = true; + $product->indexed = 1; + + // Critical: Save the product + if (!$product->save()) { + throw new EcomZoneException( + "Failed to save product", + EcomZoneException::INVALID_PRODUCT_DATA + ); + } + + // Add to default shop + $product->addToShop($this->defaultShopId); + } catch (Exception $e) { + throw new EcomZoneException( + "Failed to update product info: " . $e->getMessage(), + EcomZoneException::INVALID_PRODUCT_DATA, + $e + ); + } + } +} + diff --git a/ecomzone/index.php b/ecomzone/index.php new file mode 100644 index 0000000..c244971 --- /dev/null +++ b/ecomzone/index.php @@ -0,0 +1,8 @@ + -
-
- {l s='EcomZone Configuration' mod='ecomzone'} -
-
-
- -
- -
+ +{* views/templates/admin/configure.tpl *} + +
+

{l s='EcomZone Configuration' mod='ecomzone'}

+
+
+ +
+
+ +
+ +
+

+ {if $ECOMZONE_LAST_SYNC} + {$ECOMZONE_LAST_SYNC|escape:'html':'UTF-8'} + {else} + {l s='Never' mod='ecomzone'} + {/if} +

+
+
+ -
- + +
-
- {l s='Manual Actions' mod='ecomzone'} -
-
+

{l s='Product Import' mod='ecomzone'}

+
-
-
-
-
-
- {l s='Cron Setup Instructions' mod='ecomzone'} -
-
-

{l s='Add the following command to your server crontab to run every hour:' mod='ecomzone'}

-
0 * * * * curl -s "{$shop_url}modules/ecomzone/cron.php?token={$ECOMZONE_CRON_TOKEN}"
-

{l s='Or using PHP CLI:' mod='ecomzone'}

-
0 * * * * php {$shop_root}modules/ecomzone/cron.php --token={$ECOMZONE_CRON_TOKEN}
-
-
- -
-
- {l s='Recent Logs' mod='ecomzone'} -
-
-
- {foreach from=$ECOMZONE_LOGS item=log} -
{$log|escape:'html':'UTF-8'}
- {/foreach} +

{l s='Automatic Sync' mod='ecomzone'}

+
+
+
+ +
+
+ + + + +
+

+ {l s='Add this URL to your server\'s crontab to run every 24 hours.' mod='ecomzone'} +

+
+
-
\ No newline at end of file +
+ +{if isset($ECOMZONE_LOGS) && $ECOMZONE_LOGS} +
+

{l s='Recent Logs' mod='ecomzone'}

+
+
+ + + {foreach from=$ECOMZONE_LOGS item=log} + + + + {/foreach} + +
{$log|escape:'html':'UTF-8'}
+
+
+
+{/if} + + + + diff --git a/ecomzone/views/templates/admin/index.php b/ecomzone/views/templates/admin/index.php new file mode 100644 index 0000000..c244971 --- /dev/null +++ b/ecomzone/views/templates/admin/index.php @@ -0,0 +1,8 @@ +