XML Telefonbuch - MYSQL usw ?

GTRDRIVER1

Neuer User
Mitglied seit
1 Jul 2007
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hi

wir haben hier in der Firma mehrer GPX 2000 - möchten gerne das XML - Telefonbuch einsetzen.

Praktisch währ das aber nur, wenn man das per MYSQL-DAtenbank aktuell halten könnte - ambesten noch per WEB-Frontend.

Ich hab einige Lösungsansätze bei VOIP-info.com gefunden - aber so richtig von Hocker haut mich das nicht.

Gibt es hier alternativen ?

CU
Axel
 
Hallo,
im Prinzip sind dir da keine Grenzen gesetzt. Eine Möglichkeit wäre z.B. eine ganz simple mit semikolon-getrennte CSV-Datei. Diese kannst du dann mit jeder beliebigen Tabellenkalkulation ändern.

Angenommen, die CSV-Datei hat folgendes Format:
Nachname;Vorname;Telefonnummer

Dann erstellt dir folgendes Bash-Skript auf einem Linux-Rechner die passende XML-Datei:

Code:
#!/bin/bash

if [ $# -ne 1 ] ; then
  echo "USAGE: $0 <CSV-File>"
  exit
fi

CSV="$1"
XML="`dirname $CSV`/`basename $CSV .csv`.xml"

if [ ! -r "$CSV" ] ; then
  echo "ERROR: Could not read \"$CSV\""
  exit
fi
touch "$XML"
if [ ! -w "$XML" ] ; then
  echo "ERROR: Could not write \"$XML\""
  exit
fi

echo "<?xml version=\"1.0\"?>" >$XML
echo "<AddressBook>" >>$XML

for contact in $(<$CSV); do
  set $(echo -n "$contact" | awk -F ';' '{print $1" "$2" "$3}')
  echo -e "\t<Contact>" >>$XML
  echo -e "\t\t<LastName>$1</LastName>" >>$XML
  echo -e "\t\t<FirstName>$2</FirstName>" >>$XML
  echo -e "\t\t<Phone>" >>$XML
  echo -e "\t\t\t<phonenumber>$3</phonenumber>" >>$XML
  echo -e "\t\t\t<accountindex>0</accountindex>" >>$XML
  echo -e "\t\t</Phone" >>$XML
  echo -e "\t</Contact>" >>$XML
done

echo "</AddressBook>" >>$XML

Im Prinzip lässt sich das sicherlich auch in einer richtigen Programmiersprache implementieren, aber für einen Linux-Server ist ein solches Bash-Script immer ganz einfach und schnell erstellt.
Klar könnte man auch eine MySQL-Datenbank aufsetzen, und mittels eines PHP-Frontends die Daten bearbeiten und die XML-Datei generieren. Aber ich persönlich finde da eine einfach CSV-Datei etwas handlicher. Außerdem verlangt eine MySQL-DB inkl. PHP-Frontende auch gleich viel mehr Aufwand.
 
@GTRDRIVER1

Einfach gehts via PHP:
Im Apache mit Mod-Rewrite einen Ordner/gs_phonebook.xml Intern umschreiben auf script.php?parameter=value.

Und dann kannst du ein Script für alle nutzen und hier pro Telefon ein anderes Telefonbuch ausgeben. Das PHP-Script kann dann ja auf deine DB zugreifen.

Beispiel für Mod-Rewrite URL:
Code:
RewriteEngine on
RewriteRule ^/([^/]+)/gs_phonebook\.xml /gs_phonebook\.php\?uid=$1 [L]

PHP-Script Grundlage findest du perfekt bei VOIP-info.com
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.