Функционал социальной сети
Всем привет. Помниться в году этак 2013 Николай Ланец интегрировал движок LiveStreet в MODX, тогда еще были потуги внедрить в MODX шаблонизатор Smarty и вроде даже успешно. Мне всегда хотелось для MODX что-то родное в плане социального функционала. А чем MODX хуже WordPress, DLE или Joomla (про фреймворки я молчу, там можно творить что угодно)?!
Недавно встала задача на одном сайте сделать функционал добавления в друзья, списки друзей, подписчики.
Так вот, ближе к сути. Я планирую использовать несколько готовых решений, а это:
pdoTools (pdoUsers) — вывод списков пользователей
VirtualPage — страницы пользователей
AjaxForm — для отправки форм с сайта
FormIt — отсылка писем о добавлении в друзья
Сама база будет выглядеть примерно так:
id — идентификатор записи
cuser — текущий пользователь
auser — добавленый пользователь
friend — маркер подтверждения да/нет
follower — маркер отправки заявки в подписки да/нет
ignore — отказ от заявки да/нет
createdon — дата добавления
editedon — дата изменения
По самому функционалу, я планирую сделать кнопку добавления в друзья, у которой будет 3 режима, а работать она будет на примере кнопки в vk.com через select.
Буду сразу делать на modExtra.
Теперь вопрос. Может кто-нибудь подсказать как лучше всего таблицу спроектировать? Не будет ли эта структура не удобной?
Недавно встала задача на одном сайте сделать функционал добавления в друзья, списки друзей, подписчики.
Так вот, ближе к сути. Я планирую использовать несколько готовых решений, а это:
pdoTools (pdoUsers) — вывод списков пользователей
VirtualPage — страницы пользователей
AjaxForm — для отправки форм с сайта
FormIt — отсылка писем о добавлении в друзья
Сама база будет выглядеть примерно так:
id — идентификатор записи
cuser — текущий пользователь
auser — добавленый пользователь
friend — маркер подтверждения да/нет
follower — маркер отправки заявки в подписки да/нет
ignore — отказ от заявки да/нет
createdon — дата добавления
editedon — дата изменения
По самому функционалу, я планирую сделать кнопку добавления в друзья, у которой будет 3 режима, а работать она будет на примере кнопки в vk.com через select.
Буду сразу делать на modExtra.
Теперь вопрос. Может кто-нибудь подсказать как лучше всего таблицу спроектировать? Не будет ли эта структура не удобной?
Комментарии: 4
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Если я (id = 7) добавляю в друзья Андрея (id = 33), то в базе создаётся запись
Когда Андрей увидит заявку и нажмёт «Отказать», в базе отмечаем hidden = 1 и больше Андрею эту заявку не показываем.
Если Андрей принимает заявку или после отказа нажмёт «Добавить в друзья», создаём запись
При такой схеме легко джойнами прицепить эти записи и определить — если есть запись, где я в поле cuser, но нет записи, где я в поле auser, значит, я просто подписчик. Если вторая запись есть, значит мы друзья.
Когда Андрей удалит меня из друзей, его запись удаляется и я становлюсь подписчиком.