Добро пожаловать, Гость!
:: + Добавить ссылку через биллинг
:: + Добавить ссылку анонимно
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
DOXNET — анонимность, общение и цифровая безопасность
Рерайтинг движка | GitHub - Страница 6
Предложения и пожелания | Рерайтинг движка | 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 2 Сент 2022Автор темы
Мобильная версия почты выглядит так.
Только зашёл в почту: Скрин (думаю, сделать всё-таки вывод контактов).
Выбор диалога при нажатии на "Начать переписку": Выдвижное меню.
Перешли в диалог: Конфа.
Выбор другого диалога: Выдвижное меню.
Выдвижное меню закрывается при нажатии на крестик.
Запись голосового так же адаптируется под размер экрана: Запись.
Главную боковую правую панель (выдвигается по синему значку) в почте, думаю, уберу. Закрывается кнопку действий с диалогом.
MarkPrior 2 Сент 2022Автор темы
ChangeLog 02.09 17:45
Для почты сделана запись голосовых сообщений. Пример брал с ВК.
Слева от поля ввода текста расположена кнопка-микрофон, по клику на которую поле ввода текста будет скрыто и начнётся запись.
Справа будет показан таймер, слева - в кружочке кнопка остановки, по нажатию на которую запись будет остановлена. Будет отображена длительность записи и имеется возможность прослушать запись (при воспроизведении значок паузы).
При нажатии на крестик (отмена записи) запись прервётся и будет возвращено поле ввода текста.
Отправка пока не сделана, т.к. думаю, как это лучше осуществить - записывать в Б.Д. или сохранять в виде файла..
MarkPrior 1 Сент 2022Автор темы
ChangeLog 01.09 12:40
(-) удалены все невостребованные (либо дублированные) функции из /sys/fnc, некоторые под вопросом, пока не нашёл, где они используются;
(-) функция rez_text() заменена на cutstr(), которая будет делать "умное" обрезание текста по указанному количеству символов, но останавливаясь на последнем слове;
(-) удалён файл /sys/inc/fnc.php, все востребованные функции перенесены в /sys/fnc.
(-) удалены невостребованные файлы из /sys/inc (pear, mp3, tar, zip & etc.), в дальнейшем какие-то будут заменены.
(*) подправлен класс User, передать в него теперь можно так же ник юзера, а не айди (сделано потому, что теперь на страницу пользователя доступна ссылка в виде site.ru/@nickname).
(*) подправлен класс Db, убраны пару методов, указаны типы передаваемых данных.
В классе имеются методы execute(<sql>) (прямой запрос, как правило без каких-либо параметров), query(<sql>, <params>) (прямой запрос с указанными параметрами).
(+) класс /sys/inc/addons/declension - позволяет склонять слова по падежам, пока что просто добавлен, применение найдётся в будущем, т.к. теперь выводится не ник пользователя, а его имя (и фамилия), если те указаны.
(*) на данный момент имеются основные ajax обработчики в /sys/inc: ajax.db.connect.php - предусматривает работу только с БД (без вывода информации) и ajax.require.php - с выводом информации, содержит в себе основные функции для вывода текста. со временем он будет удалён, т.к. по итогу может содержать невостребованную информацию.
По чату
Чат переписываться не будет, т.к. не вижу в нём необходимости. Потому он будет убран полностью. Есть гостевая, есть лс, форум, блоги и т.п. - общаться есть где.
MarkPrior 1 Сент 2022Автор темы
Юрий, лучше сперва полностью доделать, т.к. разделов много, чем заостряться на одном. И так с почтой увлёкся.
Думаю, для неё можно будет аддон делать на сокетах. Для тех, кто на сервере, а не хостинге. То же самое, к примеру, с кешерами, как APCu.
Юрий
MarkPrior (30 Авг 2022):
ChangeLog 30.08 19:10
* переписывается почта.
Этот раздел полностью перерабатывается. Старые таблицы (mail, users_konts) удалены.
Теперь будет иметься полноценный функционал мессенджера с групповыми чатами.
Новые таблицы:
dialogs (id, name, type (personal/group), new_msg),
dialogs_msg (id, dialog_id, user_id, time, read, msg),
users_dialogs (dialog_id, user_id, type (fav/archive), pin).
Список диалогов (скроллится).
Обычная переписка.
Конференция.
Сообщения в своём окне, который скроллится. Пока что не знаю, как реализовать листинг: прогрузка при прокрутке или привычный постраничный листинг.
При клике в списке диалогов на нужный контакт/конфу - всё быстро подгружается на ajax. Отправка сообщений тоже на ajax.
Единственное, над чем сейчас думаю - реализация автообновления диалога для каждого из собеседников только в том случае, если кем-то отправлено новое сообщение. Это можно было бы плюс/минус легко реализовать при помощи сокетов, но, дабы не грузить мозг обывателям, попробую реализовать на ajax при обращении к файлу-обработчику, который респонсом будет нам сообщать о наличии непрочитанных сообщений в диалоге и только при их наличии будет осуществлено обновление диалога.
Хоть это и влечёт за собой постоянное выполнение запроса к БД, но это лучше, чем обновлять весь диалог, в котором запросов гораздо больше.
Ещё сыровато, написана лишь сама переписка и ajax-обработчики.
* подправлен класс user:
==> добавлен метод dialog_avatar (он тут не особо к месту, но пока что будет здесь).
MarkPrior, может лучше сразу сокеты? а для "обывателей" можно составить простую документацию по настройке скрипта. Кстати есть место на vpsChangeLog 30.08 19:10
* переписывается почта.
Этот раздел полностью перерабатывается. Старые таблицы (mail, users_konts) удалены.
Теперь будет иметься полноценный функционал мессенджера с групповыми чатами.
Новые таблицы:
dialogs (id, name, type (personal/group), new_msg),
dialogs_msg (id, dialog_id, user_id, time, read, msg),
users_dialogs (dialog_id, user_id, type (fav/archive), pin).
Список диалогов (скроллится).
Обычная переписка.
Конференция.
Сообщения в своём окне, который скроллится. Пока что не знаю, как реализовать листинг: прогрузка при прокрутке или привычный постраничный листинг.
При клике в списке диалогов на нужный контакт/конфу - всё быстро подгружается на ajax. Отправка сообщений тоже на ajax.
Единственное, над чем сейчас думаю - реализация автообновления диалога для каждого из собеседников только в том случае, если кем-то отправлено новое сообщение. Это можно было бы плюс/минус легко реализовать при помощи сокетов, но, дабы не грузить мозг обывателям, попробую реализовать на ajax при обращении к файлу-обработчику, который респонсом будет нам сообщать о наличии непрочитанных сообщений в диалоге и только при их наличии будет осуществлено обновление диалога.
Хоть это и влечёт за собой постоянное выполнение запроса к БД, но это лучше, чем обновлять весь диалог, в котором запросов гораздо больше.
Ещё сыровато, написана лишь сама переписка и ajax-обработчики.
* подправлен класс user:
==> добавлен метод dialog_avatar (он тут не особо к месту, но пока что будет здесь).
MarkPrior 31 Авг 2022Автор темы
Репозиторий: github.com/vspier/dcms
Оставлено только то, что правилось. Постепенно обновлю, приведу в порядок и прокомментирую.

