#counter
**内容 [#x2307cb2]
#setlinebreak(on)
#contents
**1.目的 [#l604e78e]
部署のメンバーが今どこで何しているのか把握するために使用します。
電話対応、取次ぎがスムーズになるかと思われます。
(入力するのだけは面倒。社内の勤務システムと連動できればさらに便利になりますね。。)
**2.ツールのURL [#w5c16ff2]
http://hinata.la.coocan.jp/tool/zaseki_koushin.cgi
(適当に更新していただいてまったく問題ありません。むしろたくさんいじってみて下さい。)

**3.機能の概要 [#re0dd3a1]
3-1.出勤状況を座席表に反映させ表示する。
  「向きを逆にする」をクリックすると逆向きの座席表になる。
3-2.出勤状況は更新ページから更新できる。
  「出勤状況を更新する」をクリックすると更新用ページが表示され、情報を更新できる。
  (個別更新、チーム一括更新ができる。)
3-3.ロケーション(休務)ごとに並べえる。
  「ロケーション(休務)ごとに表示する」をクリックすると
3-4.取次ぎ方法を表示する。
  座席表の各座席にマウスをポイントすると、取り次ぎ方法が表示される。
  別ロケーションの場合はその電話番号が出力される。

**4.使用イメージ [#peedc9d7]
4-1.出勤状況の更新
  朝のミーティングの前などに各チームにて「出勤状況更新ページ」
  から情報を更新する。
4-2.出勤状況の確認
  電話がかかってきた時など、その人がどこにいるのか確認するためには
  座席表(もしくは逆向きの座席表)を表示する。
  
 ※ 日中情報が更新されることもあるためすでに表示している場合は
   「最新の情報を表示する」をクリックした方が無難です。
 ※ その情報がいつの情報であるか、最終更新日時も座席表に表示されている。

4-3.ロケーションごとに表示
  「ロケーション(休務)ごとに表示する」のページは、
  まとめて報告したい時(朝のミーティングなど)にはこのページを確認すると便利かと。

 ※ こツールの例では、大手町を本拠地としていてよく新宿ロケーションに出かけることがある、という設定です。

**5.ディレクトリ構成 [#e3f31060]
 zaseki_asami.cgi
 zaseki_gyaku.cgi
 zaseki_hyouji.cgi
 zaseki_koushin.cgi
 zaseki_data/poptxt.js   ←ポップアップを出力するためのJavascript
            /zaseki1.txt ←出勤状況のデータたち
             zaseki2.txt
             zaseki3.txt
             zaseki4.txt
             zaseki5.txt
            /tmp/        ←情報の更新時に一時的に使用するディレクトリ
※poptxt.jsのソースは[[HIMAJIN>http://himajin.moo.jp/]]様のページから頂きました。
 誠にありがとうございます。

**6.ソースイメージ [#v8d7c0fa]
***6-1.zaseki_koushin.cgi [#xa7aa111]
 #!/usr/bin/perl
 
 sub printradio{
     my $checked ="";
     if ($_[0] eq $_[1]){$checked="checked";}
     print <<EOL;
     <input type="radio" name="locate$_[2]_$_[3]" value="$_[0]" $checked>$_[0]
 EOL
 }
 sub printform{
     my $color ="white";
     if($_[5]%2==1){$color="#CCFFFF";}
     print <<EOL;
         <tr bgcolor="$color"><td width="120"> $_[1]</td>
         <td>
 EOL
     &printradio("大手町",$_[2],$_[4],$_[0]);
     &printradio("新宿",$_[2],$_[4],$_[0]);
     &printradio("年休",$_[2],$_[4],$_[0]);
     &printradio("週休",$_[2],$_[4],$_[0]);
     &printradio("長期出張",$_[2],$_[4],$_[0]);
     &printradio("深夜勤務",$_[2],$_[4],$_[0]);
     &printradio("研修",$_[2],$_[4],$_[0]);
     &printradio("その他",$_[2],$_[4],$_[0]);
     print "</td>";
     print <<EOL;
     <td> <input type=\"text\" name="bikou$_[4]_$_[0]" size="30" maxlength="40" value="$_[3]"></td>
     <td> <input type="submit" value="個別更新" name="submit$_[4]_$_[0]"> </td>
     </tr>
 EOL
 }
 sub team{
     my $color="";
     my $bikou="";
     my $koushin="";
     my $count=0;
     my $teamname="";

     open(F,$_[0]);
     while(<F>){
         if($_=~/teamname=([\S\s]+),[0-9\-\/\s]+/){
             $teamname=$1;
             print <<EOL;
             ■$teamname
             <table><tr><td></td><td><center>出勤状況</td><td><center>備考</td><td></td></tr>
 EOL
         }
         if($_=~/([0-9]*),([0-9\-]*),(\S*),(\S*),([\S\s]*),[0-9\s\/:]*/){
             if($4 eq ""){next;}
             &printform("$1","$3","$4","$5",$_[1],$count);
             $count++;
         next;
         }
         if($_=~/([0-9]*),(\S*),(\S*),([\S\s]*),[0-9\s\/:]*/){
             if($3 eq ""){next;}
             &printform("$1","$2","$3","$4",$_[1],$count);
             $count++;
         }
     }
     print <<EOL;
     <tr><td></td><td></td><td></td><td> <input type="submit" value="このチームをすべて更新" name="submit$_[1]_all"></td></tr>
     </table>
     <hr>
 EOL
     close(F);
 }
 
 
 print <<"EOL";
 Content-type: text/html
 
 <HTML>
     <HEAD>
         <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
         <TITLE>出勤状況更新ページ</TITLE>
     </HEAD>
 <BODY>
 <form method="POST" action="zaseki_hyouji.cgi">
 [<a href="./zaseki_hyouji.cgi">情報を更新せずに座席表を表示する</a>]
 <hr>
 EOL
 
 $shimacnt=0;
 @files = glob ("zaseki_data/*.txt");
 foreach $i (@files){
     $shimacnt++;
     &team("$i","$shimacnt");
 }
 
 print <<"EOL";
 [<a href="./zaseki_hyouji.cgi">情報を更新せずに座席表を表示する</a>]
     </BODY>
 </HTML>
 EOL

***6-2.zaseki_hyouji.cgi [#gd9e2ba1]
 #!/usr/bin/perl
 
 sub decode {
     local($args, $n_read, *terms, $tag, $value);
 
     $ENV{'REQUEST_METHOD'} eq "POST" ?
     ($n_read = sysread(STDIN, $args, $ENV{'CONTENT_LENGTH'})):
     ($args = $ENV{'QUERY_STRING'});
 
     @terms = split('&', $args);
 
     foreach (@terms) {
         ($tag, $value) = split(/=/, $_, 2);
         $value =~ s/\+/ /g;
         $value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("c", hex($1))/ge;
         $tags{$tag} = $value;       # tags is global
     }
 }
 
 sub kobetsu_koushin{
     my $updated_line="";
     my $locate="locate${_[0]}_${_[1]}";
     my $bikou="bikou${_[0]}_${_[1]}";
     $tags{$bikou}=~s/,/、/g;
     my $team=${_[0]};
     my $naisen=${_[1]};
     ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
     my $yyyymmddHHMM = sprintf("%04d/%02d/%02d %02d:%02d", $year + 1900, $mon +1, $mday, $hour, $min);
     open(OLD,"zaseki_data/zaseki$team.txt");
     while(<OLD>){
         if($_=~/$naisen,([0-9\-]*),(\S*),\S*,[\S\s]*,[0-9\s\/:]*/){
             $updated_line="$naisen,$1,$2,$tags{$locate},$tags{$bikou},$yyyymmddHHMM\n";
             last;
         }
         if($_=~/$naisen,(\S*),\S*,[\S\s]*,[0-9\s\/:]*/){
             $updated_line="$naisen,$1,$tags{$locate},$tags{$bikou},$yyyymmddHHMM\n";
             last;
         }
     }
 
     close(OLD);
 
     open(TMP,">zaseki_data/tmp/zaseki${team}_tmp.txt");
     open(OLD,"zaseki_data/zaseki$team.txt");
     while(<OLD>){
         if($_=~/$naisen/){print TMP $updated_line;}else{print TMP $_;}
     }
     close(OLD);
     close(TMP);
     open(TMP,"zaseki_data/tmp/zaseki${team}_tmp.txt");
     open(NEW,">zaseki_data/zaseki$team.txt");
     while(<TMP>){
         print NEW $_;
     }
     close(NEW);
     close(TMP);
 }
 sub button_check{
     my $button="";
     $button="submit$_[1]_all";
     if($tags{$button} ne ""){return $button;}
     open(F,$_[0]);
     while(<F>){
         if($_=~/^([0-9]{4})/){
             $button="submit$_[1]_$1";
             if($tags{$button} ne ""){return $button;}
         }
     }
 }
 
 sub which_button{
     my $button="";
     my $shimacnt=0;
     @files = glob ("zaseki_data/*.txt");
     foreach $i (@files){
         $shimacnt++;
         $button=&button_check("$i","$shimacnt");
         if($button ne ""){return $button;}
     }
     return $button;
 }
 
 sub data_koushin{
     my $submitted_button= &which_button();
     $submitted_button =~s/submit//g;
     @list = split( /_/ , $submitted_button );
     my $team=$list[0];
     my $naisen=$list[1];
     if($naisen eq "all"){
         open(TEAM,"zaseki_data/zaseki$team.txt");
         while(<TEAM>){
             if($_=~/^([0-9]{4})/){
                 &kobetsu_koushin("$team","$1");
             }
         }
         close(TEAM);
     }else{
         &kobetsu_koushin("$team","$naisen");
     }
 }
 sub desidecolor{
     if($_[0] eq "年休")    {return "gray";}
     if($_[0] eq "週休")    {return "gray";}
     if($_[0] eq "研修")    {return "gray";}
     if($_[0] eq "長期出張"){return "gray";}
     if($_[0] eq "その他")  {return "gray";}
     if($_[0] eq "深夜勤務"){return "#9999CC";}
     if($_[0] eq "大手町")  {return "#99CCCC";}
     if($_[0] eq "新宿")    {return "#99CC99";}
 }
 sub setmsg{
     my $naisen=$_[0];
     my $name=$_[1];
     my $locate=$_[2];
     if($locate eq "大手町" || $locate eq "深夜勤務"){
         if($naisen eq "0000"){return "";}
         else{
             return "'■取次ぎ方法1 パーク保留<br> 1-1.「パーク保留」ボタンを押す。<br>"
                     . " 1-2.表示されたパーク番号を$nameさんに伝える。<br>"
                     . " 1-3.$nameさんはその番号を入力して発信する。<br>"
                     . "■取次ぎ方法2 転送<br> 2-1.「転送/音声メール」ボタンを押す。<br>"
                     . " 2-2.<font size=4><b>$naisen</b></font>を入力し「決定/発信」ボタンを押す。<br>"
                     . " 2-3.$nameさんが出たら切る。<br>"
                     . "   (転送をやめたい場合は「取消」ボタンを押す。)'";
         }
     }elsif($locate eq "新宿"){
         return "'■新宿電話番号<br>"
             . " 03-xxxx-xxxx'";
     }else{
         return "";
     }
 }
 sub shima{
     my $count=0;
     my $color="";
     my $koushin="";
     my $msg="";
 
     open(F,$_[0]);
     while(<F>){
         if($_=~/teamname=([\S\s]+),([0-9\-\/\s]+)/){
             print "■$1 ( $2)";
         }
         if($_=~/([0-9]*),([0-9\-]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             $color = &desidecolor("$4");
             if($3 ne ""){
                 $koushin="最終更新 $6";

             }else{
                 $koushin=" ";
                 $msg="";
             }
             $msg=&setmsg("$1","$3","$4");
             print <<"EOL";
             <table border=1 align="left">
             <tr>
             <td bgcolor ="$color" width="140" onMouseover="opentext($msg)" onMouseout="opentext('')">
             <font size = "1">$1 $2</font><br>
             <b>$3 </b><br>
             $4 <br>
             <font size = 2>$5 </font>
             <div align="right"><font size = 1>$koushin</font></div></td>
             </tr>
             </table>
 EOL
         $koushin="";
         next;
         }
         if($_=~/([0-9]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             $color = &desidecolor("$3");
             if($2 ne ""){
                 $koushin="最終更新 $5";
             }else{
                 $koushin=" ";
             }
             $msg=&setmsg("$1","$2","$3");
             if($count==0){print "<table border=1><tr>\n";}
             print <<"EOL";
             <td bgcolor ="$color" width="140" onMouseover="opentext($msg)" onMouseout="opentext('')"><font size = "1">$1 </font><br>
             <b>$2 </b><br>
             $3 <br>
             <font size = 2>$4 </font><br>
             <div align="right"><font size = 1>$koushin</font></div></td>
 EOL
             if($count==4){print "</tr><tr>";}
             if($count==9){print "</tr></table> <br>";}
             $count++;
             $koushin="";
         }
     }
 
     close(F);
 }
 
 
 print <<"EOL";
 Content-type: text/html
 
 <HTML>
     <HEAD>
         <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
         <TITLE>座席表 (山向き)</TITLE>
         <script type="text/javascript" src="zaseki_data/poptxt.js">
         </script>
     </HEAD>
 <BODY>
 [<a href="./zaseki_hyouji.cgi">最新の情報を表示する</a>] [<a href="./zaseki_koushin.cgi">出勤状況を更新する</a>] [<a href="./zaseki_gyaku.cgi">向きを逆にする</a>] [<a href="./zaseki_asami.cgi">ロケーション(休務)ごとに表示する</a>]
 <hr>
 <table>
     <tr>
         <td><table><tr><td bgcolor="#99CCCC" height="20" width="30"></td></tr></table></td>
         <td>・・・大手町</td>
         <td width="20"></td>
         <td><table><tr><td bgcolor="#99CC99" height="20" width="30"></td></tr></table></td>
         <td>・・・新宿</td>
         <td width="20"></td>
         <td><table><tr><td bgcolor="#9999CC" height="20" width="30"></td></tr></table></td>
         <td>・・・深夜勤務</td>
         <td width="20"></td>
         <td><table><tr><td bgcolor="gray" height="20" width="30"></td></tr></table></td>
         <td>・・・年休,週休,長期出張,研修,その他</td>
     </tr>
 </table>
 <br>
 EOL
 
 if ($ENV{'REQUEST_METHOD'} eq "POST") {
     &decode();
     &data_koushin();
 }
 @files = glob ("zaseki_data/*.txt");
 foreach $i (@files){
     &shima("$i");
 }
 
 
 
 print <<"EOL";
 <hr>
 [<a href="./zaseki_hyouji.cgi">最新の情報を表示する</a>] [<a href="./zaseki_koushin.cgi">出勤状況を更新する</a>] [<a href="./zaseki_gyaku.cgi">向きを逆にする</a>] [<a href="./zaseki_asami.cgi">ロケーション(休務)ごとに表示する</a>]
 
     </BODY>
 </HTML>
 EOL

***6-3.zaseki_gyaku.cgi [#a5321133]
 #!/usr/bin/perl
 
 sub desidecolor{
     if($_[0] eq "年休")    {return "gray";}
     if($_[0] eq "週休")    {return "gray";}
     if($_[0] eq "研修")    {return "gray";}
     if($_[0] eq "長期出張"){return "gray";}
     if($_[0] eq "その他")  {return "gray";}
     if($_[0] eq "深夜勤務"){return "#9999CC";}
     if($_[0] eq "大手町")  {return "#99CCCC";}
     if($_[0] eq "新宿")    {return "#99CC99";}
 }
 sub setmsg{
     my $naisen=$_[0];
     my $name=$_[1];
     my $locate=$_[2];
     if($locate eq "大手町" || $locate eq "深夜勤務"){
         if($naisen eq "0000"){return "";}
         else{
             return "'■取次ぎ方法1 パーク保留<br> 1-1.「パーク保留」ボタンを押す。<br>"
                     . " 1-2.表示されたパーク番号を$nameさんに伝える。<br>"
                     . " 1-3.$nameさんはその番号を入力して発信する。<br>"
                     . "■取次ぎ方法2 転送<br> 2-1.「転送/音声メール」ボタンを押す。<br>"
                     . " 2-2.<font size=4><b>$naisen</b></font>を入力し「決定/発信」ボタンを押す。<br>"
                     . " 2-3.$nameさんが出たら切る。<br>"
                     . "   (転送をやめたい場合は「取消」ボタンを押す。)'";
         }
     }elsif($locate eq "新宿"){
         return "'■新宿電話番号<br>"
             . " 03-xxxx-xxxx'";
     }else{
         return "";
     }
 }
 sub shima{
     my $linecnt=0;
     my $color="";
     my $koushin="";
     my $index=0;
     my @line;
     open(F,$_[0]);
     while(<F>){
         if($_=~/teamname=([\S\s]+),([0-9\-\/\s]+)/){
             print "■$1 ( $2)";
         }
         if($_=~/([0-9]*),([0-9\-]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             $line[$linecnt]=$_;
             $linecnt++;
             next;
         }
         if($_=~/([0-9]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             $line[$linecnt]=$_;
             $linecnt++;
         }
     }
     close(F);
     for ($index=$linecnt;$index>=0;$index--){
         if($line[$index]=~/([0-9]*),([0-9\-]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             $color = &desidecolor("$4");
             if($3 ne ""){
                 $koushin="最終更新 $6";
             }else{
                 $koushin=" ";
             }
             $msg=&setmsg("$1","$3","$4");
             print <<"EOL";
             <table border=1>
             <tr>
             <td bgcolor ="$color" width="140" onMouseover="opentext($msg)" onMouseout="opentext('')"><font size = "1">$1 $2</font><br>
             <b>$3 </b><br>
             $4 <br>
             <font size = 2>$5 </font>
             <div align="right"><font size = 1>$koushin</font></div></td>
             </tr>
             </table>
             <table>
             <tr>
             <td width="140"><font size = "1"> </font><br>
             <b> </b><br>
              <br>
             <font size = 2> </font>
             <div align="right"><font size = 1> </font></div></td>
             </tr>
             </table>
 EOL
         $koushin="";
         next;
         }
         if($line[$index]=~/([0-9]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             $color = &desidecolor("$3");
             if($2 ne ""){
                 $koushin="最終更新 $5";
             }else{
                 $koushin=" ";
             }
             $msg=&setmsg("$1","$2","$3");
             if($index==10){print "<table border=1  align=\"left\"><tr>\n";}
             print <<"EOL";
             <td bgcolor ="$color" width="140" onMouseover="opentext($msg)" onMouseout="opentext('')"><font size = "1">$1 </font><br>
             <b>$2 </b><br>
             $3 <br>
             <font size = 2>$4 </font><br>
             <div align="right"><font size = 1>$koushin</font></div></td>
 EOL
             if($index==6){print "</tr><tr>";}
             if($index==1){print "</tr></table>";}
             $koushin="";
         }
     }
     print "<br>";
 }
 
 
 print <<"EOL";
 Content-type: text/html
 
 <HTML>
     <HEAD>
         <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
         <TITLE>座席表 (海向き)</TITLE>
         <script type="text/javascript" src="zaseki_data/poptxt.js">
         </script>
     </HEAD>
 <BODY>
 EOL
 
 print <<EOL;
 [<a href="./zaseki_gyaku.cgi">最新の情報を表示する</a>] [<a href="./zaseki_koushin.cgi">出勤状況を更新する</a>] [<a href="./zaseki_hyouji.cgi">向きを逆にする</a>] [<a href="./zaseki_asami.cgi">ロケーション(休務)ごとに表示する</a>]
 <hr>
 <table>
     <tr>
         <td><table><tr><td bgcolor="#99CCCC" height="20" width="30"></td></tr></table></td>
         <td>・・・大手町</td>
         <td width="20"></td>
         <td><table><tr><td bgcolor="#99CC99" height="20" width="30"></td></tr></table></td>
         <td>・・・新宿</td>
         <td width="20"></td>
         <td><table><tr><td bgcolor="#9999CC" height="20" width="30"></td></tr></table></td>
         <td>・・・深夜勤務</td>
         <td width="20"></td>
         <td><table><tr><td bgcolor="gray" height="20" width="30"></td></tr></table></td>
         <td>・・・年休,週休,長期出張,研修,その他</td>
     </tr>
 </table>
 EOL
 
 @files = glob ("zaseki_data/*.txt");
 $count=@files;
 $ind;
 for ($ind=$count;$ind>=0;$ind--){
     &shima("$files[$ind]");
 }
 
 print <<"EOL";
 <hr>
 [<a href="./zaseki_gyaku.cgi">最新の情報を表示する</a>] [<a href="./zaseki_koushin.cgi">出勤状況を更新する</a>] [<a href="./zaseki_hyouji.cgi">向きを逆にする</a>] [<a href="./zaseki_asami.cgi">ロケーション(休務)ごとに表示する</a>]
     </BODY>
 </HTML>
 EOL

***6-4.zaseki_asami.cgi [#s3208208]
 #!/usr/bin/perl
 
 $globalcnt=0;
 @locations=("新宿","深夜勤務","年休","週休","研修","長期出張","その他","大手町");
 
 sub desidecolor{
     if($_[0] eq "年休")    {return "gray";}
     if($_[0] eq "週休")    {return "gray";}
     if($_[0] eq "研修")    {return "gray";}
     if($_[0] eq "長期出張"){return "gray";}
     if($_[0] eq "その他")  {return "gray";}
     if($_[0] eq "深夜勤務"){return "#9999CC";}
     if($_[0] eq "大手町")  {return "#99CCCC";}
     if($_[0] eq "新宿")    {return "#99CC99";}
 }
 sub shima{
     my $count=0;
     my $color="";
     my $koushin="";
     my $msg="";
     my $teamname="";
 
     my $color=&desidecolor("$_[1]");
     open(F,$_[0]);
     while(<F>){
         if($_=~/teamname=([\S\s]+),[0-9\-\/\s]+/){
             $teamname=$1;
         }
         if($_=~/([0-9]*),([0-9\-]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             if($4 eq $_[1]){
                 $count++;
             }
         next;
         }
         if($_=~/([0-9]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             if($3 eq $_[1]){
                 $count++;
             }
         }
     }
     $globalcnt=$globalcnt+$count;
     $teamname="<td width=150 rowspan=$count>$teamname</td>";
     open(F,$_[0]);
     while(<F>){
         if($_=~/([0-9]*),([0-9\-]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             if($4 eq $_[1]){
                 print <<EOL;
                 <tr bgcolor="$color">
                     $teamname
                     <td width=120>$3</td>
                     <td width=200>$5 </td>
                     <td><font size=2>最終更新 $6</font></td>
                 </tr>
 EOL
             $teamname="";
             }
         next;
         }
         if($_=~/([0-9]*),(\S*),(\S*),([\S\s]*),([0-9\s\/:]*)/){
             if($3 eq $_[1]){
                 print <<EOL;
                 <tr bgcolor="$color">
                     $teamname
                     <td width=120>$2</td>
                     <td width=200>$4 </td>
                     <td><font size=2>最終更新 $5</font></td>
                 </tr>
 EOL
             $teamname="";
             }
         }
     }
     close(F);
 }
 
 
 print <<"EOL";
 Content-type: text/html
 
 <HTML>
     <HEAD>
         <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
         <TITLE>朝ミ確認用</TITLE>
         <script type="text/javascript" src="zaseki_data/poptxt.js">
         </script>
     </HEAD>
 <BODY>
 [<a href="./zaseki_asami.cgi">最新の情報を表示する</a>] [<a href="./zaseki_hyouji.cgi">座席表を表示する</a>] [<a href="./zaseki_koushin.cgi">出勤状況を更新する</a>]
 <hr>
 <br>
 EOL
 foreach $locate(@locations){
     $globalcnt=0;
     print "■$locate<br><table border=1>";
     @files = glob ("zaseki_data/*.txt");
     foreach $team (@files){
         &shima("$team","$locate");
     }
     print "</table>";
     if($globalcnt==0){
         print "なし<br> <br>";
     }else{print " <br>";}
 }
 
 print <<"EOL";
 <hr>
 [<a href="./zaseki_asami.cgi">最新の情報を表示する</a>] [<a href="./zaseki_hyouji.cgi">座席表を表示する</a>] [<a href="./zaseki_koushin.cgi">出勤状況を更新する</a>]
 
     </BODY>
 </HTML>
 EOL

**7.改版履歴 [#d6a87859]
***090414(初版) [#a1cac902]
#ref(zaseki_koushin.cgi_090414.txt)
#ref(zaseki_hyouji.cgi_090414.txt)
#ref(zaseki_gyaku.cgi_090414.txt)
#ref(zaseki_asami.cgi_090414.txt)
#ref(zaseki1.txt)
#ref(zaseki2.txt)
#ref(zaseki3.txt)
#ref(zaseki4.txt)
#ref(zaseki5.txt)

※poptxt.jsは[[HIMAJIN>http://himajin.moo.jp/]]様のページから拝借いたしました。
 再配布になってしまうため、ここにはアップしません。
 ↑のリンクの「すぐに使えるJavaScript」→「ポップアップテキスト」です。

作った頃のメモ→[[メモメモ/2009-04-09]]、[[メモメモ/2009-04-12]]、[[メモメモ/2009-04-13]]
**バグ管理簿 [#od1d05c2]
//#ls2
#ls2

----
- みました。とりあえずHTML::Templateなどを使って、プログラムとHTMLコードを分けたほうがいいですね。保守しづらいと思います -- [[yusuketsuiki]] &new{2009-04-17 (金) 17:23:30};
- あ、どうもです。なんか早速バグっていたようで、データがめちゃめちゃ壊れていました。。&br;そんなライブラリがあるんですね!アドバイスありがとうございます! -- [[日向充]] &new{2009-04-17 (金) 19:50:18};
- ちょっとググって見ました。めちゃめちゃ便利そうですね。いつもアドバイスありがとうございます。 -- [[日向充]] &new{2009-04-17 (金) 19:56:51};

#comment
----
-[[Perlメモ]]
-[[プログラミング]]

#amazon_live(books-jp,search,Perl,48)
#amazon_search(small)


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS