サイト概要登録サイトが削除された時、管理人にメールを送る改造

登録サイトが削除された時、管理人にメールを送る改造

Yomi-Searchでは登録サイトが削除された時、確かめる機能が有りません。
削除された時、管理人に直接メールが届けば確認が出来、便利です。これはその為の改造です。

Yomi-Searchのメールモジュールには、任意の文面のメールを送信できる、anyモードという利用方法が提供されています。
このanyモードを利用して、データが single モード(1回に1個のログだけ削除されるモード。この改造では管理用一括削除は対象外です。)で削除された場合に、そのサイトの概要をメール送信する方法を考えて見ます。

※注意点
当然ですが、sendmailが利用できるサーバーであり、現時点でYomi-Searchがメールを利用するように設定されている必要があります。少なくとも、sendmailのパスと、管理人のメールアドレスの設定は必須です。

■改造方法

ログデータが削除される場所は、 regist_ys.cgi の act_del 関数。そして、削除対象のログを発見する場所は、1162行目の

if($FORM{id} eq $Slog[0]){

このifブロックの中です。ここで、データの削除処理が行なわれています。
そこで、この処理の末尾付近、具体的には、1184,1185行目の次の内容の直後に、メール送信スクリプトを追加します。

$Cdel++;
$fl=1;

# 削除された時に管理人宛にメールを送信してみる。
if(!$Slog[9]) { $Slog[9] = $EST{admin_email}; } # email未記入の場合、Fromを管理者にしておく。

{
require "pl/mail_ys.cgi";
local ($Dhonbun);
$Dhonbun = "【対象サイト】\nID: $Slog[0]\nTITLE: $Slog[1]\nURL: $Slog[2]\n";
&mail($EST{admin_email},$Slog[9], "$EST{search_name}の登録サイトが削除されました","any","","","","","","",$Dhonbun);
}

追加後の状態は上のようになると思います。メールの文章は、$Dhonbunに文字列として代入しておきます。この時、$Slog[0〜15]のログ変数は対象サイトを読み取った直後なので、利用可能です。

試しに、上の通りの改造をすると。

件名:[サーチエンジンのタイトル]の登録サイトが削除されました。
---
【対象サイト】
ID: [対象サイトのID番号]
TITLE: [対象サイトのタイトル]
URL: [対象サイトのURL]
---

という簡単なメールが管理人のメールアドレス(環境設定で記入されているアドレス)宛に送付されます。


スポンサードリンク