FAQ, группы и права пользователей?

Просветите меня, пожалуйста, по нескольким базовым моментам:

Прежде всего, хотелось бы уточнить: в каком формате в данном сообществе лучше всего задавать вопросы новичку? Я начал знакомство с LiveStreet вот с этого топика, но он, как я понимаю, закрыт на комментирование. Соответственно, т.к. здесь нет отдельной форумной площадке, подходящий для меня вариант вариант — это создавать такого рода посты в данной блогленте, как я понимаю?

Второе. Есть первичная необходимость настроить на свежеустановленном движке несколько групп пользователей с различными правами доступа (запланирован ряд блогов с разноуровневым ограниченным доступом). Какой плагин или набор плагинов лучше всего использовать для этого? Для знакомства с возможностями движка на первом этапе хотелось бы ограничиться бесплатными расширениями (финансовый вопрос не проблема, но для начала хотелось бы понять в целом, имеет ли смысл вкладываться в LiveStreet, или это не лучший вариант для нас). Какой плагин рекомендуется использовать для быстрого и удобного администрирования профилей пользователей?

Третье: помимо прочего, нескольким отдельным пользователям необходимо дать полноценный доступ на администрирование всего ресурса в целом. Как это сделать? Быстрый поиск выдал мне следующие решения:
livestreet.ru/blog/6688.html
livestreet.ru/blog/5555.html
livestreet.ru/blog/585.html

Вариант с «сайт.ру/admin/users/admins/», как я понимаю, уже неактуален?
Плагин aceAdminPanel в каталоге актуальных расширений я так же не нашел.
Остается вариант с прямым SQL-запросом в БД на сервере, это рабочий вариант?

Возможность добавления новых блогов и топиков пользователями.

Здравствуйте!

Требуется, чтобы после регистрации нового пользователя возможность добавления новых блогов и топиков у них полностью отсутствовала. Чтобы просто могли комментировать и смотреть записи. Ну разумеется у админа должна остаться такая функция.

То есть админ может создавать блоги и наполнять их разными топиками, а другие нет.

Спасибо.

Небольшой кешер

Добавил в каталог небольшой плагин-кешер, которых умеет сохранять полученный объекты пользователей на время жизни инстанса плагина.
Т.е. плагин локально хранит объект пользователя и при его повторном запросе не обращается заново к кешу или БД, а просто возвращает его из массива.


Плагин на GitHub.
Сказать спасибо можно на ЯД 410011972198043.

Создание списка персональных блогов

Добрый день!
Возможно ли сделать отдельную страницу со списком персональных блогов пользователей? Т.е. не заходить в профиль пользователя, чтобы найти ссылку на его блог, а выбрать из списка.
Что имею в виду:
Например, страница user_blogs
На ней кликабельным списком:
— Блог им. Пользователь 1
Блог им. Пользователь 2

Блог им. Пользователь 99
— И второй вопрос вдогонку. Как вывести список последних топиков из этих блогов в модуль. Мб, есть какой-то плагин или модуль. Плагин Blog Topics не подходит, он выводит последние записи из определённого блога, а хотелось бы выводить из персональных блогов пользователей.

[Решено] Множатся сессии в БД

Возникла следующая проблема: в таблице prefix_session очень много наплодилось сессий для каждого пользователя при том отличается только session_date_create и иногда IP сессии. При том для этих всех сессий пользователя session_date_last одинаковое, а это создаёт проблему для раздела /people/online, поскольку один пользователь может занимать там аж 25 первых строчок… и таким образом только он будет показан в списке.
В чём может быть проблема?

UPD. Решение 1.
Пока решил следующим образом:
В файле User.mapper.php добавил, то что отмечено:
public function UpdateSession(ModuleUser_EntitySession $oSession) {
		$sql = "UPDATE ".Config::Get('db.table.session')."
			SET
				session_ip_last = ? ,
				session_date_last = ?
			WHERE user_id = ? 
                        AND session_key = ? -- тут
		";
		return $this->oDb->query($sql,$oSession->getIpLast(), $oSession->getDateLast(),
                        $oSession->getUserId(),
                        $oSession->getSessionKey() // и тут
                );
	}

Это позволяет обновлять только текущую сессию пользователя, таким образом остальные копии (дубликаты) сессии пользователя не будут обновлены и не будут мусорить. На только почистить старые сессии из БД.

UPD. Причина.
Причиной послужило то, что когда-то был включён плагин «Remember me», который преобразовывает таблицу сессий. Но после отключения он должен всё вернуть на место, чего по какой-то причине не произошло (из-за неправильного отключения плагина: из файла plugins.dat; или из-за неисправности кода плагина; не могу быть уверен в правильном варианте).
Спасибо, vdenu .

Решение 2 (правильное).
Сделать поле user_id уникальным. Перед этим может понадобится очистить таблицу.

В самом плагине есть такой запрос:
TRUNCATE TABLE `prefix_session`; ALTER TABLE `prefix_session` DROP INDEX `user_id` , ADD UNIQUE `user_id` ( `user_id` );

Плагин «Знание языков»


Не давно был у меня «интересный заказ», и вот после него остались некоторые наработки. Одна из них, это плагин «Знание языков», который позволяет пользователям указывать языки которые они знаю, и после они будут отображаться в его профиле.

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

Плагин "My Login"


Основной функционал плагина:
  • Позволяет пользователям менять логин;
  • Поддержка коротких ссылок для профилей пользователей (site.com/user1);
  • Поддержка поддоменов для профилей пользователей (user1.site.com);

То есть, плагин позволяет пользователю изменять свой логин. Эта функция доступна в настройках аккаунта. В совокупности с остальным функционалом плагина, мы получаем полезный инструмент для поднятия мини соц. сетей. Ведь, мы все этим занимаемся! ;D

Так же тут учтено то, чего нет в shortprofile: при регистрации или изменении логина не возможно выбрать такой логин, какой бы вёл на существующие разделы сайта, например, не можно зарегистрировать пользователя с логином blogs.

С ссылками на профиль дело обстоит так: мы можем включить одну из функций, или короткие URLs, или поддомены, или оставить как есть, используя при этом только функцию изменения логина. А можно и наоборот: включать только ссылки.

При этом, для работы поддоменов вы должны настроить сервер так, чтобы все запросы с поддоменов передавались на основной домен. То есть, нужно прописать alias вида *.site.com. Дальше скрипт всё сделает сам.

При всём этом, я постарался сделать плагин совместимым с NiceURL. Тут основным условием является, то что надо обязательно указывать в NiceURL постфикс для ссылок (.html, .htm или .php). А также, добавил фикс для того, чтобы подружить NiceURL и RusURLs, но для этого плагин «My Login» должен всегда быть выше в списке plugins.dat, чем NiceURL

Установка:
После активации плагина, получаем ошибку 404, и это нормально. Так происходит потому, что в плагине меняется адрес админки: site.com/admin на site.com/ls_admin. Это нужно для того, чтобы не было конфликта между коротким адресом профиля админа и админкой. То же самое происходит и при дезактивации.

При активации все сессии пользователей удаляются, то есть все пользователи будут разлогинены. Это надо для того, чтобы записать правильную сессию для поддоменов.

Для правильной работы плагина нужно в config.local.php указать вручную `path.root.web` (настоящий адрес сайта, например: «site.com.ua»).

Настройка:
Плагин настраивается в config/config.php.
$config['functions'] = array(
    'change_login' => true, // изменение логина
    // тип ссылки на профиль
    'profile_type' => 'subdomain',   // 'default' - site.com/profile/admin/
                            // 'subdomain' - admin.site.com/
                            // 'short' - site.com/admin/
);

// не допустимые логины
$config['banned_logins'] = array(
    'www',
    'error',
);

Как отключить возможность создания блогов и топиков пользователями?

Доброго времени суток уважаемые граждане!

Требуется, чтобы после регистрации нового пользователя возможность добавления новых блогов и топиков у них полностью отсутствовала. Чтобы просто могли комментировать и смотреть записи. Ну разумеется у админа должна остаться такая функция.

То есть админ может создавать блоги и наполнять их разными топиками, а другие нет.

Версия движка самая последняя, которая в бете.
LiveStreet 2.0.0.alfa-2 — 05.04.2015

Как вынести количество публикаций каждого пользователя на страницу пользователей

Данный топик — расширенный ответ на вопрос, заданный в этом топике т.к. мне уже не первый раз задают этот вопрос.

Нужно в файле сущности пользователя \classes\modules\user\entity\User.entity.class.php (например, после 453 строки) дописать метод:
/**
 * Возвращает количество созданных пользователем топиков и комментариев
 *
 * @return int
 */
public function getPublicationsCount() {
  $iCountTopicUser = $this->Topic_GetCountTopicsPersonalByUser($this->getId(), 1);
  $iCountCommentUser = $this->Comment_GetCountCommentsByUserId($this->getId(), 'topic');
  return $iCountTopicUser + $iCountCommentUser;
}


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

Плагин "Поздравления"

Плагин предназначен для поздравления пользователей с днями рождения или заранее заданными праздниками, которые можно самостоятельно задать в конфигурационном файле. Это могут быть как общегосударственные праздники, так и локальные праздники, актуальные для определенных сообществ



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