8 Commits

Author SHA1 Message Date
12a2f77af7 fixed settings installer 2026-01-07 12:54:11 +05:00
ee02ecd474 dependencies 2026-01-06 12:42:09 +05:00
913dfb8a92 fixed $ 2025-11-04 16:19:18 +07:00
372d008545 added copying *.sample files script 2025-11-04 16:12:31 +07:00
e38a870e71 controller HTML response 2025-11-04 10:55:58 +07:00
36b48d14d1 suggest mirzaev/files and delete files trait 2025-11-04 02:41:27 +07:00
1261738c3d languages support + deleted @author tags 2025-10-26 18:06:27 +07:00
9718bec887 languages and currencies 2025-10-26 17:34:50 +07:00
9 changed files with 26 additions and 143 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,3 @@
!.gitignore
composer.phar
composer.lock
vendor

View File

@@ -6,8 +6,10 @@ namespace ${REPO_OWNER}\${REPO_NAME}\controllers;
// Files of the project
use ${REPO_OWNER}\${REPO_NAME}\views\templater,
${REPO_OWNER}\${REPO_NAME}\models\core as models,
${REPO_OWNER}\${REPO_NAME}\models\enumerations\language;
${REPO_OWNER}\${REPO_NAME}\models\core as models;
// Library for languages support
use mirzaev\languages\language;
// Framework for PHP
use mirzaev\minimal\core as minimal,
@@ -28,7 +30,6 @@ use mirzaev\minimal\core as minimal,
*
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
* @author ${REPO_OWNER} <mail@domain.zone>
*/
class core extends controller
{

View File

@@ -22,7 +22,6 @@ use mirzaev\minimal\http\enumerations\content,
*
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
* @author ${REPO_OWNER} <mail@domain.zone>
*/
final class index extends core
{
@@ -42,8 +41,8 @@ final class index extends core
*/
public function index(): null
{
if (str_contains($$this->request->headers['accept'], content::any->value)) {
// Request for any response
if (str_contains($$this->request->headers['accept'] ?? '', content::html->value)) {
// Request for HTML response
// Render page
$$page = $$this->view->render('index.html');

View File

@@ -20,7 +20,6 @@ use exception;
*
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
* @author ${REPO_OWNER} <mail@domain.zone>
*/
class core extends model
{

View File

@@ -1,62 +0,0 @@
<?php
declare(strict_types=1);
namespace ${REPO_OWNER}\${REPO_NAME}\models\enumerations;
/**
* Language
*
* Types of languages by ISO 639-1 standart
*
* @package ${REPO_OWNER}\${REPO_NAME}\models\enumerations
*
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
* @author ${REPO_OWNER} <mail@domain.zone>
*/
enum language
{
case en;
case ru;
/**
* Label
*
* Initialize label of the language
*
* @param language|null $language Language into which to translate
*
* @return string Translated label of the language
*/
public function label(?language $$language = language::en): string
{
// Exit (success)
return match ($$this) {
language::en => match ($$language) {
language::en => 'English',
language::ru => 'Английский'
},
language::ru => match ($$language) {
language::en => 'Russian',
language::ru => 'Русский'
}
};
}
/**
* Flag
*
* Initialize the flag emoji of the language
*
* @return string The flag emoji of the language
*/
public function flag(): string
{
// Exit (success)
return match ($$this) {
language::en => '🇺🇸',
language::ru => '🇷🇺'
};
}
}

View File

@@ -1,67 +0,0 @@
<?php
declare(strict_types=1);
namespace ${REPO_OWNER}\${REPO_NAME}\models\traits;
// Built-in libraries
use exception;
/**
* Files
*
* Trait with files handlers
*
* @method static void delete(string $$directory, array &$$errors)
*
* @package ${REPO_OWNER}\${REPO_NAME}\models\traits
*
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
* @author ${REPO_OWNER} <mail@domain.zone>
*/
trait files
{
/**
* Delete
*
* Delete files recursively
*
* @param string $$directory Directory
* @param array &$$errors Registry of errors
*
* @return void
*/
private static function delete(string $$directory, array &$$errors = []): void
{
try {
if (file_exists($$directory)) {
// Directory exists
// Deleting descendant files and directories (enter to the recursion)
foreach (scandir($$directory) as $$file) {
if ($$file === '.' || $$file === '..') continue;
else if (is_dir("$$directory/$$file")) static::delete("$$directory/$$file", $$errors);
else unlink("$$directory/$$file");
}
// Deleting the directory
rmdir($$directory);
// Exit (success)
return;
} else throw new exception('Directory does not exist');
} catch (exception $$e) {
// Writing to the registry of errors
$$errors[] = [
'text' => $$e->getMessage(),
'file' => $$e->getFile(),
'line' => $$e->getLine(),
'stack' => $$e->getTrace()
];
}
// Exit (fail)
return;
}
}

View File

@@ -4,8 +4,8 @@ declare(strict_types=1);
namespace ${REPO_OWNER}\${REPO_NAME}\views;
// Files of the project
use ${REPO_OWNER}\${REPO_NAME}\models\enumerations\language;
// Library for languages support
use mirzaev\languages\language;
// Framework for PHP
use mirzaev\minimal\controller;
@@ -34,7 +34,6 @@ use ArrayAccess as array_access,
*
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
* @author ${REPO_OWNER} <mail@domain.zone>
*/
final class templater extends controller implements array_access
{

View File

@@ -22,13 +22,21 @@
"issues": "https://git.svoboda.works${REPO_LINK}/issues"
},
"require": {
"php": "^8.4",
"mirzaev/minimal": "^3.7",
"mirzaev/baza": "^3.3",
"php": "^8.5",
"mirzaev/minimal": "^3.8",
"mirzaev/baza": "^3.3",
"mirzaev/record": "^1.0",
"mirzaev/languages": "^1.0",
"svoboda/time": "^1.0",
"twig/twig": "^3.2",
"twig/extra-bundle": "^3.7",
"twig/intl-extra": "^3.10"
},
"suggest": {
"mirzaev/files": "Easy working with files",
"mirzaev/currencies": "Easy currencies integration"
},
"autoload": {
"psr-4": {
"${REPO_OWNER}\\${REPO_NAME}\\": "${REPO_OWNER}/${REPO_NAME}/system"

View File

@@ -8,3 +8,10 @@ if [ -d author ]; then
mv author ${REPO_OWNER}
fi
for i in ${REPO_OWNER}/${REPO_NAME}/system/settings/*.sample; do
echo $$i;
if [ ! -f "$${i/.sample/}" ]; then
cp "$$i" "$${i/.sample/}";
echo $${i/.sample/};
fi
done