Добро пожаловать, Гость!
:: + Добавить ссылку через биллинг
:: + Добавить ссылку анонимно
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
Рерайтинг движка | GitHub - Страница 13
Предложения и пожелания | Рерайтинг движка | GitHub
MarkPrior : Рерайтинг движка | GitHub
3 Авг 2022Доброго времени суток. Набрёл на движок с интернета. Подобные системы - не моя специальность, но я всегда рад помочь в улучшении, если то возможно. Сам занимаюсь Java/C#, но в свободное время балуюсь подобными вещами, поэтому решил подсобить/ускорить его преображение.
Вчера просмотрел движок, чуток очумел от количества мусора, но не всё потеряно. Как я понял, пользуются системой исключительно те, кто любит максимально простой и понятный вид кода без "всяких ваши ООП и т.п.". И хоть двиг подутратил свою востребованность, но, как я увидел, есть ещё много ньюфагов, которые пользуются и, надеюсь, учатся на этой системе.
Мне не помешает человек (или несколько человекОВ), которые давно пользуются этим движком и которые уверенно ориентируются в коде, дабы, при возникновении у меня вопросов, я мог кому-то написать.
На своём старом аккаунте GitHub создал репозиторий для движка. За основу взял версию DS-Special из-за введённой мультиязычности.
ФУЛЛ переписи не планируется, дабы, если у кого-то будет желание, переход на обновлёнку не был тяжёлым. Привычная архитектура, думаю, будет сохранена. Обновления затронут стилизацию кода и удаление излишнего мусора.
Для примера в одном только /sys/inc/user.php было ~27 лишних запросов в базу данных.
От mysql мы уйдём в сторону PDO (простота и, прежде всего, безопасность). Уже имеется обёртка, которая позволит легко и просто осуществлять запросы в базу. "Документация" по ним будет так же на GitHub.
Здесь в теме буду кратко писать ChangeLog'и по изменениям в коде. По мере переписи файлы будут загружаться на git.
Ссылка на репозиторий: GitHub - Dcms-Social
Последний раз редактировалось biket
1 Сент 2022
Комментарии:
MarkPrior 7 Авг 2022Автор темы
ChangeLog 06.08 23:50
Оформление:
=> больше не будет /style/themes/ с отдельно web и default темами;
=> на данный момент наброшено начальное адаптивное оформление на основе bootstrap;
=> по трендам - оформление будет светлое и тёмное (пример тёмной будет вскоре).
Скриншоты наброска на основе Гостевой:
Скрин 1
Скрин 2
Скрин 3
Скрин 4
Скрин 5
Скрин 6
Остальное
* /sys/inc/user.php - убрана большая часть невостребованного кода, включая определение типа оформления сайта.
* /sys/inc/start.php - подправлен в соответствии с изменениями в user.php.
(!) /guest/index.php - обновлён по новому оформлению сайта
==> sys/widgets/-> getPosts (вывод сообщений в гостевой), form (форма ввода сообщения) - обновлены в соответствии с новым оформлением.
==> вид гостевой есть на скринах.
==> информация о том, кому отвечали, теперь хранится в поле reply (ранее privat) в виде id|nick (избегаем доп. запрос в цикле).
(!) /sys/inc/thead.php - теперь он и выводит шапку сайта:
==> через него инклудятся боковая, верхняя и левая панели сайта из отдельных "виджетов":
/sys/widgets/style/-> userHeader, userRight(-Left)Panel, userPreRightPanel (статичная правая боковая панель, которая при изменении размера экрана переходит вниз, а не скрывается).
(!) /sys/inc/tfoot.php - так же теперь выводит непосредственно низ сайта.
* метод metadata в user.class полностью изменён:
==> работает на сессиях, позволяет сохранять и получать временную информацию в разном виде:
===> user::metadata('save', 'name', 'value') - сохранить в name значение value;
===> user::metadata('get', 'name') - получить фулл значение name;
MarkPrior 6 Авг 2022Автор темы
TheSom, бетка будет запущена, когда хотя бы 3 раздела будут полностью переправлены. Сейчас это только Гостевая. Дальше хочется по большей мере Форум и Блоги.
Когда они будут закончены - будет бетка.
А пока что все обновки грузятся на хаб просто для просмотра изменений и, мб, каких-то рекомендаций по изменениям.
TheSom
6 Авг 2022MarkPrior, Автор есть возможность глянуть на движок поковырять или он только на Git лежит ?
biket
Класс к базе данных лучше через singleton сделать и отказаться от глобальной переменной
______________________
Установи себе подпись: Ссылка
MarkPrior 6 Авг 2022Автор темы
Подробное описание изменений будет только на 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>)


