Step 6: Using Forms
But very exciting: forms can be used to show existing
data!

<?php
/* Load libraries. */ require_once MOPPLE_BASE . '/lib/base.php'; require_once MOPPLE_BASE . '/lib/MP3Form.php'; require_once MOPPLE_BASE . '/lib/Driver.php'; require_once 'Horde/Variables.php';
/* Initialize variables. */ $variables = &Variables::getDefaultVariables(); $id = $variables->get('id');
/* Load MP3 details. */ $driver = &Mopple_Driver::singleton($conf['storage']['driver']); $mp3 = $driver->get($id); if (is_a($mp3, 'PEAR_Error')) { $notification->push($mp3, 'horde.error'); header('Location: ' . Horde::applicationUrl('list.php', true)); exit; }
/* Fill form values. */ $title = $mp3['song_title']; foreach ($mp3 as $key => $value) { $variables->set($key, $value); }
/* Create form instance. */ $form = &new MP3_Form($variables, $title, false); $edit_url = Horde::applicationUrl('edit.php'); $edit_url = Util::addParameter($edit_url, array('id' => $mp3['song_id'])); $edit_link = Horde::link($edit_url, sprintf(_("Edit \"%s\""), $title), 'smallheader'); $form->setExtra($edit_link . _("Edit") . '</a>'); $renderer = &$form->getRenderer();
/* Output HTML. */ require MOPPLE_TEMPLATES . '/common-header.inc'; require MOPPLE_TEMPLATES . '/menu.inc'; $form->renderInactive($renderer, $variables); require $registry->get('templates', 'horde') . '/common-footer.inc';
?>
|