Skip to content

Commit

Permalink
Оптимизация кода
Browse files Browse the repository at this point in the history
[UPDATE] Оптимизация кода под PHP 8.2
[NEW] Минимально поддерживаемая версия DLE - 16.0
[UPDATE] Изменён список алгоритмов на hash_hmac_algos
  • Loading branch information
Gokujo committed Feb 27, 2023
1 parent 047dc71 commit d613d53
Show file tree
Hide file tree
Showing 136 changed files with 2,865 additions and 3,579 deletions.
58 changes: 5 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@
[![GitHub forks](https://img.shields.io/github/forks/Gokujo/dle_api.svg?style=flat-square)](https://github.com/Gokujo/dle_api/network)
[![GitHub license](https://img.shields.io/github/license/Gokujo/dle_api.svg?style=flat-square)](https://github.com/Gokujo/dle_api/blob/master/LICENSE)

![DLE-13.x](https://img.shields.io/badge/DLE-13.x-green.svg?style=flat-square)
![DLE-16.x](https://img.shields.io/badge/DLE-16.x-green.svg?style=flat-square)
![MySQL-5.5.6](https://img.shields.io/badge/MySQL-5.5.6-red.svg?style=flat-square)

![Версия_релиза](https://img.shields.io/github/manifest-json/v/Gokujo/dle_api?filename=manifest.json&style=flat-square)
![Версия_релиза](https://img.shields.io/badge/Version-BETA-orange.svg?style=flat-square)

# DLE API
Модификация для админпанели и глобальные функции для моих разработок
Совместимость проверенна на DLE-версиях 13.х. Для корректной работы требуется минимальная версия MySQL 5.5.6 или MariaDB 10.0, поскольку используются Foreign Key, которые требуют наличие InnoDB.
Совместимость проверенна на DLE-версиях 16.х. Для корректной работы требуется минимальная версия MySQL 5.5.6 или MariaDB 10.0, поскольку используются Foreign Key, которые требуют наличие InnoDB.

Для установки достаточно скачать [релиз](https://github.com/Gokujo/dle_api/releases/latest).
Документация к API находится на сервере [POSTMAN](https://documenter.getpostman.com/view/7856564/2s93CLsZ6p). На данный момент она не полная и пополняется медленно, но верно.
Релизы выше только для версий DLE 13 и выше.
Релизы выше только для версий DLE 16 и выше.

Чтобы пополнить описания к полям - делаем форк репозитория и редактируем файл в папке apidata **DLE-API.postman_collection.json**. Изменяем и делаем пуш риквест.


# DLE >= 13.x
# Инструкция
Скачайте релиз. У вас три варианта для установки:
1. **При помощи bat-Скрипта. Для пользователей Windows**
Для этого устанавливаем [7Zip](https://www.7-zip.org/download.html).
Expand All @@ -34,59 +34,11 @@
Залейте папку **engine** в корень сайта и установите плагин через менеджер плагинов.



# DLE < 13
В теории, и на движках младше всё должно работать, поскольку в процессе не затрагиваются файлы движка. Но, это не точно, я не пробовал, не эксперементировал. На свой страх и риск.

## Установка
Залить папки **api** и **engine** из папки **upload** в корень сайта. Затем выполнить запрос в базу данных:

```SQL
CREATE TABLE {prefix}_api_keys (
id int auto_increment
primary key,
api varchar(255) not null,
is_admin tinyint(1) default 0 not null,
creator int default 0 null,
created datetime default CURRENT_TIMESTAMP not null,
active tinyint(1) default 0 not null,
user_id int default 0 not null,
own_only tinyint(1) default 1 not null,
constraint {prefix}_api_keys_key_uindex
unique (api)
);

create table {prefix}_api_scope (
scope_id int auto_increment
primary key,
`table` varchar(255) null,
`read` tinyint(1) default 0 not null,
`write` tinyint(1) default 0 not null,
`delete` tinyint(1) default 0 not null,
key_id int default 0 not null,
constraint {prefix}_api_scope_{prefix}_api_keys_id_fk
foreign key (key_id) references {prefix}_api_keys (id)
on update cascade on delete cascade
);

INSERT INTO {prefix}_admin_sections (name, title, descr, icon, allow_groups) VALUES ('dleapi', 'DLE-API', 'Неофициальное API для DLE. Раздел по созданию и управлению над ключами доступа к API.', '/engine/skins/images/icons/dleapi.png', 1);
```

## Обновление
Заменить все файлы из папки **upload**, кроме **install.xml**.


## Удаление
Удаляем **из корня** сайта папку **api**, a так-же из папки **engine/inc** файл **dleapi.php** и из **engine/skins/images** файл **dleapi.png**.

Выполняем запрос в базу данных:


```SQL
DELETE FROM {prefix}_admin_sections WHERE `name` = 'dleapi';
DROP TABLE {prefix}_api_keys cascade, {prefix}_api_scope cascade;
DROP PROCEDURE IF EXISTS addFieldIfNotExists;
DROP FUNCTION IF EXISTS isFieldExisting;
```

**{prefix}** заменяем на свой префикс базы данных.
Удаляем плагин из менеджера плагинов
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"version": "0.2.2",
"version": "0.3.0",
"name": "DLE API"
}
5 changes: 3 additions & 2 deletions upload/api/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
"ext-json": "*",
"slim/slim": "3.*",
"monolog/monolog": "*",
"ext-pdo": "*"
"ext-pdo": "*",
"lincanbin/php-pdo-mysql-class": "*"
},
"config": {
"platform": {
"php": "7.4"
"php": "8.1"
}
}
}
105 changes: 76 additions & 29 deletions upload/api/composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 0 additions & 40 deletions upload/api/includes/PDO.Iterator.class.php

This file was deleted.

35 changes: 0 additions & 35 deletions upload/api/includes/PDO.Log.class.php

This file was deleted.

Loading

0 comments on commit d613d53

Please sign in to comment.