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";
?>