The following files exists in this folder. Click to view.
h_post_upload.php112 lines UTF-8 Unix (LF) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
<?php
session_start();
require_once('databaseconnection.php');
include("f_file_upload.php");
$sql = "INSERT INTO post (`headline`, `date`, `blogId`, `author`, `blogName`, `authorId`) #skapar själva post-tabellen
VALUES (:headline, :date, :blogId, :author, :blogName, :authorId);";
$stm = $pdo->prepare($sql);
$stm->execute([
':headline' => $_POST["headline"],
':date' => date("Y-m-d"),
':blogId' => $_SESSION["selectedBlogId"], #selectedBlogId sätts när man väljer vilken blogg posten ska läggas till i.
':author' => $_SESSION["name"],
':blogName' => $_SESSION["selectedBlogName"],
':authorId' => $_SESSION["userId"]
]);
$postId = $pdo->lastInsertId(); #sparar postens ID så att contentareas kan lägga in den.
for($i=0; $i < count($_SESSION["items"]); $i++){
switch ($_SESSION["items"][$i]){
case "text":
break;
case "header":
break;
case "link":
break;
case "img":
if(checkFileSize("$i")){
break;
}
else{
header("location:post_create.php?mess=FILESIZE");
exit;
}
break;
}
}
$sql = "INSERT INTO contentarea (`content`, `url`, `type`, `order`, `postId`) #sätter in själva headlinen som en contentarea.
VALUES (:content, :url, :type, :order, :postId);"; #Headline ligger också i post-tabellen så detta är egentligen onödigt
$stm = $pdo->prepare($sql); #Men detta underlättar när själva posten skrivs ut.
$stm->execute([
':content' => $_POST["headline"],
':url' => NULL,
':type' => "header",
':order' => 0,
':postId' => $postId
]);
for($i=0; $i < count($_SESSION["items"]); $i++){
switch ($_SESSION["items"][$i]){
case "text":
$sql = "INSERT INTO contentarea (`content`, `url`, `type`, `order`, `postId`)
VALUES (:content, :url, :type, :order, :postId);";
$stm = $pdo->prepare($sql);
$stm->execute([
':content' => $_POST[$i],
':url' => NULL,
':type' => "text",
':order' => $i+1,
':postId' => $postId
]);
break;
case "img":
fileUpload("$i", "img_uploads/{$postId}", "jpg");
$sql = "INSERT INTO contentarea (`content`, `url`, `type`, `order`, `postId`)
VALUES (:content, :url, :type, :order, :postId);";
$stm = $pdo->prepare($sql);
$stm->execute([
':content' => "{$_POST["img_t$i"]}",
':url' => "img_uploads/{$postId}/$i.jpg",
':type' => "img",
':order' => $i+1,
':postId' => $postId
]);
break;
case "header":
$sql = "INSERT INTO contentarea (`content`, `url`, `type`, `order`, `postId`)
VALUES (:content, :url, :type, :order, :postId);";
$stm = $pdo->prepare($sql);
$stm->execute([
':content' => $_POST[$i],
':url' => NULL,
':type' => "header",
':order' => $i+1,
':postId' => $postId
]);
break;
case "link":
$sql = "INSERT INTO contentarea (`content`, `url`, `type`, `order`, `postId`)
VALUES (:content, :url, :type, :order, :postId);";
$stm = $pdo->prepare($sql);
$stm->execute([
':content' => "{$_POST["link_t$i"]}",
':url' => $_POST[$i],
':type' => "link",
':order' => $i+1,
':postId' => $postId
]);
break;
}
}
unset($_SESSION["items"]);
header("location:blogwatcher.php?mess=$postId");
exit();
?>