Location: PHPKode > projects > Boardnukers VKP Aka TIS > htdocs/modules.php
<?php
/**
 * Boardnukers VKP
 *
 * LIZENZ
 *
 * Dieses Programm ist freie Software; Sie können sie beliebig verteilen
 * und/oder Änderungen vornehmen, solange Sie dieses unter den
 * Lizenzbedingungen der Version 2 oder höher der GNU General Public
 * License (GPL), veröffentlicht von der Free Software Foundation tun.
 *
 * Dieses Programm wurde in der Hoffnung erstellt, dass es für Sie
 * nützlich sein könnte. Es wird jedoch ohne jeden Anspruch auf
 * Gewährleistung veröffentlicht. Sie können auch nicht davon ausgehen,
 * dass das Programm Dinge verrichtet, wie es erwartet wird.
 *
 * Lesen Sie die Lizenzbedinguneg unter der URL
 * http://www.gnu.org/copyleft/gpl.html für weitere Details.
 *
 * @author Hinrich Donner
 * @author F. Bruzi
 * @version $Revision: 1.6 $
 * @since 5.5.1
 * @package TIS
 * @subpackage System
 * @category Boot
 * @link http://developer.berlios.de/projects/phpnukevkp/
 */

require_once 'mainfile.php';

/**
 * vkpModulLoaderNoFile
 *
 * Diese Funktion gibt den Fehler aus, dass die Datei nicht gefunden wurde.
 *
 * @author Hinrich Donner
 * @version 0.1
 * @since 5.5.1
 */
function vkpModulLoaderNoFile()
{
    require_once VKP_INCLUDE_DIR . '/vkphtml.php';

    global $index, $pagetitle;

    $index      = 1;
    $pagetitle  .= '- ' . _MODULE_LOADER_NO_FILE_TITLE;

    include 'header.php';
    title(_MODULE_LOADER_ERROR);

    OpenTable();
    echo vkpHtmlSpan(_MODULE_LOADER_INTRO
                     . vkpHtmlLf(2)
                     . _MODULE_LOADER_NO_FILE);
    CloseTable();
    include 'footer.php';
    exit;
}

/**
 * vkpModulLoaderNoAccess
 *
 * Diese Funktion gibt die Fehlermeldung bei einem unerlaubten Zugriff aus.
 *
 * @author Hinrich Donner
 * @version 0.1
 * @since 5.5.1
 */
function vkpModulLoaderNoAccess()
{
    require_once VKP_INCLUDE_DIR . '/vkphtml.php';

    global $index, $pagetitle;

    $index      = 1;
    $pagetitle  .= '- ' . _MODULE_LOADER_NO_ACCESS_TITLE;

    include 'header.php';
    title(_MODULE_LOADER_ERROR);

    OpenTable();
    echo vkpHtmlSpan(_MODULE_LOADER_INTRO
                     . vkpHtmlLf(2)
                     . _MODULE_LOADER_NO_ACCESS);
    CloseTable();
    include 'footer.php';
    exit;
}

// Eigene Variablen initialisieren
//
$system =& vkpSystem::GetInstance();
extract($system->request_vars->GetArray(array('name', 'file', 'mop')));

// Wenn die Datei ohne Modulnamen aufgerufen wurde, dann verzweigen wir auf das
// Default-Modul
//
if (empty($name))
{
    $module =& $system->modules->GetMain();
    $home = 1;
}
else
{
    if (false === ($module =& $system->modules->GetByTitle($name)))
    {
        $system->status_messages->AddError(_MODULE_LOADER_NO_FILE);
        $system->log->AddNormal(sprintf('Invalid module request: %s; IP: %s',
                                        $name,
                                        $_SERVER['REMOTE_ADDR']));
        $module =& $system->modules->GetMain();
    }
}
// Namen überschreiben
//
$name = $module->title;

// Den Dateinamen initialisieren, falls keiner übergeben wurde.
//
if (empty($file))
{
    $file       = 'index';
    $filename   = $module->GetMainFilename();
}
else
{
    $filename   = $module->GetFilename($file);
}

// Modul operation initialisieren
//
if (empty($mop))
    $mop = 'modload';

// Fehlende oder nicht aktive Module (wenn nicht Administrator) führen zu einer
// "Datei-Nicht-Gefunden"-Fehlermeldung.
//
if (!file_exists($filename))
    vkpModulLoaderNoFile();

// Zugangsberechtigung des Benutzers prüfen
//
if (!($system->admin->LoggedIn()
            || ($system->user->LoggedIn() && $module->active && ($module->view < 2))
            || (!$system->user->LoggedIn() && $module->active && ($module->view == 0))))
    vkpModuleLoaderNoAccess();

// Noch einige globale Variablen simulieren
//
extract($system->config->VarGetAll());
$PHP_SELF = 'modules.php';

// Und das Modul laufen lassen
//
include $filename;

// $Log: modules.php,v $
// Revision 1.6  2004/07/13 11:51:34  hdonner
// - Fix: Auch Admins können fehlende Module nicht laden
//
// Revision 1.5  2004/07/01 13:33:34  hdonner
// - Header angepasst
//
// Revision 1.4  2004/04/19 15:45:00  hdonner
// - Fix: Loader
//
// Revision 1.3  2004/04/19 08:00:24  hdonner
// - Auf vkpSystem umgestellt
//
// Revision 1.2  2004/04/12 18:40:42  hdonner
// - Move from BerliOS
//
// Revision 1.3  2004/01/24 13:38:54  hdonner
// - Änderungen aus dem BETA-Zweig
//
// Revision 1.2.2.1  2004/01/11 18:34:16  hdonner
// - Fehler bei der Extension der Dateinamen
//
// Revision 1.2  2003/12/17 17:36:42  hdonner
// - Anpassung auf die Klassen
//
//
?>
Return current item: Boardnukers VKP Aka TIS