Добро пожаловать, Гость!
Рерайтинг движка | GitHub - Страница 0
Предложения и пожелания | Рерайтинг движка | 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
Комментарии:
MarkPrior 4 Авг 2022
Автор темы
ChangeLog 04.08 15:30
* reg.php - переписана регистрация
===> html элементы регистрации теперь находятся в /sys/widgets/reg/,
===> в reg.php происходит непосредственно обработка данных,
===> с переписью убрано множество лишних запросов в бд,
===> обновлена отправка сообщений на E-mail для активации аккаунта,
===> дату рождения возможно указать только валидную: написан скрипт, который выводит список чисел, которые были в выбранный год в выбранном месяце,
===> проверка валидности даты так же происходит при отправке данных,
===> требования к паролю теперь не 6-32 символов, а 8-64,
===> запросы в бд (настройки пользователя) перенесены из user.php в завершающий этап регистрации.
* fnc.php - переписаны функции err() и msg()
===> так как после отправки данных происходит обновление страницы (переадресация) во избежание повторной отправки данных, сообщение об ошибке нужно отправить перед этим: err('ошибка'),
===> ошибка будет показана после переадресации, если в файле указана функция: err(),
===> то же самое с сообщениями об успехе: msg('успех') -> msg();
(+) db.mailer.class.php - класс отправки сообщений на Email
===> годится для отправки ссылок активации аккаунта и бекапов базы данных.
===> (?) код старенький, нужно тестить.
* db.class.php - исправлены недочёты форматирования запросов select/selectCount.
* user.php/rekl.php - исправлены варнинги циклов foreach().
(?) Следующий на правки - aut.php (авторизация).
Автор темы
ChangeLog 04.08 15:30
* reg.php - переписана регистрация
===> html элементы регистрации теперь находятся в /sys/widgets/reg/,
===> в reg.php происходит непосредственно обработка данных,
===> с переписью убрано множество лишних запросов в бд,
===> обновлена отправка сообщений на E-mail для активации аккаунта,
===> дату рождения возможно указать только валидную: написан скрипт, который выводит список чисел, которые были в выбранный год в выбранном месяце,
===> проверка валидности даты так же происходит при отправке данных,
===> требования к паролю теперь не 6-32 символов, а 8-64,
===> запросы в бд (настройки пользователя) перенесены из user.php в завершающий этап регистрации.
* fnc.php - переписаны функции err() и msg()
===> так как после отправки данных происходит обновление страницы (переадресация) во избежание повторной отправки данных, сообщение об ошибке нужно отправить перед этим: err('ошибка'),
===> ошибка будет показана после переадресации, если в файле указана функция: err(),
===> то же самое с сообщениями об успехе: msg('успех') -> msg();
(+) db.mailer.class.php - класс отправки сообщений на Email
===> годится для отправки ссылок активации аккаунта и бекапов базы данных.
===> (?) код старенький, нужно тестить.
* db.class.php - исправлены недочёты форматирования запросов select/selectCount.
* user.php/rekl.php - исправлены варнинги циклов foreach().
(?) Следующий на правки - aut.php (авторизация).
MarkPrior 4 Авг 2022
Автор темы
ChangeLog 04.08 11:00
* Все классы из /sys/classes/ переведены на PDO, убраны лишние запросы/условия, неиспользуемые переменные/методы.
(?) Класс avatar - дубляж функций avatar/status, будет редактироваться.
(!) На данный момент весь /sys/ переведён на PDO. Начнём править отдельные разделы от простого к сложному. Классы и функции будут переписываться по мере изменения разделов, сейчас избавились от ненужного в коре, дабы кода была меньше и страницы грузились быстрее.
* Из-за изменения вида запросов уходим от циклов вида while() к foreach(), который так же выигрывает по скорости.
* В db.class.php поправлен метод delete, который давал ошибку.
* Есть устаревшие классы (mp3_id/pear), писавшиеся на PHP 4. Надо будет смотреть замену.
* Сегодня надо будет смотреть регистрацию/авторизацию.
Автор темы
ChangeLog 04.08 11:00
* Все классы из /sys/classes/ переведены на PDO, убраны лишние запросы/условия, неиспользуемые переменные/методы.
(?) Класс avatar - дубляж функций avatar/status, будет редактироваться.
(!) На данный момент весь /sys/ переведён на PDO. Начнём править отдельные разделы от простого к сложному. Классы и функции будут переписываться по мере изменения разделов, сейчас избавились от ненужного в коре, дабы кода была меньше и страницы грузились быстрее.
* Из-за изменения вида запросов уходим от циклов вида while() к foreach(), который так же выигрывает по скорости.
* В db.class.php поправлен метод delete, который давал ошибку.
* Есть устаревшие классы (mp3_id/pear), писавшиеся на PHP 4. Надо будет смотреть замену.
* Сегодня надо будет смотреть регистрацию/авторизацию.
MarkPrior 3 Авг 2022
Автор темы
ChangeLog 03.08 20:45
+ На GitHub добавлены примеры по структуре PDO-запросов SELECT (SELECT COUNT), UPDATE, INSERT (INSERT MULTIPLE):
GitHub - Dcms-Social | README
Автор темы
ChangeLog 03.08 20:45
+ На GitHub добавлены примеры по структуре PDO-запросов SELECT (SELECT COUNT), UPDATE, INSERT (INSERT MULTIPLE):
GitHub - Dcms-Social | README
MarkPrior 3 Авг 2022
Автор темы
ChangeLog 03.08 20:05
* Все функции из /sys/inc/ перемещены в /sys/fnc/;
* Все функции в /sys/fnc/ переведены на PDO,
===> убраны все лишние запросы (~18),
===> код некоторых функций полностью изменён (прим, sklon_text()),
===> удалены дубляжи функций,
===> во многих были неиспользуемые переменные;
(?) avatar/status частичные дубляжи, будет создана одна; функция;
+ start.php добавлен чекер GET/POST;
+ /inc/database/ - перемещён db.class.php и добавлен db.backup.class.php для создания бекапов базы данных;
(>) На завтра правки - /sys/classes/, /sys/add/.
Автор темы
ChangeLog 03.08 20:05
* Все функции из /sys/inc/ перемещены в /sys/fnc/;
* Все функции в /sys/fnc/ переведены на PDO,
===> убраны все лишние запросы (~18),
===> код некоторых функций полностью изменён (прим, sklon_text()),
===> удалены дубляжи функций,
===> во многих были неиспользуемые переменные;
(?) avatar/status частичные дубляжи, будет создана одна; функция;
+ start.php добавлен чекер GET/POST;
+ /inc/database/ - перемещён db.class.php и добавлен db.backup.class.php для создания бекапов базы данных;
(>) На завтра правки - /sys/classes/, /sys/add/.
MarkPrior 3 Авг 2022
Автор темы
ChangeLog 03.08 16:30
- mysql2i-файлы удалены, невостребованы;
- compress.php, ipua.php, sess.php, settings.php, home.php - (удалены) нужный код перенесён в start.php;
* fnc.php - теперь содержит только функции;
===> запросы переведены на PDO,
===> убрано немалое количество лишних,
===> убраны неиспользуемые функции,
===> со временем будут удаляться оставшиеся ненужные (как my_esc, vremja);
===> код не функций перенесён в start.php;
* start.php - запросы переправлены на PDO,
===> убрано немалое количество лишних,
===> функции перенесены в fnc.php (за исключением парочки),
===> убран дублированный код,
===> * будет дорабатываться.
* gifdecoder/gifencoder.php - нужно заменить, есть ошибки, пока что убраны неиспользуемые переменные;
* tar.php/zip.php - заменить, много лишнего кода.
* main_menu, main_notes, news_main.php - сделать отдельными виджетами, пока что переведены на PDO, убраны лишние запросы.
+ index.php - выгружена главная страница с уже удалёнными инклудами, немного подправлен.
P.S. Лишних mysql-запросов суммарно нашёл уже ~40-45, все удалены, нужные - оптимизированы в компактный вид. Уже сейчас страницы грузятся быстрее.
Автор темы
ChangeLog 03.08 16:30
- mysql2i-файлы удалены, невостребованы;
- compress.php, ipua.php, sess.php, settings.php, home.php - (удалены) нужный код перенесён в start.php;
* fnc.php - теперь содержит только функции;
===> запросы переведены на PDO,
===> убрано немалое количество лишних,
===> убраны неиспользуемые функции,
===> со временем будут удаляться оставшиеся ненужные (как my_esc, vremja);
===> код не функций перенесён в start.php;
* start.php - запросы переправлены на PDO,
===> убрано немалое количество лишних,
===> функции перенесены в fnc.php (за исключением парочки),
===> убран дублированный код,
===> * будет дорабатываться.
* gifdecoder/gifencoder.php - нужно заменить, есть ошибки, пока что убраны неиспользуемые переменные;
* tar.php/zip.php - заменить, много лишнего кода.
* main_menu, main_notes, news_main.php - сделать отдельными виджетами, пока что переведены на PDO, убраны лишние запросы.
+ index.php - выгружена главная страница с уже удалёнными инклудами, немного подправлен.
P.S. Лишних mysql-запросов суммарно нашёл уже ~40-45, все удалены, нужные - оптимизированы в компактный вид. Уже сейчас страницы грузятся быстрее.
MarkPrior 3 Авг 2022
Автор темы
ChangeLog 03.08 14:15
+ db.class.php - PDO соединение с форматированием запросов;
* chomd_test.php - значительно упрощена проверка прав доступа к папкам/файлам;
* user.php - переведено на PDO, убраны лишние запросы (~27), сделаны пометки участков кода к удалению/перемещению
Автор темы
ChangeLog 03.08 14:15
+ db.class.php - PDO соединение с форматированием запросов;
* chomd_test.php - значительно упрощена проверка прав доступа к папкам/файлам;
* user.php - переведено на PDO, убраны лишние запросы (~27), сделаны пометки участков кода к удалению/перемещению