<?php

echo '<!-- ディレクトリ内のファイル表示プログラム -->'."\n";
echo '<!-- [2007/9/11]制作 by ゆ〜すけ @ http://yosilove.blog.shinobi.jp/ -->'."\n";


$csvfile = '0readme.csv';

//extract($_GET);//選択されたものを取得

$subject = array("select"=>"講義名を選択してください",
							"test"=>"テスト",
							"deg"=>"デジタルシステム設計",
							"ojt"=>"OJT（企業実習）",
							"dsp"=>"DSP",
							"hyu"=>"ヒューマンインターフェース", 
							"nyu"=>"ニューラルネットワーク",
							"pat"=>"パターン認識論" );

//echo '<center>subject</center><hr><pre>';var_dump($subject);echo '</pre><hr>';


$sel = $_GET['sel'];
if($sel == '') {
	$sel = 'select';
}

$sel = ereg_replace("\.","", $sel);	//「.」削除
$sel = ereg_replace("/","", $sel);	//「/」削除

//echo "select=".$sel."<br> \n";


echo '<html lang="ja">'."\n";
echo '<head>'."\n";
echo '<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">'."\n";
echo '<META HTTP-EQUIV="Content-STYLE-Type" CONTENT="text/html">'."\n";
echo '<LINK href="../mstyle.css" type="text/css" rel="stylesheet">'."\n";
echo '<title>３年次前期の課題</title>'."\n";
echo '</head>'."\n";
echo '<body>'."\n";
echo "<H1>３年次前期の課題</H1>"."\n";
echo "<HR>"."\n";


echo '<!-- プルダウンメニュー -->'."\n";
echo '<form action="ie_dir.php">'."\n";
print select("sel",$subject,1);
echo '<input type=submit value="表示"> '."\n";
echo '</form>'."\n";


//講義が選択されたらその講義のディレクトリを開く
if ( isset($sel) && $sel != 'select' ){
	$d = dir($sel);
	//echo "Handle: " . $d->handle . "\n";
	//echo "Path: " . $d->path . "\n";
}else{
	echo '<H2>'.$subject[$sel].'</H2>'."\n";
	echo '<hr>'."\n";
	echo '</body>'."\n";
	echo '</html>'."\n";
	exit;
}

$csvfilepath = './'.$sel.'/'.$csvfile;
$messages = read_csvfile($csvfilepath);

//echo '<center>messages</center><hr><pre>';var_dump($messages);echo '</pre><hr>';

echo "<H2>今は「".$subject[$sel]."」の課題を表示中</H2>";
if($messages['caption'][0] != ''){
	echo '<hr>'."\n";
	echo $messages['caption'][0];
}
echo '<HR>'."\n";

echo '<!-- ファイルの表示 -->'."\n";
$count = 0;
while (false !== ($entry = $d->read())) {
   //echo $entry."\n";
   
   $i = 1;   $inv = strncmp ( $entry, ".", $i ); //不可視ファイル？
   //echo "inv:".$inv."<BR>\n";
   
   $prefix = strpbrk ( $entry, '.');//拡張子は？
   //echo $prefix."<BR>\n";
   
   if ($inv != 0 && strncmp ( $prefix, "", $i )  && $entry != $csvfile){
    	echo '<h4>';
		echo '<A href="' . htmlspecialchars($d->path).'/'.htmlspecialchars(urlencode($entry)) . '">';
    	echo $entry.'('.$prefix.')</A>';
		echo '</h4>'."\n";
		
		echo $messages[$entry][0];
		
		echo '<br>'."\n";
		$count++;
   }
}
$d->close();

echo '<br><br><hr>'."\n";

if($messages['footer'][0] != ''){
	echo $messages['footer'][0];
	echo '<br>'."\n";
}

echo '</body>'."\n";
echo '</html>'."\n";


//-- ここからは関数 --//

/*プルダウンメニューを作成する関数*/
function select($aName, $aHashOption, $aDefault = null, $aAdditional = null) {
// $aName       : name 属性の値
// $aHashOption : リストのエントリ(連想配列のキーが value に、値がラベルになります)
// $aDefault    : 初期選択値。連想配列のキーを指定します。省略可。
// $aAdditional : select タグに付ける追加属性。省略可。

  $r = "<select name=\"$aName\"". ($aAdditional ? " $aAdditional" : "" ) .">\n";
  if( is_array($aHashOption) ) {
    foreach( $aHashOption as $value => $label ) {
      $r .= ' <option value="'. htmlspecialchars($value). '"'.
 ($aDefault == $value ? " selected" : "") .'>'.
 htmlspecialchars($label) . "\n";
    }
  }
  $r.= "</select>\n";
  return $r;
}

/*CSVファイルを読み込んで連想配列にして返す関数
*第一引数を配列のキーにする
*/
function read_csvfile($csvfilepath) {
	//echo 'CSV file = '.$csvfilepath.'<br>';
	if(file_exists($csvfilepath)){
		//echo 'success to find '.$csvfilepath.'<br>';
		$temp = array();
		$data = file($csvfilepath);
		//echo '<center>data (default)</center><hr><pre>';var_dump($data);echo '</pre><hr>';
		
		//ファイルの内容を連想配列に格納
		for ( $count = 0; $count < sizeof($data); $count++ ) {
			$data[$count] = ereg_replace( "\n", "", $data[ $count ] );	//改行コード削除
			//echo '<center>data['.$count.'](delete \n)</center><hr><pre>';var_dump($data[$count]);echo '</pre><hr>';
			
			$data[$count] = ereg_replace( "\r", "", $data[ $count ] );	//改行コード削除
			//echo '<center>data['.$count.'](delete \r)</center><hr><pre>';var_dump($data[$count]);echo '</pre><hr>';
			
			$temp[$count] = split( ',', $data[$count] );
			
		}
		//echo '<center>temp</center><hr><pre>';var_dump($temp);echo '</pre><hr>';
		
		//連想配列を使いやすい形に成形
		$count = 0;
		$csvdatas = array();
		while($count < count($temp)){
			foreach($temp[$count] as $key => $value){
				//printf( "[%d] %s <br>",$key,$value);
				if($key == 0){
					$title = $value;
					//echo $title.'<br>';
				}else{
					$csvdatas[$title][$key-1] = $value;
				}
			}
			$count++;
		}
		unset($temp);
		//echo '<center>messages</center><hr><pre>';var_dump($csvdatas);echo '</pre><hr>';
		
	}else{
		//echo 'can not find '.$csvfilepath.'<br>';
	}
	
	return $csvdatas;
}
?>
