Hauptmenü

Werkzeuge

Kategorien

Archiv

Einhell

Abstand zwischen zwei geografischen Punkten mittels PHP ermitteln über zwei Längen- /Breitengrade

Erstellt in PHP am 31. Mai 2018 vom Daschmi

Mit folgender PHP Funktion kann der Abstand in km zwischen zwei Punkten die über Längengrad und Breitengrad gegeben sind ermittelt werden.

/**
  * Ermittelt den Abstand in km zwischen zwei Geo Positionen
  */
function getDistance($lat1, $lng1, $lat2, $lng2) {

  $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($lng1 - $lng2));
  $dist = rad2deg(acos($dist));

  $miles = $dist * 60 * 1.1515;

  return $miles * 1.609344;

}

E-Mail Adresse mittels Extbase in TYPO3 7/8/9 im Controller verschlüsseln

Erstellt in Allgemein am 18. Mai 2018 vom Daschmi

Mit folgendem Code Block lassen sich Link auf E-Mail Adressen bereits im Controller verschlüsseln, ich hatte es mal gebraucht um die Links mittels JSON zu übergeben, hier konnte ich die FLUID Viewhelpers nicht nutzen.

$this->cObj = $this->configurationManager->getContentObject();
$link = $this->cObj->typoLink('text_to_Create_link', [
  'parameter' => 'info@domain.de'
]);

Variablen in anonymer Funktion verfügbar machen

Erstellt in Allgemein am 20. April 2018 vom Daschmi

Möchte man Variablen an eine Anonyme Funktion / Inline Funktion übergeben, so kann ab PHP 7.1. die use Syntax verwendet werden. Hier am Beispiel eines uasort Callbacks:

uasort($marray, function($a, $b) use ($column) {

  if ($column === 'datum') return strtotime($a[$column])  strtotime($b[$column]);
  else return $a[$column]  $b[$column];

} );

Umleitung auf SSL mit .htpasswd Authorisierung/Schutz

Erstellt in Allgemein am 17. April 2018 vom Daschmi

.htaccess Beispiel um zu verhindern, dass die Anmeldung/Authorisierung (.htaccess / .htpasswd Schutz) zweimal erscheint.

SetEnvIf %{SERVER_PORT} ^80$ NON_SSL

RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

AuthName "Restricted Access"
AuthType Basic
AuthUserFile .htpasswd
Order Deny,Allow
Deny from all
Satisfy any
Require valid-user
Allow from env=NON_SSL

Kleine Funktion zum formatieren von IBAN Nummern nach DIN 5008

Erstellt in PHP am 23. Januar 2018 vom Daschmi

Um IBAN Nummern mit Freizeichen nach DIN 5008 zu formatieren kann folgende PHP Funktion verwendet werden:

function formatIBAN($iban) {

  $iban = preg_replace('/\040/', '', $iban);
  $iban_formated = '';

  for ($i = 0; $i < ceil(strlen($iban) / 4); $i ++) $iban_formated .= substr($iban, $i * 4, 4).' ';

  return trim($iban_formated);

}

Padding in einem WebView unter IOS 11

Erstellt in Apple Swift, IPhone SDK am 19. Januar 2018 vom Daschmi

In iOS11 wurde ein Padding eingeführt, damit Inhalte unter der Statusbar fixiert werden. Damit das Webview (WKWebView oder UIWebView) wieder komplett unter der Statusbar liegt kann folgende ViewPort Konfiguration verwendet werden.

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no,viewport-fit=cover" />

Wichtig ist das

viewport-fit=cover

Hier: https://ayogo.com/blog/ios11-viewport/ wird das Ganze noch näher erklärt.

WLAN Steckdose eFamily korrekt anbinden

Erstellt in Allgemein am 9. Januar 2018 vom Daschmi

Ich hatte Probleme die Wifi Steckdose, ELEGIANT Smart Wifi WLAN Home Steckdose intelligente Funksteckdose Wifi Adapter + eFamilyCloud App Switch mit Timing Funktion Unterstützt Amazon Alexa (Echo, Echo Dot) in mein WLAN Netzwerk einzubinden. Auf der Packung war ein QR Code angegeben, der zu einer APP führte die nicht funktionierte. Insgesamt gibt es 3 eFamily Apps im Google Play Store die ich getestet habe:

Die Apps sind alle sehr ähnlich aufgebaut, gefunden wurde die Steckdose aber dann bei mir nur in der eFamily Cloud App.

Nachdem das WLAN in der Steckdose eingerichtet war, konnte ich sie auch Problemlos mit einem Google Home Lautsprecher, Echo, Echo Dot und Echo Show betreiben. Vermutlich wird es auch mit dem neuen Amazon Spot funktionieren.

Empfehlen würde ich aber folgende WLAN Steckdosen, die gibt es auch recht günstig im Doppelpack:

 

MySQL Notizen

Erstellt in Allgemein am 9. Januar 2018 vom Daschmi

Länge von MySQL Text Datentypen

 Type      | Maximum length
-----------+-------------------------------------
  TINYTEXT |           255 (2 8−1) bytes
      TEXT |        65,535 (216−1) bytes = 64 KiB
MEDIUMTEXT |    16,777,215 (224−1) bytes = 16 MiB
  LONGTEXT | 4,294,967,295 (232−1) bytes =  4 GiB

DateSelected wird nicht ausgelöst, wenn keine Änderung im Datepicker

Erstellt in Allgemein am 25. Dezember 2017 vom Daschmi

Nutzt man in Xamarin.Forms den Datepicker wird das Event DateSelected nicht ausgelöst wenn der Benutzer das Datum nicht verändert. (Beim ersten öffnen wird standardmäßig das aktuelle Datum angezeigt)

Ich habe das Problem umgangen, indem ich das Event Unfocused genutzt habe und das Datum über das Property ausgelesen habe.

<DatePicker x:Name="dpFlugbuch" IsVisible="false" Unfocused="DatePicker_Unfocused" />

und dann im EventHandler:

void DatePicker_Unfocused(object sender, EventArgs e)
{

  DateTime selectedDate = dpFlugbuch.Date;

}