Hack zur SVN Versionsanzeige der Joomla! 1.5.1

Teilen

Neulich wurde ich angefragt, wie ich es schaffe, immer die Revisionsnummer der aktuellen Joomla! 1.5.1 SVN in der Fusszeile meines Joomlanews-Templates anzeigen zu lassen. Das Ganze funktioniert mit einem simplen Codeschnipsel, einem sogenannten Hack. Meinem Kollegen Nikolai Plath (www.easy-joomla.org) ist es zu verdanken, dass ich diese Idee auf der Seite realisieren konnte. Ich möchte euch diesen [[wiktipedia:Hack]] natürlich nicht vorenthalten.

Dafür braucht es eigentlich nur zwei Codeschnipsel, welches ihr in euer Template einbauen müsst. (Pfad: ../templates/dein_Template/index.php) Dieser Hack bewirkt, dass aus der CHANGELOG.php die Versionsinfos der aktuellen Joomlaausgabe ausgelesen wird. Das ist vor allem für diejenigen praktisch, die sich laufend die neuste SVN-Version installieren. So ist nach der Installation der neuen Files auch gleichzeitig die neuste Versionsnummer auf der Seite sichtbar.

Dazu müsst ihr in der index.php eures Templateordners die folgenden Teile einfügen.

Zwischen <head> und </head > fügt ihr den folgenden Code ein:

<? php
/**
* Extract strings from svn:property Id
*
* like:
*
* version $ I d: CHANGELOG.php 362 2007-12-14 22:22:19Z elkuku $
* [0] => Id: [1] => CHANGELOG.php [2] => 362 [3] =>
2007-12-14 [4] => 22:22:19Z [5] => elkuku [6] => 😉
*
* @param string $path full path
* @param string $filename the name of the file
* @return mixed propertystring or FALSE
*/
$VERSION = new JVersion;
function getVersionFromFile( $path, $filename )
{
if( ! file_exists( $path.DS.$filename) )
{
return $filename.JText::_(' NOT FOUND in path').'
'.$path;
}
$output = '';
$f = fopen( $path.DS.$filename, 'r' );
while( $line = fgets( $f, 1000 ) )
{
if( strpos( $line, '@version'))
{

// we found the @version
$line = explode( '$', $line );
$line = explode( ' ', $line[1] );
$svn_rev = $line[2];
$svn_date = $line[3];

//custom date for roger
$c_date = explode ( '-', $svn_date );
$svn_date = $c_date[2].'-'.$c_date[1].'-'.$c_date[0];

//custom format: REV - DATE
$output = 'Rev # '.$svn_rev.' - '.$svn_date;
return $output;
}
}// while
return JText::_('No @version string (Id) found...').'
'.$path;
}// function
?>

Anschliessend muss man nur noch innerhalb des Seitentemplates an gewünschter Stelle zwischen <body> und </body> den Aufruf der Funktion platzieren. Dies beruht auf einem simplen php Echo-Befehl

powered by Joomla <? php echo $VERSION->getShortVersion(); 
echo getVersionFromFile( JPATH_SITE, 'CHANGELOG.php' ); ?>

Hinweis: Bitte entfernen Sie oben bei den PHP Tags: “< ? php ” und “? > ” die Leerschläge dazwischen. Sonst hätte ich hier den Code nicht abbilden können.

Ich danke an dieser Stelle nochmals ganz herzlich meinem Kollegen Nikolai Plath für das Schreiben dieses Hacks. Ich hoffe, dass es euch allen genauso eine Hilfe ist wie mir.

Roger Perren

Letzte Beiträge

Joomla! 3.9.10 Update erschienen!

Das Joomla! 3.9.10 Update behebt ein kleines Problem, dass bei der Zuordnung eines spezifischen Templates bei mehrsprachigen Sites entstanden ist. Weiterlesen

vor 2 Wochen

Joomla! 3.9.9 Update erschienen!

Das Joomla! 3.9.9 Update behebt eine kleinere Sicherheits-Lücke sowie 32 gemeldete Probleme, die in diesem Release behoben wurden. Weiterlesen

vor 2 Wochen

Deine Joomla!-Site auf Diät setzen!

In all den Jahren sammelten sich viele Funktionen in Joomla! an, die man eigentlich gar nicht braucht. Diese Methode hilft… Weiterlesen

vor 3 Wochen

Joomla! 3.9.8 Update erschienen!

Das Joomla! 3.9.8 Update behebt ein kleines Problem, dass bei der Entfernung des französischsprachigen Hilfeservers in der Vorversion entstanden ist. Weiterlesen

vor 1 Monat

Joomla! 3.9.7 Update erschienen!

Das Joomla! 3.9.7 Update behebt drei kleinere Sicherheits-Lecks sowie 42 gemeldete Probleme, die in diesem Release behoben wurden. Weiterlesen

vor 1 Monat

JoomGallery bekommt Update

Eine neue Initiative von JoomGallery Friends will das Projekt weiterleben lassen und hat jetzt auch ein erstes Bugfix-Update herausgebracht. Weiterlesen

vor 2 Monaten