スケジューラー、メイン画面

スケジューラーのメイン画面です。

1週間を表示します。

登録は、名前、部署、会議室など利用に合わせて設定します。

<?php
/*履歴
トップ画面
*/

include("./login_pdo.php");
include("./holiday.php"); #休日データ

#スクリプト名
$script = "index.php";

$ttt = "Weekly Schedule";

#編集ファイル
$edt = "./edit.php";

#入力簡易化
extract($_GET);

//名前・部署
$dept = array('名前1','名前2','名前3','名前4','名前5','名前6','会議室1','会議室2');

//入力文字。ペンアイコン<img src=img/pen1.png width=14 height=14 border=0>なども可
$pen = "./";

$memo = "入力するには画面右上からLOG IN。{$pen} をクリックします。";

if($user == ""){$user = $_GET['user']; }
if($role == ""){$role = $_GET['role']; }

//今日の日付
$kyo = date('Y/m/d');
$kyd = date('m/d');

//今週の日付を保持するための配列
$out_date = array();

//調整値
$week_start = array('0','-1','-2','-3','-4','-5','-6');
//曜日
$week_jp = array('日','月','火','水','木','金','土');

//初期値
if($role == ""){$role = 0;}

//翌週
$plus = $role + 1;
$minus = $role - 1;

//ロール日数
$rold = $role*7;

//date('w')で曜日のインデックスを取得する。
//例:今日が木曜日の場合、4を返す。
$week_index = $week_start[date('w')] + $rold;

?>

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf8">

<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="jquery.typetype.js"></script>

<script>
	//setTimeout関数でfadeOut()の実行を遅延させる
	setTimeout(function() {
		$('.msg').fadeOut();
	}, 5000);
</script>

<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css?family=Cherry+Swash|Kaushan+Script|M+PLUS+1p&display=swap" rel="stylesheet">

<title><?php echo $ttt; ?></title>
</head>

<body>

<?php

/*
echo "Today = $kyo<br>\n";
echo "Adjust = $week_index\n<br>------<br>\n";
echo "Role = $role / minus $minus : plus $plus<br>\n";
echo "Rold = $rold<br>\n";
*/

echo "<h1>{$ttt}</h1>";

echo "<div id=login>";
echo "<form name='form' method='GET' action={$_SERVER['SCRIPT_NAME']}>\n";

//ログイン
if($user == ""){
	echo "ログイン: ";
	echo "<SELECT name=user>\n";
	echo "<OPTION value=$user>$user</OPTION>\n";
		for ($i=0; $i<=7; $i++) {
			echo "<OPTION value={$i}>{$dept[$i]}</OPTION>\n";
		}
	echo "</SELECT> <input type=submit value='LOG IN'> ";
	echo "<input type=hidden name=role value='{$role}'>";
}
else{
	echo "<font color=red>{$dept[$user]} で、ログイン中</font> "; 
	echo "<input type=submit value='LOG OUT'>";
	echo "<input type=hidden name=user value=''>";
	echo "<input type=hidden name=role value='{$role}'>";
}

echo "</form>\n";
echo "</div>";

if($_GET['msg'] != ""){
echo "<div class=msg></div>";
}

?>

<!-- ★ジャンプバー -->
<table width="100%" align="center" border="0" cellpadding="0" cellspacing="1">
<tr bgcolor="#000000"><td>

<table width="98%" align="center" border="0">
<tr align="center">
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="GET"><td>
<select name="role">
<option value="-2">2週前
<option value="-3">3週前
<option value="-4">4週前
</select><input type=submit value="ジャンプ">
<input type="hidden" name="mode" value="view">
<input type="hidden" name="user" value="<?php echo $user; ?>">
</td></form>

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="GET"><td>
<input type="hidden" name="role" value="<?php echo $minus; ?>">
<input type="submit" value=" < 前  週  ">
<input type="hidden" name="user" value="<?php echo $user; ?>">
</td></form>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="GET"><td>
<input type="hidden" name="role" value="0">
<input type="submit" value="         今 週 に も ど る         ">
<input type="hidden" name="user" value="<?php echo $user; ?>">
</td></form>

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="GET"><td>
<input type="hidden" name="role" value="<?php echo $plus; ?>">
<input type="submit" value="  翌  週 > ">
<input type="hidden" name="mode" value="view">
<input type="hidden" name="user" value="<?php echo $user; ?>">
</td></form>

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="GET"><td>
<select name="role">
<option value="2">2週後
<option value="3">3週後
<option value="4">4週後
<option value="5">5週後
<option value="6">6週後
<option value="7">7週後
<option value="8">8週後
<option value="9">9週後
<option value="10">10週後
<option value="11">11週後
<option value="12">12週後
<option value="13">13週後
<option value="14">14週後
<option value="15">15週後
</select><input type=submit value="ジャンプ">
<input type="hidden" name="user" value="<?php echo $user; ?>">
</td></form>
</tr></table>
</td></tr></table>
<br>

<?php

//Week表示 日→土
echo "<table width=100% border=1 cellspacing=0 cellpadding=4 class=base>";
echo "<tr align=center bgcolor=#FFFFCC><td width=16% height=46>日付</td>";

for ($i=0; $i<7; $i++) {
     //今日が木曜日だとしたら、$week_indexが-4となるため、今日の日付から-4が日曜日。
     //そこから1週間分ループしながら表示する。
     $disp_date = strtotime(date('Y-m-d') . '+' . $week_index . 'days');
     $out_date = date('m/d', $disp_date); //表示用に日付
     $ful_date = date('Y-m-d', $disp_date); //表示用に日付
     
     $hol = $hdnm["$ful_date"]; //休日
     
     //今日の場合、背景に色つけ
     if($out_date == "$kyd"){$bcol = "bgcolor=#FFCC66"; }
     elseif($i == "0"){$bcol = "bgcolor=#ff6699";}
     elseif($i == "6"){$bcol = "bgcolor=#99ccff";}
     else{$bcol = ""; }
     
     //休日は赤表示
     if($hol !=""){$bcol = "bgcolor=#ff6699"; $hol = "<br><span class=hate>{$hol}</span>"; }

	echo "<td width=12% {$bcol} class=date>{$out_date}<span class=yobi>({$week_jp[$i]})</span>{$hol}</td>\n";

	//echo $week_index.": ";
	//echo $out_date."<br>\n";
	
	$days[] = $ful_date; //日~土までの日付を配列に入れる。
    $week_index++;
}
echo "</tr>\n\n";


////////////////////////////////////////////////////

### SQL
//SQLの準備
$sql = "SELECT user_c,date_c,com_c,office_c FROM `weekly` WHERE date_c between '$days[0]' and '$days[6]' ORDER BY user_c,date_c";

//SQL実行
$stmt = $dbh->query($sql);

//SQL結果の取り出し
while($row = $stmt -> fetch(PDO::FETCH_ASSOC)){
	extract($row);

		 if($date_c == "$days[0]"){$evt1 = "$com_c"; $evt[$user_c][0] = "$com_c"; $ofc[$user_c][0]= $office_c; }
		 if($date_c == "$days[1]"){$evt2 = "$com_c"; $evt[$user_c][1] = "$com_c"; $ofc[$user_c][1]= $office_c; }
		 if($date_c == "$days[2]"){$evt3 = "$com_c"; $evt[$user_c][2] = "$com_c"; $ofc[$user_c][2]= $office_c; }
		 if($date_c == "$days[3]"){$evt4 = "$com_c"; $evt[$user_c][3] = "$com_c"; $ofc[$user_c][3]= $office_c; }
		 if($date_c == "$days[4]"){$evt5 = "$com_c"; $evt[$user_c][4] = "$com_c"; $ofc[$user_c][4]= $office_c; }
		 if($date_c == "$days[5]"){$evt6 = "$com_c"; $evt[$user_c][5] = "$com_c"; $ofc[$user_c][5]= $office_c; }
		 if($date_c == "$days[6]"){$evt7 = "$com_c"; $evt[$user_c][6] = "$com_c"; $ofc[$user_c][6]= $office_c; }

		//echo "$user_c $date_c / $com_c<br>";
}
	

////////////////////////////////////////////////////


///ループ開始
for ($u=0; $u<=7; $u++) {

	//ユーザーカラー&入力リンク
	if($user != "" and $u == "$user"){
	$ucol = "<font color=red><strong>"; 
	$ip0 = "<a href={$edt}?user={$u}&ddd={$days[0]}&role={$role}>{$pen}</a>";
	$ip1 = "<a href={$edt}?user={$u}&ddd={$days[1]}&role={$role}>{$pen}</a>";
	$ip2 = "<a href={$edt}?user={$u}&ddd={$days[2]}&role={$role}>{$pen}</a>";
	$ip3 = "<a href={$edt}?user={$u}&ddd={$days[3]}&role={$role}>{$pen}</a>";
	$ip4 = "<a href={$edt}?user={$u}&ddd={$days[4]}&role={$role}>{$pen}</a>";
	$ip5 = "<a href={$edt}?user={$u}&ddd={$days[5]}&role={$role}>{$pen}</a>";
	$ip6 = "<a href={$edt}?user={$u}&ddd={$days[6]}&role={$role}>{$pen}</a>";
	}
	else{$ucol = ""; $ip0 = ""; $ip1 = ""; $ip2 = ""; $ip3 = ""; $ip4 = ""; $ip5 = ""; $ip6 = ""; }
	
	echo "<tr valign=top><td height=65>{$ucol}{$dept[$u]}</td>";

	if($ofc[$u][0] == ""){$ofc[$u][0] = 0; }
	if($ofc[$u][1] == ""){$ofc[$u][1] = 0; }
	if($ofc[$u][2] == ""){$ofc[$u][2] = 0; }
	if($ofc[$u][3] == ""){$ofc[$u][3] = 0; }
	if($ofc[$u][4] == ""){$ofc[$u][4] = 0; }
	if($ofc[$u][5] == ""){$ofc[$u][5] = 0; }
	if($ofc[$u][6] == ""){$ofc[$u][6] = 0; }
	
	//会議室・小会議室は、出席=空
	if($u >= 7){
	$ofc[$u][0] = "";
	$ofc[$u][1] = "";
	$ofc[$u][2] = "";
	$ofc[$u][3] = "";
	$ofc[$u][4] = "";
	$ofc[$u][5] = "";
	$ofc[$u][6] = "";
	}
	
	//出席スタイル
	$sty = "<div class=dkei>";
	
	//ゼロを表示しない場合のサンプル
	//if($ofc[$u][5] > 0){$n5 = $ofc[$u][5];} else{$n5 = ""; }
	
	echo "
	<td>{$ip0} {$sty}{$ofc[$u][0]}</div>{$evt[$u][0]}<br></td>
	<td>{$ip1} {$sty}{$ofc[$u][1]}</div>{$evt[$u][1]}<br></td>
	<td>{$ip2} {$sty}{$ofc[$u][2]}</div>{$evt[$u][2]}<br></td>
	<td>{$ip3} {$sty}{$ofc[$u][3]}</div>{$evt[$u][3]}<br></td>
	<td>{$ip4} {$sty}{$ofc[$u][4]}</div>{$evt[$u][4]}<br></td>
	<td>{$ip5} {$sty}{$ofc[$u][5]}</div>{$evt[$u][5]}<br></td>
	<td>{$ip6} {$sty}{$ofc[$u][6]}</div>{$evt[$u][6]}<br></td>";
	

}
///ループ終了

echo "</tr>";

//出勤数計算
$ok0 = $ofc[0][0] + $ofc[1][0] + $ofc[2][0] + $ofc[4][0] + $ofc[5][0] + $ofc[6][0]; 
$ok1 = $ofc[0][1] + $ofc[1][1] + $ofc[2][1] + $ofc[4][1] + $ofc[5][1] + $ofc[6][1]; 
$ok2 = $ofc[0][2] + $ofc[1][2] + $ofc[2][2] + $ofc[4][2] + $ofc[5][2] + $ofc[6][2]; 
$ok3 = $ofc[0][3] + $ofc[1][3] + $ofc[2][3] + $ofc[4][3] + $ofc[5][3] + $ofc[6][3]; 
$ok4 = $ofc[0][4] + $ofc[1][4] + $ofc[2][4] + $ofc[4][4] + $ofc[5][4] + $ofc[6][4]; 
$ok5 = $ofc[0][5] + $ofc[1][5] + $ofc[2][5] + $ofc[4][5] + $ofc[5][5] + $ofc[6][5]; 
$ok6 = $ofc[0][6] + $ofc[1][6] + $ofc[2][6] + $ofc[4][6] + $ofc[5][6] + $ofc[6][6]; 

echo "<tr height=65><td>出勤数<br></td>";
echo "<td align=center class=kei>$ok0</td>";
echo "<td align=center class=kei>$ok1</td>";
echo "<td align=center class=kei>$ok2</td>";
echo "<td align=center class=kei>$ok3</td>";
echo "<td align=center class=kei>$ok4</td>";
echo "<td align=center class=kei>$ok5</td>";
echo "<td align=center class=kei>$ok6</td>";

echo "</tr></table>";

echo "$okei";
echo "<div class=memo>{$memo}</div>";
echo $foot;


?>
<br>

<script>
$('.msg').typetype('<?php echo $_GET['msg']; ?>')
</script>

</body>
</html>