PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/costmasters.in/www/application/modules/frontend/views/graph/
Upload File :
Current File : /home/costmasters.in/www/application/modules/frontend/views/graph/view_pdf.php
<?php
// Define the valid subscription types
$valid_subscription_types = ALL_PDF_ACCESS;
$priority_values = ONLY_CIR_ACCESS;
// Extract the single sub_type
$sub_type = $subs_type[0]['subscription_type'] ?? '';

// Extract subscription types from last_subscriptions array
$last_subscription_types = array_column($last_subscriptions, 'subscription_type');

// Initialize variables for subscription data
$subscription_types = [];
$StartDate = $EndDate = $duration = '';
$cir_lite = 0;

// Check if sub_type is valid and add it to subscription_types
if (in_array($sub_type, $valid_subscription_types)) {
    $subscription_types[] = $sub_type;
    $sub_type_data = [
        'start_date' => $subs_type[0]['start_reg'] ?? '',
        'end_date' => $subs_type[0]['end_reg'] ?? '',
        'duration' => $subs_type[0]['choose_type'] ?? ($subs_type[0]['subscription_period'] ?? ''),
        'cir_lite' => $subs_type[0]['is_checked'] ?? 0,
    ];
    // Assign the subscription data for display
    $StartDate = $sub_type_data['start_date'];
    $EndDate = $sub_type_data['end_date'];
    $duration = $sub_type_data['duration'];
    $cir_lite = $sub_type_data['cir_lite'];
}

// Check if last_subscription_types contains valid types and add them to subscription_types
foreach ($last_subscription_types as $type) {
    if (in_array($type, $valid_subscription_types)) {
        if (!in_array($type, $subscription_types)) {
            $subscription_types[] = $type;
        }
        // Assuming you want to get the latest data from last_subscriptions
        $last_type_data = array_filter($last_subscriptions, function ($sub) use ($type) {
            return $sub['subscription_type'] == $type;
        });
        if (!empty($last_type_data)) {
            $last_type_data = reset($last_type_data); // Get the first match
            $StartDate = $last_type_data['initial_start_date'] ?? $StartDate;
            $EndDate = $last_type_data['initial_end_date'] ?? $EndDate;
            $duration = $last_type_data['subscription_period'] ?? $duration;
            $cir_lite = $last_type_data['is_checked'] ?? $cir_lite;

        }
    }
}

// Remove duplicate subscription types
$subscription_types = array_unique($subscription_types);

// Sort the subscription types by priority and numerically
usort($subscription_types, function ($a, $b) use ($priority_values) {
    $priority_a = array_search($a, $priority_values);
    $priority_b = array_search($b, $priority_values);

    // If both are in priority list, sort by their priority order
    if ($priority_a !== false && $priority_b !== false) {
        return $priority_a <=> $priority_b;
    }

    // If one is in the priority list and the other isn't, the one in the priority list comes first
    if ($priority_a !== false) {
        return -1;
    }
    if ($priority_b !== false) {
        return 1;
    }

    // If neither is in the priority list, sort them numerically
    return $a <=> $b;
});
// print_r($subscription_types);
// // Display or process the subscription types and data
// foreach ($subscription_types as $type) {
//     echo "Subscription Type: " . htmlspecialchars($type) . "<br>";
//     echo "Start Date: " . htmlspecialchars($StartDate) . "<br>";
//     echo "End Date: " . htmlspecialchars($EndDate) . "<br>";
//     echo "Duration: " . htmlspecialchars($duration) . "<br>";
//     echo "CIR Lite: " . htmlspecialchars($cir_lite ? 'Yes' : 'No') . "<br>";
// }

function getCirHeaderTitle($type, $valid_subscription_types, $valid_subscription_types_lite, $cir_lite) {
    if (
        (in_array($type, CIR_LITE_ACCESS)) || 
        ((in_array($type, ONLY_CIR_ACCESS) && $cir_lite === '1')) || 
        ((in_array($type, FORECAST_ACCESS) && $cir_lite === '1'))
    ) {
        return 'CIR - LITE Monthly PDF';
    } else {
        return 'CIR Monthly PDF';
    }
}
?>

<link href="<?= base_url(); ?>assets/css/listing.css" rel="stylesheet">
<?php if($subs_type[0]['t_and_c'] == 'true'){ ?>
<div class="kt-container  kt-container--fluid  kt-grid__item kt-grid__item--fluid cs_kt_portal " style="margin-top:30px">
    <div class="row">
        <div class="col-xl-12 col-lg-12">
            <!--Begin::Portlet-->
            <div class="kt-portlet kt-portlet--height-fluid view_pdf">
                <div class="kt-portlet__head">
                    <div class="kt-portlet__head-label">
                        <h3 class="kt-portlet__head-title">
                            View PDF Reports
                        </h3>
                    </div>
                </div>
                
                <div class="kt-portlet__body">
                    <div class="panel panel-success col-h">
                        <div class="panel-body">
                            <div class="row"> 
                                <?php
                                    $valid_subscription_types = CIR_ACCESS; //cir+lite
                                    $valid_subscription_types_cir = ONLY_CIR_ACCESS; //only cir
                                    $valid_subscription_types_lite = CIR_LITE_ACCESS;
                                    // Flags to track if sections have been printed
                                    $printed_cir_section = false;
                                    $printed_forecast_section = false;
                                    foreach ($subscription_types as $type) {                     
                                        if ((in_array($type, $valid_subscription_types)) || (in_array($type, $valid_subscription_types_lite)) || ($cir_lite === '1')) { 
                   
                                            if (!$printed_cir_section) {
                                            ?>
                                            <div class="col-sm-6">
                                                  <h4><?= getCirHeaderTitle($type, $valid_subscription_types, $valid_subscription_types_lite, $cir_lite); ?></h4>           
                                            <?php
                                            $show_link = 0;
                                            $report_url = "";
                                            $ci = & get_instance();
                                            $ci->load->helper("url");
                                            $ci->load->model('dashboard_model');
                                            $cir_data = $ci->dashboard_model->check_cir_report($_SESSION['id']);
                                            $lite_cir_data = $ci->dashboard_model->check_lite_cir_report($_SESSION['id']);
                                            ?>
            
                                            <div class="table-responsive table-hide">
                                                <table class="table table-bordered table-striped table-hover" id="table-view-pdf">
                                                    <thead>
                                                        <tr>
                                                            <th>Sr.No.</th>
                                                            <th>Month</th>
                                                              <?php if (in_array($type, $valid_subscription_types_cir)) { ?>
                                                                    <th>CIR</th>
                                                                <?php } ?> 
                                                                 <?php if (
                                                                    (in_array($type, $valid_subscription_types_lite)) || 
                                                                    ((in_array($type, $valid_subscription_types_cir) && $cir_lite === '1')) || 
                                                                    ((in_array($type, FORECAST_ACCESS) && $cir_lite === '1'))
                                                                ) { ?>
                                                                    <th>CIR - LITE</th>
                                                                <?php } ?>                                                              
                                                        </tr>
                                                    </thead>
                                                    <tbody>
                                                        <?php
                                                        $today = date('Y-m-d');
                                                        $effectiveDate = $StartDate;
                                                        $effectiveEndDate = $EndDate;
                                                        $Duration = $duration;
                                                        $durations = ($Duration == '6_month') ? 6 : (($Duration == '1_year') ? 12 : (($Duration == '3_year') ? 36 : 60));
                                                        $startDate = date('Y-m-d', strtotime($effectiveDate));
                                                        $endDate = date('Y-m-d', strtotime($effectiveEndDate));

                                                        if (!empty($cir_report) || !empty($lite_cir_report)) {
                                                            $i = 1;
                                                            $combined_month_year_array = [];
                            
                                                            foreach ($cir_report as $cir_data) {
                                                                $cir_data->type = 'cir';
                                                            }

                                                            foreach ($lite_cir_report as $lite_cir_data) {
                                                                $lite_cir_data->type = 'lite_cir';
                                                            }

                                                            $combined_data = array_merge($cir_report, $lite_cir_report);

                                                            usort($combined_data, function ($a, $b) {
                                                                return strtotime($b->subscribe_year . '-' . $b->subscribe_month) - strtotime($a->subscribe_year . '-' . $a->subscribe_month);
                                                            });

                                                            $cir_found = false;
                                                            $displayed_month_year = [];

                                                            foreach ($combined_data as $data) {
                                                                $month_year = $data->subscribe_month . ', ' . $data->subscribe_year;
                                                                if (in_array($month_year, $displayed_month_year)) {
                                                                    continue;
                                                                }
                                                                $displayed_month_year[] = $month_year;

                                                                $cir_exists = false;
                                                                $lite_cir_exists = false;
                                                                $cir_id = null;
                                                                $lite_cir_id = null;
                                                                foreach ($combined_data as $item) {
                                                                    if ($item->subscribe_month == $data->subscribe_month && $item->subscribe_year == $data->subscribe_year) {
                                                                        if ($item->type === 'cir') {
                                                                            $cir_exists = true;
                                                                            $cir_id = $item->id;
                                                                        } elseif ($item->type === 'lite_cir') {
                                                                            $lite_cir_exists = true;
                                                                            $lite_cir_id = $item->id;
                                                                            $lite_cir_link = $item->subscribe_link;
                                                                        }
                                                                    }
                                                                }

                                                                ?>
                                                                <tr>
                                                                    <td><?= $i++ ?></td>
                                                                    <td><?= $month_year ?></td>
                                                                    <?php 
                                                                    if (in_array($type, $valid_subscription_types_cir)) {
                                                                        ?>

                                                                        <td>
                                                                            <?php if ($cir_exists) : ?>
                                                                                <a href="<?= base_url('cir_reports/' . $cir_id); ?>" id="pdfcontainer" target="_blank">
                                                                                    <i class="fa fa-file-pdf" aria-hidden="true" style="color:red; font-size:20px; display: block; text-align:center;"></i>
                                                                                </a>
                                                                            <?php endif; ?>
                                                                        </td>
                                                                    <?php } ?>
                                                                    <?php
                                                                    if ((in_array($type, $valid_subscription_types_lite)) || 
                                                                    ((in_array($type, $valid_subscription_types_cir) && $cir_lite === '1')) || 
                                                                    ((in_array($type, FORECAST_ACCESS) && $cir_lite === '1'))) {
                                                                    ?>
                                                                        <td>
                                                                            <?php if ($lite_cir_exists) : ?>
                                                                                <div class="cs_icons_flex">
                                                                                    <a href="#" onclick="openPDFInBrowser('<?= base_url('/uploads/lite_cir_report/' . $lite_cir_link); ?>'); return false;" id="pdfcontainer" target="_blank">
                                                                                        <i class="fa fa-file-pdf" aria-hidden="true" style="color:red; font-size:20px; display: block; text-align:center;"></i>
                                                                                    </a>
                                                                                    <a href="javascript:void(0);" onclick="downloadPDF('<?= base_url('/uploads/lite_cir_report/' . $lite_cir_link); ?>', '<?= $month_year ?>');" id="downloadPDF">
                                                                                        <i class="fa fa-download" aria-hidden="true" style="font-size:20px; display: block; text-align:right;"></i>
                                                                                    </a>
                                                                                </div>
                                                                            <?php endif; ?>
                                                                            <div id="pdfLoader" style="display: none;"><i class="fa fa-spinner fa-spin" style="font-size:24px;"></i></div>
                                                                        </td>
                                                                    <?php } ?>
                                                                </tr>
                                                            <?php } ?>
                                                        <?php } else { ?>
                                                            <tr>
                                                                <td colspan="3" style="text-align: center;">No records found</td>
                                                            </tr>
                                                        <?php } ?>
                                                    </tbody>
                                                </table>                                        
                                            </div>
                                        </div> 
                                        <?php
                                        $printed_cir_section = true;                                         
                                        }
                                        }
                                        if (in_array($type, FORECAST_ACCESS)) {
                                            if (!$printed_forecast_section) {
                                        ?>
                                        <div class="col-sm-6">
                                            <h4>Commodity Forecast Quartely Report PDF</h4>

                                            <?php
                                                $show_link = 0;
                                                $report_url = "";
                                                $ci = & get_instance();
                                                $ci->load->helper("url");
                                                $ci->load->model('dashboard_model');
                                                $forcast_data = $ci->dashboard_model->check_forcast_report($_SESSION['id']);
                                                // print_r($_SESSION);

                                            ?>
                                            <div class="table-responsive table-hide">
                                                <table class="table table-bordered table-striped table-hover" id="table-view-pdf2">
                                                    <thead>
                                                        <tr>
                                                            <th>Sr.No.</th>
                                                            <th>Months</th>
                                                            <th>Forecast Report</th>
                                                        </tr>
                                                    </thead>
                                                    <tbody>
                                                        <?php
                                                            $today = date('Y-m-d');
                                                            $effectiveDate= $subs_type[0]['start_reg'];  // registeration date
                                                            $effectiveEndDate= $subs_type[0]['end_reg'];  // registeration date
                                                            $duration = $subs_type[0]['choose_type'];  // subscription for months 
                                                            if($duration == '6_month'){
                                                                $durations = 6;
                                                            }else if($duration == '1_year'){
                                                                $durations = 12;
                                                            }else if($duration == '3_year'){
                                                                $durations = 36;
                                                            }else if($duration == '5_year'){
                                                                $durations = 60;
                                                            }

                                                
                                                            $startDate = date('Y-m-d', strtotime($effectiveDate));
                                                            $endDate = date('Y-m-d', strtotime($effectiveEndDate));
                                                        

                                                                if($forcast_report != ''){
                                                                $i = 1;
                                                                $show_link = 0;

                                                                foreach ($forcast_report as $forcast_data): 

                                                                $date1=$forcast_data->last_updation;   // cir publish date
                                                                $date2= $endDate;     // subscription end date 

                                                                if(strtotime($date1) <= strtotime($date2)) {    
                                                            
                                                                    $show_link++;
                                                        ?>
                                                        <tr>
                                                            <td><?php echo $i++; ?></td>
                                                            <td><?= $forcast_data->subscribe_month .', ' . $forcast_data->subscribe_year ?></td>
                                                            <td><a href="<?= base_url('forcast_reports/' . $forcast_data->id); ?>"
                                                                    id="pdfcontainer" target="_blank"> <i class="fa fa-file-pdf"
                                                                        aria-hidden="true"
                                                                        style="color:red; font-size:20px; display: block; text-align:center;"></i>
                                                                </a>
                                                            </td>
                                                        </tr>
                                                        <?php   } 
                                                                endforeach; } else{ ?>
                                                        <tr>
                                                            <td>No records found</td>
                                                        </tr>
                                                        <?php } ?>
                                                    </tbody>
                                                </table>
                                            </div>
                                        </div>
                                    <?php
                                    $printed_forecast_section = true; // Set flag to true after printing
                                    }
                                    } }
                                    ?>
                                    <!-- previous tenures data -->                                   
                            </div>
                            </div>
                            <div class="row view_note ">
                            <div class="col-sm-12">
                                     <div class="note-sec">
                                        <h5> Notes</h5>
                                            <p>1) Frequency selection of weekly, monthly or yearly, the data is average of proceeding days. For example, in frequency "monthly" selection data on 1st May will be average from 1st May to 31st May. </p>
                                            <p>2) In Analysis field, max and min will be the actual max and min during selected date range. On the graph, data may be average as per frequency selected.</p>
                                            <p> 3) Data is an indicative trend, users to interpret & use at sole discretion.</p>
                                            <p> 4) Note: This is a confidential report strictly for in-house use. Circulation outside the organization may result in legal action and could lead to the cancellation of the subscription.</p>
                                     </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            <!--End::Portlet-->
            </div>
         </div>
    </div>

<?php } else{ ?>
<div class="kt-container  kt-container--fluid  kt-grid__item kt-grid__item--fluid" style="margin-top:30px">
<!--begin::Portlet-->
    <div class="kt-portlet">
        <div class="kt-portlet__body">
            <!--begin::Section-->
            <div class="kt-section">
                <div class="kt-section__content">
                    <form action="<?= base_url('graph'); ?>" method="POST" class="agree_terms">
                        <div class="form-row">
                            <div class="col-sm-12">
                                <div class="user-info-box pricing-list">
                                    <h5>Subscriber Agreement - Terms &amp; Conditions</h5>
                                        <ul class="subscription-ul">
                                            <li>Subscription will start within 5 working days of realization of payment in normal working conditions.</li>
                                            <li>Objective of this endeavor is to provide relevant information for strategic decision making & not meant for influencing commercial transactions. Our liability is restricted to providing of information and not the resultant.</li>
                                            <li>You will not share, publish, upload, transmit, reproduce, redistribute or in any other manner make available the statistical information compiled and provided by CostMasters, without the express prior permission of CostMasters. On being permitted, the user shall always mention the source of the statistical information i.e. CostMasters.</li>
                                            <li>Any incidence of single copy being used by multiple users will result in immediate cancellation of supply of statistical information without any refund for the remaining period.</li>
                                            <li>Depending on availability of data from respective sources, commodities may increase and decrease time to time at sole discretion of CostMasters.</li>
                                            <li>CostMasters reserve the sole right to review increase or decrease subscription charges.</li>
                                            <li>User indemnifies CostMasters from any damage resulting from mis-interpretation or use of data. CostMasters legal liability is strictly restricted to subscription amount paid by user.</li>
                                            <li>In case of any taxes or levies imposed by tax authorities during the period of subscription, user will have to bear and pay the balance amount, enabling us to ensure continuous services.</li>
                                            <li>Although all the efforts are being made to ensure diligence and accuracy of data, still some errors may occur, which will be corrected time to time.</li>
                                            <li>In case of Hardware or software malfunction, we will try our best to restore the services in minimum possible time. User will have to bear with us during such unavoidable circumstances</li>
                                            <li>Any dispute is subject to chandigarh jurisdiction.</li>
                                        </ul>
                                        <div class="form-group">
                                            <h5><input type="checkbox" name="agreement_tick" id="agreement_tick" required> Agree to Subscriber Agreement terms*</h5>
                                            <button type="submit" class="btn costmaster-button">Submit</button>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                        </form>
                </div>
            </div>
        </div>
        <!--end::Section-->
    </div>
</div>
<?php } ?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"  crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf-lib/1.17.1/pdf-lib.min.js"></script>
<script>
// Global pdf-lib imports
const { degrees, PDFDocument } = PDFLib;

// User-related constants
const first_name = '<?= $first_name ?>';
const userEmail = '<?= $_SESSION['email']; ?>';
const userIp = '<?= $_SERVER['REMOTE_ADDR']; ?>';
const now = new Date();
const options = { 
    day: '2-digit', month: 'long', year: 'numeric', 
    hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: true 
};
const downloadDate = now.toLocaleString('en-US', options).replace(',', '');
const name = first_name.substring(0, 3).toUpperCase();
const secretCode = `${name}<?= $_SESSION['id']; ?>`;

$(document).ready(function () {
    // Initialize DataTables
    $('#table-view-pdf, #table-view-pdf2').DataTable();

    // Form Submit with Error Handling
    $("#editor").submit(function (e) {
        e.preventDefault();
        $("input, select, textarea").css('border', '1px solid green');
        $('.mes').remove();

        $.ajax({
            type: "POST",
            url: $(this).attr('action'),
            data: new FormData(this),
            processData: false,
            contentType: false,
            dataType: 'json',
            success: function (data) {
                if (data.status === false) {
                    $('#message').html(data.message);
                    $.each(data.errors, function (key, value) {
                        let $field = $(`[name="${key}"]`);
                        $field.css('border', '2px solid red');
                        $field.after(`<small class='mes'>${value}</small>`);
                        if (key === "for_id") {
                            $("span.select2-selection.select2-selection--single").css("border", "2px solid red")
                                .after(`<small class='mes'>${value}</small>`);
                        }
                    });
                } else {
                    $("input[type=text], select, textarea").css('border', '1px solid #1abb9c').delay(2000).css('border', '1px solid #e2e2e4').val('');
                    $('#message').html(data.message).fadeIn(100);
                    $("html, body").animate({ scrollTop: $("#message").offset().top - 100 }, 1000);
                    setTimeout(() => window.location.href = "<?= base_url(); ?>change-password", 3000);
                }
            }
        });
    });
});

// Add user information to PDF pages
async function addUserInfoToPDF(pdfDoc) {
    try {
        const pageCount = pdfDoc.getPageCount();
        for (let i = 0; i < pageCount; i++) {
            const page = pdfDoc.getPage(i);
            const { width, height } = page.getSize();
            page.drawText(`${userEmail} ${downloadDate}`, {
                x: 13,
                y: height / 2 - 150,
                size: 14,
                rotate: degrees(90),
            });
            page.drawText(`Secret Code: ${secretCode}`, {
                x: width / 2,
                y: height / 2,
                size: 16,
                opacity: 0,
            });
        }
    } catch (error) {
        console.error("Error adding user info to PDF:", error);
    }
}

// Open PDF in browser
async function openPDFInBrowser(pdfUrl) {
    try {
        showPdfLoader();
        const existingPdfBytes = await fetch(pdfUrl).then(res => res.arrayBuffer());
        const pdfDoc = await PDFDocument.load(existingPdfBytes);
        await addUserInfoToPDF(pdfDoc);
        const pdfBytes = await pdfDoc.save();
        const blob = new Blob([pdfBytes], { type: 'application/pdf' });
        window.open(URL.createObjectURL(blob), '_blank');
    } catch (error) {
        console.error("Error opening PDF:", error);
    } finally {
        hidePdfLoader();
    }
}

// Download PDF with user info
async function downloadPDF(pdfUrl, monthYear) {
    try {
        showPdfLoader();
        const existingPdfBytes = await fetch(pdfUrl).then(res => res.arrayBuffer());
        const pdfDoc = await PDFDocument.load(existingPdfBytes);
        await addUserInfoToPDF(pdfDoc);
        const pdfBytes = await pdfDoc.save();
        const blob = new Blob([pdfBytes], { type: 'application/pdf' });
        const a = document.createElement('a');
        a.href = URL.createObjectURL(blob);
        a.download = `CIR-Lite ${monthYear}.pdf`;
        document.body.appendChild(a);
        a.click();
        document.body.removeChild(a);
    } catch (error) {
        console.error("Error downloading PDF:", error);
    } finally {
        hidePdfLoader();
    }
}

// Loader control
function showPdfLoader() {
    $('#pdfLoader').show();
}
function hidePdfLoader() {
    $('#pdfLoader').hide();
}

</script>