init
							parent
							
								
									b0b4bc34d2
								
							
						
					
					
						commit
						a6b8d3285f
					
				| 
						 | 
				
			
			@ -1,132 +1 @@
 | 
			
		|||
# ---> Node
 | 
			
		||||
# Logs
 | 
			
		||||
logs
 | 
			
		||||
*.log
 | 
			
		||||
npm-debug.log*
 | 
			
		||||
yarn-debug.log*
 | 
			
		||||
yarn-error.log*
 | 
			
		||||
lerna-debug.log*
 | 
			
		||||
.pnpm-debug.log*
 | 
			
		||||
 | 
			
		||||
# Diagnostic reports (https://nodejs.org/api/report.html)
 | 
			
		||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
 | 
			
		||||
 | 
			
		||||
# Runtime data
 | 
			
		||||
pids
 | 
			
		||||
*.pid
 | 
			
		||||
*.seed
 | 
			
		||||
*.pid.lock
 | 
			
		||||
 | 
			
		||||
# Directory for instrumented libs generated by jscoverage/JSCover
 | 
			
		||||
lib-cov
 | 
			
		||||
 | 
			
		||||
# Coverage directory used by tools like istanbul
 | 
			
		||||
coverage
 | 
			
		||||
*.lcov
 | 
			
		||||
 | 
			
		||||
# nyc test coverage
 | 
			
		||||
.nyc_output
 | 
			
		||||
 | 
			
		||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
 | 
			
		||||
.grunt
 | 
			
		||||
 | 
			
		||||
# Bower dependency directory (https://bower.io/)
 | 
			
		||||
bower_components
 | 
			
		||||
 | 
			
		||||
# node-waf configuration
 | 
			
		||||
.lock-wscript
 | 
			
		||||
 | 
			
		||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
 | 
			
		||||
build/Release
 | 
			
		||||
 | 
			
		||||
# Dependency directories
 | 
			
		||||
node_modules/
 | 
			
		||||
jspm_packages/
 | 
			
		||||
 | 
			
		||||
# Snowpack dependency directory (https://snowpack.dev/)
 | 
			
		||||
web_modules/
 | 
			
		||||
 | 
			
		||||
# TypeScript cache
 | 
			
		||||
*.tsbuildinfo
 | 
			
		||||
 | 
			
		||||
# Optional npm cache directory
 | 
			
		||||
.npm
 | 
			
		||||
 | 
			
		||||
# Optional eslint cache
 | 
			
		||||
.eslintcache
 | 
			
		||||
 | 
			
		||||
# Optional stylelint cache
 | 
			
		||||
.stylelintcache
 | 
			
		||||
 | 
			
		||||
# Microbundle cache
 | 
			
		||||
.rpt2_cache/
 | 
			
		||||
.rts2_cache_cjs/
 | 
			
		||||
.rts2_cache_es/
 | 
			
		||||
.rts2_cache_umd/
 | 
			
		||||
 | 
			
		||||
# Optional REPL history
 | 
			
		||||
.node_repl_history
 | 
			
		||||
 | 
			
		||||
# Output of 'npm pack'
 | 
			
		||||
*.tgz
 | 
			
		||||
 | 
			
		||||
# Yarn Integrity file
 | 
			
		||||
.yarn-integrity
 | 
			
		||||
 | 
			
		||||
# dotenv environment variable files
 | 
			
		||||
.env
 | 
			
		||||
.env.development.local
 | 
			
		||||
.env.test.local
 | 
			
		||||
.env.production.local
 | 
			
		||||
.env.local
 | 
			
		||||
 | 
			
		||||
# parcel-bundler cache (https://parceljs.org/)
 | 
			
		||||
.cache
 | 
			
		||||
.parcel-cache
 | 
			
		||||
 | 
			
		||||
# Next.js build output
 | 
			
		||||
.next
 | 
			
		||||
out
 | 
			
		||||
 | 
			
		||||
# Nuxt.js build / generate output
 | 
			
		||||
.nuxt
 | 
			
		||||
dist
 | 
			
		||||
 | 
			
		||||
# Gatsby files
 | 
			
		||||
.cache/
 | 
			
		||||
# Comment in the public line in if your project uses Gatsby and not Next.js
 | 
			
		||||
# https://nextjs.org/blog/next-9-1#public-directory-support
 | 
			
		||||
# public
 | 
			
		||||
 | 
			
		||||
# vuepress build output
 | 
			
		||||
.vuepress/dist
 | 
			
		||||
 | 
			
		||||
# vuepress v2.x temp and cache directory
 | 
			
		||||
.temp
 | 
			
		||||
.cache
 | 
			
		||||
 | 
			
		||||
# Docusaurus cache and generated files
 | 
			
		||||
.docusaurus
 | 
			
		||||
 | 
			
		||||
# Serverless directories
 | 
			
		||||
.serverless/
 | 
			
		||||
 | 
			
		||||
# FuseBox cache
 | 
			
		||||
.fusebox/
 | 
			
		||||
 | 
			
		||||
# DynamoDB Local files
 | 
			
		||||
.dynamodb/
 | 
			
		||||
 | 
			
		||||
# TernJS port file
 | 
			
		||||
.tern-port
 | 
			
		||||
 | 
			
		||||
# Stores VSCode versions used for testing VSCode extensions
 | 
			
		||||
.vscode-test
 | 
			
		||||
 | 
			
		||||
# yarn v2
 | 
			
		||||
.yarn/cache
 | 
			
		||||
.yarn/unplugged
 | 
			
		||||
.yarn/build-state.yml
 | 
			
		||||
.yarn/install-state.gz
 | 
			
		||||
.pnp.*
 | 
			
		||||
 | 
			
		||||
config.php
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
# Attendance-list
 | 
			
		||||
 | 
			
		||||
## Install
 | 
			
		||||
1. Set up MySQL DB whit file db.sql
 | 
			
		||||
1. fill config.php.temp file
 | 
			
		||||
1. rename config.php.temp to config.php
 | 
			
		||||
 | 
			
		||||
## Licence
 | 
			
		||||
Attendance-list © 2023 by kry008 is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,113 @@
 | 
			
		|||
<?php
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST')
 | 
			
		||||
{
 | 
			
		||||
    require_once 'db.php';
 | 
			
		||||
    $sql = "INSERT INTO `dzialy` (`id`, `skrot`, `nazwa`, `aktywne`) VALUES
 | 
			
		||||
    (NULL, '".$_POST['departmentShort']."', '".$_POST['department']."', 1);";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    //wstaw pierwszego użytkownika
 | 
			
		||||
    $sql = "INSERT INTO `users` (`id`, `login`, `haslo`, `imie`, `nazwisko`, `dzial`, `przelozony`, `aktywne`) VALUES
 | 
			
		||||
    (NULL, '".$_POST['usernameUser']."', SHA1('".($_POST['passwordUser'])."'), '".$_POST['nameUser']."', '".$_POST['surnameUser']."', 1, 1, 1);";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    //usun plik index.php
 | 
			
		||||
    unlink("index.html");
 | 
			
		||||
    //zamien nazwę index.php.temp na index.php
 | 
			
		||||
    rename("index.php.temp", "index.php");
 | 
			
		||||
    //przejdź do index.php
 | 
			
		||||
    header("Location: index.php");
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
    <title>Instalacja</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="style.css">
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
    <div id="panel">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj</h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <main id="register">
 | 
			
		||||
 | 
			
		||||
                <?php
 | 
			
		||||
                    if(@isset($_SESSION['error']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo '<p class="error">'.$_SESSION['error'].'</p>';
 | 
			
		||||
                        unset($_SESSION['error']);
 | 
			
		||||
                    }
 | 
			
		||||
                ?>
 | 
			
		||||
                <table class="form">
 | 
			
		||||
                    <form method="post" action="_install.php">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                Skrypt zakłada że baza danych jest uzupełniona plikiem db.sql i config.php jest uzupełniony
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Login pierwszego użytkownika</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="usernameUser">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Hasło pierwszego użytkownika</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="password" name="passwordUser">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Imie</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="nameUser">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Nazwisko</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="surnameUser">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Nazwa działu</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="department">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Skrót działu</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="departmentShort" max="5">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="install" class="btn" value="Zainstaluj"/>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </form>
 | 
			
		||||
                </table>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//sprawdź czy użytkownik jest przełożonym $_POST['user'], jeżeli tak to dal danej daty $_POST['mm'] (YYYY-MM) ustaw obecności $_POST['user'] na zaakceptowane na 1
 | 
			
		||||
//jeżeli nie to $_SESSION["innfoError"] = "Nie jesteś przełożonym tego użytkownika" i wróć do panel.php
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id = :id AND przelozony = :przelozony";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST['user'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':przelozony', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
if($user === false)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION["innfoError"] = "Nie jesteś przełożonym tego użytkownika";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $sql = "UPDATE obecnosc SET zaakceptowane = 1 WHERE kto = :kto AND data LIKE :data";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':kto', $_POST['user'], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':data', $_POST['month'].'%', PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION["innfoError"] = "Zaakceptowano dni";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
<?php
 | 
			
		||||
//activate.php?id=ID
 | 
			
		||||
require_once 'db.php';  
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] === 'GET')
 | 
			
		||||
{
 | 
			
		||||
    if(isset($_GET['id']))
 | 
			
		||||
    {
 | 
			
		||||
        $id = $_GET['id'];
 | 
			
		||||
        $sql = "UPDATE uzytkownicy SET aktywne = 1 WHERE id = :id";
 | 
			
		||||
        $stmt = $pdo->prepare($sql);
 | 
			
		||||
        $stmt->bindValue(':id', $id, PDO::PARAM_INT);
 | 
			
		||||
        $stmt->execute();
 | 
			
		||||
        $_SESSION['innfoError'] = "Aktywowano użytkownika";
 | 
			
		||||
        header("Location: activateWorker.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Nie podano id użytkownika";
 | 
			
		||||
        header("Location: activateWorker.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nie podano id użytkownika";
 | 
			
		||||
    header("Location: activateWorker.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,85 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//wypisz wszystki użytkowników którzy mają status aktywne 0 i przelozony = id zalogowanego użytkownika, jeżeli nie ma takich to $_SESSION["innfoError"] = "Brak pracowników do aktywacji" i wróć do panel.php
 | 
			
		||||
$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();
 | 
			
		||||
$uzytkownicy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
if($uzytkownicy === false)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak pracowników do aktywacji";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    ?>
 | 
			
		||||
    
 | 
			
		||||
<!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="uzytkownicy">
 | 
			
		||||
            <table>
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <th>ID</th>
 | 
			
		||||
                    <th>IMIĘ</th>
 | 
			
		||||
                    <th>NAZWISKO</th>
 | 
			
		||||
                    <th>SKRÓT DZIAŁU</th>
 | 
			
		||||
                    <th>AKTYWOWAĆ?</th>
 | 
			
		||||
                </tr>
 | 
			
		||||
 | 
			
		||||
            <?php
 | 
			
		||||
            $i = 0;
 | 
			
		||||
            foreach($uzytkownicy as $user)
 | 
			
		||||
            {
 | 
			
		||||
                $i++;
 | 
			
		||||
                echo '<tr>';
 | 
			
		||||
                echo '<td>'.$user['id'].'</td>';
 | 
			
		||||
                echo '<td>'.$user['imie'].'</td>';
 | 
			
		||||
                echo '<td>'.$user['nazwisko'].'</td>';
 | 
			
		||||
                $sql = "SELECT * FROM dzialy WHERE id = :id";
 | 
			
		||||
                $stmt = $pdo->prepare($sql);
 | 
			
		||||
                $stmt->bindValue(':id', $user['dzial'], PDO::PARAM_INT);
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $dzial = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                echo '<td>'.$dzial['skrot'].'</td>';
 | 
			
		||||
                echo '<td><a href="activate.php?id='.$user['id'].'"><button>Aktywuj</button></a><br /><a href="delUser.php?id='.$user['id'].'"><button>Usuń</button></a></td>';
 | 
			
		||||
                echo '</tr>';
 | 
			
		||||
            }
 | 
			
		||||
            if($i == 0)
 | 
			
		||||
            {
 | 
			
		||||
                $_SESSION["innfoError"] = "Brak pracowników do aktywacji";
 | 
			
		||||
                header("Location: panel.php");
 | 
			
		||||
                exit();
 | 
			
		||||
            }   
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
                </table>
 | 
			
		||||
        </main>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,97 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//pobierz wszystkie dane użytkowników, których nie ma w tabeli admini kolumna kto
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id NOT IN (SELECT kto FROM admini) AND aktywne = 1";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$uzytkownicy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
//print_r($uzytkownicy);
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['addAdmin']))
 | 
			
		||||
{
 | 
			
		||||
    $user = $_POST['user'];
 | 
			
		||||
    $sql = "INSERT INTO admini (kto) VALUES (:kto)";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':kto', $user, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION['innfoError'] = "Dodano admina";
 | 
			
		||||
    header("Location: dictionaries.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="addAdmin.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <h3>Dodaj admina</h3>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="user">Wybierz użytkownika</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="user" id="user">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    foreach($uzytkownicy as $user)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        ?>
 | 
			
		||||
                                        <option value="<?php echo $user['id']; ?>"><?php echo $user['imie']." ".$user['nazwisko']." (".$user['login'].")"; ?></option>
 | 
			
		||||
                                        <?php
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="addAdmin" class="btn" value="Dodaj"/>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,109 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="addDay_form.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="day">Wybierz dzień</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="date" name="day" id="day" value="<?php echo date('Y-m-d'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="start">Rozpoczęcie pracy*</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="time" name="start" id="start">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="end">Zakończenie pracy*</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="time" name="end" id="end">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="status">Status</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="status" id="status">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    $sql = "SELECT * FROM statusy";
 | 
			
		||||
                                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                                    $stmt->execute();
 | 
			
		||||
                                    $statusy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
                                    foreach($statusy as $status)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo "<option value='".$status['id']."'>".$status['skrot']." - ".$status['nazwa']."</option>";
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2" style="text-align: center;">
 | 
			
		||||
                                <label for="zdalne">Praca zdalna (inna niż okazjonalna)</label>
 | 
			
		||||
                                <input type="checkbox" name="zdalne" id="zdalne" value="1">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                * - opcjonalne przy statusach oznaczających wolne
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="submit" value="Dodaj dzień">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='panel.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,86 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
//sprawdź czy ten dzień jeszcze nie był dodany
 | 
			
		||||
$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', $_POST['day'], PDO::PARAM_STR);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$work = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
if($work !== false)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Ten dzień już został dodany!";
 | 
			
		||||
    header('Location: addDay.php');
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//sprawdź czy podano godzinę rozpoczęcia i zakończenia pracy, jeżeli nie to ustaw NULL
 | 
			
		||||
if($_POST['start'] == "")
 | 
			
		||||
{
 | 
			
		||||
    $start = NULL;
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $start = $_POST['start'];
 | 
			
		||||
}
 | 
			
		||||
if($_POST['end'] == "")
 | 
			
		||||
{
 | 
			
		||||
    $end = NULL;
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $end = $_POST['end'];
 | 
			
		||||
}
 | 
			
		||||
//jeżeli status oznaczaWolne == 0 to sprawdź czy jest podana godzina rozpoczęcia i zakończenia pracy, zakończenie musi być większe od rozpoczęcia
 | 
			
		||||
$sql = "SELECT * FROM statusy WHERE id = :id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST['status'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$status = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
if($status['oznaczaWolne'] == 0)
 | 
			
		||||
{
 | 
			
		||||
    if($_POST['start'] == "" || $_POST['end'] == "")
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Musisz podać godzinę rozpoczęcia i zakończenia pracy!";
 | 
			
		||||
        header('Location: addDay.php');
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    if($_POST['start'] >= $_POST['end'])
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Godzina zakończenia pracy musi być większa od godziny rozpoczęcia pracy!";
 | 
			
		||||
        header('Location: addDay.php');
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $end = NULL;
 | 
			
		||||
    $start = NULL;
 | 
			
		||||
}
 | 
			
		||||
//jeżeli status oznaczaWolne == 1 to praca zdalna zawsze będzie 0
 | 
			
		||||
if($status['oznaczaWolne'] == 1)
 | 
			
		||||
{
 | 
			
		||||
    $zdalne = 0;
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $zdalne = $_POST['zdalne'];
 | 
			
		||||
}
 | 
			
		||||
//dodaj dzień do bazy
 | 
			
		||||
$sql = "INSERT INTO obecnosc VALUES (NULL, :kto, :data, :start, :end, :status, 0, :zdalne, 1)";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':data', $_POST['day'], PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':start', $start, PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':end', $end, PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':status', $_POST['status'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':zdalne', $zdalne, PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$_SESSION['innfoError'] = "Dzień został dodany!";
 | 
			
		||||
header('Location: addDay.php');
 | 
			
		||||
exit();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,98 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
/*
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `dzialy` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `skrot` varchar(25) NOT NULL,
 | 
			
		||||
    `nazwa` text NOT NULL,
 | 
			
		||||
    `aktywne` int(11) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    UNIQUE KEY `skrot` (`skrot`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
*/
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['addDepartment']))
 | 
			
		||||
{
 | 
			
		||||
    $name = trim($_POST['name']);
 | 
			
		||||
    $skrot = trim($_POST['skrot']);
 | 
			
		||||
    $sql = "INSERT INTO dzialy (skrot, nazwa) VALUES (:skrot, :nazwa)";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':skrot', $skrot, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':nazwa', $name, PDO::PARAM_STR);
 | 
			
		||||
    $result = $stmt->execute();
 | 
			
		||||
    if($result)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION["innfoError"] = "Dodano dział";
 | 
			
		||||
        header("Location: dictionaries.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION["innfoError"] = "Błąd dodawania działu";
 | 
			
		||||
        header("Location: dictionaries.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="addDepartment.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Nazwa działu</td>
 | 
			
		||||
                            <td><input type="text" name="name" required></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Skrót działu</td>
 | 
			
		||||
                            <td><input type="text" name="skrot" required></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td></td>
 | 
			
		||||
                            <td><input type="submit" name="addDepartment" value="Dodaj"></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,111 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['addFree']))
 | 
			
		||||
{
 | 
			
		||||
    //sprawdź czy podany dzień nie jest już wpisany do bazy
 | 
			
		||||
    /*
 | 
			
		||||
        CREATE TABLE `dniwolne` (
 | 
			
		||||
        `id` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
        `data` date NOT NULL,
 | 
			
		||||
        `nazwaSwieta` text NOT NULL,
 | 
			
		||||
        `aktywne` int(1) NOT NULL DEFAULT 1
 | 
			
		||||
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    $data = $_POST['data'];
 | 
			
		||||
    //sprawdź czy data jest przyszła
 | 
			
		||||
    $today = date("Y-m-d");
 | 
			
		||||
    if($data < $today)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Podana data jest z przeszłości";
 | 
			
		||||
        header("Location: dictionaries.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $nazwaSwieta = $_POST['nazwaSwieta'];
 | 
			
		||||
    $sql = "SELECT * FROM dniwolne WHERE data = :data";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':data', $data, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $count = $stmt->rowCount();
 | 
			
		||||
    if($count > 0)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Podany dzień jest już w bazie";
 | 
			
		||||
        header("Location: dictionaries.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    $sql = "INSERT INTO dniwolne (data, nazwaSwieta) VALUES (:data, :nazwaSwieta)";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':data', $data, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':nazwaSwieta', $nazwaSwieta, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION['innfoError'] = "Dodano dzień wolny";
 | 
			
		||||
    header("Location: dictionaries.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="addFree.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Data</td>
 | 
			
		||||
                            <td><input type="date" name="data" required min="<?php echo date("Y-m-d"); ?>"></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Nazwa święta</td>
 | 
			
		||||
                            <td><input type="text" name="nazwaSwieta" required></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2"><input type="submit" name="addFree" value="Dodaj"></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='dictionaries.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,91 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="addFreeDay_form.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="dateFirst">Wybierz pierwszy dzień</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="date" name="dateFirst" id="dateFirst" value="<?php echo date('Y-m-d'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="dateLast">Wybierz ostatni dzień</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="date" name="dateLast" id="dateLast" value="<?php echo date('Y-m-d'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="status">Status</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="status" id="status">
 | 
			
		||||
                                <option value="0" disabled selected>Wybierz status</option>
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    $sql = "SELECT * FROM statusy WHERE oznaczaWolne = 1";
 | 
			
		||||
                                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                                    $stmt->execute();
 | 
			
		||||
                                    $statusy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
                                    foreach($statusy as $status)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo "<option value='".$status['id']."'>".$status['skrot']." - ".$status['nazwa']."</option>";
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="submit" value="Dodaj dzień">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='panel.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,95 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//CREATE TABLE `dniwolne` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `data` DATE NOT NULL , `nazwaSwieta` TEXT NOT NULL , `aktywne` INT(1) NOT NULL DEFAULT '1' , PRIMARY KEY (`id`)) ENGINE = InnoDB;
 | 
			
		||||
 | 
			
		||||
//w post jest przekazany start i koniec dat, sprawdź czy w tym przedziale (włącznie) nie ma już wpisanej obecności
 | 
			
		||||
//jeżeli jest to wyświetl błąd $_SESSION['innfoError']
 | 
			
		||||
$start = $_POST['dateFirst'];
 | 
			
		||||
$end = $_POST['dateLast'];
 | 
			
		||||
//sprawdź czy data końcowa jest późniejsza niż data początkowa
 | 
			
		||||
if($end < $start)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Data końcowa nie może być wcześniejsza niż data początkowa";
 | 
			
		||||
    header('Location: addFreeDay.php');
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//sprawdź czy id statusu ma oznaczaWolne = 1
 | 
			
		||||
$sql = "SELECT * FROM statusy WHERE id = :id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST['status'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$status = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
if($status['oznaczaWolne'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Wybrany status nie oznacza wolnego";
 | 
			
		||||
    header('Location: addFreeDay.php');
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//wpisz do tablicy wszystkie daty, poniedziałek-piątek w danym przedziale
 | 
			
		||||
$dates = [];
 | 
			
		||||
$day = $start;
 | 
			
		||||
while($day <= $end)
 | 
			
		||||
{
 | 
			
		||||
    //sprawdź czy sobota lub niedziela
 | 
			
		||||
    if(date('N', strtotime($day)) < 6)
 | 
			
		||||
    {
 | 
			
		||||
        $dates[] = $day;
 | 
			
		||||
    }
 | 
			
		||||
    $day = date('Y-m-d', strtotime($day.' + 1 day'));
 | 
			
		||||
}
 | 
			
		||||
//sprawdź czy w danym przedziale nie ma już wpisanej obecności
 | 
			
		||||
$sql = "SELECT * FROM obecnosc WHERE kto = :kto AND data BETWEEN :start AND :end AND aktywne = 1";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':start', $start, PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':end', $end, PDO::PARAM_STR);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$work = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
if($work !== false)
 | 
			
		||||
{
 | 
			
		||||
    foreach($work as $day)
 | 
			
		||||
    {
 | 
			
		||||
        if(in_array($day['data'], $dates))
 | 
			
		||||
        {
 | 
			
		||||
            $_SESSION['innfoError'] = "W danym przedziale jest już wpisana obecność";
 | 
			
		||||
            header('Location: addFreeDay.php');
 | 
			
		||||
            exit();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
//pobierz wszystkie wolne z tego przedziału z tabeli dniwolne
 | 
			
		||||
$sql = "SELECT * FROM dniwolne WHERE data BETWEEN :start AND :end AND aktywne = 1";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':start', $start, PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':end', $end, PDO::PARAM_STR);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$wolne = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
//sprawdź czy w danym przedziale nie ma już wpisanych dni wolnych, jeżeli tak to usuń je z tablicy $dates
 | 
			
		||||
if($wolne !== false)
 | 
			
		||||
{
 | 
			
		||||
    foreach($wolne as $day)
 | 
			
		||||
    {
 | 
			
		||||
        if(in_array($day['data'], $dates))
 | 
			
		||||
        {
 | 
			
		||||
            $key = array_search($day['data'], $dates);
 | 
			
		||||
            unset($dates[$key]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//jeżeli nie ma wpisanej obecności w danym przedziale to dodaj wpisy
 | 
			
		||||
foreach($dates as $day)
 | 
			
		||||
{
 | 
			
		||||
    $sql = "INSERT INTO obecnosc VALUES (NULL, :kto, :data, NULL, NULL, :status, 0, 0, 1)";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':data', $day, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':status', $_POST['status'], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
}
 | 
			
		||||
$_SESSION['innfoError'] = "Wolne zostało dodane";
 | 
			
		||||
header('Location: addFreeDay.php');
 | 
			
		||||
exit();
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,74 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
//pobierz listę danych pracowników których przełożonym jest zalogowany użytkownik
 | 
			
		||||
$podlega = array();
 | 
			
		||||
$sql = "SELECT id, imie, nazwisko 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);
 | 
			
		||||
//print_r($podlega);
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="allWorkersMonth.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="user">Wybierz pracownika:</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="user" id="user">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    foreach($podlega as $user)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo '<option value="'.$user['id'].'">'.$user['imie'].' '.$user['nazwisko'].'</option>';
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="show" value="Pokaż">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,71 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//sprawdź czy użytkownik jest przełożonym tego pracownik $_POST["user"]
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id = :id AND przelozony = :przelozony";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':przelozony', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
if($user === false)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION["innfoError"] = "Nie jesteś przełożonym tego pracownika";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="waitingForAcceptsShow.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="mm">Pokaż miesiąc:</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="month" name="mm" id="mm" value="<?php echo date('Y-m'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="hidden" name="user" value="<?php echo $_POST['user']; ?>">
 | 
			
		||||
                                <input type="submit" name="show" value="Pokaż">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
<?php
 | 
			
		||||
@session_start();
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
if($_SESSION['user_login_mark'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    header("Location: index.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
<?php
 | 
			
		||||
$host = "localhost";
 | 
			
		||||
$db = "YOURDBNAME";
 | 
			
		||||
$dbUser = "root";
 | 
			
		||||
$dbPassword = "";
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once('config.php');
 | 
			
		||||
$pdo = new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8',$dbUser,$dbPassword);
 | 
			
		||||
if(!$pdo) {
 | 
			
		||||
    die('Could not connect');
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,118 @@
 | 
			
		|||
CREATE TABLE IF NOT EXISTS `dniwolne` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `data` date NOT NULL,
 | 
			
		||||
    `nazwaSwieta` text NOT NULL,
 | 
			
		||||
    `aktywne` int(1) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `dzialy` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `skrot` varchar(25) NOT NULL,
 | 
			
		||||
    `nazwa` text NOT NULL,
 | 
			
		||||
    `aktywne` int(11) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    UNIQUE KEY `skrot` (`skrot`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `logi` (
 | 
			
		||||
    `id` bigint(20) NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `log` text NOT NULL,
 | 
			
		||||
    PRIMARY KEY (`id`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `obecnosc` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `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,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    KEY `kto` (`kto`),
 | 
			
		||||
    KEY `status` (`status`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `statusy` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `skrot` varchar(10) NOT NULL,
 | 
			
		||||
    `nazwa` text NOT NULL,
 | 
			
		||||
    `oznaczaWolne` tinyint(1) NOT NULL DEFAULT 0,
 | 
			
		||||
    `aktywne` tinyint(4) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    UNIQUE KEY `skrot` (`skrot`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `uzytkownicy` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `login` text NOT NULL,
 | 
			
		||||
    `haslo` text NOT NULL,
 | 
			
		||||
    `imie` text NOT NULL,
 | 
			
		||||
    `nazwisko` text NOT NULL,
 | 
			
		||||
    `dzial` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
    `przelozony` int(10) UNSIGNED DEFAULT NULL,
 | 
			
		||||
    `aktywne` int(1) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    KEY `dzial` (`dzial`),
 | 
			
		||||
    KEY `przelozony` (`przelozony`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
 | 
			
		||||
ALTER TABLE
 | 
			
		||||
    `obecnosc`
 | 
			
		||||
ADD
 | 
			
		||||
    CONSTRAINT `obecnosc_ibfk_1` FOREIGN KEY (`kto`) REFERENCES `uzytkownicy` (`id`),
 | 
			
		||||
ADD
 | 
			
		||||
    CONSTRAINT `obecnosc_ibfk_2` FOREIGN KEY (`status`) REFERENCES `statusy` (`id`);
 | 
			
		||||
 | 
			
		||||
ALTER TABLE
 | 
			
		||||
    `uzytkownicy`
 | 
			
		||||
ADD
 | 
			
		||||
    CONSTRAINT `uzytkownicy_ibfk_1` FOREIGN KEY (`dzial`) REFERENCES `dzialy` (`id`),
 | 
			
		||||
ADD
 | 
			
		||||
    CONSTRAINT `uzytkownicy_ibfk_2` FOREIGN KEY (`przelozony`) REFERENCES `uzytkownicy` (`id`);
 | 
			
		||||
 | 
			
		||||
INSERT INTO
 | 
			
		||||
    `dniwolne` (`id`, `data`, `nazwaSwieta`, `aktywne`)
 | 
			
		||||
VALUES
 | 
			
		||||
    (
 | 
			
		||||
        1,
 | 
			
		||||
        '2023-08-15',
 | 
			
		||||
        'Wniebowzięcie Najświętszej Maryi Panny',
 | 
			
		||||
        1
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
INSERT INTO
 | 
			
		||||
    `statusy` (
 | 
			
		||||
        `id`,
 | 
			
		||||
        `skrot`,
 | 
			
		||||
        `nazwa`,
 | 
			
		||||
        `oznaczaWolne`,
 | 
			
		||||
        `aktywne`
 | 
			
		||||
    )
 | 
			
		||||
VALUES
 | 
			
		||||
    (1, 'OB', 'OBECNY/A', 0, 1),
 | 
			
		||||
    (2, 'UW', 'URLOP WYPOCZYNKOWY', 1, 1),
 | 
			
		||||
    (3, 'UO', 'URLOP OKOLICZNOŚCIOWY', 1, 1),
 | 
			
		||||
    (4, 'UR', 'URLOP REHABILITACYJNY', 1, 1),
 | 
			
		||||
    (5, 'OP', 'OPIEKA NAD DZIECKIEM', 1, 1),
 | 
			
		||||
    (6, 'D', 'DELEGACJA', 1, 1),
 | 
			
		||||
    (7, 'L4', 'ZWOLNIENIE LEKARSKIE - CHOROBA', 1, 1),
 | 
			
		||||
    (8, 'UB', 'URLOP BEZPŁATNY', 1, 1),
 | 
			
		||||
    (9, 'UŻ', 'URLOP NA ŻĄDANIE', 1, 1),
 | 
			
		||||
    (10, 'WŚ', 'WOLNE ZA ŚWIĘTO', 1, 1),
 | 
			
		||||
    (11, 'OPZ', 'Okazjonalna PZ', 0, 1);
 | 
			
		||||
 | 
			
		||||
CREATE TABLE `admini` (
 | 
			
		||||
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `kto` INT UNSIGNED NOT NULL,
 | 
			
		||||
    `odKiedy` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
 | 
			
		||||
    PRIMARY KEY (`id`)
 | 
			
		||||
) ENGINE = InnoDB;
 | 
			
		||||
 | 
			
		||||
INSERT INTO
 | 
			
		||||
    `admini` (`id`, `kto`, `odKiedy`)
 | 
			
		||||
VALUES
 | 
			
		||||
    (NULL, '1', CURRENT_TIMESTAMP)
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,93 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//pobierz wszystki użytkwoników którzy zanjdują się w tabeli admini po za obecnie zalogowanym
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id IN (SELECT kto FROM admini) AND id != :id AND aktywne = 1";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$uzytkownicy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
//print_r($uzytkownicy);
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['delAdmin']))
 | 
			
		||||
{
 | 
			
		||||
    $user = $_POST['user'];
 | 
			
		||||
    $sql = "DELETE FROM admini WHERE kto = :kto";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':kto', $user, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION['innfoError'] = "Usunięto admina";
 | 
			
		||||
    header("Location: dictionaries.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="delAdmin.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="user">Wybierz użytkownika</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="user" id="user">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    foreach($uzytkownicy as $user)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        ?>
 | 
			
		||||
                                        <option value="<?php echo $user['id']; ?>"><?php echo $user['imie']." ".$user['nazwisko']." (".$user['login'].")"; ?></option>
 | 
			
		||||
                                        <?php
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="delAdmin" value="Usuń admina">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,109 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
/*
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `dzialy` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `skrot` varchar(25) NOT NULL,
 | 
			
		||||
    `nazwa` text NOT NULL,
 | 
			
		||||
    `aktywne` int(11) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    UNIQUE KEY `skrot` (`skrot`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
*/
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//chodzi o zaaktualizowanie aktywne na 0
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['delDepartment']))
 | 
			
		||||
{
 | 
			
		||||
    $id = $_POST['id'];
 | 
			
		||||
    $sql = "UPDATE dzialy SET aktywne = 0 WHERE id = :id";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':id', $id, PDO::PARAM_INT);
 | 
			
		||||
    $result = $stmt->execute();
 | 
			
		||||
    if($result)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION["innfoError"] = "Usunięto dział";
 | 
			
		||||
        header("Location: dictionaries.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION["innfoError"] = "Błąd usuwania działu";
 | 
			
		||||
        header("Location: dictionaries.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="delDepartment.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Wybierz dział</td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="id">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    $sql = "SELECT * FROM dzialy WHERE aktywne = 1";
 | 
			
		||||
                                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                                    $stmt->execute();
 | 
			
		||||
                                    while($row = $stmt->fetch(PDO::FETCH_ASSOC))
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo "<option value='".$row['id']."'>".$row['nazwa']."(".$row['skrot'].")</option>";
 | 
			
		||||
                                    }
 | 
			
		||||
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2"><input type="submit" name="delDepartment" value="Usuń dział"></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <!-- anuluj -->
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='dictionaries.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
<?php
 | 
			
		||||
//delUser.php?id=ID
 | 
			
		||||
//zamień aktywne na 2
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] === 'GET')
 | 
			
		||||
{
 | 
			
		||||
    $id = $_GET['id'];
 | 
			
		||||
    $sql = "UPDATE uzytkownicy SET aktywne = 2 WHERE id = :id";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':id', $id, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION["innfoError"] = "Użytkownik został usunięty";
 | 
			
		||||
    header("Location: activateWorker.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION["innfoError"] = "Niepoprawne dane";
 | 
			
		||||
    header("Location: activateWorker.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,101 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id NOT IN (SELECT kto FROM admini) AND aktywne = 1";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$uzytkownicy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
//print_r($uzytkownicy);
 | 
			
		||||
$countuzytkownicy = $stmt->rowCount();
 | 
			
		||||
//policz adminów
 | 
			
		||||
$sql = "SELECT * FROM admini";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$admins = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
$countAdmins = $stmt->rowCount();
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
<!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">
 | 
			
		||||
            <a href="panel.php">
 | 
			
		||||
                <h3>Wróć</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a><h3>Nie usuwasz danych, tylko je dezaktywujesz (nie będzie możliwości ich wyboru)</h3></a>
 | 
			
		||||
            <?php
 | 
			
		||||
            if($countuzytkownicy > 0)
 | 
			
		||||
            {
 | 
			
		||||
                ?>
 | 
			
		||||
            <a href="addAdmin.php">
 | 
			
		||||
                <h3>Dodanie admina</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
                <?php
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
            <?php
 | 
			
		||||
            if($countAdmins > 1)
 | 
			
		||||
            {
 | 
			
		||||
                ?>
 | 
			
		||||
            <a href="delAdmin.php">
 | 
			
		||||
                <h3>Usunięcie admina</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
                <?php
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
            <a href="addDepartment.php">
 | 
			
		||||
                <h3>Dodanie działu</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a href="delDepartment.php">
 | 
			
		||||
                <h3>Usunięcie działu</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a href="addFree.php">
 | 
			
		||||
                <h3>Dodanie wolnego</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a href="statAdd.php">
 | 
			
		||||
                <h3>Dodaj status</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a href="statDel.php">
 | 
			
		||||
                <h3>Usuń status</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a href="printWorkerForm.php">
 | 
			
		||||
                <h3>Wydrukuj listy pracownika</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a href="passReset.php">
 | 
			
		||||
                <h3>Resetuj hasło użytkownika</h3>
 | 
			
		||||
            </a>
 | 
			
		||||
        </main>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,63 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="editDaySelectForm.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="date">Wybierz dzień</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="date" name="date" id="date" value="<?php echo date('Y-m-d'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2" style="text-align: center;">
 | 
			
		||||
                                <input type="submit" value="Wybierz">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='panel.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,149 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//sprawdź czy dane zostały przesłane w post, $_POST['date'] a także czy to jest data
 | 
			
		||||
if(!(strtotime($_POST["date"])!== false))
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nioeprawidłowa data";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//pobierz dane o tym dniu z bazy, połącz z tabelą statusy
 | 
			
		||||
$sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.status = statusy.id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':data', $_POST['date'], PDO::PARAM_STR);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$work = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
//sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
if($work === false)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Brak danych o tym dniu";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//sprawdź czy sobota lub niedziela
 | 
			
		||||
if(date('N', strtotime($_POST['date'])) > 5)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nie można edytować weekendu";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="editDaySelectFormEdit.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Wybrany dzień</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="date"value="<?php echo $_POST['date']; ?>" disabled>
 | 
			
		||||
                                <input type="hidden" name="date" value="<?php echo $_POST['date']; ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="start">Rozpoczęcie pracy*</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="time" name="start" id="start" value="<?php echo $work['czasZaczecia']; ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="end">Zakończenie pracy*</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="time" name="end" id="end" value="<?php echo $work['czasKonca']; ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2" style="text-align: center;">
 | 
			
		||||
                                <hr />
 | 
			
		||||
                                <label for="clearTime">Zaznacz tutaj aby wyczyścić czas pracy, <br />jeżeli status oznacza wolne zostanie automatycznie czas usunięty</label><br />
 | 
			
		||||
                                <input type="checkbox" name="clearTime" id="clearTime">
 | 
			
		||||
                                <hr />
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="status">Status</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="status" id="status">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    $sql = "SELECT * FROM statusy";
 | 
			
		||||
                                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                                    $stmt->execute();
 | 
			
		||||
                                    $statusy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
                                    foreach($statusy as $status)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        if($status['id'] == $work['status'])
 | 
			
		||||
                                        {
 | 
			
		||||
                                            echo "<option value='".$status['id']."' selected>".$status['skrot']." - ".$status['nazwa']."</option>";
 | 
			
		||||
                                        }
 | 
			
		||||
                                        else
 | 
			
		||||
                                        {
 | 
			
		||||
                                            echo "<option value='".$status['id']."'>".$status['skrot']." - ".$status['nazwa']."</option>";
 | 
			
		||||
                                        }
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2" style="text-align: center;">
 | 
			
		||||
                                <label for="zdalne">Praca zdalna (inna niż okazjonalna)</label>
 | 
			
		||||
                                <input type="checkbox" name="zdalne" id="zdalne" <?php if($work['zdalne'] == 1) echo "checked"; ?>>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2" style="text-align: center;">
 | 
			
		||||
                                <input type="submit" value="Edytuj">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='panel.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,97 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//print_r($_POST);
 | 
			
		||||
//sprawdź czy dane zostały przesłane w post, data (DD-MM-RRRR), start (HH:MM), end (HH:MM), status (id statusu), zdalne (checkbox), clearTime (checkbox)
 | 
			
		||||
//zweryfikuj poprawność wszystkich danych, a także czy dany dzień jest w bazie
 | 
			
		||||
if(!(strtotime($_POST["date"])!== false))
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nioeprawidłowa data1";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
if(!(strtotime($_POST["start"])!== false))
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nioeprawidłowa godzina rozpoczęcia";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
if(!(strtotime($_POST["end"])!== false))
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nioeprawidłowa godzina zakończenia";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//clearTime może być tylko true lub false
 | 
			
		||||
$clearTime = false;
 | 
			
		||||
if(isset($_POST['clearTime']))
 | 
			
		||||
{
 | 
			
		||||
    $clearTime = true;
 | 
			
		||||
}
 | 
			
		||||
$zdalne = false;
 | 
			
		||||
if(isset($_POST['zdalne']))
 | 
			
		||||
{
 | 
			
		||||
    $zdalne = true;
 | 
			
		||||
}
 | 
			
		||||
//sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
$sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.status = statusy.id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':data', $_POST['date'], PDO::PARAM_STR);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$work = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
//sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
if($work === false)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Brak danych o tym dniu";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//jeżeli statusy oznaczaWolne ustaw clearTime na true
 | 
			
		||||
$sql = "SELECT * FROM statusy WHERE id = :id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST['status'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$status = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
if($status['oznaczaWolne'] == 1)
 | 
			
		||||
{
 | 
			
		||||
    $clearTime = true;
 | 
			
		||||
}
 | 
			
		||||
//jeżeli $status['oznaczaWolne'] == 0 to musi być ustawiony czas rozpoczęcia i zakończenia
 | 
			
		||||
if($status['oznaczaWolne'] == 0 && $clearTime == true)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nie można ustawić czasu rozpoczęcia i zakończenia na NULL";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//sprawdź czy już jest zaakceptowane, takich nie można edytować
 | 
			
		||||
if($work['zaakceptowane'] == 1)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nie można edytować już zaakceptowanego dnia";
 | 
			
		||||
    header("Location: editDaySelect.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//update
 | 
			
		||||
$sql = "UPDATE obecnosc SET czasZaczecia = :czasZaczecia, czasKonca = :czasKonca, status = :status, zdalne = :zdalne WHERE kto = :kto AND data = :data";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':data', $_POST['date'], PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':czasZaczecia', $_POST['start'], PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':czasKonca', $_POST['end'], PDO::PARAM_STR);
 | 
			
		||||
$stmt->bindValue(':status', $_POST['status'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':zdalne', $zdalne, PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
//jeżeli clearTime jest true to ustaw czas rozpoczęcia i zakończenia na NULL
 | 
			
		||||
if($clearTime)
 | 
			
		||||
{
 | 
			
		||||
    $sql = "UPDATE obecnosc SET czasZaczecia = NULL, czasKonca = NULL WHERE kto = :kto AND data = :data";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':data', $_POST['date'], PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
}
 | 
			
		||||
$_SESSION['innfoError'] = "Dane zostały zaktualizowane";
 | 
			
		||||
header("Location: editDaySelect.php");
 | 
			
		||||
exit();
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,63 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
//sprawdź czy to jest metodą post
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST')
 | 
			
		||||
{
 | 
			
		||||
    //sprawdź czy hasła są takie same
 | 
			
		||||
    if($_POST['newPass'] != $_POST['newPass2'])
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Nowe hasła nie są takie same";
 | 
			
		||||
        header("Location: pass.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    //sprawdź czy hasło jest dłuższe niż 8 znaków
 | 
			
		||||
    if(strlen($_POST['newPass']) < 8)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Nowe hasło jest za krótkie";
 | 
			
		||||
        header("Location: pass.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    //sprawdź czy hasło jest różne od starego
 | 
			
		||||
    if($_POST['newPass'] == $_POST['oldPass'])
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Nowe hasło musi być różne od starego";
 | 
			
		||||
        header("Location: pass.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    //sprawdź czy stare hasło jest poprawne
 | 
			
		||||
    $sql = "SELECT * FROM uzytkownicy WHERE id = :id AND haslo = SHA1(:haslo)";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':id', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':haslo', $_POST['oldPass'], PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
    if($user === false)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Stare hasło jest niepoprawne";
 | 
			
		||||
        header("Location: pass.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        //zmień hasło
 | 
			
		||||
        $sql = "UPDATE uzytkownicy SET haslo = :haslo WHERE id = :id";
 | 
			
		||||
        $stmt = $pdo->prepare($sql);
 | 
			
		||||
        $stmt->bindValue(':haslo', sha1($_POST['newPass']), PDO::PARAM_STR);
 | 
			
		||||
        $stmt->bindValue(':id', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
        $stmt->execute();
 | 
			
		||||
        $_SESSION['innfoError'] = "Hasło zostało zmienione";
 | 
			
		||||
        header("Location: pass.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Niepoprawne wywołanie strony";
 | 
			
		||||
    header("Location: pass.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
<div id="puste"></div>
 | 
			
		||||
<?php
 | 
			
		||||
//You are not allowed to change this code. Exception is license given privately
 | 
			
		||||
?>
 | 
			
		||||
<div id="stopka">
 | 
			
		||||
    Made by <a href="https://kry008.xyz">Kry008</a> © <?php 
 | 
			
		||||
    if(date("Y") != "2023")
 | 
			
		||||
    {
 | 
			
		||||
        echo "2023 - ";
 | 
			
		||||
    } 
 | 
			
		||||
    echo date("Y"); ?>
 | 
			
		||||
</div>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<a href="_install.php"><button>START</button></a>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,72 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
//require_once 'checkLogin.php';
 | 
			
		||||
session_start();
 | 
			
		||||
//jeżeli istnieje plik _install.php, usuń go
 | 
			
		||||
if(file_exists('_install.php'))
 | 
			
		||||
{
 | 
			
		||||
    unlink('_install.php');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//login form
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
    <title>Rejestracja</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="style.css">
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
    <div id="panel">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj</h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <main id="register">
 | 
			
		||||
 | 
			
		||||
                <?php
 | 
			
		||||
                    if(@isset($_SESSION['error']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo '<p class="error">'.$_SESSION['error'].'</p>';
 | 
			
		||||
                        unset($_SESSION['error']);
 | 
			
		||||
                    }
 | 
			
		||||
                ?>
 | 
			
		||||
                <table class="form">
 | 
			
		||||
                    <form method="post" action="login.php">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Login</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="username">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label>Hasło</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="password" name="password">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="login" class="btn" value="Login"/>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </form>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td colspan="2">
 | 
			
		||||
                            <a href="register.php"><button>Rejestracja</button></a>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,106 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
session_start();
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
CREATE TABLE `uzytkownicy` (
 | 
			
		||||
`id` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
`login` text NOT NULL,
 | 
			
		||||
`haslo` text NOT NULL,
 | 
			
		||||
`imie` text NOT NULL,
 | 
			
		||||
`nazwisko` text NOT NULL,
 | 
			
		||||
`dzial` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
`przelozony` int(10) UNSIGNED DEFAULT NULL,
 | 
			
		||||
`akrywne` int(11) NOT NULL DEFAULT 1
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE `dzialy` (
 | 
			
		||||
`id` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
`skrot` varchar(25) NOT NULL,
 | 
			
		||||
`nazwa` text NOT NULL,
 | 
			
		||||
`aktywne` int(11) NOT NULL DEFAULT 1
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//validate login
 | 
			
		||||
if(isset($_POST['login']))
 | 
			
		||||
{
 | 
			
		||||
    $login = $_POST['username'];
 | 
			
		||||
    $password = $_POST['password'];
 | 
			
		||||
 | 
			
		||||
    if(empty($login))
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Username is required";
 | 
			
		||||
        header("Location: index.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    else if(empty($password))
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Password is required";
 | 
			
		||||
        header("Location: index.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        $sql = "SELECT uzytkownicy.id AS id, login, imie, nazwisko, uzytkownicy.dzial AS dzial, `przelozony`, dzialy.nazwa AS nazwa, dzialy.skrot AS skrot FROM uzytkownicy, dzialy WHERE uzytkownicy.login = :login AND dzialy.id = uzytkownicy.dzial AND uzytkownicy.aktywne = 1 AND uzytkownicy.haslo = sha1(:password)";
 | 
			
		||||
        $stmt = $pdo->prepare($sql);
 | 
			
		||||
        $stmt->bindValue(':login', $login, PDO::PARAM_STR);
 | 
			
		||||
        $stmt->bindValue(':password', $password, PDO::PARAM_STR);
 | 
			
		||||
        $stmt->execute();
 | 
			
		||||
        $user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
 | 
			
		||||
        if($user === false)
 | 
			
		||||
        {
 | 
			
		||||
            $_SESSION['error'] = "Zły login lub hasło lub użytkownik nie zaakceptowany przez przełożonego";
 | 
			
		||||
            header("Location: index.php");
 | 
			
		||||
            exit();
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            $_SESSION['user_id'] = $user['id'];
 | 
			
		||||
            $_SESSION['user_login'] = $user['login'];
 | 
			
		||||
            $_SESSION['user_imie'] = $user['imie'];
 | 
			
		||||
            $_SESSION['user_nazwisko'] = $user['nazwisko'];
 | 
			
		||||
            $_SESSION['user_dzial'] = $user['dzial'];
 | 
			
		||||
            $_SESSION['user_przelozony'] = $user['przelozony'];
 | 
			
		||||
            $sql = "SELECT * FROM uzytkownicy WHERE id = :id";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':id', $_SESSION['user_przelozony'], PDO::PARAM_INT);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $przelozony = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
            if($przelozony !== false)
 | 
			
		||||
            {
 | 
			
		||||
                $_SESSION['user_przelozony_imie'] = $przelozony['imie'];
 | 
			
		||||
                $_SESSION['user_przelozony_nazwisko'] = $przelozony['nazwisko'];
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                $_SESSION['user_przelozony_imie'] = "Brak";
 | 
			
		||||
                $_SESSION['user_przelozony_nazwisko'] = "Przełożonego";
 | 
			
		||||
            }
 | 
			
		||||
            $_SESSION['user_dzial_nazwa'] = $user['nazwa'];
 | 
			
		||||
            $_SESSION['user_dzial_skrot'] = $user['skrot'];
 | 
			
		||||
            $_SESSION['user_login_mark'] = 1;
 | 
			
		||||
            /*
 | 
			
		||||
            CREATE TABLE `admini` (`id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `kto` INT UNSIGNED NOT NULL , `odKiedy` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY (`id`)) ENGINE = InnoDB;
 | 
			
		||||
            */
 | 
			
		||||
            $sql = "SELECT * FROM admini WHERE kto = :kto";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $admin = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
            if($admin !== false)
 | 
			
		||||
            {
 | 
			
		||||
                $_SESSION['user_admin'] = 1;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                $_SESSION['user_admin'] = 0;
 | 
			
		||||
            }
 | 
			
		||||
            header("Location: panel.php");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
<?php
 | 
			
		||||
//usuń wszystkie zmienne
 | 
			
		||||
session_unset();
 | 
			
		||||
//usuń sesję
 | 
			
		||||
session_destroy();
 | 
			
		||||
//przekieruj na stronę logowania
 | 
			
		||||
header('Location: index.php');
 | 
			
		||||
exit();
 | 
			
		||||
?>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <?php
 | 
			
		||||
    if($_SESSION['user_admin'] == 1)
 | 
			
		||||
    {
 | 
			
		||||
        ?>
 | 
			
		||||
            <li><a href="panel.php">Start</a></li>
 | 
			
		||||
        <?php
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        ?>
 | 
			
		||||
            <li><a href="panel.php">🏠</a></li>
 | 
			
		||||
        <?php
 | 
			
		||||
    }
 | 
			
		||||
    ?>
 | 
			
		||||
    <li><a href="showMonth.php">Pokaż miesiąc</a></li>
 | 
			
		||||
    <li>Twój przełożony - <?php echo $_SESSION['user_przelozony_imie']." ".$_SESSION['user_przelozony_nazwisko']; ?></li>
 | 
			
		||||
    <li><a href="pass.php">Zmień hasło</a></li>
 | 
			
		||||
    <li><a href="logout.php">Wyloguj</a></li>
 | 
			
		||||
</ol>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,201 @@
 | 
			
		|||
<?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>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
<!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>
 | 
			
		||||
        <main id="work">
 | 
			
		||||
            <div class="error">
 | 
			
		||||
                <?php
 | 
			
		||||
                if(isset($_SESSION['innfoError']))
 | 
			
		||||
                {
 | 
			
		||||
                    echo $_SESSION['innfoError'];
 | 
			
		||||
                    unset($_SESSION['innfoError']);
 | 
			
		||||
                }
 | 
			
		||||
                ?>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form action="editPass.php" method="post">
 | 
			
		||||
                <input type="hidden" name="username" value="<?php echo $_SESSION['user_login']; ?>">
 | 
			
		||||
                <table class="form">
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="oldPass">Stare hasło:</label>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <input type="password" name="oldPass" id="oldPass">
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="newPass">Nowe hasło:</label>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <input type="password" name="newPass" id="newPass">
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <label for="newPass2">Powtórz nowe hasło:</label>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <input type="password" name="newPass2" id="newPass2">
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td colspan="2">
 | 
			
		||||
                            <input type="submit" name="change" value="Zmień hasło">
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
            </form>        
 | 
			
		||||
        </main>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,79 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE aktywne = 1";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$uzytkownicy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="passReset_form.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="user">Wybierz użytkownika</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="user" id="user">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    foreach($uzytkownicy as $user)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        ?>
 | 
			
		||||
                                        <option value="<?php echo $user['id']; ?>"><?php echo $user['imie']." ".$user['nazwisko']." (".$user['login'].")"; ?></option>
 | 
			
		||||
                                        <?php
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="passReset" value="Resetuj hasło">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,94 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
$temp = "abcdedfghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789.!@#$%^&*()-?";
 | 
			
		||||
//stwórz 10 znakowe hasło
 | 
			
		||||
$haslo = substr(str_shuffle($temp), 0, 11);
 | 
			
		||||
//echo $haslo;
 | 
			
		||||
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['user']) && !empty($_POST['user']))
 | 
			
		||||
{
 | 
			
		||||
    //UPDATE uzytkownicy SET haslo = SHA1(:haslo) WHERE id = :id"
 | 
			
		||||
    $user = $_POST['user'];
 | 
			
		||||
    $sql = "UPDATE uzytkownicy SET haslo = SHA1(:haslo) WHERE id = :id";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':haslo', $haslo, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':id', $user, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    //$_SESSION["innfoError"] = "Hasło użytkownika zostało zresetowane";
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION["innfoError"] = "Błąd przetwarzania danych";
 | 
			
		||||
    header("Location: passReset.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <table class="form">
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td colspan="2">
 | 
			
		||||
                            <h3>Hasło użytkownika zostało zresetowane</h3>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            Nowe hasło:
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <?php
 | 
			
		||||
                            echo $haslo;
 | 
			
		||||
                            ?>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td colspan="2">
 | 
			
		||||
                            <a href="passReset.php">
 | 
			
		||||
                                <h3 style="text-align: center;">Wróć</h3>
 | 
			
		||||
                            </a>
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,177 @@
 | 
			
		|||
<?php
 | 
			
		||||
//print_r($_POST);
 | 
			
		||||
$kto = $_POST['user'];
 | 
			
		||||
$miesiac = $_POST['month']; //YYYY-MM
 | 
			
		||||
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//pobierz dane o pracowniku
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id = :id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $kto, PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
//pobierz dni z tabeli obecnosc dla pracownika
 | 
			
		||||
$sql = "SELECT * FROM obecnosc WHERE kto = :kto AND data LIKE :data";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':kto', $kto, PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':data', $miesiac.'%', PDO::PARAM_STR);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$days = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
//pobierz dni wolne z dniwolne
 | 
			
		||||
$sql = "SELECT * FROM dniwolne WHERE data LIKE :data";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':data', $miesiac.'%', PDO::PARAM_STR);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$dniWolne = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
$dniWolneArray = [];
 | 
			
		||||
foreach($dniWolne as $dzienWolny)
 | 
			
		||||
{
 | 
			
		||||
    $dniWolneArray[] = $dzienWolny['data'];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
$sql = "SELECT skrot FROM dzialy WHERE id = :id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $user['dzial'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$dzial = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
    <title><?php echo $_POST['month']; ?> - ewidencja czasu - <?php echo $user['imie'].' '.$user['nazwisko']; ?></title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="style.css">
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body onLoad="window.print()">
 | 
			
		||||
 | 
			
		||||
    <main id="print">
 | 
			
		||||
        <h2 style="font-size: xx-large;">
 | 
			
		||||
            <?php
 | 
			
		||||
            $mArray = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec","Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"];
 | 
			
		||||
            $month = $_POST['month'];
 | 
			
		||||
            $month = explode('-', $month);
 | 
			
		||||
            echo $mArray[$month[1]-1]." ".$month[0];
 | 
			
		||||
            ?>
 | 
			
		||||
        </h2>
 | 
			
		||||
        <div>
 | 
			
		||||
            Imię i nazwisko: <b><?php echo $user['imie'].' '.$user['nazwisko']; ?></b><br>
 | 
			
		||||
            Dział: <b><?php echo $dzial['skrot']; ?></b><br>
 | 
			
		||||
            <?php
 | 
			
		||||
            //sprawdź ilość dni pracy zdalnej w danym miesiącu
 | 
			
		||||
            $sql = "SELECT * FROM obecnosc WHERE kto = :kto AND data LIKE :data AND zdalne = 1";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':kto', $kto, PDO::PARAM_INT);
 | 
			
		||||
            $stmt->bindValue(':data', $miesiac.'%', PDO::PARAM_STR);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $zdalnie = $stmt->rowCount();
 | 
			
		||||
            ?>
 | 
			
		||||
            Ilość dni pracy zdalnej: <b><?php echo $zdalnie; ?></b>
 | 
			
		||||
            <?php
 | 
			
		||||
            $sql = "SELECT COUNT(*) FROM obecnosc WHERE kto = :kto AND zaakceptowane = 0 AND aktywne = 1 AND data LIKE :data";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':kto', $kto, PDO::PARAM_INT);
 | 
			
		||||
            $stmt->bindValue(':data', $miesiac.'%', PDO::PARAM_STR);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $niezaakceptowane = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
            if($niezaakceptowane['COUNT(*)'] > 0)
 | 
			
		||||
            {
 | 
			
		||||
                ?>
 | 
			
		||||
                <br />
 | 
			
		||||
                <span class="bigError">Są niezaakceptowane dni pracy</span>
 | 
			
		||||
                <?php
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
            </div>
 | 
			
		||||
            <table class="month" style="margin: 0 0;">
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <th>Dzień</th>
 | 
			
		||||
                    <th>Czas pracy</th>
 | 
			
		||||
                </tr>
 | 
			
		||||
            <?php
 | 
			
		||||
            //sprawdź ilość dni w miesiącu, następnie wykonaj pętlę tyle razy ile jest dni w miesiącu
 | 
			
		||||
            $daysInMonth = cal_days_in_month(CAL_GREGORIAN, $month[1], $month[0]);
 | 
			
		||||
            for($i = 1; $i <= $daysInMonth; $i++)
 | 
			
		||||
            {
 | 
			
		||||
                
 | 
			
		||||
                //sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
                $sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.aktywne = 1 AND obecnosc.status = statusy.id";
 | 
			
		||||
                $stmt = $pdo->prepare($sql);
 | 
			
		||||
                $stmt->bindValue(':kto', $kto, PDO::PARAM_INT);
 | 
			
		||||
                $stmt->bindValue(':data', $month[0].'-'.$month[1].'-'.$i, PDO::PARAM_STR);
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $work = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                //sprawdź czy to sobota czy niedziela lub czy to dzień wolny
 | 
			
		||||
                if(date('N', strtotime($month[0]."-".$month[1]."-".$i)) > 5 || in_array($month[0]."-".$month[1]."-".$i, $dniWolneArray))
 | 
			
		||||
                {
 | 
			
		||||
                    echo "<tr class='weekend'>";
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    echo "<tr>";
 | 
			
		||||
                }
 | 
			
		||||
                if($work === false)
 | 
			
		||||
                {
 | 
			
		||||
                    //nie ma wpisu w bazie
 | 
			
		||||
                    echo "<td>".$i."</td>";
 | 
			
		||||
                    echo "<td></td>";
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    //jest wpis w bazie
 | 
			
		||||
                    echo "<td>".$i."</td>";
 | 
			
		||||
                    if($work['czasZaczecia'] != NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['czasZaczecia']." - ".$work['czasKonca']."";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else if($work['czasZaczecia'] != NULL && $work['czasKonca'] == NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['czasZaczecia']." - ";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else if($work['czasZaczecia'] == NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td> - ".$work['czasKonca']."";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['skrot']."";
 | 
			
		||||
                        //
 | 
			
		||||
                    }
 | 
			
		||||
                    if($work['zdalne'] == 1)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo " - PZ";
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "</td>";
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                echo "</tr>";
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
        </table>
 | 
			
		||||
    </main>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
<script>
 | 
			
		||||
    //przejdź do panel.php po 5 sekundach
 | 
			
		||||
    setTimeout(function(){ window.location.href = "panel.php"; }, 5000);
 | 
			
		||||
</script>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,217 @@
 | 
			
		|||
<?php
 | 
			
		||||
//Array ( [id] => 1 [month] => 2023-08 [printWorker] => Pokaż )
 | 
			
		||||
//notAccepted - checkbox
 | 
			
		||||
/*
 | 
			
		||||
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;
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `uzytkownicy` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `login` text NOT NULL,
 | 
			
		||||
    `haslo` text NOT NULL,
 | 
			
		||||
    `imie` text NOT NULL,
 | 
			
		||||
    `nazwisko` text NOT NULL,
 | 
			
		||||
    `dzial` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
    `przelozony` int(10) UNSIGNED DEFAULT NULL,
 | 
			
		||||
    `aktywne` int(1) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    KEY `dzial` (`dzial`),
 | 
			
		||||
    KEY `przelozony` (`przelozony`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
*/
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1 && $_POST["printWorker"] != "Pokaż")
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//sprawdź czy istnieje
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE aktywne IN (1, 0) AND id = :id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST['id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$count = $stmt->rowCount();
 | 
			
		||||
if($count == 0)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Nie ma takiego pracownika";
 | 
			
		||||
    header("Location: printWorkerForm.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
$year = substr($_POST['month'], 0, 4);
 | 
			
		||||
$month = substr($_POST['month'], 5, 2);
 | 
			
		||||
//pobierz skrót działu
 | 
			
		||||
$sql = "SELECT skrot FROM dzialy WHERE id = :id";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $user['dzial'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$dzial = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
?>
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
    <title><?php echo $month." - ".$year; ?> - ewidencja czasu - <?php echo $user['imie']." ".$user['nazwisko']; ?></title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="style.css">
 | 
			
		||||
</head>
 | 
			
		||||
<body onLoad="window.print()">
 | 
			
		||||
    <main id="print">
 | 
			
		||||
        <h2 style="font-size: xx-large;">
 | 
			
		||||
            <?php
 | 
			
		||||
            $mArray = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec","Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"];
 | 
			
		||||
            echo $mArray[$month-1]." ".$year;
 | 
			
		||||
            ?>
 | 
			
		||||
        </h2>
 | 
			
		||||
        <div>
 | 
			
		||||
            Imię i nazwisko: <b><?php echo $user['imie']." ".$user['nazwisko']; ?> </b><br>
 | 
			
		||||
            Dział: <b><?php echo $dzial['skrot']; ?></b><br>
 | 
			
		||||
            <?php
 | 
			
		||||
            //sprawdź ilość dni pracy zdalnej w danym miesiącu
 | 
			
		||||
            $sql = "SELECT COUNT(*) FROM obecnosc WHERE kto = :kto AND data LIKE :data AND zdalne = 1 AND aktywne = 1";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':kto', $user['id'], PDO::PARAM_INT);
 | 
			
		||||
            //dodaj zero wiodące do miesiąca
 | 
			
		||||
            $m = $month;
 | 
			
		||||
            if($m < 10 && strlen($m) < 2)
 | 
			
		||||
            {
 | 
			
		||||
                $m = "0".$m;
 | 
			
		||||
            }
 | 
			
		||||
            $stmt->bindValue(':data', $year."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $zdalne = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
            echo "Ilość dni pracy zdalnej: <b>".$zdalne['COUNT(*)']."</b>";
 | 
			
		||||
            $notAccepted = 0;
 | 
			
		||||
            if(isset($_POST['notAccepted']))
 | 
			
		||||
            {
 | 
			
		||||
                $notAccepted = 1;
 | 
			
		||||
            }
 | 
			
		||||
            if($notAccepted == 1)
 | 
			
		||||
            {
 | 
			
		||||
                //sprawdź czy są dni niezaakceptowane
 | 
			
		||||
                $sql = "SELECT COUNT(*) FROM obecnosc WHERE kto = :kto AND zaakceptowane = 0 AND aktywne = 1 AND data LIKE :data";
 | 
			
		||||
                $stmt = $pdo->prepare($sql);
 | 
			
		||||
                $stmt->bindValue(':data', $year."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
                $stmt->bindValue(':kto', $user['id'], PDO::PARAM_INT);
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $niezaakceptowane = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                if($niezaakceptowane['COUNT(*)'] > 0)
 | 
			
		||||
                {
 | 
			
		||||
                    ?>
 | 
			
		||||
                    <br />
 | 
			
		||||
                    <span class="bigError">Są niezaakceptowane dni pracy</span>
 | 
			
		||||
                    <?php
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
        </div>
 | 
			
		||||
        <table class="month" style="margin: 0 0;">
 | 
			
		||||
            <tr>
 | 
			
		||||
                <th>Dzień</th>
 | 
			
		||||
                <th>Czas pracy</th>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <?php
 | 
			
		||||
            $daysInMonth = cal_days_in_month(CAL_GREGORIAN, $month, $year);
 | 
			
		||||
            $sql = "SELECT * FROM dniwolne WHERE data LIKE :data AND aktywne = 1";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':data', $year."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $dniWolne = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
            $dniWolneArray = [];
 | 
			
		||||
            foreach($dniWolne as $dzienWolny)
 | 
			
		||||
            {
 | 
			
		||||
                $dniWolneArray[] = $dzienWolny['data'];
 | 
			
		||||
            }
 | 
			
		||||
            for($i = 1; $i <= $daysInMonth; $i++)
 | 
			
		||||
            {
 | 
			
		||||
                //sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
                $sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.aktywne = 1 AND obecnosc.status = statusy.id";
 | 
			
		||||
                $stmt = $pdo->prepare($sql);
 | 
			
		||||
                $stmt->bindValue(':data', $year."-".$m."-".$i, PDO::PARAM_STR);
 | 
			
		||||
                $stmt->bindValue(':kto', $user['id'], PDO::PARAM_INT);
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $work = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                if(date('N', strtotime($month[0]."-".$month[1]."-".$i)) > 5 || in_array($year."-".$m."-".$i, $dniWolneArray))
 | 
			
		||||
                {
 | 
			
		||||
                    echo "<tr class=\"weekend\">";
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    echo "<tr>";
 | 
			
		||||
                }
 | 
			
		||||
                if($work === false)
 | 
			
		||||
                {
 | 
			
		||||
                    //nie ma wpisu w bazie
 | 
			
		||||
                    echo "<td>".$i."</td>";
 | 
			
		||||
                    echo "<td></td>";
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    //jest wpis w bazie
 | 
			
		||||
                    echo "<td>".$i."</td>";
 | 
			
		||||
                    if($work['czasZaczecia'] != NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['czasZaczecia']." - ".$work['czasKonca']."";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else if($work['czasZaczecia'] != NULL && $work['czasKonca'] == NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['czasZaczecia']." - ";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else if($work['czasZaczecia'] == NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td> - ".$work['czasKonca']."";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['skrot']."";
 | 
			
		||||
                        //
 | 
			
		||||
                    }
 | 
			
		||||
                    if($work['zdalne'] == 1)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo " - PZ";
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "</td>";
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                echo "</tr>";
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
        </table>
 | 
			
		||||
    </main>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
<script>
 | 
			
		||||
    //Przejdź do strony printWorkerForm.php po 2 s
 | 
			
		||||
    setTimeout(function(){
 | 
			
		||||
        window.location.href = 'printWorkerForm.php';
 | 
			
		||||
    }, 2000);
 | 
			
		||||
</script>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,97 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
//pobierz wszystkich pracowników, najpierw wyświetl aktywnych, potem nieaktywnych
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE aktywne IN (1, 0) ORDER BY aktywne DESC, nazwisko ASC";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
 | 
			
		||||
$uzytkownicyArray = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
?>
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="printWorker.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Wybierz pracownika</td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="id">
 | 
			
		||||
                                    <option disabled selected>Wybierz pracownika</option>
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    foreach($uzytkownicyArray as $user)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        $aktywny = "nieaktywny";
 | 
			
		||||
                                        if($user['aktywne'] == 1)
 | 
			
		||||
                                        {
 | 
			
		||||
                                            $aktywny = "aktywny";
 | 
			
		||||
                                        }
 | 
			
		||||
                                        echo "<option value='".$user['id']."'>".$user['nazwisko']." ".$user['imie']." - (".$aktywny.")</option>";
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <!-- wybór miesiąca -->
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Wybierz miesiąc</td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="month" name="month" value="<?php echo date('Y-m'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                Pokaż czy są niezaakceptowane dni?: <input type="checkbox" name="notAccepted" value="1">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2"><input type="submit" name="printWorker" value="Pokaż"></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <!-- anuluj -->
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='dictionaries.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,230 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
CREATE TABLE `uzytkownicy` (
 | 
			
		||||
  `id` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
  `login` text NOT NULL,
 | 
			
		||||
  `haslo` text NOT NULL,
 | 
			
		||||
  `imie` text NOT NULL,
 | 
			
		||||
  `nazwisko` text NOT NULL,
 | 
			
		||||
  `dzial` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
  `przelozony` int(10) UNSIGNED DEFAULT NULL,
 | 
			
		||||
  `aktywne` int(1) NOT NULL DEFAULT 1
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE `dzialy` (
 | 
			
		||||
  `id` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
  `skrot` varchar(25) NOT NULL,
 | 
			
		||||
  `nazwa` text NOT NULL,
 | 
			
		||||
  `aktywne` int(11) NOT NULL DEFAULT 1
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
//Przełożony to id innego użytkownika, domyślnie aktywne = 0 do momentu aż przełożony zaakceptuje lub odrzuci (wówczas aktywne 2)
 | 
			
		||||
//Dział to id działu
 | 
			
		||||
//pozwól wybrać z list rozwijanych dział i przełożonych
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//jeżeli POST
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] === 'POST')
 | 
			
		||||
{
 | 
			
		||||
    //sprawdź czy wszystkie pola są wypełnione, hasło min 8 znaków, hasło = hasło2, login nie jest zajęty
 | 
			
		||||
    $login = $_POST['login'];
 | 
			
		||||
    $pass1 = $_POST['password'];
 | 
			
		||||
    $pass2 = $_POST['password2'];
 | 
			
		||||
    $imie = $_POST['imie'];
 | 
			
		||||
    $nazwisko = $_POST['nazwisko'];
 | 
			
		||||
    $dzial = $_POST['dzial'];
 | 
			
		||||
    $przelozony = $_POST['przelozony'];
 | 
			
		||||
    if($pass1 !== $pass2)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Hasła nie są takie same";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    if(strlen($pass1) < 8)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Hasło musi mieć minimum 8 znaków";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    if(empty($login))
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Login jest wymagany";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    if(empty($imie))
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Imię jest wymagane";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    if(empty($nazwisko))
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Nazwisko jest wymagane";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    if(empty($dzial))
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Dział jest wymagany";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    if(empty($przelozony))
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Przełożony jest wymagany";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    //sprawdź czy login jest zajęty
 | 
			
		||||
    $sql = "SELECT * FROM uzytkownicy WHERE login = :login";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':login', $login, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
    if($user !== false)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['error'] = "Login jest zajęty";
 | 
			
		||||
        header("Location: register.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    //dodaj użytkownika
 | 
			
		||||
    $sql = "INSERT INTO uzytkownicy (login, haslo, imie, nazwisko, dzial, przelozony, aktywne) VALUES (:login, sha1(:haslo), :imie, :nazwisko, :dzial, :przelozony, 0)";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':login', $login, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':haslo', $pass1, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':imie', $imie, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':nazwisko', $nazwisko, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':dzial', $dzial, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':przelozony', $przelozony, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION['error'] = "Użytkownik dodany";
 | 
			
		||||
    header("Location: index.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
    <title>Rejestracja</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="style.css">
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
    <div id="panel">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj</h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <main id="register">
 | 
			
		||||
                <?php
 | 
			
		||||
                    if(@isset($_SESSION['error']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo '<p class="error">'.$_SESSION['error'].'</p>';
 | 
			
		||||
                        unset($_SESSION['error']);
 | 
			
		||||
                    }
 | 
			
		||||
                ?>
 | 
			
		||||
                <form action="register.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="login">Login</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="login" id="login" required>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="password">Hasło</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="password" name="password" id="password" required>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="password">Powtórz hasło</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="password" name="password2" id="password2" required>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="imie">Imię</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="imie" id="imie" required>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="nazwisko">Nazwisko</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="nazwisko" id="nazwisko" required>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="dzial">Dział</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="dzial" id="dzial">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    $sql = "SELECT * FROM dzialy WHERE aktywne = 1";
 | 
			
		||||
                                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                                    $stmt->execute();
 | 
			
		||||
                                    while($dzial = $stmt->fetch(PDO::FETCH_ASSOC))
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo "<option value=\"".$dzial['id']."\">".$dzial['nazwa']."</option>";
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="przelozony">Przełożony</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="przelozony" id="przelozony">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    $sql = "SELECT * FROM uzytkownicy, dzialy WHERE uzytkownicy.aktywne = 1";
 | 
			
		||||
                                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                                    $stmt->execute();
 | 
			
		||||
                                    while($przelozony = $stmt->fetch(PDO::FETCH_ASSOC))
 | 
			
		||||
                                    {
 | 
			
		||||
                                        //dopisz skrót działu
 | 
			
		||||
                                        echo "<option value=\"".$przelozony['id']."\">".$przelozony['imie']." ".$przelozony['nazwisko']." (".$przelozony['nazwa'].")</option>";
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="submit" value="Zarejestruj">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='index.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <form action="showMonthForm.php" method="get">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="month">Pokaż miesiąc</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="month" name="month" id="month" value="<?php echo date('Y-m'); ?>" max="<?php echo date('Y-m'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="submit" value="Pokaż miesiąc">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='panel.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,233 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
/*
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE `statusy` (
 | 
			
		||||
  `id` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
  `skrot` varchar(10) NOT NULL,
 | 
			
		||||
  `nazwa` text NOT NULL,
 | 
			
		||||
  `oznaczaWolne` tinyint(1) NOT NULL DEFAULT 0,
 | 
			
		||||
  `aktywne` tinyint(4) NOT NULL DEFAULT 1
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 | 
			
		||||
CREATE TABLE `dniwolne` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `data` DATE NOT NULL , `nazwaSwieta` TEXT NOT NULL , `aktywne` INT(1) NOT NULL DEFAULT '1' , PRIMARY KEY (`id`)) ENGINE = InnoDB;
 | 
			
		||||
*/
 | 
			
		||||
// Lp | Numer Dnia | Czas rozpoczęcia - Czas zakończenia | Status (z tabeli statusy XX - Nazwa) | Zdalne | Zaakceptowane
 | 
			
		||||
//nagłówek nad tabelą MIESIĄC - ROK
 | 
			
		||||
//poniżej ilość dni pracy zdalnej w danym miesiącu
 | 
			
		||||
//pokaż w tabeli dany miesiąc, jeżeli na dany dzień nie ma wpisu zostaw puste pole godzina i czas pracy
 | 
			
		||||
// dane podawane przez $_GET['month'] = 2023-08
 | 
			
		||||
//dla soboty i niedzieli dodaj klasę weekend
 | 
			
		||||
?>
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="monthShow">
 | 
			
		||||
                <div id="doPodzialu">
 | 
			
		||||
                    <h2>
 | 
			
		||||
                        <?php
 | 
			
		||||
                        if(isset($_GET['month']))
 | 
			
		||||
                        {
 | 
			
		||||
                            $mArray = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec","Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"];
 | 
			
		||||
                            $month = $_GET['month'];
 | 
			
		||||
                            $month = explode('-', $month);
 | 
			
		||||
                            echo $mArray[$month[1]-1]." ".$month[0];
 | 
			
		||||
 | 
			
		||||
                        }
 | 
			
		||||
                        ?>
 | 
			
		||||
                    </h2>
 | 
			
		||||
                    <div class="addInfo">
 | 
			
		||||
                        Imię i nazwisko: <b><?php echo $_SESSION['user_imie']." ".$_SESSION['user_nazwisko']; ?> </b><br>
 | 
			
		||||
                        Dział: <b><?php echo $_SESSION['user_dzial_nazwa']; ?></b><br>
 | 
			
		||||
                        <?php
 | 
			
		||||
                        //sprawdź ilość dni pracy zdalnej w danym miesiącu
 | 
			
		||||
                        $sql = "SELECT COUNT(*) FROM obecnosc WHERE kto = :kto AND data LIKE :data AND zdalne = 1 AND aktywne = 1";
 | 
			
		||||
                        $stmt = $pdo->prepare($sql);
 | 
			
		||||
                        $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
                        //dodaj zero wiodące do miesiąca
 | 
			
		||||
                        $m = $month[1];
 | 
			
		||||
                        if($m < 10 && strlen($m) < 2)
 | 
			
		||||
                        {
 | 
			
		||||
                            $m = "0".$m;
 | 
			
		||||
                        }
 | 
			
		||||
                        $stmt->bindValue(':data', $month[0]."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
                        $stmt->execute();
 | 
			
		||||
                        $zdalne = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                        echo "Ilość dni pracy zdalnej: <b>".$zdalne['COUNT(*)']."</b>";
 | 
			
		||||
                        //sprawdź czy są dni niezaakceptowane
 | 
			
		||||
                        $sql = "SELECT COUNT(*) FROM obecnosc WHERE kto = :kto AND zaakceptowane = 0 AND aktywne = 1 AND data LIKE :data";
 | 
			
		||||
                        $stmt = $pdo->prepare($sql);
 | 
			
		||||
                        $stmt->bindValue(':data', $month[0]."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
                        $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
                        $stmt->execute();
 | 
			
		||||
                        $niezaakceptowane = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                        if($niezaakceptowane['COUNT(*)'] > 0)
 | 
			
		||||
                        {
 | 
			
		||||
                            ?>
 | 
			
		||||
                            <br />
 | 
			
		||||
                            <span class="bigError">Masz niezaakceptowane dni pracy</span>
 | 
			
		||||
                            <?php
 | 
			
		||||
                        }
 | 
			
		||||
                        ?>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <table class="month">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <th>Dzień</th>
 | 
			
		||||
                            <th>Czas pracy</th>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <?php
 | 
			
		||||
                        //sprawdź ilość dni w miesiącu, następnie wykonaj pętlę tyle razy ile jest dni w miesiącu
 | 
			
		||||
                        $daysInMonth = cal_days_in_month(CAL_GREGORIAN, $month[1], $month[0]);
 | 
			
		||||
                        //pobierz dni wolne na dany miesiąc (o ile są)
 | 
			
		||||
                        $sql = "SELECT * FROM dniwolne WHERE data LIKE :data AND aktywne = 1";
 | 
			
		||||
                        $stmt = $pdo->prepare($sql);
 | 
			
		||||
                        $stmt->bindValue(':data', $month[0]."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
                        $stmt->execute();
 | 
			
		||||
                        $dniWolne = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
                        $dniWolneArray = [];
 | 
			
		||||
                        foreach($dniWolne as $dzienWolny)
 | 
			
		||||
                        {
 | 
			
		||||
                            $dniWolneArray[] = $dzienWolny['data'];
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        for($i = 1; $i <= $daysInMonth; $i++)
 | 
			
		||||
                        {
 | 
			
		||||
                            //sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
                            $sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.aktywne = 1 AND obecnosc.status = statusy.id";
 | 
			
		||||
                            $stmt = $pdo->prepare($sql);
 | 
			
		||||
                            $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
                            $stmt->bindValue(':data', $month[0]."-".$month[1]."-".$i, PDO::PARAM_STR);
 | 
			
		||||
                            $stmt->execute();
 | 
			
		||||
                            $work = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                            //sprawdź czy sobota lub niedziela
 | 
			
		||||
                            if(date('N', strtotime($month[0]."-".$month[1]."-".$i)) > 5 || in_array($month[0]."-".$month[1]."-".$i, $dniWolneArray))
 | 
			
		||||
                            {
 | 
			
		||||
                                echo "<tr class='weekend'>";
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                echo "<tr>";
 | 
			
		||||
                            }
 | 
			
		||||
                            if($work === false)
 | 
			
		||||
                            {
 | 
			
		||||
                                //nie ma wpisu w bazie
 | 
			
		||||
                                echo "<td>".$i."</td>";
 | 
			
		||||
                                echo "<td></td>";
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                //jest wpis w bazie
 | 
			
		||||
                                echo "<td>".$i;
 | 
			
		||||
                                //jeżeli niezaakceptowane ❌
 | 
			
		||||
                                if($work['zaakceptowane'] == 0)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo " ❌";
 | 
			
		||||
                                }
 | 
			
		||||
                                else
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo " ✔️";
 | 
			
		||||
                                }
 | 
			
		||||
                                echo "</td>";
 | 
			
		||||
                                if($work['czasZaczecia'] != NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td>".$work['czasZaczecia']." - ".$work['czasKonca']."";
 | 
			
		||||
                                    if($work['skrot'] != "OB")
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo " - ".$work['skrot']."";
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                else if($work['czasZaczecia'] != NULL && $work['czasKonca'] == NULL)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td>".$work['czasZaczecia']." - ";
 | 
			
		||||
                                    if($work['skrot'] != "OB")
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo " - ".$work['skrot']."";
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                else if($work['czasZaczecia'] == NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td> - ".$work['czasKonca']."";
 | 
			
		||||
                                    if($work['skrot'] != "OB")
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo " - ".$work['skrot']."";
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                else
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td>".$work['skrot']."";
 | 
			
		||||
                                    //
 | 
			
		||||
                                }
 | 
			
		||||
                                if($work['zdalne'] == 1)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo " - PZ";
 | 
			
		||||
                                }
 | 
			
		||||
                                else
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "</td>";
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            echo "</tr>";
 | 
			
		||||
                        }
 | 
			
		||||
                        ?>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div id="legenda">
 | 
			
		||||
                    <a href="showMonthFormPrint.php?month=<?php echo $_GET['month']; ?>" target="_blank">
 | 
			
		||||
                        <button>Wydrukuj</button>
 | 
			
		||||
                    </a>
 | 
			
		||||
                    <a href="showMonth.php">
 | 
			
		||||
                        <button>Wróć</button>
 | 
			
		||||
                    </a>
 | 
			
		||||
                    <?php
 | 
			
		||||
                        //Wypisz legendę z tabeli statusy
 | 
			
		||||
                        $sql = "SELECT * FROM statusy WHERE aktywne = 1";
 | 
			
		||||
                        $stmt = $pdo->prepare($sql);
 | 
			
		||||
                        $stmt->execute();
 | 
			
		||||
                        $statusy = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
                        echo "<h2>Legenda</h2>";
 | 
			
		||||
                        echo "<table>";
 | 
			
		||||
                        foreach($statusy as $status)
 | 
			
		||||
                        {
 | 
			
		||||
                            echo "<tr>";
 | 
			
		||||
                            echo "<td>".$status['skrot']."</td>";
 | 
			
		||||
                            echo "<td>".$status['nazwa']."</td>";
 | 
			
		||||
                            echo "</tr>";
 | 
			
		||||
                        }
 | 
			
		||||
                        echo "</table>";
 | 
			
		||||
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,186 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
/*
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE `statusy` (
 | 
			
		||||
  `id` int(10) UNSIGNED NOT NULL,
 | 
			
		||||
  `skrot` varchar(10) NOT NULL,
 | 
			
		||||
  `nazwa` text NOT NULL,
 | 
			
		||||
  `oznaczaWolne` tinyint(1) NOT NULL DEFAULT 0,
 | 
			
		||||
  `aktywne` tinyint(4) NOT NULL DEFAULT 1
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 | 
			
		||||
*/
 | 
			
		||||
// Lp | Numer Dnia | Czas rozpoczęcia - Czas zakończenia | Status (z tabeli statusy XX - Nazwa) | Zdalne | Zaakceptowane
 | 
			
		||||
//nagłówek nad tabelą MIESIĄC - ROK
 | 
			
		||||
//poniżej ilość dni pracy zdalnej w danym miesiącu
 | 
			
		||||
//pokaż w tabeli dany miesiąc, jeżeli na dany dzień nie ma wpisu zostaw puste pole godzina i czas pracy
 | 
			
		||||
// dane podawane przez $_GET['month'] = 2023-08
 | 
			
		||||
//dla soboty i niedzieli dodaj klasę weekend
 | 
			
		||||
?>
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
    <title><?php echo $_GET['month']; ?> - ewidencja czasu - <?php echo $_SESSION['user_imie']." ".$_SESSION['user_nazwisko']; ?></title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="style.css">
 | 
			
		||||
</head>
 | 
			
		||||
<body onLoad="window.print()">
 | 
			
		||||
 | 
			
		||||
    <main id="print">
 | 
			
		||||
        <h2 style="font-size: xx-large;">
 | 
			
		||||
            <?php
 | 
			
		||||
            if(isset($_GET['month']))
 | 
			
		||||
            {
 | 
			
		||||
                $mArray = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec","Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"];
 | 
			
		||||
                $month = $_GET['month'];
 | 
			
		||||
                $month = explode('-', $month);
 | 
			
		||||
                echo $mArray[$month[1]-1]." ".$month[0];
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
        </h2>
 | 
			
		||||
        <div>
 | 
			
		||||
            Imię i nazwisko: <b><?php echo $_SESSION['user_imie']." ".$_SESSION['user_nazwisko']; ?> </b><br>
 | 
			
		||||
            Dział: <b><?php echo $_SESSION['user_dzial_nazwa']; ?></b><br>
 | 
			
		||||
            <?php
 | 
			
		||||
            //sprawdź ilość dni pracy zdalnej w danym miesiącu
 | 
			
		||||
            $sql = "SELECT COUNT(*) FROM obecnosc WHERE kto = :kto AND data LIKE :data AND zdalne = 1 AND aktywne = 1";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
            //dodaj zero wiodące do miesiąca
 | 
			
		||||
            $m = $month[1];
 | 
			
		||||
            if($m < 10 && strlen($m) < 2)
 | 
			
		||||
            {
 | 
			
		||||
                $m = "0".$m;
 | 
			
		||||
            }
 | 
			
		||||
            $stmt->bindValue(':data', $month[0]."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $zdalne = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
            echo "Ilość dni pracy zdalnej: <b>".$zdalne['COUNT(*)']."</b>";
 | 
			
		||||
            //sprawdź czy są dni niezaakceptowane
 | 
			
		||||
            $sql = "SELECT COUNT(*) FROM obecnosc WHERE kto = :kto AND zaakceptowane = 0 AND aktywne = 1 AND data LIKE :data";
 | 
			
		||||
            $stmt = $pdo->prepare($sql);
 | 
			
		||||
            $stmt->bindValue(':data', $month[0]."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
            $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
            $stmt->execute();
 | 
			
		||||
            $niezaakceptowane = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
            if($niezaakceptowane['COUNT(*)'] > 0)
 | 
			
		||||
            {
 | 
			
		||||
                ?>
 | 
			
		||||
                <br />
 | 
			
		||||
                <span class="bigError">Masz niezaakceptowane dni pracy</span>
 | 
			
		||||
                <?php
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
        </div>
 | 
			
		||||
        <table class="month" style="margin: 0 0;">
 | 
			
		||||
            <tr>
 | 
			
		||||
                <th>Dzień</th>
 | 
			
		||||
                <th>Czas pracy</th>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <?php
 | 
			
		||||
            //sprawdź ilość dni w miesiącu, następnie wykonaj pętlę tyle razy ile jest dni w miesiącu
 | 
			
		||||
            $daysInMonth = cal_days_in_month(CAL_GREGORIAN, $month[1], $month[0]);
 | 
			
		||||
            for($i = 1; $i <= $daysInMonth; $i++)
 | 
			
		||||
            {
 | 
			
		||||
                //pobierz dni wolne na dany miesiąc (o ile są)
 | 
			
		||||
                $sql = "SELECT * FROM dniwolne WHERE data LIKE :data AND aktywne = 1";
 | 
			
		||||
                $stmt = $pdo->prepare($sql);
 | 
			
		||||
                $stmt->bindValue(':data', $month[0]."-".$m."%", PDO::PARAM_STR);
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $dniWolne = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
                $dniWolneArray = [];
 | 
			
		||||
                foreach($dniWolne as $dzienWolny)
 | 
			
		||||
                {
 | 
			
		||||
                    $dniWolneArray[] = $dzienWolny['data'];
 | 
			
		||||
                }
 | 
			
		||||
                //sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
                $sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.aktywne = 1 AND obecnosc.status = statusy.id";
 | 
			
		||||
                $stmt = $pdo->prepare($sql);
 | 
			
		||||
                $stmt->bindValue(':kto', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
                $stmt->bindValue(':data', $month[0]."-".$month[1]."-".$i, PDO::PARAM_STR);
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $work = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                //sprawdź czy sobota lub niedziela
 | 
			
		||||
                if(date('N', strtotime($month[0]."-".$month[1]."-".$i)) > 5 || in_array($month[0]."-".$month[1]."-".$i, $dniWolneArray))
 | 
			
		||||
                {
 | 
			
		||||
                    echo "<tr class='weekend'>";
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    echo "<tr>";
 | 
			
		||||
                }
 | 
			
		||||
                if($work === false)
 | 
			
		||||
                {
 | 
			
		||||
                    //nie ma wpisu w bazie
 | 
			
		||||
                    echo "<td>".$i."</td>";
 | 
			
		||||
                    echo "<td></td>";
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    //jest wpis w bazie
 | 
			
		||||
                    echo "<td>".$i."</td>";
 | 
			
		||||
                    if($work['czasZaczecia'] != NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['czasZaczecia']." - ".$work['czasKonca']."";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else if($work['czasZaczecia'] != NULL && $work['czasKonca'] == NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['czasZaczecia']." - ";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else if($work['czasZaczecia'] == NULL && $work['czasKonca'] != NULL)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td> - ".$work['czasKonca']."";
 | 
			
		||||
                        if($work['skrot'] != "OB")
 | 
			
		||||
                        {
 | 
			
		||||
                            echo " - ".$work['skrot']."";
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "<td>".$work['skrot']."";
 | 
			
		||||
                        //
 | 
			
		||||
                    }
 | 
			
		||||
                    if($work['zdalne'] == 1)
 | 
			
		||||
                    {
 | 
			
		||||
                        echo " - PZ";
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        echo "</td>";
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                echo "</tr>";
 | 
			
		||||
            }
 | 
			
		||||
            ?>
 | 
			
		||||
        </table>
 | 
			
		||||
    </main>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
<script>
 | 
			
		||||
    //zamknij kartę po 5 sekundach
 | 
			
		||||
    setTimeout(function(){ window.close(); }, 5000);
 | 
			
		||||
</script>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,111 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST["statAdd"]))
 | 
			
		||||
{
 | 
			
		||||
    //sprawdź czy podany skrot i nazwa nie jest już wpisany do bazy
 | 
			
		||||
    $skrot = $_POST['skrot'];
 | 
			
		||||
    $nazwa = $_POST['nazwa'];
 | 
			
		||||
    $sql = "SELECT * FROM statusy WHERE skrot = :skrot OR nazwa = :nazwa";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':skrot', $skrot, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':nazwa', $nazwa, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $count = $stmt->rowCount();
 | 
			
		||||
    if($count > 0)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Podany skrot lub nazwa jest już w bazie";
 | 
			
		||||
        header("Location: statAdd.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    $oznaczaWolne = 0;
 | 
			
		||||
    if(isset($_POST['oznaczaWolne']))
 | 
			
		||||
    {
 | 
			
		||||
        $oznaczaWolne = 1;
 | 
			
		||||
    }
 | 
			
		||||
    $aktywne = 0;
 | 
			
		||||
    if(isset($_POST['aktywne']))
 | 
			
		||||
    {
 | 
			
		||||
        $aktywne = 1;
 | 
			
		||||
    }
 | 
			
		||||
    $sql = "INSERT INTO statusy (skrot, nazwa, oznaczaWolne, aktywne) VALUES (:skrot, :nazwa, :oznaczaWolne, :aktywne)";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':skrot', $skrot, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':nazwa', $nazwa, PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':oznaczaWolne', $oznaczaWolne, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':aktywne', 1, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION['innfoError'] = "Dodano status";
 | 
			
		||||
    header("Location: dictionaries.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="statAdd.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Skrot</td>
 | 
			
		||||
                            <td><input type="text" name="skrot" required></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Nazwa</td>
 | 
			
		||||
                            <td><input type="text" name="nazwa" required></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Oznacza wolne</td>
 | 
			
		||||
                            <td><input type="checkbox" name="oznaczaWolne"></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2"><input type="submit" name="statAdd" value="Dodaj"></td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <!-- anuluj -->
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='dictionaries.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,110 @@
 | 
			
		|||
<?php
 | 
			
		||||
/*
 | 
			
		||||
CREATE TABLE IF NOT EXISTS `statusy` (
 | 
			
		||||
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `skrot` varchar(10) NOT NULL,
 | 
			
		||||
    `nazwa` text NOT NULL,
 | 
			
		||||
    `oznaczaWolne` tinyint(1) NOT NULL DEFAULT 0,
 | 
			
		||||
    `aktywne` tinyint(4) NOT NULL DEFAULT 1,
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    UNIQUE KEY `skrot` (`skrot`)
 | 
			
		||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
 | 
			
		||||
*/
 | 
			
		||||
//nie wyświetlaj statusu o id 1 (zabezpieczony przed usunięciem)
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
if($_SESSION['user_admin'] != 1)
 | 
			
		||||
{
 | 
			
		||||
    //redirect to panel.php
 | 
			
		||||
    $_SESSION["innfoError"] = "Brak uprawnień do tej strony";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST["statDel"]))
 | 
			
		||||
{
 | 
			
		||||
    //sprawdź czy nie jest to status 1
 | 
			
		||||
    $id = $_POST['id'];
 | 
			
		||||
    if($id == 1)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Nie można usunąć tego statusu";
 | 
			
		||||
        header("Location: dictionaries.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    $sql = "UPDATE statusy SET aktywne = 0 WHERE id = :id";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':id', $id, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION['innfoError'] = "Usunięto status";
 | 
			
		||||
    header("Location: dictionaries.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="statDel.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Wybierz status</td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="id">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    $sql = "SELECT * FROM statusy WHERE aktywne = 1 AND id != 1";
 | 
			
		||||
                                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                                    $stmt->execute();
 | 
			
		||||
                                    while($row = $stmt->fetch(PDO::FETCH_ASSOC))
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo "<option value=\"".$row['id']."\">".$row['skrot']." - ".$row['nazwa']."</option>";
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="statDel" value="Usuń status">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <!-- anuluj -->
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='dictionaries.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,414 @@
 | 
			
		|||
* {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
    font-size: 1.18rem;
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
    font-family: 'Ubuntu', sans-serif;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
    -webkit-print-color-adjust: exact !important;
 | 
			
		||||
    print-color-adjust: exact !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::selection {
 | 
			
		||||
    background-color: rgb(135, 250, 160);
 | 
			
		||||
    color: white;
 | 
			
		||||
    text-decoration: underline;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::-webkit-scrollbar {
 | 
			
		||||
    width: 6px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::-webkit-scrollbar-track {
 | 
			
		||||
    background-color: rgb(255, 255, 255);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::-webkit-scrollbar-thumb {
 | 
			
		||||
    background-color: rgb(135, 250, 160);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
    padding: 15px;
 | 
			
		||||
    font-size: 1.3rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a {
 | 
			
		||||
    color: black;
 | 
			
		||||
    transition: 0.2s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:hover {
 | 
			
		||||
    color: rgb(135, 250, 160);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
nav {
 | 
			
		||||
    width: 97%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 4px;
 | 
			
		||||
    border-bottom: 1px solid rgb(222, 222, 222);
 | 
			
		||||
    font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
nav ol {
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: row;
 | 
			
		||||
    justify-content: space-around;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
nav ol li {
 | 
			
		||||
    min-width: 85px;
 | 
			
		||||
    padding: 2px;
 | 
			
		||||
    margin: 3px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
header {
 | 
			
		||||
    width: 97%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 4px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
header h1 {
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    font-size: 3rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#info {
 | 
			
		||||
    width: 97%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#start {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: row;
 | 
			
		||||
    justify-content: space-around;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    flex-wrap: wrap;
 | 
			
		||||
    width: 97%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    background-color: rgba(252, 252, 252, 0.5);
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border: 1px solid rgb(222, 222, 222);
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#start a {
 | 
			
		||||
    width: 23%;
 | 
			
		||||
    min-width: 250px;
 | 
			
		||||
    height: 150px;
 | 
			
		||||
    margin: 5px;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
    transition: .2s;
 | 
			
		||||
    padding: 10px 5px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    font-weight: bolder;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#start a:hover {
 | 
			
		||||
    background-color: rgb(135, 250, 160);
 | 
			
		||||
    color: white;
 | 
			
		||||
    border: 1px solid white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#start a h3 {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    font-size: larger;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#work {
 | 
			
		||||
    width: 97%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#work table.form {
 | 
			
		||||
    min-width: 450px;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border: 1px solid rgb(222, 222, 222);
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#work table.form tr {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#work table.form tr td {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#work table.form tr td input[type="submit"] {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    background-color: white;
 | 
			
		||||
    font-weight: bolder;
 | 
			
		||||
    transition: .2s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#work table.form tr td input[type="submit"]:hover {
 | 
			
		||||
    background-color: rgb(135, 250, 160);
 | 
			
		||||
    color: white;
 | 
			
		||||
    border: 1px solid white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow {
 | 
			
		||||
    text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow table.month {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    border-collapse: collapse;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    max-width: 20cm;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow table.month td,
 | 
			
		||||
#monthShow table.month th {
 | 
			
		||||
    padding: 4px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow table.month .weekend {
 | 
			
		||||
    background-color: rgba(72, 110, 192, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow table.month th {
 | 
			
		||||
    background-color: rgb(123, 211, 94)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow #doPodzialu {
 | 
			
		||||
    width: 74%;
 | 
			
		||||
    float: left;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow #legenda {
 | 
			
		||||
    width: 24%;
 | 
			
		||||
    float: right;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow #legenda table {
 | 
			
		||||
    margin: 5px auto;
 | 
			
		||||
    border-collapse: collapse;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow #legenda table td {
 | 
			
		||||
    padding: 4px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow #legenda button {
 | 
			
		||||
    width: 80%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.cancel {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow #legenda button,
 | 
			
		||||
.cancel {
 | 
			
		||||
    margin: 5px auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    background-color: white;
 | 
			
		||||
    font-weight: bolder;
 | 
			
		||||
    transition: .2s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#monthShow #legenda button:hover,
 | 
			
		||||
.cancel:hover {
 | 
			
		||||
    background-color: rgb(135, 250, 160);
 | 
			
		||||
    color: white;
 | 
			
		||||
    border: 1px solid white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#print table.month {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    border-collapse: collapse;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#print table.month td,
 | 
			
		||||
#print table.month th {
 | 
			
		||||
    padding: 0 4px;
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#print table.month .weekend {
 | 
			
		||||
    background-color: rgba(72, 110, 192, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#print table.month th {
 | 
			
		||||
    background-color: rgb(123, 211, 94)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#puste {
 | 
			
		||||
    clear: both;
 | 
			
		||||
    height: 50px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#stopka {
 | 
			
		||||
    height: 50px;
 | 
			
		||||
    position: fixed;
 | 
			
		||||
    bottom: 0;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    background-color: rgba(252, 252, 252, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#stopka a {
 | 
			
		||||
    text-decoration: underline;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#register {
 | 
			
		||||
    width: 97%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#register table.form {
 | 
			
		||||
    min-width: 450px;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border: 1px solid rgb(222, 222, 222);
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#register table.form tr {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#register table.form tr td {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#register table.form tr td input,
 | 
			
		||||
main#register table.form tr td select {
 | 
			
		||||
    width: 99%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#register table.form tr td input[type="submit"],
 | 
			
		||||
main#register table.form tr td button {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    background-color: white;
 | 
			
		||||
    font-weight: bolder;
 | 
			
		||||
    transition: .2s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#register table.form tr td input[type="submit"]:hover,
 | 
			
		||||
main#register table.form tr td button:hover {
 | 
			
		||||
    background-color: rgb(135, 250, 160);
 | 
			
		||||
    color: white;
 | 
			
		||||
    border: 1px solid white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#uzytkownicy {
 | 
			
		||||
    width: 97%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#uzytkownicy table {
 | 
			
		||||
    min-width: 550px;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border: 1px solid rgb(222, 222, 222);
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    border-collapse: collapse;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#uzytkownicy table tr {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#uzytkownicy table tr td,
 | 
			
		||||
main#uzytkownicy table tr th {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#uzytkownicy table tr td:hover,
 | 
			
		||||
main#uzytkownicy table tr:hover,
 | 
			
		||||
main#uzytkownicy table tr th:hover {
 | 
			
		||||
    background-color: rgba(155, 155, 155, 0.187);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#uzytkownicy table tr td button {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    padding: 2px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    border: 1px solid black;
 | 
			
		||||
    background-color: white;
 | 
			
		||||
    font-weight: bolder;
 | 
			
		||||
    transition: .2s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main#uzytkownicy table tr td button:hover {
 | 
			
		||||
    background-color: rgb(135, 250, 160);
 | 
			
		||||
    color: white;
 | 
			
		||||
    border: 1px solid white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Detect is printing? */
 | 
			
		||||
@media print {
 | 
			
		||||
    #puste {
 | 
			
		||||
        clear: both;
 | 
			
		||||
        height: .5cm;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #stopka,
 | 
			
		||||
    #stopka a {
 | 
			
		||||
        font-size: 7px;
 | 
			
		||||
        color: #fffffe;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #stopka {
 | 
			
		||||
        height: .5cm;
 | 
			
		||||
        background-color: white;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    table.month {
 | 
			
		||||
        width: 10cm;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
.bigError
 | 
			
		||||
{
 | 
			
		||||
    color: red;
 | 
			
		||||
    font-size: 2rem;
 | 
			
		||||
    font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,90 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//sprawdź czy użytkownik jest przełożonym tego pracownik $_POST["user"]
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id = :id AND przelozony = :przelozony";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':przelozony', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
if($user === false)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION["innfoError"] = "Nie jesteś przełożonym tego pracownika";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    //sprawdź jakie miesiące mają niezaakceptowane dni, wpisz do zmiennej $months w formacie YYYY-MM (z zerem wiodącym)
 | 
			
		||||
    $months = array();
 | 
			
		||||
    $sql = "SELECT DISTINCT DATE_FORMAT(data, '%Y-%m') AS miesiac FROM obecnosc WHERE kto = :kto AND zaakceptowane = 0 AND aktywne = 1";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':kto', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $months = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
    //print_r($months);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="waitingForAcceptsShow.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="mm">Pokaż miesiąc:</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="mm" id="mm">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    foreach($months as $month)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo '<option value="'.$month['miesiac'].'">'.$month['miesiac'].'</option>';
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="hidden" name="user" value="<?php echo $_POST['user']; ?>">
 | 
			
		||||
                                <input type="submit" name="show" value="Pokaż">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,221 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
//sprawdź czy zalogowany użytkownik jest przełożonym $_POST["user"]
 | 
			
		||||
 | 
			
		||||
$sql = "SELECT * FROM uzytkownicy WHERE id = :id AND przelozony = :przelozony";
 | 
			
		||||
$stmt = $pdo->prepare($sql);
 | 
			
		||||
$stmt->bindValue(':id', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
$stmt->bindValue(':przelozony', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
			
		||||
$stmt->execute();
 | 
			
		||||
 | 
			
		||||
if($stmt->rowCount() === 0)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION["innfoError"] = "Nie jesteś przełożonym tego użytkownika";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    //pobierz dane z tabeli uzytkownicy, dzialy
 | 
			
		||||
    $sql = "SELECT uzytkownicy.id AS id, login, imie, nazwisko, uzytkownicy.dzial AS dzial, `przelozony`, dzialy.nazwa AS nazwa, dzialy.skrot AS skrot FROM uzytkownicy, dzialy WHERE uzytkownicy.id = :id AND dzialy.id = uzytkownicy.dzial AND uzytkownicy.aktywne = 1";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':id', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
    //print_r($user);
 | 
			
		||||
    //pobierz wszystkie obecności z danego miesiąca
 | 
			
		||||
    $sql = "SELECT * FROM obecnosc WHERE kto = :kto AND aktywne = 1 AND data LIKE :data";
 | 
			
		||||
    $stmt = $pdo->prepare($sql);
 | 
			
		||||
    $stmt->bindValue(':kto', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':data', $_POST['mm'].'%', PDO::PARAM_STR);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $obecnosci = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
    //print_r($obecnosci);
 | 
			
		||||
    //$_POST['mm'] = YYYY-MM
 | 
			
		||||
    //pobierz ilość dni w miesiącu
 | 
			
		||||
    $daysInMonth = cal_days_in_month(CAL_GREGORIAN, explode('-', $_POST['mm'])[1], explode('-', $_POST['mm'])[0]);
 | 
			
		||||
 | 
			
		||||
    ?>
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="monthShow">
 | 
			
		||||
                <div id="doPodzialu">
 | 
			
		||||
                    <h2>
 | 
			
		||||
                        <?php
 | 
			
		||||
                        if(isset($_GET['month']))
 | 
			
		||||
                        {
 | 
			
		||||
                            $mArray = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec","Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"];
 | 
			
		||||
                            $month = $_GET['month'];
 | 
			
		||||
                            $month = explode('-', $month);
 | 
			
		||||
                            echo $mArray[$month[1]-1]." ".$month[0];
 | 
			
		||||
 | 
			
		||||
                        }
 | 
			
		||||
                        ?>
 | 
			
		||||
                    </h2>
 | 
			
		||||
                    <div class="addInfo">
 | 
			
		||||
                        <?php
 | 
			
		||||
                        echo @$_SESSION["innfoError"];
 | 
			
		||||
                        $_SESSION["innfoError"] = "";
 | 
			
		||||
                        ?>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    Imię i nazwisko: <b><?php echo $user['imie']." ".$user['nazwisko']; ?></b><br>
 | 
			
		||||
                    Dział: <b><?php echo $user['nazwa']; ?></b><br>
 | 
			
		||||
                    <?php
 | 
			
		||||
                    //sprawdź ilość dni pracy zdalnej w danym miesiącu
 | 
			
		||||
                    $sql = "SELECT * FROM obecnosc WHERE kto = :kto AND aktywne = 1 AND data LIKE :data AND zdalne = 1";
 | 
			
		||||
                    $stmt = $pdo->prepare($sql);
 | 
			
		||||
                    $stmt->bindValue(':kto', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
                    $stmt->bindValue(':data', $_POST['mm'].'%', PDO::PARAM_STR);
 | 
			
		||||
                    $stmt->execute();
 | 
			
		||||
                    $zdalnie = $stmt->rowCount();
 | 
			
		||||
                    echo "Ilość dni pracy zdalnej: <b>".$zdalnie."</b>";
 | 
			
		||||
                    ?>
 | 
			
		||||
                    <table class="month">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <th>Dzień</th>
 | 
			
		||||
                            <th>Czas pracy</th>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <?php
 | 
			
		||||
                        $sql = "SELECT * FROM dniwolne WHERE data LIKE :data AND aktywne = 1";
 | 
			
		||||
                        $stmt = $pdo->prepare($sql);
 | 
			
		||||
                        $stmt->bindValue(':data', $_POST['mm'].'%', PDO::PARAM_STR);
 | 
			
		||||
                        $stmt->execute();
 | 
			
		||||
                        $dniWolne = $stmt->fetchAll(PDO::FETCH_ASSOC);
 | 
			
		||||
                        $dniWolneArray = [];
 | 
			
		||||
                        foreach($dniWolne as $dzienWolny)
 | 
			
		||||
                        {
 | 
			
		||||
                            $dniWolneArray[] = $dzienWolny['data'];
 | 
			
		||||
                        }
 | 
			
		||||
                        for($i = 1; $i <= $daysInMonth; $i++)
 | 
			
		||||
                        {
 | 
			
		||||
                            //sprawdź czy jest wpis w bazie dla danego dnia
 | 
			
		||||
                            $day = $_POST['mm']."-".($i < 10 ? "0".$i : $i);
 | 
			
		||||
                            $sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.aktywne = 1 AND obecnosc.status = statusy.id";
 | 
			
		||||
                            $stmt = $pdo->prepare($sql);
 | 
			
		||||
                            $stmt->bindValue(':kto', $_POST["user"], PDO::PARAM_INT);
 | 
			
		||||
                            $stmt->bindValue(':data', $day, PDO::PARAM_STR);
 | 
			
		||||
                            $stmt->execute();
 | 
			
		||||
                            $obecnosc = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
                            //sprawdź czy sobota lub niedziela
 | 
			
		||||
                            $dayOfWeek = date('w', strtotime($day));
 | 
			
		||||
                            if($dayOfWeek == 0 || $dayOfWeek == 6)
 | 
			
		||||
                            {
 | 
			
		||||
                                echo '<tr class="weekend">';
 | 
			
		||||
                            }
 | 
			
		||||
                            else if(in_array($day, $dniWolneArray))
 | 
			
		||||
                            {
 | 
			
		||||
                                echo '<tr class="weekend">';
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                echo '<tr>';
 | 
			
		||||
                            }
 | 
			
		||||
                            //brak wpisu w bazie
 | 
			
		||||
                            if($obecnosc === false)
 | 
			
		||||
                            {
 | 
			
		||||
                                echo '<td>'.$i.'</td>';
 | 
			
		||||
                                echo '<td></td>';
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                //jest wpis w bazie
 | 
			
		||||
                                echo "<td>".$i;
 | 
			
		||||
                                //jeżeli niezaakceptowane ❌
 | 
			
		||||
                                if($obecnosc['zaakceptowane'] == 0)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo " ❌";
 | 
			
		||||
                                }
 | 
			
		||||
                                //jeżeli zaakceptowane ✔️
 | 
			
		||||
                                else if($obecnosc['zaakceptowane'] == 1)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo " ✔️";
 | 
			
		||||
                                }
 | 
			
		||||
                                echo "</td>";
 | 
			
		||||
                                if($obecnosc['czasZaczecia'] != NULL && $obecnosc['czasKonca'] != NULL)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td>".$obecnosc['czasZaczecia']." - ".$obecnosc['czasKonca']."";
 | 
			
		||||
                                    if($obecnosc['skrot'] != "OB")
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo " - ".$obecnosc['skrot']."";
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                else if($obecnosc['czasZaczecia'] != NULL && $obecnosc['czasKonca'] == NULL)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td>".$obecnosc['czasZaczecia']." - ";
 | 
			
		||||
                                    if($obecnosc['skrot'] != "OB")
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo " - ".$obecnosc['skrot']."";
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                else if($obecnosc['czasZaczecia'] == NULL && $obecnosc['czasKonca'] != NULL)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td> - ".$obecnosc['czasKonca']."";
 | 
			
		||||
                                    if($obecnosc['skrot'] != "OB")
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo " - ".$obecnosc['skrot']."";
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                else
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "<td>".$obecnosc['skrot']."";
 | 
			
		||||
                                    //
 | 
			
		||||
                                }
 | 
			
		||||
                                if($obecnosc['zdalne'] == 1)
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo " - PZ";
 | 
			
		||||
                                }
 | 
			
		||||
                                else
 | 
			
		||||
                                {
 | 
			
		||||
                                    echo "</td>";
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            echo "</tr>";
 | 
			
		||||
                        }
 | 
			
		||||
                        ?>
 | 
			
		||||
                        
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div id="legenda">
 | 
			
		||||
                    <div style="height: 20px;"></div>
 | 
			
		||||
                    <h3>Opcje</h3>
 | 
			
		||||
                    <form action="accept.php" method="post">
 | 
			
		||||
                        <input type="hidden" name="user" value="<?php echo $_POST['user']; ?>">
 | 
			
		||||
                        <input type="hidden" name="month" value="<?php echo $_POST['mm']; ?>">
 | 
			
		||||
                        <button type="submit" name="akceptuj">Akceptuj</button>
 | 
			
		||||
                    </form>
 | 
			
		||||
                    <form action="print.php" method="post">
 | 
			
		||||
                        <input type="hidden" name="user" value="<?php echo $_POST['user']; ?>">
 | 
			
		||||
                        <input type="hidden" name="month" value="<?php echo $_POST['mm']; ?>">
 | 
			
		||||
                        <button type="submit" name="drukuj">Drukuj</button>
 | 
			
		||||
                    </form>
 | 
			
		||||
                </div>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
<?php
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//print_r($_POST);
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,89 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
//pobierz listę danych pracowników których przełożonym jest zalogowany użytkownik
 | 
			
		||||
$podlega = array();
 | 
			
		||||
$sql = "SELECT id, imie, nazwisko 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);
 | 
			
		||||
//print_r($podlega);
 | 
			
		||||
//sprawdź czy któryś z tych pracowników ma nie zaaakceptowane dni
 | 
			
		||||
$uzytkownicyWithDaysWaiting = array();
 | 
			
		||||
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();
 | 
			
		||||
    if($daysWaiting > 0)
 | 
			
		||||
    {
 | 
			
		||||
        $uzytkownicyWithDaysWaiting[] = $podlega;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
//print_r($uzytkownicyWithDaysWaiting);
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <div class="error">
 | 
			
		||||
                    <?php
 | 
			
		||||
                    if(isset($_SESSION['innfoError']))
 | 
			
		||||
                    {
 | 
			
		||||
                        echo $_SESSION['innfoError'];
 | 
			
		||||
                        unset($_SESSION['innfoError']);
 | 
			
		||||
                    }
 | 
			
		||||
                    ?>
 | 
			
		||||
                </div>
 | 
			
		||||
                <form action="waitingForAcceptsMonth_form.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="user">Wybierz pracownika:</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <select name="user" id="user">
 | 
			
		||||
                                    <?php
 | 
			
		||||
                                    foreach($uzytkownicyWithDaysWaiting as $user)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        echo '<option value="'.$user['id'].'">'.$user['imie'].' '.$user['nazwisko'].'</option>';
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ?>
 | 
			
		||||
                                </select>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="show" value="Pokaż">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//print_r($_SESSION);
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <form action="workEnd_form.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="end">Zakończenie pracy</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="time" name="end" id="end" value="<?php echo date('H:00'); ?>" max="<?php echo date('TH:i'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="submit" value="Zakończ pracę">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='panel.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
//dane za pomocą post przekazywane $_POST['end']
 | 
			
		||||
//sprawdź czy dziś już zaczął pracę, sprawdź czy już dziś nie zakończył pracę, sprawdź czy zakończenie pracy jest później niż rozpoczęcie
 | 
			
		||||
$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)
 | 
			
		||||
{
 | 
			
		||||
    $_SESSION['innfoError'] = "Dziś nie rozpoczęto pracy";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    if($work['czasZaczecia'] == NULL)
 | 
			
		||||
    {
 | 
			
		||||
        $_SESSION['innfoError'] = "Dziś nie rozpoczęto pracy";
 | 
			
		||||
        header("Location: panel.php");
 | 
			
		||||
        exit();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        if($work['czasKonca'] != NULL)
 | 
			
		||||
        {
 | 
			
		||||
            $_SESSION['innfoError'] = "Dziś już zakończono pracę";
 | 
			
		||||
            header("Location: panel.php");
 | 
			
		||||
            exit();
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            if($_POST['end'] < $work['czasZaczecia'])
 | 
			
		||||
            {
 | 
			
		||||
                $_SESSION['innfoError'] = "Zakończenie pracy nie może być wcześniej niż rozpoczęcie";
 | 
			
		||||
                header("Location: panel.php");
 | 
			
		||||
                exit();
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                //zakończ pracę
 | 
			
		||||
                $sql = "UPDATE obecnosc SET czasKonca = :czasKonca WHERE id = :id";
 | 
			
		||||
                $stmt = $pdo->prepare($sql);
 | 
			
		||||
                $stmt->bindValue(':czasKonca', $_POST['end'], PDO::PARAM_STR);
 | 
			
		||||
                $stmt->bindValue(':id', $work['id'], PDO::PARAM_INT);
 | 
			
		||||
                $stmt->execute();
 | 
			
		||||
                $_SESSION['innfoError'] = "Zakończono pracę";
 | 
			
		||||
                header("Location: panel.php");
 | 
			
		||||
                exit();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,61 @@
 | 
			
		|||
<?php
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
//print_r($_SESSION);
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
<!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">
 | 
			
		||||
        <div id="panel">
 | 
			
		||||
            <header>
 | 
			
		||||
                <h1>Witaj <?php echo $_SESSION["user_imie"]; ?></h1>
 | 
			
		||||
            </header>
 | 
			
		||||
            <nav>
 | 
			
		||||
                <?php
 | 
			
		||||
                    require_once 'nav.php';
 | 
			
		||||
                ?>
 | 
			
		||||
            </nav>
 | 
			
		||||
            <main id="work">
 | 
			
		||||
                <form action="workStart_form.php" method="post">
 | 
			
		||||
                    <table class="form">
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <label for="start">Rozpoczęcie pracy</label>
 | 
			
		||||
                            </td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="time" name="start" id="start" value="<?php echo date('H:00'); ?>" max="<?php echo date('TH:i'); ?>">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <label for="remote">Praca zdalna</label>
 | 
			
		||||
                                <input type="checkbox" name="remote" id="remote" value="0">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <input type="submit" name="submit" value="Rozpocznij pracę">
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td colspan="2">
 | 
			
		||||
                                <button class="cancel" type="button" onclick="window.location.href='panel.php'">Anuluj</button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </form>
 | 
			
		||||
            </main>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <?php
 | 
			
		||||
    require_once 'footer.php';
 | 
			
		||||
    ?>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
require_once 'db.php';
 | 
			
		||||
require_once 'checkLogin.php';
 | 
			
		||||
@session_start();
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
//dane za pomocą post przekazywane $_POST['start']
 | 
			
		||||
 | 
			
		||||
//sprawdź czy już nie jest już obecność rozpoczęta
 | 
			
		||||
$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);
 | 
			
		||||
//<input type="checkbox" name="remote" id="remote" value="0">
 | 
			
		||||
$remoteWork = 0;
 | 
			
		||||
if(isset($_POST['remote']))
 | 
			
		||||
{
 | 
			
		||||
    $remoteWork = 1;
 | 
			
		||||
}
 | 
			
		||||
if($work === false)
 | 
			
		||||
{
 | 
			
		||||
    //rozpocznij pracę
 | 
			
		||||
    $sql = "INSERT INTO obecnosc (kto, data, czasZaczecia, status, zdalne, aktywne) VALUES (:kto, :data, :czasZaczecia, :status, :zdalne, 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->bindValue(':czasZaczecia', $_POST['start'], PDO::PARAM_STR);
 | 
			
		||||
    $stmt->bindValue(':status', 1, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->bindValue(':zdalne', $remoteWork, PDO::PARAM_INT);
 | 
			
		||||
    $stmt->execute();
 | 
			
		||||
    $_SESSION['innfoError'] = "Rozpoczęto pracę";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    
 | 
			
		||||
    $_SESSION['innfoError'] = "Dziś już rozpoczęto pracę";
 | 
			
		||||
    header("Location: panel.php");
 | 
			
		||||
    exit();
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue