e107の改造
日本語化ファイル
e107で遊ぼう屋で公開されているv.0.7.5用の日本語化ファイルに追記して、v.0.7.11用にしたものです。
e107.zip (2008/01/07版)
本家英語版のファイルと重複するファイルはないので、初めて導入する場合は、上記のファイルを解凍し、そのままアップロードするだけです。
news.phpをインデックスとしてアクセス
http://e107.tpot.tk/としてアクセスしても、http://e107.tpot.tk/news.phpと飛ばされてしまうが、そのままhttp://e107.tpot.tk/としてアクセスするための技。.htaccessに次のコードを入れる。
DirectoryIndex news.php
theme.phpの改行が削除されるのを回避する
- テーマのtheme.phpにGoogleの広告のコードを記述しても、改行が削除されて広告が表示されない。それを回避する。e107_themes/templetes/header_default.phpを開く。
if (!function_exists("parseheader")) { function parseheader($LAYOUT){ global $tp; $tmp = explode("\n", $LAYOUT); for ($c=0; $c < count($tmp); $c++) { if (preg_match("/{.+?}/", $tmp[$c])) { echo $tp -> parseTemplate($tmp[$c]); } else { echo $tmp[$c]; } } } }
を
if (!function_exists("parseheader")) { function parseheader($LAYOUT){ global $tp; $tmp = explode("\n", $LAYOUT); for ($c=0; $c < count($tmp); $c++) { if (preg_match("/{.+?}/", $tmp[$c])) { echo $tp -> parseTemplate($tmp[$c]); } else { echo $tmp[$c]."\n"; } } } }
とし、改行を加える。
サイドバーのコメントの表示をカスタマイズ
サイドバーにフォーラムのコメント一覧とニュースなどのコメント一覧を並べると、書式の違いが気になります。それを統一します。
- サイドバーのフォーラムのコメント一覧はテンプレートがありません。e107_plugin/forum/newforumpost_menu.phpの下の方に記述があります。
- それ以外のコメント一覧は、e107_plugin/comment_menu/comment_menu_templete.phpの上の方に記述があります。
- お好みに形式を変更してください。
サイドバーのコメントのユーザー名の更新に対応する
- コメントのユーザー名は書き込んだ時点での表示名なので、その後ユーザーが表示名を変更しても以前のままです。そこで、ユーザーIDからユーザー名を取得し、表示名で更新するようにしました。
- この直下に次のコードを追加します。
if($sql2 -> db_Select("user", "user_name", "user_id='".$comment_author_id."' ")) { $row2 = $sql2 -> db_Fetch(); $comment_author_name = ($row2['user_name'] ? $row2['user_name'] : $comment_author_name); }
FAQプラグインの不具合
FAQプラグイン(ver.4.2)で、コメントをつけると、該当するFAQではなく、違うFAQにコメントがついてしまいます。それを修正します。
- e107_plugins/faq/faq.phpを開きます。
- “// Actions”とコメントアウトしてある行を探します。
- $tmp[2]を$tmp[3]にします。(2を3にするだけ)
if (IsSet($_POST['commentsubmit'])) { $tmp = explode(".", e_QUERY); $faq_from = intval($tmp[0]); $action = "cat"; $idx = intval($tmp[2]); $pid = (IsSet($_POST['pid']) ? $_POST['pid'] : 0); $cobj->enter_comment($_POST['author_name'], $_POST['comment'], "faq", $idx, $pid, $_POST['subject']); $e107cache->clear("nq_faqtop_menu"); } // Actions +++++++++++++++++++++++++++++
FAQプラグインのコメントをサイドバーに
FAQプラグイン(ver.4.2)で、コメントをつけても、サイドバーのコメント一覧に表示されません。
- e107_handlers/comment_class.phpを開きます。
- function getCommentDataの「// '3' was FAQ」とコメントアウトしている行を探します。
- 処理内容を加えます。
case '3' : // FAQ if($sql2 -> db_Select("faq", "*", "faq_id='".$row['comment_item_id']."' ")) { $row2 = $sql2 -> db_Fetch(); $ret['comment_type'] = COMLAN_TYPE_3; $ret['comment_title'] = $tp -> toHTML($row2['faq_question'], TRUE,'emotes_off, no_make_clickable'); $ret['comment_url'] = e_BASE."e107_plugins/faq/faq.php?0.cat." .$row2['faq_parent'].".".$row['comment_item_id']; } break;
メールのタイトルが途中で途切れるのを防ぐ
e107から送信されるメールは、UTF-8で新しいメールソフトでは文字化けしません。ただし、タイトルが途中で欠けてしまします。
- e107_handlers/phpmailer/class.phpmailer.phpを開き、次の行を探す。
/** * Encode a header string to best of Q, B, quoted or none. * @access private * @return string */ function EncodeHeader ($str, $position = 'text') { $x = 0;
- 「function…」の行と次の「$x = 0;」の行の間に
if( $position == 'text' ) return mb_encode_mimeheader( mb_convert_encoding( $str , mb_internal_encoding() , 'auto' ),"UTF-8", "B", "\n" );
を挿入する。
ニュース投稿で'<'と'>'が変換されてしまう
記事の中で、'<'や'>'を説明するために'<'と'>'を使っても、再度編集しようと読み込むと'<'や'>'になってしまう。
- e107_admin/newspost.phpを開く
- 次の行を探す
$_POST['data'] = $tp->toForm($_POST['data']);
- その直下に
$_POST['data'] = str_replace(array("<", ">"), array("&lt;", "&gt;"), $_POST['data']);
を挿入。