フォーラム: 公開討議 (スレッド #25767)

自動録画予約が行われない (2010-03-18 19:23 by hiroaki_sengoku #49575)

自動録画が行われなかったので quick hack で修正してみました。
また、録画ファイル名の形式で %TITLE% を使っても番組タイトルが使われない
バグも修正しました。

http://gw.gcd.org/sengoku/tmp/epgrec.20100317

RE: 自動録画予約が行われない (2010-03-18 19:41 by gadget #49577)

>if( is_int($prgtime) && $prgtime != 24 ) {

この部分で自動録画が行われなかったのでしょうか?
#49575 への返信

RE: 自動録画予約が行われない (2010-03-18 19:52 by hiroaki_sengoku #49579)

です。
深くは追ってないのですが (_O_)、
私の環境だと $prgtime が NULL になっていて、
BETWEEN cast('00:00:00' as time) AND cast('00:59:59' as time)
という SQL が作られていました。
つまり 0時台の番組しか自動録画予約が行われないという...
#49577 への返信

RE: 自動録画予約が行われない (2010-03-18 20:06 by gadget #49580)

ざっと見た感じNULLが代入されそうな箇所はないような感じですが、
どこで入ったかが問題ですね。

念のためにおたずねしますが、
キーワードを登録するときに時間帯を指定しましたか?
また、prgtimeというフィールドが
Recorder_reserveTblに存在していますか?
旧版からのアップデートではupgrade_db.phpを実行しないと作成されない
フィールドですが。
#49579 への返信

RE: 自動録画予約が行われない (2010-03-19 07:37 by hiroaki_sengoku #49588)

時間帯は指定していません。DB はテーブルが無い状態で
インストールしたので prgtime カラムは存在します。

ちなみに、PHP 5.3.2 です。
#49580 への返信

RE: 自動録画予約が行われない (2010-03-19 08:07 by hiroaki_sengoku #49589)

原因がわかりました。(_O_)

templates ディレクトリが 20100301 版になっていました。
最新版をインストールするとき、このディレクトリが書き換え対象になっていると
勘違いして (templates_c ディレクトリと混同していました) 旧版ディレクトリを
そのまま使用していました。

このため「番組検索」ページに「開始時」を指定するフィールドが現れず、
prgtime が NULL になってました。

templates ディレクトリを新版に置き換えたところ、Keyword.class.php のパッチが
無くても正常に自動録画予約が行われるようになりました。
お騒がせしました。
#49580 への返信

RE: 自動録画予約が行われない (2010-03-19 10:48 by gadget #49593)

原因がわかって良かったです。

しかしprgtimeもnot nullの属性を付けておいた方が良さそうですね。
不具合の発見がしやすくなりますし。
#49580 への返信