PageRenderTime 25ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/site_backend/admin_image_gallery_upload.php

https://bitbucket.org/sbadase/mca_project
PHP | 194 lines | 154 code | 33 blank | 7 comment | 20 complexity | 0048771e2548496f932d359afada3e05 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-3.0, LGPL-2.1
  1. <?php require_once('header.php');
  2. if(isset($_GET['msg']) && !empty($_GET['msg'])){
  3. ?>
  4. <script>
  5. alert("<?php echo $_GET['msg'] ?>");
  6. </script>
  7. <?php
  8. }
  9. if(isset($_POST['admin_upload_gallery_image'])){
  10. $error=0;
  11. if(is_null($_POST['status'])){
  12. $error=1;
  13. }
  14. if(is_null($_POST['header_slider'])){
  15. $error=1;
  16. }
  17. if($error == 0){
  18. if(isset($_FILES['file'])){
  19. if($_FILES['file']['error'] > 0) { echo 'Error during uploading, try again'; }
  20. //We won't use $_FILES['file']['type'] to check the file extension for security purpose
  21. //Set up valid image extensions
  22. $extsAllowed = array( 'jpg', 'jpeg', 'png', 'gif' );
  23. //Extract extention from uploaded file
  24. //substr return ".jpg"
  25. //Strrchr return "jpg"
  26. $extUpload = strtolower( substr( strrchr($_FILES['file']['name'], '.') ,1) ) ;
  27. //Check if the uploaded file extension is allowed
  28. if (in_array($extUpload, $extsAllowed) ) {
  29. //Upload the file on the server
  30. $newFileName= rtrim(base64_encode(md5(microtime())),"=").$_FILES['file']['name'];
  31. $name = "../site_frontend/images/{$newFileName}";
  32. $dbImageName = "{$newFileName}";
  33. $result = move_uploaded_file($_FILES['file']['tmp_name'], $name);
  34. if($result){echo "<img src='$name'/>";}
  35. } else { ?>
  36. <script>
  37. alert("Invalid File Upload Event,Event Not Registered,Please Try again");
  38. </script>
  39. <?php
  40. header('Location: admin_image_gallery_grid.php?msg=Invalid File Upload Event,Event Not Registered,Please Try again');
  41. exit;
  42. }
  43. }
  44. $insertQuery = "INSERT INTO image_gallery (image_name,status,header_slider)
  45. VALUES ('" . $dbImageName . "', '" . $_POST['status'] . "', '" . $_POST['header_slider'] . "')";
  46. mysqli_query($conn, $insertQuery);
  47. header('Location: admin_image_gallery_grid.php');
  48. }
  49. }
  50. ?>
  51. <body class="sidebar-fixed header-fixed">
  52. <div class="page-wrapper">
  53. <div class="main-container">
  54. <?php
  55. require_once('left_sidebar.php');
  56. ?>
  57. <div class="content">
  58. <div class="container-fluid">
  59. <div class="row">
  60. <div class="col-md-12">
  61. <div class="card">
  62. <div class="card-header bg-light">
  63. Upload New Image
  64. </div>
  65. <form method="post" action="admin_image_gallery_upload.php" class="form-horizontal" enctype="multipart/form-data">
  66. <div class="card-body">
  67. <div class="row">
  68. <div class="col-md-4">
  69. <div class="form-group">
  70. <label for="normal-input" class="form-control-label">Pick a file :</label>
  71. <input type="file" id="normal-input" name ="file">
  72. </div>
  73. </div>
  74. <div class="col md-4">
  75. <div class="form-group">
  76. <label for="single-select">Image Status</label>
  77. <select id="single-select" name="status" class="form-control" required>
  78. <option value="0">InActive</option>
  79. <option value="1">Active</option>
  80. </select>
  81. </div>
  82. </div>
  83. <div class="col md-4">
  84. <div class="form-group">
  85. <label for="single-select">Include in Header Gallery</label>
  86. <select id="single-select" name="header_slider" class="form-control" required>
  87. <option value="0">InActive</option>
  88. <option value="1">Active</option>
  89. </select>
  90. </div>
  91. </div>
  92. </div>
  93. <br>
  94. <input type="submit" name="admin_upload_gallery_image" value="Upload Image">
  95. <button><td><a href="admin_image_gallery_grid.php">cancel</a></td></button>
  96. </form>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <?php require_once('footer.php'); ?>
  106. <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
  107. <title></title>
  108. <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.117/styles/kendo.common-material.min.css" />
  109. <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.117/styles/kendo.material.min.css" />
  110. <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.117/styles/kendo.material.mobile.min.css" />
  111. <script src="https://kendo.cdn.telerik.com/2018.1.117/js/jquery.min.js"></script>
  112. <script src="https://kendo.cdn.telerik.com/2018.1.117/js/kendo.all.min.js"></script>
  113. <script>
  114. $(document).ready(function() {
  115. function startChange() {
  116. var startDate = start.value(),
  117. endDate = end.value();
  118. if (startDate) {
  119. startDate = new Date(startDate);
  120. startDate.setDate(startDate.getDate());
  121. end.min(startDate);
  122. } else if (endDate) {
  123. start.max(new Date(endDate));
  124. } else {
  125. endDate = new Date();
  126. start.max(endDate);
  127. end.min(endDate);
  128. }
  129. }
  130. function endChange() {
  131. var endDate = end.value(),
  132. startDate = start.value();
  133. if (endDate) {
  134. endDate = new Date(endDate);
  135. endDate.setDate(endDate.getDate());
  136. start.max(endDate);
  137. } else if (startDate) {
  138. end.min(new Date(startDate));
  139. } else {
  140. endDate = new Date();
  141. start.max(endDate);
  142. end.min(endDate);
  143. }
  144. }
  145. var today = kendo.date.today();
  146. var start = $("#start").kendoDateTimePicker({
  147. value: today,
  148. change: startChange,
  149. parseFormats: ["YYYY-MM-DD HH:MM:SS"]
  150. }).data("kendoDateTimePicker");
  151. var end = $("#end").kendoDateTimePicker({
  152. value: today,
  153. change: endChange,
  154. parseFormats: ["YYYY-MM-DD HH:MM:SS"]
  155. }).data("kendoDateTimePicker");
  156. start.max(end.value());
  157. end.min(start.value());
  158. });
  159. </script>
  160. </body>
  161. </html>