PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

Nucleus3.15へバージョンアップ

3.15へバージョンアップするのに殆ど問題なく終わったのですが、以前のバージョンの時に書き換えていたコアファイルの内容を再度書き換えたりしました。備忘録としてメモしておきます。


バージョンアップしてサイトは普通に見れても、管理画面へ行こうとするとconfig.phpのパーミッションを444にしろと言うエラーが出ました。ウチはIISサーバーなのでパーミッションは変更できないので以下のように対処。
nucleus/libs/globalfunctions.php

$CONF['alertOnSecurityRisk'] = 1;
↓
$CONF['alertOnSecurityRisk'] = 0;

※今はIISサーバでないので不要。


nucleus/language/japanese_euc.phpの394行目と465行目あたり

define('_COMMENTFORM_COMMENT', 'コメント(タグ不可。URLは自動リンクされます)');
define('_MEMBERMAIL_MAIL',			'Maii or Name: ');

に文面を変更。


nucleus/libs/COMMENTS.phpの380行目あたり、Aタグにターゲット指定を追加し、コメント欄の名前部分にURLが入力された場合にリンク先を外部窓で開くように修正。

echo '<a href="'.$this->currentComment['userlinkraw'].'">'.$this->currentComment['user'].'</a>';
↓
echo '<a target="_blank" href="'.$this->currentComment['userlinkraw'].'">'.$this->currentComment['user'].'</a>';

nucleus/libs/COMMENT.php*1の127行目あたり、Aタグにターゲット指定を追加し、コメント本文の自動リンクも外部窓で開くように修正。また文字丸めを30文字から60文字に変更。

return $pre . '<a href="'.$linkedUrl.'">'.shorten($displayedUrl,30,'...').'</a>' . $post;
↓
return $pre . '<a target="_blank" href="'.$linkedUrl.'">'.shorten($displayedUrl,60,'...').'</a>' . $post;

※バージョン3.3ではCOMMENTACTIONS.phpに記述されている。


nucleus/forms/commentform-loggedin.template と commentform-notloggedin.template

<label for="nucleus_cf_body"><%text(_COMMENTFORM_COMMENT)%></label>:

の最後の:を外す。また、同ファイルのフォームボタンの前にBR追加。ついでにforms/membermailform-loggedin.templateとforms/membermailform-notloggedin.templateにもBR追加。


membermailform-notloggedin.templateのみ

<%text(_MEMBERMAIL_MAIL)%><input type="text" name="frommail" class="formfield" size="35" />

とsize=”35″を末尾に追加して、メール欄の幅を伸ばす。


nucleus/libs/COMMENTS.php

$comment['user'] = $mem->getDisplayName();
↓
$comment['user'] = $mem->getRealName(); 

これにより、コメント部分でリアルネームが表示される。
※バージョン3.3ではCOMMENTACTIONS.phpに記述されている。


nucleus/javascript/edit.js内のfunction ahrefThis()にて

var textpre = "<a href=¥"" + strHref + "¥">";
↓
var textpre = "<a href=¥"" + strHref + "¥" target=¥"_blank¥">";

これで外部リンクのタグが作れる。


nucleus/action.phpの76行目あたり
この記事を参考に修正すれば、コメント投稿後のジャンプ先の修正が可能。
※バージョン3.21では不要。


nucleus/forms/searchform.template

size="10" → size="25"

これで検索フォームの入力フィールドの横幅を変えられる。


nucleus/libs/ACTION.phpの102行目付近

//if (!isValidMailAddress($fromMail))
//doError(_ERROR_BADMAILADDRESS);

メールアドレスを記載しなくてもコメント可能にする。


nucleus/libs/ACTION.phpの147行目付近

//if (!$member->isLoggedIn() && (!isValidMailAddress(postVar('frommail'))))
//	return _ERROR_BADMAILADDRESS;

メールアドレスを記載しなくてもフォーム送信可能にする。


nucleus/libs/COMMENT.phpの最後

shorten($displayedUrl,30,'...')
↓
shorten($displayedUrl,65,'...')

コメントに書き込みされたURLのまるめを30文字から65文字に延長。


余談ですが、ソースの修正をするときにどのファイルなのか分からなくて該当箇所を探すのが大変、という場合にいい検索ソフトがJGREPです。Google デスクトップ検索もかなりの精度を誇るのですが、ある程度探したいものの範囲が分かっている場合なんかはJGREPの方がいいでしょう。
あと、二つのソースを見比べたい時にはNoEditerがいいでしょう。二つのファイルで違う行だけ色分けしてくれるのでかなり便利です。

  • 注1 : COMMENTの後にSがない違うファイルなので注意。

コメント

タイトルとURLをコピーしました