[外掛] [建議] 簡易子版面_v1.0

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

[外掛] [建議] 簡易子版面_v1.0

文章 心靈捕手 »

首先, 感謝 ETERNAL 大大的熱情分享!
資料來源: http://phpbb-tw.net/phpbb/viewtopic.php?p=186694#186694

期間, 遇到了" 所有版面名稱都一字排開" 的問題,
也感謝 御津闇慈 大大的修正!
資料來源: http://phpbb-tw.net/phpbb/viewtopic.php?p=187615#187615

在此, 針對個人的安裝經驗, 提供幾點修正建議給 ETERNAL 大大:

Open:

代碼: 選擇全部

index.php
Find:

代碼: 選擇全部

<img src="/images/topnew.gif" alt='.$lang['New_posts'].' border="0">
Replace:

代碼: 選擇全部

<img src="images/topnew.gif" alt='.$lang['New_posts'].' border="0">
Find:

代碼: 選擇全部

<img src="/images/icon_minipost_lock.gif" alt="'.$lang['Forum_locked'].'" border="0">
Replace:

代碼: 選擇全部

<img src="images/icon_minipost_lock.gif" alt="'.$lang['Forum_locked'].'" border="0">
Open:

代碼: 選擇全部

viewtopic.php
Find:

代碼: 選擇全部

'FORUM_ID' => $forum_id,
After Add:

代碼: 選擇全部

'FORUM_PATH' => $forum_path,
另外, 在 admin/admin_forums.php 的修訂中,
關於

代碼: 選擇全部

$sql = ...
這一部分, 您都是直接用取代的方式修改;
如果使用者有加裝其他外掛( 如主題類型, 版面圖示,...等), 而一時大意,
完全覆蓋的話, 那麼很可能會造成錯誤, 或喪失其他外掛功能.

因此, 我建議您可以改用\r

代碼: 選擇全部

IN LINE FIND

代碼: 選擇全部

IN LINE AFTER ADD
如此一來, 將更容易上手.

小小建議, 若有冒犯, 敬請見諒! :-)
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

也可以加個 . 就是上一層目錄囉^^

代碼: 選擇全部

<img src="[size=150][color=red].[/color][/size]/images/topnew.gif" alt='.$lang['New_posts'].' border="0">
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

謝謝拉,我看到在安裝說明上的疏忽\r
剛剛已經補上去了

在admin的地方\r
等回家有空在改上去
水色論壇 http://www.et99.net
簡德賢分享
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

剛剛看了一下安裝說明
在admin/admin_forums.php部分

其中在\r

代碼: 選擇全部

			$sql = "UPDATE " . FORUMS_TABLE . "
				SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
				WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
修改的部分

要使用\r

代碼: 選擇全部

IN LINE FIND 
IN LINE AFTER ADD 
來表示,有些困難 :-|
有人可以描述出簡單明白的安裝法嗎 :oops:
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

其實可以學天霜版主用中英文並進 ...
#
#--- [ IN LINE FIND / 在行內找到 ]---
#

#
#--- [ IN LINE AFTER ADD / 在該行之後加入 ]---
#
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

吉川拓也 寫:其實可以學天霜版主用中英文並進 ...
#
#--- [ IN LINE FIND / 在行內找到 ]---
#

#
#--- [ IN LINE AFTER ADD / 在該行之後加入 ]---
#
我說的那個部分
用這個方式,很難表示出來

找到========================

代碼: 選擇全部

         $sql = "UPDATE " . FORUMS_TABLE . " 
            SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
            WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
取代為======================

代碼: 選擇全部

//forum_sub start 
         $forum_set=$HTTP_POST_VARS[POST_CAT_URL]; 
         if(empty($forum_set)) 
         { 
            message_die(GENERAL_ERROR, "設定錯誤"); 
         } 
         else 
         { 
            $sql = "select count(forum_sub) as id from " . FORUMS_TABLE . " WHERE forum_sub = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            if( !$result = $db->sql_query($sql) ) 
            { 
               message_die(GENERAL_ERROR, "設定錯誤"); 
            } 
            $get_sub_Id = $db->sql_fetchrow($result); 
            if($get_sub_Id[id]>0) 
            { 
               message_die(GENERAL_ERROR, "此版面有其他子版面相連,無法設定成子版面"); 
            } 
            $temp=split(",",$forum_set); 
            $c=intval($temp[0]); 
            $forum_sub=intval($temp[1]); 
            if(intval($HTTP_POST_VARS[POST_FORUM_URL])== $forum_sub) 
            { 
               $sort_sub=intval($temp[2]); 
               $sql = "UPDATE " . FORUMS_TABLE . " 
                     SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
                     WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            }else 
            { 
               if(intval($temp[1])>0) 
               { 
                  $sort_sub=intval($temp[2])+1; 
               }else 
               { 
                  $sort_sub=intval($temp[2]); 
               } 
               $sql = "UPDATE " . FORUMS_TABLE . " 
                     SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . $c . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
                     ,forum_sub=".$forum_sub.",sort_sub=".$sort_sub." 
                     WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            } 
         } 
         if( !$result = $db->sql_query($sql) ) 
         { 
            message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql); 
         } 
//forum_sub end 
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

ETERNAL 寫:
吉川拓也 寫:其實可以學天霜版主用中英文並進 ...
#
#--- [ IN LINE FIND / 在行內找到 ]---
#

#
#--- [ IN LINE AFTER ADD / 在該行之後加入 ]---
#
我說的那個部分
用這個方式,很難表示出來

找到========================

代碼: 選擇全部

         $sql = "UPDATE " . FORUMS_TABLE . " 
            SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
            WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
取代為======================

代碼: 選擇全部

//forum_sub start 
         $forum_set=$HTTP_POST_VARS[POST_CAT_URL]; 
         if(empty($forum_set)) 
         { 
            message_die(GENERAL_ERROR, "設定錯誤"); 
         } 
         else 
         { 
            $sql = "select count(forum_sub) as id from " . FORUMS_TABLE . " WHERE forum_sub = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            if( !$result = $db->sql_query($sql) ) 
            { 
               message_die(GENERAL_ERROR, "設定錯誤"); 
            } 
            $get_sub_Id = $db->sql_fetchrow($result); 
            if($get_sub_Id[id]>0) 
            { 
               message_die(GENERAL_ERROR, "此版面有其他子版面相連,無法設定成子版面"); 
            } 
            $temp=split(",",$forum_set); 
            $c=intval($temp[0]); 
            $forum_sub=intval($temp[1]); 
            if(intval($HTTP_POST_VARS[POST_FORUM_URL])== $forum_sub) 
            { 
               $sort_sub=intval($temp[2]); 
               $sql = "UPDATE " . FORUMS_TABLE . " 
                     SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
                     WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            }else 
            { 
               if(intval($temp[1])>0) 
               { 
                  $sort_sub=intval($temp[2])+1; 
               }else 
               { 
                  $sort_sub=intval($temp[2]); 
               } 
               $sql = "UPDATE " . FORUMS_TABLE . " 
                     SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . $c . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
                     ,forum_sub=".$forum_sub.",sort_sub=".$sort_sub." 
                     WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            } 
         } 
         if( !$result = $db->sql_query($sql) ) 
         { 
            message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql); 
         } 
//forum_sub end 
這個地方, 的確是很難去描述!
因為其中出現了兩次

代碼: 選擇全部

         $sql = "UPDATE " . FORUMS_TABLE . "
而且前後都有增加程式碼.

以下的改法, 提供您參考:
Find:

代碼: 選擇全部

         $sql = "UPDATE " . FORUMS_TABLE . " 
            SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
            WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
Before Add:

代碼: 選擇全部

//forum_sub start 
         $forum_set=$HTTP_POST_VARS[POST_CAT_URL]; 
         if(empty($forum_set)) 
         { 
            message_die(GENERAL_ERROR, "設定錯誤"); 
         } 
         else 
         { 
            $sql = "select count(forum_sub) as id from " . FORUMS_TABLE . " WHERE forum_sub = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            if( !$result = $db->sql_query($sql) ) 
            { 
               message_die(GENERAL_ERROR, "設定錯誤"); 
            } 
            $get_sub_Id = $db->sql_fetchrow($result); 
            if($get_sub_Id[id]>0) 
            { 
               message_die(GENERAL_ERROR, "此版面有其他子版面相連,無法設定成子版面"); 
            } 
            $temp=split(",",$forum_set); 
            $c=intval($temp[0]); 
            $forum_sub=intval($temp[1]); 
            if(intval($HTTP_POST_VARS[POST_FORUM_URL])== $forum_sub) 
            { 
               $sort_sub=intval($temp[2]); 
               $sql = "UPDATE " . FORUMS_TABLE . " 
                     SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . " 
                     WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]); 
            }else 
            { 
               if(intval($temp[1])>0) 
               { 
                  $sort_sub=intval($temp[2])+1; 
               }else 
               { 
                  $sort_sub=intval($temp[2]); 
               } 
IN LINE FIND:

代碼: 選擇全部

" . intval($HTTP_POST_VARS[POST_CAT_URL]) . "
Replace:

代碼: 選擇全部

" . $c . "
After Add:

代碼: 選擇全部

            } 
         } 
         if( !$result = $db->sql_query($sql) ) 
         { 
            message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql); 
         } 
//forum_sub end 
不過, 最好還得要加註:
如果您先前有安裝過其他外掛的話,
那麼請自行在修改後的

代碼: 選擇全部

               $sql = "UPDATE " . FORUMS_TABLE . " 
                     SET forum_name = ...
當中, 加入已修改的程式碼.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「外掛問題討論」