本館粉絲專頁

使用者:台灣阿成/我的工作日誌/2006/01

分享此網頁到Facebook
分享此網頁到Plurk
分享此網頁到百度搜藏
分享此網頁到Twitter
分享此網頁到Del.icio.us
最近作者:台灣阿成 2006年6月16日 (星期五)09:55
台灣棒球維基館
跳轉到: 導覽搜尋

目次

[編輯] 01/03 用戶貢獻程式改成編號清單

  • 問題:點選用戶貢獻時,顯示為項目清單,無法一眼看出有幾項。如何解決?
  • 方法:修改 SpecialContributions.php 程式:把 HTML 的 ul 改成 ol 即可
原來這樣:
...
	$wgOut->addHTML( "<ul>\n" );
...
	$wgOut->addHTML( "</ul>\n" );
...

改成這樣:
...
	$wgOut->addHTML( "<ol>\n" );
...
	$wgOut->addHTML( "</ol>\n" );
...

[編輯] 01/03 最近更改程式改成編號清單

  • 問題:點選最近更改時,顯示為項目清單,無法一眼看出有幾項。如何解決?
  • 方法:修改 ChangesList.php 程式:把 HTML 的 ul 改成 ol 即可
原來這樣:
...
		if( $this->rclistOpen ) {
			$s .= "</ul>\n";
		}
...
		if ( $date != $this->lastdate ) {
			if ( '' != $this->lastdate ) { $s .= "</ul>\n"; }
			$s .= "<h4>{$date}</h4>\n<ul class=\"special\">";
...

改成這樣:
...
		if( $this->rclistOpen ) {
			$s .= "</ol>\n";
		}
...
		if ( $date != $this->lastdate ) {
			if ( '' != $this->lastdate ) { $s .= "</ol>\n"; }
			$s .= "<h4>{$date}</h4>\n<ol class=\"special\">";
...

[編輯] 01/03 作者不顯示真名

  • 修改 Credits.php,把本來會顯示出作者真名的功能去掉:
function getAuthorCredits($article) {
...
	if (!empty($real_name)) {

//原本:
//		$author_credit = creditLink($user_name, $real_name);
//改成:
		$author_credit = creditLink($user_name);
...

function getContributorCredits($article, $cnt, $showIfMax) {
...
	if ($wgAllowRealName && !empty($user_parts[2])) {
//原本:
//		$real_names[] = creditLink($user_parts[1], $user_parts[2]);
//改成:
		$real_names[] = creditLink($user_parts[1]);
  • 問題:頁面下方顯示近期三位作者之外,「其他...」點進去應看到所有作者,但沒有。
  • 方法:
  • index.php(加傳一個參數 $action)
//原本:
			showCreditsPage( $wgArticle );
//改成:
			showCreditsPage( $wgArticle, $action );
  • Credits.php
//原本:
function showCreditsPage($article) {
...
    if( $article->mTitle->getArticleID() == 0 ) {
		$s = wfMsg( 'nocredits' );
    } else {
		$s = getCredits($article, $wgMaxCredits, $wgShowCreditsIfMax);
    }

//改成:
function showCreditsPage($article, $action) {
...
    if( $article->mTitle->getArticleID() == 0 ) {
		$s = wfMsg( 'nocredits' );
    } else {
		if( !isset($action) ){
			$s = getCredits($article, $wgMaxCredits, $wgShowCreditsIfMax);
		} else {
			$s = getCredits($article, -1, $wgShowCreditsIfMax);
		}
    }
  • 問題:單一作者無法換行。
  • 解決:
function getContributorCredits($article, $cnt, $showIfMax) {
...
//原本:
    return (empty($creds)) ? '' : wfMsg('othercontribs', $creds);
...
//改成:
    return (empty($creds)) ? '<br>' : wfMsg('othercontribs', $creds);

[編輯] 01/04 actionLogs新增記錄Login使用者的IP

  • 問題:若使用者有登入(Login),目前在actionLogs中只記錄其Username而未紀錄IP,以致若發生頁面遭受登入使用者破壞,將無從追查該使用者來自何處。
  • 解決:加入記錄登入使用者IP的功能。
//index.php
//原本:
...
	if ( isset( $_SESSION['wsUserName'] ) ) {
		$sUser = "User" . "," . $_SESSION['wsUserName'];
	}
	else {
		$sUser = "IP" . "," . $wgIP;
	}
...
//改成:
...
	if ( isset( $_SESSION['wsUserName'] ) ) {
		$sUser = "User" . "," . $_SESSION['wsUserName'] . "," . $wgIP;
	}
	else {
		$sUser = "IP" . "," . $wgIP . ",----";
	}
...
  • 結果:
2006-01-04,08:00:48,User,台灣阿成,61.229.225.97,view,首頁,719902
2006-01-04,08:00:49,IP,218.162.120.225,----,view,張志強,173

[編輯] 01/04

  • swdsyu通過畢業論文口試。

[編輯] 01/05

  • 把頁面作者、最近更改、瀏覽次數一到頁面標題下方。
  • 修改程式:monobook.php, monobook/main.css
  • 修改相關mediawiki參數:
    • MediaWiki:Lastmodifiedby/zh-tw
    • MediaWiki:Othercontribs/zh-tw
    • MediaWiki:Lastmodified/zh-tw
    • MediaWiki:Viewcount/zh-tw
  • 未解決問題:除Namespace 0 的頁面外,其餘Namespace的頁面只會顯示一位作者。

[編輯] 01/07

  • 下午6點半左右發現本站連不上,就遠端登入進去看。發現MySQL當掉,想要把它停掉再重新啟動,但是停不了,也無法重新啟動。進去看了actionLog,發現5點1分以後就沒有任何紀錄了,也就是我發現時已經當掉一個半小時了。
  • 打電話到研究室求救兵看有沒有人可幫忙重開?但是想也知道,天氣這麼冷怎麼會有人?沒辦法,只好等到星期一早上有人上班再處理了。
  • 晚上10:15左右,不死心又試著打一次研究室,結果非常幸運有同學在,我請她幫忙重開電腦後就恢復正常了。
  • 今天自05:00pm ~ 10:15pm總計當機五小時多。
  • 看樣子Win XP + MySQL並不是很穩,這個組合經常會當掉,應該想辦法改善。

--台灣阿成 22:31 2006年1月7日

[編輯] 01/25

  • 頁面數量突破4,000頁了,不過個人覺得「量」並不是最重要,「質」也同樣重要。
  • 更改Mediawiki:sitenotice/zh-tw,希望可在每頁頁眉顯示這個導覽條(先粗略設計,有空再慢慢改):
台灣棒球史 | 台灣棒球大事記 | 台灣棒球名人錄 | 台灣棒球一級棒 | 台灣棒球影像館 | 中華職棒大聯盟 | 職棒球員點將錄 | 賽事 | 棒球
  • 沒有反應!?可能要等server上的cache清空才會出現吧!回頭查看Mediawiki:sitenotice/zh-tw,果然還是舊的「-」。怎麼常這樣?
  • 問題:為什麼Mediawiki:xxx系統介面變數經常會延遲反應?server上的cache是在哪裡?

[編輯] 01/26

  • 乾脆重開機一下,終於有出現了!再把幻象兩千作的本土球員和外籍球員點將錄合成中華職棒點將錄,也一併放上去。
  • 作這個導覽條主要是把原來的「建議閱讀」和一些主要頁面當作全域導覽,讓使用者在任何頁面都可連結。把「建議閱讀」移走後,頁面空間也可以騰出來放其他資料。

[編輯] 01/27

  • 在使用者列表(依ID),另顯示註冊日期:
  • SpecialListUsersbyid.php:
 function getSQL() {
 //...
   return "SELECT ur_rights as type, $userspace as namespace, user_name as title, user_id as value, user_regdate as regdate FROM $user LEFT JOIN $user_rights ON user_id = ur_user";
 //多這一欄: user_regdate as regdate
 //  ...
 }
 function formatResult( $skin, $result ) {
 // ...
 $rd = substr($result->regdate, 0, 4) . '/' . substr($result->regdate, 4, 2) . '/' . substr($result->regdate, 6, 2);
//...
//原來:$name .= ' (id=' . $result->value . '; ' .
//改成:
 $name .= ' (id=' . $result->value . '; ' . 'regdate=' . $rd . ')(' .
   $skin->makeLink( wfMsgForContent( 'administrators' ), $result->type) . ')';
//...
//原來:$name .= ' (id=' . $result->value . ')' ;
//改成:
 $name .= ' (id=' . $result->value  . '; ' . 'regdate=' . $rd . ')' ;}
//...
}