1
difenduandada
2024-10-15 7fd2948ee35c8e147ed35ce6d8502f94a98ddd22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
 
if(!file_exists('cloudarcade.zip')){
    die('"cloudarcade.zip" is missing!');
}
 
if(!class_exists('ZipArchive')){
    die('"ZipArchive" extension is missing or disabled.');
}
 
$warning_list = [];
 
if (!is_writable('cloudarcade.zip')) {
    $warning_list[] = 'Can\'t write a file';
}
 
if (!file_exists('test')) {
    if (mkdir('test', 0755)) {
        rmdir('test');
    } else {
        $warning_list[] = 'Can\'t create folder';
    }
}
 
if (version_compare(phpversion(), '7.0.0', '>=')) {
    //
} else {
    $warning_list[] = 'You need PHP 7+, currently your\'re using PHP '.phpversion();
}
 
if (!function_exists('curl_init')) {
    $warning_list[] = 'CURL is disabled, please activate it.';
}
 
if(!empty($warning_list)){
    echo '<ul>';
    foreach ($warning_list as $item) {
        echo '<li>'.$item.'</li>';
    }
    echo '</ul>';
    return;
}
 
$tmp_folder = 'tmp_cloudarcade';
 
mkdir($tmp_folder, 0777);
 
$zip = new ZipArchive;
$res = $zip->open('cloudarcade.zip');
if ($res === TRUE) {
    $zip->extractTo($tmp_folder);
    $zip->close();
    //
    if(file_exists('read-me.txt')){
        unlink('read-me.txt');
    }
    echo 'OK';
    recurse_copy($tmp_folder, __DIR__);
    delete_files($tmp_folder);
    unlink($tmp_folder.'/.htaccess');
    rmdir( $tmp_folder );
    unlink('cloudarcade.zip');
    header("refresh:1;url=index.php");
    unlink('unpack.php');
} else {
  die('Failed to extract!');
}
 
function recurse_copy($src,$dst) { 
    $dir = opendir($src); 
    @mkdir($dst); 
    while(false !== ( $file = readdir($dir)) ) { 
        if (( $file != '.' ) && ( $file != '..' )) { 
            if ( is_dir($src . '/' . $file) ) { 
                recurse_copy($src . '/' . $file,$dst . '/' . $file); 
            } 
            else { 
                copy($src . '/' . $file,$dst . '/' . $file);
            } 
        } 
    } 
    closedir($dir); 
}
 
function delete_files($target) {
    if(is_dir($target)){
        $files = glob( $target . '*', GLOB_MARK );
 
        foreach( $files as $file ){
            delete_files( $file );      
        }
 
        rmdir( $target );
    } elseif(is_file($target)) {
        unlink( $target );  
    }
}
 
?>