<?php
/**
@brief 指定された lid の エントリー を削除します
@author minahito
@version $Id$
*/

$xoopsOption['nocommon']=true;
include_once "../../mainfile.php";
require_once XOOPS_ROOT_PATH."/modules/exFrame/frameloader.php";
require_once "./class/global.php";

// Form を読み込む
require_once "exComponent/DeleteConfirm.php";
require_once "./include/PartyDelete.php";
require_once "./include/EntryConfirm.php";

// Session 開始
require_once XOOPS_ROOT_PATH."/include/common.php";
require_once XOOPS_ROOT_PATH."/header.php";

if(!is_object($xoopsUser))
	redirect_header(XOOPS_URL."/user.php",1,"登録会員でなければエントリーできません");

// リクエストは一種類なので、ActionForm を使用せずにこの場で処理を行う
$handler=&bxParty::getHandler('entry');
$lid = isset($_REQUEST['lid']) ? intval($_REQUEST['lid']) : 0;
$entry=&$handler->get($lid);
if(!is_object($entry)) 
	redirect_header("./index.php",1,"無効なエントリー ID です");

// 権限
if(!$xoopsUser->isAdmin() && $entry->getVar('uid')!=$xoopsUser->uid())
	redirect_header("./index.php",1,"削除する権限がありません");

// 宴会の権限をチェック
$pHandler = bxParty::getHandler('party');
$party = $pHandler->get($entry->getVar('id'));
if(!bxParty::Guard($party))
	redirect_header("./index.php",1,"無効な宴会 ID です");

// 画面遷移設定
$forwards=array(new exSuccessForwardConfig(EXFORWARD_REDIRECT,"detail.php?id=".$entry->getVar('id'),"削除を行いました"),
		new exFailForwardConfig(EXFORWARD_REDIRECT,"detail.php?id=".$entry->getVar('id'),"削除に失敗しました"));

$compo = new exDeleteConfirmTypicalComponent(new EntryDeleteProcessor(),
				new exConrimComponentModelRender(new DeleteEntryConfirmRenderModel()),
				'delete_entry',new exObjectConfirmTicketForm(),$forwards);

switch($compo->init($entry,"このエントリーを削除しますか?")) {
	case COMPONENT_INIT_FAIL:
		die;

	case COMPONENT_INIT_SUCCESS:
		$compo->display();
		break;
}

require_once XOOPS_ROOT_PATH."/footer.php";
?>
