<?php
// mycssadmin ver 1.0.0
//  ------------------------------------------------------------------------ //
//                   This module; Copyright (c) 2005 gusagi                  //
//                        <http://good-tea.ddo.jp/trpg>                      //
//  ------------------------------------------------------------------------ //

//*****************************************************************************/
// 初期処理
//*****************************************************************************/
// 他のスクリプトから呼び出されたか確認
// 呼び出された場合は、定数を定義して以後の判定に使用する
$replace_array = array( '\\' => '/', '\\.\\' => '\\', '/./' => '/' );
if ( strtr($_SERVER['SCRIPT_FILENAME'], $replace_array) !== strtr(__FILE__, '\\', '/') ) {
	define( 'MYCSSADMIN_CALLED', true );
}
require_once( dirname(dirname(__FILE__)) .'/include/mycssadmin.inc.php' );
if ( ! defined('MYCSSADMIN_CALLED') ) {
	require_once( XOOPS_ROOT_PATH .'/include/cp_header.php' );
	require_once( XOOPS_ROOT_PATH .'/class/template.php' );
	include_once( XOOPS_ROOT_PATH .'/modules/system/constants.php' ) ;
	require_once( $mod_path .'/include/gtickets.php' );

	// check access right (needs system_admin of BLOCK)
	$sysperm_handler =& xoops_gethandler('groupperm');
	if (!$sysperm_handler->checkRight('system_admin', XOOPS_SYSTEM_BLOCK, $xoopsUser->getGroups())) redirect_header( XOOPS_URL.'/user.php' , 1 , _NOPERM ) ;
	
}
// セッション情報の初期化
unset( $_SESSION['cssadmin_op'] );

// テンプレートの宣言
$cssTpl =& new XoopsTpl;
$cssTpl->error_reporting = error_reporting();
$cssTpl->template_dir = $mod_path.'/admin/templates/';

//*****************************************************************************/
// ブロック情報の取得
//*****************************************************************************/
$blocks = array();
if ( empty($current_module) ) {
	// 初期処理
	$current_module = array();
	$xoopsDB = & Database::getInstance();
	$modulesTbl = $xoopsDB->prefix( 'modules' );
	$sql = "SELECT mid, name, dirname FROM $modulesTbl WHERE dirname = '$mod_name'";
	$result = $xoopsDB->query( $sql );
	if ( $myrow = $xoopsDB->fetchArray($result) ) {
		$mid = intval( $myrow['mid'] );
		$name = $myrow['name'];
		$dirname = $myrow['dirname'];
		$current_module['mid'] = $mid;
		$current_module['name'] = $name;
		$current_module['dirname'] = $dirname;
	}
} else {
	$mid = intval( $mid );
}

include( dirname(dirname(__FILE__)) .'/class/mycssadmin.class.php' );
$CssadminBlocks->setBlockList( $mid );
$CssadminBlocks->setBlockDbCss( $mid );
$CssadminBlocks->setBlockDirCss( $dirname );
$blocks = $CssadminBlocks->getBlocks();

//*****************************************************************************/
// サニタイズ
//*****************************************************************************/
include( dirname(dirname(__FILE__)) .'/class/mycssadmin_display.class.php' );
$current_module4disp = $CssadminDisplay->sanitizeArray4disp( $current_module );
$blocks4disp = $CssadminDisplay->sanitizeArray4disp( $blocks );

//*****************************************************************************/
// 画面表示
//*****************************************************************************/
if ( ! defined('MYCSSADMIN_CALLED') ) {
	// 管理画面用ヘッダの呼び出し
	xoops_cp_header();
	// 管理画面上部メニューの呼び出し
	if( file_exists( './mymenu.php' ) ) include( './mymenu.php' );

	// 更新を行うアクションのアサイン
	$action = $mod_url .'/admin/mycssadmin_save.php';
}
$cssTpl->assign( 'action', $action );
// ブロック情報のアサイン
$cssTpl->assign( 'blocks', $blocks4disp );
$cssTpl->assign( 'block_count', count($blocks4disp) );
$cssTpl->assign( 'current_module', $current_module4disp );
// ワンタイムチケットのアサイン
$ticket = $xoopsGTicket->getTicketHtml( __LINE__ , 1800 , $mod_name );
$cssTpl->assign( 'ticket', $ticket );
// テンプレートの表示
$cssTpl->display( 'mycssadmin.html' );

//*****************************************************************************/
// 終了処理
//*****************************************************************************/ 
// セッションへの格納
$_SESSION['cssadmin_blocks'] = $blocks;
$_SESSION['cssadmin_op'] = 'save_blocks_css';
if ( ! defined('MYCSSADMIN_CALLED') ) {
	// 管理画面用フッタの呼び出し
	xoops_cp_footer();
}

?>
