#! /usr/bin/perl # # profile.cgi # # 1.264 : 10/7/10 : 最大登録数の処理を修正 # 1.263 : 4/9/08 : GDをImage::Size変更 # 1.262 : 6/18/07 : 画像表示パスのバグを修正 # 1.261 : 11/21/06 : 修正ページパスワード入力を修正 # 1.260 : 6/28/06 : 画像ファイルが無い場合の処理を修正 # 1.259 : 4/6/06 : 登録最大数登録している場合に削除できないバグを修正 # 1.258 : 1/23/06 : 画像以外のファイルのアップロード処理を追加 # 1.257 : 1/8/06 : 画像ファイル名処理を修正 # 1.256 : 1/7/06 : 画像処理を修正。jcode.plを削除 # 1.255 : 10/21/05 : メール送信のMIMEを修正 # 1.254 : 10/1/05 : Copyrightにリンクを追加 # 1.253 : 7/2/05 : 修正時に最終項目に改行が入ってしまうのを修正 # 1.252 : 7/1/05 : メンバー専用パスワードを新規登録のみに変更 # 1.251 : 6/30/05 : メンバー専用パスワードを追加 # 1.250 : 3/31/05 : sendmailのオプションを修正 # 1.249 : 3/28/05 : 記事更新時にメールを送るオプションを追加 # 1.248 : 3/19/05 : お名前の項目名設定を追加。表示順に登録順、更新順のオプション追加 # 1.247 : 3/6/05 : 登録者一覧に別ページで表示のオプション追加 # 1.246 : 3/5/05 : 登録者一覧のオプション、最新順、古い順表示オプション追加 # 1.245 : 2/21/05 : 管理用セットアップのパスワード認証でまれにミスするバグを修正 # 1.244 : 2/9/05 : 管理人オンリーモードで「新規登録」をクリックするとパスワードを # を要求するように修正 # 1.243 : 2/8/05 : CGI::Carpをコメントアウト # 1.242 : 2/7/05 : 管理人オンリーモードを追加。「新規登録」非表示モード追加。 # 1.241 : 2/7/05 : Location:の後にスペースを追加。AnHTTPD対応。 # 1.240 : 2/6/05 : CGI::Carpを追加 # 1.239 : 5/17/04 : 修正時にパスワードと共にエンターを押した場合のエラー処理を追加 # 1.238 : 3/20/04 : 表示画面のパスワード項目名を変更可能に修正 # 1.237 : 2/20/04 : 画像表示位置指定オプションを設定ページに追加 # 1.236 : 2/14/04 : 項目欄の文字の位置を設定できるように修正 # 一人がアップできる合計ファイルサイズ制限設定を追加 # 1.235 : 2/6/04 : 登録、修正フォームの1行目を変更できるように修正 # スタイルシート用ににid=buttonを追加。 # 1.234 : 2/5/04 : 前ページ、次ページの位置指定できるように修正 # 1.233 : 7/1/03 : 小さい画像も$max_wの横幅に合わせるように修正 # 1.232 : 6/30/03 : 管理者が個人のパスワードを変更できるように修正 # 1.231 : 5/25/03 : 自動リンクにマッチする文字列を改良 # 1.230 : 5/10/03 : アップ画像サイズ設定が設定毎に20kBずつ増えてしまうバグを修正 # 表示部のパスワード入力テキストサイズを縮めた。 # 1.229 : 4/21/03 : 写真のコメントを変更できるように修正 # 1.228 : 4/19/03 : 最大アップサイズに書き込みテキスト用のサイズマージン(20kB)を追加 # 1.227 : 4/15/03 : テーブルレイアウトの設定を追加 # 最大ファイルサイズのオプション追加 # 1.226 : 4/6/03 : ヘッダーに好きな構文を挿入できるオプション追加 # 1.225 : 3/24/03 : パスワード作成失敗処理を追加 # 1.224 : 3/12/03 : 文中のリンクが長くなるのを防止するためhttp://からの # 自動リンクを文字列に書き換えるよう修正 # 1.223 : 3/8/03 : 1ページの表示制限オプションを追加 # 表次ページにバージョン表示追加 # 1.222 : 3/6/03 : $cgibinの設定を削除 # 1.221 : 3/4/03 : http://からのオートリンクを追加 # 1.22 : 2/27/03 : 管理人コメントを追加 # 管理人パスワードで他人の書き込みを修正した場合 # その人のパスワードが変更されてしまうバグを修正 # テキストエリアのサイズのオプションを追加 # 予備のアップデートファイルオプションを追加 # 1.211 : 2/25/03 : Copyright表記 # 管理人用注意書きを追加 # 1.21 : 2/24/03 : エラッタを修正。書き込みアイテム数を一旦増やして # 最後のほうに書き込んだ後、アイテム数を減らすと # 現在のアイテム数以上の項目に既に書き込まれたアイテムを # 変更できない問題を修正。 # テーブルのバックグラウンドカラー設定を追加。 # 各記事の更新時間設定を追加 # 1.2 : 2/23/03 : 管理人セットアップ機能を追加 # 1.11 : 2/17/03 : 画像の拡張子大文字にも対応、トップページへのリンクを追加 # 1.1 : 2/15/03 : 削除機能追加、写真が無い時にブランクのカラムを非表示 # 1.0 : 1/24/03 : Initial Revision # # http://www.hidekik.com/ # # Copyright(c) 2003-2010, Hideki Kanayama All rights reserved # use POSIX; use CGI::Carp qw(fatalsToBrowser); use Image::Size; use Jcode; require "cgi-lib.pl"; #管理人パスワードファイル $admindat = "adminpwd.dat"; #セットアップファイル $setupfile = "profile_setup.pl"; $version = "1.264"; $lastmodifiedyear = "2010"; $lang = 0; #### 環境設定 ###### ここから ############ $prdir = "../profile"; $prfile = "$prdir/profile.lst"; #$cgibin = "../cgi-bin"; $program = $0; $program =~ s/^.+[\/\\]([^\/\\]+)$/$1/; $script = "$program"; $dellog = "$prdir/delete.lst"; # バックグラウンド設定 # Background設定 # 1:画像を使う 0:カラー番号を使う $bgimage_en = 1; $bgimagefile = "$prdir/sample.jpg"; $bgcolor="#ffffff"; #テーブルのバックグラウンド 1: on, 0: off $table_bgcolor_en = 0; $table_bgcolor = '#ffffff'; #名前欄の色 $namebgcolor='lightblue'; #タイトル $title_logo_en = 0; $title = 'プロファイル'; $title_color='blue'; $regtitle_logo_en = 0; $regtitle = 'プロファイル登録'; $regtitle_color='blue'; $edititle_logo_en = 0; $edititle = 'プロファイル修正'; $edititle_color='blue'; $register_title_logo_en = 0; $register_title = '新規登録'; $setup_title_logo_en = 0; $setup_title = '管理用'; #トップへのリンク 1: on 0:off $toplink_en = 1; $toplink_logo_en = 0; $toplink_title = 'トップへ'; $toplink_link = "../profile.html"; #登録者リスト表示 0:非表示 1:上に表示 2:下に表示 3:別ウィンドウに表示 4:別ページに表示 $list_display = 0; $list_logo_en = 0; $list_logo = ''; $list_title = '登録者リスト'; #登録者リストの一行に表示される人数 $list_cols = 5; #表示順 0:最新順 1:古い順 $disp_order = 0; #記事更新時の表示順 0:登録順 1:更新順 $reorder = 1; #削除機能 1: on, 0: off $delete_en = 1; #管理人セットアップ表示 1: on, 0: off $setup_en = 1; #登録リンク表示 1:on 0:off $regform_en = 1; #管理人オンリーモード 1:on, 0:off $admin_only_en = 0; #最終更新表示 1: on, 0: off $lastupdate_en = 1; $lastupdate = 'Last Update : '; $lastupdate_color = '#3333ff'; $lastupdate_form = '1'; #各記事更新表示 1: on, 0: off $eachupdate_en = 1; $eachupdate = '更新時間'; $eachupdate_form = '1'; #登録修正フォームの1行目 $item = '項目'; $item_color = 'black'; $item_bgcolor = 'lightblue'; $contents = '内容'; $contents_color = 'black'; $contents_bgcolor = 'lightblue'; #項目欄の文字位置 $item_lr = 0; # 0:左 1:中 2:右 $item_ud = 1; # 0:上 1:中 2:下 #お名前の項目名 $name_in = 'お名前'; #パスワード項目名 $passitem = 'パスワード'; #修正ボタン名 $editbutton = '修正する'; #削除ボタン名 $deletebutton = '削除する'; #アイテムの最大数 $itemmaxnum = 9; #1度にアップできる画像の最大数 $picmaxnum = 6; #1ページ表示制限 1:on 0:off $pagedisp_en = 0; #1ページ表示件数 $pagedispnum = 10; # 次ページ前ページリンク名 $prev_icon_en = 0; $next_icon_en = 0; $prev_icon = ''; $next_icon = ''; $prevpage = '←前ページ'; $nextpage = '次ページ→'; $prev_loc = 0; $next_loc = 2; $first_icon_en = 0; $first_icon = ''; $firstpage = '最初に戻る'; #入力項目のデフォルト、最大$itemmaxnum項目(デフォルト9) @item_value = ('家族構成','生年月日','最近の出来事'); # 画像ファイルの最大表示の大きさ(単位:ピクセル) # → これを超える画像は縮小表示します $max_w = 150; # 横幅 $max_h = 150; # 縦幅 #最大画像アップサイズ(kB) $maxmb = 300; #一人がアップできる合計ファイルサイズ制限 1:on 0:off $size_check_en = 1; #一人がアップできる合計ファイルサイズ(kB) $allocated_size = 300; #最大登録件数 $postmax = 100; #画像クリック時 1: 同じウィンドウ 0: 別ウィンドウ $samewin_en = 1; #画像表示位置 0:左 1:中 2:右 $pic_loc = 1; #表示テーブルのサイズ(パーセント) $table_width = 60; #項目欄のサイズ(パーセント) $item_width = 20; #テーブルのレイアウト $table_layout_en = 0; $bordercolor = '#000000'; $table_border = 1; $cellpadding = 1; $cellspacing = 1; #書き込みテキストエリアのサイズ $textarea_cols = 50; $textarea_rows = 3; #各記事ごとの