button fix, kernel update

This commit is contained in:
2024-12-19 12:53:55 +03:00
parent 4ff9fa9ad3
commit e75d21bd1b
15 changed files with 393 additions and 47 deletions

View File

@ -7,11 +7,38 @@ use ZipArchive;
class Files
{
public function copy_folder($d1, $d2): void
public function copy_folder($d1, $d2, int $permissions = 0775, bool $recursive = true): void
{
if (is_dir($d1)) {
if (!file_exists($d2)){
$_d2 = mkdir($d2, permissions: 0774, recursive: true);
$old_mask = umask(0);
$_d2 = mkdir($d2, permissions: $permissions, recursive: $recursive);
umask($old_mask);
if (!$_d2) {
return;
}
}
$d = dir($d1);
while (false !== ($entry = $d->read())) {
if ($entry != '.' && $entry != '..') {
$this->copy_folder("$d1/$entry", "$d2/$entry");
}
}
$d->close();
} else {
copy($d1, $d2);
chmod($d2, permissions: $permissions);
}
}
public function copyKernelFolder($d1, $d2, int $permissions = 0775, bool $recursive = true): void
{
if (is_dir($d1)) {
if (!file_exists($d2)){
$old_mask = umask(0);
$_d2 = mkdir($d2, permissions: $permissions, recursive: $recursive);
umask($old_mask);
if (!$_d2) {
return;
}
@ -20,12 +47,13 @@ class Files
$d = dir($d1);
while (false !== ($entry = $d->read())) {
if ($entry != '.' && $entry != '..' && $entry != 'app_modules') {
$this->copy_folder("$d1/$entry", "$d2/$entry");
$this->copyKernelFolder("$d1/$entry", "$d2/$entry");
}
}
$d->close();
} else {
copy($d1, $d2);
chmod($d2, permissions: $permissions);
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace kernel\helpers;
class Version
{
public static function getIntVersionByString(string $version): int
{
$version = preg_replace('/[^0-9]+/', '', $version);
return match (strlen($version)) {
1 => intval($version) * 100,
2 => intval($version) * 10,
3 => intval($version),
};
}
}