This commit is contained in:
Baptiste Rebillard 2022-04-05 21:18:29 +02:00
父節點 1159b3a7b1
當前提交 3416d25529
共有 8 個文件被更改,包括 270 次插入148 次删除

查看文件

@ -0,0 +1,6 @@
.menuimg {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
}

二進制
assets/img/ico_promo_60.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  大小: 5.3 KiB

229
assets/img/menu/menu.svg Normal file
查看文件

@ -0,0 +1,229 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1920"
height="250"
viewBox="0 0 0.0192 0.0025"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="website_menu2.0.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="px"
showgrid="false"
scale-x="1e-05"
units="px"
inkscape:zoom="3.4558338"
inkscape:cx="23.872676"
inkscape:cy="342.17502"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient20017">
<stop
style="stop-color:#e35b00;stop-opacity:1;"
offset="0"
id="stop20013" />
<stop
style="stop-color:#e35b00;stop-opacity:0;"
offset="1"
id="stop20015" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient20017"
id="linearGradient20019"
x1="-0.00053274789"
y1="0.00081824599"
x2="0.031938933"
y2="0.0050414479"
gradientUnits="userSpaceOnUse" />
</defs>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Layer 2">
<rect
style="display:inline;opacity:0.900286;fill:#ff7f29;fill-opacity:0.998612;fill-rule:evenodd;stroke-width:0.00005;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:133.333"
id="rect15820"
width="0.0162"
height="0.0014"
x="4.8798112e-05"
y="0.001084017" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Sky"
style="display:inline">
<rect
style="opacity:0.900286;fill:url(#linearGradient20019);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.00005;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:133.333;stroke-opacity:1"
id="rect17229"
width="0.0162"
height="0.0014"
x="4.8798112e-05"
y="0.001084017" />
</g>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<rect
style="opacity:0.900286;fill:#fd6600;fill-opacity:0.99861199;fill-rule:evenodd;stroke:#000000;stroke-width:0.00005;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:133.333;stroke-opacity:1"
id="rect16920"
width="0.0016660051"
height="0.0014200323"
x="0.0175512"
y="0.0010639852" />
<path
style="fill:none;stroke:#000000;stroke-width:5e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.0175512,0.00176398 h 0.001666"
id="path16977" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:5e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 4.879811e-5,0.00108402 v 0.0014"
id="path15935" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1.7687649e-5,0.00108402 v 6e-4"
id="path16019" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00204894,0.00108402 v 7e-4"
id="path16021" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00408019,0.00108402 v 7e-4"
id="path16103" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00611144,0.00108402 v 7e-4"
id="path16105" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00814269,0.00108402 v 7e-4"
id="path16107" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.0081488,0.00108402 v 7e-4"
id="path16109" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01017394,0.00108402 v 7e-4"
id="path16111" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:5e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.0162488,0.00108402 v 0.0014"
id="path16121" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:5e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 4.879811e-5,0.00108402 H 0.0162488"
id="path16156" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:5e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 4.879811e-5,0.00178402 H 0.0162488"
id="path16238" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:5e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 4.879811e-5,0.00248402 H 0.0162488"
id="path16240" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.2768765e-4,0.00180402 v 7e-4"
id="path17115" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00892769,0.00180402 v 7e-4"
id="path17125" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01220519,0.00108402 v 7e-4"
id="path20574" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01423639,0.00108402 v 7e-4"
id="path20576" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01829879,0.00108402 v 7e-4"
id="path20740" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00285889,0.00180402 v 7e-4"
id="path20822" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00489009,0.00180402 v 7e-4"
id="path20824" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.00692129,0.00180402 v 7e-4"
id="path20826" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01098369,0.00180402 v 7e-4"
id="path21154" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01301489,0.00180402 v 7e-4"
id="path21476" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01504609,0.00180402 v 7e-4"
id="path21478" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:3.53753e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.01910849,0.00178402 v 7e-4"
id="path21480" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:5.49835e-05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 2.0501071e-5,0.00105896 V 0.00250844"
id="path21844" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="buttons"
style="display:inline" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="pipe"
style="display:inline">
<rect
style="fill:#00cc00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.7595e-05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:133.333;stroke-opacity:1"
id="rect1900"
width="0.001302405"
height="0.0019024051"
x="0.016248796"
y="0.00058161217" />
<rect
style="fill:#00cc00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.27166e-05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:133.333;stroke-opacity:1"
id="rect1902"
width="0.0017072834"
height="0.00070112955"
x="0.016046358"
y="0.00032281256" />
</g>
</svg>

After

Width:  |  Height:  |  大小: 11 KiB

147
dao.php
查看文件

@ -1,147 +0,0 @@
<?php
class Dao
{
private $conn;
public function __construct()
{
$username = 'root';
$password = "";
$dsn = 'mysql:dbname=accueil_insa;host=127.0.0.1';
try {
$this->conn = new PDO($dsn, $username, $password, [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8']);
} catch (PDOException $e) {
echo $e;
}
}
private function read_password()
{
$real_path = __DIR__.DIRECTORY_SEPARATOR.".htpassdb";
$file = fopen($real_path, "r") or die("Unable to open DB password file!");;
$password = fgets($file);
fclose($file);
return trim($password);
}
public function get_score_team($team)
{
$sql = 'SELECT text, points FROM scores WHERE team = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$team]);
return $cursor->fetchAll(PDO::FETCH_ASSOC);
}
public function add_score($score_data) {
$sql = 'INSERT INTO scores (text, points, team) VALUES (?, ?, ?)';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$score_data['text'], $score_data['points'], $score_data['team']]);
}
public function save_scores($scores_json, $team)
{
$sql = 'DELETE FROM scores WHERE team = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$team]);
foreach ($scores_json as $value) {
$sql = 'INSERT INTO scores (text, points, team) VALUES (?, ?, ?)';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$value['text'], $value['points'], $team]);
}
}
public function get_map_info($selector)
{
$sql = 'SELECT title, description FROM map_insa WHERE selector = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$selector]);
return $cursor->fetchAll(PDO::FETCH_ASSOC);
}
public function get_map_selectors()
{
$sql = 'SELECT selector FROM map_insa';
$cursor = $this->conn->prepare($sql);
$cursor->execute();
return $cursor->fetchAll(PDO::FETCH_ASSOC);
}
public function save_map_info($selector, $info_json)
{
$sql = 'DELETE FROM map_insa WHERE selector = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$selector]);
$sql = 'INSERT INTO map_insa (title, description, selector) VALUES (?, ?, ?)';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$info_json['title'], $info_json['description'], $selector]);
}
public function is_in_map($selector) {
$sql = 'SELECT selector FROM map_insa WHERE selector = ?';
$query = $this->conn->prepare($sql);
$query->execute([$selector]);
return $query->fetchAll(PDO::FETCH_ASSOC);
}
public function get_activities_of_day($day)
{
$sql = 'SELECT * FROM planning_insa WHERE day = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$day]);
return $cursor->fetchAll(PDO::FETCH_ASSOC);
}
public function save_day_activities($day, $info_json)
{
$sql = 'DELETE FROM planning_insa WHERE day = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$day]);
foreach ($info_json as $value) {
$sql = 'INSERT INTO planning_insa (day, small_title, full_title, description, color, start, length) VALUES (?, ?, ?, ?, ?, ?, ?)';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$value['day'], $value['small_title'], $value['full_title'], $value['description'], $value['color'], $value['start'], $value['length']]);
}
}
/**
* Add a building in the database
* @param String $title = Name of the building displayed
* @param String $description = Description of the building
* @param String $selector = Identifier of the building (unique)
* @return Mixed = if error : false
* else : Array of the row added as an array indexed by column name
*/
public function create_building($title, $description, $selector) {
$sql = 'INSERT INTO map_insa (title, description, selector) VALUES(:title, :description, :selector)';
$query = $this->conn->prepare($sql);
$query->execute(array(
':title' => $title,
':description' => $description,
':selector' => $selector,
));
return $query->fetch(PDO::FETCH_ASSOC);
}
/**
* Remove a building in the database
* @param String $selector = Identifier of the building (unique)
* @return Mixed = if error : false
* else : Array with the selector used to remove from the database
*/
public function delete_building($selector) {
$sql = 'DELETE FROM map_insa WHERE selector=?';
$query = $this->conn->prepare($sql);
$query->execute([$selector]);
return $query->fetch(PDO::FETCH_ASSOC);
}
}

查看文件

@ -31,7 +31,7 @@ ob_start(); // Start reading html
Celui qui gère tout ça : le responsable du site<br>
<strong>Mail :</strong> <a href="mailto:rebillar@insa-toulouse.fr">rebillar@insa-toulouse.fr</a>
<br>
<strong>Instagram : </strong> baptiste.reb
<strong>Tel : </strong> 07 83 64 61 06
</li>
<br>
<li>

查看文件

@ -1,7 +1,32 @@
<?php
ob_start(); // Start reading html
?>
<div class="inner">
<h1>La Prevention</h1>
<p> Cher Ph(f)utur Peeta Amateur,<br>
Déjà, félicitations à toi si tu es arrivé à ce passage de la plaquette. Un Perspicace Parasite Acharné tu
es déjà ! Du parcours du combattant au tir à l’arc, en passant par ton 1er Petit K(c)ours en amphi, tu
vas en traverser des épreuves cette semaine. Sans Capitole, pas de Hunger Games. De même, sans
Com Prev, pas de Semaine d’Accueil digne de ce nom. Nous allons te coacher tout au long de la
semaine afin que tu remportes tes jeux de la faim. Pour que tu profites au maximum de chaque minute,
de chaque seconde de cette aventure, il est nécessaire que tu te sentes en sécurité et épaulé en cas
de besoin. Et c’est justement nous rentrons en jeu, dans le but de t’aider toi, Ph(f)antastique
Prochain Aphoneur. (# On minore pas le test Voltaire nous ?!). Nous veillerons à ce qu’aucun
Ph(f)ormidable Ph(f)étard Aiguisé ne tombe dans un quelconque excès. Avec nous, tu es certain que
cette année, la 59ème
édition de nos INSA Games aura bien lieu. En cas de fringale, d’hyperréflexion,
ou d’hyposommeil, nous te relèverons grâce à nos bidons d’eau et nos sirops étoilés. Nous serons
reconnaissables grâce à nos super brassards fluos. Nous serons également présents pour t’avertir,
cher Petite Ph(f)ripouille Angélique et t’éviter toute descendance inopportune.
Aucun coup de canon ne sera tiré cette année !</p>
<p>Voici une petite video pour t'expliquer les bases si jamais tu vois quelqu'un inconscient :</p>
<iframe class="video" src="https://www.youtube-nocookie.com/embed/Eak9JO1zO2U?rel=0" frameborder="0"
allow="autoplay; encrypted-media" allowfullscreen></iframe>
<h3>Contacts d'urgence</h3>
Bientôt disponibles...
</div>
<?php
$infopage = ["", "Prévention", ob_get_clean(), "", "prevs"]; //relativepath, pagetitle, pagecontent, pagescript, pagename | cf structure/template.php ligne 2 à 6
include("structure/template.php");

查看文件

@ -0,0 +1,8 @@
<?php
if(!isset($relativepath)) {
header('Location: ../index.php');
}
?>
<img src="<?php echo $relativepath.'assets/img/menu/menu.svg'; ?>" class="menuimg">

查看文件

@ -16,6 +16,7 @@ $pagename = $infopage[4]; // nom de la page exact servant à appeler le css
<link rel="stylesheet" type="text/css" href="<?= $relativepath ?>assets/css/page/<?= $pagename ?>.css" />
<link rel="stylesheet" type="text/css" href="<?= $relativepath ?>assets/css/menu.css" />
<link rel="stylesheet" type="text/css" href="<?= $relativepath ?>assets/css/footer.css" />
<link rel = "shortcut icon" href = "<?= $relativepath ?>assets/img/ico_promo_60.ico" >
<title><?= $pagetitle ?> | INSAT Accueil</title>