????????????????????
??????????????????
ÿØÿà
 JFIF      ÿÛ C      


!"$"$ÿÛ C    
ÿÂ p 
" ÿÄ     
         ÿÄ             ÿÚ 
   ÕÔË®

(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

adadasdasdasasdasdas


.....................................................................................................................................????????????????????
??????????????????
ÿØÿà
 JFIF      ÿÛ C      


!"$"$ÿÛ C    
ÿÂ p 
" ÿÄ     
         ÿÄ             ÿÚ 
   ÕÔË®

(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

adadasdasdasasdasdas


.....................................................................................................................................<?php

error_reporting(E_ALL);
ini_set('display_errors',1);

ob_start();

include('session.php');
include('connection.php');

$success = "";
$error = "";


// DELETE BLOG
if(isset($_POST['delete_id'])){

    $id = intval($_POST['delete_id']);

    $delete = $conn->query("DELETE FROM blog WHERE id='$id'");

    if($delete){

        $success = "Blog Deleted Successfully";

    }else{

        $error = "Delete Failed";

    }
}



// INSERT BLOG
if(isset($_POST['add_blog'])){

    $heading = mysqli_real_escape_string($conn,$_POST['heading']);

    $description = mysqli_real_escape_string($conn,$_POST['description']);

    $image = "";

    // IMAGE UPLOAD
    if(isset($_FILES['image']) && $_FILES['image']['name']!=""){

        $image = $_FILES['image']['name'];

        $tmp = $_FILES['image']['tmp_name'];

        // UNIQUE IMAGE NAME
        $image = time().'_'.$image;

        // CREATE UPLOAD FOLDER IF NOT EXISTS
        if(!is_dir("upload")){

            mkdir("upload",0777,true);

        }

        move_uploaded_file($tmp,"upload/".$image);
    }


    // INSERT QUERY
    $sql = "INSERT INTO blog(heading,description,image)

            VALUES(

            '$heading',
            '$description',
            '$image'

            )";

    $insert = $conn->query($sql);

    if($insert){

        $success = "Blog Uploaded Successfully";

    }else{

        $error = "Blog Upload Failed : ".$conn->error;

    }

}



// VIEW BLOG AJAX
if(isset($_POST['view_id'])){

    $id = intval($_POST['view_id']);

    $result = $conn->query("SELECT * FROM blog WHERE id='$id'");

    $row = $result->fetch_assoc();

    echo json_encode([

        "heading" => $row['heading'],

        "date" => isset($row['created_date'])
        ? date("d-m-Y",strtotime($row['created_date']))
        : "",

        "image" => $row['image'],

        "description" => $row['description']

    ]);

    exit;
}



// UPDATE BLOG
if(isset($_POST['update_blog'])){

    $id = intval($_POST['id']);

    $heading = mysqli_real_escape_string($conn,$_POST['heading']);

    $description = mysqli_real_escape_string($conn,$_POST['description']);



    // IMAGE UPDATE
    if(isset($_FILES['image']) && $_FILES['image']['name']!=""){

        $image = $_FILES['image']['name'];

        $tmp = $_FILES['image']['tmp_name'];

        $image = time().'_'.$image;

        move_uploaded_file($tmp,"upload/".$image);

        $sql = "UPDATE blog SET

                heading='$heading',
                description='$description',
                image='$image'

                WHERE id='$id'";

    }else{

        $sql = "UPDATE blog SET

                heading='$heading',
                description='$description'

                WHERE id='$id'";
    }


    $update = $conn->query($sql);

    if($update){

        $success = "Blog Updated Successfully";

    }else{

        $error = "Update Failed : ".$conn->error;

    }

}



// FETCH BLOGS
$result = $conn->query("SELECT * FROM blog ORDER BY id DESC");

$a = 0;

?>


<!DOCTYPE html>
<html>
<head>

<title>Blog Panel</title>

<meta charset="utf-8">

<meta name="viewport"
content="width=device-width, initial-scale=1">


<link rel="stylesheet"
href="assets/main/css/fonts.css">

<link rel="stylesheet"
href="assets/main/css/style.css">


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">


<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>


<script src="https://cdn.ckeditor.com/ckeditor5/39.0.1/classic/ckeditor.js"></script>



<style>

.blog-preview-modal{
    max-width:650px;
}

.blog-preview-content{
    border-radius:18px;
    border:none;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,0.15);
}

.blog-preview-header{
    padding:20px;
    background:#fff;
    border-bottom:1px solid #eee;
}

.blog-preview-title{
    font-size:24px;
    font-weight:700;
    margin:0;
}

.blog-preview-body{
    padding:25px;
}

.blog-preview-image{
    width:100%;
    border-radius:12px;
    margin-bottom:20px;
}

.blog-preview-description{
    line-height:1.8;
    font-size:15px;
}

.newp{
    background:orange !important;
    border:none !important;
    color:#fff !important;
}

.table img{
    border-radius:8px;
    object-fit:cover;
}

</style>

</head>

<body>

<div id="main-wrapper" class="show">

<?php include "sidebar.php"; ?>

<?php include "header.php"; ?>


<div class="content-body">

<div class="container-fluid">


<!-- SUCCESS MESSAGE -->

<?php if($success!=""){ ?>

<div class="alert alert-success alert-dismissible fade show">

    <?php echo $success; ?>

    <button type="button"
    class="btn-close"
    data-bs-dismiss="alert"></button>

</div>

<?php } ?>



<!-- ERROR MESSAGE -->

<?php if($error!=""){ ?>

<div class="alert alert-danger alert-dismissible fade show">

    <?php echo $error; ?>

    <button type="button"
    class="btn-close"
    data-bs-dismiss="alert"></button>

</div>

<?php } ?>



<!-- ADD BLOG -->

<div class="card">

<div class="card-header">

<h4>Add Blog</h4>

</div>


<div class="card-body">

<form method="POST"
enctype="multipart/form-data">

<input type="hidden" name="add_blog">

<div class="row">


<div class="col-md-6 mb-3">

<label>Heading</label>

<input type="text"
name="heading"
class="form-control"
required>

</div>



<div class="col-md-6 mb-3">

<label>Image</label>

<input type="file"
name="image"
class="form-control"
required>

</div>



<div class="col-md-12 mb-3">

<label>Description</label>

<textarea name="description"
id="add_editor"></textarea>

</div>



<div class="col-md-12">

<button type="submit"
class="btn btn-primary newp">

Upload Blog

</button>

</div>


</div>

</form>

</div>

</div>




<!-- BLOG TABLE -->

<div class="card mt-4">

<div class="card-header">

<h4>All Blogs</h4>

</div>


<div class="card-body">

<div class="table-responsive">

<table class="table table-bordered">

<thead>

<tr>

<th>SL</th>
<th>Date</th>
<th>Image</th>
<th>Heading</th>
<th>Description</th>
<th>Action</th>

</tr>

</thead>


<tbody>

<?php while($row = $result->fetch_assoc()){ ?>

<tr>

<td><?php echo ++$a; ?></td>

<td>

<?php

echo isset($row['created_date'])
? date("d-m-Y",strtotime($row['created_date']))
: "N/A";

?>

</td>


<td>

<img src="upload/<?php echo $row['image']; ?>"
width="80"
height="60">

</td>


<td>

<?php echo $row['heading']; ?>

</td>


<td>

<?php

$desc = strip_tags($row['description']);

echo strlen($desc) > 80
? substr($desc,0,80).'...'
: $desc;

?>

</td>



<td>

<!-- VIEW -->

<button class="btn btn-info btn-sm view-btn"
data-id="<?php echo $row['id']; ?>">

<i class="fa fa-eye"></i>

</button>



<!-- EDIT -->

<button class="btn btn-success btn-sm"

onclick='editBlog(

<?php echo json_encode($row["id"]); ?>,

<?php echo json_encode($row["heading"]); ?>,

<?php echo json_encode($row["description"]); ?>

)'

>

<i class="fa fa-edit"></i>

</button>



<!-- DELETE -->

<form method="POST"
style="display:inline;">

<input type="hidden"
name="delete_id"
value="<?php echo $row['id']; ?>">

<button type="submit"
class="btn btn-danger btn-sm"
onclick="return confirm('Delete this blog?')">

<i class="fa fa-trash"></i>

</button>

</form>


</td>

</tr>

<?php } ?>

</tbody>

</table>

</div>

</div>

</div>

</div>

</div>





<!-- EDIT MODAL -->

<div class="modal fade"
id="editModal">

<div class="modal-dialog modal-lg">

<div class="modal-content">

<div class="modal-header">

<h5>Edit Blog</h5>

<button type="button"
class="btn-close"
data-bs-dismiss="modal"></button>

</div>


<div class="modal-body">

<form method="POST"
enctype="multipart/form-data">

<input type="hidden"
name="update_blog">

<input type="hidden"
name="id"
id="edit_id">


<div class="mb-3">

<label>Heading</label>

<input type="text"
name="heading"
id="edit_heading"
class="form-control">

</div>



<div class="mb-3">

<label>Description</label>

<textarea name="description"
id="edit_editor"></textarea>

</div>



<div class="mb-3">

<label>Change Image</label>

<input type="file"
name="image"
class="form-control">

</div>



<button type="submit"
class="btn btn-primary">

Update Blog

</button>

</form>

</div>

</div>

</div>

</div>





<!-- VIEW MODAL -->

<div class="modal fade"
id="viewModal">

<div class="modal-dialog modal-lg blog-preview-modal">

<div class="modal-content blog-preview-content">

<div class="modal-header blog-preview-header">

<h4 id="view_heading"
class="blog-preview-title"></h4>

<button type="button"
class="btn-close"
data-bs-dismiss="modal"></button>

</div>


<div class="modal-body blog-preview-body">

<img id="view_image"
class="blog-preview-image">

<div id="view_description"
class="blog-preview-description"></div>

</div>

</div>

</div>

</div>




</div>



<script>

let addEditor;
let editEditor;


// ADD EDITOR
ClassicEditor
.create(document.querySelector('#add_editor'))

.then(editor => {

    addEditor = editor;

})

.catch(error => {

    console.error(error);

});




// EDIT EDITOR
ClassicEditor
.create(document.querySelector('#edit_editor'))

.then(editor => {

    editEditor = editor;

})

.catch(error => {

    console.error(error);

});




// EDIT FUNCTION
function editBlog(id, heading, description){

$("#edit_id").val(id);

$("#edit_heading").val(heading);

editEditor.setData(description);

$("#editModal").modal("show");

}

</script>




<script>

$(document).on("click",".view-btn",function(){

var id = $(this).data("id");

$.ajax({

url:"blog.php",

type:"POST",

data:{ view_id:id },

success:function(response){

try{

var data = JSON.parse(response);

$("#view_heading").text(data.heading);

$("#view_image").attr(
"src",
"upload/"+data.image
);

$("#view_description").html(
data.description
);

$("#viewModal").modal("show");

}catch(e){

console.log(response);

alert("Data Loading Error");

}

}

});

});

</script>




<script src="assets/plugins/popper/popper.min.js"></script>

<script src="assets/plugins/bootstrap/js/bootstrap.js"></script>

<script src="assets/plugins/moment/moment.min.js"></script>

<script src="assets/plugins/daterangepicker/daterangepicker.min.js"></script>

<script src="assets/plugins/datatables/jquery.dataTables.min.js"></script>

<script src="assets/js/init-tdatatable.js"></script>

<script src="assets/plugins/chart/chart/Chart.min.js"></script>

<script src="assets/js/charts-custom.js"></script>

<script src="assets/js/toggleFullScreen.js"></script>

<script src="assets/js/main.js"></script>

</body>
</html>