Skip to content

SMF nach UTF-8 konvertieren

Da ich mich in den letzten Tagen sehr ausgiebig mit dem Thema beschäftigt habe, gibt es mal einen kleinen Abriss, was zu tun ist, damit das Simple Machines Forum im neuen UTF-8 Gewand erstrahlt.
  • Dump der Datenbank erstellen

  • das SQL File öffnen und alle CHARSET=latin1 in CHARSET=utf8 ändern

  • das geänderte Dump File in die Datenbank importieren

  • anschließend im Forum als Admin einloggen und unter Wartungsbereich > Wartung des Forums > Konvertiert die Datenbank und die Daten zu UTF-8 durchführen

  • zum Schluss nur noch unter Konfiguration > Server-Einstellungen > die Standardsprache des Forums auf German-UTF8 stellen
Um eventuelle Probleme schon vorab aus dem Weg zu gehen, sollte man dies unabhängig von Produktivsystem durchführen und anschließend umstellen. Hier gibt es noch eine passende Readme zum Thema!

Simple Machines Forum - Login / Logout

Wer ein Simple Machines Forum betreibt und gerne auf einer externen Seite ein Login / Logout anbieten möchte, sollte sich mal den nachfolgenden Code anschauen! ;-)

<?
require("/<Pfad_zum_Forum>/forum/SSI.php");

$current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
?>

Hier noch ein kleines Beispiel, wie man die Login / Logout eingebettet im HTML Code verwenden könnte:
<? if ($context['user']['name'])
{
  ?><div align="center"><?ssi_logout($current_url);?></div><?
}
  else
{
  ssi_login2($current_url);
} ?>

1.1 Final erschienen

Es scheint wohl das große Release Wochenende gewesen zu sein! :-O

Am gestrigen Sonntag wurde die 1.1 Final zum Download freigegeben! Und nach den 4 Serendipity Updates, die im übrigen schon erledigt sind, noch ein Update!

Weitere Informationen im SMF Forum!

Captcha zum abgewöhnen

Seit dem letzten Update auf die neue Version 1.1 RC3 gibt es jetzt die Möglichkeit bei der Registrierung ein Captcha zu verwenden! Das ist mal ein Beispiel, wie man neben den ganzen Bots auch reelle User aussperren kann!


Fazit: Die Funktion wurde umgehend deaktiviert! ;-)

Benutzerberechtigungen anhand der Gruppe

Um eine bessere Kontrolle über Zugriffe auf bestimmte Inhalte zu erlangen, habe ich mich mal mit dem Thema beschäftigt!

Seither gab es nur 1 Methode, um die Zugriffe zu beschränken. Soll heißen, wer registriert war, hatte Zugriff auf sämtliche Inhalte von wetterling.org! Aber, das war einmal! :-P

Mit Hilfe der Benutzergruppe ist es nun möglich noch eine weitere Abstufung vorzunehmen! Folgende Anpassung muss erfolgen, um dies zu erreichen!

Zunächst einmal wird die ID der neuen Benutzergruppe benötigt. Entweder geht man per phpMyAdmin direkt auf die Datenbank oder wenn man die Benutzergruppe editiert, findet man in der Browserzeile ebenfalls die gewünschte ID (im Beispiel die 9)!

CODE:
?action=membergroups;sa=edit;group=9

Nun noch eine if Abfrage erstellen, um Informationen nur für Gruppenmitglieder zu zeigen!

<?
if (in_array(9, $user_info['groups']))
{
    echo 'Sie sind dabei!';
}
?>

Letzten aktiven Threads

Um im Simple Machines Forum (kurz SMF) die letzten aktiven Threads im oberen Bereich des Forums zu sehen, kann man sich der SSI Funktion des Boards bedienen! SSI bedeutet Server Side Include und ist eine Möglichkeit Inhalte des Forums in eine Webseite zu integrieren. Weiterhin bietet es die Möglichkeit Forum Statistiken, News, neueste Beiträge, usw. auf eine Homepage einzubinden.

Editieren von [Pfad zum Forum]/Themes/[Mein gewähltes Theme]/BoardIndex.template.php.

Suche nach folgenden Zeilen:

function template_main()
{
        global $context, $settings, $options, $txt, $scripturl, $modSettings;
 

und füge anschließend folgendes ein:

require("[Pfad zum Forum]/SSI.php");

// Letzten aktiven Threads - insert start
echo '
<br />
<div class="tborder"><table border="0" width="100%" cellspacing="1" cellpadding="4">
        <tr class="catbg">
                <td align="center" colspan="2">Letzte aktive Threads...</td>
        </tr>
        <tr>
                <td class="smalltext" colspan="2" align="center">'
, ssi_recentTopics(), '</td>
        </tr>
        </table>
</div>'
;
// Letzten aktiven Threads - insert end