#! /usr/bin/perl # # flmob.cgi # # 1.001 : 6/19/08 : 表示順のバグを修正 # 1.0 : 1/2/08 : flist3.cgiより携帯用にシンプル化 # # http://www.hidekik.com/ # # $Id: flmob.cgi,v 1.4 2008/06/18 14:45:37 Hideki Kanayama Exp $ # Copyright(c) 2005-2008, Hideki Kanayama, All rights reserved. use CGI::Carp qw(fatalsToBrowser); use Cwd; use File::Basename; use CGI qw(:cgi-lib); use strict; my $script= basename($0); my $version = "1.001"; my $updatedyear = "2008"; my $lang = 0; my $charset = ('Shift_JIS', 'ISO-8859-1')[$lang]; my $setupfile = "flmob_setup.pl"; #### Environment setup from here #################### # 公開するファイルがあるディレクトリ # A directory to be disclosed our $dldir = "files"; # タイトル # title our $title = 'file list for mobile'; # 1ページ表示行数 # number to be displayed in one page our $num_in_a_page = 20; # 表示順 0:アルファベット順 1:最新順 our $list_order = 0; # サイズ表示 1:表示 0:非表示 our $size_disp = 0; # 更新日時表示 1:表示 0:非表示 our $time_disp = 0; # 戻るリンク # back link our $back = ('戻る','Back')[$lang]; our $backlink = ".."; #### Environment setup till here #################### require "$setupfile" if (-e "$setupfile"); my $q = new CGI; my $cgierror = $q->cgi_error; &error($cgierror) if ($cgierror); my %in = $q->Vars; opendir(DLDIR, "$dldir") or &error(("ディレクトリ$dldirが存在しません","Cannot open directory:$dldir")[$lang]); my @filelist = grep !/^\./, readdir DLDIR; closedir(DLDIR); if ($list_order == 1){ @filelist = sort {(stat("$dldir/$b"))[9] <=> (stat("$dldir/$a"))[9]} @filelist; } else { @filelist = sort @filelist; } unshift(@filelist,'dummy'); &display; exit; sub display { my $from; if (! exists $in{from}) { $from = 1; } else { $from = $in{from}; } my $to; if (! exists $in{to}){ $to = $num_in_a_page; } else { $to = $in{to}; } &beginning($from,$to); print qq($back\n); print "