annotate Settings.class.php @ 69:1033324d7ecc

Merge branch 'origin/testing'
author yoneda <yoneda@recorder.localnet.mda.or.jp>
date Tue, 03 Nov 2009 14:54:40 +0900
parents a2c4665b310c 3d6e7c606896
children 11f63ae04a96 cce6f88590fd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
1 <?php
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
2 include_once('config.php');
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
3
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
4 class Settings extends SimpleXMLElement {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
5
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
6 const CONFIG_XML = "/settings/config.xml";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
7
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
8 public static function factory() {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
9
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
10 if( file_exists( INSTALL_PATH . self::CONFIG_XML ) ) {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
11 $xmlfile = file_get_contents(INSTALL_PATH . self::CONFIG_XML);
66
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
12 $obj = new self($xmlfile);
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
13
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
14 // 8月14日以降に追加した設定項目の自動生成
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
15
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
16 // キーワード自動録画の録画モード
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
17 if( $obj->exists("autorec_mode") == 0 ) {
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
18 $obj->autorec_mode = 0;
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
19 $obj->save();
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
20 }
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
21
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
22 return $obj;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
23 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
24 else {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
25 // 初回起動
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
26 $xmlfile = '<?xml version="1.0" encoding="UTF-8" ?><epgrec></epgrec>';
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
27 $xml = new self($xmlfile);
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
28
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
29 // 旧config.phpを読み取って設定
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
30 if(defined("SPOOL") ) $xml->spool = SPOOL;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
31 else $xml->spool = "/video";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
32
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
33 if(defined("THUMBS") ) $xml->thumbs = THUMBS;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
34 else $xml->thumbs = "/thumbs";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
35
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
36 if(defined("INSTALL_URL")) $xml->install_url = INSTALL_URL;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
37 else $xml->install_url = "http://localhost/epgrec";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
38
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
39 if(defined("BS_TUNERS")) $xml->bs_tuners = BS_TUNERS;
32
01a8fdc0cebb testing: Web base setting page.
Sushi-k <epgrec@park.mda.or.jp>
parents: 31
diff changeset
40 else $xml->bs_tuners = 0;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
41
55
7a4050545d98 fix: typo
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 54
diff changeset
42 if(defined("GR_TUNERS")) $xml->gr_tuners = GR_TUNERS;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
43 else $xml->gr_tuners = 1;
67
a2c4665b310c add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents: 55
diff changeset
44
a2c4665b310c add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents: 55
diff changeset
45 if(defined("CS_REC_FLG")) $xml->cs_rec_flg = CS_REC_FLG;
a2c4665b310c add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents: 55
diff changeset
46 else $xml->cs_rec_flg = 0;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
47
54
6f961c8ab304 modified: Settings.class.php
Sushi-k <epgrec@park.mda.or.jp>
parents: 32
diff changeset
48 if(defined("USE_KUROBON")) $xml->use_kurobon = USE_KUROBON ? 1 : 0;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
49 else $xml->use_kurobon = 0;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
50
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
51 if(defined("FORMER_TIME")) $xml->former_time = FORMER_TIME;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
52 else $xml->former_time = 20;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
53
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
54 if(defined("EXTRA_TIME")) $xml->extra_time = EXTRA_TIME;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
55 else $xml->extra_time = 0;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
56
54
6f961c8ab304 modified: Settings.class.php
Sushi-k <epgrec@park.mda.or.jp>
parents: 32
diff changeset
57 if(defined("FORCE_CONT_REC")) $xml->force_cont_rec = FORCE_CONT_REC ? 1 : 0;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
58 else $xml->force_cont_rec = 0;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
59
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
60 if(defined("REC_SWITCH_TIME")) $xml->rec_switch_time = REC_SWITCH_TIME;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
61 else $xml->rec_switch_time = 5;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
62
54
6f961c8ab304 modified: Settings.class.php
Sushi-k <epgrec@park.mda.or.jp>
parents: 32
diff changeset
63 if(defined("USE_THUMBS")) $xml->use_thumbs = USE_THUMBS ? 1 : 0;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
64 else $xml->use_thumbs = 0;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
65
54
6f961c8ab304 modified: Settings.class.php
Sushi-k <epgrec@park.mda.or.jp>
parents: 32
diff changeset
66 if(defined("MEDIATOMB_UPDATE")) $xml->mediatomb_update = MEDIATOMB_UPDATE ? 1 : 0;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
67 else $xml->mediatomb_update = 0;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
68
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
69 if(defined("FILENAME_FORMAT")) $xml->filename_format = FILENAME_FORMAT;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
70 else $xml->filename_format = "%TYPE%%CH%_%ST%_%ET%";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
71
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
72 if(defined("DB_HOST")) $xml->db_host = DB_HOST;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
73 else $xml->db_host = "localhost";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
74
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
75 if(defined("DB_NAME")) $xml->db_name = DB_NAME;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
76 else $xml->db_name = "yourdbname";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
77
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
78 if(defined("DB_USER")) $xml->db_user = DB_USER;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
79 else $xml->db_user = "yourname";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
80
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
81 if(defined("DB_PASS")) $xml->db_pass = DB_PASS;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
82 else $xml->db_pass = "yourpass";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
83
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
84 if(defined("TBL_PREFIX")) $xml->tbl_prefix = TBL_PREFIX;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
85 else $xml->tbl_prefix = "Recorder_";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
86
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
87 if(defined("EPGDUMP")) $xml->epgdump = EPGDUMP;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
88 else $xml->epgdump = "/usr/local/bin/epgdump";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
89
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
90 if(defined("AT")) $xml->at = AT;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
91 else $xml->at = "/usr/bin/at";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
92
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
93 if(defined( "ATRM" )) $xml->atrm = ATRM;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
94 else $xml->atrm = "/usr/bin/atrm";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
95
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
96 if(defined( "SLEEP" )) $xml->sleep = SLEEP;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
97 else $xml->sleep = "/bin/sleep";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
98
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
99 if(defined( "FFMPEG" )) $xml->ffmpeg = FFMPEG;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
100 else $xml->ffmpeg = "/usr/bin/ffmpeg";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
101
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
102 if(defined("TEMP_DATA" )) $xml->temp_data = TEMP_DATA;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
103 else $xml->temp_data = "/tmp/__temp.ts";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
104
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
105 if(defined("TEMP_XML")) $xml->temp_xml = TEMP_XML;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
106 else $xml->temp_xml = "/tmp/__temp.xml";
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
107
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
108 // index.phpで使う設定値
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
109 // 表示する番組表の長さ(時間)
32
01a8fdc0cebb testing: Web base setting page.
Sushi-k <epgrec@park.mda.or.jp>
parents: 31
diff changeset
110 $xml->program_length = 8;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
111 // 1局の幅
32
01a8fdc0cebb testing: Web base setting page.
Sushi-k <epgrec@park.mda.or.jp>
parents: 31
diff changeset
112 $xml->ch_set_width = 150;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
113 // 1分あたりの高さ
32
01a8fdc0cebb testing: Web base setting page.
Sushi-k <epgrec@park.mda.or.jp>
parents: 31
diff changeset
114 $xml->height_per_hour = 120;
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
115
66
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
116 // 8月14日版以降に追加した設定項目
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
117
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
118 // キーワード自動録画の録画モード
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
119 $xml->autorec_mode = 0;
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
120
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
121 $xml->save();
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
122
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
123 return $xml;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
124 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
125 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
126
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
127 public function exists( $property ) {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
128 return (int)count( $this->{$property} );
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
129 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
130
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
131 public function post() {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
132 global $_POST;
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
133
32
01a8fdc0cebb testing: Web base setting page.
Sushi-k <epgrec@park.mda.or.jp>
parents: 31
diff changeset
134 foreach( $_POST as $key => $value ) {
30
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
135
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
136 if( $this->exists($key) ) {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
137 $this->{$key} = trim($value);
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
138 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
139 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
140 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
141
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
142 public function save() {
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
143 $this->asXML(INSTALL_PATH . self::CONFIG_XML);
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
144 }
1c5f618dc210 add: Settings class
Sushi-k <epgrec@park.mda.or.jp>
parents:
diff changeset
145 }
66
3d6e7c606896 testing: auto record with mode
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents: 55
diff changeset
146 ?>