|
|
|

[企画・監修]インターネット等推進委員会
mail: info@isuminavi.jp
[本所]千葉県いすみ市苅谷535-3 電話0470-86-3105 FAX0470-86-5269
|
[大原支所] 千葉県いすみ市大原7400-8 電話0470-62-1191 FAX0470-63-9818
[岬支所] 千葉県いすみ市岬町椎木1300-1 電話0470-87-2535 FAX0470-87-6980
|
| |
#!/usr/bin/perl -w
# 漢字コード EUC
#認証を確認してリダイレクト
use SIC;
use Cycom;
use Cycom::Util::Func;
use SICX::Comm;
use SICX::U;
use SICX::Comm::U;
use DB_File::Lock;
use SIC;
use SICX::Site;
my ( $comm, $cgi, $siteid, $areaid, $unitid, $dbm, $unit, %maindbm, $module, $jb );
$comm = SICX::Comm::U->new();
$siteid = $comm->{cgi}->param('siteid') || '';
#システムメンテナンス中は更新不可とする。
if (0){
$dbm = join '/', '/home/SIC/sites', $siteid, 'system/main.dbm';
%maindbm = ();
if ( tie %maindbm, 'DB_File::Lock', $dbm, O_RDWR|O_CREAT, 0644, $DB_HASH, 'write' ){
if ( ( $maindbm{'maintenance'} || 0) eq '1' ){
&print_error($maindbm{'maintenance_message'} || 'ただいま、システムのメンテナンス中です。');
exit;
}
}
}
#パラメータチェック
$cgi = $comm->{cgi};
$areaid = $cgi->param("areaid");
$unitid = $cgi->param("unitid");
unless ($areaid and $unitid) {
require Cwd;
my $dir = Cwd::cwd();
$dir = readlink($dir) while -l $dir;
if ($dir =~ m#/units/([0-9a-zA-Z_-]{5})/([0-9a-zA-Z_-]+)$#) {
$areaid = $1;
$unitid = $2;
} elsif ( $dir =~ m#/units/([0-9a-zA-Z_-]{5})/([0-9a-zA-Z_-]+)/i# ){
$areaid = $1;
$unitid = $2;
}
};
unless (is_valid_id($areaid) and is_valid_id($unitid)) {
&print_error("Invalid unit param");
exit;
}
$siteid = $cgi->param("siteid") || $siteid;
unless ($siteid) {
require SICX::Misc::uri2siteid;
my $uri2siteid = SICX::Misc::uri2siteid->new($comm);
my $uri = $ENV{SCRIPT_URI} || "";
$siteid = $uri2siteid->uri2siteid($uri) || "";
};
is_valid_id($siteid) or $siteid = "";
#$module = $comm->find_module_unit("SICX::U", $areaid, $unitid, siteid=>$siteid) or return 0;
#$comm->require_module($module) or return 0;
#SICX::U のカスタマイズはしない!
$unit = SICX::U->new($comm, $areaid, $unitid, $siteid);#$module->new($comm, $areaid, $unitid, $siteid);
unless (-d $unit->DATA_DIR()) {
&print_error("No such unit");
exit;
}
$comm->{unit} = $unit;
$jb = $cgi->param('jb') || '';
$module = join '::', 'SICX::Proc::U::ssi', $jb;
unless ($comm->start($module, $unit, 1)) {
$comm->error();
}
#
$comm->finish();
exit(0);
sub print_error {
my $comm = shift;
my $msg = shift;
print $comm->{http}->header();
print $comm->{html}->header();
print $msg;
print $comm->{cgi}->end_html();
return 1;
}