Добро пожаловать, Гость!
Рерайтинг движка | GitHub - Страница 13
Предложения и пожелания | Рерайтинг движка | GitHub
MarkPrior :
Доброго времени суток. Набрёл на движок с интернета. Подобные системы - не моя специальность, но я всегда рад помочь в улучшении, если то возможно. Сам занимаюсь Java/C#, но в свободное время балуюсь подобными вещами, поэтому решил подсобить/ускорить его преображение.
Вчера просмотрел движок, чуток очумел от количества мусора, но не всё потеряно. Как я понял, пользуются системой исключительно те, кто любит максимально простой и понятный вид кода без "всяких ваши ООП и т.п.". И хоть двиг подутратил свою востребованность, но, как я увидел, есть ещё много ньюфагов, которые пользуются и, надеюсь, учатся на этой системе.
Мне не помешает человек (или несколько человекОВ), которые давно пользуются этим движком и которые уверенно ориентируются в коде, дабы, при возникновении у меня вопросов, я мог кому-то написать.
На своём старом аккаунте GitHub создал репозиторий для движка. За основу взял версию DS-Special из-за введённой мультиязычности.
ФУЛЛ переписи не планируется, дабы, если у кого-то будет желание, переход на обновлёнку не был тяжёлым. Привычная архитектура, думаю, будет сохранена. Обновления затронут стилизацию кода и удаление излишнего мусора.
Для примера в одном только /sys/inc/user.php было ~27 лишних запросов в базу данных.
От mysql мы уйдём в сторону PDO (простота и, прежде всего, безопасность). Уже имеется обёртка, которая позволит легко и просто осуществлять запросы в базу. "Документация" по ним будет так же на GitHub.
Здесь в теме буду кратко писать ChangeLog'и по изменениям в коде. По мере переписи файлы будут загружаться на git.
Ссылка на репозиторий: GitHub - Dcms-Social
Рерайтинг движка | GitHub
3 Авг 2022Доброго времени суток. Набрёл на движок с интернета. Подобные системы - не моя специальность, но я всегда рад помочь в улучшении, если то возможно. Сам занимаюсь Java/C#, но в свободное время балуюсь подобными вещами, поэтому решил подсобить/ускорить его преображение.
Вчера просмотрел движок, чуток очумел от количества мусора, но не всё потеряно. Как я понял, пользуются системой исключительно те, кто любит максимально простой и понятный вид кода без "всяких ваши ООП и т.п.". И хоть двиг подутратил свою востребованность, но, как я увидел, есть ещё много ньюфагов, которые пользуются и, надеюсь, учатся на этой системе.
Мне не помешает человек (или несколько человекОВ), которые давно пользуются этим движком и которые уверенно ориентируются в коде, дабы, при возникновении у меня вопросов, я мог кому-то написать.
На своём старом аккаунте GitHub создал репозиторий для движка. За основу взял версию DS-Special из-за введённой мультиязычности.
ФУЛЛ переписи не планируется, дабы, если у кого-то будет желание, переход на обновлёнку не был тяжёлым. Привычная архитектура, думаю, будет сохранена. Обновления затронут стилизацию кода и удаление излишнего мусора.
Для примера в одном только /sys/inc/user.php было ~27 лишних запросов в базу данных.
От mysql мы уйдём в сторону PDO (простота и, прежде всего, безопасность). Уже имеется обёртка, которая позволит легко и просто осуществлять запросы в базу. "Документация" по ним будет так же на GitHub.
Здесь в теме буду кратко писать ChangeLog'и по изменениям в коде. По мере переписи файлы будут загружаться на git.
Ссылка на репозиторий: GitHub - Dcms-Social
Последний раз редактировалось biket
1 Сент 2022
Комментарии:
TheSom 6 Авг 2022
MarkPrior, Автор есть возможность глянуть на движок поковырять или он только на Git лежит ?
MarkPrior, Автор есть возможность глянуть на движок поковырять или он только на Git лежит ?
biket
6 Авг 2022
Класс к базе данных лучше через singleton сделать и отказаться от глобальной переменной
______________________
Установи себе подпись: Ссылка
Класс к базе данных лучше через singleton сделать и отказаться от глобальной переменной
______________________
Установи себе подпись: Ссылка
MarkPrior 6 Авг 2022
Автор темы
Подробное описание изменений будет только на GitHub!
Смотрите в коммитах репозитория!
ChangeLog 06.08 15:50
* user.class.php:
===> переписан метод metadata;
===> добавлен метод setReply;
* guest - Гостевая:
===> полностью переписана;
===> в цикле вывода сообщений больше нет лишних запросов;
* chat - Чат, начал переписывать.
ToDo
(!) Из-за плохой адаптации дизайна под разные устройства возникают проблемы с "ровным" выводом длинных постов. Потому начал переписывать всё оформление.
Не будет отдельной папки под default и под web. Будет единое адаптивное оформление.
Выгружаться на git пока что не будет, пока не сверстается общий шаблон для гостевой. Так сказать, достаточно один раздел полностью переработать - остальное пойдёт быстрее из-за готовой базы.
Автор темы
Подробное описание изменений будет только на GitHub!
Смотрите в коммитах репозитория!
ChangeLog 06.08 15:50
* user.class.php:
===> переписан метод metadata;
===> добавлен метод setReply;
* guest - Гостевая:
===> полностью переписана;
===> в цикле вывода сообщений больше нет лишних запросов;
* chat - Чат, начал переписывать.
ToDo
(!) Из-за плохой адаптации дизайна под разные устройства возникают проблемы с "ровным" выводом длинных постов. Потому начал переписывать всё оформление.
Не будет отдельной папки под default и под web. Будет единое адаптивное оформление.
Выгружаться на git пока что не будет, пока не сверстается общий шаблон для гостевой. Так сказать, достаточно один раздел полностью переработать - остальное пойдёт быстрее из-за готовой базы.
MarkPrior 5 Авг 2022
Автор темы
ChangeLog 05.08 14:30
* db.class.php - исправлена ошибка, связанная с совпадением названия поля с зарезервированнымы mysql словами.
* /guest/index.php:
===> добавлено редактирование сообщений, перенесено так же в index.php.
===> форма редактирования находится в /sys/widgets/guest/formEdit.php.
===> скрытие/показ/удаление сообщений теперь обрабатываются через единый GET['act'] в виде:
======> ?act=hide&mess=<id>, ?act=show&mess=<id>, ?act=delete&mess=<id>
===> информация о том, кто скрыл/показал сообщение и кто отредактировал теперь сохраняются в поле admin_info в виде: ID|NICK|ID|NICK (через explode получим массив данных, первые ID NICK - кто скрыл/показал, вторые - отредачил).
===> (?) не особо элегантный способ, но позволяет избежать запросы в бд внутри цикла.
На данный момент в гостевой осталось осуществить ответы.
* user.class.php - исправлен недочёт в методе banned(), срабатывал даже если бана не было.
===> так же иконка онлайна через user::nick() будет выводиться дефолтом, дабы избавиться от функции online().
===> (?) класс нужно будет переписывать, чтобы каждое последующее обращение к методам не требовало выполнения нового запроса к user, а работало в виде:
$u = new user($id);
$u->nick(<params>);
$u->group();
но при этом позволяло обращаться отдельно к конкретным методам всё так же: user::banned($id), user::metadata(<params>)
Автор темы
ChangeLog 05.08 14:30
* db.class.php - исправлена ошибка, связанная с совпадением названия поля с зарезервированнымы mysql словами.
* /guest/index.php:
===> добавлено редактирование сообщений, перенесено так же в index.php.
===> форма редактирования находится в /sys/widgets/guest/formEdit.php.
===> скрытие/показ/удаление сообщений теперь обрабатываются через единый GET['act'] в виде:
======> ?act=hide&mess=<id>, ?act=show&mess=<id>, ?act=delete&mess=<id>
===> информация о том, кто скрыл/показал сообщение и кто отредактировал теперь сохраняются в поле admin_info в виде: ID|NICK|ID|NICK (через explode получим массив данных, первые ID NICK - кто скрыл/показал, вторые - отредачил).
===> (?) не особо элегантный способ, но позволяет избежать запросы в бд внутри цикла.
На данный момент в гостевой осталось осуществить ответы.
* user.class.php - исправлен недочёт в методе banned(), срабатывал даже если бана не было.
===> так же иконка онлайна через user::nick() будет выводиться дефолтом, дабы избавиться от функции online().
===> (?) класс нужно будет переписывать, чтобы каждое последующее обращение к методам не требовало выполнения нового запроса к user, а работало в виде:
$u = new user($id);
$u->nick(<params>);
$u->group();
но при этом позволяло обращаться отдельно к конкретным методам всё так же: user::banned($id), user::metadata(<params>)
MarkPrior 4 Авг 2022
Автор темы
ChangeLog 04.08 23:20
* user.class.php - добавлены методы banned() и metadata():
===> banned() по user_id позволит узнать, забанен ли пользователь в разделе, и перенаправить на страницу с баном.
===> metadata() позволяет быстро работать с временной информацией:
======> сохранять её, указав название, значение и время хранения - user::metadata('save', 'name', 'value', 300) (время в секундах), user::metadata('save', 'name', 'one|two', 100),
======> получать полностью user::metadata('get', 'name'),
======> получить лишь часть по индексу - user::metadata('get-0', 'name') (вернёт false, если нет),
======> удалить - user::metadata('remove', 'name').
(!) версия слишком простенькая, будет изменяться;
* db.class.php - поправлены недочёты с неформатированными запросами.
(+) /guest/index.php - выгружена главная страница гостевой,
===> отдельные файлы раздела находятся в /sys/widgets/guest/,
===> убрано написание сообщений от неавторизованного (не востребовано),
===> (!) редактирования/ответов на сообщения пока что нет, допишется завтра.
===> информация о том, кто редактировал сообщение, будет сохраняться в бд в виде id|nick, дабы не вставлять доп. запрос, чтобы узнать ник..
===> изменён принцип скрытия/показа сообщений,
===> при ?reply (приватный ответ) добавлены проверки на существование сообщения.
Мои контакты для связи по двигу:
Telegram - @marknprior
Автор темы
ChangeLog 04.08 23:20
* user.class.php - добавлены методы banned() и metadata():
===> banned() по user_id позволит узнать, забанен ли пользователь в разделе, и перенаправить на страницу с баном.
===> metadata() позволяет быстро работать с временной информацией:
======> сохранять её, указав название, значение и время хранения - user::metadata('save', 'name', 'value', 300) (время в секундах), user::metadata('save', 'name', 'one|two', 100),
======> получать полностью user::metadata('get', 'name'),
======> получить лишь часть по индексу - user::metadata('get-0', 'name') (вернёт false, если нет),
======> удалить - user::metadata('remove', 'name').
(!) версия слишком простенькая, будет изменяться;
* db.class.php - поправлены недочёты с неформатированными запросами.
(+) /guest/index.php - выгружена главная страница гостевой,
===> отдельные файлы раздела находятся в /sys/widgets/guest/,
===> убрано написание сообщений от неавторизованного (не востребовано),
===> (!) редактирования/ответов на сообщения пока что нет, допишется завтра.
===> информация о том, кто редактировал сообщение, будет сохраняться в бд в виде id|nick, дабы не вставлять доп. запрос, чтобы узнать ник..
===> изменён принцип скрытия/показа сообщений,
===> при ?reply (приватный ответ) добавлены проверки на существование сообщения.
Мои контакты для связи по двигу:
Telegram - @marknprior
MarkPrior 4 Авг 2022
Автор темы
ChangeLog 04.08 19:25
(-) aut.php - авторизация перенесена в reg.php;
===> обработчик авторизации по логину/паролю, прямой ссылке и cookie находится по-прежнему в login.php, где были переписаны все запросы и упрощена сама авторизация;
===> фронт оформление находится в /sys/widgets/reg/auth.php,
===> адрес авторизации теперь site.ru/auth.
* start.php - изменено определение браузера пользователя:
===> теперь записываться будет ос, версия ос, название браузера и его версия (пример: Windows 10 - Yandex Browser 22.7),
===> обновление этой информации будет происходить не постоянно, а каждые 5 минут, информация не особо используемая.
* user.php - упрощено определение IP-адреса;
(+) /style/themes/web/menu.php/navigation.php - выгружены верхняя и левая боковая панели web-темы, переписанные, упрощённые;
* теперь ссылки на сайте могут иметь вид: site.ru/reg вместо site.ru/reg.php (с конца убирается .php). может работать не со всеми форматами ссылок, надо тестить.
(>) На сегодня ещё перепишу гостевую.
P.S. Структура сайта всё-таки может измениться. Пока работал с кором, то увидел, что в БД очень много лишних полей, информация слишком разбросана, хотя может быть всё сделано куда компактней. Будет видно по переписи форума.
Автор темы
ChangeLog 04.08 19:25
(-) aut.php - авторизация перенесена в reg.php;
===> обработчик авторизации по логину/паролю, прямой ссылке и cookie находится по-прежнему в login.php, где были переписаны все запросы и упрощена сама авторизация;
===> фронт оформление находится в /sys/widgets/reg/auth.php,
===> адрес авторизации теперь site.ru/auth.
* start.php - изменено определение браузера пользователя:
===> теперь записываться будет ос, версия ос, название браузера и его версия (пример: Windows 10 - Yandex Browser 22.7),
===> обновление этой информации будет происходить не постоянно, а каждые 5 минут, информация не особо используемая.
* user.php - упрощено определение IP-адреса;
(+) /style/themes/web/menu.php/navigation.php - выгружены верхняя и левая боковая панели web-темы, переписанные, упрощённые;
* теперь ссылки на сайте могут иметь вид: site.ru/reg вместо site.ru/reg.php (с конца убирается .php). может работать не со всеми форматами ссылок, надо тестить.
(>) На сегодня ещё перепишу гостевую.
P.S. Структура сайта всё-таки может измениться. Пока работал с кором, то увидел, что в БД очень много лишних полей, информация слишком разбросана, хотя может быть всё сделано куда компактней. Будет видно по переписи форума.