User:Roc michael

About Myself
Hi. I am Michael Chang (張致信[mailto:roc.no1@gmail.com Email]),a Chinese in Taiwan. Since my name is too popular to be an ID for me, I chose the roc michael (Republic Of China's Michael). Then MW turned it into Roc michael.


 * Hi, everybody I am in Jiaosi, Yilan  Taiwan now. I wish everybody study to use(or to develop Mediawiki Extension) easily.
 * 大家好，我現在人在台灣省宜蘭縣礁溪鄉. 祝大家維基學習之旅能愉快順利.

Translation

 * Extension:UserRightsList
 * Extension talk:ImagePlus
 * Extension:Replace Text
 * Extension:Semantic MediaWiki
 * DPL Chinese UI
 * SpecialPages_grouped_into_categories/Chinese
 * Extension:AWC's Forum
 * Extension:Todo Tasks
 * Extension:WhoIsWatchingTabbed
 * Extension:WhoIsWatching
 * Extension:Data Transfer
 * Extension talk:IssueTracker

My page in other wiki

 * Betawiki
 * M:User:Roc_michael
 * Wikipedia Chinese

Mediawiki Study
  此頁很炫*諸多連結圍著圓形的圖檔.

Files not using anymore

 * User:Roc michael/SF_LanguageEn
 * Calendar kit evaluating table
 * SMW_HaloLanguageZh_tw.php

My Environment

 * MediaWiki: 1.12.0
 * Win XP
 * The AppServ Open Project - 2.5.7 for Windows
 * Apache Web Server Version 2.2.3
 * PHP Script Language Version 5.1.6
 * MySQL Database Version 5.0.24a
 * phpMyAdmin Database Manager Version 2.9.0.2

Could you give me a hand?

My Environment

 * MediaWiki: 1.14.0
 * Win XP
 * The AppServ Open Project - 2.5.7 for Windows
 * Apache Web Server Version 2.2.3
 * PHP Script Language Version 5.1.6
 * MySQL Database Version 5.0.24a
 * phpMyAdmin Database Manager Version 2.9.0.2

Could you give me a hand?

The MediaWiki:Common.js in my testwiki
", wgULS("高級畫像","高級畫像"), 'btnAdvImage' ); __temp="\nImage:PictureFileName.jpg|"+wgULS("圖片題注","圖片題注"); addEditButton("wiki_buttons/Btn_toolbar_gallery.png","",wgULS("畫廊","畫廊"),'btnGallery' ); addEditButton('wiki_buttons/Math_icon.png','\','插入數學公式','\','插入數學公式(LaTeX)','btnMath'); addEditButton('wiki_buttons/Nowiki_icon.png','\','插入非格式文本','\','插入非格式文本','btnNowiki'); item=addEditButton('wiki_buttons/Button_sig.png','Michael',,,'簽名（無日期）','btnSigOnly') .width = 11; addEditButton('wiki_buttons/Signature_icon.png','—Michael 2008年1月12日 (六) 15:26 (UTC)',,,'簽名','btnSignature'); addEditButton('wiki_buttons/Button_headline2.png','== ','標題文字','==','2級標題文字','btnHeadline2') .doClick=doML; addEditButton("wiki_buttons/Button_headline3.png","=== ","標題文本","===","三級子標題",'btnHeadline3' ) .doClick=doML; addEditButton('wiki_buttons/H-line_icon.png','\n\n',,,wgULS('水平線','水平線'),'btnHr' ); addEditButton("wiki_buttons/Button_enter.png"," ","","", wgULS("換行","換行"),'btnBr' ); addEditButton('wiki_buttons/Bold_icon.png','\'\'\,'粗體','\'\'\,'粗體','btnBold'); addEditButton('wiki_buttons/Italic_icon.png','\'\,'斜體','\'\,'斜體','btnItalic'); __temp=wgULS("下劃線","下劃線"); addEditButton('wiki_buttons/Button_underline.png',' ',__temp,' ',__temp,'btnUnderline'); __temp=wgULS("刪除線","刪除線"); addEditButton("wiki_buttons/Button_strike.png"," ",__temp," ",__temp,'btnStrike'); __temp=wgULS("左對齊","左對齊"); addEditButton("wiki_buttons/Button_align_left.png",' \n',__temp,"\n ",__temp,'btnAlignLeft') .doClick=doML; addEditButton("wiki_buttons/Button_center.png",' \n',"居中","\n ","居中",'btnAlignCenter') .doClick=doML; __temp=wgULS("右對齊","右對齊"); addEditButton("wiki_buttons/Button_align_right.png",' \n',__temp,"\n ",__temp,'btnAlignRight') .doClick=doML; __temp=wgULS("上標","上標"); addEditButton("wiki_buttons/Button_sup_letter.png","",__temp,"", __temp,'btnSup'); __temp=wgULS("下標","下標"); addEditButton("wiki_buttons/Button_sub_letter.png","",__temp,"",__temp,'btnSub'); addEditButton("wiki_buttons/Button_big.png",' ',"放大"," ","放大",'btnBig'); __temp=wgULS("縮小","縮小"); addEditButton("wiki_buttons/Button_small.png",' ',__temp," ",__temp,'btnSmall'); addEditButton("wiki_buttons/Button_shifting.png",":","","","縮進",'btnShift' ) .doClick=doML; addEditButton("wiki_buttons/Btn_toolbar_enum.png","#","","","數字列表",'btnEnum' ) .doClick=doML; addEditButton("wiki_buttons/Btn_toolbar_liste.png","*","","","符號列表",'btnList' ) .doClick=doML; addEditButton("wiki_buttons/Button_definition_list.png","; ","釋義",": ","定義文本",'btnDefine' ) .doClick=doML; addEditButton("wiki_buttons/Button_font_color.png",' ',"彩色文本"," ","彩色文本",'btnColor'); addEditButton("wiki_buttons/Button_blockquote.png",'{\{quote|\n',"引文","\n}\}","塊引用",'btnQuote' ); addEditButton("wiki_buttons/Button_code.png"," ","代碼文本",'btnCode' ); addEditButton('wiki_buttons/Tt_icon.png','','tt文字註記','','tt文字註記','btnTt'); addEditButton('wiki_buttons/Button_pre.png',' ','pre_text文字標籤',' ','pre_text文字標籤','btnPretext'); addEditButton('wiki_buttons/Button_source.png',' ','高亮度語法標示','btnSource'); addEditButton("wiki_buttons/Button_hide_comment.png","","注釋或隱藏文字",'btnComment' ); addEditButton("wiki_buttons/Button_array.png",'\n{| border="1" \n|- \n| 第一部分 || 第二部分 \n|- \n| 第三部分 || 第四部分',"","\n|}\n","插入表格",'btnTable'); addEditButton('wiki_buttons/Button_array_excel.png','','\n姓名	分數\n張三	65\n李四	75\n',' ','MS Excel相容表格','btnArrayExcel'); __temp=wgULS("參考","參考"); addEditButton("wiki_buttons/Button_ref.png"," ", __temp,'btnRef' ); __temp=wgULS("同項參考","同項參考"); addEditButton("wiki_buttons/Button_ref_adv.png",' ', __temp,'btnRef2' ) .width = 12; addEditButton("wiki_buttons/Button_refs.png",'\n==參考文獻==\n \n '

var ep=$e('searchInput'); if (ep) ep.accessKey='none';

sr$t=document.editform.wpTextbox1; sr$w=sr$t.style.width;

var sr=document.createElement('div'); sr.innerHTML=srBoxCode;

var im=document.createElement('span'); im.innerHTML='';

var ep=$e('toolbar'); if (ep) {     ep.appendChild(im) }   else {     var ep=$e('editform'); ep.parentNode.insertBefore(im,ep); }

sr$i=$e('SearchIcon'); sr$i.accessKey="F"; sr.firstChild.style.display='none';

var ep=$e('editform'); ep.parentNode.insertBefore(sr,ep);

sr$f=$e('srForm'); sr$s=$e('srSearch'); sr$r=$e('srReplace'); sr$re=$e('srRegexp'); sr$mc=$e('srCase');

} }

function srShowHide { if (sr$f.style.display=='none') {   sr$f.style.display='block'; sr$i.accessKey="none"; sr$t.style.width='auto'; sr$s.focus; } else {   sr$f.style.display='none'; sr$t.style.width=sr$w; sr$i.accessKey="F"; } }

document.write('');

addOnloadHook(srInit);

/***以新視窗開啟外部連結*****/ externalLinks = function { if (!document.getElementsByTagName) { return; }       var anchors = document.getElementsByTagName("a"); for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute("href") &&                                anchor.getAttribute("rel") != null &&                                 (anchor.getAttribute("rel").indexOf("external") >= 0 || anchor.getAttribute("rel").indexOf("nofollow") >= 0)                       ) { anchor.target = "_blank"; }       } }

if (window.addEventListener) { window.addEventListener("load", externalLinks, false); } else if (window.attachEvent) { window.attachEvent("onload", externalLinks); }

/*** Collapsible tables ***/ /** Collapsible tables ********************************************************* * *  Description: Allows tables to be collapsed, showing only the header. See *              NavFrame. * Maintainers: User:R. Koot */ var autoCollapse = 2; var collapseCaption = "隱藏"; var expandCaption = "顯示"; function collapseTable( tableIndex ) {    var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; }    var Rows = Table.rows; if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; }        Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; }        Button.firstChild.data = collapseCaption; } } function createCollapseButtons {    var tableIndex = 0; var NavigationBoxes = new Object; var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( hasClass( Tables[i], "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button    = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; }    }     for ( var i = 0;  i < tableIndex; i++ ) { if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { collapseTable( i ); }    } } addOnloadHook( createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * *  Description: See NavFrame. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: //    indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) {    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; }    // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for (                var NavChild = NavFrame.firstChild;                 NavChild != null;                 NavChild = NavChild.nextSibling             ) { if ( hasClass( NavChild, 'NavPic' ) ) { NavChild.style.display = 'none'; }            if ( hasClass( NavChild, 'NavContent') ) { NavChild.style.display = 'none'; }        }     NavToggle.firstChild.data = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for (                var NavChild = NavFrame.firstChild;                 NavChild != null;                 NavChild = NavChild.nextSibling             ) { if (hasClass(NavChild, 'NavPic')) { NavChild.style.display = 'block'; }            if (hasClass(NavChild, 'NavContent')) { NavChild.style.display = 'block'; }        }     NavToggle.firstChild.data = NavigationBarHide; } }  // adds show/hide-button to navigation bars function createNavigationBarToggleButton {    var indexNavigationBar = 0; // iterate over all -elements var divs = document.getElementsByTagName("div"); for(            var i=0;              NavFrame = divs[i];              i++         ) { // if found a navigation bar if (hasClass(NavFrame, "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); for (                 var NavChild = NavFrame.firstChild;                  NavChild != null;                  NavChild = NavChild.nextSibling                 ) { if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) { if (NavChild.style.display == 'none') { NavToggleText = document.createTextNode(NavigationBarShow); break; }                }             }             NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(              var j=0;                j < NavFrame.childNodes.length;                j++             ) { if (hasClass(NavFrame.childNodes[j], "NavHead")) { NavFrame.childNodes[j].appendChild(NavToggle); }            }             NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); }    }  }  addOnloadHook( createNavigationBarToggleButton );

/**--**/

Something about Parser_OldPP

 * Repository of Parser_OldPP.php
 * Manual:$wgParserConf
 * Manual:$wgUseTidy