<?php
+function discover_cmp($a, $b)
+{
+ return strcmp($a['id'],$b['id']);
+}
+
+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);
+
+ usort($info,discover_cmp);
+ 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',
+ 'fname' => array(
+ 'name' => 'Dateiname',
'width' => 100,
),
'name' => array(
'name' => 'Name',
'width' => 150,
+ 'sql' => 'sys_mask.name',
+ ),
+ 'menutitle' => array(
+ 'name' => 'Menüpunkt',
+ 'width' => 100,
+ ),
+ 'menu' => array(
+ 'name' => 'Menü',
+ 'sql' => 'sys_menu.name',
+ 'width' => 100,
),
'edit' => array(
'name' => 'Edit',
- 'width' => 15,
+ 'width' => 40,
+ 'specs' => "ClassName: 'aligncenter', canSort: false",
),
'priority' => array(
'name' => 'Priorität',
- 'width' => 30,
+ 'width' => 60,
'type' => 'number',
- 'specs' => "ClassName: 'alignright'",
+ 'specs' => "ClassName: 'alignright', canSort: false",
+ 'sql' => 'sys_mask.priority',
+ ),
+ ),
+ 'edit' => array(
+ 'fname' => array(
+ 'name' => 'Dateiname',
+ 'type' => 'select',
+ 'options' => discover_masks(),
+ 'options_string' => true,
),
- 'sys_user' => array(
+ 'name' => array(
+ 'name' => 'Name',
+ 'type' => 'text',
+ 'size' => 24,
+ ),
+ 'menutitle' => array(
+ 'name' => 'Menüpunkt',
+ 'type' => 'text',
+ 'size' => 24,
+ ),
+ 'title' => array(
+ 'name' => 'Beschreibung',
+ 'type' => 'text',
+ 'size' => 24,
+ 'null' => true,
+ ),
+ 'menu' => array(
+ 'name' => 'Menü',
+ 'type' => 'select',
+ 'options' => 'SELECT id,name AS text FROM sys_menu ORDER BY name',
+ ),
+ 'edit' => array(
'name' => 'Edit',
- 'width' => 50,
+ 'type' => 'boolean',
),
- 'sys_edit' => array(
- 'name' => 'Datum',
- 'width' => 80,
- 'type' => 'date',
+ 'priority' => array(
+ 'name' => 'Priorität',
+ 'type' => 'number',
+ 'size' => 10,
),
),
- 'rows' => 20,
);
?>