【メール予約録画】
2005/04/03 リリース版
http://gochagocha.ribbon.to/
最新版は
http://gochagocha.ribbon.to/perl/
にあります
本プログラムはフリーソフトウェアーです。使用するには以下の使用許諾事項をお守りください
1.商用目的に使用してはいけません
2.著作権を削除して使用してはいけません
3.著作権を削除して2次創作物を作成する、又は2次配布を行ってはいけません
使用方法
1)まずは php を使えるサーバを用意しましょう。
2)初期設定で、MAIL_SENDADDR,MAIL_ADDR,RESERVE_PASSWD、そしてVIEW_SET_CHANNELを設定してください。
3)拡張子を php に変更して設置しましょう
4)終わりです
*/
// [初期設定]
//メール予約を送信するメールアドレス
define( "MAIL_SENDADDR" , 'your_send@address' );
//メール予約を受信するメールアドレス
define( "MAIL_ADDR" , 'your_mail@address' );
//メール予約用のパスワード
define( "RESERVE_PASSWD" , 'passwd' );
//チャンネル
//自分の地域のチャンネルをカンマ区切りで設定する
//チャンネル数(地上波):1〜64
//BS: BS1,BS3,BS5,BS7,BS9,BS11,BS13,BS15
//ライン入力: L1,L2,L3
//それ以外を入力しても大丈夫だけど、録画出来ないよ
define( "VIEW_SET_CHANNEL" , '2,4,6,8,10,12,19,34,36,BS7,BS11,L1,L2,L3' ); //デフォルトは大阪
main();
function main(){
if( isset( $_POST[ 'res_year' ] )){
$_msg = check_post();
}
view_html( $_msg );
}
function check_post(){
$_year = $_POST[ 'res_year' ];
$_year = preg_replace( '|[^0-9]|' , '' , $_year );
if( strlen( $_year ) != 4 || $_year < 2005 || $_year > 2030 ){
return '開始年にエラーがあります';
}
$_month = $_POST[ 'res_month' ];
$_month = preg_replace( '|[^0-9]|' , '' , $_month );
if( strlen( $_month ) != 2 || $_month == 0 || $_month > 12 ){
return '開始月にエラーがあります';
}
$_day = $_POST[ 'res_day' ];
$_day = preg_replace( '|[^0-9]|' , '' , $_day );
if( strlen( $_day ) != 2 || $_day == 0 || $_day > 31 ){
return '開始日にエラーがあります';
}
$_start_hour = $_POST[ 'start_h' ];
$_start_hour = preg_replace( '|[^0-9]|' , '' , $_start_hour );
if( strlen( $_start_hour ) != 2 || $_start_hour > 23 ){
return '開始時間にエラーがあります';
}
$_start_min = $_POST[ 'start_m' ];
$_start_min = preg_replace( '|[^0-9]|' , '' , $_start_min );
if( strlen( $_start_min ) != 2 || $_start_min > 59 ){
return '開始時間(分)にエラーがあります';
}
$_end_hour = $_POST[ 'end_h' ];
$_end_hour = preg_replace( '|[^0-9]|' , '' , $_end_hour );
if( strlen( $_end_hour ) != 2 || $_end_hour > 23 ){
return '終了時間にエラーがあります';
}
$_end_min = $_POST[ 'end_m' ];
$_end_min = preg_replace( '|[^0-9]|' , '' , $_end_min );
if( strlen( $_end_min ) != 2 || $_end_min > 59 ){
return '終了時間(分)にエラーがあります';
}
$_channel = $_POST[ 'ch' ];
if( !preg_match( '/^([1-9][0-9]?|BS[13579][135]?|L[1-3])$/' , $_channel )){
return 'チャンネル設定にエラーがあります';
}
$_reserve_name = $_POST[ 'rsv' ];
if( strlen( $_reserve_name ) > 80 ){
return '予約の文字列は 80 文字以内でなければなりません';
}
if( isset( $_POST[ 'exsetting' ] )){
}
send_reserve_mail( $_year . $_month . $_day , $_start_hour . $_start_min , $_end_hour . $_end_min , $_channel );
return 'メールを送信しました';
}
function send_reserve_mail( $_res_day , $_res_start , $_res_end , $_channel ){
$_send_msg = 'open ' . RESERVE_PASSWD . " prog add $_res_day $_res_start $_res_end $_channel";
if( isset( $_POST[ 'exsetting' ] )){
if( isset( $_POST[ 'v' ] )) $_send_msg .= ' ' . $_POST[ 'v' ];
if( isset( $_POST[ 'a' ] )) $_send_msg .= ' ' . $_POST[ 'a' ];
if( isset( $_POST[ 'r' ] )) $_send_msg .= ' ' . $_POST[ 'r' ];
if( isset( $_POST[ 's' ] )) $_send_msg .= ' ' . $_POST[ 's' ];
if( isset( $_POST[ 'd' ] )) $_send_msg .= ' ' . $_POST[ 'd' ];
if( isset( $_POST[ 'p' ] )) $_send_msg .= ' ' . $_POST[ 'p' ];
if( isset( $_POST[ 'h' ] )) $_send_msg .= ' ' . $_POST[ 'h' ];
if( isset( $_POST[ 'c' ] )) $_send_msg .= ' ' . $_POST[ 'c' ];
if( isset( $_POST[ 'l' ] )) $_send_msg .= ' ' . $_POST[ 'l' ];
if( isset( $_POST[ 'cd' ] )) $_send_msg .= ' ' . $_POST[ 'cd' ];
if( isset( $_POST[ 'ca' ] )) $_send_msg .= ' ' . $_POST[ 'ca' ];
}
$_send_msg .= "\n" . stripslashes( $_POST[ 'rsv' ] ) . "\n";
@mail( MAIL_ADDR , NULL , $_send_msg , 'From: ' . MAIL_SENDADDR );
}
function view_html( $_msg = NULL ){
$_date_year = date( "Y" , time() );
if( isset( $_POST[ 'res_year' ] )) $_date_year = $_POST[ 'res_year' ];
$_date_m = date( "m" , time() );
if( isset( $_POST[ 'res_month' ] )) $_date_m = $_POST[ 'res_month' ];
$_date_d = date( "d" , time() );
if( isset( $_POST[ 'res_day' ] )) $_date_d = $_POST[ 'res_day' ];
$_date_h = date( "H" , time() );
$_date_start_h = $_date_h;
if( isset( $_POST[ 'start_h' ] )) $_date_start_h = $_POST[ 'start_h' ];
$_date_end_h = $_date_h;
if( isset( $_POST[ 'end_h' ] )) $_date_end_h = $_POST[ 'end_h' ];
$_date_min = date( "i" , time() );
$_date_start_min = $_date_min;
if( isset( $_POST[ 'start_m' ] )) $_date_start_min = $_POST[ 'start_m' ];
$_date_end_min = $_date_min;
if( isset( $_POST[ 'end_m' ] )) $_date_end_min = $_POST[ 'end_m' ];
$_date_min = date( "i" , time() );
print '' . $_msg . '
' . "\n";
print '
東芝製 ハードディスク DVD レコーダ用の予約メール送信スクリプト Copyright(c) 2005 Yuumi