13.3.2006 kl. 17:31

Jæja, ég er loksins búinn að klára kóðann til þess að vinna með modules í Mentat. Modules leyfa manni að spýta inn auka kóða í Mentat án þess að breyta Mentat forritinu sjálfur. Þetta gerir allt kerfið dýnamískara og auðveldara að viðhalda. Það er núna hlekkur undir Admin síðunni sem heitir Modules -- þar má slökkva og kveikja á einstökum modules, og bæta nýjum við.

Mentat Modules List

Svona fyrir þá fáu áhugasömu, þá skelli hér fyrir neðan smá kóða sem er dæmi um Mentat Module -- þetta er module-ið sem vísar öllum gestum með Internet Explorer á niðurhalssíðu fyrir Firefox.

#!/usr/bin/perl -w

use strict;
use vars qw(@ISA $VERSION $NAME);

### MODULE CONFIGURATION ###

my $VERSION = "1.0";
my $NAME = "InternetExplorerWarning";
my $DESCRIPTION = "Presents a warning if browser user agent is Internet Explorer";
my $MODULE_TYPE = "Global";
my @VARIABLES = ("WARNIE");

## These variables are set when module is inited ##
my $moddir;
my $program_version;
my %settings;

package InternetExplorerWarning;

sub new
{
    my $self = {};
    bless $self;
    return $self;
}

sub GetVar
{
    my $self = shift;
    my $varname = shift;
    my @args = @_;
    my $warning;
    
    my $ua = $ENV{'HTTP_USER_AGENT'};
    if ($ua =~ m/MSIE/ && $ua !~ m/Opera/)
    {
        $warning .= '<meta http-equiv=refresh content="0;';
        $warning .= 'url=http://www.sveinbjorn.org/html/iewarn.html">';
        return($warning);
    }
}

sub Init
{
    my $self = shift;
    ($moddir, $program_version, %settings) = @_; 
}

sub Name { return $NAME; }
sub Version { return $VERSION; }
sub Type { return $MODULE_TYPE; }
sub Description { return $DESCRIPTION; }
sub Variables { return(@VARIABLES); }
1;