Merge branch 'stable'
This commit is contained in:
@@ -287,12 +287,12 @@
|
|||||||
<h4><a>Beispiele</a></h4>
|
<h4><a>Beispiele</a></h4>
|
||||||
<p>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=20060320000000&user=1&cache=1&cachelog=1&cachedesc=1&picture=1&removedobject=1&session=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0<br/>
|
<p>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=20060320000000&user=1&cache=1&cachelog=1&cachedesc=1&picture=1&removedobject=1&session=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0<br/>
|
||||||
http://www.opencaching.de/xml/ocxml11.php?sessionid=4711&file=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0</p>
|
http://www.opencaching.de/xml/ocxml11.php?sessionid=4711&file=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0</p>
|
||||||
<h3>Sonstige Bemerkungen</h3>
|
<h3>Sonstige Anmerkungen</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
Für den ersten Aufruf des Interface muss als modifiedsince das Datum 1.8.2005
|
Für den ersten Aufruf des Interface muss als modifiedsince das Datum 1.8.2005
|
||||||
um 00:00:00 Uhr angegeben werden. Es gibt keine Datensätze die vor diesem Datum
|
um 00:00:00 Uhr angegeben werden. Es gibt keine Datensätze die vor diesem Datum
|
||||||
angelegt wurden.</li>
|
angelegt wurden.<br /><br /></li>
|
||||||
<li>
|
<li>
|
||||||
Um Probleme wegen Differenzen der Uhrzeit zwischen Client und Server zu
|
Um Probleme wegen Differenzen der Uhrzeit zwischen Client und Server zu
|
||||||
umgehen, muss für den nächsten Inkrementellen Abruf der Daten das Datum um Kopf
|
umgehen, muss für den nächsten Inkrementellen Abruf der Daten das Datum um Kopf
|
||||||
@@ -308,19 +308,22 @@
|
|||||||
</li>
|
</li>
|
||||||
<li>Zeitverschiebungen / unterschiedliche Zeitzonen zwischen Client und Server
|
<li>Zeitverschiebungen / unterschiedliche Zeitzonen zwischen Client und Server
|
||||||
werden nicht unterstützt.</li>
|
werden nicht unterstützt.</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Ressourcen</h3>
|
||||||
|
<ul>
|
||||||
<li>Das XML-Dokument enthält folgende DTD (Document Type Definition):
|
<li>Das XML-Dokument enthält folgende DTD (Document Type Definition):
|
||||||
http://www.opencaching.de/xml/ocxml11.dtd</li>
|
http://www.opencaching.de/xml/ocxml11.dtd</li>
|
||||||
<li>Der Quellcode ist hier erhältlich: <a href="https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/xml">
|
<li>Der Quellcode ist hier erhältlich: <a href="https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/xml">
|
||||||
https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/xml</a></li>
|
https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/xml</a></li>
|
||||||
<li>Eine Referenzimplementierung kann hier downgeloadet werden: <s>
|
<li>Eine Referenzimplementierung kann hier heruntergeladen werden:
|
||||||
http://devel.opencaching.de/viewcvs/viewcvs.cgi/html/util/ocxml11client/</s> (neue Adresse folgt ...)</li>
|
<a href="https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/util-local/ocxml11client">https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/util-local/ocxml11client</a></li>
|
||||||
<li>Fragen zum Interface können im Opencaching-Forum gestellt werden: <a href="http://forum.opencaching-network.org/">http://forum.opencaching-network.org/</a></a></li>
|
<li>Fragen zum Interface können im Opencaching-Forum gestellt werden: <a href="http://forum.opencaching-network.org/">http://forum.opencaching-network.org/</a></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Lizenz:</p>
|
<p>Lizenz:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Der Quellcode steht unter der GNU Gerneral Public License Version 2 und später.</li>
|
<li>Der Quellcode steht unter der GNU Gerneral Public License Version 2 und später, siehe <a href="https://github.com/OpencachingDeutschland/oc-server3/tree/stable/doc/license.txt">https://github.com/OpencachingDeutschland/oc-server3/tree/stable/doc/license.txt</a>.</li>
|
||||||
<li>
|
<li>
|
||||||
Für Daten die über das XML-Interface abgerufen werden, gelten die
|
Für Daten, die über das XML-Interface abgerufen werden, gelten die
|
||||||
Nutzungsbedingungen von Opencaching.de: <a href="http://www.opencaching.de/articles.php?page=impressum#tos">
|
Nutzungsbedingungen von Opencaching.de: <a href="http://www.opencaching.de/articles.php?page=impressum#tos">
|
||||||
http://www.opencaching.de/articles.php?page=impressum#tos</a></li></ul>
|
http://www.opencaching.de/articles.php?page=impressum#tos</a></li></ul>
|
||||||
<p> </p>
|
<p> </p>
|
||||||
|
|||||||
@@ -39,9 +39,10 @@
|
|||||||
<li class="changelogitem">korrekte Ländervorgabe für neue Caches, „Belgien/Afghanistan-Problem“ behoben</li>
|
<li class="changelogitem">korrekte Ländervorgabe für neue Caches, „Belgien/Afghanistan-Problem“ behoben</li>
|
||||||
<li class="changelogitem">erstes Log fehlte in der Druckansicht</li>
|
<li class="changelogitem">erstes Log fehlte in der Druckansicht</li>
|
||||||
<li class="changelogitem">Anzeige der Teilnehmerzahl von Event-Caches</li>
|
<li class="changelogitem">Anzeige der Teilnehmerzahl von Event-Caches</li>
|
||||||
<li class="changelogitem">Anzeige des Cachetyp-Icons im Benutzerprofil für unveröffentlichte Caches</li>
|
<li class="changelogitem">Anzeige des Cachetyp-Icons für unveröffentlichte Caches (bei <a href="./myhome.php">Benutzerprofil</a> → Alle anzeigen)</li>
|
||||||
<li class="changelogitem">Link „Geokrety-Verlauf“ und Empfehlungszahl im Cachelisting werden bei großer Schrift nicht mehr abgeschnitten</li>
|
<li class="changelogitem">Link „Geokrety-Verlauf“ und Empfehlungszahl im Cachelisting werden bei großer Schrift nicht mehr abgeschnitten</li>
|
||||||
<li class="changelogitem">vollständige, anklickbare opencaching.de-Links in Log-Benachrichtigungsmails</li>
|
<li class="changelogitem">vollständige, anklickbare opencaching.de-Links in Log-Benachrichtigungsmails</li>
|
||||||
|
<li class="changelogitem">fehlende Verweise auf <a href="http://www.opencaching.nl/">opencaching.nl</a> ergänzt</li>
|
||||||
<li class="changelogitem">korrekte Fehlermeldung bei falschem Email-Adress-Bestätigungscode</li>
|
<li class="changelogitem">korrekte Fehlermeldung bei falschem Email-Adress-Bestätigungscode</li>
|
||||||
<li class="changelogitem">einige Dutzend Rechtschreibfehler korrigiert</li>
|
<li class="changelogitem">einige Dutzend Rechtschreibfehler korrigiert</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -37,9 +37,10 @@
|
|||||||
<li class="changelogitem">correct default country for new caches, fixed „Belgium/Afghanistan problem“</li>
|
<li class="changelogitem">correct default country for new caches, fixed „Belgium/Afghanistan problem“</li>
|
||||||
<li class="changelogitem">first log was missing in print view</li>
|
<li class="changelogitem">first log was missing in print view</li>
|
||||||
<li class="changelogitem">display of event attenders' count</li>
|
<li class="changelogitem">display of event attenders' count</li>
|
||||||
<li class="changelogitem">display of cache type icon for unpublished caches in user profile</li>
|
<li class="changelogitem">display of cache type icon for unpublished caches at <a href="./myhome.php">user profile</a> → Show all</li>
|
||||||
<li class="changelogitem">link "Geokrety history" and recommendation count in cache listings will not be cropped when using big fonts</li>
|
<li class="changelogitem">link "Geokrety history" and recommendation count in cache listings will not be cropped when using big fonts</li>
|
||||||
<li class="changelogitem">complete, clickable opencaching.de links in log notification emails</li>
|
<li class="changelogitem">complete, clickable opencaching.de links in log notification emails</li>
|
||||||
|
<li class="changelogitem">added missing links to <a href="http://www.opencaching.nl/">opencaching.nl</a></li>
|
||||||
<li class="changelogitem">correct error message when entering a wrong email-address-change confirmation code</li>
|
<li class="changelogitem">correct error message when entering a wrong email-address-change confirmation code</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
// Unicode Reminder メモ
|
||||||
|
|
||||||
|
// safemode-unzip
|
||||||
|
$opt['unzip'] = '/srv/www/htdocs/www.opencaching.de/html/util/safemode_zip/phpunzip.php';
|
||||||
|
$opt['rel_tmpdir'] = 'util/ocxml11client/tmp';
|
||||||
|
|
||||||
|
// 2. DB z.B. als Backup einer sauberen DB
|
||||||
|
$opt['db'][1]['name'] = 'ocdublette';
|
||||||
|
$opt['db'][1]['username'] = $dbusername;
|
||||||
|
$opt['db'][1]['passwd'] = $dbpasswd;
|
||||||
|
$opt['db'][1]['server'] = $dbserver;
|
||||||
|
|
||||||
|
// Synchronisierungsoptionen
|
||||||
|
$opt['sync']['user'] = 1;
|
||||||
|
$opt['sync']['cache'] = 1;
|
||||||
|
$opt['sync']['cachedesc'] = 1;
|
||||||
|
$opt['sync']['cachelog'] = 1;
|
||||||
|
$opt['sync']['picture'] = 1;
|
||||||
|
$opt['sync']['picturefromcachelog'] = 1;
|
||||||
|
$opt['sync']['removedobject'] = 1;
|
||||||
|
|
||||||
|
// Bilder downloaden?
|
||||||
|
$opt['pictures']['download'] = 1;
|
||||||
|
$opt['pictures']['directory'] = $rootpath . 'images/uploads/';
|
||||||
|
$opt['pictures']['url'] = 'http://www.so-komm-ich-uebers-web-da.hin/www.opencaching.de/html/images/uploads/';
|
||||||
|
|
||||||
|
// Sessions verwenden?
|
||||||
|
$opt['session'] = 1;
|
||||||
|
$opt['zip'] = 'gzip'; // 0; zip; bzip2; gzip
|
||||||
|
|
||||||
|
// Gebietsauswahl nach Land
|
||||||
|
$opt['bycountry'] = 0;
|
||||||
|
$opt['country'] = 'DE';
|
||||||
|
|
||||||
|
// Gebietsauswahl nach Koordinaten
|
||||||
|
$opt['bycoords'] = 0;
|
||||||
|
$opt['lon'] = 50.12345;
|
||||||
|
$opt['lat'] = 9.12345;
|
||||||
|
$opt['distance'] = 150;
|
||||||
|
|
||||||
|
// sonstige Einstellungen
|
||||||
|
$opt['tmpdir'] = 'tmp/';
|
||||||
|
$opt['archivdir'] = 'data-files/';
|
||||||
|
$opt['url'] = 'http://www.opencaching.de/xml/ocxml11.php?modifiedsince={modifiedsince}&user={user}&cache={cache}&cachedesc={cachedesc}&cachelog={cachelog}&picture={picture}&picturefromcachelog={picturefromcachelog}&removedobject={removedobject}&session={session}&zip={zip}&charset=utf-8';
|
||||||
|
$opt['urlappend_country'] = '&country={country}';
|
||||||
|
$opt['urlappend_coords'] = '&lon={lon}&lat={lat}&distance={distance}';
|
||||||
|
$opt['url_getsession'] = 'http://www.opencaching.de/xml/ocxml11.php?sessionid={sessionid}&file={file}&zip={zip}&charset=utf-8';
|
||||||
|
?>
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
/***************************************************************************
|
||||||
|
* For license information see doc/license.txt
|
||||||
|
*
|
||||||
|
* Unicode Reminder メモ
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
class xml2Array {
|
||||||
|
|
||||||
|
var $stack=array();
|
||||||
|
var $stack_ref;
|
||||||
|
var $arrOutput = array();
|
||||||
|
var $resParser;
|
||||||
|
var $strXmlData;
|
||||||
|
|
||||||
|
function push_pos(&$pos) {
|
||||||
|
$this->stack[count($this->stack)]=&$pos;
|
||||||
|
$this->stack_ref=&$pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
function pop_pos() {
|
||||||
|
unset($this->stack[count($this->stack)-1]);
|
||||||
|
$this->stack_ref=&$this->stack[count($this->stack)-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse($strInputXML) {
|
||||||
|
|
||||||
|
$this->resParser = xml_parser_create("UTF-8");
|
||||||
|
xml_set_object($this->resParser,$this);
|
||||||
|
xml_set_element_handler($this->resParser, "tagOpen", "tagClosed");
|
||||||
|
|
||||||
|
xml_set_character_data_handler($this->resParser, "tagData");
|
||||||
|
|
||||||
|
$this->push_pos($this->arrOutput);
|
||||||
|
|
||||||
|
$this->strXmlData = xml_parse($this->resParser,$strInputXML );
|
||||||
|
if(!$this->strXmlData) {
|
||||||
|
die(sprintf("XML error: %s at line %d",
|
||||||
|
xml_error_string(xml_get_error_code($this->resParser)),
|
||||||
|
xml_get_current_line_number($this->resParser)));
|
||||||
|
}
|
||||||
|
|
||||||
|
xml_parser_free($this->resParser);
|
||||||
|
|
||||||
|
return $this->arrOutput;
|
||||||
|
}
|
||||||
|
|
||||||
|
function tagOpen($parser, $name, $attrs) {
|
||||||
|
if (isset($this->stack_ref[$name])) {
|
||||||
|
if (!isset($this->stack_ref[$name][0])) {
|
||||||
|
$tmp=$this->stack_ref[$name];
|
||||||
|
unset($this->stack_ref[$name]);
|
||||||
|
$this->stack_ref[$name][0]=$tmp;
|
||||||
|
}
|
||||||
|
$cnt=count($this->stack_ref[$name]);
|
||||||
|
$this->stack_ref[$name][$cnt]=array();
|
||||||
|
if (isset($attrs))
|
||||||
|
$this->stack_ref[$name][$cnt]=$attrs;
|
||||||
|
$this->push_pos($this->stack_ref[$name][$cnt]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$this->stack_ref[$name]=array();
|
||||||
|
if (isset($attrs))
|
||||||
|
$this->stack_ref[$name]=$attrs;
|
||||||
|
$this->push_pos($this->stack_ref[$name]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function tagData($parser, $tagData) {
|
||||||
|
if(mb_trim($tagData)) {
|
||||||
|
if(isset($this->stack_ref['DATA']))
|
||||||
|
$this->stack_ref['DATA'] .= $tagData;
|
||||||
|
else
|
||||||
|
$this->stack_ref['DATA'] = $tagData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function tagClosed($parser, $name) {
|
||||||
|
$this->pop_pos();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
Reference in New Issue
Block a user