This commit is contained in:
Adrien MALINGREY 2021-10-21 20:52:23 +02:00
parent 17f93a6846
commit 4aed96037d
11 changed files with 57 additions and 49 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
connect.php config_db.php

11
400.php
View File

@ -13,17 +13,14 @@ header("HTTP/1.1 400 Bad Request");
<body> <body>
<script type="text/javascript" src="js/materialize.js"></script> <script type="text/javascript" src="js/materialize.js"></script>
<header> <header>
<nav> <nav class="nav-wrapper navbar-fixed teal lighten-2">
<div class="nav-wrapper navbar-fixed teal lighten-2"> <div class="container">
<a href="." class="brand-logo center">TablIP</a> <a href="." class="breadcrumb">TablIP</a>
<div>
<a href="." class="breadcrumb">Sites</a>
</div>
</div> </div>
</nav> </nav>
</header> </header>
<div class="container"> <div class="container">
<h1>Erreur</h1> <h4>Erreur</h4>
<p>Données requises non reçues</p> <p>Données requises non reçues</p>
<a class="waves-effect waves-light btn" href='javascript:history.back(1);'><i class="material-icons left">arrow_back</i>Retour</a> <a class="waves-effect waves-light btn" href='javascript:history.back(1);'><i class="material-icons left">arrow_back</i>Retour</a>
</div> </div>

13
404.php
View File

@ -13,17 +13,14 @@ header("HTTP/1.1 404 Not Found");
<body> <body>
<script type="text/javascript" src="js/materialize.js"></script> <script type="text/javascript" src="js/materialize.js"></script>
<header> <header>
<nav> <nav class="nav-wrapper navbar-fixed teal lighten-2">
<div class="nav-wrapper navbar-fixed teal lighten-2"> <div class="container">
<a href="." class="brand-logo center">TablIP</a> <a href="." class="breadcrumb">TablIP</a>
<div> <div class="container">
<a href="." class="breadcrumb">Sites</a>
</div>
</div>
</nav> </nav>
</header> </header>
<div class="container"> <div class="container">
<h1>Erreur</h1> <h4>Erreur</h4>
<p>La ressource demandée n'a pas été trouvée</p> <p>La ressource demandée n'a pas été trouvée</p>
<a class="waves-effect waves-light btn" href='javascript:history.back(1);'><i class="material-icons left">arrow_back</i>Retour</a> <a class="waves-effect waves-light btn" href='javascript:history.back(1);'><i class="material-icons left">arrow_back</i>Retour</a>
</div> </div>

11
500.php
View File

@ -13,17 +13,14 @@ header("HTTP/1.1 500 Internal Server Error");
<body> <body>
<script type="text/javascript" src="js/materialize.js"></script> <script type="text/javascript" src="js/materialize.js"></script>
<header> <header>
<nav> <nav class="nav-wrapper navbar-fixed teal lighten-2">
<div class="nav-wrapper navbar-fixed teal lighten-2"> <div class="container">
<a href="." class="brand-logo center">TablIP</a> <a href="." class="breadcrumb">TablIP</a>
<div>
<a href="." class="breadcrumb">Sites</a>
</div>
</div> </div>
</nav> </nav>
</header> </header>
<div class="container"> <div class="container">
<h1>Erreur</h1> <h4>Erreur</h4>
<p>Problème côté serveur</p> <p>Problème côté serveur</p>
<a class="waves-effect waves-light btn" href='javascript:history.back(1);'><i class="material-icons left">arrow_back</i>Retour</a> <a class="waves-effect waves-light btn" href='javascript:history.back(1);'><i class="material-icons left">arrow_back</i>Retour</a>
</div> </div>

7
config_db.php.inc Normal file
View File

@ -0,0 +1,7 @@
<?php
// Fill with your database connexion informations
$DB_HOST = 'localhost';
$DB_NAME = 'TablIP';
$DB_USER = 'webapp_malingrey_fr_preprod';
$DB_PASSWORD = 'B3JSRLmhB2PDAtPtiG8hvO2p';
?>

View File

@ -1,10 +1,5 @@
<?php <?php
// Fill with your database login informations and rename file to connect.php require_once("config_db.php");
$DB_HOST = "localhost";
$DB_NAME = "TableIP";
$DB_USER = "user";
$DB_PASSWORD = "password";
try { try {
$db = new PDO("mysql:host=$DB_HOST;dbname=$DB_NAME", $DB_USER, $DB_PASSWORD); $db = new PDO("mysql:host=$DB_HOST;dbname=$DB_NAME", $DB_USER, $DB_PASSWORD);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

View File

@ -4,14 +4,16 @@
<link rel="stylesheet" href="css/style.css"/> <link rel="stylesheet" href="css/style.css"/>
<link rel="stylesheet" href="css/icons.css"/> <link rel="stylesheet" href="css/icons.css"/>
<link rel="stylesheet" href="css/materialize.css"/> <link rel="stylesheet" href="css/materialize.css"/>
<script type="text/javascript" src="js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head> </head>
<body> <body>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/materialize.js"></script> <script type="text/javascript" src="js/materialize.js"></script>
<header> <header>
<nav class="nav-wrapper navbar-fixed teal lighten-2"> <nav class="nav-wrapper navbar-fixed teal lighten-2">
<div class="container">
<a class="breadcrumb">TablIP</a> <a class="breadcrumb">TablIP</a>
</div>
</nav> </nav>
</header> </header>
<div class="container"> <div class="container">
@ -21,7 +23,7 @@
<?php <?php
include "connect.php"; include "connect.php";
foreach ($db->query("SELECT * FROM `Sites` ORDER BY `Name`") as $site) { foreach ($db->query("SELECT * FROM `Sites` ORDER BY `Name`") as $site) {
print " </li><a href='site.php?id=${site['id']}' class='collection-item'>${site['Name']}</a>\n"; print " <a href='site.php?id=${site['id']}' class='collection-item'>${site['Name']}</a>\n";
} }
?> ?>
</div> </div>
@ -34,6 +36,7 @@ foreach ($db->query("SELECT * FROM `Sites` ORDER BY `Name`") as $site) {
<label for="siteName">Nom</label> <label for="siteName">Nom</label>
<input type="text" class="validate" id="siteName" name="siteName" placeholder="Site" required/> <input type="text" class="validate" id="siteName" name="siteName" placeholder="Site" required/>
</div> </div>
<div class="card-action right-align">
<button class="btn waves-effect waves-light" type="submit" name="action">Ajouter <button class="btn waves-effect waves-light" type="submit" name="action">Ajouter
<i class="material-icons right">add</i> <i class="material-icons right">add</i>
</button> </button>

View File

@ -5,6 +5,11 @@ function showCard(card, button) {
} }
function updateHost(input) { function updateHost(input) {
if (input.value) {
input.required = true
} else {
input.required = false
}
if (input.form.checkValidity()) { if (input.form.checkValidity()) {
var td = input.parentElement var td = input.parentElement
var tr = td.parentElement var tr = td.parentElement

View File

@ -29,16 +29,18 @@ if (!$siteName) {
<link rel="stylesheet" href="css/style.css"/> <link rel="stylesheet" href="css/style.css"/>
<link rel="stylesheet" href="css/icons.css"/> <link rel="stylesheet" href="css/icons.css"/>
<link rel="stylesheet" href="css/materialize.css"/> <link rel="stylesheet" href="css/materialize.css"/>
<script type="text/javascript" src="js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head> </head>
<body> <body>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/materialize.js"></script> <script type="text/javascript" src="js/materialize.js"></script>
<header> <header>
<nav class="nav-wrapper navbar-fixed teal lighten-2"> <nav class="nav-wrapper navbar-fixed teal lighten-2">
<div class="container">
<a href="." class="breadcrumb">TablIP</a> <a href="." class="breadcrumb">TablIP</a>
<a href="site.php?id=<?=$siteId?>" class="breadcrumb"><?=$siteName?></a> <a href="site.php?id=<?=$siteId?>" class="breadcrumb"><?=$siteName?></a>
<a class="breadcrumb"><?=$networkName?></a> <a class="breadcrumb"><?=$networkName?></a>
</div>
</nav> </nav>
</header> </header>
<div class="container"> <div class="container">

View File

@ -18,15 +18,17 @@ if (!$siteName) {
<link rel="stylesheet" href="css/style.css"/> <link rel="stylesheet" href="css/style.css"/>
<link rel="stylesheet" href="css/icons.css"/> <link rel="stylesheet" href="css/icons.css"/>
<link rel="stylesheet" href="css/materialize.css"/> <link rel="stylesheet" href="css/materialize.css"/>
<script type="text/javascript" src="js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head> </head>
<body> <body>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/materialize.js"></script> <script type="text/javascript" src="js/materialize.js"></script>
<header> <header>
<nav class="nav-wrapper navbar-fixed teal lighten-2"> <nav class="nav-wrapper navbar-fixed teal lighten-2">
<div class="container">
<a href="." class="breadcrumb">TablIP</a> <a href="." class="breadcrumb">TablIP</a>
<a class="breadcrumb"><?=$siteName?></a> <a class="breadcrumb"><?=$siteName?></a>
</div>
</nav> </nav>
</header> </header>
<div class="container"> <div class="container">
@ -58,9 +60,11 @@ foreach ($db->query("SELECT * FROM `Networks` WHERE `SiteId` = $siteId ORDER BY
<label for="maskInput">Masque</label> <label for="maskInput">Masque</label>
<input type="text" class="validate" id="maskInput" name="mask" placeholder="255.255.255.0" pattern="^(255\.255\.(248|252|255)\.0|255\.255\.255\.(0|128|192|224|240|248|252|255))$" title="Plus grand masque autorisé : 255.255.248.0"/> <input type="text" class="validate" id="maskInput" name="mask" placeholder="255.255.255.0" pattern="^(255\.255\.(248|252|255)\.0|255\.255\.255\.(0|128|192|224|240|248|252|255))$" title="Plus grand masque autorisé : 255.255.248.0"/>
</div> </div>
<div class="card-action right-align">
<button class="btn waves-effect waves-light" type="submit" name="action">Ajouter <button class="btn waves-effect waves-light" type="submit" name="action">Ajouter
<i class="material-icons right">add</i> <i class="material-icons right">add</i>
</button> </button>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -14,11 +14,12 @@ if (is_null($ip)
} }
include "connect.php"; include "connect.php";
try { try {
$update = $db->prepare(" $update = $db->prepare(
<<<SQL
INSERT INTO Hosts(IpAddress, NetworkId, Hostname, FQDN, MacAddress, Link, Comments) INSERT INTO Hosts(IpAddress, NetworkId, Hostname, FQDN, MacAddress, Link, Comments)
VALUES($ip, $networkId, :i_hostname, :i_fqdn, :i_macAddress, :i_link, :i_comments) VALUES($ip, $networkId, :i_hostname, :i_fqdn, :i_macAddress, :i_link, :i_comments)
ON DUPLICATE KEY UPDATE Hostname = :u_hostname, FQDN = :u_fqdn, MacAddress = :u_macAddress, Comments = :u_comments, Link = :u_link ON DUPLICATE KEY UPDATE Hostname = :u_hostname, FQDN = :u_fqdn, MacAddress = :u_macAddress, Comments = :u_comments, Link = :u_link
"); SQL);
$update->execute([ $update->execute([
'i_hostname' => $hostname, 'i_hostname' => $hostname,
'i_fqdn' => $fqdn, 'i_fqdn' => $fqdn,