Magic Quotes in der .htaccess Datei abschalten

Magic Quotes sind seit PHP in der Version 5.3 als veraltet gekennzeichnet. In PHP 5.4 wurden sie komplett entfernt. Die Funktion sorgt dabei dafür das bestimmte Anführungszeichen automatisch mit einem Backslash maskiert werden. Nutzt man eine ältere PHP Version kann es passieren das bestimmte Anwendungen wie z.B. OwnCloud verlangen die „Magic Quotes“ zu deaktivieren. Wenn dies über die „php.ini“ nicht möglich ist, muss das mittels der „.htaccess“-Datei erledigt werden. Dazu trägt man in diese:

php_flag magic_quotes_gpc off

ein. Anschließend sind die Magic Quotes deaktiviert.

Weitere Informationen gibt es unter:
http://php.net/manual/en/security.magicquotes.disabling.php

MediaWiki 1.20 veröffentlicht

Vor einigen Stunden wurde die neue Version der MediaWiki Software freigegeben. In dem Release wurde die minimale benötigte PHP Version auf 5.3.2 angehoben. An Verbesserung sind die neue Diffanzeige, sowie Verbesserungen für Farbenblinde hinzugekommen. Des weiteren gibt es eine neue Spezialseite („Special:MostInterwikis“) sowie das neue Schlüsselwort „{{PAGEID}}“ welches die Seiten ID ermittelt. Neben den Verbesserungen sind auch einige neue Sprachen wie die Emilianische Sprache hinzugekommen. Die neue Version der MediaWiki kann unter http://www.mediawiki.org/wiki/MediaWiki/de bezogen werden.

Podcast Feed selbstgemacht

Manchmal möchte man zu ein paar Audiodateien einen RSS Feed haben, z.B. für einen privaten Podcast. Natürlich kann man sich einen solchen Feed von Hand zusammenbauen, einfacher ist es mit diesem kleinen PHP Skript:

<?php
  //Podcast Feed Script
  //Copyright (c) 2012 by seeseekey <>
  //
  //This program is free software: you can redistribute it and/or modify
  //it under the terms of the GNU General Public License as published by
  //the Free Software Foundation, either version 3 of the License, or
  //(at your option) any later version.
  //
  //This program is distributed in the hope that it will be useful,
  //but WITHOUT ANY WARRANTY; without even the implied warranty of
  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  //GNU General Public License for more details.
  //
  //You should have received a copy of the GNU General Public License
  //along with this program.  If not, see <http://www.gnu.org/licenses/>.

  //Basis URL ermitteln
  $baseURL="http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  $baseURL=dirname($baseURL) . "/";

  //XML Header setzen
  header('Content-type: text/xml');

  //RSS Datei zusammenbauen
  $output = '<rss version="2.0">'."\n";
  $output .= '  <channel>'."\n";
  $output .= '    <title>seeseekey.net (privater Podcast)</title>'."\n";
  $output .= '    <description>Ein privater Podcast von seeseekey.net</description>'."\n";
  $output .= '    <link>https://seeseekey.net</link>'."\n";
  $output .= '    <copyright>(c) 2012 by seeseekey</copyright>'."\n";

  //Audio Dateien in RSS Feed einpflegen
  $files = scandir('.');
  foreach ($files as $file)
  {
    $pathparts = pathinfo($file);
    if($pathparts['extension']!="mp3") continue;

    $output .= '    <item>'."\n";
    $output .= '      <title>'.$file.'</title>'."\n";
    $output .= '      <enclosure url="'.$baseURL.$file.'" length="'.filesize($file).'" type="audio/mpeg"/>'."\n";
    $output .= '    </item> '."\n";
  };

  //RSS Feed wieder schließen
  $output .= '  </channel>'."\n";
  $output .= '</rss>'."\n";

  //RSS Feed ausgeben
  echo($output);
?>

Dieses Skript ließt alle MP3 Dateien aus einem Ordner aus und baut daraus einen RSS Feed. Dieser kann dann in der Podcasting App der Wahl eingefügt werden, indem man die URL angibt so z.B. „http://example.org/podcast.php“. Das Skript selbst steht dabei unter der GPLv3 und lässt sich auch unter https://github.com/seeseekey/archive/blob/master/Web/podcast.php herunterladen.

osTicket

Im Open Source Bereich gibt es ja durchaus einige Ticketsysteme, wie z.B. das Open Ticket Request System (OTRS). Problematisch an den meisten Open Source Ticketsystemen ist dabei der Umstand das diese meist nicht bei den Wald- und Wiesenprovidern laufen, da es dort meist nur PHP und MySQL gibt. OTRS z.B. benötigt Perl, andere Systeme benötigen Ruby. Auf der Suche nach einem System welches auf einem solchen LAMP System läuft, habe ich osTicket gefunden. Dabei handelt es sich um ein freies Ticketsystem unter GPL. Problematisch sehe ich bloß das letzte Release welches im Jahr 2010 aufgelegt wurden. Das System selbst ist unter http://osticket.com zu finden. Derzeit scheint es leider kein halbwegs aktuelles Open Source Ticketsystem (welches unter PHP und MySQL läuft) zu geben.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Open_Ticket_Request_System
http://en.wikipedia.org/wiki/Comparison_of_ticket-tracking_systems

Piwik in die MediaWiki integrieren

Um Piwik in die MediaWiki zu integrieren gibt es eine Extension die auf den „Piwik Integration“ hört. Das Problem dieser Extension ist das sie seit 2009 nicht mehr weiterentwickelt wurde. Bedingt dadurch funktioniert das ganze nicht mehr mit der aktuellen Media Wiki Version.

Abhilfe schafft hier die Extension „PCR GUI Inserts“ welche unter http://www.mediawiki.org/wiki/Extension:PCR_GUI_Inserts zu finden ist. Mit dieser Extension ist es möglich Code auf der MediaWiki einzubinden. Im Gegensatz zu anderen Verfahren, wie z.B. dem direkten editieren der Templatedateien funktioniert diese Lösung auch nach einem Update der MediaWiki Version weiter.

Für die Installation muss man dabei folgende Schritte befolgen:

  • Extension herunterladen
  • den entpackten Ordner in den „extensions“ Ordner der MediaWiki hochladen
  • die „LocalSettings.php“ bearbeiten

Bei der Bearbeitung der „LocalSettings.php“ muss nur die Zeile:

require_once( "$IP/extensions/PCRGUIInserts/pcr_guii.php" );

an das Ende der Datei angefügt werden. Danach ist die „PCR GUI Inserts“ Erweiterung aktiv. Nun muss nur noch der Piwik Tracking Code eingebaut werden. Dazu gibt es in der entsprechenden Wiki ein schönes Beispiel:

$wgPCRguii_Inserts['SkinAfterBottomScripts']['on'] = true;
$wgPCRguii_Inserts['SkinAfterBottomScripts']['content'] = '<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwik.example.com/" : "http://piwik.example.com/");
document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\' type=\'text/javascript\'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://piwik.example.com/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>';

Diese Zeilen werden dabei auch in die „LocalSettings.php“ geschrieben. Natürlich müssen die entsprechenden Domainnamen angepasst werden, sowie die passende Nummer für die zu trackende Webseite benutzt werden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Piwik
http://de.wikipedia.org/wiki/MediaWiki