-
Notifications
You must be signed in to change notification settings - Fork 0
/
image_upload_handler.php
51 lines (42 loc) · 1.3 KB
/
image_upload_handler.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
session_start();
if(!isset($_SESSION['authenticated'])) {
header('Location: login.php');
exit;
}
if(isset($_SESSION['authenticated']) && !$_SESSION['authenticated']) {
header('Location: login.php');
exit;
}
require_once 'Dao.php';
$dao = new Dao();
$imageMessages = array();
$imageMessages['bad'] = array();
$title = trim($_POST['title']);
$link = trim($_POST['link']);
$date = $_POST['date'];
// Regular expression to match valid links
$linkPattern = '/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?$/';
// Check if video title and link are filled in
if (empty($title)) {
$imageMessages['bad'][] = "Please enter the image TITLE";
}
if (empty($link)) {
$imageMessages['bad'][] = "Please enter the image LINK";
} elseif (!preg_match($linkPattern, $link)) {
$imageMessages['bad'][] = "Please enter a image LINK";
}
if (empty($date)) {
$imageMessages['bad'][] = "Please select a DATE";
}
if (count($imageMessages['bad']) > 0) {
// Set error messages and redirect back to upload_image.php
$_SESSION['imageMessages'] = $imageMessages;
$_SESSION['post'] = $_POST;
header('Location: upload_image.php');
exit();
} else { // if no bad messages redirect back to images.php
$dao->saveImage($title, $link, $date);
header('Location: images.php');
exit();
}