NP_chat|スマイリーを追加

NP_chat|スマイリーを追加

Author : pushman|Nucleus|2005-09-18 Sun 16:56

僕が初めて作った人様のサイト「animation soup」では、ミニ掲示板に「NP_Chat」を使用させていただいています。スマイリーも使用できて大変楽しいのですが、「スマイリーを追加できますか?」とのご要望を受けてしまいました。「phpわかんねぇ〜」と思っていたのですが、やはりanimation soupさんが作るスマイリーを見たい〜! と思ったので頑張ってみました。

とはいってもどこどうしていいやら…と思いながらソースを眺めていたら、思いの外簡単にデフォルトのスマイリー表示機能を発見しました。98行目あたりにある「function init()」という関数で定義しています。

まず、このスマイリー表示機能ですが、書き込む際に任意のアイコンをクリックすると、そのアイコンではなく、アイコンに対応した文字列が記入されます。その文字列が「function init()」内にずらーっと配列(連想配列、ですよね?)として定義されています。例えば、「$smileys[:-D]」は「smiles/icon_biggrin.gif」という具合ですね。まあ詳細はわかりませんが「:-D」と入力されれば「smiles/icon_biggrin.gif」を表示しろということですね。定義方法は

$smileys = array(
	':-D' => 'smiles/icon_biggrin.gif',
	':P' => 'smiles/icon_razz.gif',
	':-)' => 'smiles/icon_smile.gif',
	':o' => 'smiles/icon_surprised.gif',
	';-)' => 'smiles/icon_wink.gif'
	':|' => 'smiles/icon_neutral.gif',
	':?' => 'smiles/icon_confused.gif',
	':-(' => 'smiles/icon_sad.gif',
	'8O' => 'smiles/icon_eek.gif',
	':x' => 'smiles/icon_mad.gif',
);

こんな感じです。ここに追加してもいいのでしょうが、追加分をはっきりさせるために自分で配列を定義しました。

$asoup = array(
	':kuri:' => 'asoup/donguri.gif',
	':ele:' => 'asoup/ele.gif',
	':idea:' => 'asoup/hakase.gif',
	':soup:' => 'asoup/nonsoup.gif',
	':denki:' => 'asoup/denki.gif',
);

こんな感じです。つまり、配列の値に対応する画像のURIを与えるだけです。

最後に

$this->smiley = array_merge($smileys0, $smileys, $smileys21, $asoup);

として、自分の定義した配列を登録すれば完成です。

Tag(s): NP_chat

[Nucleus] Next & Previous

Comment Form (policy)

(メールアドレスは非公開です)

Others
Newest 5 Items

NP_znItemFieldEXとNP_ifの連携

NP_znItemFieldEX|PHP 5で検索機能を有効にする

NP_GoogleMaps|最大ズームレベルを変更

NP_ImageExtractor|エラー修正

NP_ImageExtractor|画像を抽出するプラグイン

Web Service

Google Mapsで緯度と経度を測定

Nucleus CMS: Pure Publishing