]]jkjjgdjffksdkdxmnnnnnnnnnnnmnmmnmnmnmnmbnwqeqwewqskfgj
במ12[cvbnvbnvbnvbnnmnnmnmnnmnmnmnmnmnmmnnmnmnmqewv;'
/
home
/
cgniioxq
/
public_html
/
admin
/
Upload FileeE
HOME
<?php session_start(); if (empty($_SESSION['username']) || $_SESSION['admin_id'] != 1) { header('Location: login.php'); exit(); } include_once 'Config.php'; $successMsg = ''; $errorMsg = ''; $errors = []; // Watermark config $watermarkFile = 'uploads/logo.png'; $newWidth = 600; $newHeight = 750; $watermarkWidth = 228; $watermarkHeight = 58; $uploadDir = 'uploads/'; function resizeAndWatermarkImage($srcFile, $destFile, $newWidth, $newHeight, $watermarkFile, $watermarkWidth, $watermarkHeight) { list($width, $height, $type) = getimagesize($srcFile); $image = imagecreatefromstring(file_get_contents($srcFile)); $resizedImage = imagecreatetruecolor($newWidth, $newHeight); imagecopyresampled($resizedImage, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); $watermark = imagecreatefrompng($watermarkFile); $watermarkResized = imagecreatetruecolor($watermarkWidth, $watermarkHeight); imagealphablending($watermarkResized, false); imagesavealpha($watermarkResized, true); $transparent = imagecolorallocatealpha($watermarkResized, 0, 0, 0, 127); imagefill($watermarkResized, 0, 0, $transparent); list($wmWidth, $wmHeight) = getimagesize($watermarkFile); imagecopyresampled($watermarkResized, $watermark, 0, 0, 0, 0, $watermarkWidth, $watermarkHeight, $wmWidth, $wmHeight); $watermarkPosX = ($newWidth - $watermarkWidth) / 2; $watermarkPosY = ($newHeight - $watermarkHeight) / 2; imagecopy($resizedImage, $watermarkResized, $watermarkPosX, $watermarkPosY, 0, 0, $watermarkWidth, $watermarkHeight); $quality = 90; do { ob_start(); imagejpeg($resizedImage, null, $quality); $imageData = ob_get_contents(); ob_end_clean(); $fileSize = strlen($imageData); $quality -= 5; } while ($fileSize > 30000 && $quality > 10); file_put_contents($destFile, $imageData); imagedestroy($resizedImage); imagedestroy($image); imagedestroy($watermark); imagedestroy($watermarkResized); return true; } if ($_SERVER["REQUEST_METHOD"] === "POST") { $admin_id = $_POST['admin_id'] ?? ''; $category = $_POST['category'] ?? ''; $nationality = $_POST['nationality'] ?? ''; $gender = $_POST['gender'] ?? ''; $nameTemplate = $_POST['name'] ?? ''; $descriptionTemplate = $_POST['about'] ?? ''; $contact = $_POST['contact'] ?? ''; $whatsapp = $_POST['whatsapp'] ?? ''; $language = $_POST['language'] ?? 'Hindi,English'; $cities = $_POST['cities'] ?? []; if (empty($admin_id)) $errors['admin_id'] = "Admin ID is required."; if (empty($category)) $errors['category'] = "Category is required."; if (empty($nationality)) $errors['nationality'] = "Nationality is required."; if (empty($gender)) $errors['gender'] = "Gender is required."; if (empty($nameTemplate)) $errors['name'] = "Name is required."; if (empty($descriptionTemplate)) $errors['about'] = "About field is required."; if (empty($contact) || !preg_match('/^\d{10}$/', $contact)) { $errors['contact'] = "Enter a valid 10-digit phone number."; } if (empty($whatsapp) || !preg_match('/^\d{10}$/', $whatsapp)) { $errors['whatsapp'] = "Enter a valid 10-digit WhatsApp number."; } if (!isset($_POST['cities']) || count($_POST['cities']) < 5) { $errors['city'] = 'Please select at least 5 cities.'; } if (empty($errors)) { if (!file_exists($uploadDir)) { mkdir($uploadDir, 0777, true); } $uploadedImages = []; if (!empty($_FILES['images']['name'][0])) { foreach ($_FILES['images']['tmp_name'] as $key => $tmpName) { $newFileName = time() . rand(10000, 99999) . '.jpg'; $destFile = $uploadDir . $newFileName; $allowedTypes = ['jpg', 'jpeg', 'png', 'webp', 'gif', 'avif']; $fileType = strtolower(pathinfo($_FILES['images']['name'][$key], PATHINFO_EXTENSION)); if (in_array($fileType, $allowedTypes)) { if (is_uploaded_file($tmpName)) { if (resizeAndWatermarkImage($tmpName, $destFile, $newWidth, $newHeight, $watermarkFile, $watermarkWidth, $watermarkHeight)) { $uploadedImages[] = $newFileName; } @unlink($tmpName); } } } } $allServices = ['Handjob', 'Blowjob', 'One Night Stands', '69 Position', 'Dirty Talk', 'Happy Ending', 'Kissing', 'Cumshot on Body (COB)', 'French Kissing', 'Role Play', 'Travel companion', 'Intimate Massage', 'Sex in Different Position', 'Kissing if Good Chemistry', 'Blowjob Without Condom', 'Cum n Face', 'Dildo Play/Toys', 'Cum in Mouth (CIM)', 'Golden Shower Give', 'Affectionate Kissing', 'Multiple Positions', 'Overnight Stays', 'Dinner Companion', 'Affectionate Cuddling', 'Anal Sex', 'Girlfriend Experience(GFE)', 'Erotic Massage' ]; $imageIndex = 0; $insertCount = 0; foreach ($cities as $city_id) { $cityQuery = $mysqli->query("SELECT * FROM city WHERE city_id = '$city_id' LIMIT 1"); $cityData = $cityQuery->fetch_assoc(); if (!$cityData) continue; $cityName = $cityData['city_name']; $state_id = $cityData['state_id'] ?? 0; $location_id = $cityData['location_id'] ?? null; if (empty($location_id)) { $locationResult = $mysqli->query("SELECT location_id FROM location WHERE city_id = '$city_id' ORDER BY RAND() LIMIT 1"); $locationRow = $locationResult->fetch_assoc(); $location_id = $locationRow['location_id'] ?? 0; } $postName = str_replace('city_name', $cityName, $nameTemplate); $postDesc = str_replace('city_name', $cityName, $descriptionTemplate); $slug = cleanURL($postName); $imageToUse = count($uploadedImages) > 0 ? $uploadedImages[$imageIndex % count($uploadedImages)] : 'default.jpg'; $randomAge = rand(18, 27); shuffle($allServices); $servicesString = implode(', ', array_slice($allServices, 10)); $height = rand(150, 175); $weight = rand(round(($height - 100) * 0.9), round(($height - 100) * 1.1)); $bust = rand(32, 38); $waist = rand(23, 28); $hip = rand(33, 40); if ($hip < $bust) $hip = $bust + rand(1, 3); if ($waist > $bust - 4) $waist = $bust - rand(4, 6); $bwh = "$bust-$waist-$hip"; $girlNames = [ 'Aarohi','Anika','Bhavya','Brinda','Chahat','Chandni','Divya','Diksha','Deepika','Elina', 'Esha','Falak','Garima','Gauri','Gulshan','Harshita','Heena','Ira','Ishita','Ishleen', 'Juhi','Jasmine','Jyoti','Kajal','Kangana','Karishma','Kavya','Khushi','Komal','Kritika', 'Lavanya','Laxmi','Leena','Lipi','Mahira','Meera','Mehak','Mitali','Mona','Muskan', 'Neha','Nidhi','Nikita','Nisha','Nupur','Palak','Pallavi','Pooja','Pragya','Preeti', 'Priya','Radhika','Ragini','Rakhi','Rashi','Raveena','Rekha','Rhea','Richa','Riddhi', 'Ritika','Roshni','Rupali','Saima','Sakshi','Saloni','Sanya','Sanjana','Sargam','Sarla', 'Seema','Shalini','Sharvani','Sheetal','Shikha','Shraddha','Shruti','Simran','Sneha','Soniya', 'Sonu','Soumya','Srishti','Suhana','Sunita','Swati','Tanisha','Tanya','Tarannum','Trisha', 'Tripti','Tulsi','Twinkle','Uma','Urvashi','Vaidehi','Vaishali','Varsha','Vasundhara','Vidya', 'Vidushi','Vijaya','Vishakha','Yamini','Yashika','Zara','Zeenat','Zoya','Alisha','Anjali', 'Ayesha','Barkha','Bhawna','Charu','Damini','Darshana','Ekta','Gehna','Gul','Hansika', 'Indira','Ishwari','Jagriti','Jhalak','Kalpana','Kamya','Kanchan','Kanika','Kareena','Kashish', 'Kirti','Kusum','Lata','Madhu','Mallika','Mamta','Manju','Manisha','Meenal','Minakshi', 'Mohini','Mridula','Nalini','Namrata','Nandini','Nargis','Padma','Pari','Prerna','Pushpa' ]; $randomName = $girlNames[array_rand($girlNames)]; $stmt = $mysqli->prepare("INSERT INTO listing (admin_id, ad_title, slug, nationality, contact, whatsapp, gender, age, services, city_id, state_id, location_id, about, main_image, status, weight, height, bust_waist_hip, language, category, name) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); $status = 1; $stmt->bind_param( "issssssissiisssisssss", $admin_id, $postName, $slug, $nationality, $contact, $whatsapp, $gender, $randomAge, $servicesString, $city_id, $state_id, $location_id, $postDesc, $imageToUse, $status, $weight, $height, $bwh, $language, $category, $randomName ); if ($stmt->execute()) { $insertCount++; } $stmt->close(); $imageIndex++; } $successMsg = $insertCount > 0 ? "$insertCount post(s) inserted successfully." : "No post inserted."; } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Admin</title> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Font Awesome Icons --> <link rel="stylesheet" href="plugins/fontawesome-free/css/all.min.css"> <!-- Ionicons --> <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> <!-- daterange picker --> <link rel="stylesheet" href="plugins/daterangepicker/daterangepicker-bs3.css"> <!-- iCheck for checkboxes and radio inputs --> <link rel="stylesheet" href="plugins/iCheck/all.css"> <!-- Bootstrap Color Picker --> <link rel="stylesheet" href="plugins/colorpicker/bootstrap-colorpicker.min.css"> <!-- Bootstrap time Picker --> <link rel="stylesheet" href="plugins/timepicker/bootstrap-timepicker.min.css"> <!-- Select2 --> <link rel="stylesheet" href="plugins/select2/select2.min.css"> <!-- Theme style --> <link rel="stylesheet" href="dist/css/adminlte.min.css"> <!-- Google Font: Source Sans Pro --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700"> <script type="text/javascript"> function readURL(input,d) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('#image'+d) .attr('src', e.target.result) .width(250) .height(200); }; reader.readAsDataURL(input.files[0]); } } </script> <script> function state(str) { var dataString = 'sid='+str; $.ajax({ type:'POST', data:dataString, url:'state_ajex.php', success:function(data) { $("#cityid").html(data); } }); } </script> <script> function city(str) { var dataString = 'cid='+str; $.ajax({ type:'POST', data:dataString, url:'city_ajex.php', success:function(data) { $("#locationid").html(data); } }); } </script> </head> <body class="hold-transition sidebar-mini"> <div class="wrapper"> <!-- Navbar --> <?php include_once('includes/header.php'); ?> <!-- /.navbar --> <!-- Main Sidebar Container --> <?php include_once('includes/left.php');?> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h1>Add Listing</h1> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="index.php">Home</a></li> <li class="breadcrumb-item active">Listing</li> </ol> </div> </div> </div><!-- /.container-fluid --> </section> <!-- Main content --> <section class="content"> <?php if (!empty($successMsg)): ?> <div class="alert alert-success"><?php echo $successMsg; ?></div> <?php endif; ?> <?php if (!empty($errorMsg)): ?> <div class="alert alert-danger"><?php echo $errorMsg; ?></div> <?php endif; ?> <div class="row"> <div class="col-md-12"> <div class="card card-info card-outline"> <div class="card-header"> <h3 class="card-title"> Add Details <small></small> </h3> <!-- tools box --> <div class="card-tools"> <button type="button" class="btn btn-tool btn-sm" data-widget="collapse" data-toggle="tooltip" title="Collapse"> <i class="fa fa-minus"></i> </button> <button type="button" class="btn btn-tool btn-sm" data-widget="remove" data-toggle="tooltip" title="Remove"> <i class="fa fa-times"></i> </button> </div> <!-- /. tools --> </div> <!-- /.card-header --> <div class="card-body"> <form method="POST" enctype="multipart/form-data" action=""> <div class="row"> <input type="hidden" name="admin_id" value="1"> <input type="hidden" name="category" value="Call Girls" class="form-control"> <input type="hidden" name="nationality" value="Indian" class="form-control"> <input type="hidden" name="gender" value="Female" class="form-control"> <input type="hidden" name="language" value="Hindi,English" class="form-control"> <div class="form-group col-lg-6"> <label class="control-label">Post Name use code(city_name)</label> <input type="text" name="name" value="<?php echo htmlspecialchars($_POST['name'] ?? ''); ?>" placeholder="Enter Post Name" class="form-control"> <?php if(isset($errors['name'])): ?> <small class="text-danger"><?php echo $errors['name']; ?></small> <?php endif; ?> </div> <div class="form-group col-lg-3"> <label class="control-label">Phone</label> <input type="text" name="contact" value="<?php echo htmlspecialchars($_POST['contact'] ?? ''); ?>" placeholder="Enter Phone" class="form-control"> <?php if(isset($errors['contact'])): ?> <small class="text-danger"><?php echo $errors['contact']; ?></small> <?php endif; ?> </div> <div class="form-group col-lg-3"> <label class="control-label">Whatsapp</label> <input type="text" name="whatsapp" value="<?php echo htmlspecialchars($_POST['whatsapp'] ?? ''); ?>" placeholder="Enter Whatsapp" class="form-control"> <?php if(isset($errors['whatsapp'])): ?> <small class="text-danger"><?php echo $errors['whatsapp']; ?></small> <?php endif; ?> </div> <div class="form-group col-lg-12"> <label for="exampleSelectGender">City</label> <!-- Select All Checkbox --> <div class="form-check mb-2"> <label class="form-check-label font-weight-bold"> <input type="checkbox" id="selectAllCities" class="form-check-input"> Select All Cities </label> </div> <div class="row col-lg-12"> <?php $selected_cities = $_POST['cities'] ?? []; // old selected values $city = $mysqli->query("SELECT * FROM city ORDER BY city_name ASC"); if ($city->num_rows > 0) { while ($city_res = $city->fetch_assoc()) { $checked = in_array($city_res['city_id'], $selected_cities) ? 'checked' : ''; ?> <div class="form-check col-lg-2 mb-2"> <label class="form-check-label"> <input type="checkbox" class="form-check-input city-checkbox" name="cities[]" value="<?php echo $city_res['city_id']; ?>" <?php echo $checked; ?>> <?php echo $city_res['city_name']; ?> </label> </div> <?php } } ?> </div> <?php if (isset($errors['city'])): ?> <small class="text-danger"><?php echo $errors['city']; ?></small> <?php endif; ?> </div> <!-- JavaScript for Select All --> <script> document.getElementById('selectAllCities').addEventListener('change', function () { const isChecked = this.checked; const checkboxes = document.querySelectorAll('.city-checkbox'); checkboxes.forEach(function (checkbox) { checkbox.checked = isChecked; }); }); </script> <div class="form-group col-lg-12"> <label class="control-label">About</label> <textarea name="about" rows="6" class="form-control"><?php echo htmlspecialchars($_POST['about'] ?? ''); ?></textarea> <?php if(isset($errors['about'])): ?> <small class="text-danger"><?php echo $errors['about']; ?></small> <?php endif; ?> </div> </div> <div class="row"> <div class="form-group col-lg-12"> <label class="control-label">Images</label> <input type="file" name="images[]" id="imageInput" multiple accept=".png,.jpg,.jpeg,.webp" onchange="previewImages(event)"> <p class="help-block" style="margin-bottom: 1px;">You can upload only png, jpg, jpeg, or webp.</p> <div id="imagePreviewContainer" class="row mt-2"></div> </div> </div> <style> .image-preview-box { position: relative; margin: 10px; display: inline-block; } .image-preview-box img { width: 120px; height: 120px; object-fit: cover; border: 1px solid #ddd; border-radius: 4px; } .delete-btn { position: absolute; top: -8px; right: -8px; background: red; color: white; border: none; border-radius: 50%; font-size: 14px; width: 22px; height: 22px; cursor: pointer; } </style> <script> let selectedFiles = []; function previewImages(event) { const files = Array.from(event.target.files); selectedFiles = [...files]; const previewContainer = document.getElementById('imagePreviewContainer'); previewContainer.innerHTML = ''; selectedFiles.forEach((file, index) => { const reader = new FileReader(); reader.onload = function (e) { const box = document.createElement('div'); box.classList.add('image-preview-box'); const img = document.createElement('img'); img.src = e.target.result; const deleteBtn = document.createElement('button'); deleteBtn.innerHTML = '×'; deleteBtn.classList.add('delete-btn'); deleteBtn.onclick = function () { selectedFiles.splice(index, 1); updateFileList(); }; box.appendChild(img); box.appendChild(deleteBtn); previewContainer.appendChild(box); }; reader.readAsDataURL(file); }); } function updateFileList() { const dataTransfer = new DataTransfer(); selectedFiles.forEach(file => dataTransfer.items.add(file)); document.getElementById('imageInput').files = dataTransfer.files; previewImages({ target: { files: dataTransfer.files } }); } </script> <div class="form-group"> <button type="submit" class="btn btn-success btn-flat">Submit</button> </div> </form> </div> </div> <!-- /.card --> </div> <!-- /.col--> </div> <!-- ./row --> </section> <!-- /.content --> </div> <!-- /.content-wrapper --> <?php echo include_once('includes/footer.php');?> <!-- Control Sidebar --> <aside class="control-sidebar control-sidebar-dark"> <!-- Control sidebar content goes here --> </aside> <!-- /.control-sidebar --> </div> <!-- ./wrapper --> <!-- jQuery --> <script src="plugins/jquery/jquery.min.js"></script> <!-- Bootstrap 4 --> <script src="plugins/bootstrap/js/bootstrap.bundle.min.js"></script> <!-- Select2 --> <script src="plugins/select2/select2.full.min.js"></script> <!-- InputMask --> <script src="plugins/input-mask/jquery.inputmask.js"></script> <script src="plugins/input-mask/jquery.inputmask.date.extensions.js"></script> <script src="plugins/input-mask/jquery.inputmask.extensions.js"></script> <!-- date-range-picker --> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js"></script> <script src="plugins/daterangepicker/daterangepicker.js"></script> <!-- bootstrap color picker --> <script src="plugins/colorpicker/bootstrap-colorpicker.min.js"></script> <!-- bootstrap time picker --> <script src="plugins/timepicker/bootstrap-timepicker.min.js"></script> <!-- SlimScroll 1.3.0 --> <script src="plugins/slimScroll/jquery.slimscroll.min.js"></script> <!-- iCheck 1.0.1 --> <script src="plugins/iCheck/icheck.min.js"></script> <!-- FastClick --> <script src="plugins/fastclick/fastclick.js"></script> <!-- AdminLTE App --> <script src="dist/js/adminlte.min.js"></script> <!-- CK Editor --> <script src="plugins/ckeditor/ckeditor.js"></script> <!-- AdminLTE for demo purposes --> <script src="dist/js/demo.js"></script> <script> $(function () { CKEDITOR.replace('editor1'); }) </script> <script> $(function () { CKEDITOR.replace('editor2'); }) </script> <script> $(function () { CKEDITOR.replace('editor3'); }) </script> <!-- Page script --> <script> $(function () { //Initialize Select2 Elements $('.select2').select2() //iCheck for checkbox and radio inputs $('input[type="checkbox"].minimal, input[type="radio"].minimal').iCheck({ checkboxClass: 'icheckbox_minimal-blue', radioClass : 'iradio_minimal-blue' }) //Red color scheme for iCheck $('input[type="checkbox"].minimal-red, input[type="radio"].minimal-red').iCheck({ checkboxClass: 'icheckbox_minimal-red', radioClass : 'iradio_minimal-red' }) //Flat red color scheme for iCheck $('input[type="checkbox"].flat-red, input[type="radio"].flat-red').iCheck({ checkboxClass: 'icheckbox_flat-green', radioClass : 'iradio_flat-green' }) }) </script> </body> </html>