Добро пожаловать, Гость!
:: + Добавить ссылку через биллинг
:: + Добавить ссылку анонимно
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
Рерайтинг движка | GitHub - Страница 8
Предложения и пожелания | Рерайтинг движка | 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 14 Авг 2022Автор темы
ChangeLog 14.08 18:50
* улучшено редактирование прикреплённых изображений к блогам/форуму, в частности обработка передаваемых данных, дабы предотвратить негативные манипуляции...
* блоги допилены.
(скрины ниже - без боковых панелей, но они так же имеются).
[!] По большей мере сегодня правился только фронт. Решил заранее сделать первый шаблон личной страницы пользователя - Начальный вариант. Вместе с тем отправка постов на стену сразу осуществлена на ajax, относительно файлов надо будет думать позже. Страница полностью адаптируема под все устройства.
Ссылка на страницу пользователя теперь будет иметь вид либо /id<ID>, либо @nick.
[!] Сделана страница личных блогов пользователя - Начальный вариант, но, думаю, что таким и оставлю, выглядит прилично. Там так же возможно будет задать мини заставку и небольшой лозунг.
[!] Сам блог теперь выглядит следующим образом. Размеры изображений по мере уменьшения/увеличения разрешения экрана - подстраиваются. Ничто не вылезет за пределы. При наведении на (ред.) будет показано время последнее изменения комментария. Это так же будет введено во все разделы и личную почту.
=> Во все разделы со временем возможно внедрить отправку комментариев на ajax. Надо лишь будет думать, возможно ли это осуществить через единый обработчик.
Пока что в ajax больше уходить не буду. Допишу полностью стену пользователя и дальше начну объединять разделы: репосты с форума в блог, со стены в блог и со стены на стену. Да, на стену репосты с главных разделов идти не будут, она будет нести в себе смысл наподобие "стены" в твиттере - короткие месседжи. Возможно, там будут показываться уведомлялки о смене аватарки и другие мелочи, но объёмных данных на ней не будет.
P.S. К сожалению, и сегодня обновления на GitHub выгружены не будут.
Sto56
Привет. Где ты был раньше?) Молоток, уважаю за труд. Ты сделал за недолгое время столько, сколько за все время существования движка, сделано не было. Респект.
MarkPrior 13 Авг 2022Автор темы
ChangeLog 13.08 22:00 0.2
* обновлён метод nick в классе user.
если указаны имя с фамилией - будут выводиться они.
если указано только имя - только имя.
если этой информации нет - по старинке будет ник
Дополнение
Почему вводятся элементы ajax?
Потому что всё-таки это современный подход. А в нашем случае это ещё и большой выигрыш в скорости работы. Если мы, к примеру, будет проставлять те же лайки с обновлением страницы, то лишь ради обработки всего одного объекта нам нужно снова выполнить всю ту кипу запросов, находящихся в шапке, получить массивы настроек, обработать это всё... В то время, как с ajax, мы обращаемся лишь к обработчику, где выполняется минимальнейшее количество запросов (от 1-го до 3-ёх) и нет никаких объёмных массивных данных. Разница ощутима. Соответственно и вывод обновлённой информации осуществляется быстро.
MarkPrior 13 Авг 2022Автор темы
ChangeLog 13.08 22:00
* обновлён класс Likes. добавлен метод getCommentContent(<data>).
он выводит кнопку лайка для комментария и только. перед этим, как и для постов, сперва нужно вызвать класс. по сути, везде это осуществляется одинаково:
new Like(['id_user' => ID, 'id_object' => ID2, 'type' => 'tableName', 'likes' => [likesCount, 0]]);
например, для комментария блогов это: new Like(['id_user' => $user['id'], 'id_object' => $a['id'], 'type' => 'notes_komm', 'likes' => [$a['likes_count'], 0]]);
работает чисто на ajax, без него не будет.
здесь так же обязательно типом должно выступать имя таблицы, где хранится объект лайка (для комма блогов - notes_komm).
комментарии класса будут обновлены (вариант таких лайков очень сырой).
* обновлена функция br. теперь учитывается не один перенос строки, а два.
* допилена загрузка изображений к темам форума/блогам на ajax и так же редактирование.
Блоги
Полностью адаптированы под дизайн, выводимые изображения так же подстраиваются под экран.
Как выглядит главная страницы: Скрин 1, Скрин 2, Скрин 3
Если содержимое больше 512-ти символов, то выведется кнопка "Показать полностью", при нажатии которой на этой же странице будет показано остальное содержимое блога (наподобие ВК), но не более 2048 символов.
Так же выводится последний комментарий. Здесь же, в принципе, можно сделать подгрузку остальных по клику... Но позже.
Сегодняшние обновы пока что выгружаться не будут. Завтра, когда полностью доделаю блоги.
MarkPrior 13 Авг 2022Автор темы
Энмеркар, часть информации комментариев неактуальна, будет правиться с ходом редактирования разделов, т.к. постоянно что-то меняется для удобства использования.
Энмеркар 13 Авг 2022MarkPrior, Молодец что делаешь хорошие понятные комментарии к коду,, за репозиторий отдельное спасибо что там есть пояснения!)
______________________
꧁༺Энмеркар༻꧂
MarkPrior 12 Авг 2022Автор темы
Визуал
1. Пользователь ввёл неверный формат хештега, получил ошибку, но текст сохранился - показана ошибка.
2. Пользователь прикрепил три файла к блогу, но попытался удалить тот, которого нет в его метаданных - в ответ мы удаляем все прикреплённые файлы и выдаём ошибку.
Сделано так потому, что непреднамеренно передать "левую" информацию невозможно. Значит была преднамеренная попытка это сделать.

