[外掛][原創] 版面參觀模式

MODs Released by Other phpbb Sites
非官方認證通過之 MOD ,或許有安全性之疑慮,所有問題由原發表者回覆!

版主: 版主管理群

主題已鎖定
ernie
星球公民
星球公民
文章: 73
註冊時間: 2003-07-24 16:56
聯繫:

[外掛][原創] 版面參觀模式

文章 ernie »

這個外掛是我依照伊夢兒的這篇文章之後寫出來的:
http://phpbb-tw.net/phpbb/viewtopic.php?t=19986
寫上[原創]有點不好意思 ;-)

功能:
1. 新增兩個預設的版面參觀模式供選擇
2. 新開看板的權限就設定成「可參觀,不可閱讀」

第一個功能可以在 控制台 -> 版面管理 -> 權限設定 找到\r
若不需要第二個功能,請跳過admin_forums.php檔案的修改。

代碼: 選擇全部

##############################################################
## MOD Title: 版面參觀模式
## MOD Author:  Ernie Yang <ernie.yang@msa.hinet.net>
## MOD Description: 
##	0. 讓訪客只能瀏覽版面上的主題名稱,無法閱讀文章內容,
##	1. 新增兩個預設的版面參觀模式供選擇
##	2. 新開看板的權限就設定成「可參觀,不可閱讀」
##	※ 如果不需要第二個功能,請跳過admin_forums.php
##	http://phpbb-tw.net/phpbb/viewtopic.php?t=19986
## MOD Version: 1.0.0
## 
## Installation Level: easy
## Installation Time: 3 Minutes
## Files To Edit: viewforum.php
##                admin/admin_forumauth.php
##                admin/admin_forums.php
############################################################## 
## Author Notes: 
## 
############################################################## 
## MOD History: 
## 
##  2003-11-09 v 1.0.0
## 
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################

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

viewforum.php

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

if ( !$is_auth['auth_read'] || !$is_auth['auth_view'] )
{
	if ( !$userdata['session_logged_in'] )
	{
		$redirect = POST_FORUM_URL . "=$forum_id" . ( ( isset($start) ) ? "&start=$start" : '' );
		redirect(append_sid("login.$phpEx?redirect=viewforum.$phpEx&$redirect", true));
	}
	//
	// The user is not authed to read this forum ...
	//
	$message = ( !$is_auth['auth_view'] ) ? $lang['Forum_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']);

	message_die(GENERAL_MESSAGE, $message);
}

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

if ( !$is_auth['auth_view'] ) 
{ 
   if ( !$userdata['session_logged_in'] ) 
   { 
      $redirect = POST_FORUM_URL . "=$forum_id" . ( ( isset($start) ) ? "&start=$start" : '' ); 
      redirect(append_sid("login.$phpEx?redirect=viewforum.$phpEx&$redirect", true)); 
   } 
   // 
   // The user is not authed to read this forum ... 
   // 
   $message = ( !$is_auth['auth_view'] ) ? $lang['Forum_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']); 

   message_die(GENERAL_MESSAGE, $message); 
}

if ( !$is_auth['auth_read'] && $userdata['session_logged_in'] ) 
{ 
   $message = ( !$is_auth['auth_view'] ) ? $lang['Forum_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']); 

   message_die(GENERAL_MESSAGE, $message); 
}

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

admin/admin_forumauth.php

#
#-----[ FIND ]------------------------------------------
#
# 如果有裝全域公告請跳過

6  => array(AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD),

#
#-----[ AFTER, ADD ]------------------------------------
#
# 如果有裝全域公告請跳過
	7  => array(AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG),
	8  => array(AUTH_REG, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_ACL, AUTH_ACL),

#
#-----[ FIND ]------------------------------------------
#
# 如果沒有裝全域公告請跳過

6  => array(AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD),

#
#-----[ AFTER, ADD ]------------------------------------
#
# 如果沒有裝全域公告請跳過

	7  => array(AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_ADMIN),
	8  => array(AUTH_REG, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_ACL, AUTH_ACL, AUTH_MOD),


#
#-----[ FIND ]------------------------------------------
#
$simple_auth_types = array(

#
#-----[ IN-LINE FIND ]----------------------------------
#

$lang['Moderators'] . ' [' . $lang['Hidden'] . ']'

#
#-----[ IN-LINE AFTER, ADD ]----------------------------
#
, $lang['Public'] . ' [' . $lang['Registered'] . ']', $lang['Private'] . ' [' . $lang['Registered'] . ']'

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

admin/admin_forums.php

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

$forum_auth_ary = array(
	"auth_view" => AUTH_ALL, 
	"auth_read" => AUTH_ALL, 
	"auth_post" => AUTH_ALL, 
	"auth_reply" => AUTH_ALL, 
	"auth_edit" => AUTH_REG, 
	"auth_delete" => AUTH_REG, 
	"auth_sticky" => AUTH_MOD, 
	"auth_announce" => AUTH_MOD, 
	"auth_vote" => AUTH_REG, 
	"auth_pollcreate" => AUTH_REG
);

#
#-----[ REPLACE WITH ]----------------------------------
#
# 有安裝全域公告請跳過

$forum_auth_ary = array(
	"auth_view" => AUTH_ALL, 
	"auth_read" => AUTH_REG, 
	"auth_post" => AUTH_REG, 
	"auth_reply" => AUTH_REG, 
	"auth_edit" => AUTH_REG, 
	"auth_delete" => AUTH_REG, 
	"auth_sticky" => AUTH_MOD, 
	"auth_announce" => AUTH_MOD, 
	"auth_vote" => AUTH_REG, 
	"auth_pollcreate" => AUTH_REG
);

#
#-----[ REPLACE WITH ]-----------------------------------
#
# 沒有安裝全域公告請跳過

$forum_auth_ary = array(
	"auth_view" => AUTH_ALL, 
	"auth_read" => AUTH_REG, 
	"auth_post" => AUTH_REG, 
	"auth_reply" => AUTH_REG, 
	"auth_edit" => AUTH_REG, 
	"auth_delete" => AUTH_REG, 
	"auth_sticky" => AUTH_MOD, 
	"auth_announce" => AUTH_MOD, 
	"auth_vote" => AUTH_REG, 
	"auth_pollcreate" => AUTH_REG,
	"auth_globalannounce" => AUTH_MOD
);

#
#-----[ SAVE/CLOSE ALL FILES ]---------------------------
#
# EoM
完成 :mrgreen:
主題已鎖定

回到「非官方認證外掛」