IPS Anrufbeantworter in MCE 2005 integriert.

Ich bin gerade dabei mir „mein Wunschprojekt“ selber zu basteln.
(Ich sags gleich vorweg, ich hab keine Ahnung vom Programmieren)

Milestones:

  • [li]Anrufmonitor im MCE2005 (über JFritz und/oder JHT Addin) - Status: realisiert
    [/li][li]ISDN Anrufbeantworter (mit Zapp’s AnserwerMachine.ips.php und eigenen Erweiterungen) - Status: realisiert
    [/li][li]Einbindung AB_AnAus in MCE 2005 - Status (mit pleiblings Erweiterung des AB_AnAus.ips.php) : realisiert
    [/li][li]Einbindung und Anpassung der „Anrufliste“ in MCE (mit erweitertem showcalls.php Skript) - Status: teilweise realisiert
    [/li][li]JFritz „phonebook.xml“ anstatt mySQL als „privates“ Telefonbuch nutzen - Status: realisiert 02/02/07
    [/li][li]Zusätzlichen Button „Messages löschen“ einfügen (mit MCE & FB bedienbar) .realisiert 03/02/07
    [/li]

ToDo: (in der Reihgenfolge der Priorität)

[ul]
[li]„Message = YES/NO“ gegen Buttons ersetzen. (mit MCE & FB bedienbar)
[/li][li]Wiedergabe der WAV Datei in eigenem Fenster
[/li][li]Tagesauswahl auf Buttons (mit MCE & FB bedienbar) umstellen (-3 -2 -1 Today)
[/li][li]Look&Feel der Tabelle dem MCE Style besser anpassen.
[/li][li]Wochentags- und Datumsanzeige im Titel auf Deutsch umstellen.
[/li][li]zusätzliche Spalte „Anruf auf MSN/VoIP Nr.:“ einfügen.
[/li][/ul]

Für den ersten Punkt benötige ich etwas Hilfe von euch „Profies“. :o
Das AnswerMachine Skript hat ja die möglichkeit, eine mySQL Tabelle nach einer Übereinstimmung Nummer-Name zu suchen.
Diese würde ich gerne umstellen, das statt dessen die JFritz Datei „phonebook.xml“ geöffnet wir und dort nach der Übereinstimmung gesucht wird.

Die original Funktion lautet:


<?
function findNumberDB($callerNumber)
{
   $mysql_host="localhost";   // Host name
   $mysql_username="";        // Mysql username
   $mysql_password="";        // Mysql password
   $mysql_db_name="";         // Database name
   $mysql_tbl_name="";        // Table name

   // Current date
   $nowDate = date("y-m-d H:i:s");

   // Connect to server and select databse.
   $link = mysql_connect("$mysql_host", "$mysql_username", "$mysql_password")or die("cannot connect");
   mysql_select_db("$mysql_db_name")or die("cannot select DB");

   // Find an entry in the table with that number
   $sql="SELECT * FROM $mysql_tbl_name WHERE Number LIKE '%$callerNumber'";
   $result=mysql_query($sql);
   echo "sql query: ".$sql."
";

   // Mysql_num_row is counting table row
   $count=mysql_num_rows($result);
   echo "entries found in book: ".$count."
";

   if ($count == 1) {
      $row = mysql_fetch_object($result);
      echo "Name: ".$row->Name." (".$row->Type.")
";
      return "$row->Name"." ($row->Type)";
   } elseif ($count > 1) {
      echo "Various Names
";
      return "Various Names";
   } else {
      echo "No Name Found
";
      return false;
   }
}
?>

und hier eine Beispiel XML Datei:


<?xml version="1.0" encoding="UTF-8"?>
<phonebook>
<comment>Phonebook for JFritz v0.6.2.02</comment>
<entry private="false">
	<name>
		<firstname>Donald</firstname>
		<lastname>Duck</lastname>
	</name>
	<company>Taler AG</company>
	<address>
		<street>Taler Weg 1</street>
		<postcode>51234</postcode>
		<city>Entenhausen</city>
	</address>
	<phonenumbers standard="home">
		<number type="home">+493141234567</number>
	</phonenumbers>
	<internet>
		<email>donald@duck.de</email>
	</internet>
</entry>
<entry private="false">
	<name>
		<firstname>Gustav</firstname>
		<lastname>Gans</lastname>
	</name>
	<company>Taler AG</company>
	<address>
		<street>Taler Weg 2</street>
		<postcode>51234</postcode>
		<city>Entenhausen</city>
	</address>
	<phonenumbers standard="home">
		<number type="home">+493141234568</number>
		<number type="home">+4931412345679</number>
	</phonenumbers>
	<internet>
		<email>gustav@gans.de</email>
	</internet>
</entry>
<entry private="true">
	<name>
		<firstname>Dasy</firstname>
		<lastname>Duck</lastname>
	</name>
	<company>Taler AG</company>
	<address>
		<street>Taler Weg 3</street>
		<postcode>51234</postcode>
		<city>Entenhausen</city>
	</address>
	<phonenumbers standard="home">
		<number type="home">+4931412345679</number>
	</phonenumbers>
	<internet>
		<email>dasy@duck.de</email>
	</internet>
</entry>
</phonebook>

Hat jemand von euch eine Idee wie ich das lösen könnte ? :confused: Wenn ich soweit fertig bin (80% sind erledigt), stell ich die gesammelten Erfahrungen, Skripte und Lösungen natürlich allen hier zur Verfügung.

Hilft dir das hier?

Toni

@Tonic1024 … DAnke, Danke, Danke !!! :smiley:

Genau sowas habe ich gesucht … hier ist es aber viel schöner erklärt :

Link -> http://de.php.net/simplexml%20

Mal schauen ob ich das als PHP-DAU alleine hinbekomme … sieht ja wirklich „simple“ aus … :wink: hier mal ein erster (ungetesteter Entwurf)
Sieht einer von euch Profies schon einen dicken Fehler?

Ich stelle mir das so vor:

<?
function findNumberDB($callerNumber)

$xml = simplexml_load_file(‚c:\programme\jfritz\phonebook.xml‘);

if ((string) $xml->‚entry private=„false“‘->’<number type=„home“>’ ==
$callernumber)
{
$row = „(string) $xml->entry private=‚false‘->firstname“." „.“(string) $xml->entry private=‚false‘’->lastname’.";
return „$row->Name“." ($row->Type)";
}
elseif ($count > 1) {
echo "Mehrere Namen
";
return „Various Names“;
} else {
echo "Keinen Namen gefunden
";
return false;
}
?>

Hallo Admin(s),

ich galube mein Post gehört eher in die Kategorie „unfertige Skripte“.

Ist es möglich den Thread dahin zu verschieben?

soweit bin ich scho mal (02/02/07) -> ups … kann wohl das Bild nicht austauschen „Keine Rechte“ :frowning:

ab1.jpg

Also hier nun das neue Bild :

ab2.jpg