Articles with tag “php” (page 1 of 1):

Hübsche Daten mit PHP

On in “Devstuff” by Tblue2 comments
Tags: , ,

Falls jemand einmal in der Lage sein sollte, Daten in PHP “hübsch” (“Heute”, “Gestern”, “am 03.09.2006 um 13:30:42”) darzustellen zu müssen/wollen, habe ich für denjenigen den passenden PHP-Code.

<?php
// Für alle Fälle:
date_default_timezone_set('Europe/Berlin');

// Für deutsche Wochentagsabkürzungen, bei Bedarf entspr. abändern:
setlocale(LC_TIME, 'de_DE');

function nicedate($timestamp = NULL)
{
    if ($timestamp === NULL) {
        $timestamp = time();
    }

    if ($timestamp >= mktime(0, 0, 0) &&
        $timestamp <= mktime(23, 59, 59))
    {
        // Bei Bedarf Datumsformat abändern, siehe auch die anderen
        // zwei strftime()-Aufrufe.
        return strftime('Heute um %H:%M:%S', $timestamp);
    } elseif (
        $timestamp >= mktime(0, 0, 0, date('n'), date('j')-1) &&
        $timestamp <= mktime(23, 59, 59, date('n'), date('j')-1))
    {
        return strftime('Gestern um %H:%M:%S', $timestamp);
    } else {
        return strftime('%a, %d.%m.%y, %H:%M:%S', $timestamp);
    }
}

// Aktuelles Datum:
echo nicedate()."\n";

// Gestern:
echo nicedate(mktime(13, 30, 00, date('n'), date('j')-1))."\n";

// Damals...
echo nicedate(mktime(10, 45, 23, 3, 1, 1999))."\n";

// Beispiel der Konvertierung eines Strings in einen Timestamp,
// siehe auch: http://www.php.net/manual/en/function.strtotime.php
echo nicedate(strtotime('Fri, 18 Jul 2008 14:12:06 GMT'));
?>

Die Ausgabe sieht dann so aus:

Heute um 14:22:32
Gestern um 13:30:00
Mo, 01.03.99, 10:45:23
Gestern um 16:12:06

Vorratsdatenspeicherungs-Pagepeel: Plugin für b2evolution

On in “Devstuff” by Tblue1 comment
Tags: , , ,

Ich machs kurz: Ich habe mir ein b2evolution-Plugin geschrieben, das das Pagepeel des AK Vorratsdatenspeicherung einblendet. Es gibt ein paar Konfigurationseinstellungen, ich bin jetzt allerdings zu müde, das genauer zu erklären. Eine kleine Dokumentation zu den Einstellungen liegt bei.

Download (Version 1.0.2; getestet mit b2evolution 2.4.2, funktioniert evtl. auch mit früheren Versionen; veröffentlicht unter der GPL v2).

Installation: Zip-Archiv entpacken und den enthaltenen Ordner in das Verzeichnis plugins verschieben, im Backend Plugin aktivieren, Blog-IDs in den Plugin-Einstellungen eintragen, freuen. :) Kritik ist natürlich willkommen.

Patch für Phorum 5.2.7: User hinzufügen per ACP

On in “Devstuff” by Tblue
Tags: , , ,

Und noch ein Patch für Phorum. Diesmal fehlte mir die Möglichkeit, neue User direkt im Admin Control Panel hinzufügen zu können und nicht immer den Umweg über das öffentliche Registrierungsformular nehmen zu müssen.

Der Patch besteht aus der Datei useradd.php, die in den Ordner /include/admin gehört und einem Patch, der einen Link (Users/Groups -> Add Users) im ACP-Menü hinzufügt.

Der Patch ist so winzig, dass man ihn per Hand einpflegen kann (eine Zeile). Dazu öffnet man /include/admin/header.php und fügt nach Zeile 460 folgende Zeile ein:

$menu->add('Add Users', 'useradd', 'Allows administrator to add new users.');

Alternativ kann man natürlich auch das Programm patch und das Patchfile (siehe unten) verwenden. Der Befehl patch -p1 < pfad/zur/patchdatei.patch muss im Phorum-Basisverzeichnis ausgeführt werden. So, wie der Befehl hier gezeigt wird, funktioniert er mit (fast?) allen Unix/Linux-Shells.

Downloads:

Auch hier gilt: Ich hafte nicht für etwaige Schäden, die durch diesen Patch entstehen, die Verwendung erfolgt auf eigene Gefahr. Es besteht kein Anspruch auf Funktionstüchtigkeit.

Ansonsten wünsche ich aber viel Vergnügen ;) und ermuntere zu Kritik.

Patch für Phorum 5.2.7: Registrierung deaktivieren

On in “Devstuff” by Tblue
Tags: , , ,

Note

The English version of this post can be found on the Phorum.org support forums. Click here for the post in the “Modules” forum.

Hinweis

Diesen Patch gibt es auch als Modul, siehe Ende des Beitrages.

Der Titel sagt es eigentlich schon. Vor kurzem habe ich mir Phorum 5.2.7 installiert und es als gut befunden. ;) Das einzige, was ich vermisste, war die Möglichkeit, die Registrierung zu deaktivieren. Also habe ich das schnell nachgerüstet.

Mein Patch fügt im Admin-Bereich in den General Settings im Abschnitt User Settings eine Option Enable registration hinzu. Auf No gesetzt bewirkt die Option, dass User beim Versuch, sich zu registrieren, eine Fehlermeldung bekommen. Das Bestätigen eines Accounts ist immer noch möglich und wird vom Patch nicht beeinflusst.

Außerdem wird die Template-Variable RegEnabled gesetzt, so dass man etwaige Links zur Registrierungsseite leicht ausblenden kann.

Auch wird eine neue Sprach-Variable RegDisabled verwendet, die die entsprechende Meldung enthalten sollte (falls die Variable nicht gesetzt ist, wird die englische Meldung angezeigt).

Die drei Standardtemplates von Phorum, die englische Sprachdatei sowie die deutschen Sprachdateien von Oliver Riesen habe ich bereits angepasst.

Download des Patches für Phorum 5.2.7. Wie immer gilt auch hier: Ich hafte nicht für etwaige Schäden, die durch diesen Patch entstehen, die Verwendung erfolgt auf eigene Gefahr. Es gibt keinen Anspruch auf Funktionstüchtigkeit.

Der Patch wird (jedenfalls unter Linux) mit dem Befehl patch angewendet. Das Programm patch ist meistens vorinstalliert oder kann mit Hilfe des Paketmanagers nachinstalliert werden.

Der Befehl muss im Basisverzeichnis von Phorum ausgeführt werden (das Verzeichnis enthält z. B. die Dateien register.php und common.php):

patch -p1 < pfad-zum-patchfile.patch

Damit ist der Patch angewandt. Viel Spaß damit, Kritik bitte hier in den Kommentaren posten.

Update

Module sind immer besser als Patches.

Deshalb gibt es hier nun auch ein Modul (nur lauffähig mit Phorum >= 5.2.7). Aktiviert deaktiviert es die Registrierung und definiert die Template-Variable RegDisabled, so dass Links zu register.php und das Registrierungsformular einfach ausgeblendet werden können.

Für das Modul gilt das gleiche wie für den Patch: Ich hafte nicht für etwaige Schäden, die durch diesen Patch entstehen, die Verwendung erfolgt auf eigene Gefahr. Es gibt keinen Anspruch auf Funktionstüchtigkeit.

Saubere b2evolution-URLs mit lighttpd

On in “Software” by Tblue4 comments
Tags: , ,

Steht wahrscheinlich schon oft irgendwo im Internet, aber da ich erst nach ein paar Tagen auf die Lösung gekommen bin:

server.error-handler-404 = "/index.php"

Diese Konfigurationsoption tut das gleiche wie die folgenden Anweisungen für die .htaccess-Datei von Apache (aus der sample.htaccess von b2evo):

RewriteEngine On
RewriteCond %{REQUEST\_FILENAME} !-d
RewriteCond %{REQUEST\_FILENAME} !-f
RewriteRule ^ index.php

Es werden einfach alle Anfragen, die normalerweise einen 404er-Fehler auslösen würden, auf die index.php weitergeleitet, die dann den Request-URI auswertet.

b2evolution: Widget visibility hack (English)

On in “Devstuff” by Tblue1 comment
Tags: , , , ,

Note

The patch for b2evolution 2.4.2 can be found in the b2evolution forums.

I’m new to b2evolution and have just migrated another blog from Wordpress to b2evo. Since I’ve closed my old blog at tblue.de (I wanted to start blogging from scratch and the server was really slow, too) I decided to set up a new blog based on b2evo.

Now I’ve read this thread in the b2evo support forums. I was bored so I tried to implement the requested feature (toggle the visibility of a single widget). Of course I had to mess around with the b2evo code (no, the code is great, but I had to understand the relations etc.) but finally I managed it to write this little hack. Maybe the code I’ve written isn’t perfect, so please give me feedback… I also think the icon I used isn’t the right one (it’s the icon for enabling/disabling plugins), could someone offer me a better one? :)

Notes:

  • This hack was tested only by me so far - so don’t be surprised if something does not work as expected.
  • It was tested with b2evolution 2.4.1.
  • Legal stuff: This hack has no warranty for correct operation. I’m not responsible for any damage that can occur due to the use of this hack.

OK, here are the install instructions:

  • Make a backup of your b2evo files and the database.

  • Download the patch file (for b2evo 2.4.1) and patch your files. The patch command has to be executed in the b2evolution root directory (the directory which holds the folders inc, conf etc.). The command you would use under Linux is:

    patch -p1 < path/to/the/patch-file
    
  • Execute the following SQL command in your b2evo database (you can use a tool like PHPMyAdmin to do this):

    ALTER TABLE `evo_widget`
    ADD `wi_show` BOOL NOT NULL DEFAULT '1'
    COMMENT 'visibility hack' AFTER `wi_order`;
    
  • Try the hack and report problems! You can use the comment function of this blog to do that. ;)

Have fun.

P. S.: If my English isn’t the best I’m sorry - I’m not a native English speaker.