<?php
+function discover_masks()
+{
+ $info = array();
+
+ if (($d = opendir($_SESSION['sys']['basedir'].'masks')) === false)
+ return $info;
+
+ while (($file = readdir($d)) !== false)
+ if (substr($file,-4) == '.php') {
+ $fname = substr($file,0,-4);
+ $info[] = array('id' => $fname, 'text' => $fname);
+ }
+ closedir($d);
+
+ return $info;
+}
+
$mask = array(
'table' => 'sys_mask',
+ 'title' => 'Liste der Menüpunkte',
+ 'join' => array('sys_menu ON sys_mask.menu = sys_menu.id'),
'list' => array(
'id' => array(
'name' => 'ID',
'visible' => false,
+ 'sql' => 'sys_mask.id',
),
'mask' => array(
- 'name' => 'Maske',
+ 'name' => 'Dateiname',
'width' => 100,
),
- 'name' => array(
- 'name' => 'Name',
+ 'title' => array(
+ 'name' => 'Beschreibung',
'width' => 150,
),
+ 'menutitle' => array(
+ 'name' => 'Menüpunkt',
+ 'width' => 120,
+ ),
+ 'menu' => array(
+ 'name' => 'Menü',
+ 'sql' => 'sys_menu.name',
+ 'width' => 100,
+ ),
'edit' => array(
'name' => 'Edit',
- 'width' => 15,
+ 'width' => 20,
+ 'specs' => "ClassName: 'aligncenter'",
),
'priority' => array(
'name' => 'Priorität',
- 'width' => 25,
+ 'width' => 30,
'type' => 'number',
'specs' => "ClassName: 'alignright'",
+ 'sql' => 'sys_mask.priority',
),
'sys_user' => array(
'name' => 'Edit',
'width' => 50,
+ 'visible' => false,
+ 'sql' => 'sys_mask.sys_user',
),
'sys_edit' => array(
'name' => 'Datum',
'width' => 80,
'type' => 'date',
+ 'visible' => false,
+ 'sql' => 'sys_mask.sys_edit',
),
),
'rows' => 20,
+ 'edit' => array(
+ 'mask' => array(
+ 'name' => 'Dateiname',
+ 'type' => 'select',
+ 'options' => discover_masks(),
+ 'size' => 30,
+ ),
+ 'title' => array(
+ 'name' => 'Beschreibung',
+ 'type' => 'text',
+ 'size' => 40,
+ ),
+ 'menutitle' => array(
+ 'name' => 'Menüpunkt',
+ 'type' => 'text',
+ 'size' => 40,
+ ),
+ 'menu' => array(
+ 'name' => 'Menü',
+ 'type' => 'select',
+ 'options' => 'SELECT id,name AS text FROM sys_menu ORDER BY name',
+ 'size' => 10,
+ ),
+ 'edit' => array(
+ 'name' => 'Edit',
+ 'type' => 'boolean',
+ 'size' => 10,
+ ),
+ 'priority' => array(
+ 'name' => 'Priorität',
+ 'type' => 'number',
+ 'size' => 10,
+ ),
+ ),
);
?>