Seite 1 von 2 12 LetzteLetzte
Zeige Ergebnis 1 bis 15 von 20

Thema: php Address Import

  1. #1
    STARFACE Admin

    Registriert seit
    25.08.2007
    Beiträge
    164

    Standard php Address Import

    OK. Hier mal ein kleines Script, welches man auf einem externen Host ausführen muss, das die Starface PBX kein PHP kann (ich aber dafür ).

    Systemanforderungen (empfohlen):
    - PHP 5.2.* mit PG-Support
    - Betriebssystem ist egal, zur Not tut es auch ein XAMPP
    - offene Firewallports und freier Zugang zur Postgres DB auf der PBX

    zu letzterem würde ich gern ohessel zitieren wollen:
    Auf STARFACE läuft ein postgresql server.
    Die Konfigurationsdatei /var/lib/pgsql/data/postgresql.conf muss angepasst werden, und zwar:
    statt: listen_addresses = '127.0.0.1'
    Code:
    listen_ addresses = '*'
    Es ist möglich, dass falls Postgresql beim Update die postgresql.conf
    neuschreibt diese Einstellung verloren geht, passiert ist das bisher nicht, wir prüfen das natürlich
    auch und würden uns dementsprechend melden.
    Zugriff auf die Datenbank:
    Hierzu muss zusätlich die Verbindung erlaubt werden, hierzu ist ein neuer Eintrag in
    /var/lib/pgsql/data/pg_hba.conf nötig
    Code:
    host asterisk asterisk IHRE_REMOTE_IP/32 password
    Das erlaubt den Zugriff von IHRE_REMOTE_IP aus, mit dem Benutzer asterisk auf die Datenbank
    asterisk.
    Firewall:
    Die Firewallkonfiguration wird bei jedem Neustart des Webservers neu
    geschrieben. Wenn die Einstellung in der Datenbank legt, dann wird
    sie behalten, allerdings ist im Moment keine Beschränkung auf Ipadressen
    möglich, aber gespeichert wird es im Moment schon.
    Code:
    INSERT INTO iptablesrule(iptableschainid, startportnumber,
    endportnumber, target, clientip, protocoltype)
    VALUES (1,5432,0, 'ACCEPT','IHRE_REMOTE_IP', 'tcp');
    GANZ WICHTIG:
    Momentan läuft das Script nur mit Excel-CSV-Dateien (Stichwort Codepage). Wir wandeln momentan noch keine Formate um. Somit könnte es Probleme mit Sonderzeichen und deutschen Umlauten geben!
    Wenn jemand das Script ausprobiert, dann bitte erst mit 2-3 Einträgen. Die lassen sich schneller wieder löschen.

    Sollte die Resonanz darauf allzu groß werden, kann ich gern noch daran feilen...


    INSTALLATION
    Einfach angehängte Datei in einem Webordner ausführen und den Anweisungen folgen. In diesem Ordner sollte noch ein temporärer Ordner angelegt werden, in den der Webserver schreiben kann.

    Nach dem Start, eine CSV-Datei auswählen, den Separator einstellen (bei Excel ist es meistens ein Semikolon ";" und im zweiten Schritt noch die Felder zuordnen, die importiert werden sollen.
    Angehängte Grafiken Angehängte Grafiken
    Angehängte Dateien Angehängte Dateien
    Geändert von rok°! (03.07.2008 um 09:09 Uhr) Grund: update

  2. #2
    STARFACE Expert
    Benutzerbild von jochen
    Registriert seit
    08.01.2007
    Beiträge
    325

    Daumen hoch

    Hi rok°!,

    danke für das Script. Ich habe den Thread mal sticky gemacht, damit es nicht gleich untergeht.

    grüße

    Jochen
    Im Leben eines jeden Büromenschen gibt es drei einschneidende Ereignisse: Erstens einen Wechsel des Vorgesetzten, zweitens den Tod der Topfpflanze und drittens eine neue Telefonanlage.

  3. #3
    STARFACE User

    Registriert seit
    11.09.2008
    Ort
    Offenburg
    Beiträge
    15

    Standard

    Hi rok°!,

    danke für das PHP-Script, habe gerade über 5000 Adressdatensätze importiert

    Das einzige, was nicht auf Anhieb geklappt hat war die Verbindung über pgsql bzw. iptables hat mir da wohl einen strich durch die Rechnung gemacht. Ich könnte natürlich die Regel so eintragen wie oben erwähnt, aber für einen einmaligen import reicht auch einfach ein /etc/init.d/iptables stop/start

    Danke vielmals


    Mit freundlichen Grüßen

    Michael Huber
    Technik Baden Syscomp

    m.huber (at) baden-syscomp (dot) de

    +49 (0) 781 289935 43

  4. #4
    STARFACE User
    Benutzerbild von Steffen
    Registriert seit
    17.07.2007
    Beiträge
    8

    Standard

    Beim Importieren von Adressen sollte darauf geachtet werden, dass die Nummern im richtigen Format vorliegen, da diese sonst bei eingehenden Anrufen nicht aufgelöst werden können:
    z.B.
    0049 (721) 123456
    +49 (721) 123456
    0049 721 123456
    +49 721 123456
    0 721 123456

    Nicht erlaubt sind Zeichen wie / oder -
    Leerzeichen sind optional, es dürfen aber nicht 2 oder mehr aufeinander folgen.

    Falls falsche Adressen importiert wurden kann das (komplette!) Adressbuch mit folgendem SQL Statement gelöscht werden:

    Code:
    delete from person where accountid = 0 and id != 0;
    Geändert von Steffen (29.07.2009 um 17:01 Uhr)

  5. #5
    STARFACE User

    Registriert seit
    22.10.2007
    Beiträge
    81

    Standard

    Hallo Rok,

    jetzt habe ich es schon bald... Aber nach einrichten eines Webservers und der korrekten Installation bekomme ich nach dem Druck auf "Senden" immer die Meldung oben in der Browser Adressleiste:
    http://192.168.0.174/%3C?=$_SERVER['PHP_SELF'];?%3E
    Und dann im Browser:
    Not Found
    The requested URL /< was not found on this server.

    Wenn ich das PHP Script bei den Statements (2 mal) von:
    <?=$_SERVER['PHP_SELF'];?>
    auf:
    <?php echo $_SERVER['PHP_SELF'];?>
    ändere, kommt zwar keine Fehlermeldung mer, aber dafür passiert folgendes, der Browser setzt sich zurück und lehrt das Auswahlfeld für die Datei und es ensteht eine Datei im temp Verzeichniss. Nur kann ich nichts einstellen und ich komme auch nicht weiter. Idee?

    Udo

  6. #6
    STARFACE Admin

    Registriert seit
    25.08.2007
    Beiträge
    164

    Standard

    Sieht so aus, als würde kein PHP ausgeführt werden.
    Leg mal eine Datei an und schreibe nur folgendes hinein und führe sie aus:
    Code:
    <?php phpinfo(); ?>
    Wenn jetzt einige Tabellen mit Inhalt kommen, läuft zumindest schon mal der PHP-Interpreter.

  7. #7
    STARFACE User

    Registriert seit
    22.10.2007
    Beiträge
    81

    Standard php info geht

    hallo,

    ja das funktioniert wunderbar, hier kommt eine endlose Litanei. Auch Postgres SQL ist als Addon mit dabei.
    Das habe ich gestern auf einem Netbook unter OS X installiert.

    "PHP Version 5.3.0

    www.entropy.ch Release 3

    Universal Binary i386/x86_64/ppc7400/ppc64 - this machine runs: i386


    System Darwin udos-e1210.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386
    Build Date Jul 13 2009 19:05:27"


    udo
    Geändert von udo (04.12.2009 um 14:38 Uhr)

  8. #8
    STARFACE Admin

    Registriert seit
    25.08.2007
    Beiträge
    164

    Standard

    Wenn ich das richtig verstanden habe, änderst du folgende Zeile:
    Code:
    <form method="post" action="<?=$_SERVER['PHP_SELF'];?>">
    in diese:
    Code:
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    Richtig?

    Was steht dann im Quellcode der generierten HTML-Seite?
    Regulär müsste dann sowas drin stehen:
    HTML-Code:
    <form method="post" action="/starfaceimport.php">

  9. #9
    STARFACE User

    Registriert seit
    22.10.2007
    Beiträge
    81

    Standard php import

    Da steht:

    <form enctype="multipart/form-data" method="post" action="/starfaceimport.php">

    Udo

  10. #10
    STARFACE Admin

    Registriert seit
    25.08.2007
    Beiträge
    164

    Standard

    Dann weiß ich nicht weiter. Fakt ist, dass wohl die REQUEST Variablen nicht ausgewertet werden. Wieso das so ist, kann ich aber nicht beantworten. Auf lokalen Systemen liegt der Fehler zu 90% an einer Softwarefirewall oder ähnlichem.

  11. #11
    STARFACE User

    Registriert seit
    20.01.2010
    Beiträge
    11

    Standard

    Hi Steffen,

    Zitat Zitat von Steffen Beitrag anzeigen
    Falls falsche Adressen importiert wurden kann das (komplette!) Adressbuch mit folgendem SQL Statement gelöscht werden:

    Code:
    delete from person where accountid = 0 and id != 0;
    ich mache das jetzt so, dass ich in das comment-Feld einen Hint schreibe. Ich lösche dann nur die Einträge, die auf den Hint passen. Das brauche ich, weil ich einen regelmäßigen Datenabgleich mit unserem CRM haben möchte.
    Hier die Query, die man sicher noch eleganter schreiben könnte...:

    Code:
    DELETE FROM person WHERE id IN(SELECT person.id FROM person LEFT JOIN persondata ON person.id = persondata.personid AND datadefaultid=15 WHERE person.accountid=0 AND persondata.value LIKE 'CRM-HINT:%');

  12. #12
    STARFACE User

    Registriert seit
    21.05.2010
    Beiträge
    24

    Standard

    Hatte ebenfalls das von Udo beschriebene Problem. Folgende Lösung hat dann zum Erfolg geführt:
    1) Wie oben bereits beschrieben müssen alle Stellen im Code "<?" mit "<?php" ersetzt werden
    2) Alle Stellen im Code die dann "<?php=" lauten müssen mit "<?php echo " ersetzt werden

    Danach funktioniert das Skript.

  13. #13
    STARFACE Expert
    Benutzerbild von Philipp
    Registriert seit
    08.01.2007
    Ort
    Karlsruhe
    Beiträge
    1.782

    Standard

    Zur allgemeinen Info: Seit Version 4.5.x gibt es die Import-Funktion auch direkt in STARFACE
    Gruß / Regards
    Philipp

    NEU: Informationen zum STARFACE Support
    Wichtig: STARFACE Wiki +++ Handbücher +++ Zertifizierte Hardware +++
    Neue Releases: RSS Feed

  14. #14
    STARFACE User

    Registriert seit
    18.02.2016
    Beiträge
    27

    Standard

    Vielen dank für das Script...

    Konnte dadurch unsere MSSQL-Datenbank mit dem Starface Telefonbuch Synchronisieren ;-)

    werde es bei Gelegenheit aufarbeiten und hier posten.

  15. #15
    STARFACE Admin

    Registriert seit
    25.08.2007
    Beiträge
    164

    Standard

    Zitat Zitat von roman007 Beitrag anzeigen
    Vielen dank für das Script...

    Konnte dadurch unsere MSSQL-Datenbank mit dem Starface Telefonbuch Synchronisieren ;-)

    werde es bei Gelegenheit aufarbeiten und hier posten.
    Och?! Das olle Ding? Kein Aprilscherz?
    Wieder einen glücklich gemacht heute...

Ähnliche Themen

  1. Address book setup
    Von zmagyar im Forum STARFACE setup & administration
    Antworten: 2
    Letzter Beitrag: 06.11.2007, 11:50

Stichworte

Lesezeichen

Forumregeln

  • Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
  • Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
  • Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
  • Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
  •