-
Notifications
You must be signed in to change notification settings - Fork 0
/
_handler.php
86 lines (64 loc) · 2.23 KB
/
_handler.php
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
<?php
require __DIR__ . '/library' . '/init_lib.php';
define('DOWNLOAD_PATH', SITE_URL . '/download/');
$files = getFilesFromDir(LIB_DIRECTORY, 'modules');
$stats = prepareStatistic($files, LIB_DIRECTORY);
preDump(MODULES, 'MODULES');
function generateTabelForModules() {
$modules = is_existsModule();
$htmlTable = '';
foreach ($modules as $key => $module) {
if($module) {
$htmlTable .= '<h1 id="tableName">PHP_Library - ' . $key . ' Module</h1>';
$list = getModuleFiles($key);
$stats = prepareStatistic($list, './library/modules/'.$key.'_module/');
$htmlTable .= createHtmlTable($stats);
}
}
return $htmlTable;
}
function prepareStatistic(array $files, string $path) {
$filesStats = [];
$size = 0;
foreach ($files as $file) {
$filesStats[$file] = createFileStats($path . '/' . $file);
$size += filesize($path . '/' . $file);
}
$filesStats['packageSize'] = fileSizeConvert($size);
return $filesStats;
}
function createHtmlTable(array $list) {
$htmlTable = '<table id="statistic"><tr id="tableSpanName">';
$htmlTable .= '<th>Name</th>';
$htmlTable .= '<td>Version</td>';
$htmlTable .= '<td>Size</td>';
$htmlTable .= '</tr>';
foreach ($list as $key => $line) {
if($key === 'packageSize') {
$htmlTable .= '<tr><th>Full Package:</th>';
$htmlTable .= '<td></td>';
$htmlTable .= '<td>' . $list[$key] . '</td>';
$htmlTable .= '</tr>';
continue;
}
$htmlTable .= getInfosAsHtml($line, $main);
}
$htmlTable .= '</table>';
return $htmlTable;
}
function getInfosAsHtml(array $lines) {
$htmlTable = '<tr>';
$htmlTable .= '<th>' . $lines['basename'] . '<div class="activateHint">?';
$htmlTable .= '<span class="hint">' . $lines['description'] . '</span></div></th>';
$htmlTable .= '<td>' . $lines['version'] . '</td>';
$htmlTable .= '<td>' . $lines['filesize'] . '</td>';
$htmlTable .= '</tr>';
return $htmlTable;
}
function getDownloadHtmlModule(array $lines) {
$download = DOMAIN . '/' . LIBRARY2 . '/' . $lines['basename'];
$class = (getModule($lines['filename'])) ? 'downloadButtonDisabled' : 'downloadButton';
$button = '<button type="submit" class="' . $class . '"><span>Click</span></button>';
$link = createHiddenSendFormGET('download.php', $lines['basename'], $button);
$htmlModule = $link;
}