}
// make sure file extension is valid
if (!$err) {
    $file_name = $file['name'];
    $file_ext = file_extension($file_name);
    if ($file_ext != 'tgz') {
        $err = 'Unsupported extension: ' . $file_ext;
    }
}
// extract the archive to temp directory
if (!$err) {
    set_time_limit(0);
    $tmp_dir = end_with_slash($tmp_dir);
    $tmp_path = $tmp_dir . unique_id('archive');
    $archive_dir = $tmp_path . '/' . $filename . '/';
    if (!extract_archive($file['tmp_name'], $archive_dir)) {
        $err = 'Could not extract to ' . $archive_dir;
    }
}
// move select files from the archive to media directory
if (!$err) {
    switch ($type) {
        case 'audio':
        case 'video':
            // move any soundtrack
            $frag = 'media/audio.' . $encoder_audio_extension;
            $media_path = $media_dir . $frag;
            $archive_path = $archive_dir . $frag;
            if (file_exists($archive_path)) {
                if (!safe_path($media_path)) {
                    $err = 'Could not create directories for ' . $media_path;
Example #2
0
        break;
    case 'create_folder':
        create_folder($_POST["name"], rtrim($_POST["to"], '/') . '/');
        break;
    case 'copy':
        copy_file($_POST["file_name"], rtrim($_POST["from"], "/") . "/", rtrim($_POST['to'], "/") . "/");
        break;
    case 'multiple_copy':
        copy_multiple_file($_POST["file"], $_POST["folder"], $_POST["folder_name"], rtrim($_POST["from"], "/") . "/", rtrim($_POST['to'], "/") . "/");
        break;
    case 'rename':
        rename_file($_POST["old_name"], $_POST["new_name"], rtrim($_POST["to"], "/") . '/');
        break;
    case 'remove':
        delete_file($_POST["name"], rtrim($_POST["from"], "/") . "/");
        break;
    case 'multiple_remove':
        delete_multiple_file($_POST["file"], $_POST["folder"], rtrim($_POST["from"], "/") . "/");
        break;
    case 'create_archive':
        create_archive($_POST["archive_name"], rtrim($_POST["to"], '/') . '/', $_POST["extension"], $_POST["files"], $_POST["multiple"]);
        break;
    case 'extract_archive':
        extract_archive($_POST["archive_name"], rtrim($_POST["to"], '/') . '/', $_POST["archive_password"]);
        break;
    case 'properties':
        get_stat($_POST["name"], rtrim($_POST["to"], '/') . '/');
        break;
    default:
        break;
}