本文整理汇总了PHP中Horde_Form::addVariable方法的典型用法代码示例。如果您正苦于以下问题:PHP Horde_Form::addVariable方法的具体用法?PHP Horde_Form::addVariable怎么用?PHP Horde_Form::addVariable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Horde_Form
的用法示例。
在下文中一共展示了Horde_Form::addVariable方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: prepareImportForm
function prepareImportForm($p_variables, &$p_statement_file_variable)
{
$v_form = new Horde_Form($p_variables, 'Import Statement', 'import_statement');
$p_statement_file_variable = $v_form->addVariable('Statement File (CSV)', 'statement_file', 'file', TRUE);
$v_file_description = '<p>The file must conform to the CSV standard and contain only ' . 'printable, UTF-8 characters.</p>' . '<p>Fields are:</p>' . '<ul><li>Item ID (unique)</li><li>Account Name</li>' . '<li>Item Type (O: opening balance, E: event, C: closing balance)</li>' . '<li>Description</li><li>Amount</li></ul>';
$v_file_description_variable = $v_form->addVariable('', 'description', 'html', FALSE, TRUE);
$v_file_description_variable->setDefault($v_file_description);
$v_form->setButtons('import');
return $v_form;
}
示例2: setupDeleteForm
/**
* Create a permission deleting form.
*
* @param Horde_Perms_Permission $permission A permissions object.
*/
public function setupDeleteForm($permission)
{
/* Initialise form if required. */
$this->_formInit();
$this->_form->setTitle(sprintf(Horde_Core_Translation::t("Delete permissions for \"%s\""), $this->_corePerms->getTitle($permission->getName())));
$this->_form->setButtons(array(array('class' => 'horde-delete', 'value' => Horde_Core_Translation::t("Delete")), array('class' => 'horde-cancel', 'value' => Horde_Core_Translation::t("Do not delete"))));
$this->_form->addHidden('', 'perm_id', 'text', false);
$this->_form->addVariable(sprintf(Horde_Core_Translation::t("Delete permissions for \"%s\" and any sub-permissions?"), $this->_corePerms->getTitle($permission->getName())), 'prompt', 'description', false);
}
示例3: run
/**
* Expects:
* $vars
* $registry
* $notification
*/
public function run()
{
extract($this->_params, EXTR_REFS);
/* Set up the form variables and the form. */
$form_submit = $vars->get('submitbutton');
$channel_id = $vars->get('channel_id');
try {
$channel = $GLOBALS['injector']->getInstance('Jonah_Driver')->getChannel($channel_id);
} catch (Exception $e) {
Horde::log($e, 'ERR');
$notification->push(_("Invalid channel specified for deletion."), 'horde.message');
Horde::url('channels')->redirect();
exit;
}
/* If not yet submitted set up the form vars from the fetched channel. */
if (empty($form_submit)) {
$vars = new Horde_Variables($channel);
}
/* Check permissions and deny if not allowed. */
if (!Jonah::checkPermissions(Jonah::typeToPermName($channel['channel_type']), Horde_Perms::DELETE, $channel_id)) {
$notification->push(_("You are not authorised for this action."), 'horde.warning');
throw new Horde_Exception_AuthenticationFailure();
}
$title = sprintf(_("Delete News Channel \"%s\"?"), $vars->get('channel_name'));
$form = new Horde_Form($vars, $title);
$form->setButtons(array(_("Delete"), _("Do not delete")));
$form->addHidden('', 'channel_id', 'int', true, true);
$msg = _("Really delete this News Channel? All stories created in this channel will be lost!");
$form->addVariable($msg, 'confirm', 'description', false);
if ($form_submit == _("Delete")) {
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
try {
$delete = $GLOBALS['injector']->getInstance('Jonah_Driver')->deleteChannel($info);
$notification->push(_("The channel has been deleted."), 'horde.success');
Horde::url('channels')->redirect();
exit;
} catch (Exception $e) {
$notification->push(sprintf(_("There was an error deleting the channel: %s"), $e->getMessage()), 'horde.error');
}
}
} elseif (!empty($form_submit)) {
$notification->push(_("Channel has not been deleted."), 'horde.message');
Horde::url('channels')->redirect();
exit;
}
$GLOBALS['page_output']->header(array('title' => $title));
$notification->notify(array('listeners' => 'status'));
$form->renderActive(null, $vars, Horde::selfUrl(), 'post');
$GLOBALS['page_output']->footer();
}
示例4: display
/**
* Display form
*
* @param integer $form_id Form id dispaly
* @param string $target_url Target url to link form to
*/
public function display($form_id, $target_url = null)
{
/* Get the stored form information from the backend. */
try {
$form_info = $GLOBALS['injector']->getInstance('Ulaform_Factory_Driver')->create()->getForm($form_id, Horde_Perms::READ);
} catch (Horde_Exception $e) {
throw new Ulaform_Exception($e->getMessage());
}
if (!empty($form_info['form_params']['language'])) {
Horde_Nls::setLanguageEnvironment($form_info['form_params']['language']);
}
$vars = Horde_Variables::getDefaultVariables();
$vars->set('form_id', $form_id);
$form = new Horde_Form($vars);
$form->addHidden('', 'form_id', 'int', false);
$form->addHidden('', 'user_uid', 'text', false);
$form->addHidden('', 'email', 'email', false);
$vars->set('user_uid', $GLOBALS['registry']->getAuth());
$vars->set('email', $GLOBALS['prefs']->getValue('from_addr'));
try {
$fields = $GLOBALS['injector']->getInstance('Ulaform_Factory_Driver')->create()->getFields($form_id);
} catch (Ulaform_Exception $e) {
throw new Ulaform_Exception($e->getMessage());
}
foreach ($fields as $field) {
/* In case of these types get array from stringlist. */
if ($field['field_type'] == 'link' || $field['field_type'] == 'enum' || $field['field_type'] == 'multienum' || $field['field_type'] == 'mlenum' || $field['field_type'] == 'radio' || $field['field_type'] == 'set' || $field['field_type'] == 'sorter') {
$field['field_params']['values'] = Ulaform::getStringlistArray($field['field_params']['values']);
}
/* Setup the field with all the parameters. */
$form->addVariable($field['field_label'], $field['field_name'], $field['field_type'], $field['field_required'], $field['field_readonly'], $field['field_desc'], $field['field_params']);
}
/* Check if submitted and validate. */
$result = array('title' => $form_info['form_name']);
if ($form->validate()) {
$form->getInfo(null, $info);
try {
$GLOBALS['ulaform_driver']->submitForm($info);
return true;
} catch (Horde_Exception $e) {
throw new Ulaform_Exception(sprintf(_("Error submitting form. %s."), $e->getMessage()));
}
}
if (is_null($target_url)) {
$target_url = Horde::selfUrl(true);
}
Horde::startBuffer();
$form->renderActive(null, null, $target_url, 'post', 'multipart/form-data');
return array('title' => $form_info['form_name'], 'form' => Horde::endBuffer());
}
示例5: _content
protected function _content()
{
$vars = Horde_Variables::getDefaultVariables();
$formname = $vars->get('formname');
$done = false;
$form = new Horde_Form($vars);
$fields = $GLOBALS['injector']->getInstance('Ulaform_Factory_Driver')->create()->getFields($this->_params['form_id']);
foreach ($fields as $field) {
/* In case of these types get array from stringlist. */
if ($field['field_type'] == 'link' || $field['field_type'] == 'enum' || $field['field_type'] == 'multienum' || $field['field_type'] == 'radio' || $field['field_type'] == 'set' || $field['field_type'] == 'sorter') {
$field['field_params']['values'] = Ulaform::getStringlistArray($field['field_params']['values']);
}
/* Setup the field with all the parameters. */
$form->addVariable($field['field_label'], $field['field_name'], $field['field_type'], $field['field_required'], $field['field_readonly'], $field['field_desc'], $field['field_params']);
}
if ($formname) {
$form->validate($vars);
if ($form->isValid() && $formname) {
$form->getInfo($vars, $info);
$info['form_id'] = $this->_params['form_id'];
try {
$submit = $GLOBALS['ulaform_driver']->submitForm($info);
$GLOBALS['notification']->push(_("Form submitted successfully."), 'horde.success');
$done = true;
} catch (Horde_Exception $e) {
$GLOBALS['notification']->push(sprintf(_("Error submitting form. %s."), $e->getMessage()), 'horde.error');
}
}
}
/* Render active or inactive, depending if submitted or
* not. */
$render_type = $done ? 'renderInactive' : 'renderActive';
/* Render the form. */
$renderer = new Horde_Form_Renderer();
$renderer->showHeader(false);
Horde::startBuffer();
$form->{$render_type}($renderer, $vars, Horde::selfUrl(true), 'post');
return Horde::endBuffer();
}
示例6: prepareForm
function prepareForm($p_variables)
{
$v_account_name = $p_variables->get('account_name');
$v_form = new Horde_Form($p_variables, $v_account_name . '::Event', 'event');
$v_form->addVariable('Date', 'date', 'date', true);
$v_form->addVariable('Description', 'description', 'text', true);
$v_form->addHidden('', 'account_id', 'text', false);
$v_form->addHidden('', 'account_name', 'text', false);
$v_form->addVariable('Is it income?', 'is_income', 'boolean', true);
$v_accountsAndCategories = Book::Singleton()->getAccountsAndCategories();
$v_form->addVariable('To/From', 'other_account_id', 'enum', true, false, '', array($v_accountsAndCategories, true));
$v_form->addVariable('Amount', 'amount', 'text', true);
$v_form->addVariable('Is it cleared?', 'is_cleared', 'boolean', true);
$v_form->addVariable('Statement reference', 'statement_item_id', 'text', false);
$v_form->addHidden('', 'event_id', 'text', false);
$v_form->addHidden('', 'old_date', 'date', false);
$v_form->addHidden('', 'old_description', 'text', false);
$v_form->addHidden('', 'old_is_income', 'boolean', false);
$v_form->addHidden('', 'old_other_account_id', 'text', false);
$v_form->addHidden('', 'old_amount', 'text', false);
$v_form->addHidden('', 'old_is_cleared', 'boolean', false);
$v_form->addHidden('', 'old_statement_item_id', 'text', false);
return $v_form;
}
示例7: array
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/lgpl LGPL-2
* @package Horde
*/
require_once __DIR__ . '/../lib/Application.php';
Horde_Registry::appInit('horde', array('permission' => array('horde:administration:alarms')));
$horde_alarm = $injector->getInstance('Horde_Alarm');
$methods = array();
foreach ($horde_alarm->handlers() as $name => $method) {
$methods[$name] = $method->getDescription();
}
$vars = $injector->getInstance('Horde_Variables');
$form = new Horde_Form($vars, _("Add new alarm"));
$form->addHidden('', 'alarm', 'text', false);
$form->addVariable(_("Alarm title"), 'title', 'text', true);
$form->addVariable(_("Alarm start"), 'start', 'datetime', true);
$form->addVariable(_("Alarm end"), 'end', 'datetime', false);
$form->addVariable(_("Alarm text"), 'text', 'longtext', false);
$form->addVariable(_("Alarm methods"), 'methods', 'multienum', true, false, null, array($methods, min(5, count($methods))));
foreach ($horde_alarm->handlers() as $name => $method) {
$params = $method->getParameters();
if (!count($params)) {
continue;
}
$form->addVariable($method->getDescription(), '', 'header', false);
foreach ($params as $param => $param_info) {
$form->addVariable($param_info['desc'], $name . '_' . $param, $param_info['type'], false);
}
}
if ($form->validate()) {
示例8: array
/* Check if user changed action. */
if ($form_action != $old_form_action && $formname) {
$changed_action = true;
$notification->push(_("Changed action driver."), 'horde.message');
}
/* Selected a action so get the info and parameters for this action. */
if ($form_action) {
$action_info = Ulaform::getActionInfo($form_action);
$action_params = Ulaform::getActionParams($form_action);
}
/* Set up the form. */
$form = new Horde_Form($vars, _("Form Details"));
$form->setButtons(empty($form_id) ? _("Create") : _("Modify"), true);
$form->addHidden('', 'form_id', 'int', false);
$form->addHidden('', 'old_form_action', 'text', false);
$form->addVariable(_("Name"), 'form_name', 'text', true);
/* Selectable action drivers and update form based on selection. */
$v = $form->addVariable(_("Action"), 'form_action', 'enum', true, false, null, array(array('' => _("-- select --")) + $actions));
$v->setAction(Horde_Form_Action::factory('submit'));
$v->setHelp('form-action');
if (!empty($action_params)) {
foreach ($action_params as $id => $param) {
$param['required'] = isset($param['required']) ? $param['required'] : true;
$param['readonly'] = isset($param['readonly']) ? $param['readonly'] : false;
$param['desc'] = isset($param['desc']) ? $param['desc'] : null;
$param['params'] = isset($param['params']) ? $param['params'] : null;
$form->addVariable($param['label'], 'form_params[' . $id . ']', $param['type'], $param['required'], $param['readonly'], $param['desc'], $param['params']);
}
}
/* Set default language for the form. */
$v = $form->addVariable(_("Default language"), 'form_params[language]', 'enum', false, false, null, array($registry->nlsconfig->languages, _("-- default configured --")));
示例9: catch
} catch (Ansel_Exception $e) {
$notification->push($e->getMessage());
Horde::url('view.php?view=List', true)->redirect();
exit;
}
if (($image_id = Horde_Util::getFormData('image')) !== null) {
$title = _("Do you really want to report this photo?");
$return_url = Ansel::getUrlFor('view', array('view' => 'Image', 'image' => $image_id, 'gallery' => $gallery_id), true);
} else {
$return_url = Ansel::getUrlFor('view', array('gallery' => $gallery_id, 'view' => 'Gallery'), true);
}
$vars = Horde_Variables::getDefaultVariables();
$form = new Horde_Form($vars, $title);
$form->setButtons(array(array('class' => 'horde-default', 'value' => _("Report")), array('class' => 'horde-cancel', 'value' => _("Cancel"))));
$enum = array('advertisement' => _("Advertisement content"), 'terms' => _("Terms and conditions infringement"), 'offensive' => _("Offensive content"), 'copyright' => _("Copyright infringement"));
$form->addVariable($gallery->get('name'), 'name', 'description', false);
$form->addVariable($gallery->get('desc'), 'desc', 'description', false);
$form->addHidden('', 'gallery', 'text', true, true);
$vars->set('gallery', $gallery_id);
$form->addVariable(_("Report type"), 'type', 'radio', true, false, null, array($enum));
$form->addVariable(_("Report reason"), 'reason', 'longtext', true);
$gallery_id = Horde_Util::getFormData('id');
if ($vars->get('submitbutton') == _("Cancel")) {
Horde::url('', true)->redirect();
}
if ($form->validate()) {
if (Horde_Util::getFormData('submitbutton') == _("Report")) {
$report = Ansel_Report::factory();
$body = _("Gallery Name") . ': ' . $gallery->get('name') . "\n" . _("Gallery Description") . ': ' . $gallery->get('desc') . "\n" . _("Gallery Id") . ': ' . $gallery->id . "\n" . _("Report type") . ': ' . $enum[$vars->get('type')] . "\n" . _("Report reason") . ': ' . $vars->get('reason') . "\n" . $return_url;
try {
$result = $report->report($body);
示例10: elseif
<?php
/**
* Copyright 2007 Obala d.o.o. (http://www.obala.si/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @author Duck <duck@obala.net>
*/
require_once __DIR__ . '/tabs.php';
$vars = Horde_Variables::getDefaultVariables();
$title = _("Forgot your username?");
$form = new Horde_Form($vars, $title);
$form->setButtons(_("Send me my username"));
$form->addVariable(_("Your email"), 'email', 'email', true);
/* Validate the form. */
if ($form->validate()) {
$form->getInfo(null, $info);
$users = $folks_driver->getUsers(array('email' => $info['email']));
if ($users instanceof PEAR_Error) {
$notification->push($users);
} elseif (empty($users) || count($users) != 1) {
$notification->push(_("Could not find any username with this email."), 'horde.warning');
} else {
$users = current($users);
$body = sprintf(_("Your username on %s %s is: %s. \n\n It was requested by %s on %s"), $registry->get('name', 'horde'), Horde::url($registry->get('webroot', 'horde'), true), $users['user_uid'], $_SERVER['REMOTE_ADDR'], date('Ymd H:i:s'));
Folks::sendMail($info['email'], _("Your username was requested"), $body);
$notification->push(sprintf(_("Your username was sent, check your email (%s)."), $users['user_email']), 'horde.success');
throw new Horde_Exception_AuthenticationFailure();
}
示例11: array
*/
require_once __DIR__ . '/../lib/Application.php';
Horde_Registry::appInit('horde', array('authentication' => 'none'));
$vars = $injector->getInstance('Horde_Variables');
// Make sure auth backend allows passwords to be reset.
$auth = $injector->getInstance('Horde_Core_Factory_Auth')->create();
if (empty($conf['auth']['resetpassword']) || !$auth->hasCapability('resetpassword')) {
$notification->push(_("Cannot reset password automatically, contact your administrator."), 'horde.error');
$registry->getServiceLink('login')->add('url', $vars->url)->redirect();
}
$title = _("Reset your password");
$form = new Horde_Form($vars, $title);
$form->setButtons(_("Continue"));
/* Set up the fields for the username and alternate email. */
$form->addHidden('', 'url', 'text', false);
$v =& $form->addVariable(_("Username"), 'username', 'text', true);
$v->setOption('trackchange', true);
$form->addVariable(_("Alternate email address"), 'email', 'email', true);
$can_validate = false;
/* If a username has been supplied try fetching the prefs stored info. */
if ($username = $vars->get('username')) {
$username = $registry->convertUsername($username, true);
$prefs = $injector->getInstance('Horde_Core_Factory_Prefs')->create('horde', array('cache' => false, 'user' => $username));
$email = $prefs->getValue('alternate_email');
/* Does the alternate email stored in prefs match the one submitted? */
if ($vars->get('email') == $email) {
$can_validate = true;
$form->setButtons(_("Reset Password"));
$question = $prefs->getValue('security_question');
$form->addVariable($question, 'question', 'description', false);
$form->addVariable(_("Answer"), 'answer', 'text', true);
示例12: array
$added_nodes[$idx] = true;
}
$tree->addNode(array('id' => $idx, 'parent' => $parent, 'label' => $name, 'expanded' => false, 'params' => $node_params));
}
$parent .= '|' . $name;
}
}
break;
case 'search':
/* Create Form */
$searchForm = new Horde_Form($vars, null, 'search');
$searchForm->setButtons(_("Search"));
$searchForm->addHidden('sidebar', 'show', 'text', false);
$searchForm->addHidden('', 'module', 'text', false);
$searchForm->addHidden('', 'side_show', 'text', false);
$searchForm->addVariable(_("Keyword"), 'keyword', 'text', false, false, null, array(null, 20));
$renderer = new Horde_Form_Renderer();
$renderer->setAttrColumnWidth('50%');
Horde::startBuffer();
$searchForm->renderActive($renderer, $vars, $sidebar_url->copy()->setRaw(true), 'post');
$contents = Horde::endBuffer() . '<br />';
$keywords = $vars->get('keyword');
if (!empty($keywords)) {
$results = $help->search($keywords);
foreach ($results as $id => $title) {
if (empty($title)) {
continue;
}
$contents .= Horde::link($base_url->copy()->add(array('show' => 'entry', 'topic' => $id)), null, null, 'help_main') . htmlspecialchars($title) . "</a><br />\n";
}
}
示例13: catch
*
* @author Jan Zagar <jan.zagar@siol.net>
*/
require_once __DIR__ . '/lib/Application.php';
Horde_Registry::appInit('ansel');
$vars = Horde_Variables::getDefaultVariables();
try {
$gallery = $GLOBALS['injector']->getInstance('Ansel_Storage')->getGallery($vars->get('gallery'));
} catch (Ansel_Exception $e) {
$notification->push($gallery->getMessage());
Horde::url('view.php?view=List', true)->redirect();
exit;
}
$url = $vars->get('url');
$form = new Horde_Form($vars, _("Content Disclaimer"), 'disclamer');
$form->addVariable($gallery->get('name'), 'name', 'description', false);
$form->addVariable($gallery->get('desc'), 'desc', 'description', false);
$form->addHidden('', 'url', 'text', true);
$form->addHidden('', 'gallery', 'int', true);
$msg = sprintf(_("Photo content may be offensive. You must be over %d to continue."), $gallery->get('age'));
$form->addVariable($msg, 'warning', 'description', false);
$form->setButtons(array(sprintf(_("Continue - I'm over %d"), $gallery->get('age')), _("Cancel")));
if ($form->isSubmitted()) {
if (Horde_Util::getFormData('submitbutton') == _("Cancel")) {
$notification->push("You are not authorised to view this photo.", 'horde.warning');
Horde::url('view.php?view=List', true)->redirect();
exit;
} else {
$session->set('ansel', 'user_age', (int) $gallery->get('age'));
$url->redirect();
exit;
示例14: array
}
$headers = array('client' => _("Client"), 'employee' => _("Employee"), '_type_name' => _("Job Type"), 'rate' => _("Rate"), 'hours' => _("Hours"), 'total' => _("Total"), 'date' => _("Date"), 'description' => _("Description"), 'note' => _("Cost Object"));
$clients = Hermes::listClients();
$df = $GLOBALS['prefs']->getValue('date_format');
$list = array();
$client_keys = array();
foreach ($hours as $hour) {
$id = (int) $hour['id'];
$client_keys[$id] = $hour['client'];
$list[$id] = array('client' => $clients[$hour['client']], 'employee' => $hour['employee'], '_type_name' => $hour['_type_name'], 'rate' => $hour['rate'], 'hours' => $hour['hours'], 'total' => $hour['rate'] * $hour['hours'], 'date' => strftime($df, $hour['date']), 'description' => $hour['description'], '_costobject_name' => $hour['_costobject_name']);
}
$title = _("Create invoice");
$vars = Horde_Variables::getDefaultVariables();
$form = new Horde_Form($vars, $title, 'create_invoice');
$type_params = array(array(1 => _("Yes"), 0 => _("No")));
$form->addVariable(_("Combine same clients in one invoice"), 'combine', 'enum', true, false, null, $type_params);
$v = $form->addVariable(_("Select hours to be invoiced"), 'hours', 'tableset', true, false, false, array($list, $headers));
$v->setDefault(array_keys($list));
if ($form->validate()) {
$form->getInfo(null, $info);
$groups = array();
if ($info['combine']) {
foreach ($info['hours'] as $id) {
$client = $client_keys[$id];
if (isset($groups[$client])) {
$groups[$client]['hours'][] = $id;
} else {
$groups[$client] = array('client' => $client, 'hours' => array($id));
}
}
} else {
示例15: implode
}
/* Get forum. */
list($forum_id) = Agora::getAgoraId();
$forum = $forums->getForum($forum_id);
if ($forum instanceof PEAR_Error) {
$notification->push($forum->message, 'horde.error');
Horde::url('forums.php', true)->redirect();
}
/* Prepare forum. */
$vars = Horde_Variables::getDefaultVariables();
$form = new Horde_Form($vars, _("Delete Forum"));
// TODO Cancel button doesn't work currently, because it has no condition set
$form->setButtons(array(_("Delete"), _("Cancel")));
$form->addHidden('', 'forum_id', 'int', $forum_id);
$form->addHidden('', 'scope', 'text', $scope);
$form->addVariable(_("This will delete the forum, any subforums and all relative messages."), 'prompt', 'description', false);
$form->addVariable(_("Forum name"), 'forum_name', 'text', false, true);
$vars->set('forum_name', $forum['forum_name']);
$vars->set('forum_id', $forum_id);
/* Get a list of available forums. */
$forums_list = Agora::formatCategoryTree($forums->getForums($forum_id, false, null, null));
if (!empty($forums_list)) {
$html = implode('<br />', $forums_list);
$form->addVariable(_("Subforums"), 'subforums', 'html', false, true);
$vars->set('subforums', $html);
}
/* Process delete. */
if ($form->validate()) {
if ($vars->get('submitbutton') == _("Delete")) {
try {
// TODO also delete child forums as we state in the GUI