[Gelöst] XML Directory

Und? haben die Einträge?
Stimmen die Namen wirklich überein?
xdir_xml_01.pngxdir_xml_02.png
...das kannst du, wenn User-Agent Prüfung deaktiviert ist, im Webbrowser überprüfen/debuggen.

PS: Der Fehler in Post #79 ist das nicht auskommentierte } unter directory()
PHP:
<?php
error_reporting(0);
//$client = strstr ($_SERVER["HTTP_USER_AGENT"], "Allegro-Software-WebClient");
//if(!$client)  {
//include('normal_client.inc.htm');
//} else {
  directory();
// }
 
Zuletzt bearbeitet:
Einträge sind vorhanden, jeweils eine Telefonnummer. Angezeigt im Telefon wird leider nichts, nur eine leere Seite.

User-Agent habe ich mit Deinem Code deaktiviert, wobei mir der Fehler angezeigt wird. Ich denke daher, dass mein benutzter Code nicht stimmt, siehe #79
 
Nimm root mal alles weg.
Telefon/e, Telefonnummern und Verzeichniseinträge.
Benutzer nicht.

Probiers erstmal nur mit max.
 
Meine index.php fängt nun so an:

PHP:
<?php
error_reporting(0);
//$client = strstr ($_SERVER["HTTP_USER_AGENT"], "Allegro-Software-WebClient");
//if(!$client)  {
//include('normal_client.inc.htm');
//} else {
cisco_ip_phone();
//}


function cisco_ip_phone()
{
header("Content-Type: text/xml");
include('../config.inc.php');

// Lade die funktionen für den Zugriff auf die Datenbank
require_once('../baseFunction.inc.php');

Meine directory.php fängt so an:

PHP:
<?php
error_reporting(0);
//$client = strstr ($_SERVER["HTTP_USER_AGENT"], "Allegro-Software-WebClient");
//if(!$client)  {
//include('normal_client.inc.htm');
//} else {
  directory();
// }

function directory()
{
header("Content-Type: text/xml");

include('../config.inc.php');

include('../baseFunction.inc.php');

Rufe ich die Datei im Browser auf:

HTML:
This page contains the following errors:

error on line 2 at column 19: Entity 'uuml' not defined
Below is a rendering of the page up to the first error.

Habe noch mal die html_5 Dateien genommen. Da bekomme ich im Telefon allerdings einen Analysefehler angezeigt, komme also nicht mehr zur "Menüstruktur", mit den "alten" Dateien aber schon.
 
Zuletzt bearbeitet:
Ich habe soeben mal geschaut, an welcher Datei der Syntaxfehler liegt. Nachdem ich die Ordner "images" und "lang" kopiert hatte, habe ich einen Erfolg erzielt. Ich sehe nun im Telefon meinen Telefonbucheintrag und kann diesen auch anwählen. :D

EDIT:

Ohne die vorgenomme Änderung in der directory bekomme ich jedoch nichts angezeigt.
 
Zuletzt bearbeitet:
Moins

Code:
This page contains the following errors: error on line 2 at column 19: Entity 'uuml' not defined
Below is a rendering of the page up to the first error.

Dieser Fehler ist auf meinen Mist gewachsen.
Die XML-Erzeugung kommt nicht mit den Entities klar, die ich für die deutschen Umlaute in der Übersetzungsdatei ersetzt habe.
lang/de_inc.php
PHP:
<?php
$lang = array
(
"adduser"        => "Benutzer hinzufügen",
"directory"      => "Verzeichnis",
"edit"           => "Editieren",
"addentry"       => "Eintrag hinzufügen",
"enter"          => "Eintragen",
"logout"         => "Abmelden",
"delete"         => "Löschen",
"deltypewarnmsg" => "Löschen eines Nummerntyps löscht auch alle Rufnummern diesen Typs<br>\n<b>!!</b> aus dem gesamten Directory! <b>!!</b><br>\nAlso benutzt zum Umbenennen eines Typs das Stiftsymbol.\n",
"lastname"       => "Nachname",
"firstname"      => "Vorname",
"numbertype"     => "Nummerntyp",
"addtype"        => "Nummerntyp hinzufügen",
"numbertypes"    => "Nummerntypen",
"password"       => "Passwort",
"pwdhash"        => "Passwort (Prüfsumme)",
"changesettings" => "Einstellungen ändern",
"phonename"      => "Telefonname",
"phones"         => "Telefone",
"number"         => "Rufnummer",
"addnumber"      => "Rufnummer hinzufügen",
"numbers"        => "Rufnummern",
"addphone"       => "Telefon hinzufügen",
"user"           => "Benutzer",
"userid"         => "Benutzerkennung",
"username"       => "Benutzername",
"settings"       => "Einstellungen",
"lang"           => "Sprache",
);

$xmlang = array
(
"options"        => "Verfügbare Optionen",
"select"         => "Bitte auswählen",
"view"           => "Telefonbuch ansehen",
"viewrev"        => "Telefonbuch rückwärts",
"search"         => "Suchen im Telefonbuch",
"noresult"       => "Kein Suchergebnis",
"noresultlong"   => "Mit den angegeben Suchbegriffen wurden keine Einträge gefunden.",
"tryagain"       => "Versuchs noch einmal.",
"searchitem"     => "Suchbegriff eingeben",
"lastname"       => "Nachname",
"firstname"      => "Vorname",
"selectnum"      => "Nummer wählen.",
"yourbook"       => "Dein Telefonbuch",
"note"           => "Hinweis",
"notelong"       => "Es wurden keine Daten gefunden. Entweder ist das Telefonbuch leer oder dieses Telefon ist keinem Nutzer zugeordnet.",
"checksettings"  => "Einstellungen prüfen",
"missingparm"    => "Fehlender Parameter",
"missingparml"   => "Sie haben diese Seite ohne die notwendigen Parameter aufgerufen.",
"nochance"       => "So wird das nix!",
);
?>
...die muss dann wieder so aussehen.

Gut, dass du das selber hingekriegt hast.
...aber jetzt weisst du wenigstens woran das lag.
:rolleyes:

Ohne die vorgenomme Änderung in der directory bekomme ich jedoch nichts angezeigt.
Welche Änderung meinst du genau?
...das Kommentieren der Prüfung auf den User-Agent?
 
Zuletzt bearbeitet:
Ja, meine das Kommentieren.
 
Wenn ich die Änderungen wie in #84 vornehme und dann im Browser aufrufe, erscheint

HTML:
This page contains the following errors:

error on line 2 at column 9: Encoding error
Below is a rendering of the page up to the first error.
 
Diese Prüfung macht Sinn, wenn, wie bei Cisco und Snom bei der XML Erzeugung ein Unterschied besteht und darauf reagiert werden muss.
Als so eine Art: IP-Telefon Weiche
Dann kann die XML Erzeugung die jeweisl passenden XML Elemente ausliefern.
Wenn der User-Agent allerdings nicht stimmt, ist das fast eine undurchschaubare Fehlerquelle.
Deswegen ist es im unseren Fall besser diese Prüfung zu Deaktivieren, bis wir die richtigen User-Agent Strings kennen.
 
Was ich nun festgestellt habe ist, dass die falsche Kodierung wieder Einzug erhalten hat. Soll heißen, dass nun wieder die Umlaute nicht richtig dargestellt werden. Verwende ich die "puren" html_5 Dateien, sieht alles sauber aus.
 
Probier mal die html5 version mit der de_inc.php aus Post #86.
...oder hatteste das schon?

Wichtig dann: Browser refresh, am besten Firefox beenden/neustarten
...mindestens aber: Aus "directory" ausloggen/einloggen
Damit nicht noch irgendwas aus dem Cache benutzt wird.

Wie dir vielleicht schon aufgefallen ist, verwendet "directory" eine session().
Das bedeutet, du bist so lange eingeloggt bis die Session verfällt (Timeout),
oder sich ordentlich ausgeloggt wird.
 
Zuletzt bearbeitet:
Liegt an der de.inc aus #86. Mit Deiner "original" html5 wird alles richtig dargestellt.
 
Mit der de_inc.php mit Umlaut Entities aus dem directory_html5.zip
(statt ü ä oder ö wie aus Post #86),
kommt mein Snom nicht klar und zeigt den Entity Code statt der Umlaute an.

Deswegen funktioniert bei mir:
directory_html5.zip mit der de_inc.php aus Post #86 (die Originale) am Besten.

Allerdings erst nachdem alles (mind. ausloggen/einloggen) frisch geladen wurde.
 
Zuletzt bearbeitet:
Wenn ich die Dateien aus directory_html5.zip (+ Prüfung deaktiviert) nehme, bekomme ich am Telefon einen Analysefehler; im Browser wird aber alles richtig dargestellt.

Nehme ich die Dateien directory_html5.zip (+ Prüfung deaktiviert) + Datei aus #86, läuft es im Telefon, aber im Browser wird es nicht richtig dargestellt.
 
aber im Browser wird es nicht richtig dargestellt.
Ja, das ist verzwickt, nicht wahr?

Da html5 UTF-8 kodiert ist, nimm als Webbrowserstandard: Unicode
...nicht mehr Westlich.

Du kannst auch mal testen ob alles OK ist wenn dein Benutzer als Sprache "english" benutzt.
 
Zuletzt bearbeitet:
Die Änderung der Sprache kann ich leider nicht vornehmen, da die Eingabe ja nicht funktioniert. Auch über SQL direkt kann ich keine Veränderungen vornehmen.
 
Poste mal bitte die Struktur von der Tabelle: directory_user
xdir_user_01.png
 
Siehe hier:

user.jpg
 
Naja, sieht OK aus.
Aber irgendwas scheint mit der Datenbank nicht zu stimmen.
 
Vielleicht liegt es daran?

Fehler.jpg

Unter "Finden Sie heraus warum"

a.jpg
b.jpg
 
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.