201 lines
5.8 KiB
PHP
201 lines
5.8 KiB
PHP
<?php
|
|
require_once 'db.php';
|
|
require_once 'checkLogin.php';
|
|
@session_start();
|
|
//print_r($_SESSION);
|
|
/*
|
|
CREATE TABLE `obecnosc` (
|
|
`id` int(10) UNSIGNED NOT NULL,
|
|
`kto` int(10) UNSIGNED NOT NULL,
|
|
`data` date NOT NULL,
|
|
`czasZaczecia` time DEFAULT NULL,
|
|
`czasKonca` time DEFAULT NULL,
|
|
`status` int(10) UNSIGNED NOT NULL,
|
|
`zaakceptowane` tinyint(4) NOT NULL DEFAULT 0,
|
|
`zdalne` tinyint(1) NOT NULL DEFAULT 0,
|
|
`aktywne` tinyint(1) NOT NULL DEFAULT 1
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
*/
|
|
$workStarted = 0;
|
|
$workEnded = 0;
|
|
//sprawdzenie czy dzisiaj już rozpoczęto pracę, czy dziś już zakończono pracę, ustaw odpowiednio zmienne
|
|
$sql = "SELECT * FROM obecnosc WHERE kto = :kto AND data = :data AND aktywne = 1";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
|
|
$stmt->bindValue(':data', date('Y-m-d'), PDO::PARAM_STR);
|
|
$stmt->execute();
|
|
$work = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
if($work === false)
|
|
{
|
|
$workStarted = 0;
|
|
$workEnded = 0;
|
|
}
|
|
else
|
|
{
|
|
|
|
if($work['czasZaczecia'] != NULL)
|
|
{
|
|
$workStarted = 1;
|
|
}
|
|
if($work['czasKonca'] != NULL)
|
|
{
|
|
$workEnded = 1;
|
|
}
|
|
$sql = "SELECT * FROM statusy WHERE id = :id";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->bindValue(':id', $work['status'], PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
$status = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
if($status['oznaczaWolne'] == 1)
|
|
{
|
|
$workStarted = 1;
|
|
$workEnded = 1;
|
|
}
|
|
}
|
|
//sprawdź czy jakiś pracownik czeka na aktywację i jest tego użytkownik przełożonym, ustaw zmienną $uzytkownicyWaiting na ilość
|
|
$sql = "SELECT * FROM uzytkownicy WHERE aktywne = 0 AND przelozony = :przelozony";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->bindValue(':przelozony', $_SESSION['user_id'], PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
$uzytkownicyWaiting = $stmt->rowCount();
|
|
|
|
//pobierz listę id pracowników których przełożonym jest zalogowany użytkownik
|
|
$podlega = array();
|
|
$sql = "SELECT id FROM uzytkownicy WHERE przelozony = :przelozony AND aktywne = 1";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->bindValue(':przelozony', $_SESSION['user_id'], PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
$podlega = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
$podlegaIlosc = $stmt->rowCount();
|
|
//print_r($podlega);
|
|
//sprawdź czy któryś z tych pracowników ma nie zaaakceptowane dni, jeżeli tak to ustaw zmienną $daysWaiting na ilość
|
|
$daysWaiting = 0;
|
|
foreach($podlega as $podlega)
|
|
{
|
|
$sql = "SELECT * FROM obecnosc WHERE kto = :kto AND zaakceptowane = 0 AND aktywne = 1 AND data < :data";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->bindValue(':kto', $podlega['id'], PDO::PARAM_INT);
|
|
$stmt->bindValue(':data', date('Y-m-d'), PDO::PARAM_STR);
|
|
$stmt->execute();
|
|
$daysWaiting += $stmt->rowCount();
|
|
}
|
|
//print_r($daysWaiting);
|
|
?>
|
|
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Panel <?php echo $_SESSION["user_login"]; ?></title>
|
|
<link rel="stylesheet" type="text/css" href="style.css">
|
|
</head>
|
|
<body>
|
|
<div id="panel">
|
|
<header>
|
|
<h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
|
|
</header>
|
|
<nav>
|
|
<?php
|
|
require_once 'nav.php';
|
|
?>
|
|
</nav>
|
|
<div id="info">
|
|
<?php
|
|
echo @$_SESSION["innfoError"];
|
|
$_SESSION["innfoError"] = "";
|
|
?>
|
|
</div>
|
|
<main id="start">
|
|
<?php
|
|
if($workStarted == 0)
|
|
{
|
|
?>
|
|
<a href="workStart.php">
|
|
<h3>Rozpocznij dzisiejszą pracę</h3>
|
|
</a>
|
|
<?php
|
|
}
|
|
?>
|
|
<?php
|
|
if($workStarted == 1 && $workEnded == 0)
|
|
{
|
|
?>
|
|
<a href="workEnd.php">
|
|
<h3>Zakończ dzisiejszą pracę</h3>
|
|
</a>
|
|
<?php
|
|
}
|
|
$y = date('Y');
|
|
$m = date('m');
|
|
//pokaż miesiąc wcześniej
|
|
if($m == 1)
|
|
{
|
|
$m = 12;
|
|
$y--;
|
|
}
|
|
else
|
|
{
|
|
$m--;
|
|
}
|
|
?>
|
|
<a href='showMonthForm.php?month=<?php echo $y."-".$m; ?>'>
|
|
<h3>Raport za poprzedni miesiąc</h3>
|
|
</a>
|
|
<a href="showMonth.php">
|
|
<h3>Raport miesięczny</h3>
|
|
</a>
|
|
<a href="addDay.php">
|
|
<h3>Dodaj inny dzień</h3>
|
|
</a>
|
|
<a href="addFreeDay.php">
|
|
<h3>Dodaj wolne (wszystkie formy)</h3>
|
|
</a>
|
|
<a href="editDaySelect.php">
|
|
<h3>Edytuj dzień</h3>
|
|
</a>
|
|
<?php
|
|
if($uzytkownicyWaiting > 0)
|
|
{
|
|
?>
|
|
<a href="activateWorker.php">
|
|
<h3>Aktywuj konta pracowników - <?php echo $uzytkownicyWaiting; ?></h3>
|
|
</a>
|
|
<?php
|
|
}
|
|
?>
|
|
<?php
|
|
if($podlegaIlosc > 0)
|
|
{
|
|
?>
|
|
<a href="allWorkers.php">
|
|
<h3>Drukuj listy pracowników</h3>
|
|
</a>
|
|
<?php
|
|
}
|
|
?>
|
|
<?php
|
|
if($daysWaiting > 0)
|
|
{
|
|
?>
|
|
<a href="waitingForAcceptsUser_form.php">
|
|
<h3>Oczekująca ilość dni na akceptację - <?php echo $daysWaiting; ?></h3>
|
|
</a>
|
|
<?php
|
|
}
|
|
?>
|
|
<?php
|
|
if($_SESSION['user_admin'] == 1)
|
|
{
|
|
?>
|
|
<a href="dictionaries.php">
|
|
<h3>Edytuj słowniki/ustawienia</h3>
|
|
</a>
|
|
<?php
|
|
}
|
|
?>
|
|
</main>
|
|
</div>
|
|
<?php
|
|
require_once 'footer.php';
|
|
?>
|
|
</body>
|
|
</html>
|