[問題] [已解決]簡易子版面V1.0看不懂functions.php

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

版主: 版主管理群

主題已鎖定
頭像
狂暴戰龍
星球公民
星球公民
文章: 124
註冊時間: 2005-02-23 18:39

[問題] [已解決]簡易子版面V1.0看不懂functions.php

文章 狂暴戰龍 »

小弟再裝簡易子版面的時候發現改functions.php的時候看不懂

簡易子版面V1.0
http://phpbb-tw.net/phpbb/viewtopic.php ... A%A9%AD%B1

代碼: 選擇全部

打?#125; \includes\functions.php 

找到================= 
function make_jumpbox($action, $match_forum_id = 0) 
{ 
.................... 
.................... 
.................... 
} 

將整個 function make_jumpbox($action , $match_forum_id = 0) 取代為========== 

//forum_sub start 
function make_jumpbox($action,$match_forum_id=0) 
{ 
   global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID,$is_auth; 
   $sql="select cat_id,cat_title from ".CATEGORIES_TABLE." order by cat_order  "; 
   if( !$result = $db->sql_query($sql) ) 
   { 
      message_die(GENERAL_ERROR, "Couldn't get list of Categories/Forums", "", __LINE__, __FILE__, $sql); 
   } 
   $cat_data = array(); 
   while( $row = $db->sql_fetchrow($result) ) 
   { 
      $cat_data[] = $row; 
   } 
   $db->sql_freeresult($result); 


   $sql = "SELECT cat_id,forum_id,forum_name,sort_sub,forum_sub,auth_view from ".FORUMS_TABLE."  ORDER BY cat_id,forum_order"; 
   if( !$result = $db->sql_query($sql) ) 
   { 
      message_die(GENERAL_ERROR, "Couldn't get list of Categories/Forums", "", __LINE__, __FILE__, $sql); 
   } 
   $forum_data = array(); 
   $forum_sub = array(); 
   $forum_sub2 = array(); 
   while( $row = $db->sql_fetchrow($result) ) 
   { 
      $s=""; 
       
      if($row['auth_view'] <= AUTH_REG) 
      { 
         if($row[forum_sub]==0) 
         { 
            $forum_data[$row['cat_id']][] = $row; 
         } 
         else 
         { 
            if ($row[forum_id] == $match_forum_id) 
            { 
               $s = " selected=\"selected\""; 
            } 
            $forum_sub[$row['forum_sub']][] = "add_select('".$row[forum_id]."','".$row[forum_name]."','$s',".($row[sort_sub]+1).");"; 
            $forum_sub2[$row['forum_sub']]=$row[forum_id]; 
         } 
      } 
   } 
   $db->sql_freeresult($result); 
   $sub_list="add_select('-1','".$lang['Select_forum']."','$s',0);"; 
   for( $i=0;$i<count($cat_data);$i++) 
   { 
      $s = ""; 
      $cat_id=$cat_data[$i][cat_id]; 
      $sub_list .="add_select('-1','&nbsp;','$s',0);"; 
      $sub_list .="add_select('-1','".$cat_data[$i][cat_title]."','$s',0);"; 
      for($j=0;$j<count($forum_data[$cat_id]);$j++) 
      { 
         $s = ""; 
         if ($forum_data[$cat_id][$j][forum_id] == $match_forum_id) 
         { 
            $s = " selected=\"selected\""; 
         } 
         $sub_list .= "add_select('".$forum_data[$cat_id][$j][forum_id]."','".$forum_data[$cat_id][$j][forum_name]."','$s',".($forum_data[$cat_id][$j][sort_sub]+1).");"; 

         if ( count($forum_sub[$forum_data[$cat_id][$j][forum_id]]) > 0 ) 
         { 
            $sub_list.= implode(' ', $forum_sub[$forum_data[$cat_id][$j][forum_id]]); 
            $sub_list.=sub_search($forum_sub2[$forum_data[$cat_id][$j][forum_id]],$forum_sub,$forum_sub2); 
         } 
      } 
   } 
   $template->set_filenames(array( 
      'jumpbox' => 'jumpbox.tpl') 
   ); 
   $template->assign_vars(array( 
      'L_GO' => $lang['Go'], 
      'L_JUMP_TO' => $lang['Jump_to'], 
      'L_SELECT_FORUM' => $lang['Select_forum'], 
      'JUMP_NAME'=>POST_FORUM_URL, 
      'S_JUMPBOX_SELECT' => $sub_list, 
      'S_JUMPBOX_ACTION' => append_sid($action)) 
   ); 
   $template->assign_var_from_handle('JUMPBOX', 'jumpbox'); 
   return; 
} 

function sub_search($id,$forum_sub,$forum_sub2) 
{ 
   if ( count($forum_sub[$id]) > 0 ) 
   { 
      $list= implode(' ', $forum_sub[$id]); 
      $list.=sub_search($forum_sub2[$id],$forum_sub,$forum_sub2); 
   } 
   return $list; 
} 
//forum_sub end 

找到====================================== 
?> 
前面?#91;上================================== 
function forum_path($forum_row,$forum_id) 
{ 
   global $db,$phpEx; 
   if($forum_row['forum_sub'] > 0) 
   { 
      $forum_path="-><a href=".append_sid("viewforum.$phpEx?" . POST_FORUM_URL ."=$forum_id").">".$forum_row['forum_name']."</a>"; 
      $sql="select forum_id,forum_name,forum_sub from ".FORUMS_TABLE." where forum_id=".$forum_row['forum_sub']; 
      if ( !($result = $db->sql_query($sql)) ) 
      { 
         message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql); 
      } 
      while($row = $db->sql_fetchrow($result)) 
      { 
         $forum_path="-><a href=".append_sid("viewforum.$phpEx?" . POST_FORUM_URL ."=".$row[forum_id]).">".$row['forum_name']."</a>".$forum_path; 
         if($row['forum_sub']==0) 
         { 
            break; 
         } 
         $sql="select forum_id,forum_name,forum_sub from ".FORUMS_TABLE." where forum_id=".$row['forum_sub']; 
         if ( !($result = $db->sql_query($sql)) ) 
         { 
            message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql); 
         } 
      } 
   }else 
   { 
      $forum_path="-><a href=".append_sid("viewforum.$phpEx?" . POST_FORUM_URL ."=$forum_id").">".$forum_row['forum_name']."</a>"; 
   } 
   $db->sql_freeresult($result); 
   unset($row); 
   unset($forum_row); 
   return $forum_path; 
} 
--------------------------------------------------------- 
小弟實在看不懂
function make_jumpbox($action, $match_forum_id = 0)
的整個到底到哪裡

目前是用最新版本的PHPBB 2.0.1.6架的
沒裝任何外掛
網址
http://nicecountry.dyndns.tv/phpbb/index.php

請裝過的大大教一下小弟~謝謝 :mrgreen:
最後由 狂暴戰龍 於 2005-07-01 08:33 編輯,總共編輯了 1 次。
reesion2
星球普通子民
星球普通子民
文章: 26
註冊時間: 2004-12-22 06:18

文章 reesion2 »

代碼: 選擇全部

function make_jumpbox($action, $match_forum_id = 0) 
{ 
.................... 
.................... 
.................... 
}
請留意{}大括弧的位置,都是第在一個字元...中間是省略用法,因為滿長的。

反先找到第一字元的左括弧{,然後往下找...一直找到右括弧}也是在第一字元,就是所有範圍了,因為不少行,請多多留意。

ex:

代碼: 選擇全部

{xxxxxxxx
 {xxxxxxxxxx
  {xxxxxxxxxxxxxx
  }xxxxxx
 }
}
頭像
狂暴戰龍
星球公民
星球公民
文章: 124
註冊時間: 2005-02-23 18:39

文章 狂暴戰龍 »

感謝大大的指導小弟的問題解決了 :mrgreen:
bradpittbb
星球公民
星球公民
文章: 52
註冊時間: 2005-05-27 08:48

[外掛] 可是我的不是在第一字元呀~~

文章 bradpittbb »

我的第一個大括胡是在中間耶~~
怎麼找相對應的右括弧ㄋ....好難懂唷\r

●架設主機作業系統:windows xp home 512 MB RAM
●您的上網方式:hinet ADSL 512/256k 固定ip
●您安裝的程式: php2.0.15 。
●您的 domain(網域名稱) localhost
●您的 phpBB2 連結網址:http://211.20.74.243/phpBB2/index.php
頭像
幽雲
星球公民
星球公民
文章: 71
註冊時間: 2004-08-25 11:26
來自: 幻翼小站
聯繫:

Re: [外掛] 可是我的不是在第一字元呀~~

文章 幽雲 »

bradpittbb 寫:我的第一個大括胡是在中間耶~~
怎麼找相對應的右括弧ㄋ....好難懂唷\r

●架設主機作業系統:windows xp home 512 MB RAM
●您的上網方式:hinet ADSL 512/256k 固定ip
●您安裝的程式: php2.0.15 。
●您的 domain(網域名稱) localhost
●您的 phpBB2 連結網址:http://211.20.74.243/phpBB2/index.php
我的方法是= =+

找到與左括弧"同行"的右括弧...

你找到的是不同行的...

我這樣改就成功了= =+
圖檔
bradpittbb
星球公民
星球公民
文章: 52
註冊時間: 2005-05-27 08:48

[外掛] 那你可以告訴我最後一段是啥字嗎

文章 bradpittbb »

就是將要被替代的最後一段字是啥...降我的目標也可以明確點...謝謝!!
頭像
幽雲
星球公民
星球公民
文章: 71
註冊時間: 2004-08-25 11:26
來自: 幻翼小站
聯繫:

Re: [外掛] 那你可以告訴我最後一段是啥字嗎

文章 幽雲 »

bradpittbb 寫:就是將要被替代的最後一段字是啥...降我的目標也可以明確點...謝謝!!

代碼: 選擇全部

		'S_JUMPBOX_SELECT' => $boxstring,
		'S_JUMPBOX_ACTION' => append_sid($action))
	);
	$template->assign_var_from_handle('JUMPBOX', 'jumpbox');

	return;
}
我的最後面是這樣....
圖檔
主題已鎖定

回到「外掛問題討論」