|
本館粉絲專頁 |
|
|
使用者:Kenneth/My Wiki Notes
台灣棒球維基館
[編輯] 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這位使用者. 這部分得再瞭解一下.