NP_znSmiley(Nucleus CMS)
環境はxrea
PHP(4.4.8)
MySQL(4.0.26(4.0.27))
Nucleus(v3.41)
NP_znSmiley(1.15)
楽しそうなので導入してみました。
*icon_dir*(osCからぱくった)や、*icon_doc*を作成して、「おおお。いい感じじゃない」ということで導入完了。
スマイリーアイコンも可愛くて、GIFアニメになってるのなんかをみると「あー昔、必死になって作ったなぁー」としみじみ(検索するとまだ生きてます):oops:
でもここで、スマイリーアイコンのパスをチェックしてあらら。
せっかくリネームしたアドミンディレクトリ丸見せじゃない。。。ってことで、
*icon_dir*semoticonsをpublic_html直下に新設した*icon_dir*imagesに追い出してみました。
1) config.phpにてグローバルな変数を新設。
2) nucleus/plugins/NP_znSmiley.phpの
function install():93行目~及び、
function event_PostPluginOptionsUpdate($data):238行目~にて、
2-1) config.phpで新設した変数を追加参照。
2-2) emoticons/add_set.incのパスを変更。
3) nucleus/plugins/NP_znSmiley.phpの
function array_set():346行目~にて、
3-1) nucleusグローバル・オプションのIndexURLを使用。
3-2) emoticons/のパスを変更。
4) nucleus/plugins/NP_znSmiley.php
function znSmileyForm():477行目~にて、
4-1) nucleusグローバル・オプション*1 のIndexURLを使用。
4-2) znsmiley/close.gif,load.gif,open.gifのパスを変更(none.gifは使ってないみたい)。
5) nucleus/plugins/znsmiley/index.phpの
function action_overview($msg = ''):21行目~及び、
function action_sdelete():130行目~にて、emoticons/のパスを変更。
6) パスを変更したディレクトリ及び、ファイルを適所に移動。
*icon_dir* public_html
├ *icon_dir* images
│ ├ *icon_dir* emoticons
│ │ └ アイコンセットと*icon_doc* add_set.inc
│ └ *icon_dir* znsmiley
│ └ close.gif,load.gif,open.gif,none.gif
└ *icon_dir* nucleus
└ *icon_dir* plugins
└ *icon_dir* znsmiley
└ ボタンセット以外は残す。
以上です。
グローバルオプションを新設(例えば$CONF['ImageURL'])すれば、もっとスマートにパスを通せそうですが、
拡張方法がプラグインで・・・なnucleusには、コアへ直接手を入れるのはNGなのかも(*icon_doc*config.phpを触っていながらなんですが)。
PHP(4.4.8)
MySQL(4.0.26(4.0.27))
Nucleus(v3.41)
NP_znSmiley(1.15)
楽しそうなので導入してみました。
*icon_dir*(osCからぱくった)や、*icon_doc*を作成して、「おおお。いい感じじゃない」ということで導入完了。
スマイリーアイコンも可愛くて、GIFアニメになってるのなんかをみると「あー昔、必死になって作ったなぁー」としみじみ(検索するとまだ生きてます):oops:
でもここで、スマイリーアイコンのパスをチェックしてあらら。
せっかくリネームしたアドミンディレクトリ丸見せじゃない。。。ってことで、
*icon_dir*semoticonsをpublic_html直下に新設した*icon_dir*imagesに追い出してみました。
1) config.phpにてグローバルな変数を新設。
// path to images dir
$DIR_IMAGES = '/Home/MyName/public_html/images/';
2) nucleus/plugins/NP_znSmiley.phpの
function install():93行目~及び、
function event_PostPluginOptionsUpdate($data):238行目~にて、
2-1) config.phpで新設した変数を追加参照。
global $DIR_PLUGINS,$DIR_IMAGES;
2-2) emoticons/add_set.incのパスを変更。
include $DIR_IMAGES."emoticons/add_set.inc"; //$add_set = array();
3) nucleus/plugins/NP_znSmiley.phpの
function array_set():346行目~にて、
3-1) nucleusグローバル・オプションのIndexURLを使用。
$indexURL = $CONF['IndexURL'];
3-2) emoticons/のパスを変更。
$this->replace[] = '<img src="'.$indexURL.'images/emoticons/'.preg_replace('/[\'"]/', '', $img).'" alt="'.preg_replace('/[\'"]/', '', $str).'" class="znsm_img" />';
4) nucleus/plugins/NP_znSmiley.php
function znSmileyForm():477行目~にて、
4-1) nucleusグローバル・オプション*1 のIndexURLを使用。
$indexURL = $CONF['IndexURL'];
4-2) znsmiley/close.gif,load.gif,open.gifのパスを変更(none.gifは使ってないみたい)。
$forHtml_preview .= '<span id="znsmiley_load" style="display: none"><img src="'.$indexURL.'images/znsmiley/load.gif" class="znsm_img" alt="loading" /></span>'."\n";
$forHtml_open .= '<img src="'.$indexURL.'images/znsmiley/open.gif" class="znsm_img" />';
$forHtml_open .= '<img src="'.$indexURL.'images/znsmiley/close.gif" class="znsm_img" />';
5) nucleus/plugins/znsmiley/index.phpの
function action_overview($msg = ''):21行目~及び、
function action_sdelete():130行目~にて、emoticons/のパスを変更。
<td><img src="<?php echo $CONF['IndexURL'].'images/emoticons/'.$img; ?>" /> <?php echo $img; ?></td>
<p><?php echo ""._ZNSM38.""; ?> <img src="<?php echo $CONF['IndexURL'].'images/emoticons/'.htmlspecialchars($row['simg'], ENT_QUOTES); ?>" /></p>
6) パスを変更したディレクトリ及び、ファイルを適所に移動。
*icon_dir* public_html
├ *icon_dir* images
│ ├ *icon_dir* emoticons
│ │ └ アイコンセットと*icon_doc* add_set.inc
│ └ *icon_dir* znsmiley
│ └ close.gif,load.gif,open.gif,none.gif
└ *icon_dir* nucleus
└ *icon_dir* plugins
└ *icon_dir* znsmiley
└ ボタンセット以外は残す。
以上です。
グローバルオプションを新設(例えば$CONF['ImageURL'])すれば、もっとスマートにパスを通せそうですが、
拡張方法がプラグインで・・・なnucleusには、コアへ直接手を入れるのはNGなのかも(*icon_doc*config.phpを触っていながらなんですが)。
[PR] 全てが規格外!しかも1年間の全額返金保証!! [PR]
NP_znSmiley.phpのfunction event_FormExtra($data)内にて、
global $blogid;
if ($this->thisplugEnabled($blogid)) $this->znSmileyForm();
を
/*global $blogid;//コメントフォームに対して非表示。
if ($this->thisplugEnabled($blogid)) $this->znSmileyForm();*/
とするとよし。