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

//*****************************************************************************/ 
// 直接呼び出された場合はexitする
//*****************************************************************************/ 
if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;

function mycssadmin_drop() {
//*****************************************************************************/
// 初期処理
//*****************************************************************************/
	// モジュール情報の取得
	include_once( dirname(__FILE__) .'/mycssadmin.inc.php' );
	// 権限のチェック
	global $xoopsUserIsAdmin;
	if ( ! $xoopsUserIsAdmin ) {
		redirect_header( XOOPS_URL, 2, _NOPERM);
		exit;
	}
	// 変数msgの初期化
	$msg = '';
	// DBインスタンスの作成
	$xoopsDB =& Database::getInstance();
	// テーブル名の取得
	$cssadmin_admin = $xoopsDB->prefix( 'cssadmin_admin' );
	$cssadmin_modules = $xoopsDB->prefix( 'cssadmin_modules' );
	$cssadmin_blocks = $xoopsDB->prefix( 'cssadmin_blocks' );
	$cssadmin_plugins = $xoopsDB->prefix( 'cssadmin_plugins' );
	// dirnameの取得
	$dirname = addslashes( $mod_name );
	// 削除フラグの初期化
	$del_flg = true;
	// midの初期化
	$mid = '';
	// 終了処理フラグの初期化
	$return_flg = true;

//*****************************************************************************/
// cssadmin_adminテーブルの確認
//*****************************************************************************/
	$sql = "SELECT mid FROM $cssadmin_admin";
	$sql .= " WHERE dirname <> '$dirname'";
	$result = $xoopsDB->query( $sql );
	if ( $myrow = $xoopsDB->fetchArray($result) ) {
		$del_flg = false;
	}

//*****************************************************************************/
// midの取得
//*****************************************************************************/
	if ( ! $del_flg ) {
		$sql = "SELECT mid FROM $cssadmin_admin";
		$sql .= " WHERE dirname = '$dirname'";
		$result = $xoopsDB->query( $sql );
		if ( $myrow = $xoopsDB->fetchArray($result) ) {
			$mid = intval( $myrow['mid'] );
		}
	}

//*****************************************************************************/
// このモジュール以外にCSS管理を行っていない場合
//*****************************************************************************/
	if ( $del_flg ) {
		// cssadmin_adminテーブルを削除
		$sql = "DROP TABLE `$cssadmin_admin`";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "cssadmin_admin table was dropped.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in drop cssadmin_admin table.";
		}
		echo $msg ."<br />\n";
		// cssadmin_modulesテーブルを削除
		$sql = "DROP TABLE `$cssadmin_modules`";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "cssadmin_modules table was dropped.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in drop cssadmin_modules table.";
		}
		echo $msg ."<br />\n";
		// cssadmin_blocksテーブルを削除
		$sql = "DROP TABLE `$cssadmin_blocks`";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "cssadmin_blocks table was dropped.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in drop cssadmin_blocks table.";
		}
		echo $msg ."<br />\n";
		// $cssadmin_pluginsテーブルを削除
		$sql = "DROP TABLE `$cssadmin_plugins`";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "cssadmin_plugins table was dropped.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in drop cssadmin_plugins table.";
		}
		echo $msg ."<br />\n";
//*****************************************************************************/
// このモジュール以外にもCSS管理を行っている場合
//*****************************************************************************/
	} else {
		// cssadmin_adminテーブルのデータを削除
		$sql = "DELETE FROM `$cssadmin_admin`";
		$sql .= " WHERE mid = $mid";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "$dirname data was deleted from cssadmin_admin table.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in delete $dirname data from cssadmin_admin table.";
		}
		echo $msg ."<br />\n";
		// cssadmin_modulesテーブルのデータを削除
		$sql = "DELETE FROM `$cssadmin_modules`";
		$sql .= " WHERE mid = $mid";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "$dirname data was deleted from cssadmin_modules table.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in delete $dirname data from cssadmin_modules table.";
		}
		echo $msg ."<br />\n";
		// cssadmin_blocksテーブルのデータを削除
		$sql = "DELETE FROM `$cssadmin_blocks`";
		$sql .= " WHERE mid = $mid";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "$dirname data was deleted from cssadmin_blocks table.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in delete $dirname data from cssadmin_blocks table.";
		}
		echo $msg ."<br />\n";
		// cssadmin_pluginsテーブルのデータを削除
		$sql = "DELETE FROM `$cssadmin_plugins`";
		$sql .= " WHERE mid = $mid";
		if ( $xoopsDB->queryF($sql) ) {
			// 削除に成功した場合
			$msg = "$dirname data was deleted from cssadmin_plugins table.";
		} else {
			// 削除に失敗した場合
			$return_flg = false;
			$msg = "It failed in delete $dirname data from cssadmin_plugins table.";
		}
		echo $msg ."<br />\n";
		// テーブルの最適化を行う
		$sql = "OPTIMIZE TABLE $cssadmin_admin";
		$xoopsDB->query( $sql );
		$sql = "OPTIMIZE TABLE $cssadmin_modules";
		$xoopsDB->query( $sql );
		$sql = "OPTIMIZE TABLE $cssadmin_blocks";
		$xoopsDB->query( $sql );
		$sql = "OPTIMIZE TABLE $cssadmin_plugins";
		$xoopsDB->query( $sql );
	}
	
	return $return_flg;
}

?>