[1] [2]

2016年03月29日

「忍者ブログのプラグインの最新記事にNew!マーク」:自動で消えて、表示期間の変更も可能

今日は、忍者ブログの最新記事プラグインに表示される新着記事に、New!マークをつけるスクリプトのご紹介です。

忍者ブログの最新プラグインで表示される記事には、最新記事のタイトルとともに、(良く見ると)その下に記事が書かれた日付も表示されています。
が、”特に最後の記事が、どのくらい前に書かれたものなのかということが、直感的に分かりにくい”です。

基本的に、ここに表示されている記事は、正確には”最新記事”ではなくて、”そのブログで書かれた記事が、一番新しいものから順番に並んでいるもの”に過ぎません。
ということは…、「書きたてのフレッシュな記事!」とは限らず、ヘタをすると、「10数年前に書かれた、化石のような記事(?)」の可能性もあるわけです。【><】

ということで、”発信されたばかりの、本当に「フレッシュ」な記事のみに、New!マークをつける”スクリプトを、Javascriptでつくってみました。(^^)

 表示イメージ


それでは早速、そのやり方です。

1.プラグイン内の文字列の編集

まず、管理画面から、「プラグイン」をクリックします。
すると、あなたのブログで現在使用中のプラグインの一覧が表示されますので、その中から「最新記事」を探し、その右側にある「表示設定」をクリックします。
そうすると、「プラグインHTMLの変更」という窓が現れます。
その中に書かれたおまじないのような文字列を見ていくと、3行目に、

<a href="<!--$plugin_entry_link-->"><!--$plugin_entry_title--></a>

という箇所があります。

この行の最後に、以下の文字列を付け加えます。

<span class="nm">&nbsp;</span>

すると、こんな風になります(分かりやすくするために、赤く色をつけています)。

<a href="<!--$plugin_entry_link-->"><!--$plugin_entry_title--></a><span class="nm">&nbsp;</span>

そうしたら、これらのおまじない全体を一番下まで送り、以下のおまじない(スクリプト)をコピペ追加します。
<script type="text/javascript"><!--
//http://musingbuff.blog.shinobi.jp/
var t_arttim = '
<!--plugin_entry-->
<!--$plugin_entry_year-->,<!--$plugin_entry_mon-->,<!--$plugin_entry_day-->,<!--$plugin_entry_hour-->,
<!--/plugin_entry-->
0';
t_arttim = t_arttim.split(",");
t_elt = document.getElementsByTagName('span');
var t_today = new Date();
var t_t = 24;
var t_obj = '';
var t_c;
var t_fnd = 0;
for (i = 0; i < t_elt.length; i++) {
    t_obj = document.getElementsByTagName('span')[i];
    if (t_obj.className == 'nm') {
        t_c = new Date(t_arttim[t_fnd * 4] ,t_arttim[t_fnd * 4 + 1] - 1 ,t_arttim[t_fnd * 4 + 2] ,t_arttim[t_fnd * 4 + 3]);
        if (t_today - t_c < 3600000 * t_t)
            t_obj.innerHTML += 'New!';
        t_fnd++;
    }
}
--></script>

OKですか?
追加したら、「変更」ボタンを忘れずにクリックします。

2.CSSの編集

次に、CSSの編集です。

「PCテンプレート」をクリックし、現在使用中のテンプレート欄のの右側にある「修正」をクリックします。

すると、「CSS編集」という窓が現れますので、一番下に以下の3行を付け加えます。
.nm {
    font-weight:bold;
    color: red;
}

書き加えたら、画面上部中央にある「データ保存」ボタンをクリックするのを忘れずに。
以上で終了です。
どうもお疲れさまでした。(^^)

さてこれで、あなたが新しい記事を書くと、新着記事プラグイン内の、その記事タイトルの最後に、一定期間New!マークがつくようになります。

3.【応用編(カスタマイズ)】 New!マークの表示期間の変更、他

New!マークが表示されている期間(時間)は、初期設定で1日(24時間)となっています。
通常はこのままで問題ないと思いますが、この時間を変えたいときがあります。
もっと早く消したい! もっと長く表示したい! などです。

このような場合には、プラグイン内に追加したスクリプトの12行目にある「24」という数字を変更します。
好きな期間、マークを表示させることが可能です。
t_elt = document.getElementsByTagName('span');
var t_today = new Date();
var t_t = 24; ←ココ。
var t_obj = '';
var t_c;
var t_fnd = 0;

たとえば、New!マークを2日間表示させたいのならば「48」に、3日間表示させないのならば「72」に変更します。

また、New!マークは、現在テキスト文字で表示されていますが、画像に変えることもできます。
その場合には、スクリプトの下から5行目の、現在'New!となっている'部分に、お好きな画像をセットして下さい。

            t_obj.innerHTML += 'New!';
              ↓
            t_obj.innerHTML += '<img src="お好きな画像のURL" border="0" />';

なお、New!マークの色や大きさなどは、CSSをいじることによって変更が可能です。

あっ!(゚o゚)
最後に一言。
これらの改造を行なう前に、あらかじめ変更箇所のバックアップをとっておくことをお勧めいたします。
そして、改造は自己責任で。

2015年07月05日

「BlogPeople支援」:混雑時に登録リスト先へ直接ジャンプ

ここ「Super源さんの音楽ブログ」では、お気に入りブログの管理を「BlogPeople」で行なっています。
会員登録をして、自分の「お気に入りブログ」を登録しておくと、登録ブログに更新があった際に、リストの最上位に移動してくれたり、点滅して知らせてくれたりと便利なので、もう長らく使用させていただいています。

が、深夜等、ここのサーバーの反応がきわめて遅いことがあり、画面が固まるばかりでなく、まれながら目的のサイトにジャンプできないことさえあります。【><】
というのは、ジャンプは、BlogPeopleのサーバーを介して行なわれるからなのです。
サーバーが重いと、当然BlogPeople側のジャンプ処理にも時間がかかってしまいます。

ということで、今日は、そんな時にBlogPeopleのサーバーを介さずに、直接目的のサイトにジャンプできるようにするスクリプトをつくってみました。(^^)v

が、「BlogPeople」さまにはいつもお世話になっているので、常に「ご本尊」を無視してジャンプする仕様というのはどうかと思い(^^;、あくまで、「非常時・緊急時」といった位置づけで、ジャンプを行なう仕様とすることにしました。

ということでできたのが、以下のスクリプトです。
この機能を使用するためには、下のタグをBlogPeopleから取得したあなたのタグの直後に追加します。

<form>
<input type="button" value="》" onClick="dirjmp_on()">
</form>
<script language="JavaScript"><!--
//http://musingbuff.blog.shinobi.jp/
var target_adr = "http://www.blogpeople.net/l/";
function dirjmp_on() {
var addr;
var num;

for (var i = 0; document.links.length; i++) {
addr = document.links[i].href;
num = addr.indexOf(target_adr);
if (num != -1) {
addr = unescape(addr).replace("?u=","&r=");
addr = addr.split("&r=");
document.links[i].href = addr[1];
}
}
}
//--></script>

BlogPeopleのタグは以下のような感じになっているので、スクリプトをどこに挿入すればよいのか良く分からない方は、まずは探してみて下さいね。(^^)
<script language="javascript" type="text/javascript" src="http://www.blogpeople.net/display/usr/あなたの固有の番号.js" charset="Shift_JIS"></script>

さて、このスクリプトを張りつけると、お気に入りリストの下に”》”のボタンが現われるので、深夜など、お気に入りのサイトにジャンプしようとして反応が遅い時はこのボタンをクリックして下さい。
すると、登録リストの全URLが書き換えられ、直接訪問できるようになります。

また、このボタンに書かれた文字は、上記スクリプトの2行目の真ん中あたりにある"》"をお好きなものに書き換えることで変更可能です。

なお、このスクリプトを使用しても何も危険はないはずですが、ご使用前には念のためバックアップを取り、ご使用は自己責任で。

2012年10月25日

「SEO-P-Linkの改造」:カテゴリー数を自動修正

今日は、私の運営しているリンク集、「SEO-P-Link Ver.2.2」のカテゴリー数を自動的に修正する方法を書いてみたいと思います。

実は、このスクリプトは(も)改造しまくりなのですが、前回書きました「SEO-P-Linkの改造」:TOPに登録サイト総数を表示同様、これも公開しても支障がない、どころか便利であろうという判断で…。

「SEO-P-Link」は、使用している方にはお分かりと思いますが、「サイトの登録・削除」を繰り返していると、いつの間にかカテゴりー数が狂ってくる場合があります。
例えば、「音楽 (-1)」になったりとかですね。(^^;
そのため、確かver3.xxから、管理画面にこれを修正する機能がついています。

それならば、ver.3系にバージョンを上げれば終わりではないかと言われそうですが、ver.2系には、リンクチェックの軽快さという大きなメリットがあり、私にはこのバージョンもなかなか捨てがたいものがあるのです。

ということで、それでは早速改造法に行ってみたいと思います。

①以下のPHPスクリプトをコピペし、ファイル名 renewcatefile.php でデスクトップなどに保存します。

<?php
require_once('config.php');
$renew_data = array();
$cate_data = file(categoryfile);

$count1 = 0;
foreach ($cate_data as $value) {
 list($cate_name_j,$cate_url,$cate_item) = explode("\t",mb_convert_encoding($value,"SJIS","ASCII,JIS,UTF-8,EUC-JP,SJIS"));

 $list_data = file(listfile);
 $count2 = 0;
 foreach ($list_data as $value) {
  list($l_cate_url,$url,$name,$caption,$time,$user_pass,$host,$relinkURL) = explode("\t",mb_convert_encoding($value,"SJIS","ASCII,JIS,UTF-8,EUC-JP,SJIS"));
  if ($cate_url == $l_cate_url)
   $count2++;
 }

 $renew_data[$count1] = $cate_name_j."\t".$cate_url."\t".$count2."\t"."\n";
 $count1++;
}

$old_cate_name = str_replace("dat", "bak", categoryfile);
copy (categoryfile, $old_cate_name);
file_put_contents(categoryfile, $renew_data, LOCK_EX);
?>

②FTTP等でSEO-P-Linkをアップロードしたサーバーにアクセスし、上記のファイルを、seoplink内のsystemファルダ内にアップします。
③次に、template内にあるedit.phpを開き、その最下行に以下の一行を追加し、再アップロードします。

<?php require_once('system/renewcatefile.php'); ?>

改造はこれで終わりです。


さて、それではこのスクリプトの実行方法ですが、非常に簡単で、TOPページより「修正・削除」をクリックするだけです。
クリックすると、上記のスクリプトが自動的に実行され、カテゴリー数が正しいものに修正されます。
ちなみに、この仕様に関しては、TOPページの表示部分に組み込むと、リンク集にアクセスがある度に毎回実行されてしまい、また管理画面にわざわざ入ってメニュー画面から実行するようにするのは、(作るのも)修正するのも手間であろうという判断からこのようになりました。

というより、そもそもver.2.xxは旧バージョンのため、現在使用している方がどれだけいらっしゃるのか分からないのですが(^^;、便利なので本日ここにアップすることにいたしました。
もしもお役に立てば幸いです。(^^)

なお、この方法で改造可能な「SEO-P-Link」のバージョンは、ver.2.XXです。動作チェック及び実装は、ver.2.2で行なっていますが、ver.2系であれば、他でもおそらくOKだと思います。

注意点としては、改造前に必ずソースのバックアップを取り、自己責任で行なってください。


さて、この改造法を気に入られた方は、以下の自動リンクスクリプトのご使用も検討くださるとうれしいです。

自動相互リンクスクリプト、「SuperLink」

自分で言うのも何ですが、スゴく便利ですよ。(^^)

2012年10月12日

「忍者ブログのスパム対策強化」:コメント欄に認証機能を追加

このところ、このブログに海外からと思われるスパムコメントがポチポチとついています。
しかも、その内容は、音楽とはかけ離れたものばかりです(スパムだから当然か(^^;)。
「管理人の承認後に表示」を選択してあるので、それらのコメントが即表示されることはないのですが、いずれにしてもスパムコメントがつくというのは、あまり気持ちのいいものではありません。【><】

「画像承認機能」があると、それなりの効果は期待できるのですが、いかんせん忍者ブログにはこれがないのです。

そこで、これに代わるようなものが作れないものかと、考えてみました。
結果、頭の中で、以下のようなアイディア(仕様)がまとまりました。

1.コメント投稿欄の項目に、「認証キー」を追加する
2.認証キーは4桁の数とし、ページがロードされる度にランダムに生成される
2.「送信」ボタンは、最初はロックされた状態になっており、正しい認証キーが入力されると、ロックが解除されてコメント投稿が可能となる。

ということでできたのが、以下のjavascriptを使用したスパム対策強化ルーチンです。(^^)v

<tr>
<td class="CommentFormTh">認証キー</td>
<td class="CommentFormTd"><input class="CommentForms" name="key2" id="key2" size="4" onkeyup="check_key();">&nbsp;<span id="cmes">(投稿時 <font style="color:#dd0000;"><span id="otkey">&nbsp;</span></font> を入力してください)</span></td>
</tr>
<script language="JavaScript"><!--
//http://musingbuff.blog.shinobi.jp/
function check_key() {
pw = document.getElementById("key2").value;
if (pw == pword)
document.getElementById("btnn").disabled = false;
}
var pword = 1111;
pword = pword + Math.floor(Math.random () * 8888);
document.getElementById("otkey").innerHTML = pword;
//--></script>

さて、それではこのプログラムを実際に組み込んでみます。
管理画面の「テンプレートの設定」→「修正」とcllickすると、画面の左側に「HTML編集」という窓が現われるので、この窓内をclickし、上のプログラムをブログのHTMLに追加します。
追加位置は、ほぼ真ん中あたりです。

<!--if_cm_receipt-->
   .
   .
   .
この記事にコメントする
   .
   .
   .
ときて、さらにもう少し下を見ていくと、「コメント」...、「パスワード」そして「送信」という文字が現われてくると思います。
この「パスワード」と「送信」の間に、上記の内容をコピペします。


        <td class="CommentFormTh">コメント</td>
        <td class="CommentFormTd"><textarea class="CommentForms" name="comment" cols="40" rows="4"></textarea></td>
        </tr>
        <tr>
                <td class="CommentFormTh">パスワード</td>

                                <td class="CommentFormTd"><input class="CommentForms" type="password" name="pass">&nbsp;&nbsp;<!--$g_emoji_window--></td>
                          </tr>

<tr>
<td class="CommentFormTh">認証キー</td>
<td class="CommentFormTd"><input class="CommentForms" name="key2" id="key2" size="4" onkeyup="check_key();">&nbsp;<span id="cmes">(投稿時 <font style="color:#dd0000;"><span id="otkey">&nbsp;</span></font> を入力してください)</span></td>
</tr>
<script language="JavaScript"><!--
//http://musingbuff.blog.shinobi.jp/
function check_key() {
pw = document.getElementById("key2").value;
if (pw == pword)
document.getElementById("btnn").disabled = false;
}
var pword = 1111;
pword = pword + Math.floor(Math.random () * 8888);
document.getElementById("otkey").innerHTML = pword;
//--></script>


        <td colspan="2" class="CommentFormSubmit">
                 <input class="button" type="reset" value="リセット">&nbsp;&nbsp;<input type="submit" id="btnn" value=" 送信 " disabled>
        </td>
     </tr>


※上は、このブログに実際に組み込んだ様子で、分かりやすくするために挿入部分に色をつけています。

次に、「送信」ボタン部分のタグに、id=btnn" とdisabledを追加します。

<input type="submit"  value=" 送信 ">
         ↓
<input type="submit" id="btnn" value=" 送信 " disabled>

※赤字部分が追加箇所となります。


最後に、「CSS編集」窓内をclickし、CSSの編集です。
CSSの最後に以下を付け加えます。

#cmes {
font-size: 12px;   
}

2行目の数字を変えると、認証キーの表示をするカッコつき文字列の大きさを変えることができます。

以上で終了です。


なお、認証キーをテキストではなく、画像にしたいという方もいらっしゃるかと思います。
その場合には、javascript部分を以下のものに差し替えててください。

<script language="JavaScript"><!--
var numimg = new Array();
numimg[0] = '<img src="数字0の画像のURL" border="0" />';
numimg[1] = '<img src="数字1の画像のURL" border="0" />';
numimg[2] = '<img src="数字2の画像のURL" border="0" />';
numimg[3] = '<img src="数字3の画像のURL" border="0" />';
numimg[4] = '<img src="数字4の画像のURL" border="0" />';
numimg[5] = '<img src="数字5の画像のURL" border="0" />';
numimg[6] = '<img src="数字6の画像のURL" border="0" />';
numimg[7] = '<img src="数字7の画像のURL" border="0" />';
numimg[8] = '<img src="数字8の画像のURL" border="0" />';
numimg[9] = '<img src="数字9の画像のURL" border="0" />';

//http://musingbuff.blog.shinobi.jp/
function check_key() {
pw = document.getElementById("key2").value;
if (pw == pword)
document.getElementById("btnn").disabled = false;
}
pword = 0;
document.getElementById("otkey").innerHTML="";
for (i = 0; i < 4; i++) {
 pword  = pword * 10;
 num = Math.floor(Math.random () * 9);
 document.getElementById("otkey").innerHTML += numimg[num];
 pword +=num;
}
//--></script>

差し替えが終わりましたら、<img src~部分(10ヶ所)に0から9までの画像URLをセットして下さい。
数字画像は、各自ご用意いただくか、以下のものをそれぞれマウスの右clickにてお持ち帰り下さい。

 

これで、認証キーの数字が画像表示となります。


ちなみに、javascript部分は<head>内に書くとか、別ファイルにするとかの方法も考えられますが、今回は「一番簡単な方法」を選択しました。(^^;v
実際に改造した様子は、この記事のコメント欄でご確認下さい。


さてこれで、あなたの忍者ブログが、プログラムを使用した自動コメントスパムの書き込みに強くなるはずです。
もしよろしければご使用ください。

あっ!(゚o゚) この改造をされようと思ってらっしゃる方に、注意点が3つほどあります。

1この改造を施すと、javascriptがONになっていないと訪問者がコメントできなくなります(通常はそれで問題ないと思いますが)。
2.改造前に、必ずオリジナルHTMLのバックアップを取ってください。
3.そして、改造は自己責任で。

それでは、良いブログライフを!
って、どこかで聞いたような…。(爆)

2012年03月26日

「SEO-P-Linkの改造」:TOPに登録サイト総数を表示

今日は、というより今日も、音楽とは関係ありませんが、私の雑学事典の方にも設置しているリンク集、「SEO-P-Link」のトップページに、登録サイト総数を表示させる方法を書いてみたいと思います。

実は、このスクリプトは改造しまくりなのですが(爆)、これは公開しても支障がないだろうという判断で…。(^o^;

それでは早速行きます。

①/template/top.htmlをエディターで開きます。
②25行目あたりに以下のように書かれたブロックがあるので、探します。

&ltdiv class="title"&gt登録サイト募集中&lt/div&gt
&ltdiv class="content"&gt
&ltul class="cate"&gt
&lta href="regist.php"&gt新規ホームページ登録&lt/a&gt&lt/li&gt
&ltli&gt&lta href="edit.php"&gt修正・削除&lt/a&gt&lt/li&gt &lt/ul&gt
&lt/div&gt

③見つかったら、この中の3行目の&ltul class="cate"&gtと、4行目の&ltli&gt$lta href="regist.php"&gt新規ホームページ登録&lt/a&gt&lt/li&gtの間に、以下の7行を挿入します。

現在
&lt?php
$file = "data/list.dat";
$buf = file($file);
echo sizeof($buf);
?&gt
サイト様が登録中です。&ltbr /&gt

④以下のようになれば完成です。

&ltdiv class="title"&gt登録サイト募集中 &ltdiv class="content"&gt
&ltul class="cate"&gt
現在
&lt?php
$file = "data/list.dat";
$buf = file($file);
echo sizeof($buf);
?&gt
サイト様が登録中です。&ltbr /&gt
&ltli&gt新規ホームページ登録
&ltli&gt修正・削除
&lt/ul&gt
&lt/div&gt

※分かりやすくするために、色をつけています。

この方法で改造可能な「SEO-P-Link」のバージョンは、v3.0、v.3.1です。それ以降のバージョンもおそらくOKだと思いますが、試していないので分かりません。

注意点としては、改造前に必ずソースのバックアップを取り、自己責任で行なってください。


さて、この改造法を気に入られた方は、以下のスクリプトのご使用も検討くださるとうれしいです。

自動相互リンクスクリプト、「SuperLink」

自分で言うのも何ですが、スゴく便利ですよ。(^^)