Jump to content
Sign in to follow this  
DeCherry

Приватный профиль

Recommended Posts

Привет! Никто нигде не видел фишки, которая запрещала бы просмотр определенного профиля (по ID группы и/или ID юзера)? Т.е, при нажатии на N-й профиль, форум выдавал бы ошибку о том, что доступ к контенту закрыт или любое другое кастомное сообщение.

Если нет, то есть умельцы, которые могли бы реализовать подобный костыль?)

Share this post


Link to post
Share on other sites

Да, есть такая тема. Таких модулей даже два: 

https://invisioncommunity.com/files/file/8982-profile-privacy/

https://invisioncommunity.com/files/file/8840-profile-viewing-privacy/

Второй, правда, почему-то не продаётся.

+ при прокачанном уровне владения модулем Automation Rules такую же систему можно создать и там.

Share this post


Link to post
Share on other sites
10 часов назад, alexis сказал:

Да, есть такая тема. Таких модулей даже два: 

https://invisioncommunity.com/files/file/8982-profile-privacy/

https://invisioncommunity.com/files/file/8840-profile-viewing-privacy/

Второй, правда, почему-то не продаётся.

+ при прокачанном уровне владения модулем Automation Rules такую же систему можно создать и там.

Круто! Спасибо за помощь :)

Share this post


Link to post
Share on other sites

Последний кстати не сложно "портировать", что было бы интересно написать. Для юного "плагинописателя" самое то.

Share this post


Link to post
Share on other sites
1 час назад, siv1987 сказал:

Последний кстати не сложно "портировать", что было бы интересно написать. Для юного "плагинописателя" самое то.

На самом деле, я думал что там куда проще (если я не прав — простите), где-то в поиске форума я нашел тему, где человек просил код для того, чтобы гостям было запрещено просматривать профили пользователей, там было около 7 строчек кода, т.е условие и вывод ошибки. Я хотел просто попробовать переделать, но понял что нужно читать и читать, а какой-то полной документации я не нашел (не отрицаю, что в 6 утра я мог плохо искать), хотя ранее мне точно помнится, что был ресурс, на котором описывалась полная документация с классными примерами, хотя вполне возможно, что могу путать с другим движком, дело было года 3-4 назад, ещё во время 3.Х)

Share this post


Link to post
Share on other sites

Запретить легко, особенно сразу в коде. Написать плагин, создать продуманные настройки, вывести их в удобном месте это другое дело. Если не требуется сильно мудренная система, а тупо ограничить просмотр  пару конкретных пользователей в файле applications/core/modules/front/members/profile.php пишите условие если и выведите ошибку.

		/* Load Member */
		$this->member = \IPS\Member::load( \IPS\Request::i()->id );
		if ( !$this->member->member_id )
		{
			\IPS\Output::i()->error( 'node_error', '2C138/1', 404, '' );
		}

Ниже добавить

		if( in_array( $this->member->member_id, array( ид пользователей через запятую) ) OR $this->member->inGroup( array( ид групп через запятую ) ) )
		{
			\IPS\Output::i()->error( 'private_profile', '2C138/custom', 403, '' );
		}

 

Share this post


Link to post
Share on other sites

Ну и да, не забыть добавить условие на то, что это не свой профиль

$this->member->member_id != \IPS\Member::loggedIn()->member_id

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×