Mercurial > epgrec.yaz
annotate recorder.php @ 164:254d8a21bf36
fix: ???????????recomplete.php?????????
| author | Sushi-k <epgrec@park.mda.or.jp> |
|---|---|
| date | Tue, 06 Apr 2010 11:03:45 +0900 |
| parents | b3095425e613 |
| children | 68f6b36e7c01 |
| rev | line source |
|---|---|
|
153
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
1 #!/usr/bin/php |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
2 <?php |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
3 $script_path = dirname( __FILE__ ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
4 chdir( $script_path ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
5 include_once( $script_path . '/config.php'); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
6 include_once( INSTALL_PATH . "/DBRecord.class.php" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
7 include_once( INSTALL_PATH . "/Settings.class.php" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
8 include_once( INSTALL_PATH . "/recLog.inc.php" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
9 include_once( INSTALL_PATH . "/reclib.php" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
10 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
11 // 後方互換性 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
12 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
13 if( ! defined( RECORDER_CMD ) ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
14 define( "RECORDER_CMD", INSTALL_PATH . "/recorder.php" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
15 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
16 |
|
161
84220382fea8
mod: ?????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
153
diff
changeset
|
17 $settings = Settings::factory(); |
|
84220382fea8
mod: ?????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
153
diff
changeset
|
18 $reserve_id = $argv[1]; |
|
84220382fea8
mod: ?????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
153
diff
changeset
|
19 $msgh_r = null; // 受信用メッセージハンドラ |
|
84220382fea8
mod: ?????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
153
diff
changeset
|
20 $msgh_w = null; // 送信用メッセージハンドラ |
|
84220382fea8
mod: ?????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
153
diff
changeset
|
21 |
|
153
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
22 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
23 // ノンブロッキングメッセージ受信 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
24 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
25 function epgrec_get_message() { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
26 global $msgh_r, $reserve_id; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
27 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
28 $r = msg_receive($msgh_r, (int)$reserve_id , $msgtype, 1024, $message, TRUE, MSG_IPC_NOWAIT | MSG_NOERROR); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
29 if( $r ) return $message; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
30 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
31 return null; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
32 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
33 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
34 // メッセージ送信 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
35 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
36 function epgrec_send_message( $msg ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
37 global $msgh_w, $reserve_id; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
38 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
39 msg_send( $msgh_w, (int)$reserve_id, $msg ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
40 sleep(1); // 相手が受信してくれそうな時間だけ待つ |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
41 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
42 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
43 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
44 function epgrec_exec( $cmd ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
45 $descspec = array( |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
46 0 => array( 'file','/dev/null','r' ), |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
47 1 => array( 'file','/dev/null','w' ), |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
48 2 => array( 'file','/dev/null','w' ), |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
49 ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
50 $p = proc_open( $cmd, $descspec, $pipes ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
51 if( is_resource( $p ) ) return $p; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
52 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
53 return false; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
54 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
55 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
56 // 指定したプロセスハンドルが生成した子プロセスのpidリストを返す |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
57 // こういうやり方しかないのか? |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
58 // |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
59 function epgrec_childproc( $p ) |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
60 { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
61 $st = proc_get_status( $p ); |
|
161
84220382fea8
mod: ?????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
153
diff
changeset
|
62 $ppid = $st['pid']; |
|
153
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
63 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
64 // ps を実行する |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
65 $d = array( |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
66 0 => array( 'file','/dev/null','r' ), |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
67 1 => array( 'pipe','w' ), |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
68 2 => array( 'file','/dev/null','w' ), |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
69 ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
70 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
71 $ps = proc_open( "/bin/ps -o pid,ppid -ax" , $d, $pipes ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
72 do { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
73 $st = proc_get_status( $ps ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
74 }while( $st['running'] ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
75 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
76 // 標準出力を読む |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
77 $cpids = array(); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
78 while( ! feof( $pipes[1] ) ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
79 $line = fgets( $pipes[1] ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
80 $pids = preg_split( "/[\s]+/", $line ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
81 if( $pids[1] == $ppid ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
82 array_push( $cpids, $pids[0] ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
83 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
84 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
85 fclose( $pipes[1] ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
86 proc_close( $ps ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
87 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
88 return $cpids; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
89 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
90 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
91 // 指定したプロセスハンドルを子プロセスを含め終了させる |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
92 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
93 function epgrec_termproc( $p ) |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
94 { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
95 $cpids = epgrec_childproc( $p ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
96 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
97 @proc_terminate( $p ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
98 sleep(1); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
99 @proc_terminate( $p ); // 2度送る |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
100 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
101 foreach( $cpids as $cpid ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
102 @posix_kill( $cpid, SIGTERM ); // sigterm |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
103 usleep(100); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
104 @posix_kill( $cpid, SIGKILL ); // sigkill |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
105 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
106 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
107 return true; // 保証できない |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
108 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
109 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
110 ////// ここから本編 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
111 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
112 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
113 // メッセージハンドラを得る |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
114 $ipc_key = ftok( RECORDER_CMD, "R" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
115 $msgh_r = msg_get_queue( $ipc_key ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
116 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
117 $ipc_key = ftok( RECORDER_CMD, "W" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
118 $msgh_w = msg_get_queue( $ipc_key ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
119 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
120 try{ |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
121 $rrec = new DBRecord( RESERVE_TBL, "id" , $reserve_id ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
122 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
123 // 時刻を得る |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
124 $starttime = toTimestamp($rrec->starttime); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
125 $endtime = toTimestamp($rrec->endtime); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
126 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
127 if( time() > $starttime ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
128 // 過去の録画予約 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
129 $rrec->complete = 1; // 終わったことにする |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
130 throw new RecException("recorder:: なぜか過去の録画予約が実行された", EPGREC_ERROR ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
131 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
132 reclog("recorder:: 録画ID".$rrec->id .":".$rrec->type.$rrec->channel.$rrec->title."の録画ジョブ開始" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
133 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
134 // 録画開始まで待つ |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
135 while( time() < $starttime ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
136 if( ($message = epgrec_get_message() ) != null ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
137 switch( $message ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
138 case "terminate": // 終了指示 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
139 epgrec_send_message("success"); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
140 $rrec->complete = 1; // 終わったことにする |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
141 throw new RecException("recorder:: 録画ID".$rrec->id .":".$rrec->type.$rrec->channel.$rrec->title."の録画が中断された" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
142 break; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
143 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
144 case "stat": |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
145 epgrec_send_message("alive"); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
146 break; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
147 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
148 default: |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
149 break; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
150 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
151 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
152 usleep( 50 * 1000 ); // 50ミリ秒待つ |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
153 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
154 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
155 // 録画開始 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
156 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
157 $proch = false; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
158 if( ( $proch = epgrec_exec(DO_RECORD) ) !== false ) { |
|
163
b3095425e613
fix: ????EPG???????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
161
diff
changeset
|
159 reclog("recorder:: 録画ID".$rrec->id .":".$rrec->type.$rrec->channel.$rrec->title."の録画開始" ); |
|
153
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
160 // 録画完了待ち |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
161 $rec_cont = true; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
162 while( $rec_cont ){ |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
163 $st = proc_get_status($proch); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
164 if(! $st['running'] ) $rec_cont = false; // 録画完了 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
165 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
166 if( ($message = epgrec_get_message() ) != null ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
167 switch( $message ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
168 case "terminate": // 終了指示 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
169 if( epgrec_termproc( $proch ) == false ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
170 epgrec_send_message("error"); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
171 reclog( "録画コマンドを停止できません", EPGREC_WARN ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
172 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
173 else { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
174 epgrec_send_message("success"); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
175 reclog("recorder:: 録画ID".$rrec->id .":".$rrec->type.$rrec->channel.$rrec->title."の録画が中断された" ); |
|
161
84220382fea8
mod: ?????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
153
diff
changeset
|
176 $rec_cont = false; |
|
153
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
177 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
178 break; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
179 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
180 case "stat": |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
181 epgrec_send_message("alive"); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
182 break; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
183 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
184 default: |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
185 break; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
186 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
187 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
188 sleep(1); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
189 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
190 proc_close( $proch ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
191 $proch = false; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
192 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
193 else { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
194 $rrec->complete = 1; // 終わったことにする |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
195 throw new RecException("recorder:: 録画コマンドの実行に失敗した", EPGREC_ERROR ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
196 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
197 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
198 // 予定より短いようなら終了時間を現在に書き換える |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
199 if( time() < $endtime ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
200 $rrec->endtime = toDatetime( time() ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
201 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
202 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
203 // 完了フラグを立てておく |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
204 $rrec->complete = '1'; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
205 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
206 // ちょっと待った方が確実っぽい |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
207 sleep(15); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
208 @exec("sync"); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
209 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
210 if( file_exists( INSTALL_PATH .$settings->spool . "/". $rrec->path ) ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
211 // 予約完了 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
212 reclog( "recorder:: 予約ID". $rrec->id .":".$rrec->type.$rrec->channel.$rrec->title."の録画終了" ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
213 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
214 // サムネール作成 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
215 if( $settings->use_thumbs == 1 ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
216 $gen_thumbnail = INSTALL_PATH."/gen-thumbnail.sh"; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
217 if( defined("GEN_THUMBNAIL") ) |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
218 $gen_thumbnail = GEN_THUMBNAIL; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
219 @exec($gen_thumbnail); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
220 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
221 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
222 if( $settings->mediatomb_update == 1 ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
223 $dbh = mysql_connect( $settings->db_host, $settings->db_user, $settings->db_pass ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
224 if( $dbh !== false ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
225 $sqlstr = "use ".$settings->db_name; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
226 @mysql_query( $sqlstr ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
227 // 別にやらなくてもいいが |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
228 $sqlstr = "set NAME utf8"; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
229 @mysql_query( $sqlstr ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
230 $sqlstr = "update mt_cds_object set metadata='dc:description=".mysql_real_escape_string($rrec->description)."&epgrec:id=".$reserve_id."' where dc_title='".$rrec->path."'"; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
231 @mysql_query( $sqlstr ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
232 $sqlstr = "update mt_cds_object set dc_title='".mysql_real_escape_string($rrec->title)."(".date("Y/m/d").")' where dc_title='".$rrec->path."'"; |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
233 @mysql_query( $sqlstr ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
234 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
235 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
236 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
237 else { // 予約失敗 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
238 reclog( "recomplete:: 予約ID". $rrec->id .":".$rrec->type.$rrec->channel.$rrec->title."の録画に失敗した模様", EPGREC_ERROR ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
239 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
240 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
241 catch( Exception $e ) { |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
242 reclog( "recorder:: ".$e->getMessage(), $e->getLevel() ); |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
243 } |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
244 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
245 msg_remove_queue( $msgh_r ); // メッセージハンドラ開放 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
246 msg_remove_queue( $msgh_w ); // メッセージハンドラ開放 |
|
4099ae0393eb
mod: do-record.sh????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
diff
changeset
|
247 ?> |
