Nucleus改造メモ

今回はリニューアルをする前にNucleusのバージョンアップ(v3.1→v3.24)をしたわけですが、何箇所かコアファイルをいじりました。今後バージョンアップをする際の参考として、改造した部分をメモしときます。Nucleusを使わない人は読み飛ばしてください。


アイテム編集画面のボタンの改造

アイテム編集画面にhtmlタグを挿入するボタンがあるのですが、使わないタグ(<i></i>とか)があるので、これを実際使うタグ(<blockquote></blockquote>とか)に置き換える。

nucleus/javascript/edit.jsの110行の

function boldThis(){ … }

以下、必要のないタグを挿入する関数は書き換える。

 

自分の書き込んだコメントの通知メールは送らない

コメントが書き込まれたときメールで通知する機能を使っていると、自分が書いたコメントまで通知が来てうっとうしいから、非メンバーのコメントのみメールで通知するように変更する。

nucleus/libs/COMMENTS.phpの324行目

if ($settings->getNotifyAddress() && $settings->notifyOnComment()) {

を以下に書き換える。

if (!($member->isLoggedIn()) && $settings->getNotifyAddress() && $settings->notifyOnComment()) {

 

メンバー名の表記の日本語化

管理者が書いたコメントの名前欄にはデフォルトでは英語の名前しか表示できないので、ここに日本語の名前を表示できるようにする。日本語名はメンバーの「本名」に登録する。

nucleus/libs/COMMENTS.phpの324行目

$comment[‘user’] = $mem->getDisplayName();

を以下に書き換える。

$comment[‘user’] = $mem->getRealName();

 

コメント投稿者のリンク先変更

管理者が書いたコメントのリンク先がメンバー詳細ページになっているので、リンク先をトップページにする。

nucleus/libs/COMMENTS.phpの331行目

$comment[‘userlinkraw’] = createLink(‘member’,array(‘memberid’ => $comment[‘memberid’],’name’ => $mem->getDisplayName(),’extra’ => $this->commentsObj->itemActions->linkparams));

を以下に書き換える。

$comment[‘userlinkraw’] = $mem->getURL();

 

タイトルのエンティティエンコードの無効化

デフォルトだと記事タイトルをブラウザのタイトルに設定すると、"&"が勝手に"&amp;"に変換されてしまうため、"&quot;"などをタイトルに含む記事を表示すると変になるので、これを直す。(ただ、これをやるとセキュリティ的にまずい?)

nucleus/libs/SKIN.phpの959行目

echo htmlspecialchars(strip_tags($item[‘title’]));

を以下に書き換える。

echo strip_tags($item[‘title’]);

あと、659行目の$itemtitleprev、678行目の$itemtitlenextのところもhtmlspecialcharsを外す。

 

img alt/titleのエンティティエンコードの無効化

nucleus/libs/BLOG.phpの1430行目

$vars[‘text’] = htmlspecialchars($text);

を以下に書き換える。

$vars[‘text’] = $text;

Related posts

コメント 停止中

sidebar_start