+1.59
Рейтинг
7.07
Сила

Zarayan

Аватары без искажений

Уже поднималась тема про искажения в аватарах, возникающие, если исходная картинка не квадратная. Что-то мне это сильно не нравилось, и решил я это исправить.

Ниже даю решение, как создавать квадратные аватары из неквадратных картинок.

Читать дальше →

Вопрос при регистрации

Для многих движков есть модули цель которых не допустить автоматическую регистрацию. Решил сделать для LS, что-то подобное.

Юзер переходит на страницу регистрации. Вводит данные во все стандартные поля + в доп. поле вводит ответ на вопрос. Если ответ не совпадает с заданным в настройках, то говорим юзеру, что он ответил неправильно и аккаунт не регистрируем. Если правильно, то регистрируем :)

Поехали…
Читать дальше →

Делаем ленту друзей как в ЖЖ (для LS 0.3)

Увидел сегодня пост про будущую версию 0.4 в которой говорится про возможное добавление ленты друзей к движку и решил поделится своим вариантом.
Буквально вчера начал изучать ЛС и удивился почему в друзья добавлять можно, а возможности просмотра ленты нет. Итак поехали.

Читать дальше →

Статистика в разделе ЛЮДИ

Хочу спросить, как можно изменить время, когда пользователь становиться «Заблудившимся»? А то я думаю у каждого проекта своя спефицическая аудитория, например где-то надо заходить раз в день, а где-то раз в неделю или месяц, тогда ведь все пользователи становяться «Заблудившимся» — где можно изменить время отчета?


(статистика этого сайта)

В каком месте находиться вывод? Я просто думал, может вообще удалить первый график Активных и Заблудившихся пользователей, а то у меня много совсем чайников на проекте, они подумают что проект якобы заброшен, но это ведь не так :) Даже на ЛС — 85% заблудившихся пользователей — но это ведь не значит, что он заброшен или не популярен.

Может у кого есть еще идеи, что можно вставить в статистику? Может какую-либо активность? Количество комментариев за день? Количество плюсов и минусов за день или за месяц? Ну так чтобы было интересно туда зайти ;)

Модуль «Блок "Дни рождения"»

Добрый день.
Мой хороший друг и товарищ anaximen сделал модуль «Блок «Дни рождения»».
Суть его простая — в отдельном блоке выводит список прошедших, текущих и будущих дней рождений зарегистрированных пользователей, а во второй вкладке — друзей. (вот и пригодились «друзья» в ЖУ ;)
Мы разместили это блок на странице «Люди», справа от списка пользователей, статистику подвинув вниз.
Модуль простой, доработать не так сложно на свое усмотрение.
Описание установки внутри.
Модуль бесплатный.

Авторизация, интеграция и прочие прелести

Я уже писал (и не только я), что иногда возникает желание к уже работающему сайту прикрутить социалку. Если речь идет о форуме или еще каком-то ресурсе, где уже есть регистрация, авторизация, то это отдельный разговор, как такое замутить. Но может быть и так, что возникает желание прикрутит ЛС к сайту, где регистрации не было, либо она была примитивной и ею можно пожертвовать. В таком случае разумней использовать систему регистрации/авторизации из ЛС. Немного поковырялся в коде, и вот что накопал (если что навру, пусть меня гуру поправят).

При входе в ЛС в куках создается переменная с именем 'key'. Поэтому из стороннего PHP-кода можно проверять, существует ли $_COOKIE['key']. И если есть, то всю инфу о юзере можно получить из базы из таблицы 'prefix_user' примерно так:


SELECT * FROM prefix_user WHERE user_key='{$_COOKIE['key']}'


В примере кода ниже никакого запроса нет, просто выводится ключ, если он есть:

<?
if (isset($_COOKIE['key'])) {
?>
  User Key: <?=$_COOKIE['key'];?> | <a href="/community/login/exit/">Выйти</a>
<?
} else {
?>
<form action="/community/login/" method="POST">
  <h3>Авторизация</h3>
  <label for="login">Логин или e-mail</label>
  <input type="text" class="input-text" name="login" id="login-input" /><br />

  <label for="password">Пароль</label> 
  <input type="password" name="password" class="input-text" /><br />

  <label for="" class="input-checkbox">
  <input type="checkbox" name="remember" checked />Запомнить меня</label><br />

  <input type="hidden" name="submit_login">
  <button type="submit" ">Войти</button>
</form>
<?
}
?>

PS Показан пример для варианта, когда ЛС живет не в корне, а в папке community

PPS ВНИМАНИЕ! SQL-запрос приводится в качестве очень упрощенного примера! Непосредственное его использование на рабочем сайте может создать угрозу безопасности! Как верно замечено комментаторами ниже, нельзя совать в запрос, что попало без тщательной проверки!

UPD Вышесказанное действительно, если при входе юзера стоит галка «Запомнить меня» и мы хотим воспользоваться этой опцией. А вообще надо проверять сессионную переменную 'user_id' (и в prefix_user можно найти запись по соотвествующему полю).

поддомены в LiveStreet - тестируем

Для теста прикрутили тут CSTD актуален для 339 ревизии
логин:   demo
пароль: demos

Смотрим линки которые касаются пользователя!
Если есть замечания — пишем тут!
Как только станет понятно что всё нормально выложим тут в модули!

Хак продаётся тут livestreet.ru/addons/12/

Примеры субдоменов юзера

admin.cstd.me/
admin.cstd.me/my/
admin.cstd.me/my/comment/
admin.cstd.me/favourites/

UPD:Добавлены субдомены для тематических блогов

Примеры
mhls.cstd.me/
mhls.cstd.me/5.html

UPD2: Регистрация юзера и создание тематического блога
Дописали проверку при регистрации юзера урла у тематического блога
При создании тематического блога проверяется нет ли такого логина юзера

UPD3: Работает на ревизии 339 или на релизе 0,3

Как автоматически подписать пользователей на блог "О проекте"?

Как сделать так, чтобы все нвоые пользователи были подписаны на блог: «О проекте», чтобы на почту им приходило уведомление о новых темах в блоге?
Тоже самое касается и других блогов, можно ли как то с помощью администорора подписывать новых пользователей на коллективные блоги?

Автоматический выбор блога для нового топика

Когда пользователь жмет кнопку Написать, то в выборе блога автоматически ему предлагается Персональный блог. А как было бы здорово, если бы автоматически выбирался именно тот самый блог в котором была нажата кнопка Написать.

Давайте сделаем ее! Тем более это очень просто.
Читать дальше →