Jump to content

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


mvArts
 Share

Recommended Posts

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

Link to comment
Share on other sites

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

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

  • Upvote 1
Link to comment
Share on other sites

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

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

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

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

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

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

Link to comment
Share on other sites

если профиль 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 );
	}

 

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

  • Upvote 2
Link to comment
Share on other sites

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

А смысл?

 

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;
	}

  • Upvote 1
Link to comment
Share on other sites

А смысл?

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

 

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

Link to comment
Share on other sites

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

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

 

	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...

  • Upvote 1
Link to comment
Share on other sites

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

Шаблон userInfoPane

  • Upvote 3
  • Downvote 1
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...