Pukiwiki カスタマイズ履歴 †amazon.inc.php の改変 †52,54d51 < // Amazon AWS ID < define('AWS_ACCESS_KEY_ID', '<ここに Amazon Web Service ID を記入>'); < 73,76c70,71 < //define('PLUGIN_AMAZON_XML', 'http://xml.amazon.co.jp/onca/xml3?t=webservices-20&' . < //'dev-t=GTYDRES564THU&type=lite&page=1&f=xml&locale=jp&AsinSearch='); < define('PLUGIN_AMAZON_XML', 'http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=' . < AWS_ACCESS_KEY_ID . '&Operation=ItemLookup&Version=2007-10-29&ItemId='); --- > define('PLUGIN_AMAZON_XML', 'http://xml.amazon.co.jp/onca/xml3?t=webservices-20&' . > 'dev-t=GTYDRES564THU&type=lite&page=1&f=xml&locale=jp&AsinSearch='); 301c296 < preg_match('/<Title>([^<]*)</', $body, $tmpary); --- > preg_match('/<ProductName>([^<]*)</', $body, $tmpary); ロゴ画像 †ロゴ画像は Zapfino + OmniGraffle? Pro を使って描画しています.そのうち XeTeX で 書き直します.MyTeXpert という文字列を My, TeX, pert の三つに分割して,それぞれ 色をつけています. mimetex †mimetex を cgi-bin/mimetex.cgi に設置してありますので,$ だけで TeX 数式が使えます. default.ini.php †$attach_link = 0; $related_link = 0; $usefacemark = 0; $line_rules に mimetex 用のルールを追加してあります. '\$\$([^\$]+?)\$\$'=> '<center><img src="/cgi-bin/mimetex.cgi?\\1"\ /></center>', '\$([^\$]+?)\$' => '<img src="/cgi-bin/mimetex.cgi?\\1"\ />', これにより,簡単にTex文法数式(例: ディスプレイ数式の例: pukiwiki.ini.php †$page_title = 'MyTeXpert'; $modifier = 'thortex'; $modifierlink = 'http://mytexpert.osdn.jp/'; $edit_auth = 1 '#.#' => 'user', として全てのページの書き換えにパスワードが必要になるように変更. skin/pukiwiki.sin.php †*** orig/skin/pukiwiki.skin.php 2006-03-07 23:03:02.000000000 +0900 --- skin/pukiwiki.skin.php 2007-07-01 18:00:29.000000000 +0900 *************** *** 12,25 **** // Settings (define before here, if you want) // Set site identities ! $_IMAGE['skin']['logo'] = 'pukiwiki.png'; $_IMAGE['skin']['favicon'] = ''; // Sample: 'image/favicon.ico'; // SKIN_DEFAULT_DISABLE_TOPICPATH // 1 = Show reload URL // 0 = Show topicpath if (! defined('SKIN_DEFAULT_DISABLE_TOPICPATH')) ! define('SKIN_DEFAULT_DISABLE_TOPICPATH', 1); // 1, 0 // Show / Hide navigation bar UI at your choice // NOTE: This is not stop their functionalities! --- 12,25 ---- // Settings (define before here, if you want) // Set site identities ! $_IMAGE['skin']['logo'] = 'mytexpert.png'; $_IMAGE['skin']['favicon'] = ''; // Sample: 'image/favicon.ico'; // SKIN_DEFAULT_DISABLE_TOPICPATH // 1 = Show reload URL // 0 = Show topicpath if (! defined('SKIN_DEFAULT_DISABLE_TOPICPATH')) ! define('SKIN_DEFAULT_DISABLE_TOPICPATH', 0); // 1, 0 // Show / Hide navigation bar UI at your choice // NOTE: This is not stop their functionalities! *************** *** 29,35 **** // Show / Hide toolbar UI at your choice // NOTE: This is not stop their functionalities! if (! defined('PKWK_SKIN_SHOW_TOOLBAR')) ! define('PKWK_SKIN_SHOW_TOOLBAR', 1); // 1, 0 // ------------------------------------------------------------ // Code start --- 29,35 ---- // Show / Hide toolbar UI at your choice // NOTE: This is not stop their functionalities! if (! defined('PKWK_SKIN_SHOW_TOOLBAR')) ! define('PKWK_SKIN_SHOW_TOOLBAR', 0); // 1, 0 // ------------------------------------------------------------ // Code start *************** *** 87,93 **** <body> <div id="header"> ! <a href="<?php echo $link['top'] ?>"><img id="logo" src="<?php echo IMAGE_DIR . $image['logo'] ?>" width="80" height="80" alt="[PukiWiki]" title="[PukiWiki]" /></a> <h1 class="title"><?php echo $page ?></h1> --- 87,93 ---- <body> <div id="header"> ! <a href="<?php echo $link['top'] ?>"><img id="logo" src="<?php echo IMAGE_DIR . $image['logo'] ?>" width="149" height="96" alt="[PukiWiki]" title="[PukiWiki]" /></a> <h1 class="title"><?php echo $page ?></h1> *************** *** 100,108 **** </span> <?php } ?> <?php } ?> - </div> <div id="navigator"> <?php if(PKWK_SKIN_SHOW_NAVBAR) { ?> <?php --- 100,111 ---- </span> <?php } ?> <?php } ?> </div> + <?php if ($lastmodified != '') { ?> + <div id="lastmodified">最終更新:<?php echo $lastmodified ?></div> + <?php } ?> + <div id="navigator"> <?php if(PKWK_SKIN_SHOW_NAVBAR) { ?> <?php *************** *** 120,126 **** return TRUE; } ?> ! [ <?php _navigator('top') ?> ] <?php if ($is_page) { ?> [ --- 123,170 ---- return TRUE; } ?> ! ! <?php ! ! // Set toolbar-specific images ! $_IMAGE['skin']['reload'] = 'reload.png'; ! $_IMAGE['skin']['new'] = 'new.png'; ! $_IMAGE['skin']['edit'] = 'edit.png'; ! $_IMAGE['skin']['freeze'] = 'freeze.png'; ! $_IMAGE['skin']['unfreeze'] = 'unfreeze.png'; ! $_IMAGE['skin']['diff'] = 'diff.png'; ! $_IMAGE['skin']['upload'] = 'file.png'; ! $_IMAGE['skin']['copy'] = 'copy.png'; ! $_IMAGE['skin']['rename'] = 'rename.png'; ! $_IMAGE['skin']['top'] = 'top.png'; ! $_IMAGE['skin']['list'] = 'list.png'; ! $_IMAGE['skin']['search'] = 'search.png'; ! $_IMAGE['skin']['recent'] = 'recentchanges.png'; ! $_IMAGE['skin']['backup'] = 'backup.png'; ! $_IMAGE['skin']['help'] = 'help.png'; ! $_IMAGE['skin']['rss'] = 'rss.png'; ! $_IMAGE['skin']['rss10'] = & $_IMAGE['skin']['rss']; ! $_IMAGE['skin']['rss20'] = 'rss20.png'; ! $_IMAGE['skin']['rdf'] = 'rdf.png'; ! ! function _toolbar($key, $x = 20, $y = 20){ ! $lang = & $GLOBALS['_LANG']['skin']; ! $link = & $GLOBALS['_LINK']; ! $image = & $GLOBALS['_IMAGE']['skin']; ! if (! isset($lang[$key]) ) { echo 'LANG NOT FOUND'; return FALSE; } ! if (! isset($link[$key]) ) { echo 'LINK NOT FOUND'; return FALSE; } ! if (! isset($image[$key])) { echo 'IMAGE NOT FOUND'; return FALSE; } ! ! echo '<a href="' . $link[$key] . '">' . ! '<img src="' . IMAGE_DIR . $image[$key] . '" width="' . $x . '" height="' . $y . '" ' . ! 'alt="' . $lang[$key] . '" title="' . $lang[$key] . '" />' . ! '</a>'; ! return TRUE; ! } ! ! ?> ! ! [<?php _navigator('top') ?>] <?php if ($is_page) { ?> [ *************** *** 138,143 **** --- 182,189 ---- | <?php _navigator('upload') ?> <?php } ?> | <?php _navigator('reload') ?> + | <?php _navigator('copy') ?> + | <?php _navigator('rename') ?> ] <?php } ?> *************** *** 153,158 **** --- 199,205 ---- | <?php _navigator('recent') ?> | <?php _navigator('help') ?> ] + <?php _toolbar('rss10', 36, 14) ?> <?php if ($trackback) { ?> [ <?php _navigator('trackback', $lang['trackback'] . '(' . tb_count($_page) . ')', *************** *** 161,166 **** --- 208,214 ---- <?php if ($referer) { ?> [ <?php _navigator('refer') ?> ] <?php } ?> + <?php } // PKWK_SKIN_SHOW_NAVBAR ?> </div> *************** *** 197,240 **** <?php if (PKWK_SKIN_SHOW_TOOLBAR) { ?> <!-- Toolbar --> <div id="toolbar"> - <?php - - // Set toolbar-specific images - $_IMAGE['skin']['reload'] = 'reload.png'; - $_IMAGE['skin']['new'] = 'new.png'; - $_IMAGE['skin']['edit'] = 'edit.png'; - $_IMAGE['skin']['freeze'] = 'freeze.png'; - $_IMAGE['skin']['unfreeze'] = 'unfreeze.png'; - $_IMAGE['skin']['diff'] = 'diff.png'; - $_IMAGE['skin']['upload'] = 'file.png'; - $_IMAGE['skin']['copy'] = 'copy.png'; - $_IMAGE['skin']['rename'] = 'rename.png'; - $_IMAGE['skin']['top'] = 'top.png'; - $_IMAGE['skin']['list'] = 'list.png'; - $_IMAGE['skin']['search'] = 'search.png'; - $_IMAGE['skin']['recent'] = 'recentchanges.png'; - $_IMAGE['skin']['backup'] = 'backup.png'; - $_IMAGE['skin']['help'] = 'help.png'; - $_IMAGE['skin']['rss'] = 'rss.png'; - $_IMAGE['skin']['rss10'] = & $_IMAGE['skin']['rss']; - $_IMAGE['skin']['rss20'] = 'rss20.png'; - $_IMAGE['skin']['rdf'] = 'rdf.png'; - - function _toolbar($key, $x = 20, $y = 20){ - $lang = & $GLOBALS['_LANG']['skin']; - $link = & $GLOBALS['_LINK']; - $image = & $GLOBALS['_IMAGE']['skin']; - if (! isset($lang[$key]) ) { echo 'LANG NOT FOUND'; return FALSE; } - if (! isset($link[$key]) ) { echo 'LINK NOT FOUND'; return FALSE; } - if (! isset($image[$key])) { echo 'IMAGE NOT FOUND'; return FALSE; } - - echo '<a href="' . $link[$key] . '">' . - '<img src="' . IMAGE_DIR . $image[$key] . '" width="' . $x . '" height="' . $y . '" ' . - 'alt="' . $lang[$key] . '" title="' . $lang[$key] . '" />' . - '</a>'; - return TRUE; - } - ?> <?php _toolbar('top') ?> <?php if ($is_page) { ?> --- 245,250 ---- *************** *** 270,287 **** </div> <?php } // PKWK_SKIN_SHOW_TOOLBAR ?> - <?php if ($lastmodified != '') { ?> - <div id="lastmodified">Last-modified: <?php echo $lastmodified ?></div> - <?php } ?> - - <?php if ($related != '') { ?> - <div id="related">Link: <?php echo $related ?></div> - <?php } ?> - <div id="footer"> ! Site admin: <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a><p /> <?php echo S_COPYRIGHT ?>. ! Powered by PHP <?php echo PHP_VERSION ?>. HTML convert time: <?php echo $taketime ?> sec. </div> </body> --- 280,290 ---- </div> <?php } // PKWK_SKIN_SHOW_TOOLBAR ?> <div id="footer"> ! Site admin: <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a><p /> <?php echo S_COPYRIGHT ?>. ! Powered by ! <a href="https://osdn.jp/"><img src="https://osdn.jp/sflogo.php?group_id=2915" width="96" height="31" border="0" alt="OSDN"></a> </div> </body> スパム対策 †以前のサイトではスパム対策を行っていたのだが,サーバのファイルが全部 アボーンしたので,そのカスタマイズも忘れてしまったが,
というページに,私が書いた「平仮名を含んでいない書き込みを認めない」 check_kanamoji() 関数が掲載されていた.探せばあるものですね,一安心. 534a535,557 > <?php > function check_kanamoji($line){ > // 一度入力文字コードを EUC に統一する > $buf = mb_convert_encoding($line, "EUC-JP", "auto"); > // バッファの中にひらがなのコードが含まれているかどうかを判定する > $result = preg_match("/(\xA4[\xA1-\xF3])/i", $line); > if (!$result){ > die_message('申し訳ありませんがスパムと判定しました。'); > } > } > // 文字列のうちURLが30%を超えていたらスパムと判定 > function check_url_rate($s) { > $len = strlen($s); > $regex = '|s?https?://[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+|'; > $n = preg_match_all($regex, $s, $matches); > for($i = 0; $i < $n; $i++) { > $urllen += strlen($matches[0][$i]); > } > if(($urllen / $len) > 0.30) { > die_message('申し訳ありませんがスパムと判定しました。'); > } > } > ?> \ No newline at end of file ページの編集にはパスワードを入力しなければならないので, comment.inc.php と pcomment.inc.php の二つのファイルを改変すれば OK. *** comment.inc.php~ 2007-07-01 18:48:29.000000000 +0900 --- comment.inc.php 2007-07-01 18:49:26.000000000 +0900 *************** *** 36,41 **** --- 36,44 ---- } if ($vars['msg'] == '') return array('msg'=>'', 'body'=>''); // Do nothing + check_kanamoji($vars['msg']); + check_url_rate($vars['msg']); + $comment = str_replace('$msg', $vars['msg'], PLUGIN_COMMENT_FORMAT_MSG); if(isset($vars['name']) || ($vars['nodate'] != '1')) { $_name = (! isset($vars['name']) || $vars['name'] == '') ? $_no_name : $vars['name']; *** pcomment.inc.php~ 2007-07-01 18:48:34.000000000 +0900 --- pcomment.inc.php 2007-07-01 18:49:12.000000000 +0900 *************** *** 51,56 **** --- 51,59 ---- if (! isset($vars['msg']) || $vars['msg'] == '') return array(); $refer = isset($vars['refer']) ? $vars['refer'] : ''; + check_kanamoji($vars['msg']); + check_url_rate($vars['msg']); + $retval = plugin_pcomment_insert(); if ($retval['collided']) { $vars['page'] = $refer; |