CodeIgniterでXoopsモジュールを書く。

モジュール名sampleとして
modules/sample/index.php

<?php
/*
普通のxoopsモジュールヘッダincludeまで
*/
require("../../mainfile.php");
require('header.php');//このモジュール共通
// ヘッダをインクルードする
include(XOOPS_ROOT_PATH.'/header.php');
/*
ここからCodeIgniterのインストールモジュールにあったindex.phpの内容
*/
        error_reporting(E_ALL);
	$system_folder = "system";
	$application_folder = "application";
if (strpos($system_folder, '/') === FALSE)
{
	if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
	{
		$system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
	}
}
else
{
	// Swap directory separators to Unix style for consistency
	$system_folder = str_replace("\\", "/", $system_folder); 
}

define('EXT', '.'.pathinfo(__FILE__, PATHINFO_EXTENSION));
define('FCPATH', __FILE__);
define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
define('BASEPATH', $system_folder.'/');

if (is_dir($application_folder))
{
	define('APPPATH', $application_folder.'/');
}
else
{
	if ($application_folder == '')
	{
		$application_folder = 'application';
	}

	define('APPPATH', BASEPATH.$application_folder.'/');
}
require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;




// xoopsフッタをインクルードする
include(XOOPS_ROOT_PATH.'/footer.php');

?>

modules/sample/にCIのsystemディレクトリを丸ごとコピー。試してないけど$system_folder書き換えればどこでもおけるんじゃない?

.htaccessを置く。

RewriteEngine on
RewriteBase /xoops/modules/sample/
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

この例はxoops本体を/xoopsとして設置した場合。"/"に置いたら

RewriteBase /modules/sample/

こうかな。
あとは$system_folder/application以下にcontroller置いてview置いてetc...当然だがテンプレートにはhtml...bodyは不要。

あとはdatetimeのvalidation。