本館粉絲專頁

使用者:Kenneth/My Wiki Notes

分享此網頁到Facebook
分享此網頁到Plurk
分享此網頁到百度搜藏
分享此網頁到Twitter
分享此網頁到Del.icio.us
最近作者:Kenneth 2005年7月7日 (星期四)21:26
台灣棒球維基館
跳轉到: 導覽搜尋

[編輯] 2005 July

  • 2005-07-07

  • 新增功能:自動紀錄使用者檢索語. 檔案置於http://twbsball.dils.tku.edu.tw/wiki/searchLog.txt
mediawiki處理搜尋的模組是放在 includes/SpecialSearch.php這支程式下面.
從首頁(index.php)便可看到call了這支程式的wfSpecialSearch() function進來.
於是在SpecialSearch.php中自行設計了一個function:
//to record what users have searched in our wiki.
function searchTextLog($searchText){
	$fp = fopen("searchLog.txt","a");
	$date = date("m-d-y G:i:s");
	$outputstring = $date." Search Term:".$searchText."\n";
	fwrite($fp, $outputstring);
	fclose($fp);
}
並在呼叫wfSpecialSearch()的同時執行:
function wfSpecialSearch( $par = '' ) {
	global $wgRequest, $wgUser;
	
	$search = $wgRequest->getText( 'search', $par );

	searchTextLog($search);

	$searchPage = new SpecialSearch( $wgRequest, $wgUser );
	if( $wgRequest->getVal( 'fulltext' ) ||
		!is_null( $wgRequest->getVal( 'offset' ) ) ||
		!is_null ($wgRequest->getVal( 'searchx' ) ) ) {
		$searchPage->showResults( $search );
	} else {
		$searchPage->goResult( $search );
	}
}
如此便可自動記錄使用者檢索語, 以利未來應用.
p.s.上述開發環境是以mediawiki v1.5為例, 但也可順利運作在本站目前環境.
  • 開發中功能:紀錄線上使用者.
在mediawiki v1.5中, 如需要自己寫一個管理者權限的新action. 可在以下這幾支程式中加入相關資訊:
DefaultSettings.php, Defines.php, SpecialPage.php, Language.php
同時也需根據功能設定的名稱新增檔案. 例:SpecialOnlineuser.php.
目前的進度是已可偵測線上使用者數與IP, 但無法顯示在畫面中央空白處(會在最左上角). 可能還需要參考其他相關檔案follow一些function的流程. 另一個問題是得再研究如何建立起IP跟使用者的關連, 比如說192.168.1.2其實是ABC這位使用者. 這部分得再瞭解一下.