[問題] 求[以 IP 搜尋發表的主題]的外掛[已解決]

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

版主: 版主管理群

momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

[問題] 求[以 IP 搜尋發表的主題]的外掛[已解決]

文章 momoC »

在 viewtopic.php 看某篇主題時
點選貼文 IP 可以進入 IP 位址報告頁 (modcp.php?mode=ip)
只能看到: IP [ #貼文]

有沒有可能將這裡的 IP 改為連結-
點選該 IP 可以跑出另一個畫面\r
列出所有用那個 IP 發言的紀錄
顯示格式就像我們在 [檢視 XXX 的個人資料] 時
點選連結: [查詢 XXX 發表的所有文章] 結果一樣\r

我原先想利用 search.php 加一個 search_IP 模態去找\r
搞了好久,還是被 search.php 打敗了,哀...

help... :cry:
最後由 momoC 於 2005-08-01 14:04 編輯,總共編輯了 1 次。
● 架設主機作業系統:IIS 6.0
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

Advanced IP Tools Pack
http://www.phpbb.com/phpBB/viewtopic.php?t=234613

可以達成你要的效果,不過變成要進入搜尋畫面自己搜尋:
圖檔
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

依夢兒 寫:Advanced IP Tools Pack
http://www.phpbb.com/phpBB/viewtopic.php?t=234613

可以達成你要的效果,不過變成要進入搜尋畫面自己搜尋:
圖檔
奇怪!我到各個網站爬這麼久怎麼沒注意到這支外掛?
沒關係,剩餘的部份我倒是可以自己試寫看看!謝謝依夢兒大大!
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

可以了,非常感謝依夢兒的指引,好快就解決了!
我借用該外掛的這段程式:

代碼: 選擇全部

#
#-----[ OPEN ]------------------------------------------
#
search.php


#
#-----[ FIND ]------------------------------------------
#
\n$sort_by_types = array($lang['Sort_Time'], $lang['Sort_Post_Subject'], $lang['Sort_Topic_Title'], $lang['Sort_Author'], $lang['Sort_Forum']);


#
#-----[ AFTER, ADD ]------------------------------------------
#

// Start Advanced IP Tools Pack MOD
$search_ip = '';

// For security reasons, we need to make sure the IP lookup is coming from an admin or mod.
if ( ($userdata['user_level'] == ADMIN) || ($userdata['user_level'] == MOD) )
{
	if ( !empty($HTTP_POST_VARS['search_ip']) || !empty($HTTP_GET_VARS['search_ip']) )
	{
		$ip_address = ( !empty($HTTP_POST_VARS['search_ip']) ) ? $HTTP_POST_VARS['search_ip'] : $HTTP_GET_VARS['search_ip'];
		$ip_address = htmlspecialchars($ip_address);
		$ip_address = str_replace("\'", "''", $ip_address);
		$ip_pieces = explode('.', $ip_address);
		$ip_pieces_count = count($ip_pieces) - 1;

			for ($i = 0; $i <= $ip_pieces_count; $i++)
			{
				$search_ip .= ( $ip_pieces[$i] == '*' ) ? '%' : sprintf('%02x', $ip_pieces[$i]);
			}
			
	}

	else
	{
		$search_ip = '';
	}
}
// End Advanced IP Tools Pack MOD


#
#-----[ FIND ]------------------------------------------
#
# Note: full line to find is: else if ( $search_keywords != '' || $search_author != '' || $search_id )
#
$search_keywords != '' || $search_author != '' || $search_id 


#
#-----[ IN-LINE FIND ]------------------------------------------
#
$search_id 


#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
# Important note: there should be a space before the || AND after the != ''
#
 || $search_ip != '' 


#
#-----[ FIND ]------------------------------------------
#
#Note: full line to find is: if ( $search_id == 'newposts' || $search_id == 'egosearch' || $search_id == 'unanswered' || $search_keywords != '' || $search_author != '' )
#
$search_id == 'unanswered' || $search_keywords != '' || $search_author != '' 


#
#-----[ IN-LINE FIND ]------------------------------------------
#
$search_author != '' 


#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
# Important note: there should be a space before the || AND after the != ''
#
 || $search_ip != '' 


#
#-----[ FIND ]------------------------------------------
#
# Note: full line to find is: if ( $search_id == 'newposts' || $search_id == 'egosearch' || ( $search_author != '' && $search_keywords == '' )  )
#
( $search_author != '' && $search_keywords == '' ) 


#
#-----[ IN-LINE FIND ]------------------------------------------
#
$search_keywords == '' ) 


#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
# Important note: there should be a space before the || AND after the != ''
#
 || $search_ip != '' 


#
#-----[ FIND ]------------------------------------------
#
			if ( $search_id == 'newposts' )
			{
				if ( $userdata['session_logged_in'] )
				{
					$sql = "SELECT post_id 
						FROM " . POSTS_TABLE . " 
						WHERE post_time >= " . $userdata['user_lastvisit'];
				}
				else
				{
					redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=newposts", true));
				}

				$show_results = 'topics';
				$sort_by = 0;
				$sort_dir = 'DESC';
			}


#
#-----[ AFTER, ADD ]------------------------------------------
#

			// Start Advanced IP Tools Pack MOD
			else if ($search_ip != '')
			{
				$sql = "SELECT post_id FROM " . POSTS_TABLE . " WHERE poster_ip LIKE '$search_ip'";
				$show_results = 'posts';
				$sort_by = 0;
				$sort_dir = 'DESC';
			}
			//End Advanced IP Tools Pack MOD
再補上一點小修改:

代碼: 選擇全部

#
#-----[ OPEN ]------------------------------------------
#
modcp.php

#
#-----[ FIND ]------------------------------------------
#
'IP' => $ip_this_post, 

#
#-----[ AFTER, ADD ]------------------------------------------
#
// BEGIN Search IP Posts
'U_SEARCH_IP_POSTS' => "search.$phpEx?search_ip=". $ip_this_post,
// END Search IP Posts

#
#-----[ FIND ]------------------------------------------
#
'IP' => $ip,
'POSTS' => $row['postings'] . ' ' . ( ( $row['postings'] == 1 ) ? $lang['Post'] : $lang['Posts'] ),

#
#-----[ AFTER, ADD ]------------------------------------------
#
// BEGIN Search IP Posts
'U_SEARCH_IP_POSTS' => "search.$phpEx?search_ip=". $ip,
// END Search IP Posts

#
#-----[ OPEN ]------------------------------------------
#
modcp_viewip.tpl

#
#-----[ FIND ]------------------------------------------
#
{IP}

#
#-----[ REPLACE WITH ]------------------------------------------
#
<a href="{U_SEARCH_IP_POSTS}">{IP}</a> 

#
#-----[ FIND ]------------------------------------------
#
{iprow.IP}

#
#-----[ REPLACE WITH ]------------------------------------------
#
<a href="{iprow.U_SEARCH_IP_POSTS}">{iprow.IP}</a>
就是我想要的效果了,真開心~~~ :lol:
bc010843
竹貓忠實會員
竹貓忠實會員
文章: 333
註冊時間: 2004-10-13 18:33
聯繫:

文章 bc010843 »

momoC 寫:可以了,非常感謝依夢兒的指引,好快就解決了!
我借用該外掛的這段程式:

就是我想要的效果了,真開心~~~ :lol:
請問只要改這三個檔案就行了嗎?

謝謝
PHPBB:2.0.20
OS:LINUX
風格: ICG
快速程式:無
上網方式:Hinet 8m/640
架設環境:竹貓空間
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

我是這樣改就好了 :-P
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

請問前輩知道如何去刪除Advanced IP Tools Pack的紀錄呢?
兩三天而已,個人檔案那而的紀錄已經有四頁了
謝謝~
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

athlon 寫:如何去刪除Advanced IP Tools Pack的紀錄呢?
兩三天而已,個人檔案那而的紀錄已經有四頁了
謝謝~
咦,你是整個 tools pack 全裝嗎?我就只有裝我貼出來的部分。你指的是哪裡(比如是哪支程式)看到的紀錄?
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

小弟全裝了...
看到profile下有每次login的紀錄...滿滿好幾頁~
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

athlon 寫:請問前輩知道如何去刪除Advanced IP Tools Pack的紀錄呢?
兩三天而已,個人檔案那而的紀錄已經有四頁了
謝謝~
進入資料庫,將紀錄那一些 IP 的 TABLE 給清空(不是刪除,是清空)吧?
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
頭像
chadav
竹貓好朋友
竹貓好朋友
文章: 65
註冊時間: 2002-07-04 21:04
聯繫:

文章 chadav »

momoC 寫:可以了,非常感謝依夢兒的指引,好快就解決了!
我借用該外掛的這段程式:
momoC 兄少加了以下的修改, 這樣在搜尋內才會有搜尋 ip 的選項!!

代碼: 選擇全部

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/search_body.tpl


#
#-----[ FIND ]------------------------------------------
#
<tr>
	<td class="row1" colspan="2"><span class="gen">{L_SEARCH_AUTHOR}:</span><br /><span class="gensmall">{L_SEARCH_AUTHOR_EXPLAIN}</span></td>
	<td class="row2" colspan="2" valign="middle"><span class="genmed"><input type="text" style="width: 300px" class="post" name="search_author" size="30" /></span></td>
</tr>


#
#-----[ AFTER, ADD ]------------------------------------------
#
<tr>
	<td class="row1" colspan="2"><span class="gen">{L_SEARCH_IP}:</span><br /><span class="gensmall">{L_SEARCH_IP_EXPLAIN}</span></td>
	<td class="row2" colspan="2" valign="middle"><span class="genmed"><input type="text" style="width: 300px" class="post" name="search_ip" size="30" /></span></td>
</tr>


#
#-----[ OPEN ]------------------------------------------ 
#
language/lang_english/lang_main.php


#
#-----[ FIND ]------------------------------------------
#
# Note: the complete line to find is: $lang['Viewing_user_profile'] = 'Viewing profile :: %s'; // %s is username
#
$lang['Viewing_user_profile']

#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['Search_ip'] = 'Search for posts by IP address';
$lang['Search_ip_explain'] = 'Enter a IP address in the format like <u>127.0.0.1</u> -- you may use * as a wildcard for partial matches like <u>127.*.*.1</u>';
繁體中文語系:

代碼: 選擇全部

$lang['Search_ip'] = '以發表文章的 IP 位?#125;搜尋';
$lang['Search_ip_explain'] = '請輸入要搜尋的條件, 如 <u>127.0.0.1</u> -- 您?#93;可以用 * 來取代某一網段的數值, 如 <u>127.*.*.1</u>';

克服自我是最大的挑戰
圖檔
bc010843
竹貓忠實會員
竹貓忠實會員
文章: 333
註冊時間: 2004-10-13 18:33
聯繫:

文章 bc010843 »

請問一下
?#125
?#93

上面這二個是什麼字?

謝謝
PHPBB:2.0.20
OS:LINUX
風格: ICG
快速程式:無
上網方式:Hinet 8m/640
架設環境:竹貓空間
小西
竹貓忠實會員
竹貓忠實會員
文章: 460
註冊時間: 2004-11-19 22:29
來自: 超可愛聲音

文章 小西 »

bc010843 寫:請問一下
?#125
?#93

上面這二個是什麼字?

謝謝

也(猜的)

這可以自己改沒關係@@
bc010843
竹貓忠實會員
竹貓忠實會員
文章: 333
註冊時間: 2004-10-13 18:33
聯繫:

文章 bc010843 »

小西 寫:
也(猜的)

這可以自己改沒關係@@
謝謝哦\r
可是語系沒出來耶\r
phpbb 2.0.17
os linux
快速程式 無\r
風格 icg
空間 竹貓

請看圖
圖檔
PHPBB:2.0.20
OS:LINUX
風格: ICG
快速程式:無
上網方式:Hinet 8m/640
架設環境:竹貓空間
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

chadev 寫:momoC 兄少加了以下的修改, 這樣在搜尋內才會有搜尋 ip 的選項!!
是是,因為我不知道加了是否會變成所有人都能查詢。若以管理者身份,我只需要用到上述說明的方式,所以....多謝提醒,哪天需要這部份功能時,就可以參考您的修改了 :-)
主題已鎖定

回到「外掛問題討論」