ok

Mini Shell

Direktori : /home/ngwcolle/public_html/admin/
Upload File :
Current File : /home/ngwcolle/public_html/admin/add-gallery-1.php

<?php session_start();
//DB conncetion
include_once 'includes/config.php';
if (empty($_SESSION['token'])) {
    $_SESSION['token'] = bin2hex(random_bytes(32));
    $_SESSION["token-expire"] = time() + 3600; // 1 hour = 3600 secs
}
//validating Session
if (strlen($_SESSION['aid'] == 0)) {
    header('location:logout.php');
} else {
    function imageResize($imageResourceId, $width, $height)
    {
        // $targetWidth = 1200; // for deogarh
        // $targetHeight = 800;  //for ngwn
        $targetWidth = 750;
        $targetHeight = 600;
        $targetLayer = imagecreatetruecolor($targetWidth, $targetHeight);
        imagecopyresampled($targetLayer, $imageResourceId, 0, 0, 0, 0, $targetWidth, $targetHeight, $width, $height);
        return $targetLayer;
    }
    if (isset($_POST['submit'])) {
        if (hash_equals($_SESSION["token"], $_POST["token"])) {
            $noticedate = $_POST['psa'];
            $orderno = $_POST['pname'];
            $subject = $_POST['subject'];
            $noticetype = $_POST['dept'];
            //  $description=$_POST['content'];
            $postedby = $_POST['ptype'];
            if (is_array($_FILES)) {
                // print_r($_FILES);
                foreach ($_FILES["cdate"]["name"] as $key => $name) {
                    $file = $_FILES["cdate"]["tmp_name"][$key];
                    $sourceProperties = getimagesize($file);
                    $fileNewName = uniqid(rand()) . $name;
                    $folderPath = "../upload/gallery/";
                    $ext = pathinfo($_FILES["cdate"]["name"][$key], PATHINFO_EXTENSION);
                    $imageType = $sourceProperties[2];
                    // echo $imageType;
                    $newFilename = uniqid(rand()) . $name;
                    switch ($imageType) {
                        case IMAGETYPE_PNG:
                            $imageResourceId = imagecreatefrompng($file);
                            $targetLayer = imageResize($imageResourceId, $sourceProperties[0], $sourceProperties[1]);
                            imagepng($targetLayer, $folderPath . $fileNewName);
                            break;

                        case IMAGETYPE_GIF:
                            $imageResourceId = imagecreatefromgif($file);
                            $targetLayer = imageResize($imageResourceId, $sourceProperties[0], $sourceProperties[1]);
                            imagegif($targetLayer, $folderPath . $fileNewName);
                            break;

                        case IMAGETYPE_JPEG:
                            $imageResourceId = imagecreatefromjpeg($file);
                            $targetLayer = imageResize($imageResourceId, $sourceProperties[0], $sourceProperties[1]);
                            imagejpeg($targetLayer, $folderPath . $fileNewName);
                            break;

                        default:
                            echo "Invalid Image type.";
                            exit;
                            break;
                    }
                    if (move_uploaded_file($file, $folderPath . $fileNewName . "." . $ext)) {
                        unlink($folderPath . $fileNewName . "." . $ext);
                        // pdo
                        $query = "INSERT INTO tbl_gallery (eventno,event_type,event_date,organisedby,subject,imagepath) 
                        VALUES (:eventno,:event_type,:event_date,:organisedby,:subject,:imagepath)";
                        $query_run = $pdo->prepare($query);

                        $data = [
                            ':eventno' => $orderno,
                            ':event_type' => $noticetype,
                            ':event_date' => $noticedate,
                            ':organisedby' => $postedby,
                            ':subject' => $subject,
                            ':imagepath' => $fileNewName,
                        ];
                        $query_execute = $query_run->execute($data);



                        //pdo


                        // $stmt = $mysqli->prepare("insert into ()
                        // values(?,?,?,?,?,?)");
                        // $stmt->bind_param("ssssss", $, $, $, $, $, $);
                        // $stmt->execute();
                    } else {
                        echo "Failed to upload file.";
                    }

                    // echo "Image Resize Successfully.";

                }
            }
            echo '<script>alert("Gallery Image uploaded Successfully.")</script>';
            unset($_SESSION['token']);
            unset($_SESSION['token-expire']);
            echo "<script>window.location.href ='manage-gallery.php'</script>";
        } else {
            echo '<script>alert("Malicious Data found & submitted. Please try again.")</script>';
        }
    }
    // function
    // function imageResize($imageResourceId,$width,$height) {
    //     $targetWidth = 800;
    //     $targetHeight = 600;
    //     $targetLayer=imagecreatetruecolor($targetWidth,$targetHeight);
    //     imagecopyresampled($targetLayer,$imageResourceId,0,0,0,0,$targetWidth,$targetHeight, $width,$height);
    //     return $targetLayer;
    // }

?>

    <!DOCTYPE html>
    <html lang="en">

    <head>

        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <meta name="description" content="">
        <meta name="author" content="">

        <title> Gallery Image Upload</title>

        <!-- Custom fonts for this template-->
        <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
        <link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">

        <!-- Custom styles for this template-->
        <link href="css/sb-admin-2.min.css" rel="stylesheet">
        <style type="text/css">
            label {
                font-size: 16px;
                font-weight: bold;
                color: #000;
            }
        </style>

    </head>

    <body id="page-top">

        <!-- Page Wrapper -->
        <div id="wrapper">

            <?php include_once 'includes/sidebar.php'; ?>

            <!-- Content Wrapper -->
            <div id="content-wrapper" class="d-flex flex-column">

                <!-- Main Content -->
                <div id="content">

                    <!-- Topbar -->
                    <?php include_once 'includes/topbar.php'; ?>
                    <!-- End of Topbar -->

                    <!-- Begin Page Content -->
                    <div class="container-fluid">

                        <!-- Page Heading -->
                        <h1 class="h3 mb-4 text-gray-800">New Gallery Image Upload</h1>
                        <form method="post" name="adminprofile" enctype="multipart/form-data">
                            <input type="hidden" name="token" value="<?php echo htmlentities($_SESSION['token']); ?>">


                            <div class="row">

                                <div class="col-lg-12 col-sm-12 col-md-12">

                                    <!-- Basic Card Example -->
                                    <div class="card shadow mb-4">

                                        <div class="card-body">
                                            <a href="manage-gallery.php" class="btn btn-primary float-right"><--Back </a>
                                                    </br>
                                                    <!-- form starts -->
                                                    <div class="container py-2">
                                                        <div class="row">
                                                            <div class="col-md-12 mx-auto">

                                                                <div class="form-group row">
                                                                    <div class="col-sm-6">
                                                                        <label for="inputFirstname">Event No</label>
                                                                        <input type="text" required class="form-control" id="inputFirstname" name="pname" placeholder="Office Order No">
                                                                    </div>
                                                                    <div class="col-sm-6">
                                                                        <label for="inputLastname">Type of Event</label>
                                                                        <select name="dept" class="form-control" id="dept" required>
                                                                            <option value="">--Select--</option>
                                                                            <option value="Annual Function">Annual Function</option>
                                                                            <option value="Annual Sports">Annual Sports</option>
                                                                            <option value="Camp">Camp</option>
                                                                            <option value="Carrer Councelling">Carrer Councelling
                                                                            </option>
                                                                            <option value="Plantation">Plantation</option>
                                                                            <option value="Job Fair">Job Fair</option>
                                                                            <option value="Competition">Competition</option>
                                                                            <option value="Other">Other</option>
                                                                        </select>

                                                                    </div>
                                                                </div>
                                                                <div class="form-group row">
                                                                    <div class="col-sm-6">
                                                                        <label for="inputAddressLine1">Date of Event</label>
                                                                        <input type="date" required class="form-control" name="psa" id="inputAddressLine1" placeholder="Govt. Departments">
                                                                    </div>
                                                                    <div class="col-sm-6">
                                                                        <label for="inputAddressLine2">Event Organised By</label>
                                                                        <select name="ptype" id="ptype" class="form-control" required>
                                                                            <option value="">--Select--</option>
                                                                            <option value="Principal">Principal</option>
                                                                            <option value="Admin">Admin</option>
                                                                            <option value="Committee">Committee</option>
                                                                            <option value="Department">Department</option>
                                                                            <option value="Library">Library</option>
                                                                            <option value="Voluntary Organisation">Voluntary
                                                                                Organisation</option>
                                                                            <option value="Other">Other</option>

                                                                        </select>
                                                                    </div>
                                                                </div>
                                                                <div class="form-group row">
                                                                    <div class="col-sm-12">
                                                                        <label for="inputCity">Subject of the Event (Max 70
                                                                            Characters)</label>
                                                                        <textarea name="subject" id="" cols="30" maxlength="100" rows="3" class="form-control" required></textarea>
                                                                        <!-- <input type="date" class="form-control" id="inputCity" name="cdate" placeholder="City"> -->
                                                                    </div>


                                                                </div>

                                                                <div class="form-group row">
                                                                    <div class="col-sm-12">
                                                                        <label for="inputCity" class="text-danger">* Upload the
                                                                            Document Scan (Only Pdf/Images Allowed)</br>* Select
                                                                            Multiple/All Images at a time</label>
                                                                        <!-- <textarea name="content" id="" cols="30" rows="10" class="form-control"></textarea> -->
                                                                        <input type="file" class="form-control" id="file-upload" name="cdate[]" multiple required onchange="return fileValidation()">
                                                                    </div>


                                                                </div>

                                                                <button type="submit" class="btn btn-primary px-4 float-right" name="submit"><i class="fa fa-upload" aria-hidden="true"></i>
                                                                    Upload to Gallery</button>

                                                            </div>
                                                        </div>
                                                    </div>
                                                    <!-- form ends -->













                                        </div>
                                    </div>

                                </div>



                            </div>
                        </form>

                    </div>
                    <!-- /.container-fluid -->

                </div>
                <!-- End of Main Content -->

                <?php include_once 'includes/footer.php'; ?>

            </div>
            <!-- End of Content Wrapper -->

        </div>
        <!-- End of Page Wrapper -->

        <!-- Scroll to Top Button-->

        <?php include_once 'includes/footer2.php'; ?>


        <!-- Bootstrap core JavaScript-->
        <script src="vendor/jquery/jquery.min.js"></script>
        <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

        <!-- Core plugin JavaScript-->
        <script src="vendor/jquery-easing/jquery.easing.min.js"></script>

        <!-- Custom scripts for all pages-->
        <script src="js/sb-admin-2.min.js"></script>
        <script>
            /* javascript function to validate file type */
            function fileValidation() {
                var inputElement = document.getElementById('file-upload');
                var files = inputElement.files;
                if (files.length == 0) {
                    alert("Please choose a file first...");
                    return false;
                } else {
                    var filename = files[0].name;

                    /* getting file extenstion eg- .jpg,.png, etc */
                    var extension = filename.substr(filename.lastIndexOf("."));

                    /* define allowed file types */
                    var allowedExtensionsRegx = /(\.jpg|\.jpeg|\.png|\.gif|\.pdf)$/i;

                    /* testing extension with regular expression */
                    var isAllowed = allowedExtensionsRegx.test(extension);

                    if (isAllowed) {
                        alert("File type is valid for the upload");
                        /* file upload logic goes here... */
                    } else {
                        alert("Invalid File Type.Choose image/PDF file Only");
                        inputElement.value = '';

                        return false;
                    }
                }
            }
        </script>
    </body>

    </html>
<?php } ?>

Zerion Mini Shell 1.0