This commit is contained in:
root
2022-10-13 07:07:04 +03:00
parent 30fd8f0ec3
commit 6d6712e9d2
21 changed files with 590 additions and 98 deletions

View File

@@ -66,10 +66,14 @@ final class books_controller extends core
// Инициализация журнала ошибок
$vars['errors'] = [];
if (count($books = books::import($files['books'] ?? [], errors: $vars['errors'])) > 0) {
// Загружены книги
} else {
// Не загружены книги
if (accounts::init(errors: $vars['errors'])->access('books')) {
// Найден и авторизован аккаунт
if (count($books = books::import($files['books'] ?? [], errors: $vars['errors'])) > 0) {
// Загружены книги
} else {
// Не загружены книги
}
}
// Перенаправление
@@ -122,5 +126,66 @@ final class books_controller extends core
*/
public function delete(array $vars = []): ?string
{
// Инициализация журнала ошибок
$vars['errors'] = [];
if (accounts::init(errors: $vars['errors'])->access('books')) {
// Найден и авторизован аккаунт
if (isset($vars['id'])) {
// Найдены обязательные входные параметры
if (books::delete((int) $vars['id'], $vars['errors'])) {
// Удалена книга из базы данных
// Инициализация пути до книги
$book = \STORAGE . DIRECTORY_SEPARATOR . 'books' . DIRECTORY_SEPARATOR . $vars['id'];
if (file_exists($book)) {
// Найдена книга
// Удаление книги
exec('rm -rf ' . escapeshellarg($book));
// Запись статуса выполнения в буфер вывода
$status = true;
}
}
}
}
return json_encode([
'status' => $status ?? false,
'errors' => $vars['errors']
]);
}
/**
* Поворот
*
* @param array $vars
*
* @return string|null JSON
*/
public function rotate(array $vars = []): ?string
{
// Инициализация журнала ошибок
$vars['errors'] = [];
if (accounts::init(errors: $vars['errors'])->access('books')) {
// Найден и авторизован аккаунт
if (isset($vars['id'], $vars['page'])) {
// Найдены обязательные входные параметры
// Поворот страницы
$status = books::rotate((int) $vars['id'], (int) $vars['page'], $vars['errors']);
}
}
return json_encode([
'status' => $status ?? false,
'errors' => $vars['errors']
]);
}
}