Man soll ja nicht sagen können, ich horte nur und veröffentliche nie was
Dieses mal hab ich die
showform-Funktion erweitert und eine komplette Klasse geschaffen. Die Klasse hat einiges mehr drauf als die Funktion, im folgenden werden noch die Features aufgezählt.
Der Nachteil: Das ganze
ist in der Rohfassung erst ab PHP5 lauffähig.
Features
- Übernimmt das Layout als Array und nicht als String. Vorteile liegen auf der Hand (, nervt nicht mehr im Text...)
- Standardwerte möglich!
- Verschiedenste Layoutformen für das Setting möglich, darunter:
- text
- Begrenzer Text
- Reine Textausgabe
- Integer (Kleineres Textfeld)
- Passwort
- Ja/Nein
- Enum
- Set (bzw Multiplichoice, im select-Look oder mit Checkboxen)
- textarea
- Range
In Aktion:
[php]<?php
Require 'erdev/lib/
showform.class.php';
$form = array(
'Textfelder',
'text1' => array(
'Ein normaler Text',
'text'
),
'text2' => array(
'Text mit Standardwert',
'text',
'default' => 'Wert'
),
'text3' => array(
'Ein in der länge begrenzer Text',
'limitedtext',
10 # Nicht mehr als 10 Zeichen, funktioniert nicht in allen Browsern
),
'text4' => array(
'Passwortzeile',
'password',
),
'text5' => array(
'"Versteckte" Zeile, bzw "viewonly"',
'hidden',
'default' => 'Du kannst mich nich bearbeiten!!!'
),
'int' => array(
'Ein für Zahlen angepasstest Feld',
'int',
),
'textarea' => array(
'Ein Feld für grosse Eingaben',
'textarea',
30, #cols
5, #rows
),
'Weiteres',
'bool' => array(
'Ja oder Nein?',
'bool',
# Mit "default" => 1 kann Standard auf "JA" gestellt werden
),
'enum' => array(
'Dein Lieblingskanton',
'enum',
array(
0 => 'Basel',
1 => 'Genf',
2 => 'Bern',
3 => 'Schwyz',
),
# AUch hier kann mit "default" => $key die Standardantwort geändert werden
),
'enum2' => array(
'Mein Lieblingskanton',
'hiddenenum',
array(
0 => 'Basel',
1 => 'Genf',
2 => 'Bern',
3 => 'Schwyz',
),
'default' => 0,
),
'set' => array(
'Deine Fàhigkeiten',
'set',
array(
0 => 'Schwert',
1 => 'Axt',
2 => 'Keule',
),
# Als vierten Parameter kann man die Grösse des Selectfeldes bestimmen (Anzahl der Sichtbaren Einträge), Standard 3
),
'set2' => array(
'Deine Fähigkeiten, Teil 2',
'set',
array(
0 => 'Gebete',
1 => 'Elementarmagie',
2 => 'Gegensatzsmagie',
),
'checkbox' => true, # NImmt Checkboxen anstatt dem select-Feld
),
'Sonstiges',
'range1' => array(
'Ziffer zwischen 0 und 9',
'range',
0, # Start
9 # Ende
),
'range2' => array(
'Zahl zwischen 0 und 1000',
'range',
0, 1000
),
);
$
Showform = new
Showform('Einstellungen', $form, ($i = ($row = array())));
$
Showform->enableSave(); # Lässt man das Weg, dann lässt sich das FOrmuler nicht speichern (Kein Submit-Button)
echo ('<form action="ucp.php?q=guildprefs" method="post">');
echo $
Showform->getOut(); # Ausgabe, geht auch mit: unset($
Showform);
echo ('</form>');
?>[/php]