annotate storeProgram.php @ 93:80cc05b420af

fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
author epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
date Tue, 02 Mar 2010 23:21:17 +0900
parents f873e3251487
children 12ed8ad837fc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
83
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
1 #!/usr/bin/php
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
2 <?php
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
3
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
4 $type = $argv[1]; // BS CS GR
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
5 $file = $argv[2]; // XML<ゃ
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
6
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
7
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
8 // SIGTERM激違
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
9 function handler( $signo = 0 ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
10 global $file;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
11 if( file_exists( $file ) ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
12 @unlink( $file );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
13 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
14 exit();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
15 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
16
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
17 // 若≪喝
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
18 function daemon() {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
19 if( pcntl_fork() != 0 )
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
20 exit();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
21 posix_setsid();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
22 if( pcntl_fork() != 0 )
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
23 exit;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
24 pcntl_signal(SIGTERM, "handler");
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
25 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
26
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
27
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
28 // 若≪喝
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
29 daemon();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
30 // ゃd
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
31 pcntl_setpriority(20);
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
32
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
33 include_once('config.php');
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
34 include_once( INSTALL_PATH . '/DBRecord.class.php' );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
35 include_once( INSTALL_PATH . '/Reservation.class.php' );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
36 include_once( INSTALL_PATH . '/Keyword.class.php' );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
37 include_once( INSTALL_PATH . '/Settings.class.php' );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
38
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
39 $settings = Settings::factory();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
40
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
41 if( file_exists( $file ) ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
42 storeProgram( $type, $file );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
43 @unlink( $file );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
44 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
45
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
46 // 筝荀違
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
47 // 8ヤ札筝違羔
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
48 $arr = array();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
49 $arr = DBRecord::createRecords( PROGRAM_TBL, "WHERE endtime < subdate( now(), 8 )" );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
50 foreach( $arr as $val ) $val->delete();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
51
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
52 // 8ヤ札筝若帥井
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
53 $arr = array();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
54 $arr = DBRecord::createRecords( PROGRAM_TBL, "WHERE starttime > adddate( now(), 8 )" );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
55 foreach( $arr as $val ) $val->delete();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
56
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
57 // 若若牙私膣
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
58 $arr = array();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
59 $arr = Keyword::createKeywords();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
60 foreach( $arr as $val ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
61 try {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
62 $val->reservation();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
63 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
64 catch( Exception $e ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
65 // ∴
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
66 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
67 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
68 exit();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
69
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
70 function storeProgram( $type, $xmlfile ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
71 global $BS_CHANNEL_MAP, $GR_CHANNEL_MAP, $CS_CHANNEL_MAP;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
72 // c潟<ゃ羣
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
73 $map = array();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
74 if( $type == "BS" ) $map = $BS_CHANNEL_MAP;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
75 else if( $type == "GR") $map = $GR_CHANNEL_MAP;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
76 else if( $type == "CS") $map = $CS_CHANNEL_MAP;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
77
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
78 // XML parse
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
79 $xml = @simplexml_load_file( $xmlfile );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
80 if( $xml === false ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
81 return; // XML茯水篏
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
82 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
83 // channel遵
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
84 foreach( $xml->channel as $ch ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
85 $disc = $ch['id'];
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
86 try {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
87 // c潟若帥「
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
88 $num = DBRecord::countRecords( CHANNEL_TBL , "WHERE channel_disc = '" . $disc ."'" );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
89 if( $num == 0 ) {
93
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
90 if( array_key_exists( $disc, $map ) ) {
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
91 // c潟若帥域鋎
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
92 $rec = new DBRecord( CHANNEL_TBL );
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
93 $rec->type = $type;
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
94 $rec->channel = $map["$disc"];
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
95 $rec->channel_disc = $disc;
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
96 $rec->name = $ch->{'display-name'};
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
97 }
83
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
98 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
99 else {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
100 // 絖翫c潟贋違
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
101 $rec = new DBRecord(CHANNEL_TBL, "channel_disc", $disc );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
102 $rec->name = $ch->{'display-name'};
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
103 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
104 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
105 catch( Exception $e ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
106 // ∴
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
107 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
108 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
109 // channel 腟篋
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
110
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
111 // programme 緇
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
112
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
113 foreach( $xml->programme as $program ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
114 $channel_disc = $program['channel'];
93
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
115 if( ! array_key_exists( $channel_disc, $map ) ) continue;
80cc05b420af fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents: 83
diff changeset
116
83
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
117 $channel = $map["$channel_disc"];
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
118 $starttime = str_replace(" +0900", '', $program['start'] );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
119 $endtime = str_replace( " +0900", '', $program['stop'] );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
120 $title = $program->title;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
121 $desc = $program->desc;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
122 $cat_ja = "";
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
123 $cat_en = "";
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
124 foreach( $program->category as $cat ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
125 if( $cat['lang'] == "ja_JP" ) $cat_ja = $cat;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
126 if( $cat['lang'] == "en" ) $cat_en = $cat;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
127 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
128 $program_disc = md5( $channel_disc . $starttime . $endtime );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
129 // printf( "%s %s %s %s %s %s %s \n", $program_disc, $channel, $starttime, $endtime, $title, $desc, $cat_ja );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
130 try {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
131 // 眼
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
132 $category_disc = md5( $cat_ja . $cat_en );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
133 $num = DBRecord::countRecords(CATEGORY_TBL, "WHERE category_disc = '".$category_disc."'" );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
134 $cat_rec = null;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
135 if( $num == 0 ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
136 // 域眼菴遵
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
137 $cat_rec = new DBRecord( CATEGORY_TBL );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
138 $cat_rec->name_jp = $cat_ja;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
139 $cat_rec->name_en = $cat_en;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
140 $cat_rec->category_disc = $category_disc;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
141 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
142 else
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
143 $cat_rec = new DBRecord(CATEGORY_TBL, "category_disc" , $category_disc );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
144 //
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
145 $channel_rec = new DBRecord(CHANNEL_TBL, "channel_disc", $channel_disc );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
146 $num = DBRecord::countRecords(PROGRAM_TBL, "WHERE program_disc = '".$program_disc."'" );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
147 if( $num == 0 ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
148 // 域腟
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
149 // 茲с 絽腟
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
150 $options = "WHERE channel_disc = '".$channel_disc."' ".
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
151 "AND starttime < '". $endtime ."' AND endtime > '".$starttime."'";
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
152 $battings = DBRecord::countRecords(PROGRAM_TBL, $options );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
153 if( $battings > 0 ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
154 // 茲榊鐚丈紊
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
155 $records = DBRecord::createRecords(PROGRAM_TBL, $options );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
156 foreach( $records as $rec ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
157 // 牙私膣腟丈紊眼cゃ
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
158 try {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
159 $reserve = new DBRecord(RESERVE_TBL, "program_id", $rec->id );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
160 if( $reserve->autorec ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
161 Reservation::cancel( $reserve->id );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
162 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
163 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
164 catch( Exception $e ) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
165 //∴
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
166 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
167 // 腟
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
168 $rec->delete();
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
169 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
170 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
171 // //
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
172 $rec = new DBRecord( PROGRAM_TBL );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
173 $rec->channel_disc = $channel_disc;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
174 $rec->channel_id = $channel_rec->id;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
175 $rec->type = $type;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
176 $rec->channel = $channel_rec->channel;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
177 $rec->title = $title;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
178 $rec->description = $desc;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
179 $rec->category_id = $cat_rec->id;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
180 $rec->starttime = $starttime;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
181 $rec->endtime = $endtime;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
182 $rec->program_disc = $program_disc;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
183 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
184 else {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
185 // 腟絎号贋
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
186 $rec = new DBRecord( PROGRAM_TBL, "program_disc", $program_disc );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
187 $rec->title = $title;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
188 $rec->description = $desc;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
189 $rec->category_id = $cat_rec->id;
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
190 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
191 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
192 catch(Exception $e) {
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
193 exit( $e->getMessage() );
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
194 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
195 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
196 }
f873e3251487 new: EPG取得の並列化テストを追加
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
diff changeset
197 ?>