1 頁 (共 1 頁)

[問題]簡易子版面1.2 語法求教

發表於 : 2005-11-25 15:27
kkt
求教各位師長大大, 我在安裝子版面1.2 , 修改到這裡遇到語法疑難.

問題外掛 :
====================================
Mod Title: 簡易子版面
Author : ETERNAL<iqstar@ms24.hinet.net>
Mod Version: 1.2
Mod Date: 2005/9/10
Demo Site : http://bbs.2233.idv.tw/
Files To Edit: 22
====================================

打開 admin_forums.php

代碼: 選擇全部

# 
#--------[ FIND ]---------------- 
# ps. 請注意: 您是否有?#93;為?#91;入其他外掛, 而更動 $sql = "UPDATE " . FORUMS_TABLE . " 後頭的語法?,如果有請參考後面的備註步驟A
   $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]);
# 
#-----[ REPLACE WITH 替換 ]----------------------------------- 
# 
//forum_sub start
   $forum_set=$HTTP_POST_VARS[POST_CAT_URL];
   if(empty($forum_set))
   {
    message_die(GENERAL_ERROR, "?#93;定錯誤");
   }
   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, "?#93;定錯誤");
    }
    $get_sub_Id = $db->sql_fetchrow($result);
    if($get_sub_Id[id]>0)
    {
     message_die(GENERAL_ERROR, "此版面有其他子版面相連,無法?#93;定成子版面");
    }
    $temp=split(",",$forum_set);
    $c=intval($temp[0]);
    $forum_sub=intval($temp[1]);
    $HTTP_POST_VARS['forumname']=str_replace("<","",$HTTP_POST_VARS['forumname']);
    $HTTP_POST_VARS['forumdesc']=str_replace("<","",$HTTP_POST_VARS['forumdesc']);
    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]);
     }
     $main_sub=intval($temp[3]);
     $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.",main_sub=".$main_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 . "
    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']) . ",forum_topictypes = '".str_replace("'", "''", $HTTP_POST_VARS['topictypes'])."'
    WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
多了這些 :

代碼: 選擇全部

,forum_topictypes = '".str_replace("'", "''", $HTTP_POST_VARS['topictypes'])."'
請教大大及老師我該怎做, 多出的語法要不要放回它 ? 勞煩了.

發表於 : 2005-11-25 15:56
kkt
接上文, 在外掛末端找到備註步驟A

代碼: 選擇全部

##################################################################### 

若您安裝過的外掛,有更改過admin/admin_forums.php的內容 
在admin/admin_forums.php的修改過?#123;中 

請注意: 您是否有?#93;為?#91;入其他外掛, 而更動 $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 之前, ?#91;上 ]-------------------------------- 
#
# ps. 請注意: 您如果有?#91;入其他外掛, 則自行更動 $sql = "UPDATE " . FORUMS_TABLE . " 後頭的語法!! 
//forum_sub start 
         $forum_set=$HTTP_POST_VARS[POST_CAT_URL]; 
         if(empty($forum_set)) 
         { 
            message_die(GENERAL_ERROR, "?#93;定錯誤"); 
         } 
         else 
         { \r
            $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, "?#93;定錯誤"); 
            } 
            $get_sub_Id = $db->sql_fetchrow($result); 
            if($get_sub_Id[id]>0) 
            { 
               message_die(GENERAL_ERROR, "此版面有其他子版面相連,無法?#93;定成子版面"); 
            } 
            $temp=split(",",$forum_set); 
            $c=intval($temp[0]); 
            $forum_sub=intval($temp[1]); 
            $HTTP_POST_VARS['forumname']=str_replace("<","",$HTTP_POST_VARS['forumname']); 
            $HTTP_POST_VARS['forumdesc']=str_replace("<","",$HTTP_POST_VARS['forumdesc']); 
            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]); 
               } 
               $main_sub=intval($temp[3]); 

# 
#-----[ AFTER, ADD 之後, ?#91;上 ]--------------------------------- 
#
            } 
         } 
         if( !$result = $db->sql_query($sql) ) 
         { 
            message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql); 
         } 
//forum_sub end 
但我這段內已經有:

代碼: 選擇全部

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);
			}
那麼我是否把它改成:

代碼: 選擇全部

     } 
         } 
         if( !$result = $db->sql_query($sql) ) 
         { 
            message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql); 
         }
上面這樣便可以呢? 真抱歉!! 不懂外掛的人裝外掛..

發表於 : 2005-11-25 16:43
kkt
裝到 viewtopic_body.tpl 有小小疑難, 請指教一下.

代碼: 選擇全部

#
#--------[OPEN]----------------
#
\templates\subSilver\viewtopic_body.tpl 

# 
#--------[ FIND ]---------------- 
# 
-> <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a>

# 
#-----[ REPLACE WITH 替換 ]----------------------------------- 
# 
{FORUM_PATH}
我的 viewtopic_body.tpl 內衹有兩段 :

代碼: 選擇全部

-> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
\n
那麼我跟著覆蓋又好像不大對勁, 外掛內又沒說要改一段還是兩段, 我猜都要掛,
但不一樣, 怎改好呢 ? 是不是用 {FORUM_PATH} 取代那兩句語法呢 ?? :-|

發表於 : 2005-11-25 16:51
御津闇慈
http://phpbb-tw.net/phpbb/viewtopic.php?p=188062#188062
建議你
請先爬文在問
不要每次都沒找文章就浪費一些資源

發表於 : 2005-11-25 17:57
心靈捕手
To kkt:

基本上, 您的問題都已經有討論過, 請務必先行" 爬文".
安裝這支外掛, 可能會出現的問題, 有以下文章. 請參考看看:

// 看不懂functions.php
http://phpbb-tw.net/phpbb/viewtopic.php?t=36331
// 簡易子版面 admin_forums.php 後半段修改整理
http://phpbb-tw.net/phpbb/viewtopic.php?p=201125#201125
// 安裝簡易子版面後 MySQL 錯誤訊息解法
http://phpbb-tw.net/phpbb/viewtopic.php?p=163435#163435
// 所有版面名稱都一字排開解法
http://phpbb-tw.net/phpbb/viewtopic.php?p=187615#187615
// 加寬最後發表欄位
http://phpbb-tw.net/phpbb/viewtopic.php?p=200685#200685

--
關於您提到" 裝到 viewtopic_body.tpl 有小小疑難" 的部份,
當然最好是( 上, 下) 兩個都要取代.