Mercurial > epgrec.yaz
annotate getepg.php @ 118:db185340a981
utf8 collate try1
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sun, 14 Mar 2010 20:16:04 +0900 |
parents | b3ba2658a228 |
children | 4afd353b4507 |
rev | line source |
---|---|
1 | 1 #!/usr/bin/php |
2 <?php | |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
3 $script_path = dirname( __FILE__ ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
4 chdir( $script_path ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
5 include_once( $script_path . '/config.php'); |
1 | 6 include_once( INSTALL_PATH . '/DBRecord.class.php' ); |
7 include_once( INSTALL_PATH . '/Reservation.class.php' ); | |
8 include_once( INSTALL_PATH . '/Keyword.class.php' ); | |
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
9 include_once( INSTALL_PATH . '/Settings.class.php' ); |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
10 include_once( INSTALL_PATH . '/storeProgram.inc.php' ); |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
11 |
85 | 12 // 緇剛 |
13 if( ! defined( "BS_EPG_CHANNEL" ) ) define( "BS_EPG_CHANNEL", "211" ); | |
14 if( ! defined( "CS1_EPG_CHANNEL" ) ) define( "CS1_EPG_CHANNEL", "CS8" ); | |
15 if( ! defined( "CS2_EPG_CHANNEL" ) ) define( "CS2_EPG_CHANNEL", "CS24" ); | |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
16 |
85 | 17 function check_file( $file ) { |
18 // <ゃ≦馹 | |
19 if( ! file_exists( $file ) ) return true; | |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
20 |
85 | 21 // 1篁ヤ<ゃゃ眼 |
22 if( (time() - filemtime( $file )) > 3600 ) { | |
23 @unlink( $file ); | |
24 return true; | |
25 } | |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
26 |
85 | 27 return false; |
28 } | |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
29 |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
30 // 筝純桁慎羞宴顄帥鴻 |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
31 $use_para = false; |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
32 $use_para = (function_exists( "pcntl_fork" ) && function_exists( "posix_setsid" ) && function_exists( "pcntl_signal" ) && function_exists("pcntl_setpriority")); |
112 | 33 |
34 | |
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
35 $settings = Settings::factory(); |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
36 |
85 | 37 $temp_xml_bs = $settings->temp_xml."_bs"; |
38 $temp_xml_cs1 = $settings->temp_xml."_cs1"; | |
39 $temp_xml_cs2 = $settings->temp_xml."_cs2"; | |
40 $temp_xml_gr = $settings->temp_xml."_gr"; | |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
41 |
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
42 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
43 |
1 | 44 // BS |
57 | 45 if( $settings->bs_tuners != 0 ) { |
1 | 46 // 牙脂茲с |
70
1363ac056197
fix: getepg get program information duaring CS/BS recording.
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
67
diff
changeset
|
47 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); |
90
057ca53de6ca
fix tuner occupation check
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
89
diff
changeset
|
48 if($num < $settings->bs_tuners && check_file($temp_xml_bs)) { |
85 | 49 $cmdline = "CHANNEL=".BS_EPG_CHANNEL." DURATION=180 TYPE=BS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; |
1 | 50 exec( $cmdline ); |
85 | 51 $cmdline = $settings->epgdump." /BS ".$settings->temp_data." ".$temp_xml_bs; |
1 | 52 exec( $cmdline ); |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
53 if( $use_para ) { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
54 $cmdline = INSTALL_PATH."/storeProgram.php BS ".$temp_xml_bs." >/dev/null 2>&1 &"; |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
55 exec( $cmdline ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
56 } |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
57 else { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
58 storeProgram( "BS", $temp_xml_bs ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
59 if( file_exists( $temp_xml_bs ) ) @unlink( $temp_xml_bs ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
60 } |
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
61 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
82
330c83ae8c95
fix: CSのEPG取得時に予約重複チェックを行っていなかったのを修正
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
62 } |
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
63 |
82
330c83ae8c95
fix: CSのEPG取得時に予約重複チェックを行っていなかったのを修正
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
64 // CS |
330c83ae8c95
fix: CSのEPG取得時に予約重複チェックを行っていなかったのを修正
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
65 if ($settings->cs_rec_flg != 0) { |
330c83ae8c95
fix: CSのEPG取得時に予約重複チェックを行っていなかったのを修正
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
66 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); |
90
057ca53de6ca
fix tuner occupation check
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
89
diff
changeset
|
67 if($num < $settings->bs_tuners && check_file($temp_xml_cs1)) { |
057ca53de6ca
fix tuner occupation check
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
89
diff
changeset
|
68 |
85 | 69 $cmdline = "CHANNEL=".CS1_EPG_CHANNEL." DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; |
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
70 exec( $cmdline ); |
85 | 71 $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$temp_xml_cs1; |
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
72 exec( $cmdline ); |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
73 if( $use_para ) { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
74 $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs1." >/dev/null 2>&1 &"; |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
75 exec( $cmdline ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
76 } |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
77 else { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
78 storeProgram( "CS", $temp_xml_cs1 ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
79 if( file_exists( $temp_xml_cs1 ) ) @unlink( $temp_xml_cs1 ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
80 } |
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
81 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
82
330c83ae8c95
fix: CSのEPG取得時に予約重複チェックを行っていなかったのを修正
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
82 } |
330c83ae8c95
fix: CSのEPG取得時に予約重複チェックを行っていなかったのを修正
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
83 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); |
85 | 84 if( ($num == 0) && check_file($temp_xml_cs2) ) { |
85 $cmdline = "CHANNEL=".CS2_EPG_CHANNEL." DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; | |
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
86 exec( $cmdline ); |
85 | 87 $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$temp_xml_cs2; |
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
88 exec( $cmdline ); |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
89 if( $use_para ) { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
90 $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs2." >/dev/null 2>&1 &"; |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
91 exec( $cmdline ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
92 } |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
93 else { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
94 storeProgram( "CS", $temp_xml_cs2 ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
95 if( file_exists( $temp_xml_cs2 ) ) @unlink( $temp_xml_cs2 ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
96 } |
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
97 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
98 } |
1 | 99 } |
100 } | |
72
605d327bddcc
- tuner occupation check was too strict
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
70
diff
changeset
|
101 |
1 | 102 // 遺羈≪ |
57 | 103 if( $settings->gr_tuners != 0 ) { |
1 | 104 foreach( $GR_CHANNEL_MAP as $key=>$value ){ |
105 // 牙脂茲с | |
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
106 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND type = 'GR' AND endtime > now() AND starttime < addtime( now(), '00:01:10')" ); |
90
057ca53de6ca
fix tuner occupation check
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
89
diff
changeset
|
107 if($num < $settings->gr_tuners && check_file($temp_xml_gr.$value."")) { |
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
108 $cmdline = "CHANNEL=".$value." DURATION=60 TYPE=GR TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; |
1 | 109 exec( $cmdline ); |
85 | 110 $cmdline = $settings->epgdump." ".$key." ".$settings->temp_data." ".$temp_xml_gr.$value.""; |
1 | 111 exec( $cmdline ); |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
112 if( $use_para ) { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
113 $cmdline = INSTALL_PATH."/storeProgram.php GR ".$temp_xml_gr.$value." >/dev/null 2>&1 &"; |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
114 exec( $cmdline ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
115 } |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
116 else { |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
117 storeProgram( "GR", $temp_xml_gr.$value ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
118 if( file_exists( $temp_xml_gr.$value ) ) @unlink( $temp_xml_gr.$value ); |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
119 } |
84
3ec5ca5e56ca
add: EPG取得並列化版を暫定的に標準に
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
82
diff
changeset
|
120 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
1 | 121 } |
122 } | |
123 } | |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
124 // 筝х |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
125 if( $use_para ) exit(); |
89
663521c2bf06
delete trailing whitespace
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
87
diff
changeset
|
126 |
111
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
127 garbageClean(); // 筝荀違 |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
128 doKeywordReservation(); // 若若篋膣 |
3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
129 exit(); |
1 | 130 ?> |