Datenbanksuche PRO

Wenn du eine Kundendatenbank hast, die im Internet erreichbar ist, kann BoxToGo auch dort anhand der Telefonnummer den Anrufernamen ermitteln und in die Anrufliste übernehmen. Dazu musst du lediglich ein kurzes Script auf deinem Internetserver bereithalten und die Rückwärtssuche-Steuerdatei um einen Eintrag erweitern.

PHP-Script

In dem folgenden Beispiel wird nach der Telefonnummer in der Kundendatenbank gesucht und - sofern vorhanden - der Name bzw. Firmenname zurückgegeben. Es wird dringend empfohlen, das PHP-Script auf einen sicheren Server (https) zu legen, damit das Kennwort nicht unverschlüsselt übertragen wird.

kundensuche.php
<?function startsWith($haystack, $needle) { $length = strlen($needle); return (substr($haystack, 0, $length) === $needle); } $sqlhost = "localhost"; $sqlusername = "max"; $sqlpassword = "geheim"; $sqldatabase = "db1"; $sqltable = "KUNDEN"; $areacode = "030"; $password = "geheim"; // In der Variablen $_GET["s"] steckt die übergebene Telefonnummer $s = $_GET["s"]; // In der Variablen $_GET["password"] steckt das übergebene Kennwort $p = $_GET["password"]; // Nur fortfahren, wenn eine Telefonnummer übergeben wurde und das Kennwort stimmt if ($s && $p==$password) { // Telefonnummer dekodieren und alle Zeichen entfernen, die keine Ziffen sind $s = urldecode($s); $s = preg_replace("/[^0-9^\+]/", "", $s); // ggf. Vorwahl voranstellen if (!startsWith($s, "0") && !startsWith($s, "+")) $s = $areacode.$s; // Datenbankverbindung aufbauen mysql_connect($sqlhost, $sqlusername, $sqlpassword); mysql_select_db($sqldatabase); // In der sql-Abfrage werden sämliche Zeichen entfernt, die nicht Ziffern sind // und "0049" sowie "+49" jeweils durch eine "0" ersetzt $res = mysql_query(" SELECT * FROM $sqltable WHERE REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(TELEFON,'0049','0'),'+49','0'),' ',''),'/',''),'-',''),')',''),'(','') LIKE '%$s%';"); $arr = mysql_fetch_array($res); // Firma bzw. Namen zurückgeben if ($arr["FIRMA"]) echo utf8_encode("<result>$arr[FIRMA]</result>"); else if ($arr["NACHNAME"]) echo utf8_encode("<result>$arr[NACHNAME], $arr[VORNAME]</result>"); }?>

 

Steuerdatei

Nun musst du nur noch eine Steuerdatei erstellen bzw. eine vorhandene um einen Eintrag erweitern:

reverselookup.xml
<?xml version="1.0" encoding="utf-8"?> <reverselookup> <website name="Meine Kundendatenbank" url="https://www.meinserver.de/kundensuche.php?p=geheim&amp;s=%s" searchpattern="&lt;result&gt;(.*?)&lt;/result&gt;" useragent="Mozilla/5.0 (Linux; U; Android 0.5; en-us) AppleWebKit/522+ (KHTML, like Gecko) Safari/419.3" encodephonenumber="true" addcountrycode="false"> </website> ... </reverselookup>