・前提条件
※TV録画予約システム構築(vrs)が導入済であること
・設定手順
(1)アーカイブ一覧表示編集
# vi /var/www/vrs/lib/ArchiveViewerContents.php
function getIcon()
{
return "image/archive.gif";
}
−−アーカイブ一覧表示編集追加(ここから)
//reimplement
function getAdditionalHeader()
{
return "<script type=\"text/javascript\" src=\"archive.js\"></script>";
}
−−アーカイブ一覧表示編集追加(ここまで)
// reimplement
function showContents( & $container, & $controller, $parameter )
{
global $CHANNEL_TABLE;
if( ! $container->archiveExists() ) {
echo "アーカイブはありません";
return;
}
?>
<table CELLSPACING="3" CELLPADDING="3" style="border: solid rgb(240,240,240)" >
<form method="post" name="archiveControl" action="record.php" onsubmit="return CheckBoxCheck()"> ← 追加
<tr bgcolor="#bdefe9">
−−ソースコード省略
<td align="center">削除<br><input type="checkbox" name="check" onclick="CheckUnCheck()"><input type=submit value="実行"></td> ← 色付き部分を追加
−−ソースコード省略
<td>
<input type="checkbox" name="idArray[]" value="<?php echo $reservation->id_; ?>"> ← 追加
<a href="record.php?action=delete&oldMode=<?php echo MODE_VIEW_ARCHIVE; ?>&id=<?php echo $reservation->id_; ?>" >
<img src="image/trash.gif" border="no" onclick="return chkf('<?php echo urldecode( $reservation->title_ ); ?>' )">
</a>
</td>
<?php } // $reservation->nowRecording() ?>
</tr>
<?php } // foreach( $archives ) ?>
−−アーカイブ一覧表示編集追加(ここから)
<input type="hidden" name="plural" value="true">
<input type="hidden" name="oldMode" value="<?php echo MODE_VIEW_ARCHIVE; ?>">
<input type="hidden" name="action" value="delete">
</form>
−−アーカイブ一覧表示編集追加(ここまで)
</table>
<?php
}
}
?>
|
(2)一括録画削除
# vi /var/www/vrs/lib/ReservationController.php
function remove(
$parameter //!< [in] GET/POSTされたパラメータ
)
{
−−一括録画削除追加(ここから)
// チェックされたIDの削除
if( array_key_exists( "plural", $parameter ) ) {
$idArray_ = $parameter["idArray"];
foreach ($idArray_ as $cnt) {
$this->removeById( $cnt );
}
return;
}
−−一括録画削除追加(ここまで)
// 削除対象のID取得
$command = new RemoveCommandParser( $parameter );
|
(3)チェックスクリプトの追加
# vi /var/www/vrs/archive.js
function CheckUnCheck()
{
var elements = document.archiveControl.elements;
for( var i = 2 ; elements.length > i ; ++i ) {
var element = elements[i];
element.checked = document.archiveControl.check.checked;
}
}
function CheckBoxCheck()
{
var elements = document.archiveControl.elements;
var checked = false;
for( var i = 2 ; elements.length > i ; ++i ) {
var element = elements[i];
if( element.checked ) {
checked = true;
break;
}
}
if( !checked ) {
alert( "削除するアーカイブをチェックしてください" )
return false;
}
if( confirm( "チェックされたアーカイブを削除しますか?" ) ) {
return true;
} else {
return false;
}
}
# chown apache:apache /var/www/vrs/archive.js ← 所有者をApache実行ユーザへ変更
|
|