pukiwikiでaccesskeyを有効にする

accesskeyを設定すると、「Alt + キー」でページの操作をできるようになる。
ということで設定してみる。
キー自体を忘れてしまっては意味ないので、「編集(E) 」のように表示も変更してみた。
使用しているのは、pukiwiki 1.4.6
行番号は、デフォルトの行番号とずれていると思うが、参考程度に修正した内容を
載せておく。

--- pukiwiki.ini.php 修正前
+++ pukiwiki.ini.php 修正後
@@ -517,4 +517,16 @@
 	array('pattern'=>'#^#',	'profile'=>'default'),	// Sentinel
 );
+
+$_ACCESSKEY['new']       = 'N';
+$_ACCESSKEY['reload']    = 'R';
+$_ACCESSKEY['edit']      = 'E';
+$_ACCESSKEY['diff']      = 'D';
+$_ACCESSKEY['upload']    = 'A';
+$_ACCESSKEY['top']       = 'T';
+$_ACCESSKEY['list']      = 'L';
+$_ACCESSKEY['search']    = 'F';
+$_ACCESSKEY['backup']    = 'B';
+$_ACCESSKEY['help']      = 'H';
+$_ACCESSKEY['recent']    = 'C';
 ?>
--- pukiwiki.skin.php 修正前
+++ pukiwiki.skin.php 修正後
@@ -106,14 +106,22 @@
 function _navigator($key, $value = '', $javascript = ''){
 	$lang = & $GLOBALS['_LANG']['skin'];
 	$link = & $GLOBALS['_LINK'];
+	$accesskey = & $GLOBALS['_ACCESSKEY'];
+
 	if (! isset($lang[$key])) { echo 'LANG NOT FOUND'; return FALSE; }
 	if (! isset($link[$key])) { echo 'LINK NOT FOUND'; return FALSE; }
 	if (! PKWK_ALLOW_JAVASCRIPT) $javascript = '';
 
+	if (!isset($accesskey[$key])){
 	echo '<a href="' . $link[$key] . '" ' . $javascript . '>' .
 		(($value === '') ? $lang[$key] : $value) .
 		'</a>';
-
+	}else{
+		echo '<a href="' . $link[$key] . '" ' . $javascript  .
+		'accesskey="' . $accesskey[$key] . '">'  .
+			(($value === '') ? $lang[$key] . '(' . $accesskey[$key] . ')': $value) .
+			'</a>';
+	}
 	return TRUE;
 }
 ?>