PHP-Code:
<script type="text/javascript">/* <![CDATA[ */
document.getElementById('distance').onchange = function (e)
{
location.href = '<?php echo rex_geturl('', '', array('lat' => number_format($position['lat'], 10, '.', ''),'lon' => number_format($position['lon'], 10, '.', ''),'acc' => $position['acc']), '&'); ?>&distance=' + this.value;
}
/* ]]> */</script><?php
/* Umkreissuche
* Die Genauigkeit der Position wird in die Umkreissuche mit eingeschlossen, wenn diese ein Fünftel der Distanz nicht überschreitet.
* Bispiel: Genauigkeit ist 1km, Umkreis ist 5km: Es wird effektiv im Umkreis von 5 + 1 = 6km gesucht.
* Beispiel: Genauigkeit ist 10km, Umkreis ist 25km: Genauigkeit ist zu unsicher, deshalb wird im Umkreis von 25km gesucht.
*/
error_reporting(E_ALL);
ini_set('display_errors', 1);
$sql = rex_sql::factory(2);
//$sql->setDebug();
$sql->setQuery("
SELECT
*,
(
6371 * acos(
cos(
radians(".number_format($position['lat'], 10, '.', '').")
) * cos(
radians( lat )
) * cos(
radians( lon ) - radians(".number_format($position['lon'], 10, '.', '').")
) + sin(
radians(".number_format($position['lat'], 10, '.', '').")
) * sin(
radians( lat )
)
)
) AS distance
FROM `".$sql->escape($REX['TABLE_PREFIX'].'sedcards')."`
WHERE 1
AND status='1'
AND (displaybegin < '".date('Y.m.d H:i',time())."' AND (displayend IS NULL OR displayend = '' OR displayend > '".date('Y.m.d H:i',time())."'))
HAVING 1
AND distance <= ".($distance + (($position['acc'] / 1000) <= ($distance / 5) ? ($position['acc'] / 1000) : 0))."
ORDER BY
distance, datum ASC
");//*/
//$sql->setQuery("SELECT * FROM `".$sql->escape($REX['TABLE_PREFIX'].'sedcards')."` WHERE displaybegin != ''");
if(!$sql->getRows())
{
// Keine Datensätze im Umkreis gefunden
break;
}
// Ausgabe aller Datensätze in der Nähe
include_once($REX["INCLUDE_PATH"]."/addons/sedcard_admin/libs/stdlib.php");
$vl = '<div style="padding-top: 0px; overflow: hidden;"><ul class="ui-listview"><li class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-thumb ui-btn-hover-a ui-btn-up-a ui-li-has-count ui-li-count"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a class="ui-link-inherit" href="'.rex_getUrl(5,$REX["CUR_CLANG"]).'?id=---ID---"><span class="lady img" style="float: left;"><img class="ui-li-thumb" style="border: 0px;" src="http://www.erotik-leipzig.com/sedcards/---VERZEICHNIS---/img/---BILD---" alt="---NAME" title="---NAME---"></span><p class="ui-li-desc"><strong>---ORT--- ---STADTTEIL---</strong></p><p class="ui-li-desc">---STRASSE---</p><h4 class="ui-li-heading">---NAME---</h4><p class="ui-li-desc"><!--ALTER ---ALTER--- Jahre, ALTER--><!--BH ---BH---, BH--><!--KONFEKTION KF ---KONFEKTION---, KONFEKTION--><!--GROESSE ---GROESSE--- cm, GROESSE--><!--GEWICHT ---GEWICHT--- kg, GEWICHT--><!--INTIMRASUR ---INTIMRASUR---, INTIMRASUR--><!--NATIONALITAET ---NATIONALITAET--- NATIONALITAET--></p></a></div><span class="ui-icon ui-icon-arrow-r ui-icon-shadow"> </span></div></li></ul><div class="clear"></div></div>';
$out = '';
foreach($sql->getArray() as $lady)
{
$item = $vl;
$bild = '01k.jpg';
$item = str_replace("---VERZEICHNIS---",$lady['verzeichnis'],$item);
$item = str_replace("---NAME---",strtoupper($lady['name']),$item);
$item = str_replace("---STRASSE---",strtoupper($lady['strasse']),$item);
$item = str_replace("---BILD---",$bild,$item);
$item = str_replace("---ID---",$lady["id"],$item);
$item = str_replace("---STADTTEIL---",strtoupper(join(", ",preg_split("/\|/",$lady['stadtteil'],-1,PREG_SPLIT_NO_EMPTY))),$item);
$item = str_replace("---ORT---",strtoupper(join(", ",preg_split("/\|/",$lady['ort'],-1,PREG_SPLIT_NO_EMPTY))),$item);
$item = removeMC("ALTER",$lady["alter"],$item);
$item = removeMC("BH",$lady["bh"],$item);
$item = removeMC("KONFEKTION",$lady["konfektion"],$item);
$item = removeMC("GROESSE",$lady["groesse"],$item);
$item = removeMC("GEWICHT",$lady["gewicht"],$item);
$item = removeMC("INTIMRASUR",$lady["intimrasur"],$item);
$item = removeMC("NATIONALITAET",$lady["nationalitaet"],$item);
$out .= $item;
}
echo $out;
// Hier das Modul beenden, weil der Standort schon bekannt ist
break;
}
// Standortbestimmung
?>
<div align="center" class="ui-content ui-body-a">
<div id="wait_msg" style="width: 100%; height: 80px; text-align: center;"><img style="margin-top: 20px" src="../files/images/ajax-loader-big.gif"> <br />
Bitte warten</div>
</div>
<div align="center" class="ui-content ui-body-a">
<?php if($error): ?>
<div id="error_msg" style="width: 96%; margin: 2% 0 2% 2%; text-align: left; float: left; border: 1px solid #f7c942; color: #333; text-shadow: 0 1px 0 #fff; background: #faeb9e; background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#faeb9e) ); background-image: -webkit-linear-gradient(top, #fff, #faeb9e); background-image: -moz-linear-gradient(top, #fff, #faeb9e); background-image: -ms-linear-gradient(top, #fff, #faeb9e); background-image: -o-linear-gradient(top, #fff, #faeb9e); background-image: linear-gradient(top, #fff, #faeb9e); padding: 0.4em 0 0 0; font-size: 18px;">
<div style="padding: 8px;">Für diese Funktion benötigen Sie die Standorterkennung oder den Ortungsdienst (GPS) ihres Mobiltelefons! <br /><br />
Bitte aktivieren Sie diesen in ihren Einstellungen und rufen Sie die Seite erneut auf. <br /><br />
Genaue Informationen erhalten Sie von ihrem jeweiligen Telefonhersteller. <br /><br />Fehler:
<?php
$msg = '';
switch ($_REQUEST['error']){
case 1:
//msg = "User denied the request for Geolocation."
$msg += 'CODE = ' + error.PERMISSION_DENIED | 1;
$msg .= '<br />Benutzer hat die Anfrage zur Standorterkennung verweigert.';
break;
case 2:
//msg = "Location information is unavailable.";
$msg .= 'CODE = ' + error.POSITION_UNAVAILABLE | 2;
$msg .= '<br/>\nStandorterkennung nicht verfügbar.';
break;
case 3:
//msg = "The request to get user location timed out.";
$msg .= 'CODE = ' + error.TIMEOUT | 3;
$msg .= '<br/>\nStandorterkennung Timeout.';
break;
case 4:
//msg = "An unknown error occurred.";
$msg .= 'CODE = ' + error.UNKNOWN_ERROR | 4;
$msg .= '<br/>\nUnbekannter Fehler ist aufgetreten.';
break;
}
echo $msg;
?>
<a id="standort_reload" href="<?php echo rex_getUrl(21,$REX["CUR_CLANG"]); ?>" class="ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-left ui-btn-up-a">
<span class="ui-btn-inner ui-btn-corner-all">
<div id="mtext" class="ui-btn-text" style="font-size: small;">Nochmal versuchen</div>
<span id="mehrzeiten_icon" class="ui-icon ui-icon-refresh ui-icon-shadow"> </span>
</span>
</a>
</div>
</div>
<?php endif; ?>
</div>
<?php
// Script zur Standortbestimmung nur ausführen, wenn Standort noch nicht bekannt ist und auch kein Fehler aufgetreten ist
if(empty($_GET))
{
?>
<script type="text/javascript">/* <![CDATA[ */
if(!navigator.geolocation)
{
location.href = '<?php echo rex_geturl('', '', array('error' => 'geo'), '&'); ?>';
}
else
{
navigator.geolocation.getCurrentPosition(function(position)
{
// Position konnte ermittelt werden
location.href = '<?php echo rex_geturl(); ?>?lat=' + position.coords.latitude + '&lon=' + position.coords.longitude;
}, function()
{
// Position konnte nicht ermittelt werden
location.href = '<?php echo rex_geturl(); ?>?error=' + fehlercode;
},
{
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
});
navigator.geolocation.getCurrentPosition(
function(pos){
},
function(error){
var msg = "Fehler: ";
switch (error.code){
case error.PERMISSION_DENIED:
//msg = "User denied the request for Geolocation."
msg += 'CODE = ' + error.PERMISSION_DENIED | 1;
msg += '<br />Benutzer hat die Anfrage zur Standorterkennung verweigert.';
fehlercode=1;
break;
case error.POSITION_UNAVAILABLE:
//msg = "Location information is unavailable.";
msg += 'CODE = ' + error.POSITION_UNAVAILABLE | 2;
msg += '<br/>\nStandorterkennung nicht verfügbar.';
fehlercode=2;
break;
case error.TIMEOUT:
//msg = "The request to get user location timed out.";
msg += 'CODE = ' + error.TIMEOUT | 3;
msg += '<br/>\nStandorterkennung Timeout.';
fehlercode=3;
break;
case error.UNKNOWN_ERROR:
//msg = "An unknown error occurred.";
msg += 'CODE = ' + error.UNKNOWN_ERROR | 4;
msg += '<br/>\nUnbekannter Fehler ist aufgetreten.';
fehlercode=4;
break;
}
}
)
}
/* ]]> */</script>
<?php
}
} while(false);
?>