Skip to content
Snippets Groups Projects
Commit dd3e089c authored by fellah's avatar fellah
Browse files

delete admin from remote

parent ef80b775
No related merge requests found
Showing with 0 additions and 894 deletions
AuthName "Private folder"
AuthType Basic
AuthUserFile "/home/fellah/www/admin/.htpasswd"
Require valid-user
#order deny,allow
#deny from all
#allow from 77.205.22.179
#require user fellah
ErrorDocument 401 /errors.php
ErrorDocument 403 /errors.php
AuthName "Private folder"
AuthType Basic
AuthUserFile "/home/fellah/www/admin/.htpasswd"
Require valid-user
order deny,allow
deny from all
allow from 46.193.68.184require user fellah
ErrorDocument 401 /home/fellah/www/errors.php
ErrorDocument 403 /home/fellah/www/errors.php
fellah:$apr1$eUT/WD6l$SmS.fQhUP9UhtuK3j5jen1
<?php
if (!empty($_POST)) {
require_once __DIR__ . "/../../../assets/models/Projects.php";
$projectId = $_POST["project-id"];
$projectId = intval($projectId);
$project = new Projects();
$success = $project->deleteProject($projectId);
if ($success) {
header("Location: /admin/index.php");
}
}
<?php
// Handle data and then add it to the database.
if (!empty($_POST)) {
require_once __DIR__ . "/../../../assets/models/Projects.php";
$project = new Projects();
$projectName = $_POST["project-title"];
$projectDescription = $_POST["description"];
$textAltImg = $_POST["text-alt"];
$imageFile = $_FILES["file-upload-field"];
$success = $project->insertProject($projectName, $projectDescription, $textAltImg, $imageFile);
if ($success) {
header("Location: /admin/index.php");
exit;
}
}
<?php
if (!empty($_POST)) {
require_once __DIR__ . "/../../../assets/models/Projects.php";
$project = new Projects();
$projectName = $_POST["project-title"];
$projectDescription = $_POST["description"];
$textAltImg = $_POST["text-alt"];
$imageFile = $_FILES["file-upload-field"];
if (isset($_GET["id"])) {
$id = intval($_GET["id"]);
$success = $project->updateProject($id, $projectName, $projectDescription, $textAltImg, $imageFile);
if ($success) {
// After completing the project update, redirect to the index page
header("Location: /admin/index.php"); // Replace "/index.php" with the actual URL of your index page
exit; // Make sure to exit after the redirect
}
}
}
/* Bootstrap */
.btn {
--bs-btn-padding-x: 0.75rem;
--bs-btn-padding-y: 0.375rem;
--bs-btn-font-family: ;
--bs-btn-font-size: 1rem;
--bs-btn-font-weight: 400;
--bs-btn-line-height: 1.5;
--bs-btn-color: #212529;
--bs-btn-bg: transparent;
--bs-btn-border-width: 1px;
--bs-btn-border-color: transparent;
--bs-btn-border-radius: 0.375rem;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),
0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65;
--bs-btn-focus-box-shadow: 0 0 0 0.25rem
rgba(var(--bs-btn-focus-shadow-rgb), 0.5);
display: inline-block;
padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
font-family: var(--bs-btn-font-family);
font-size: var(--bs-btn-font-size);
font-weight: var(--bs-btn-font-weight);
line-height: var(--bs-btn-line-height);
color: var(--bs-btn-color);
text-align: center;
text-decoration: none;
-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
border-radius: var(--bs-btn-border-radius);
background-color: var(--bs-btn-bg);
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.btn {
transition: none;
}
}
.btn:hover {
color: var(--bs-btn-hover-color);
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
}
.btn-check:focus + .btn,
.btn:focus {
color: var(--bs-btn-hover-color);
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
outline: 0;
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn,
.btn-check:active + .btn,
.btn:active,
.btn.active,
.btn.show {
color: var(--bs-btn-active-color);
background-color: var(--bs-btn-active-bg);
border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus,
.btn-check:active + .btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.show:focus {
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
color: var(--bs-btn-disabled-color);
pointer-events: none;
background-color: var(--bs-btn-disabled-bg);
border-color: var(--bs-btn-disabled-border-color);
opacity: var(--bs-btn-disabled-opacity);
}
.btn-success {
--bs-btn-color: #fff;
--bs-btn-bg: #198754;
--bs-btn-border-color: #198754;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #157347;
--bs-btn-hover-border-color: #146c43;
--bs-btn-focus-shadow-rgb: 60, 153, 110;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #146c43;
--bs-btn-active-border-color: #13653f;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #198754;
--bs-btn-disabled-border-color: #198754;
}
.btn-danger {
--bs-btn-color: #fff;
--bs-btn-bg: #dc3545;
--bs-btn-border-color: #dc3545;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #bb2d3b;
--bs-btn-hover-border-color: #b02a37;
--bs-btn-focus-shadow-rgb: 225, 83, 97;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #b02a37;
--bs-btn-active-border-color: #a52834;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #dc3545;
--bs-btn-disabled-border-color: #dc3545;
}
.btn-primary {
--bs-btn-color: #fff;
--bs-btn-bg: #0d6efd;
--bs-btn-border-color: #0d6efd;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0b5ed7;
--bs-btn-hover-border-color: #0a58ca;
--bs-btn-focus-shadow-rgb: 49, 132, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0a58ca;
--bs-btn-active-border-color: #0a53be;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #0d6efd;
--bs-btn-disabled-border-color: #0d6efd;
}
.btn-dark {
--bs-btn-color: #fff;
--bs-btn-bg: #212529;
--bs-btn-border-color: #212529;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #1c1f23;
--bs-btn-hover-border-color: #1a1e21;
--bs-btn-focus-shadow-rgb: 66, 70, 73;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #1a1e21;
--bs-btn-active-border-color: #191c1f;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #212529;
--bs-btn-disabled-border-color: #212529;
}
.btn-warning {
color: #212529;
background-color: #ffc107;
border-color: #ffc107;
}
.btn-warning:hover {
color: #212529;
background-color: #e0a800;
border-color: #d39e00;
}
.btn-warning:focus,
.btn-warning.focus {
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
.btn-warning.disabled,
.btn-warning:disabled {
color: #212529;
background-color: #ffc107;
border-color: #ffc107;
}
.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
color: #212529;
background-color: #d39e00;
border-color: #c69500;
}
.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
.alert {
--bs-alert-bg: transparent;
--bs-alert-padding-x: 1rem;
--bs-alert-padding-y: 1rem;
--bs-alert-margin-bottom: 1rem;
--bs-alert-color: inherit;
--bs-alert-border-color: transparent;
--bs-alert-border: 1px solid var(--bs-alert-border-color);
--bs-alert-border-radius: 0.375rem;
position: relative;
padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
margin-bottom: var(--bs-alert-margin-bottom);
color: var(--bs-alert-color);
background-color: var(--bs-alert-bg);
border: var(--bs-alert-border);
border-radius: var(--bs-alert-border-radius, 0);
}
.alert-warning {
--bs-alert-color: #664d03;
--bs-alert-bg: #fff3cd;
--bs-alert-border-color: #ffecb5;
}
main {
margin-top: 100px;
height: 840px;
/* background: linear-gradient(60deg, rgb(77, 77, 77), rgb(58, 58, 58)); */
}
form {
width: 90%;
margin: 0 auto;
}
h1 {
width: 90%;
margin: 15px auto;
}
.file-upload-wrapper {
position: relative;
width: 100%;
height: 60px;
}
.file-upload-wrapper:after {
content: attr(data-text);
font-size: 18px;
position: absolute;
top: 0;
left: 0;
background: #00000008;
padding: 10px 15px;
display: block;
width: calc(100% - 40px);
pointer-events: none;
z-index: 20;
height: 40px;
line-height: 40px;
color: #999;
border-radius: 5px 10px 10px 5px;
font-weight: 300;
}
.file-upload-wrapper:before {
content: "Upload";
position: absolute;
top: 0;
right: 0;
display: inline-block;
height: 60px;
background: #a76dc1;
color: #fff;
font-weight: 700;
z-index: 25;
font-size: 16px;
line-height: 60px;
padding: 0 15px;
text-transform: uppercase;
pointer-events: none;
border-radius: 0 5px 5px 0;
}
.file-upload-wrapper:hover:before {
background: #7c3a98;
}
.file-upload-wrapper input {
opacity: 0;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 99;
height: 40px;
margin: 0;
padding: 0;
display: block;
cursor: pointer;
width: 100%;
}
.file-upload-wrapper small {
position: absolute;
bottom: -14px;
left: 0;
visibility: hidden;
}
.file-upload-wrapper.error small {
color: #e74c3c;
visibility: visible;
}
button {
margin-top: 35px !important;
}
@media all and (min-width: 742px) {
h1 {
padding-top: 15px;
}
}
@media all and (min-width: 1140px) {
main {
height: 915px;
}
form,
h1 {
max-width: 1000px;
}
h1 {
padding-top: 60px;
}
}
@import url("../../../assets/css/common.css");
#projects > h2 {
margin-top: 100px;
}
#projects > h2 a {
color: rgb(241, 241, 241);
font-weight: bold;
text-decoration: none;
padding: 6px;
border-radius: 6px;
font-size: medium;
text-transform: none;
}
footer:last-child {
text-align: center;
}
article footer a {
color: white;
}
const scriptElements = document.scripts;
const currentScript = scriptElements[scriptElements.length - 1];
const scriptSrc = currentScript.src;
const urlParams = new URLSearchParams(scriptSrc.split("?")[1]);
const fileName = urlParams.get("fileName") || "";
import {
setErrorFor,
setSuccessFor,
} from "../../../assets/js/shared-comment-contact.js";
let isInsertPage = false;
if (fileName === "insert") {
isInsertPage = true;
}
export function setErrorSpecif(input, message, isInsertPage) {
if (isInsertPage) {
const formControl = input.parentElement;
const small = formControl.querySelector("small");
// Add error message inside small
small.innerText = message;
formControl.className = "file-upload-wrapper error";
}
}
export function setSuccessSpecif(input, isInsertPage) {
if (isInsertPage) {
const formControl = input.parentElement;
formControl.className = "file-upload-wrapper success";
}
}
const formElt = document.querySelector("form");
const projectTitleElt = document.getElementById("project-title");
const projectDescriptionElt = document.getElementById("description");
const textAltImageElt = document.getElementById("text-alt");
const fileUploadWrapper = document.querySelector(".file-upload-wrapper");
const projectImageElt = document.querySelector(".file-upload-field");
let projectTitleValue;
let projectDescriptionValue;
let projectImageValue;
let textAltImageValue;
const elements = [
projectTitleElt,
projectDescriptionElt,
textAltImageElt,
projectImageElt,
];
formElt.addEventListener("change", function (event) {
// Update the field with the uploaded image name.
var fileName = projectImageElt.value.replace(/.*(\/|\\)/, "");
fileUploadWrapper.setAttribute("data-text", fileName);
});
formElt.addEventListener("submit", (event) => {
if (!checkInputs()) {
event.preventDefault();
}
});
function checkInputs() {
let allInputsValid = true;
projectTitleValue = projectTitleElt.value.trim();
projectDescriptionValue = projectDescriptionElt.value.trim();
textAltImageValue = textAltImageElt.value.trim();
projectImageValue = projectImageElt.value.trim();
if (projectTitleValue === "") {
allInputsValid = false;
setErrorFor(projectTitleElt, "Project title cannot be blank");
} else {
setSuccessFor(projectTitleElt);
}
if (projectDescriptionValue === "") {
allInputsValid = false;
setErrorFor(projectDescriptionElt, "Project description cannot be blank.");
} else if (projectDescriptionValue.length < 100) {
allInputsValid = false;
setErrorFor(projectDescriptionElt, "At least 100 characters");
} else {
setSuccessFor(projectDescriptionElt);
}
if (textAltImageValue === "") {
allInputsValid = false;
setErrorFor(textAltImageElt, "Alternative text cannot be blank.");
} else {
setSuccessFor(textAltImageElt);
}
if (projectImageValue === "") {
allInputsValid = false;
setErrorSpecif(projectImageElt, "Project image is required.", isInsertPage);
if (!isInsertPage) {
allInputsValid = true;
}
} else {
setSuccessSpecif(projectImageElt, isInsertPage);
}
return allInputsValid;
}
<li>
<img src="/public/uploads/<?= $project["imageName"] ?>" alt="<?= $project["imageAlt"] ?>" />
<article>
<div>
<h2><?= $project["title"] ?> </h2>
<p>
<?= htmlspecialchars_decode(substr($project["description"], 0, 400)) ?>...
</p>
</div>
<footer>
<a href="/admin/update.php?id=<?= $project["id"] ?>" class="btn btn-primary btn-lg"> <span class="mdi mdi-pencil"></span><?= $trad["adminActions"]["edit"] ?></a>
<a href="/admin/delete.php?id=<?= $project["id"] ?>" class="btn btn-lg btn-danger"> <span class="mdi mdi-delete"></span> <?= $trad["adminActions"]["delete"] ?></a>
<a href="/projectItem.php?id=<?= $project["id"] ?>" class="btn btn-dark btn-lg"> <span class="mdi mdi-arrow-right-thick"></span> <?= $trad["projectSection"]["viewButton"] ?></a>
</footer>
</article>
</li>
\ No newline at end of file
<form role="form" action="/admin/assets/actions/delete.php" method="post">
<input type="hidden" name="project-id" value="<?php echo $projectId ?>">
<p class="alert alert-warning"><?= $trad["AdminProjectForm"]["question"] ?></p>
<div>
<button type="submit" class="btn btn-warning"><?= $trad["AdminProjectForm"]["y-response"] ?></button>
<a href="/admin/index.php" class="btn btn-dark btn-lg"><?= $trad["AdminProjectForm"]["n-response"] ?></a>
</div>
</form>
\ No newline at end of file
<form role="form" action="/admin/assets/actions/<?php echo $fileHandler; ?>" method="post" enctype="multipart/form-data">
<div class="form-control">
<label for="project-title"><?= $trad["AdminProjectForm"]["project title"] ?></label>
<input type="text" name="project-title" id="project-title" placeholder="<?= $trad["AdminProjectForm"]["project title"] ?>" value="<?php echo isset($title) ? $title : ''; ?>" />
<i class="mdi mdi-check-circle-outline"></i>
<i class="mdi mdi-alert-circle"></i>
<small>Error message</small>
</div>
<div class="form-control">
<label for="description"><?= $trad["AdminProjectForm"]["description"] ?></label>
<textarea name="description" id="description" cols="30" rows="9" placeholder="<?= $trad["AdminProjectForm"]["description"] ?>"><?php echo isset($description) ? $description : ''; ?></textarea>
<small>Error message</small>
</div>
<div class="form-control">
<label for="text-alt"><?= $trad["AdminProjectForm"]["text alt"] ?></label>
<input type="text" name="text-alt" id="text-alt" placeholder="<?= $trad["AdminProjectForm"]["text alt"] ?>" value="<?php echo isset($textAlt) ? $textAlt : ''; ?>" />
<i class="mdi mdi-check-circle-outline"></i>
<i class="mdi mdi-alert-circle"></i>
<small>Error message</small>
</div>
<?php if (isset($imageName)) { ?>
<img width="100px" src="/public/uploads/<?php echo $imageName; ?>" alt="">
<?php } ?>
<div class="file-upload-wrapper" data-text="<?= $trad["AdminProjectForm"]["project image"] ?>">
<input name="file-upload-field" type="file" class="file-upload-field" value="">
<small>Error message</small>
</div>
<button type="submit"><?php echo $trad["AdminProjectForm"][$button]; ?></button>
<div class="form-group">
<a href="/admin/index.php" class="btn btn-dark btn-lg"><span class="mdi mdi-arrow-left"></span> <?= $trad["AdminProjectForm"]["go-back-btn"] ?></a>
</div>
</form>
\ No newline at end of file
<?php
session_start();
if (isset($_GET['lang']) && ($_GET['lang'] == 'en' || $_GET['lang'] == 'fr')) {
$_SESSION['lang'] = $_GET['lang'];
} elseif (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = 'en'; // Default language
}
$en_select = ($_SESSION['lang'] == 'en') ? "selected" : "";
$fr_select = ($_SESSION['lang'] == 'fr') ? "selected" : "";
if ($_SESSION['lang'] == 'en') {
require_once __DIR__ . '/../assets/locales/en.php';
} else {
require_once __DIR__ . '/../assets/locales/fr.php';
}
if (!empty($_GET["id"])) {
$projectId = $_GET["id"];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php
require_once __DIR__ . '/../assets/templates/head.php'
?>
<link rel="stylesheet" href="/assets/css/shared.css" />
<!-- <link rel="stylesheet" href="/assets/css/form-item.css" /> -->
<link rel="stylesheet" href="/admin/assets/css/project-form.css" />
<link rel="stylesheet" href="/admin/assets/css/bootstrapp.css" />
<title>Delete current project</title>
</head>
<body>
<header>
<!--I added this.-->
<a href="/index.php">Fellah</a>
<?php
require_once __DIR__ . '/../assets/templates/nav.php'
?>
</header>
<main>
<h1>
<?= $trad["adminPageTitle"]["delete"] ?>
</h1>
<?php include __DIR__ . '/assets/templates/confirmDelete.php' ?>
</main>
<?php
require_once __DIR__ . '/../assets/templates/footer.php'
?>
<script src="/assets/js/shared-js.js?parent=admin/delete.php"></script>
<script src="/assets/js/main.js"></script>
</body>
</html>
\ No newline at end of file
<?php
// $en_select = "";
// $fr_select = "";
// if (isset($_GET['lang']) && $_GET['lang'] == 'en' || !isset($_GET['lang'])) {
// require_once __DIR__ . '/../assets/locales/en.php';
// $en_select = "selected";
// } else {
// require_once __DIR__ . '/../../assets/locales/fr.php';
// $fr_select = "selected";
// }
session_start();
if (isset($_GET['lang']) && ($_GET['lang'] == 'en' || $_GET['lang'] == 'fr')) {
$_SESSION['lang'] = $_GET['lang'];
} elseif (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = 'en'; // Default language
}
$en_select = ($_SESSION['lang'] == 'en') ? "selected" : "";
$fr_select = ($_SESSION['lang'] == 'fr') ? "selected" : "";
if ($_SESSION['lang'] == 'en') {
require_once __DIR__ . '/../assets/locales/en.php';
} else {
require_once __DIR__ . '/../assets/locales/fr.php';
}
include __DIR__ . '/../assets/models/Projects.php';
// var_dump(__DIR__ . '/../assets/models/Projects.php');
$projects = new Projects();
$allProject = $projects->getProjects();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php
require_once '../assets/templates/head.php'
?>
<link rel="stylesheet" href="../assets/css/shared.css" />
<link rel="stylesheet" href="./assets/css/styles.css" />
<link rel="stylesheet" href="/admin/assets/css/bootstrapp.css" />
<title>fellah's portfolio</title>
</head>
<body>
<header>
<!--I added this.-->
<a href="/index.php">Fellah</a>
<?php
require_once '../assets/templates/nav.php'
?>
</header>
<main>
<section id="projects">
<h2><strong> <?= $trad["adminProjectSection"]["h2"] ?></strong>
<a href="/admin/insert.php" class="btn btn-success btn-lg">
<span class="mdi mdi-plus"><?= $trad["adminProjectSection"]["add"] ?></span>
</a>
</h2>
<ul>
<?php foreach ($allProject as $project) : ?>
<?php include __DIR__ . '/assets/templates/article.php' ?>
<?php endforeach; ?>
</ul>
</section>
</main>
<?php
require_once '../assets/templates/footer.php'
?>
<script src="/assets/js/shared-js.js?parent=index.php"></script>
<script src="/assets/js/main.js"></script>
</body>
</html>
\ No newline at end of file
<?php
session_start();
if (isset($_GET['lang']) && ($_GET['lang'] == 'en' || $_GET['lang'] == 'fr')) {
$_SESSION['lang'] = $_GET['lang'];
} elseif (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = 'en'; // Default language
}
$en_select = ($_SESSION['lang'] == 'en') ? "selected" : "";
$fr_select = ($_SESSION['lang'] == 'fr') ? "selected" : "";
if ($_SESSION['lang'] == 'en') {
require_once __DIR__ . '/../assets/locales/en.php';
} else {
require_once __DIR__ . '/../assets/locales/fr.php';
}
$button = "upload button";
$fileHandler = "insert.php";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php
require_once __DIR__ . '/../assets/templates/head.php'
?>
<link rel="stylesheet" href="/assets/css/shared.css" />
<link rel="stylesheet" href="/assets/css/form-item.css" />
<link rel="stylesheet" href="/admin/assets/css/project-form.css" />
<link rel="stylesheet" href="/admin/assets/css/bootstrapp.css" />
<title>
<?= $trad["adminPageTitle"]["insert"] ?>
</title>
</head>
<body>
<header>
<!--I added this.-->
<a href="/index.php">Fellah</a>
<?php
require_once __DIR__ . '/../assets/templates/nav.php'
?>
</header>
<main>
<h1>
<?= $trad["adminPageTitle"]["insert"] ?>
</h1>
<?php include __DIR__ . '/assets/templates/projectForm.php' ?>
</main>
<?php
require_once __DIR__ . '/../assets/templates/footer.php'
?>
<script src="/assets/js/shared-js.js?parent=admin/insert.php"></script>
<script src="/assets/js/main.js"></script>
<script src="/admin/assets/js/formProject.js?fileName=insert" type="module"></script>
</body>
</html>
\ No newline at end of file
<?php
session_start();
if (isset($_GET['lang']) && ($_GET['lang'] == 'en' || $_GET['lang'] == 'fr')) {
$_SESSION['lang'] = $_GET['lang'];
} elseif (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = 'en'; // Default language
}
$en_select = ($_SESSION['lang'] == 'en') ? "selected" : "";
$fr_select = ($_SESSION['lang'] == 'fr') ? "selected" : "";
if ($_SESSION['lang'] == 'en') {
require_once __DIR__ . '/../assets/locales/en.php';
} else {
require_once __DIR__ . '/../assets/locales/fr.php';
}
$button = "update button";
$fileHandler = "update.php";
include __DIR__ . '/../assets/models/Projects.php';
if (!empty($_GET["id"])) {
$projectId = checkInput($_GET["id"]);
$fileHandler .= "?id=" . $projectId;
$projects = new Projects();
$project = $projects->getProject(intval($projectId));
$title = $project["title"];
$description = $project["description"];
$textAlt = $project["imageAlt"];
$imageName = $project["imageName"];
}
function checkInput($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php
require_once __DIR__ . '/../assets/templates/head.php'
?>
<link rel="stylesheet" href="/admin/assets/css/bootstrapp.css" />
<link rel="stylesheet" href="/assets/css/shared.css" />
<link rel="stylesheet" href="/assets/css/form-item.css" />
<link rel="stylesheet" href="/admin/assets/css/project-form.css" />
<script src="https://cdn.tiny.cloud/1/9vn6cnyc2nhzsn1onc2crevikcwxivlfrir4y43qht5odb8x/tinymce/6/tinymce.min.js" referrerpolicy="origin"></script>
<!-- Place the following <script> and <textarea> tags your HTML's <body> -->
<script>
tinymce.init({
selector: "textarea",
plugins: "ai tinycomments mentions anchor autolink charmap codesample emoticons image link lists media searchreplace table visualblocks wordcount checklist mediaembed casechange export formatpainter pageembed permanentpen footnotes advtemplate advtable advcode editimage tableofcontents mergetags powerpaste tinymcespellchecker autocorrect a11ychecker typography inlinecss",
toolbar: "undo redo | blocks fontfamily fontsize | bold italic underline strikethrough | link image media table mergetags | align lineheight | tinycomments | checklist numlist bullist indent outdent | emoticons charmap | removeformat",
tinycomments_mode: "embedded",
tinycomments_author: "Author name",
mergetags_list: [{
value: "First.Name",
title: "First Name"
},
{
value: "Email",
title: "Email"
},
],
ai_request: (request, respondWith) =>
respondWith.string(() =>
Promise.reject("See docs to implement AI Assistant")
),
});
</script>
<title>Update current project</title>
</head>
<body>
<header>
<!--I added this.-->
<a href="/index.php">Fellah</a>
<?php
require_once __DIR__ . '/../assets/templates/nav.php'
?>
</header>
<main>
<h1>
<?= $trad["adminPageTitle"]["update"] ?>
</h1>
<?php include __DIR__ . '/assets/templates/projectForm.php' ?>
</main>
<?php
require_once __DIR__ . '/../assets/templates/footer.php'
?>
<script src="/assets/js/shared-js.js?parent=admin/update.php"></script>
<script src="/assets/js/main.js"></script>
<script src="/admin/assets/js/formProject.js?fileName=update" type="module"></script>
</body>
</html>
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment