'; echo ''; if ($update) { echo ''; } // text in one row echo '
'; echo '
', "\n"; // all other fields in secondary row echo '
'; echo '
'; echo '
', "\n"; echo '
'; echo '
', "\n"; echo '
'; echo '
', "\n"; echo '
'; // finish row // buttons echo ''; echo ' '; echo ' Cancel'; echo "\n"; } // ========== ACTIONS START =================================================== switch ($submit = form_get_action()) { case NULL: break; case 'add': $v = -2; $action = ACT_EDIT; break; case 'view': $action = ACT_VIEW; break; case 'edit': $action = ACT_EDIT; break; case 'del': $action = ACT_DELETE; break; case 'insert': $p[':ddid'] = gpc_get_int($_POST, 'id'); $sth = $pdo->prepare("SELECT MAX(ddval)+1 FROM dropdown WHERE ddid=?"); $sth->execute([$p[':ddid']]); $p[':ddval'] = $sth->fetchColumn() ?? 1; $p[':ddtext'] = gpc_get_string($_POST, 'ddtext'); $p[':ddshort'] = gpc_get_string($_POST, 'ddshort'); $p[':color'] = gpc_get_color($_POST, 'color'); $p[':sort'] = gpc_get_string($_POST, 'sort'); db_exec_insert('dropdown', $p); $action = ACT_EDIT; break; case 'update': $p[':ddtext'] = gpc_get_string($_POST, 'ddtext'); $p[':ddshort'] = gpc_get_string($_POST, 'ddshort'); $p[':color'] = gpc_get_color($_POST, 'color'); $p[':sort'] = gpc_get_string($_POST, 'sort'); $fields = join(',', array_map(function($s) { return ltrim($s, ':') . '=' . $s; }, array_keys($p))); $sth = $pdo->prepare("UPDATE dropdown SET $fields WHERE ddid=:ddid AND ddval=:ddval"); $p[':ddid'] = gpc_get_int($_POST, 'id'); $p[':ddval'] = gpc_get_int($_POST, 'v'); try { $sth->execute($p); } catch (PDOexception $e) { $g_error->Add('SQL-Error: '. $e->getMessage()); } unset($v); $action = ACT_EDIT; break; case 'delete': // only deletable if not used anywhere! // equipment.? if ($v <= 0) { $g_warning->Add(_('Selection lists are not deletable!')); } $g_message->Add(_('Delete not yet implemented')); break; default: $g_error->Add(sprintf(_('Unknown function!'), $submit)); $valid = FALSE; } // ========== ACTIONS END ===================================================== require 'header.php'; // ========== PAGE CONTENT ==================================================== if ($action == ACT_DEFAULT): // ========== VARIANT: default behavior ======================================= // record counts $num = array(); $sql = "SELECT ddid, COUNT(*) AS n FROM dropdown WHERE ddid>0 GROUP BY ddid"; $sth = $pdo->query($sql); foreach ($sth->fetchAll(PDO::FETCH_NUM) as $row) { $num[$row[0]] = $row[1]; } $sql = "SELECT ddval, ddtext FROM dropdown WHERE ddid=0 AND ddval>0"; $sth = $pdo->query($sql); echo "

$pagetitle

\n"; echo '

', _('Danger! Only adjust if it is clear what impact this will have!'), "
\n"; //

Achtung! Nur anpassen wenn klar ist was das für Auswirkungen hat!

echo _('Adding values is usually not critical.'), "

\n"; //

Hinzufügen von Werten ist in der Regel unkritisch.

echo '', "\n"; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($sth->fetchAll() as $row) { echo ''; echo ''; echo ''; // form_action_buttons($g_scriptname, $row['ddval']); echo "\n"; echo "\n"; } echo "
#', _('Description'),'', _('Number'),'
', $row['ddval']; echo ''; echo '', $row['ddtext'], '', $num[$row['ddval']] ?? 0, '"; echo ''; echo "
\n"; elseif ($action == ACT_VIEW): // ========== VARIANT: view single record ===================================== $sth = $pdo->prepare("SELECT ddtext FROM dropdown WHERE ddid=0 AND ddval=?"); $sth->execute([$id]); $listname = $sth->fetchColumn(); echo '

', sprintf(_('View List: %s'), $listname), "

\n"; $sql = "SELECT ddval, ddtext, ddshort, color, sort, flags FROM dropdown WHERE ddid=?"; $sth = $pdo->prepare($sql); $sth->execute([$id]); echo ''; echo "\n"; echo "\n"; echo ''; echo '"; echo '"; echo '"; echo '"; echo '"; echo "\n"; echo "\n"; $i = 0; foreach ($sth->fetchAll() as $row) { $i++; $flags = explode(',', $row['flags']); $fixed = in_array('fixed', $flags); echo ''; echo ''; echo ''; echo ''; if ($row['color']) { echo ''; } else { echo ''; } echo ''; echo ''; echo "\n"; } table_rec_summary(1, $i, $i, 6); echo "
#', _('Name'), "', _('Short'), "', _('Color'), "', _('Sort'), "', _('Flags'), "
', $row['ddval'],'', $row['ddtext'], '', $row['ddshort'], '', format_color($row['color']), '', $row['sort'], '', ($fixed ? '' : ''), '
\n"; echo '', _('Back'), "\n"; elseif ($action == ACT_EDIT): // ========== VARIANT: edit single record ===================================== $sth = $pdo->prepare("SELECT ddtext FROM dropdown WHERE ddid=0 AND ddval=?"); $sth->execute([$id]); $listname = $sth->fetchColumn(); echo '

', sprintf(_('Edit List: %s'), $listname), "

\n"; $sql = "SELECT ddval, ddtext, ddshort, color, sort FROM dropdown WHERE ddid=?"; $sth = $pdo->prepare($sql); $sth->execute([$id]); echo ''; echo "\n"; echo "\n"; echo ''; echo '"; echo '"; echo '"; echo '"; echo "\n"; echo "\n"; echo "\n"; $i = 0; foreach ($sth->fetchAll() as $row) { $i++; echo ''; if ($row['ddval'] == $v) { echo ''; echo ''; echo "\n"; } else { echo ''; echo ''; echo ''; echo ''; echo ''; // Action links echo '', "\n"; // TODO extend function to accept additional parameters // form_action_buttons($g_scriptname, $row['ddid']; } echo "\n"; } if ($v == -2) { echo ''; echo ''; echo ''; echo "\n"; echo ""; } table_rec_summary(1, $i, $i, 6); echo "
#', _('Name'), "', _('Short'), "', _('Color'), "', _('Sort'), "
', $row['ddval'], ''; create_ddval_form($g_scriptname, $id, 'update', $row); echo '', $row['ddval'],'', $row['ddtext'], '', $row['ddshort'], '', format_color($row['color']), '', $row['sort'], ''; echo ''; echo ' '; echo ''; echo '
(+)'; create_ddval_form($g_scriptname, $id, 'insert'); echo '
\n"; echo '', _('Add'), "\n"; echo '', _('Back'), "\n"; else: // ========== ERROR UNKNOWN VARIANT =========================================== echo '

', _('Unknown function call: Please report to system development!'), "

\n"; endif; // $action == ... // ========== END OF VARIANTS ================================================= include 'footer.php';