Seite 1 von 1

Beta: Andere Design als Subsilver bzw. prosilver patchen...

Verfasst: 24.11.2009 17:11
von neuer1993
Also für Linux gibt es das Programm patch (mit cygwin auch für Windows) siehe http://www.phpbb.de/kb/patch
Aufjeden Fall gibt es immer die patches für phpBB auch als .patch Datei,
nun hab ich mir überlegt: Die patchen ja immer nur die Standard-Designs, wie wärs mal mit ner neuen methode?
Und da kommt folgendes PHP-Script zu tragen:

Code: Alles auswählen

<?php
//Funktion um Ordnernamen zu erhalten
function templateordner($dir)
{ 
	$fp=opendir($dir);
	$i = 0;
	while($datei=readdir($fp))
	{ 
		if (is_dir("$dir/$datei") && $datei!="." && $datei!="..") 
		{
			if(isset($ordner))
			{
				$array = array_push($ordner, $datei);
				$i++;
			}
			else
			{
				$ordner = array($datei,);
				$i++;
			}
		} 
		else 
		{
		}
	}  
	closedir($fp);  
	return array($ordner,$i,);
}
//Funktion um zu prüfen ob Subsilver oder Prosilver
function suborpro($dir)
{ 
$verzeichnis = $dir;
	if (file_exists($verzeichnis))
	{
		$subsilver = "1";
	}
	else
	{
		$subsilver = "0";
	}
return $subsilver;
}  
//Und los gehts
$ordner = templateordner("styles");
if(isset($ordner[0]))
{
	$ii = 0;
	while($ii < $ordner[1])
	{
		$isornot = suborpro("styles/".$ordner[0][$ii]."/template/breadcrumbs.html");
		if($isornot == "1")
		{
			echo $ordner[0][$ii]." => Ist Subsilver<br/>";
			//Passende .txt Datei öffnen
			$text = file_get_contents("anderungen/subsilver2.txt");
			//In Datei alles was mit subsilver2 geschrieben wird in den derzeitigen Style-Namen ändern :)
			$neu_text = str_replace("subsilver2",$ordner[0][$ii], $text);
		}
		else
		{
			echo $ordner[0][$ii]." => Ist Prosilver<br/>";
			//Passende .txt Datei öffnen
			$text = file_get_contents("anderungen/prosilver.txt");
			//In Datei alles was mit prosilver geschrieben wird in den derzeitigen Style-Namen ändern :)
			$neu_text = str_replace("prosilver",$ordner[0][$ii], $text);
		}
		$fp = fopen("anderungen/style.txt","a");  //Datei wird zum schreiben geöffnet
		fwrite($fp,$neu_text); // Daten werden jetzt mit fwrite in die txt Datei geschrieben.
		fclose($fp); 

		$ii++;
	}
}
?>
Also ihr benötigt die Patch-Datein und daraus schneidet ihr alles aus was mit subsilver/prosilver zu tun hat und kopiert es in die subsilver.txt bzw. prosilver.txt.
Diese verschiebt ihr in den Ordner anderungen, den ihr im Forumsroot erstellen müsst.
Dann erstellt ihr eine Datei namens style.patch auch im anderungen Ordner, diese benötigt CHMOD 777, damit man sie beschreiben kann.
Die oben genannte PHP datei verschiebt ihr in den Forumsroot, dannach startet ihr das Script.
Später solltet ihr dann die .patch Datei zum patchen der Designs nutzen können, wobei weiterhin das Problem bestehen wird das nicht alle Änderungen auf jedem Design gefunden werden können.
Sollten Fehler auftreten übernehme ich dafür keine Verantwortung, es ist halt noch beta :)
mfg

Re: Beta: Andere Design als Subsilver bzw. prosilver patchen...

Verfasst: 24.11.2009 17:48
von neuer1993
So grad getestet und folgendes noch anzumerken. Ihr müsst bei den beiden .txt Datein unten noch ne Leerzeile reinmachen.
Ansonsten funktioniert das Top,
stellweisen bleiben .rey datein über die man dann per Hand abarbeiten muss, aber anscheinend auch nicht alzuviele :)
Endliche ne möglichkeit zu patchen in nen paar Sekunden + paar Minuten arbeit per Hand (kommt auf die anzahl der Designs an)

Re: Beta: Andere Design als Subsilver bzw. prosilver patchen...

Verfasst: 25.11.2009 00:04
von Mahony
Hallo
Es geht allerdings auch einfacher - siehe http://www.phpbb.de/community/viewtopic ... 7#p1143497


Grüße: Mahony

Re: Beta: Andere Design als Subsilver bzw. prosilver patchen...

Verfasst: 25.11.2009 07:56
von neuer1993
Das Problem ist das der Auto-Updater bei mir nur ne leere Seite ist :)
Und die Methode die du gennant hast bei 80 Styles zu machen würde auch ein wenig dauern...
wobei man das auch wieder per php erstellen könnte, naja, würde der autoupdater bei mir funktionieren würde ich ihn ja nehmen^^

Und der satz bezüglich der Sprachpakete:
(wichtig - die dürfen nicht verändert sein)
würde bei mir auch ein Problem darstellen^^
Wobei ich die Sprachpakete per Hand gepatcht habe :)
Demnächst nochmal mit Winmerge drübr ob unterschiede bestehen, die noch verändern und gut ist^^