consolidate all repos to one for archive

This commit is contained in:
2025-01-28 13:46:42 +01:00
commit a6610fbc7a
5350 changed files with 2705721 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
<?php
session_start();
if(empty($_SESSION['username'])){
header('Location: index.php');
exit();
}
?>
<!DOCTYPE html>
<html lang="sl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Demo vaja 6 - PHP</title>
<!-- Bootstrap v5.1.3 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<!-- jQuery v3.6.0 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="script.js"></script>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<?php
require('fruits_db.php');
$isRequestedFruitInDB = FALSE;
$requestedFruitProperties = NULL;
if(isset($_GET['fruit'])){
$requestedFruitName = $_GET['fruit'];
foreach($fruits as $fruit){
$fruitProperties = get_object_vars($fruit);
if($fruitProperties['name'] == $requestedFruitName){
$isRequestedFruitInDB = TRUE;
$requestedFruitProperties = $fruitProperties;
break;
}
}
}
if ($isRequestedFruitInDB == TRUE){
require('header.php');
$card = "
<div class='col-md-6 p-4'>
<div class='card mx-auto' style='width: 16rem;'>
<div class='card-body'>
<h5 class = 'card-title'>{$requestedFruitProperties['name']}</h5>
<p class='card-text'>{$requestedFruitProperties['description']}</p>
<p>Za vec informacij obiscite <a href = '{$requestedFruitProperties['wiki_url']}'>povezavo</a>.</p>
<br>
<a href = 'index.php'>Nazaj na vsa sadja</a>
</div>
</div>
</div>
";
echo($card);
}
else{
header('Location: index.php');
exit();
}
?>
</body>
</html>

View File

@@ -0,0 +1,19 @@
<?php
$fruits = array(
(object)array(
"name" => "Banane",
"description" => "Zdrav tropski sadež odličnega okusa, ki ohranja zdravje vaših oči",
"wiki_url" => "https://en.wikipedia.org/wiki/Banana"
),
(object)array(
"name" => "Češnje",
"description" => "Sladek sadež, ki se ga obira v mesecu maju in juniju",
"wiki_url" => "https://en.wikipedia.org/wiki/Cherry"
),
(object)array(
"name" => "Borovnice",
"description" => "Slastni in zdravi sadeži iz gozda",
"wiki_url" => "https://en.wikipedia.org/wiki/Blueberry"
)
);
?>

View File

@@ -0,0 +1,26 @@
<?php
session_start();
?>
<nav class="navbar navbar-expand-md navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Demo vaja 5 - jQuery in Bootstrap</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-item nav-link" href="#">Prodajalne sadja</a>
<a class="nav-item nav-link disabled" href="#">Cene sadja</a>
</div>
<?php
if(isset($_SESSION['username'])){
$username = $_SESSION['username'];
echo "<div class ='navbar-nav'><a class = 'nav-item nav-link' href='logout.php'>Izpis - {$username}</a></div>";
}
?>
</div>
</div>
</nav>

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1,95 @@
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="sl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Demo vaja 6 - PHP</title>
<!-- Bootstrap v5.1.3 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<!-- jQuery v3.6.0 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="script.js"></script>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<?php
require('fruits_db.php');
require('header.php');
?>
<div class="container-fluid">
<div class="row">
<?php if(!empty($_SESSION['username'])) : ?>
<div class="col-md-6 p-4">
<span class="lead">Dodaj sadje v seznam</span><br>
<div class="input-group mb-3 mt-3">
<input type="text" id="addFruitInput" class="form-control">
<div class="input-group-append">
<button class="btn btn-outline-secondary" type="button" id="addFruitButton" disabled>Dodaj</button>
</div>
</div>
<ol id="fruitList" class="list-group mb-4">
<?php
foreach($fruits as $fruit){
$fruitProperties = get_object_vars($fruit);
$fruitName = $fruitProperties['name'];
echo("<li class='list-group-item'>$fruitName<a style = 'float:right;' href='/fruits.php?fruit=$fruitName'>Vec informacij</a></li>");
}
?>
</ol>
<button id="deleteFruitButton" class="btn btn-danger mb-2" disabled>Izbriši sadje</button>
<div class="alert alert-light" role="alert" id="lastAddedFruitTimeSpan">Zadnji vnos ob ?</div>
</div>
<div class="col-md-6 p-4">
<div class="card mx-auto" style="width: 16rem;">
<img class="img-fluid" id="fruitImage">
<div class="card-body">
<p class="card-text">Izbrano sadje je prikazano na zgornji sliki</p>
</div>
</div>
</div>
<?php else : ?>
<div class="col-md-6 p-4">
<form action="/login.php" method="post">
<div class="form-group">
<div class="mb-3">
<label for="username">Vpis uporabnika</label>
</div>
<div class="mb-3">
<input type="text" class="form-control" id="username" name="username" placeholder="Uporabnisko ime">
</div>
</div>
<button type="submit" class="btn btn-primary">Prijava</button>
</form>
</div>
<?php endif; ?>
</div>
</div>
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-6"></div>
</div>
<span>Avtor: Nikola Petrov</span>
</div>
</footer>
<!-- Bootstrap v5.1.3 JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<?php
session_start();
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(!empty($_POST['username'])){
$username = $_POST['username'];
$_SESSION['username'] = $username;
}
}
header('Location: index.php');
exit();
?>

View File

@@ -0,0 +1,9 @@
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>

View File

@@ -0,0 +1,86 @@
var addFruitButton;
var addFruitInput;
var fruitList;
var deleteFruitButton;
var lastAddedFruitTimeSpan;
var fruitImage;
const fruitImagesPaths = {
"ananas": "./images/ananas.jpg",
"češnje": "./images/češnje.jpg",
"hruška": "./images/hruška.jpg",
"jabolko": "./images/jabolko.jpg"
};
const notFoundFruitImagePath = "./images/not_found.jpg";
$(document).ready(() => {
addFruitButton = $("#addFruitButton");
addFruitInput = $("#addFruitInput");
fruitList = $("#fruitList");
deleteFruitButton = $("#deleteFruitButton");
lastAddedFruitTimeSpan = $("#lastAddedFruitTimeSpan");
fruitImage = $("#fruitImage");
addFruitInput.on("input", () => {
const isTextPresentInInput = addFruitInput.val().length > 0;
if (isTextPresentInInput)
{
addFruitButton.prop("disabled", false);
}
else
{
addFruitButton.prop("disabled", true);
}
});
addFruitButton.click(() => {
const addedFruit = addFruitInput.val();
fruitList.append("<li class='list-group-item'>" + addedFruit + "</li>");
addFruitInput.val("");
addFruitButton.prop("disabled", true);
fruitList.children().last().trigger("click");
const currentDate = new Date();
const options = {hour: "numeric", minute: "numeric", second: "numeric"};
const currentDateString = new Intl.DateTimeFormat("de-AT", options).format(currentDate);
lastAddedFruitTimeSpan.text("Zadnji vnos ob: " + currentDateString);
});
$(document).on("click", "li", onClickFruit);
deleteFruitButton.click(() => {
$("li.selectedFruit").first().remove();
deleteFruitButton.prop("disabled", true);
fruitImage.attr("src", "");
});
});
function onClickFruit()
{
const fruit = $(this).text().replace(/<a(.*)>(.*)<\/a>/g, "").replace('Več informacij',"").toLowerCase();
$(this).siblings().removeClass("selectedFruit");
$(this).addClass("selectedFruit");
if (fruit in fruitImagesPaths)
{
const fruitImagePath = fruitImagesPaths[fruit];
fruitImage.attr("src", fruitImagePath);
}
else
{
fruitImage.attr("src", notFoundFruitImagePath);
}
deleteFruitButton.prop("disabled", false);
}

View File

@@ -0,0 +1,28 @@
html {
min-height: 100%;
height: 100%;
overflow: hidden;
}
body
{
box-sizing: border-box;
min-height: 100%;
height: 100%;
background-color: skyblue;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px;
line-height: 60px;
background-color: #f5f5f5;
}
.selectedFruit
{
color: red;
}