IPS Struktur/Scripte Dokumentation automatisch in einem Wiki

Hallo Werner,

um den Fehler eingrenzen zu können, wäre es hilfreich wenn Du dir das Array ausgeben lassen würdest und das Ergebnis postest.


		$erg = unserialize(curl_exec($ch));
print_r($erg);
		$EditToken = $erg['query']['pages'][-1]['edittoken'];
return;

Mit der Anpassung solltest Du den Array Inhalt bekommen.

Gruß
Thorsten

Hallo Thorsten,

danke für die schnelle Unterstützung.

Hier der Inhalt des Array´s

Array
(
    [query] => Array
        (
            [pages] => Array
                (
                    [1] => Array
                        (
                            [pageid] => 1
                            [ns] => 0
                            [title] => Main Page
                            [touched] => 2011-11-13T14:13:40Z
                            [lastrevid] => 1
                            [counter] => 21
                            [length] => 438
                            [new] => 
                            [starttimestamp] => 2011-11-13T18:37:08Z
                            [edittoken] => f82c5969ea2f7a9dea7c02665dd1afa4+\
                        )
                )
        )
)

Das ist der Mod-Bonus :D,

ich habe mal’ versucht auf die Schnelle eine Lösung zu bauen, die hoffentlich bei Dir (und bei allen anderen auch noch) funktioniert.

Passe die entsprechende Passage mal’ folgendermaßen an:

		// Ein Edit-Token holen
		$data = array('action'=>'query','prop'=>'info','intoken'=>'edit','titles'=>'Main Page','format'=>'php');
		curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
		$erg = unserialize(curl_exec($ch));
		$tmp1 = $erg['query']['pages'];
		$tmp2 = each($tmp1);
		$EditToken = $tmp2[1]['edittoken'];

		//$EditToken = $erg['query']['pages'][-1]['edittoken'];
	}

Danke für den Bonus :slight_smile:

So. Fehler ist weg aber Inhalt bekomme ich in der WIKI immer noch nicht.

Achja. Skriptausgabe:

Die Seite hat sich geändert. Aktuelle Version ins Wiki einstellen.

P.S. In der WIKI direkt kann ich Daten eingeben.

Hmm, also wenn Du im Wiki in der Navigation auf „Letzte Änderungen“ klickst wird nichts angezeigt?
Findest Du was, wenn Du direkt nach einer Seite mit Namen „ips strukturdokumentation“ suchst?

Kannst Du die URL <Wiki Url>/api.php im Browser aufrufen und bekommst eine HTML Seite zurück?

Ansonsten muss ich etwas Debugging Output einbauen um den Fehler weiter einzugrenzen.

Gruß
Thorsten

Oh Mann (Ich).

Wieder den Wald vor lauter Bäumen nicht gesehen.

Alles da, bis auf die Skripte selbst

skript.png

Hast Du die „heute aktualisierte“ Version aus meinem ersten Beitrag genommen oder die Version von Seite 4?

Falls Du die aktuellere Version genommen hast, dann füge mal’ folgendes „echo“ hinzu um zu schauen, ob es überhaupt an die Stelle kommt um die Scripte im Wiki anzulegen.

				if($ScriptLetzteAenderung > $IPSWikiDocLetzteAusfuehrung)
				{
					echo 'Script mit der ID: ' . $ObjectID . ' wird hinzugefügt.' . $Zeilenumbruch;

					$ScriptInhalt = file_get_contents (IPS_GetKernelDir() . 'scripts\\' . $ScriptDetails['ScriptFile']);

Da sollte dann sowas raus kommen (die Liste sollte bei Dir nur deutlich länger sein).

Script mit der ID: 18015 wird hinzugefügt.
Script mit der ID: 55370 wird hinzugefügt.
Die Seite hat sich geändert. Aktuelle Version ins Wiki einstellen.

Gruß
Thorsten

War die neue aus dem ersten Beitrag.

Aber ich teste gleich mal.

Leider nein.

Ergebnis sagt zwar das das Wiki-Skript ja selbst geändert wurde aber es ist nichts drin.

Script mit der ID: 38589 wird hinzugefügt.
Die Seite hat sich geändert. Aktuelle Version ins Wiki einstellen.

Schon seltsam.

Habe mir mal den Inhalt von $ScriptInhalt per Echo ausgeben lassen.

In der Variable steht auch das Skript drin, natürlich mit deinen Ergänzungen.

Bin mir nicht sicher ob es an deinem Skript liegt.

Der Inhalt des Array´s $data ist absolut korrekt. Kann mir im Moment auch noch keinen Reim darauf machen.

Lese ich wiederrum die $CurrentScript aus ist diese Leer. Irgendwie kommt da nichts an.

Array
(
    [action] => edit
    [title] => ips_38589.ips.php
    [summary] => Änderungen im IP-Symcon nachdokumentieren.
    [text] => 
Wird im Wiki eine große überschrift
 - Include und Requires auswerten
 - 
   Dieses Script habe ich nach bestem Wissen und Gewissen erstellt und gebe es ohne jegliche Form der Gewährleistung weiter.
 Für eventuelle Schäden, Aufwände, etc. hafte ich selbstverständlich nicht!
 Thorsten Müller / Thorsten9
 (MrThorstenM@gmx.net)
 */
 // Variablendefinitionen & Konfigurationsparameter
 //================================================ $WikiUserAgent="IPSymcon MediaWiki Dokubot/0.1"; //Für die Bot-Zugriff wird ein spezieller Useragent benötigt.
 $WikiBenutzername = 'ips'; // Es wird ein spezieller MediaWiki Benutzer benötigt (mehr CPU Resourcen)

Hmm, das verstehe ich momentan auch noch nicht wirklich.
Bei mir sieht das $data Array genau so aus (wenn es um die Übersichtsseite geht).

Was mich wundert ist, dass er offensichtlich nur die Übersichtsseite als Script anlegen will und nicht deine sonstigen Scripte.

Gibt der Link im Wiki „Übersicht aller Seiten“ irgendwelche Seite die mit ips anfangen aus?

Gruß
Thorsten

PS: Danke für deine Try’n Error Geduld :confused:

Lass mal, ist für das Erste auch nicht lebenswichtig.

Vielleicht hast Du mal einen Tip für mich wie man die WIKI am besten komplett zurücksetzt. Eventuell hat es ja am Anfang schon einen Fehler in die WIKI gebügelt.

Die „Übersicht aller Seiten“ finde ich jetzt so auf die Schnelle nicht. Bin ein absoluter WIKI-DAU.

Wenn wir schon über Geduld sprechen dann muss ich mich bei Dir bedanken. Bei allen anderen funktioniert es ja :rolleyes:

Schönen Abend, falls ich weiterkomme poste ich es hier.

Hier noch ein Screenshot der Hauptseite.

Guten Morgen,

schau mal unter Werkzeuge / Spezialseiten.
Dort gibt es unter „Listen von Seiten“ den Punkt „Alle Seiten“.

Vielleicht siehst Du da einige ips <ID> Einträge.

Gruß
Thorsten

AlleSeiten.jpg

Übersicht.jpg

Leider auch nix aus das was auf dem Screenshot zu sehen ist.

Hat das MediaWiki schon jemand auf dem IPS-Webserver installiert? Oder sollte man doch besser den Apache nehmen?

ich würde keinesfalls die IPS-Installatioin mit irgendwas fremden „verseuchen“ wollen. Wer soll das supporten?

bei mir läufts bis jetzt problemlos auf nem IIS 7.5

Da bin ich der selben Meinung. Habe alles was nicht IPS notwendig ist allerdings von Windows befreit. Es gibt ne Menge gute Appliances für LAMP und konsorten.

Ich nutze gerade zum Testen unter Windows7 im XPMODE(VM) diese hier.

BitNami :: MediaWiki

Also ich würde auch nicht in die IPS nativeWebserver Konfiguration eingreifen :eek:.
Bei mir läuft das Wiki auch auf anderen anderen Maschine unter Linux.

Falls jemand ein ähnliches Problem wie Werner hat:
Dank seiner Try’n Error Gedult und meiner Beharrlichkeit konnte das Problem auf einen Konfigurationsfehler im Syntaxhighlighting eingegrenzt und durch Werner auch gefixt werden.

In der nächsten Version vom Script wird es u.a. einen Parameter geben, mit dem man auch nach dem Initialen Lauf noch einen Komplettlauf machen kann (falls irgendwas im Wiki krum ist).

Gruß
Thorsten