[問題] 關於【 您 無法 在這個版面發表文章 】的問題

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
頭像
brentsu
星球公民
星球公民
文章: 232
註冊時間: 2004-08-23 09:08
來自: BNW 時尚資訊網
聯繫:

[問題] 關於【 您 無法 在這個版面發表文章 】的問題

文章 brentsu »

這個部份我也不知道該叫做什麼?使用者模式??

如果沒有登入 phpBB,例如竹貓,就會在版面的右下角看到這個:

代碼: 選擇全部

您 無法 在這個版面發表文章
您 無法 在這個版面回覆文章
您 無法 在這個版面編輯文章
您 無法 在這個版面刪除文章
您 無法 在這個版面進行投票\r
我個人覺得一次列這一大堆實在是有些多餘,反正沒有登入的【訪客】,反正是通通【無法】,所以就只要列出第一行即可:

代碼: 選擇全部

您 無法 在這個版面發表文章
其他就等到登入之後再列出囉~~
我找不到這種 MOD (可能是搜尋 "在這個版面發表文章" 之類字樣無結果).... 也找不到程式所在位置....

請問有哪位知道這段程式寫在哪裡?我想自己改....

PS. 抱歉,我貼錯地方!請幫我搬到【phpBB 使用問答區】謝謝囉~~
※架設伺服器主機:Mac mini 1.5GHz, 1GB RAM x 三部
※架設主機作業系統:Mac OS X Server 10.6.6 Snow Leopard
※我的上網方式:固定制 ADSL 16M/8M、6 IP
※安裝的伺服器:Apache + php 5 + MySQL 5
※我的 phpBB2 版本:phpBB 3.0.x UTF-8 版
※BNW會議室網址: http://www.bnw.com.tw/conference/
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

Re: [問題] 關於【 您 無法 在這個版面發表文章 】的問題

文章 ~倉木麻衣~ »

brentsu 寫:反正沒有登入的【訪客】,反正是通通【無法】,所以就只要列出第一行即可:

代碼: 選擇全部

您 無法 在這個版面發表文章
其他就等到登入之後再列出囉~~
未登入的訪客並不見得無法使用所有的論壇功能哦, 這要視版面權面權限的開放程度而定


brentsu 寫:我找不到這種 MOD (可能是搜尋 "在這個版面發表文章" 之類字樣無結果).... 也找不到程式所在位置....

請問有哪位知道這段程式寫在哪裡?我想自己改....
在viewforum.php裡的這段\r

代碼: 選擇全部

//
// User authorisation levels output
//
$s_auth_can = ( ( $is_auth['auth_post'] ) ? $lang['Rules_post_can'] : $lang['Rules_post_cannot'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_reply'] ) ? $lang['Rules_reply_can'] : $lang['Rules_reply_cannot'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_edit'] ) ? $lang['Rules_edit_can'] : $lang['Rules_edit_cannot'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_delete'] ) ? $lang['Rules_delete_can'] : $lang['Rules_delete_cannot'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_vote'] ) ? $lang['Rules_vote_can'] : $lang['Rules_vote_cannot'] ) . '<br />';
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
brentsu
星球公民
星球公民
文章: 232
註冊時間: 2004-08-23 09:08
來自: BNW 時尚資訊網
聯繫:

文章 brentsu »

謝謝倉木版大,我改好囉,就像這樣....

代碼: 選擇全部

# 
#-----[ OPEN ?}啟 ]----- 
# 
viewforum.php 

# 
#-----[ FIND 找到 ]----- 
# 
//
// User authorisation levels output
//

# 
#-----[ MODIFY 修改?{式 ]----- 
# 
$s_auth_can = ( ( $is_auth['auth_post'] ) ? $lang['Rules_post_can'] : $lang['Rules_post_cannot'] ) . '<br />';
if( $userdata['session_logged_in'] ) {
	$s_auth_can .= ( ( $is_auth['auth_reply'] ) ? $lang['Rules_reply_can'] : $lang['Rules_reply_cannot'] ) . '<br />';
	$s_auth_can .= ( ( $is_auth['auth_edit'] ) ? $lang['Rules_edit_can'] : $lang['Rules_edit_cannot'] ) . '<br />';
	$s_auth_can .= ( ( $is_auth['auth_delete'] ) ? $lang['Rules_delete_can'] : $lang['Rules_delete_cannot'] ) . '<br />';
	$s_auth_can .= ( ( $is_auth['auth_vote'] ) ? $lang['Rules_vote_can'] : $lang['Rules_vote_cannot'] ) . '<br />';
}

# 
#-----[ SAVE & CLOSE 儲存並關閉 ]----- 
# 
基本上我的 phpBB,訪客只能【搜尋】與【瀏覽】,應該沒有其他權限。竹貓這裡也是吧?
※架設伺服器主機:Mac mini 1.5GHz, 1GB RAM x 三部
※架設主機作業系統:Mac OS X Server 10.6.6 Snow Leopard
※我的上網方式:固定制 ADSL 16M/8M、6 IP
※安裝的伺服器:Apache + php 5 + MySQL 5
※我的 phpBB2 版本:phpBB 3.0.x UTF-8 版
※BNW會議室網址: http://www.bnw.com.tw/conference/
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

brentsu 寫:基本上我的 phpBB,訪客只能【搜尋】與【瀏覽】,應該沒有其他權限。竹貓這裡也是吧?
這裡的權限是指版面權限哦\r
你可以試看看以訪客身份去開竹貓的意見反應區及其它版面看看
我想這樣你應該就知道了
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
brentsu
星球公民
星球公民
文章: 232
註冊時間: 2004-08-23 09:08
來自: BNW 時尚資訊網
聯繫:

文章 brentsu »

對對~~ 每個版面都可以用【進階】方式來設定權限。只是我的【會議室】沒有測試區、隨便哈啦區,所以全部的版面通通必須註冊....

至於【搜尋】我沒有關掉,這是因為如果連【搜尋】也關閉,非要註冊才能用,我個人認為這會讓討論區變成好像【地下站台】,非要 user 註冊,而且還不能使用免費 email....

有另一個類似的問題想請叫倉木版大....

登入之後通常會在上面顯示【您沒有新的私人訊息】,可是如果我關掉了【私人訊息】功能...
這句話還是會顯示,只是點選之後會說【... 私人訊息功能已經關閉】...

可否讓程式自動檢查在【基本組態】中的【私人訊息】如果是設成【關閉】,就不要顯示上面的【您沒有新的私人訊息】?

我知道要修改【overall_header.tpl】的這個部份:

代碼: 選擇全部

<!-- BEGIN switch_user_logged_in -->
<span class="mainmenu">&nbsp;<a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a>&nbsp; &nbsp;<a href="{U_PRIVATEMSGS}" class="mainmenu">{PRIVATE_MESSAGE_INFO}</a>&nbsp; &nbsp;
<!-- END switch_user_logged_in -->
但是這對指令只能用來解決登入、登出的情況,不能檢查【私人訊息】功能有沒有關閉...

<!-- BEGIN switch_user_logged_in -->
<!-- END switch_user_logged_in -->

請教版大,要檢查【私人訊息】功能有沒有關閉?要用哪個變數?同樣的我也是找到眼花..... 感謝~~
※架設伺服器主機:Mac mini 1.5GHz, 1GB RAM x 三部
※架設主機作業系統:Mac OS X Server 10.6.6 Snow Leopard
※我的上網方式:固定制 ADSL 16M/8M、6 IP
※安裝的伺服器:Apache + php 5 + MySQL 5
※我的 phpBB2 版本:phpBB 3.0.x UTF-8 版
※BNW會議室網址: http://www.bnw.com.tw/conference/
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

這要從includes/page_header.php下手
主要的部份在這一段\r

代碼: 選擇全部

//
// Obtain number of new private messages
// if user is logged in
//
if ( ($userdata['session_logged_in']) && (empty($gen_simple_header)) )
{
	if ( $userdata['user_new_privmsg'] )
	{
		$l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
		$l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);

		if ( $userdata['user_last_privmsg'] > $userdata['user_lastvisit'] )
		{
			$sql = "UPDATE " . USERS_TABLE . "
				SET user_last_privmsg = " . $userdata['user_lastvisit'] . "
				WHERE user_id = " . $userdata['user_id'];
			if ( !$db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Could not update private message new/read time for user', '', __LINE__, __FILE__, $sql);
			}

			$s_privmsg_new = 1;
			$icon_pm = $images['pm_new_msg'];
		}
		else
		{
			$s_privmsg_new = 0;
			$icon_pm = $images['pm_new_msg'];
		}
	}
	else
	{
		$l_privmsgs_text = $lang['No_new_pm'];

		$s_privmsg_new = 0;
		$icon_pm = $images['pm_no_new_msg'];
	}

	if ( $userdata['user_unread_privmsg'] )
	{
		$l_message_unread = ( $userdata['user_unread_privmsg'] == 1 ) ? $lang['Unread_pm'] : $lang['Unread_pms'];
		$l_privmsgs_text_unread = sprintf($l_message_unread, $userdata['user_unread_privmsg']);
	}
	else
	{
		$l_privmsgs_text_unread = $lang['No_unread_pm'];
	}
}
else
{
	$icon_pm = $images['pm_no_new_msg'];
	$l_privmsgs_text = $lang['Login_check_pm'];
	$l_privmsgs_text_unread = '';
	$s_privmsg_new = 0;
}
要判斷後台是否關閉私人訊息功能, 請用$board_config['privmsg_disable']
0=啟用私人訊息功能, 1=關閉私人訊息功能\r

另外, 這一段程式碼也可以加以修改\r

代碼: 選擇全部

	if ( !empty($userdata['user_popup_pm']) )
	{
		$template->assign_block_vars('switch_enable_pm_popup', array());
	}
這是用來控制有私人訊息時, 是否要彈出JavaScript的popup視窗
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
brentsu
星球公民
星球公民
文章: 232
註冊時間: 2004-08-23 09:08
來自: BNW 時尚資訊網
聯繫:

文章 brentsu »

謝謝倉大~~

我找到了【switch_user_logged_in】變數是在這裡設定,整個 phpBB 也只有這一行....

代碼: 選擇全部

$template->assign_block_vars('switch_user_logged_in', array());
不幸的是,我完全看不懂~~~嗚~~~因為我精通的是 C++ 而不是 PHP....

查 PHP 手冊是說 -> 是【物件成員】的用法,嗚~~跟 C++ 完全不同~~~

由於 PHP 不必事先宣告變數,所以我不知道【switch_user_logged_in】是怎樣的形態?猜想是【邏輯變數】...

因為要利用倉大說的【$board_config['privmsg_disable']】轉成類似【switch_user_privmsg_disable】之類的東西,這下好了,我完全不知道該怎麼做了..... 嗚~~~

另外【<!-- BEGIN --->】我也看不懂,這到底是 HTML 的註解還是特殊指令啊??我只知道搭配 switch_.... 就能達到類似 if 的結果....
※架設伺服器主機:Mac mini 1.5GHz, 1GB RAM x 三部
※架設主機作業系統:Mac OS X Server 10.6.6 Snow Leopard
※我的上網方式:固定制 ADSL 16M/8M、6 IP
※安裝的伺服器:Apache + php 5 + MySQL 5
※我的 phpBB2 版本:phpBB 3.0.x UTF-8 版
※BNW會議室網址: http://www.bnw.com.tw/conference/
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

<!-- BEGIN xxxxxx-->及<!-- END xxxxxx -->這個不是HTML語法, 而是樣版(template)用來識別區塊(block)開始及結束區域的依據

底下用subSilver風格為例
#
#--------[ OPEN ]----------------
#
includes/page_header.php

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

代碼: 選擇全部

//
// Obtain number of new private messages
// if user is logged in
//
#
#--------[ AFTER, ADD ]----------------
#

代碼: 選擇全部

if (!$board_config['privmsg_disable'])
{
	$template->assign_block_vars('switch_enable_pm_menu', array());
}
#
#--------[ FIND ]----------------
#

代碼: 選擇全部

if ( !empty($userdata['user_popup_pm']) )
#
#--------[ REPLACE WITH ]----------------
#

代碼: 選擇全部

if ( !empty($userdata['user_popup_pm']) && !$board_config['privmsg_disable'] )
#
#--------[ OPEN ]----------------
#
templates/subSilver/overall_header.tpl

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

代碼: 選擇全部

<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu">&nbsp;<a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>&nbsp; &nbsp;<a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>&nbsp; &nbsp;<a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a>&nbsp;&nbsp;<a href="{U_DOWNLOAD}" class="mainmenu">{DOWNLOADS_IMG}{L_DOWNLOAD}</a>&nbsp;</span></td>
#
#--------[ REPLACE WITH ]----------------
#

代碼: 選擇全部

<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu">&nbsp;<a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>&nbsp; 
<!-- BEGIN switch_enable_pm_menu -->
							&nbsp;<a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>&nbsp; 
<!-- END switch_enable_pm_menu -->
							&nbsp;<a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a>&nbsp;&nbsp;<a href="{U_DOWNLOAD}" class="mainmenu">{DOWNLOADS_IMG}{L_DOWNLOAD}</a>&nbsp;</span></td>
#
#--------[ SAVE/CLOSE ALL FILES]----------------
#
# EoM

tpl 的部份是將這一段私人訊息的部份切到下一行去\r

代碼: 選擇全部

&nbsp;<a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>&nbsp;
並在它的前後加上這兩行
這兩行必須自已獨立成一行, 不然會有其它預期外的狀況產生)

代碼: 選擇全部

<!-- BEGIN switch_enable_pm_menu -->
<!-- END switch_enable_pm_menu -->
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
brentsu
星球公民
星球公民
文章: 232
註冊時間: 2004-08-23 09:08
來自: BNW 時尚資訊網
聯繫:

文章 brentsu »

哇啊~~超感謝倉木版大!感謝你幫我寫好這段 MOD!

我自己不知道怎樣寫.... 版大一寫就看得懂程式了...
原來 <!-- BEGIN --> 是給 phpBB 自己判讀用的,難怪了....

我一直以來都為剪貼 phpBB 上面的 code 有些困擾!
因為 phpBB 會自動把 tab 鍵轉成 space,並且在每行最後加上一個空格....

如果直接剪貼版大的程式來用會出問題(剪貼別人的也會,包括我自己以前貼的)...

比方說原本【沒有私人簡訊】這幾個字應該會消失,結果卻出現亂碼,後來我修正程式前面的 tab,刪除每行後面的 space,就 OK 了!

現在我的 phpBB 使用界面更合理了.... 呵呵~~~

再麻煩一下,請教一個類似的問題...
我不希望任何訪客、會員都可以隨便使用【會員列表 會員群組】,把我的討論區的會員資料看光光,我只想把【會員列表 會員群組】開放給版主、討論區管理員使用...

請問這要怎樣修改呢?我只知道要在這段文字前後加上 BEGIN、END... 我找不到【版主、討論區管理員】的使用者.... 再拜託了,感謝囉!!

代碼: 選擇全部

<!-- BEGIN switch_manager_logged_in -->
&nbsp;<a href="{U_MEMBERLIST}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_members.gif" width="12" height="13" border="0" alt="{L_MEMBERLIST}" hspace="3" />{L_MEMBERLIST}</a>&nbsp; &nbsp;<a href="{U_GROUP_CP}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" hspace="3" />{L_USERGROUPS}</a>&nbsp;
<!-- END switch_manager_logged_in -->
PS. 感謝倉木板大,這個功能我也已經完成囉!!謝謝!!!!
※架設伺服器主機:Mac mini 1.5GHz, 1GB RAM x 三部
※架設主機作業系統:Mac OS X Server 10.6.6 Snow Leopard
※我的上網方式:固定制 ADSL 16M/8M、6 IP
※安裝的伺服器:Apache + php 5 + MySQL 5
※我的 phpBB2 版本:phpBB 3.0.x UTF-8 版
※BNW會議室網址: http://www.bnw.com.tw/conference/
主題已鎖定

回到「phpBB 2 安裝與使用」