Eigene Infusionen
Geschrieben von Silvermoon am 24. Mai 2009 15:04
In BS-Fusion ist es nicht mehr erforderlich, das Verzeichns der eigenen Infusion mit  infusionsname_panel zu definieren,
da BS-Fusion ein zusätzliches Verzeichnis panels hat, in welchem alle Paneldateien gespeichert werden können.
Der Dateiname für das Panelsverzeichnis hat die Syntax infusionsname_panel.php

Die Installationsdatei für Infusionen infusion.php:
<?php
############## Prüfung auf Direktaufruf der Datei ###################
if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }

#########  Einbindung der Sprachdatei der Infusion ##############
if (file_exists(INFUSIONS."infusionsname/locale/".LANGUAGE.".php")) {
    include INFUSIONS."infusionsname/locale/".LANGUAGE.".php";
} else {
    include INFUSIONS."infusionsname/locale/German.php";
}

########  Informationen der Infusion ##########

$inf_title = $locale['xxxxxx'];
$inf_description = $locale['xxxxxx'];
$inf_version = "1.0";
$inf_developer = "developer";
$inf_email = "developer email";
$inf_weburl = "developer homepage";
$inf_folder = "infusionsname";


########## Informationen bei Infusionen mit Adminbereich ##############

// Icon für den Adminlink, dieses Icon muss im Verzeichnis /administration/images/ liegen

$inf_admin_image = "infusion_panel.gif"; 

// Admindatei der Infusion

$inf_admin_panel = "infusionsadmin.php";

// Adminrechte für diese Infusion
/*
Möchte man nicht jedem Admin mit "IP" Zugriff auf dem Adminbereich der Infusion gestatten, dann gibt man hier ein eigenes Rechtekürzel an. Für das Recht sind maximal 4 Zeichen gestattet. Das Recht darf noch nicht existieren, da sonst die Infusion nicht korrekt Installiert wird. Bleibt diese Variable leer wird das "IP"-Recht genutzt
*/

$inf_admin_rights = "IP";

/*
Mit dieser Variable gibt man an welche Panels mitgeliefert werden.
Sollte man mal die Infusion deinstallieren, dann werden diese Panels aus der Paneldatenbank herausgelöscht, damit keine Fehlermeldungen entstehen.
*/

$inf_panels = array("infusionsname_panel","infusionsname_other_panel");

#########  Information zu den Seitenlinks ############

/**
Diese Variablen nur ausfüllen, wenn ein Seitenlink in das Navigationspanel eingefügt werden soll.
*/

$inf_link_name = "";             // Linkname
$inf_link_url = "";                   // Linkurl
$inf_link_visibility = "0";       // Für welchen Benutzerlevel sichtbar

########## Datenbankinformationen #################

$inf_newtables = 1;                   // Anzahl der neuen Tabellen
$inf_insertdbrows = 1;              // Anzahl der neuen Tabelleneinträge
$inf_altertables = 0;                   // Anzahl der Änderungen einer Tabelle
$inf_deldbrows = 0;                   // Anzahl der Löschung von Daten einer Tabelle

// Lösche Einträge, welche nicht benötigt werden

$inf_newtable_[1] = "tabellenname (
feld1 SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
feld2 TINYINT(5) UNSIGNED DEFAULT '1' NOT NULL,
feld3 VARCHAR(200) DEFAULT '' NOT NULL,
feld4 VARCHAR(50) DEFAULT '' NOT NULL,
PRIMARY KEY (feld1)
) TYPE=MyISAM;";

$inf_insertdbrow_[1] = "tabellenname (feld1, feld2, feld3, feld4) VALUES('', '', '', '')";

$inf_altertable_[1] = "tabellenname ADD etc";

$inf_deldbrow_[1] = "tabellenname WHERE-KLAUSEL";

// Löschung der Tabelle bei Deinstallation
$inf_droptable_[1] = "tabellenname";

//  tabellenname ohne dem DB_PREFIX angeben

?>
Neue Datei: dateiname.php
<?php
/*---------------------------------------------------------+
| BS-Fusion 1.00 - Content Management System
+----------------------------------------------------------+
| Copyright © 2009 Manuel Kurz
| http://www.bs-fusion.org/
+----------------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------------+
| Code based on PHP-Fusion
| http://www.php-fusion.co.uk/
+----------------------------------------------------------*/
require_once "../../maincore.php";

#########  Einbindung der Sprachdatei der Infusion ##############
if (file_exists(INFUSIONS."infusionsname/locale/".LANGUAGE.".php")) {
    include INFUSIONS."infusionsname/locale/".LANGUAGE.".php";
} else {
    include INFUSIONS."infusionsname/locale/German.php";
}

// Festlegung eines eigenen Browsertitels
$tpl->add_to_title('Neuer Titel");

// Subheaderdatei einbinden
require_once BASEDIR."subheader.php";

########### Linke Panels einbinden ###############
define("LEFT_OFF",false);                     
// true = Panels nicht anzeigen; false=Panels anzeigen
require_once BASEDIR."side_left.php";

##############  Hier beginnt dein Code ############

########### Rechte Panels einbinden ##############
define("RIGHT_OFF",false);
// true = Panels nicht anzeigen; false = Panels anzeigen
require_once BASEDIR."side_right.php";

############ Footerdatei einbinden ################
require_once BASEDIR."footer.php";
?>