- Mitglied seit
- 24 Jan 2013
- Beiträge
- 14,202
- Punkte für Reaktionen
- 589
- Punkte
- 113
Moins
Ein Onlinetelefonbuch bei GMX zum Beispiel kann so angefordert und angezeigt werden...
otu.sh
Daten: Quelltext der Seite: http://fritz.box/fon_num/fonbook_list.lua
MQUERIES = {...}
Damit die Daten im XML Format wohlgeformt in HTML angezeigt werden können,
muss noch ein Stylesheet eingebunden werden...
1. Schritt: pbd.head (statisch angelegt als Datei)
2. Schritt: pbd.xsl (statisch angelegt, das XML/XSL Stylesheet)
3. Schritt: index.cgi (Aufruf von pbupd und das Zusammenbringen der Daten um sie im Webbrowser anzuzeigen)
Natürlich muss dafür auch ein Webserver (auf der Fritz!Box) laufen, der Shellskript CGI beherscht.
So sieht dann das Verzeichnis auf dem Webspace aus...
Das funktioniert auch wirklich gut.
Nur, ich krieg es nicht hin mit pbupd eine vorhandene (Telefonbuch) XML zu synchronisieren.
Da bräuchte ich tatsächlich einmal Hilfe von einem Spezialisten.
(pbupd ist spärlich dokumentiert, z.B. hier: wehavemorefun.de)
Technisch wäre/ist es kein Problem über die XSL Transformation andere Formate zu erzeugen.
1. SNOM Telefonbuch (XML)
2. CISCO Telefonbuch (XML)
3. Eine reine Textausgabe/Datei (z.B.: CSV)
...
Ein Onlinetelefonbuch bei GMX zum Beispiel kann so angefordert und angezeigt werden...
otu.sh
Code:
#!/bin/sh
local NID='-i 240'
local SERVICE='-t https://uas2.uilogin.de/login'
local USER='-u [email protected]'
local PASSWORD='-v PASSWORD'
local URL='-w coms.homenet.gmxde'
local PB='-x 'Onlinetelefonbuch'
local REV='-r 82'
local SYNC_PB=${1}
local PARAMS="${NID} ${SERVICE} ${USER} ${PASSWORD} ${URL} ${PB} ${REV} ${SYNC_PB}"
local CMD=$(which pbupd)
$CMD $PARAMS ${@}
#echo $CMD $PARAMS ${@} # DEBUG
#EOF
MQUERIES = {...}
Damit die Daten im XML Format wohlgeformt in HTML angezeigt werden können,
muss noch ein Stylesheet eingebunden werden...
1. Schritt: pbd.head (statisch angelegt als Datei)
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="pbd.xsl" type="text/xsl"?>
2. Schritt: pbd.xsl (statisch angelegt, das XML/XSL Stylesheet)
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/phonebooks/phonebook">
<!--xsl:text>
<!DOCTYPE html>
</xsl:text-->
<html>
<head>
<title>Onlinetelefonbuch</title>
<style>
html{font-size:32px;}
body{background-color:rgb(219,234,249);}
table{display:inline;background-color:rgb(249,234,219);border:1px solid rgb(128,128,128);border-collapse:collapse;border-spacing:1px;empty-cells:hide;}
caption,thead,tfoot,tbody{background-color:rgb(249,234,219);border:1px solid rgb(128,128,128);border-collapse:collapse;border-spacing:1px;empty-cells:hide;}
caption{display:table-header-group;}
caption:hover{background-color:rgb(0,0,0);color:rgb(255,255,0);}
thead:hover{background-color:rgb(0,0,0);color:rgb(0,255,0);}
tfoot:hover{background-color:rgb(0,0,0);color:rgb(0,0,255);}
tbody:hover{background-color:rgb(0,0,0);color:rgb(255,0,0);}
</style>
</head>
<body>
<script type="text/javascript">window.document.title='<xsl:value-of select="@name"/>(<xsl:value-of select="@owner"/>)';</script>
<xsl:apply-templates select="*"/>
</body>
</html>
</xsl:template>
<xsl:template match="*/contact">
<xsl:for-each select=".">
<table>
<caption><tr><th><xsl:value-of select="person/realName"/></th></tr></caption>
<!--thead><tr><th><xsl:value-of select="person/realName"/></th></tr></thead-->
<tfoot><tr><td><xsl:value-of select="services/email"/></td></tr></tfoot>
<xsl:for-each select="telephony/number">
<tbody><tr><td><xsl:value-of select="."/></td></tr></tbody>
</xsl:for-each>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
3. Schritt: index.cgi (Aufruf von pbupd und das Zusammenbringen der Daten um sie im Webbrowser anzuzeigen)
Natürlich muss dafür auch ein Webserver (auf der Fritz!Box) laufen, der Shellskript CGI beherscht.
Code:
#!/bin/sh
local SYNC_PB='/var/tmp/pbd.export'
local PBH='pbd.head'
local OTU='otu.sh'
# XML wohlformen, mit XSL im Header
mkwfpbxml () {
$OTU $SYNC_PB
cat $PBH
grep -v "<?" $SYNC_PB
}
echo 'Content-type: text/xml; charset="utf-8"
'
echo $(mkwfpbxml)
#EOF
Code:
l phonebooks/
total 20
drw-rw-r-- 2 root root 4096 Dec 15 07:21 ./
drwxrwxrwx 47 root root 4096 Dec 15 16:40 ../
-rw-rw-r-- 1 root root 255 Dec 15 07:01 index.cgi
lrwxrwxrwx 1 root root 17 Dec 14 17:58 otu.sh -> ../scripts/otu.sh*
-rw-rw-r-- 1 root root 89 Dec 13 11:36 pbd.head
-rw-rw-r-- 1 root root 1617 Dec 14 12:09 pbd.xsl
Nur, ich krieg es nicht hin mit pbupd eine vorhandene (Telefonbuch) XML zu synchronisieren.
Da bräuchte ich tatsächlich einmal Hilfe von einem Spezialisten.
(pbupd ist spärlich dokumentiert, z.B. hier: wehavemorefun.de)
Technisch wäre/ist es kein Problem über die XSL Transformation andere Formate zu erzeugen.
1. SNOM Telefonbuch (XML)
2. CISCO Telefonbuch (XML)
3. Eine reine Textausgabe/Datei (z.B.: CSV)
...
Zuletzt bearbeitet: