📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
blogscripti.demodesign.com.tr
/
admin
📝
yazi-duzenle.php
← Geri Dön
<?php include('inc/head.php'); ?> <?php include('inc/header.php'); $yaziid = $_GET['id']; $yazicerik = $db->prepare("SELECT * FROM blog WHERE id = :id"); $yazicerik->execute([':id' => $yaziid]); $yazicerik = $yazicerik->fetch(PDO::FETCH_ASSOC); $yazikategori = $db->prepare("SELECT * FROM kategori WHERE id = :id"); $yazikategori->execute([':id' => $yazicerik['kategori']]); $yazikategori = $yazikategori->fetch(PDO::FETCH_ASSOC); ?> <div class="container-xxl flex-grow-1 container-p-y"> <h4 class="fw-bold py-3 mb-4"><span class="text-muted fw-light">İçerik Yönetimi/</span> <?=$yazicerik['baslik']?></h4> <div class="row"> <div class="col-xl"> <?php if($_POST){ $etiket = implode(",", $_POST['etiket']); if (!empty($_FILES['resim']['name'])) { $file_temp = $_FILES['resim']['tmp_name']; $file_name = $_FILES['resim']['name']; $file_ext = pathinfo($file_name, PATHINFO_EXTENSION); $file_size = $_FILES['resim']['size']; $file_error = $_FILES['resim']['error']; // check if file size is less than 5MB if ($file_size > 5000000) { return false; } // check if file is of an allowed type $allowed_types = array('jpg', 'jpeg', 'png', 'gif', 'webp'); if (!in_array($file_ext, $allowed_types)) { return false; } // move file to desired location $new_filename = $file_name.'-'.uniqid() . '.'.$file_ext; $file_destination = '../uploads/' . $new_filename; move_uploaded_file($file_temp, $file_destination); // Convert the image to WebP $webp_destination = '../uploads/'.$file_name.'-'.uniqid() . '.webp'; $image = imagecreatefromstring(file_get_contents($file_destination)); imagewebp($image, $webp_destination, 80); $resimAlani = $webp_destination; $baslik = $_POST['baslik']; $kategori = $_POST['kategori']; $icerik = $_POST['icerik']; $seolink = $_POST['seolink']; $seobaslik = $_POST['seobaslik']; $seodescription = $_POST['seodescription']; $seolink = $_POST['seolink']; $guncelle = $db->prepare("UPDATE blog SET baslik = :baslik, kategori = :kategori, etiket = :etiket, icerik = :icerik, seobaslik = :seobaslik, seodescription = :seodescription, seolink = :seolink, resim =:resim WHERE id = :id"); $guncelle->execute([':baslik' => $baslik, ':kategori' => $kategori, ':etiket' => $etiket, ':icerik' => $icerik, ':seobaslik' => $seobaslik, ':seodescription' => $seodescription, ':seolink' => $seolink,':resim' =>$resimAlani, ':id' => $yaziid]); if ($guncelle) { echo '<div class="alert alert-success">İçerik Başarıyla Güncellendi</div><script> setTimeout(function() { const url = "/admin/yazi-duzenle?id='.$yaziid.'"; history.pushState(null, null, url); location.reload(); }, 3000); </script>'; header("Refresh:3; url=yazi-duzenle?id=$yaziid"); } else { echo '<div class="alert alert-danger">İçerik Güncellenemedi</div>'; } } else { $baslik = $_POST['baslik']; $kategori = $_POST['kategori']; $icerik = $_POST['icerik']; $seobaslik = $_POST['seobaslik']; $seodescription = $_POST['seodescription']; $seolink = $_POST['seolink']; $tarih = date("Y-m-d H:i:s"); if($_POST['resimgaleri'] != $yazicerik['resim'] ){ $resim = $_POST['resimgaleri']; } else { $resim = $yazicerik['resim']; } $guncelle = $db->prepare("UPDATE blog SET baslik = :baslik, kategori = :kategori, etiket = :etiket, icerik = :icerik, seobaslik = :seobaslik, seodescription = :seodescription, seolink = :seolink, resim =:resim WHERE id = :id"); $guncelle->execute([':baslik' => $baslik, ':kategori' => $kategori, ':etiket' => $etiket, ':icerik' => $icerik, ':seobaslik' => $seobaslik, ':seodescription' => $seodescription, ':seolink' => $seolink,':resim' =>$resim, ':id' => $yaziid]); if ($guncelle) { echo '<div class="alert alert-success">İçerik Başarıyla Güncellendi</div><script> setTimeout(function() { const url = "/admin/yazi-duzenle?id='.$yaziid.'"; history.pushState(null, null, url); location.reload(); }, 3000); </script>'; header("Refresh:3; url=yazi-duzenle?id=$yaziid"); } else { echo '<div class="alert alert-danger">İçerik Güncellenemedi</div>'; } } } ?> <div class="card mb-4"> <div class="card-header d-flex justify-content-between align-items-center"> <h5 class="mb-0">Yazı İçeriği</h5> <small class="text-danger float-end">Eksiksiz Doldurun</small> </div> <div class="card-body"> <form action="" method="post" enctype="multipart/form-data"> <div class="mb-3"> <label class="form-label" for="basic-default-fullname">Başlık</label> <input type="text" class="form-control" id="basic-default-fullname" name="baslik" value="<?=$yazicerik['baslik']?>" placeholder="Başlık" /> </div> <div class=" mb-3"> <label for="selectpickerBasic" class="form-label">Kategori</label> <select id="selectpickerBasic" class="selectpicker w-100" name="kategori" data-style="btn-default"> <option value="<?=$yazicerik['kategori']?>" selected><?=$yazikategori['name']?></option> <?php $kategoriler = $db->query("SELECT * FROM kategori WHERE id != '{$yazicerik['kategori']}' ORDER BY id DESC", PDO::FETCH_ASSOC); foreach ($kategoriler as $kategori){ echo '<option value="'.$kategori["id"].'">'.$kategori["name"].'</option>'; } ?> </select> </div> <div class=" mb-3"> <label for="select2Primary" class="form-label">Etiket</label> <div class="select2-primary"> <select id="select2Primary" name="etiket[]" class="select2 form-select" multiple> <?php if ($yazicerik['etiket']) { $etiketparcala = explode(",", $yazicerik['etiket']); $selectedEtiketler = array(); foreach ($etiketparcala as $etiket) { $etiketler = $db->prepare("SELECT * FROM etiket WHERE slug = :slug"); $etiketler->execute([':slug' => $etiket]); $etiketler = $etiketler->fetch(PDO::FETCH_ASSOC); $selectedEtiketler[] = $etiketler["slug"]; echo '<option value="'.$etiketler["slug"].'" selected>'.$etiketler["etiket"].'</option>'; $idler .= $etiketler["id"].','; } } $kategoriler = $db->query("SELECT * FROM etiket WHERE id NOT IN ($idler) ORDER BY id DESC", PDO::FETCH_ASSOC); $kategoriler = cokluveri("etiket", $db); foreach ($kategoriler as $kategori) { if (!in_array($kategori["slug"], $selectedEtiketler)) { echo '<option value="'.$kategori["slug"].'">'.$kategori["etiket"].'</option>'; } } ?> </select> </select> </div> </div> <div class="mb-3"> <textarea name="icerik" id="editor" class="form-control ht-250"> <?=$yazicerik['icerik']?> </textarea> </div> <div class="mb-3"> <div class="mb-3"> <label class="form-label" for="basic-default-company">Seo URL</label> <input type="text" class="form-control" id="basic-default-fullname" name="seolink" value="<?=$yazicerik['seolink']?>" placeholder="Seo URL" /> </div> </div> <div class="mb-3"> <div class="mb-3"> <label class="form-label" for="basic-default-company">Seo Başlığı</label> <textarea class="form-control" id="basic-default-company" name="seobaslik" placeholder="Seo Başlığı"><?=$yazicerik['seobaslik']?></textarea> </div> </div> <div class="mb-3"> <label class="form-label" for="basic-default-company">Seo Açıklaması</label> <textarea class="form-control" id="basic-default-company" name="seodescription" placeholder="Seo Açıklaması"><?=$yazicerik['seodescription']?></textarea> </div> <div class="row"> <div class="col-md-6"> <div class="mb-3"> <div class="d-flex align-items-start align-items-sm-center gap-4"> <?php if($yazicerik['resim']){ ?> <img src="<?=$yazicerik['resim']?>" alt="user-avatar" class="d-block w-px-100 h-px-100 rounded" id="uploadedAvatar" /> <?php } ?> <div class="button-wrapper"> <label for="upload" class="btn btn-primary me-2 mb-3" tabindex="0"> <span class="d-none d-sm-block">Yeni Görsel Yükle</span> <i class="ti ti-upload d-block d-sm-none"></i> <input type="file" id="upload" name="resim" class="account-file-input" hidden /> </label> </div> </div> </div> </div> <div class="col-md-6"> <div class="mb-3"> <a href="#" style="width: 100%" data-bs-toggle="modal" data-bs-target="#exampleModalToggle" class="btn btn-primary">Galeri</a> </div> </div> </div> <div class="modal fade" id="exampleModalToggle" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-xl modal-simple modal-pricing"> <div class="modal-content p-2 p-md-5"> <div class="modal-body"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <!-- Pricing Plans --> <div id="resimListesi" class="row"> <!-- Resimlerin dinamik olarak eklenmesi için bir container --> </div> <div class="row"> <div class="col-md-6"> <a id="dahaFazlaButonu" class="btn btn-success" style="width: 100%; color:white"> Resimleri Getir </a> </div> <div class="col-md-6"> <a data-bs-dismiss="modal" aria-label="Close" class="btn btn-danger" style="width: 100%; color:white"> Seç & Kapat </a> </div> </div> </div> </div> </div> </div> <div class="mb-3 col-md-12"> <input class="form-check-input" type="checkbox" name="follow" value="1" id="defaultCheck1" <?php if($yazicerik['follow'] == '1') { echo 'checked'; } ?> /> <label class="form-check-label" for="defaultCheck1"> Linkler Do-Follow olarak yayınlansın mı ? </label> </div> <a href="/admin/blog?sil=<?=$yazicerik['id']?>" class="btn btn-danger">Sil</a> <input type="text" id="secilenResimInput" value="<?=$yazicerik['resim']?>" name="resimgaleri" style="display: none;" readonly> <button type="submit" class="btn btn-primary">Güncelle</button> </form> </div> </div> </div> </div> </div> <?php include('inc/footer.php'); ?>
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula