demo mod iptali için
public_html/adminx/system/media.php
<?php
ob_start();
session_start();
include 'db.php';
include '../pages/functions.php';
include 'class.upload.php';
// Oturum kontrolü: Oturum açmamış kullanıcıyı login sayfasına yönlendirir.
if (!isset($_SESSION['email'])) {
header("Location:../login.php");
exit;
}
// Kullanıcı bilgilerini çek.
$askUser = $db->prepare("SELECT * FROM user WHERE email=:email");
$askUser->execute(array('email' => $_SESSION['email']));
$checkUser = $askUser->fetch(PDO::FETCH_ASSOC);
/* DEMO MODU ENGELİ KALDIRILDI.
user_status kontrolü yapılmadan işlemlere devam ediliyor.
*/
// Medya Yükleme İşlemi (Dropzone veya File Input için)
if (!empty($_FILES)) {
$gallery_type_id = $_POST["gallery_type"] . "-" . $_POST["gallery_id"];
$image = new Upload($_FILES['file']);
$uploads_dir = '../../uploads';
@$name = $_FILES['file']["name"];
$extension = uzanti($name);
// Benzersiz isim oluşturma
$uniqname = rand(20000, 32000) . rand(20000, 32000);
$imagepath = 'media_upload_' . $uniqname;
// Veritabanına kayıt edilecek dosya yolları
$vtpath_full = substr($uploads_dir, 3) . "/" . $imagepath . "." . $extension;
$vtpath_large = substr($uploads_dir, 3) . "/" . $imagepath . '-1140x740' . "." . $extension;
$vtpath_medium = substr($uploads_dir, 3) . "/" . $imagepath . '-500x333' . "." . $extension;
$vtpath_thumbnail = substr($uploads_dir, 3) . "/" . $imagepath . '-300x300' . "." . $extension;
if ($image->uploaded) {
// 1. Orjinal Dosya Yükleme
$image->file_new_name_body = $imagepath;
$image->allowed = array('image/*');
$image->Process('../../uploads/');
// 2. Large Resize (1140x740)
$image->file_new_name_body = $imagepath . '-1140x740';
$image->image_resize = true;
$image->image_x = 1140;
$image->image_y = 740;
$image->Process('../../uploads/');
// 3. Medium Resize (500x333)
$image->file_new_name_body = $imagepath . '-500x333';
$image->image_resize = true;
$image->image_x = 500;
$image->image_y = 333;
$image->Process('../../uploads/');
// 4. Thumbnail Resize (300x300)
$image->file_new_name_body = $imagepath . '-300x300';
$image->image_resize = true;
$image->image_x = 300;
$image->image_y = 300;
$image->Process('../../uploads/');
}
// Veritabanına ekleme sorgusu
$addData = $db->prepare("INSERT INTO media SET
gallery_type_id=:gallery_type_id,
media_full=:media_full,
media_large=:media_large,
media_medium=:media_medium,
media_thumbnail=:media_thumbnail
");
$insert = $addData->execute(array(
'gallery_type_id' => $gallery_type_id,
'media_full' => $vtpath_full,
'media_large' => $vtpath_large,
'media_medium' => $vtpath_medium,
'media_thumbnail' => $vtpath_thumbnail
));
}
// Medya Silme İşlemi
if (isset($_POST['mediaDelete'])) {
// opControl() fonksiyonu yetki denetimi yapıyorsa çalışmaya devam eder.
if (function_exists('opControl')) { opControl(); }
$deleteData = $db->prepare("DELETE from media where media_id=:media_id");
$control = $deleteData->execute(array(
'media_id' => $_POST['media_id']
));
if ($control) {
// Silinecek varyasyonları listele
$files_to_delete = [
$_POST['media_full'],
$_POST['media_large'],
$_POST['media_medium'],
$_POST['media_thumbnail']
];
foreach ($files_to_delete as $file_path) {
// "uploads/resim.jpg" formatındaki veriyi parçalayıp gerçek klasör yoluna ulaşma
$parts = explode("/", $file_path);
if (isset($parts[1])) {
$target = "../../uploads/" . $parts[1];
if (file_exists($target)) {
@unlink($target);
}
}
}
}
// İşlem sonunda yönlendirme
$redirect_url = "../index.php?page=mediaUpload&gallery_type=" . $_POST['gallery_type'] . "&gallery_id=" . $_POST['gallery_id'] . "&gallery_title=" . urlencode($_POST['gallery_title']);
Header("Location: $redirect_url");
exit;
}
?>
/public_html/adminx/system/operation.php
<?php
ob_start();
session_start();
require_once 'db.php';
require_once '../pages/functions.php';
require_once 'class.upload.php';
// ===================================== //
// ========= User Operation ============ //
// ===================================== //
if (isset($_POST['userConnect'])) {
$email=$_POST['email'];
$password=md5(sha1($_POST["password"]));
$askUser=$db->prepare("SELECT * FROM user where email=:email and password=

assword");
$askUser->execute([
'email' => $email,
'password' => $password
]);
$count=$askUser->rowCount();
if ($count==1) {
$_SESSION['email']=$email;
header("Location:../index.php");
exit;
} else {
header("Location:../login.php?status=error");
exit;
}
}
// Oturum Kontrolü (Giriş yapmamışsa işlemlere izin verme)
if (!isset($_SESSION['email'])) {
header("Location:../login.php");
exit;
}
$askUser=$db->prepare("SELECT * FROM user WHERE email=:email");
$askUser->execute(array(
'email' => $_SESSION['email']
));
$checkUser=$askUser->fetch(PDO::FETCH_ASSOC);
// DEMO MODU KONTROLÜ KALDIRILDI - TÜM KULLANICILAR İŞLEM YAPABİLİR
// Edit
if (isset($_POST['userUpdate'])) {
$passEncode=md5(sha1($_POST["password"]));
if ($_POST['password']) {
$editData=$db->prepare("UPDATE user SET
firstname=:firstname,
lastname=:lastname,
email=:email,
password=

assword
WHERE user_id=:user_id");
$update=$editData->execute(array(
'firstname' => $_POST["firstname"],
'lastname' => $_POST["lastname"],
'email' => $_POST["email"],
'password' => $passEncode,
'user_id' => $_POST['user_id']
));
if($update){
Header("Location:../usersList?status=success");
}else{
Header("Location:../usersList?status=error");
}
}else{
$editData=$db->prepare("UPDATE user SET
firstname=:firstname,
lastname=:lastname,
email=:email
WHERE user_id=:user_id");
$update=$editData->execute(array(
'firstname' => $_POST["firstname"],
'lastname' => $_POST["lastname"],
'email' => $_POST["email"],
'user_id' => $_POST['user_id']
));
if($update){
Header("Location:../usersList?status=success");
}else{
Header("Location:../usersList?status=error");
}
}
}
// Edit Avatar
if(isset($_POST['userImageUpdate'])){
if ($_FILES['upload_image']['size'] > 0) {
// Image Upload
$image = new Upload($_FILES['upload_image']);
$uploads_dir = '../../uploads';
@$name = $_FILES['upload_image']["name"];
$extension = uzanti($name);
$uniqnumber1 = rand(20000,32000);
$uniqnumber2 = rand(20000,32000);
$uniqname = $uniqnumber1.$uniqnumber2;
$imagepath ='user_image_'.$uniqname;
$vtpath = substr($uploads_dir, 6)."/".$imagepath.".".$extension;
if($image->uploaded){
$image->file_new_name_body = $imagepath;
$image->allowed = array ('image/*');
$image->Process('../../uploads/');
}
$editData=$db->prepare("UPDATE user SET
image=:image
WHERE user_id=:user_id");
$update=$editData->execute(array(
'image' => $vtpath,
'user_id' => $_POST['user_id']
));
if($update){
$x = explode("/", $_POST['image']);
if(isset($x[1])) {
@unlink("../../uploads/". $x[1]);
}
Header("Location:../index.php?page=usersEdit&user_id={$_POST['user_id']}");
}else{
Header("Location:../usersList?status=error");
}
}else {
Header("Location:../usersList?status=error");
}
}