Skip to content

Как скрыть содержимое профиля админа

Сообсвенно вопрос, как скрыть все информацию в профиле админа. только аватар и имя. какие надо теги прописать что бы было видно все профили кроме админв

Featured Replies

Никак. Единственный вариант - запретить просмотр профилей администраторов.

Есть еще вариант с добавлением условий в шаблоне профиля, но судя по всему, самостоятельно вы с ним врядли разберетесь. Кроме того, есть еще вероятность что пользователь сменит стиль где эти условия не прописаны и сможет узнать всю секретную информацию об администраторе.

  • Author
Кроме того, есть еще вероятность что пользователь сменит стиль где эти условия не прописаны и сможет узнать всю секретную информацию об администраторов.

Это не важно. Нужно только на том шаблоне который я делаю.

Единственный вариант - запретить просмотр профилей администраторов.

и как это сделать? в админке есть? я смотрел не нашел

Есть еще вариант с добавлением условий в шаблоне профиля, но судя по всему, самостоятельно вы с ним врядли разберетесь.

если профиль id=1 то скрыть соержиое если нет то показать как то так надо.

если профиль id=1 то скрыть соержиое если нет то показать как то так надо.

 

Открыть \admin\applications\members\modules_public\profile\view.php

 

Найти

	if ( !$this->memberData['g_mem_info'] && ( $this->memberData['member_id'] != $member['member_id'] ) )
	{
		$this->registry->output->showError( 'profiles_off', 10245, null, null, 403 );
	}

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

	if( ! $this->memberData['g_access_cp'] AND $member['g_access_cp'] )
	{
		$this->registry->output->showError( 'profiles_off', 10245.1, null, null, 403 );
	}

 

Это запретит всем не администраторам просматривать профили администраторов. Администраторы - это те кто имеют доступ в АЦ

  • Author

а можно как то оставить только имя на старнице?

а можно как то оставить только имя на старнице?

А смысл?

 

I. Первый вариант - добавить условия в шаблоне, убрав таким способом ненужные элементы.

 

II. Второй вариант - создать отдельный шаблон со своей версткой. Мне ближе и проще именно этот способ.

Внешний Вид -> Шаблон -> Добавить новый

Название шаблона: profileModern_2

Добавить в группу: skin_profile

Переменные данных: $member

 

HTML код шаблона:

{parse js_module="status"}
{parse js_module="rating"}
{parse js_module="profile"}
<script type='text/javascript'>
//<![CDATA[
ipb.profile.viewingProfile = parseInt( {$member['member_id']} );
<if test="$this->memberData['member_id']">
	ipb.templates['remove_friend'] = "<a href='{parse url="app=members&section=friends&module=profile&do=remove&member_id={$member['member_id']}" base="public"}' title='{$this->lang->words['remove_as_friend']}'><img src='{$this->settings['img_url']}/user_delete.png' alt='{$this->lang->words['remove_as_friend']}' />   {$this->lang->words['remove_as_friend']}</a>";
	ipb.templates['add_friend'] = "<a href='{parse url="app=members&section=friends&module=profile&do=add&member_id={$member['member_id']}" base="public"}' title='{$this->lang->words['add_me_friend']}'><img src='{$this->settings['img_url']}/user_add.png' alt='{$this->lang->words['add_me_friend']}' />   {$this->lang->words['add_me_friend']}</a>";
</if>
ipb.templates['edit_status'] = "<span id='edit_status'><input type='text' class='input_text' style='width: 60%' id='updated_status' maxlength='150' /> <input type='submit' value='{$this->lang->words['save']}' class='input_submit' id='save_status' />  <a href='#' id='cancel_status' class='cancel' title='{$this->lang->words['cancel']}'>{$this->lang->words['cancel']}</a></span>";
<if test="friendsEnabled:|:$this->settings['friends_enabled'] AND $this->memberData['g_can_add_friends']">
	<if test="jsIsFriend:|:IPSMember::checkFriendStatus( $member['member_id'] )">
		ipb.profile.isFriend = true;
	<else />
		ipb.profile.isFriend = false;
	</if>
</if>
//]]>
</script>
<if test="hasCustomization:|:is_array($member['customization']) AND $member['customization']['type']">
{parse template="customizeProfile" group="profile" params="$member"}
</if>
<div class='ipsBox clear vcard' id='profile_background'>
<div class='ipsVerticalTabbed ipsLayout ipsLayout_withleft ipsLayout_smallleft clearfix'>
	<div class='ipsVerticalTabbed_tabs ipsLayout_left' id='profile_tabs'>
		<p class='short photo_holder'>
			<img class="ipsUserPhoto" id='profile_photo' src='{$member['pp_main_photo']}' alt="{parse expression="sprintf($this->lang->words['users_photo'], $member['members_display_name'])"}"  />
		</p>
	</div>
	<div class='ipsVerticalTabbed_content ipsLayout_content ipsBox_container' id='profile_content'>
		<div class='ipsPad'>
			<div id='profile_content_main'>
				<div id='user_info_cell'>
					<h1 class='ipsType_pagetitle'>
						<span class='fn nickname'>{$member['members_display_name']}</span>
					</h1>
					{$this->lang->words['m_member_since']} {parse date="$member['joined']" format="DATE"}<br />
					<if test="onlineDetails:|:$member['_online'] && ($member['online_extra'] != $this->lang->words['not_online'])">
						<span class='ipsBadge ipsBadge_green reset_cursor' data-tooltip="{parse expression="strip_tags($member['online_extra'])"}">{$this->lang->words['online_online']}</span>
					<else />
						<span class='ipsBadge ipsBadge_lightgrey reset_cursor'>{$this->lang->words['online_offline']}</span>
					</if>
				</div>
			</div>
		</div>
	</div>
</div>
</div>

<!-- ******************************************************************************************* -->
{parse template="include_highlighter" group="global" params=""}

 

В admin\applications\members\modules_public\profile\view.php

вместо кода из предыдущего сообщения, добавить этот:

 

	if( ! $this->memberData['g_access_cp'] AND $member['g_access_cp'] )
	{
		$member = IPSMember::buildDisplayData( $member );

		$this->request['member_id'] = intval( $this->request['showuser'] );
		$this->member_name	= $member['members_display_name'];

		$this->DB->insert( 'profile_portal_views', array( 'views_member_id' => $member['member_id'] ), true );

		$this->output		= $this->registry->getClass('output')->getTemplate('profile')->profileModern_2( $member );

		return;
	}

  • Author
А смысл?

Сам главный администратор не хочет выдавать свои данные. хочет как на вк скрытые профили только с именем.

 

как тебя отблагодарить?

Осталось только заменить {$member['pp_main_photo']} на http://vk.com/images/deactivated_an.png и вставить надпись по середине и в точь будет как на ВК.

хочет как на вк скрытые профили только с именем.

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

 

	if( ! $this->memberData['g_access_cp'] AND $member['g_access_cp'] )
	{
		$isFriend = false;

		if( $this->memberData['member_id'] )
		{
			$row = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as cnt', 'from' => 'profile_friends', 'where' => 'friends_member_id='.intval( $member['member_id'] ).' AND friends_friend_id='.$this->memberData['member_id'].' AND friends_approved=1', 'limit' => array(0,1) ) );
			$isFriend = ( $row['cnt'] ) ? true : false;
		}

		if( ! $isFriend )
		{
			$member = IPSMember::buildDisplayData( $member );

			$this->request['member_id'] = intval( $this->request['showuser'] );
			$this->member_name	= $member['members_display_name'];

			$this->DB->insert( 'profile_portal_views', array( 'views_member_id' => $member['member_id'] ), true );

			$this->output		= $this->registry->getClass('output')->getTemplate('profile')->profileModern_2( $member );

			return;
		}
	}

 

В профиле только включить "Модерировать запросы на дружбу". Иначе будут добавляться друзья на автомате.

 

 

как тебя отблагодарить?

WebMoney, Donate...

  • Author

а как сделать как тут? типо только у главных администраторов ничего нет

post-54828-0-61682500-1375346026_thumb.jpg

<if test="!$author['g_access_cp']">то, что будет отображаться у юзеров, а у админов(точнее юзеров, имеющих доступ в АЦ) скрыто</if>

Шаблон userInfoPane

  • Author

спасибо) нечайно минус постввил( хотел плюс

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.