Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2006-10-02 02:04:43

kimitake
メンバー
From: かるふぉるにあ
登録日: 2004-12-10
投稿: 266
ウェブサイト

Re: コアにどんな改造してますか?

中にはコアをいじってるせいで、コアのアップデートがままならない、
なんて人もいるかと思うんですが、そもそもどんな部分(ファイル名やファンクション名)に
どんな機能を追加・修正してますか?

おぉ~これは!というのは積極的にコアに取り込めたらなぁと思ってます。
そうすればコアの独自改造部分が減って、将来アップデートするのが少しは
楽になるかもしれませんし。

ちなみに自分は以前、globalfunctions.php の createItemLink のところ改造してました。
Fancy で利用してるんですが、ブログごとに /item のところ変えたかったので。
でも今は元に戻してピュアなコア(sp3 はピュアなのか?8) )です。

オフライン

#2 2006-10-03 09:55:43

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: コアにどんな改造してますか?

SKIN.php の

	function parse_if($field, $name='', $value = '') {

を改造して

			case 'item':
				$condition = ($blog && $this->_ifItem($name,$value));
				break;

を追加、
関数 _ifItem() を

	function _ifItem($name = '', $value='') {
		global $manager, $itemid;

		// check item id
		if (($name == 'itemid') && ($value == $itemid))
			return $itemid;
		
		return false;
	}

みたいに作って、スキンに

<%if(item,itemid,88)%>
	<%item(mytemplate/top)%>
<%else%>
<%if(item,itemid,89)%>
	<%item(mytemplate/top)%>
<%else%>
	<%ItemNaviEX()%>
	<%item(mytemplate/item)%>
	<a id="c"></a>
	<%comments(mytemplate/item)%>
	<%commentform%>
	<a id="trackback"></a>
	<%TrackBack(list)%>
<%endif%>
<%endif%>
<%endif%>

にして、アイテムによってテンプレートを変更できるようにして使ってます

3.3 で <%if%> の拡張がプラグインで簡単にできるようになるんでしたっけ?

オフライン

#3 2006-10-03 13:04:46

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

http://kyms.ne.jp/item/69/catid/4
http://kyms.ne.jp/item/53/catid/4

自分自身は嶽花さんのカスタマイズを利用してますが、仕事や趣味で
導入するぶんには上記のようなカスタマイズを加えています。
英語圏のCMSを日本語化する場合、このパターンが多いような気が。

オフライン

#4 2006-10-03 13:26:56

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,210
ウェブサイト

Re: コアにどんな改造してますか?

kimitake さんの発言:

中にはコアをいじってるせいで、コアのアップデートがままならない、
なんて人もいるかと思うんですが、そもそもどんな部分(ファイル名やファンクション名)に
どんな機能を追加・修正してますか?

私はタカさんが昔書いていたifの拡張をしてたと思います。
ただ、3.2でできるようになったものもあったので、今は使ってない…かな?


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#5 2006-10-03 22:29:54

hsur
メンバー
From: 東京都
登録日: 2004-05-03
投稿: 230
ウェブサイト

Re: コアにどんな改造してますか?

僕の場合は以下の2つです。

globalfunctions.php
→ログイン失敗時にアクセス元のIPアドレスをログに記録する
SKIN.php
→NP_CacheのためのIf拡張

# ほかにもいじったような気がするけど、とりあえずMUSTなのはこれだけでしょうか。

オフライン

#6 2006-10-03 23:22:54

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,210
ウェブサイト

Re: コアにどんな改造してますか?

hsur さんの発言:

globalfunctions.php
→ログイン失敗時にアクセス元のIPアドレスをログに記録する

あ、これいいなぁ。
他のとこで、なんどもログインを試みる人がいて困ってるっていう記述を見たので、こういうプラグインはないっけ…って思ってたんです。


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#7 2006-10-04 02:02:38

kimitake
メンバー
From: かるふぉるにあ
登録日: 2004-12-10
投稿: 266
ウェブサイト

Re: コアにどんな改造してますか?

yama.kyms さんの発言:

http://kyms.ne.jp/item/69/catid/4
http://kyms.ne.jp/item/53/catid/4

これは知ってたので、3.3beta では少し admin.css(だっけ?)を変更してあります。
たぶん後者の方だけのような気がする。
色つけて少し見栄えよくする、ってのも対応したいですね。
殺風景すぎる。

オフライン

#8 2006-10-04 07:50:14

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

http://kyms.ne.jp/item/141/catid/4
ホントに色を着ける程度ですが、自分はこんなふうにしてます。

http : //www.itami.info/member/content/view/68/25/
作者さんがこのフォーラム見てらっしゃるかどうか分かりませんが、こんなのとかも。。


話変わりますが、
http : //*****.***/nucleus/index.php?action=blogsettings&blogid=1
ココの「チームの編集...」の存在が気付きにくいという話を時々聞きます。
同様に管理画面トップページの「Show all blogs」も分かりにくいです。

※16時18分追記
さらに少し手を加えたadmin.cssを添付しました


Attachments:
zip admincss.zip, Size: 2.13 KiB, Downloads: 362
gif admincss.gif, Size: 8.15 KiB, Downloads: 2,161

オフライン

#9 2006-10-04 23:10:54

hsur
メンバー
From: 東京都
登録日: 2004-05-03
投稿: 230
ウェブサイト

Re: コアにどんな改造してますか?

藤咲 さんの発言:
hsur さんの発言:

globalfunctions.php
→ログイン失敗時にアクセス元のIPアドレスをログに記録する

あ、これいいなぁ。
他のとこで、なんどもログインを試みる人がいて困ってるっていう記述を見たので、こういうプラグインはないっけ…って思ってたんです。

たぶん藤咲さんが見たトピックと同じものを見て改造したんだと思うんですが・・・・・改めてコアをよく見たら"LoginFailed"イベントがありますね。これを捕まえればすぐにプラグイン化できそうです。

ということで、このコア改造はかなり意味無い改造なのかも。

オフライン

#10 2006-10-05 09:11:24

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: コアにどんな改造してますか?

あれ、みなさん管理画面のcssやっぱりカスタマイズしているんですね?

v4構想の中に管理画面インターフェイスを柔軟に、ってのがあったんで敢えてリリースしていなかったんですが、私はプラグイン化して利用しています。
このトピックにぶら下げるのもどうかな?とも思うんですが、一応こんなんあるよ、って事で公開。

/plugins/admincss/add.css
に追加もしくは上書き指定したいブロックだけ書き込む戦法です。
単純にheadの最後にこのcssファイルを追加指定するだけの仕組みです。

脆弱性はないと思うんですが、誰か念のためチェックしてお答え下さい。
プラグインオプションで、このcss追加指定を有効/無効の切替ができます。(つまりは一時的に適用とか可能)

添付しているadd.cssはwikiの画面サンプルをキャプチャする目的でOsakaフォントのちっさい字を利用して、table幅の100%を解除する内容です。
普通の人は上のadmin.cssの中身とかに入れ替えるといいかもです。


Attachments:
zip NP_AdminCSS07.zip, Size: 1.06 KiB, Downloads: 430

nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#11 2006-10-05 11:33:02

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: コアにどんな改造してますか?

ちょっと毛色は違いますが、

globalfunctions.phpに

include($DIR_LIBS . 'debug.php'); /* ----- DEBUG FUNCTION ----- */

を追加してデバッグ用関数を追加してたりはします。
http://nucleus.datoka.jp/?itemid=216

プラグイン化して追い出したほうがラクなんだろうなと思いつつ、手が動いてないです・・


Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#12 2006-10-06 04:32:07

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: コアにどんな改造してますか?

スパム対策として、commentform-notloggedin.templateを次のものに入れ替えて使用しています。スパムロボットが javascript を理解したり、フォームの読み込みをせずにあてずっぽで POST してきたりすると意味ないんですが。
プラグイン化しようと思いつつ、後回しになってます。

<a id="nucleus_cf"></a>
<script type="text/javascript">
<!--
document.write(unescape('%3C%66%6F%72%6D %6D%65%74%68%6F%64%3D%22%70%6F%73%74%22 %61%63%74%69%6F%6E%3D%22%23%6E%75%63%6C%65%75%73%5F%63%66%22 %69%64%3D%22%43%6F%6D%6D%65%6E%74%46%6F%72%6D%22%3E'));
//-->
</script>
  <div class="commentform">

  	<%errordiv%>

<script type="text/javascript">
<!--
document.write(unescape('%3C%69%6E%70%75%74 %74%79%70%65%3D%22%68%69%64%64%65%6E%22 %6E%61%6D%65%3D%22%61%63%74%69%6F%6E%22 %76%61%6C%75%65%3D%22%61%64%64%63%6F%6D%6D%65%6E%74%22 %2F%3E'));
//-->
</script>
	<input type="hidden" name="url" value="<%formdata(destinationurl)%>" />
	<input type="hidden" name="itemid" value="<%itemid%>" />
	<label for="nucleus_cf_body"><%text(_COMMENTFORM_COMMENT)%></label>:
	<br />
	<textarea name="body" class="formfield" cols="40" rows="10" id="nucleus_cf_body"><%formdata(body)%></textarea>
	<br />
	<label for="nucleus_cf_name"><%text(_COMMENTFORM_NAME)%></label>: <input name="user" size="40" maxlength="40" value="<%formdata(user)%>" class="formfield" id="nucleus_cf_name" />
	<br />
	<label for="nucleus_cf_mail"><%text(_COMMENTFORM_MAIL)%></label>: <input name="userid" size="40" maxlength="60" value="<%formdata(userid)%>" class="formfield" id="nucleus_cf_mail" />

	<%callback(FormExtra,commentform-notloggedin)%>	
	
	<br />
	<input type="checkbox" value="1" name="remember" id="nucleus_cf_remember" <%formdata(rememberchecked)%> /><label for="nucleus_cf_remember"><%text(_COMMENTFORM_REMEMBER)%></label>
	<br />
<script type="text/javascript">
<!--
document.write(unescape('%3C%69%6E%70%75%74 %74%79%70%65%3D%22%73%75%62%6D%69%74%22 %76%61%6C%75%65%3D%22')+'<%text(_COMMENTFORM_SUBMIT)%>'+unescape('%22 %63%6C%61%73%73%3D%22%66%6F%72%6D%62%75%74%74%6F%6E%22 %2F%3E'));
//-->
</script>
  </div>
</form>

オフライン

#13 2006-10-19 23:44:03

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

http://japan.nucleuscms.org/wiki/plugin ... categories

あと、こちらで書かれている「<%if(subcategory)%>を使えるようにする」のハックと。

オフライン

#14 2006-10-20 17:52:37

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=2285">viewtopic.php?t=2285</a><!-- l -->
「後で追加」「タイムスタンプを更新」のチェックボックス。の件。

オフライン

#15 2006-10-20 18:43:38

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

http://blog.bitocean.net/item/40/catid/2
このようなTipsを見つけました。アイテム更新後の自動リロード。


<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=2231">viewtopic.php?t=2231</a><!-- l -->
アイテム一覧画面でコメント数を表示。

<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=2285">viewtopic.php?t=2285</a><!-- l -->
「後で追加」「タイムスタンプを更新」のチェックボックスのチェックし忘れ対策。


※上記の3つのハックを施したコアを当トピックで配布します。Nucleus 3.23対応。
「使いやすい!」と思えたら、もしよければ当トピックにて感想をお願いします。。


http://blog.bitocean.net/item/11/catid/2
標準のスキンでAtomにも対応しようのTips。

http://blog.bitocean.net/item/15/catid/2
RSSのテンプレート記述にindex.phpは不要では?のTips。

http://blog.bitocean.net/item/35/catid/2
うっかり二重投稿防止のTips。

<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=845">viewtopic.php?t=845</a><!-- l -->
Google推奨のスパム対策。

http://japan.nucleuscms.org/wiki/plugin ... categories
<%if(subcategory)%> を使えるようにするハック。

http://sakurafarm.happy.nu/item_1395.html
ping送信関係のxmlrpc.inc.phpの改造

オフライン

#16 2006-11-16 22:40:07

cat
Administrator
登録日: 2003-11-14
投稿: 291

Re: コアにどんな改造してますか?

うっかり二重投稿防止は、コアに入れてもらいたい機能だと思いました。
専用のエラーメッセージ用意したいなぁって気持ちから big_smile

オフライン

#17 2006-11-18 01:46:17

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?p=5826#5826">viewtopic.php?p=5826#5826</a><!-- l -->

MySQL4.1系で文字化け発生?

オフライン

#18 2006-11-19 03:55:21

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: コアにどんな改造してますか?

3.24にバージョンアップしたときに、やってたハックに気付いたのでメモ残しておきます。
(Kimitakeさん、3.24おつかれさまです)

ドメイン内にNucleusのシステムを導入し、サブドメインにブログ別に展開してる場合に
画像やCSSファイルがドメイン越えと判断されて、IE6のプライバシーレポート(目のアイコンのやつ)にごっそりひっかかります。
それをP3Pコンパクトポリシーを送信することで回避する方法。

globalfunctions.php 114行目あたりのヘッダー送出の部分を波括弧でくくって、
ヘッダー行を追加。

if (!headers_sent()) {
	header('Generator: Nucleus CMS ' . $nucleus['version']);
	header("P3P: CP='UNI CUR OUR'"); //_hack
}

参考:
http://nucleus.datoka.jp/?itemid=627


Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#19 2006-11-19 14:34:46

NKJG
メンバー
From: あなたのうしろ
登録日: 2005-03-28
投稿: 56
ウェブサイト

Re: コアにどんな改造してますか?

http://niku.suku.name/item/381にインストールされていないプラグインのソートを行うコードを書きました。

オフライン

#20 2006-11-29 09:51:58

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

http://pamgau.net/item/15
こちらで配布されている「SendPingRepair.zip」をベースにxmlrpc.incを少し編集してみました。

http://www.petit-power.com/archives/77_20051005.html
元ネタはこちらのZeRoさんのサイトの情報のようです。

http://sakurafarm.happy.nu/item_1395.html
今回はサクラキャンドルさんのサイトの情報を参考に該当部分を
mb_convert_encoding($val, $xmlrpc_defencoding, _CHARSET)に変更しました。

さらに、EUC版Nucleusに対応されているNP_SendPing7.1をベースとしてみました。
というわけで、当アーカイブにはNP_SendPingもオマケで入ってます。
(SendPingRepair.zipに同梱されているものはv7.0がベースのようです)

理屈が分かってないのに目視diffだけでまとめてるので、軽く試して何かあったら
すぐに元に戻せる人だけ興味があれば試してみてください。
(うまくいかずガッカリするかも。。 :oops: )

※ 残念ながらこれでも blogsearch.google.com/ping/RPC2 がうまく行かず。


Attachments:
zip testxmlrpc.zip, Size: 17.52 KiB, Downloads: 320

オフライン

#21 2006-12-03 13:46:41

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: コアにどんな改造してますか?

『NP_ToolbarButtons』で実装している event_PreToolbarParse() がコアにあればいいなと思います。これをコアで実装するには、PAGEFACTORY.php の292行目付近 parse_jsbuttonbar() 関数を次のようにします。

function parse_jsbuttonbar($extrabuttons = "") {
	global $CONF,$manager;
	$lbutton=$rbutton=$script='';
	$manager->notify('PreToolbarParse',array('lbutton' => &$lbutton, 'rbutton' => &$rbutton, 'script' => &$script));
	switch($CONF['DisableJsTools'])	{
		case "0":	
			echo '<div class="jsbuttonbar">';
				echo $lbutton;
				$this->_jsbutton('cut','cutThis()',_ADD_CUT_TT . " (Ctrl + X)");
				(略)
				if ($extrabuttons) {
					(略)
				} 
			echo $rbutton;					
			echo '</div>';
			echo $script;
			break;
		case "2":
			echo '<div class="jsbuttonbar">';
				echo $lbutton;
				$this->_jsbutton('bold',"boldThis()",'');
				(略)
				if ($extrabuttons) {
					(略)
				} 
			echo $rbutton;
			echo '</div>';
			echo $script;
			break;			
	}
}

オフライン

#22 2006-12-14 16:44:44

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

アイテム更新後の自動リロード。
アイテム一覧画面でコメント数を表示。
「後で追加」「タイムスタンプを更新」のチェックボックスのチェックし忘れ対策。
上記3つのハックをまとめました。v3.24対応です。
公式なものではなく私個人がまとめたものです。

うっかり二重投稿防止のハックを含めたものを以前に配布してましたが
プラグインでも対応できるようなので今回は外しました。
(アプローチは違いますが)

オフライン

#23 2006-12-18 15:23:28

mekyo
メンバー
登録日: 2005-11-22
投稿: 80

Re: コアにどんな改造してますか?

テンプレートの取り込みで
2バイトを含むと
utf8環境以外でインポートすると壊れることがあります

ということで

skinie.php
126行目
の読み込み終了時のあたりで文字コードをUTF8変換

getCharacterData() あたりで
文字コード変換を入れ
適切なものに戻す

という感じで
任意->utf8->現在の文字コード
になるように変更を加えています。

オフライン

#24 2006-12-26 13:54:49

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

スキン変数<%commentform%>で表示されるコメントフォームの
「コメント:」は不要では。と思ってます。スキンに直接書くほうが融通きくので。

オフライン

#25 2007-02-06 12:27:55

yama
Administrator
登録日: 2005-07-07
投稿: 1,269
ウェブサイト

Re: コアにどんな改造してますか?

<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=2761">viewtopic.php?t=2761</a><!-- l -->
コア改造寄せ集めを上記トピに移動しました。

オフライン

Board footer