Сделать некоторые кнопки видными только для админа

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
buffoon
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет 6 месяцев
Откуда: Славный город ПИТЕР

Сделать некоторые кнопки видными только для админа

Сообщение buffoon »

Вот, предположим, имеется некоторая кнопочка. И имеется условие, что воспользоваться этой кнопочкой может только администратор и модератор. Следовательно, нужно сделать эту кнопочку только для них доступной, а также скрыть ее от простых пользователей.

Мне интересен сам код. Как создать его таким, чтобы он накладывал такие ограничения на какую-либо ссылку.

В качестве подопотного кролика возьмем кнопку "ответить на тему".

Что я пробовал сделать, и, к сожалению, тщетно.
Неудивительно, потому что php не знаю.

Итак:

НАЙТИ В viewtopic.php:
------------------
$reply_topic_url = append_sid("posting.$phpEx?mode=reply&" . POST_TOPIC_URL . "=$topic_id");
------------------
ЗАМЕНИТЬ НА:
if ( $is_auth['auth_mod'] )
{
$temp_url = "posting.$phpEx?mode=reply&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&" . POST_TOPIC_URL . "=" . $topic_id . "&sid=" . $userdata['session_id'];
$reply_img = '<a href="' . $temp_url . '"><img src="' . $images['reply'] . '" alt="' . $lang['Reply_to_topic'] . '" title="' . $lang['Reply_to_topic'] . '" border="0" /></a>';
$reply = '<a href="' . $temp_url . '">' . $lang['Reply_to_topic'] . '</a>'
}
else
{
$ reply_img = '';
$reply = '';
}

Это, конечно, аналогия с кнопочкой "посмотреть айпи адрес". И здесь, конечно, есть ошибки....

В-общем, что думаете по этому поводу? :D
BoomerOK
phpBB 1.2.0
Сообщения: 11
Стаж: 19 лет 8 месяцев

Сообщение BoomerOK »

Вот как это выглядит в случает с кнопкой бана при использовании мода карточек:

Код: Выделить всё

 # 
#-----[ OPEN ]------------------------------------------ 
# 
viewtopic.php 

# 
#-----[ FIND ]------------------------------------------ 
# 

$r_card_img = ' <input type="image" name="ban" value="ban"  onClick="return confirm(\''.sprintf($lang['Red_card_warning'],$current_user).'\')" src="'. $images['icon_r_card'] . '" alt="' . $lang['Give_R_card'] . '" >'; 

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

            if( $userdata['user_level'] == ADMIN ) 
            { 
           $r_card_img = ' <input type="image" name="ban" value="ban"  onClick="return confirm(\''.sprintf($lang['Red_card_warning'],$current_user).'\')" src="'. $images['icon_r_card'] . '" alt="' . $lang['Give_R_card'] . '" >'; 
            } 
            else 
            { 
            $r_card_img = ''; 
            }  
Т.к. в php тоже не силён подробно рассказать не смогу. :)
Miss
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет 6 месяцев

Сообщение Miss »

Может пригодиться :roll: , есть такой мод Admin Only View, правда нет разделения на админов и модераторов, но для этого случая есть Extra permission он более трудоемкий, чем этот:

Код: Выделить всё

############################################### 
##   Hack Title:   Admin Only View
##   Hack Version:   1.0.0
##   Author:      Majorflam <majorflam@blueyonder.co.uk>
##   Description:  This hack allows you to place switches between code in any tpl file. When the
##                 page is generated, only administrators may see the code that is between the switches.
##
##
##
##   Compatibility:   2.0.6 - 2.0.10 
## 
##   Installation Level: Easy 
##   Installation Time: 1 minute 
##   Files To Edit: <2> 
##       
##      includes/page_header.php  
##      templates/subSilver/**file_you_want_to_place_swicth_in**.tpl
## 
##   Included Files: <none> 
## 
##   History: 
##      Version 1.0.0: First Release  
## 
##   Author Notes: 
##      N.B. Please back-up all files related to this Mod, before attempting any edits. 
## 
##   Support:        http://www.majormod.com/viewforum.php?f=8
##   Copyright:      ©2004 Admin Only View Mod 1.0.0 - Majorflam 
## 
############################################### 
##   You downloaded this hack from phpBBHacks.com, the #1 source for phpBB related downloads. 
##   You may also visit http://www.phpbbhacks.com/forums for support.
############################################### 
## 
############################################### 
##   This hack is released under the GPL License. 
##   This hack can be freely used, but not distributed, without permission. 
##   Intellectual Property is retained by the hack author(s) listed above.   
############################################### 



# 
#-----[ OPEN ]------------------------------------------ 
# 

includes/page_header.php

# 
#-----[ FIND ]------------------------------------------ 
# 

$template->assign_block_vars('switch_user_logged_in', array());

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Admin Only View Mod	
	if ( $userdata['user_level'] == ADMIN ) 
   { 
      $template->assign_block_vars('switch_admin_view_only', array()); 
   } 
// Admin Only View Mod

# 
#-----[ OPEN ]------------------------------------------ 
#
#
# templates/subSilver/**file_you_want_to_place_swicth_in**.tpl

# 
#-----[ FIND ]------------------------------------------ 
#
# The code you want to remain hidden from everyone except Administrators

# 
#-----[ BEFORE **CODE**, ADD ]------------------------------------------ 
# 

<!-- BEGIN switch_admin_view_only -->

# 
#-----[ AFTER **CODE**, ADD ]------------------------------------------ 
#

<!-- END switch_admin_view_only -->


# 
#-----[ SAVE & CLOSE ALL FILES ]-------------------------- 
# 
#End 
Аватара пользователя
buffoon
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет 6 месяцев
Откуда: Славный город ПИТЕР

Сообщение buffoon »

BoomerOK
Спасибо, не проверял. Но, кажется, работать будет.
Я сделал все по аналогии с вашим примером (когда пытался достичь желаемого результата), вот только опустил последний момент

else
{
$r_card_img = '';
}

Miss

Вам тоже огромное спасибо. Это вообще разъясняет ситуацию!
Вот какие хорошие товарищи на форуме!
Настроение хорошее - с классной девушкой познакомился... :P
Alabay
phpBB 1.4.2
Сообщения: 51
Стаж: 19 лет 3 месяца

Сообщение Alabay »

А у меня не работает. BBCode.tpl
Как убрать от посторонних глаз BBCode который для администратора?

Код: Выделить всё

Parse error: parse error, unexpected '<' in /usr/home/sites/parkour/public_html/includes/bbcode.php(64) : eval()'d code on line 26

Вернуться в «Поддержка phpBB 2.0.x»