TODO
public addVariable ( $humanName, $varName, $type, $required, $readonly = false, $description = null, $params = [] ) |
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; }
/** * 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); }
/** * 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(); }
/** * 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()); }
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(); }
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; }
* @author Jan Schneider <*****@*****.**> * @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()) {
/* 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 --")));
} 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);
<?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 <*****@*****.**> */ 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(); }
*/ 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);
$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"; } }
* * @author Jan Zagar <*****@*****.**> */ 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;
} $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 {
} /* 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
foreach ($_covers as $id => $cover) { $covers[$id] = $cover['name']; } $tpl = Horde_Util::getFormData('template', 'default'); if (empty($_covers[$tpl])) { throw new Horde_Exception(_("The requested Cover Page does not exist.")); } /* Load Form Actions */ $action = Horde_Form_Action::factory('submit'); /* Create Form */ $vars = Horde_Variables::getDefaultVariables(); $form = new Horde_Form($vars, _("Compose a new Fax"), 'compose'); $form->setButtons(_("Send")); $form->appendButtons(_("Preview")); /* Cover Page section */ $form->addVariable(_("Cover Page"), 'fromhdr', 'header', false); $form->addVariable(_("Template"), 'template', 'enum', true, false, null, array($covers)); $form->addVariable(_("Fax Number"), 'faxnum', 'text', true); $form->addVariable(_("Name"), 'name', 'text', false); $form->addVariable(_("Company"), 'company', 'text', false); $form->addVariable(_("Subject"), 'subject', 'text', false, false, null, array(false, 60)); $form->addVariable(_("Comment"), 'comment', 'longtext', false, false, null, array(4, 80)); /* Set up template. */ $template = $injector->createInstance('Horde_Template'); $template->set('form', ''); $template->set('menu', Hylax::getMenu('string')); Horde::startBuffer(); $notification->notify(array('listeners' => 'status')); $template->set('notify', Horde::endBuffer()); $page_output->header(); echo $template->fetch(HYLAX_TEMPLATES . '/compose/compose.html');
require_once __DIR__ . '/../lib/Application.php'; Horde_Registry::appInit('ansel'); $face_id = Horde_Util::getFormData('face'); $faces = $GLOBALS['injector']->getInstance('Ansel_Faces'); try { $face = $faces->getFaceById($face_id); } catch (Ansel_Exception $e) { $notification->push($e->getMessage()); Horde::url('faces/search/all.php')->redirect(); exit; } $title = _("Report face"); $vars = Horde_Variables::getDefaultVariables(); $form = new Horde_Form($vars, $title); $form->addHidden('', 'face', 'int', true); $form->addVariable(_("Reason"), 'reason', 'longtext', true, false, _("Please describe the reasons. For example, you don't want to be mentioned etc...")); $form->setButtons($title); if ($form->validate()) { if (Horde_Util::getFormData('submitbutton') == _("Cancel")) { $notification->push(_("Action was cancelled."), 'horde.warning'); } else { require ANSEL_BASE . '/lib/Report.php'; $report = Ansel_Report::factory(); $gallery = $GLOBALS['injector']->getInstance('Ansel_Storage')->getGallery($face['gallery_id']); $face_link = Horde::url('faces/face.php', true)->add(array('name' => $vars->get('person'), 'face' => $face_id, 'image' => $face['image_id']))->setRaw(true); $body = _("Gallery Name") . ': ' . $gallery->get('name') . "\n" . _("Gallery Description") . ': ' . $gallery->get('desc') . "\n\n" . $title . "\n" . _("Reason") . ': ' . $vars->get('reason') . "\n" . _("Face") . ': ' . $face_link; $report->setTitle($title); try { $result = $report->report($body, $gallery->get('owner')); } catch (Horde_Exception $e) { $notification->push(sprintf(_("Face name was not reported: %s"), $e->getMessage()), 'horde.error');
/** * Process an single image (to be called by ajax) * * Copyright 2008-2015 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (GPL). If you * did not receive this file, see http://www.horde.org/licenses/gpl. * * @author Duck <*****@*****.**> */ require_once 'tabs.php'; /* Search from */ $form = new Horde_Form($vars); $msg = _("Please upload photo with the face to search for. You can search only one face at a time."); $form->addVariable(_("Face to search for"), 'image', 'file', true, false, $msg, array(false)); $form->setButtons(_("Upload")); if ($form->validate()) { $form->getInfo(null, $info); $tmp = Horde::getTempDir(); $img = Ansel::getImageObject(); try { $img->loadFile($info['image']['file']); $dimensions = $img->getDimensions(); } catch (Horde_Image_Exception $e) { $notification->push($e->getMessage()); Horde::url('faces/search/image.php')->redirect(); exit; } if ($dimensions['width'] < 50 || $dimensions['height'] < 50) { $notification->push(_("Photo is too small. Search photo must be at least 50x50 pixels."));
/* Check if type has been changed. */ if ($type != $old_type && $formname) { $changed_type = true; $notification->push(_("Changed embed type."), 'horde.message'); } /* Fetch the form details and set a nice title. */ $form_details = $injector->getInstance('Ulaform_Factory_Driver')->create()->getForm($form_id); $title = sprintf(_("HTML Generation for \"%s\""), $form_details['form_name']); $form = new Horde_Form($vars, $title); $form->useToken(false); /* Set up the form. */ $form->setButtons(_("Generate HTML")); $form->addHidden('', 'form_id', 'int', false); $form->addHidden('', 'old_type', 'text', false); $embed_types = array('php_pear' => _("PHP using PEAR classes"), 'iframe' => _("iframe")); $v =& $form->addVariable(_("Select how you wish to embed the form"), 'type', 'enum', true, false, null, array($embed_types, true)); $v->setAction(Horde_Form_Action::factory('submit')); switch ($type) { case 'php_pear': break; case 'iframe': $form->addVariable(_("Name"), 'params[name]', 'text', true, false); $form->addVariable(_("Height"), 'params[height]', 'int', false, false); $form->addVariable(_("Width"), 'params[width]', 'int', false, false); break; } /* Set up the gateway choice fields. */ $vars->set('old_type', $type); /* Check if submitted and validate. */ if ($formname && !$changed_type) { $form->validate($vars);
} /* Check delete permissions */ if (!$messages->hasPermission(Horde_Perms::DELETE)) { $notification->push(sprintf(_("You don't have permission to delete messages in forum %s."), $forum_id), 'horde.warning'); $url = Agora::setAgoraId($forum_id, $message_id, Horde::url('messages/index.php', true), $scope); header('Location: ' . $url); exit; } /* Get the form object. */ $vars = Horde_Variables::getDefaultVariables(); $form = new Horde_Form($vars, sprintf(_("Move \"%s\" to another forum"), $message['message_subject'])); $form->setButtons(array(_("Move"), _("Cancel"))); $form->addHidden('', 'agora', 'text', false); $form->addHidden('', 'scope', 'text', false); $forums_list = Agora::formatCategoryTree($messages->getForums(0, false)); $v =& $form->addVariable(_("Forum"), 'new_forum_id', 'enum', true, false, null, array($forums_list)); $v->setDefault($forum_id); /* Validate the form. */ if ($form->validate()) { $form->getInfo($vars, $info); if ($vars->get('submitbutton') == _("Move")) { $move = $messages->moveThread($message_id, $info['new_forum_id']); if ($move instanceof PEAR_Error) { $notification->push($move->getMessage(), 'horde.error'); } else { $notification->push(sprintf(_("Thread %s moved to from forum %s to %s."), $message_id, $forum_id, $info['new_forum_id']), 'horde.success'); header('Location: ' . Agora::setAgoraId($info['new_forum_id'], $message_id, Horde::url('messages/index.php', true), $scope)); exit; } } }
$field_id = $vars->get('field_id'); $form_id = $vars->get('form_id'); $old_field_type = $vars->get('old_field_type'); /* Check if a field is being edited. */ if ($field_id && !$formname) { $vars = $ulaform_driver->getField($form_id, $vars->get('field_id')); $vars = new Horde_Variables($vars); } /* Set up the form. */ $fieldform = new Horde_Form($vars, _("Field Details")); $fieldform->setButtons(_("Save Field")); $fieldform->addHidden('', 'field_id', 'int', false); $fieldform->addHidden('', 'form_id', 'int', false); $fieldform->addHidden('', 'field_order', 'int', false); $fieldform->addHidden('', 'old_field_type', 'text', false); $fieldform->addVariable(_("Label"), 'field_label', 'text', true); $fieldform->addVariable(_("Internal name"), 'field_name', 'text', false, false, _("Set this name if you have a particular reason to override the automatic internal naming of fields.")); /* Set up the field type selection, with a submit action. */ $fields = Ulaform::getFieldTypes(); $v = $fieldform->addVariable(_("Type"), 'field_type', 'enum', true, false, null, array($fields, true)); $v->setAction(Horde_Form_Action::factory('submit')); $v->setOption('trackchange', true); $fieldform->addVariable(_("Required"), 'field_required', 'boolean', false); $fieldform->addVariable(_("Read only"), 'field_readonly', 'boolean', false); $fieldform->addVariable(_("Description"), 'field_desc', 'longtext', false, false, '', array(3, 40)); /* Check if the submitted field type has extra parameters and set them up. */ $field_type = $vars->get('field_type'); $available_params = Ulaform::getFieldParams($field_type); if (!is_null($vars->get('formname')) && $vars->get($v->getVarName()) != $vars->get('__old_' . $v->getVarName()) && !empty($available_params)) { $notification->push(_("This field type has extra parameters."), 'horde.message'); }
require_once __DIR__ . '/../lib/Application.php'; Horde_Registry::appInit('ansel'); $faces = $GLOBALS['injector']->getInstance('Ansel_Faces'); $face_id = Horde_Util::getFormData('face'); try { $face = $faces->getFaceById($face_id); } catch (Ansel_Exception $e) { $notification->push($e->getMessage()); Horde::url('faces/search/all.php')->redirect(); exit; } $title = _("Tell us who is in this photo"); $vars = Horde_Variables::getDefaultVariables(); $form = new Horde_Form($vars, $title); $form->addHidden('', 'face', 'int', true); $form->addVariable(_("Person"), 'person', 'text', true); $form->setButtons($title); if ($form->validate()) { if (Horde_Util::getFormData('submitbutton') == _("Cancel")) { $notification->push(_("Action was cancelled."), 'horde.warning'); } else { $report = Ansel_Report::factory(); $gallery = $GLOBALS['injector']->getInstance('Ansel_Storage')->getGallery($face['gallery_id']); $face_link = Horde::url('faces/custom.php', true)->add(array('name' => $vars->get('person'), 'face' => $face_id, 'image' => $face['image_id']))->setRaw(true); $title = _("I know who is on one of your photos"); $body = _("Gallery Name") . ': ' . $gallery->get('name') . "\n" . _("Gallery Description") . ': ' . $gallery->get('desc') . "\n\n" . $title . "\n" . _("Person") . ': ' . $vars->get('person') . "\n" . _("Face") . ': ' . $face_link; $report->setTitle($title); try { $result = $report->report($body, $gallery->get('owner')); $notification->push(_("The owner of the photo, who will delegate the face name, was notified."), 'horde.success'); } catch (Ansel_Exception $e) {
if (!isset($forum['moderators'])) { unset($forums_list[$key]); continue; } foreach ($forum['moderators'] as $id => $moderator) { $delete = $url->add(array('moderator' => $moderator, 'forum_id' => $forum['forum_id'])); $forums_list[$key]['moderators'][$id] = Horde::link($delete, _("Delete")) . $moderator . '</a>'; } } $title = _("Moderators"); $vars = Horde_Variables::getDefaultVariables(); $form = new Horde_Form($vars, $title); $form->addHidden('', 'scope', 'text', false); $form->addHidden('', 'action', 'text', false); $vars->set('action', 'add'); $form->addVariable(_("Moderator"), 'moderator', 'text', true); if ($messages->countForums() > 50) { $form->addVariable(_("Forum"), 'forum_id', 'int', true); } else { $forums_enum = Agora::formatCategoryTree($messages->getForums(0, false, 'forum_name', 0, !$registry->isAdmin())); $form->addVariable(_("Forum"), 'forum_id', 'enum', true, false, false, array($forums_enum)); } /* Set up template data. */ $view = new Agora_View(); Horde::startBuffer(); $form->renderActive(null, null, Horde::url('moderators.php'), 'post'); $view->formbox = Horde::endBuffer(); Horde::startBuffer(); $notification->notify(array('listeners' => 'status')); $view->notify = Horde::endBuffer(); $view->forums = $forums_list;
$notification->push(_("Password changed."), 'horde.success'); // reset credentials so user is not forced to relogin if ($registry->getAuthCredential('password') == $info['old']) { $registry->setAuthCredential('password', $info['new']); } } while (false); // update password reminder prefs if (Horde_Util::getPost('formname') == 'security') { if ($prefs->getValue('security_question') != Horde_Util::getPost('security_question')) { $prefs->setValue('security_question', Horde_Util::getPost('security_question')); } if ($prefs->getValue('security_answer') != Horde_Util::getPost('security_answer')) { $prefs->setValue('security_answer', Horde_Util::getPost('security_answer')); } $notification->push(_("Your securiy questions was updated."), 'horde.success'); } $form_security = new Horde_Form($vars, _("Security question used when reseting password"), 'security'); $form_security->setButtons(_("Continue"), _("Reset")); if (!$prefs->isLocked('security_question')) { $v = $form_security->addVariable(_("Security question"), 'security_question', 'text', true); $v->setDefault($prefs->getValue('security_question')); } $v = $form_security->addVariable(_("Security answer"), 'security_answer', 'text', true); $v->setDefault($prefs->getValue('security_answer')); $page_output->header(array('title' => $title)); require FOLKS_TEMPLATES . '/menu.inc'; echo $tabs->render('password'); $form->renderActive(null, null, null, 'post'); echo '<br />'; $form_security->renderActive(null, null, null, 'post'); $page_output->footer();
require_once __DIR__ . '/../lib/Application.php'; Horde_Registry::appInit('horde', array('permission' => array('horde:administration:users'))); $auth = $injector->getInstance('Horde_Core_Factory_Auth')->create(); $vars = $injector->getInstance('Horde_Variables'); if ($conf['signup']['allow'] && $conf['signup']['approve']) { $signup = $injector->getInstance('Horde_Core_Auth_Signup'); } $addForm = new Horde_Form($vars, _("Add a new user:"******"Add user"), _("Reset")); $addForm->addHidden('', 'form', 'text', true, true); /* Use hooks get any extra fields for new accounts. */ try { $extra = $injector->getInstance('Horde_Core_Hooks')->callHook('signup_getextra', 'horde'); if (!empty($extra)) { if (!isset($extra['user_name'])) { $addForm->addVariable(_("Username"), 'user_name', 'text', true); } if (!isset($extra['password'])) { $addForm->addVariable(_("Password"), 'password', 'passwordconfirm', false, false, _("type the password twice to confirm")); } foreach ($extra as $field_name => $field) { $readonly = isset($field['readonly']) ? $field['readonly'] : null; $desc = isset($field['desc']) ? $field['desc'] : null; $field_params = isset($field['params']) ? $field['params'] : array(); $addForm->addVariable($field['label'], 'extra[' . $field_name . ']', $field['type'], $field['required'], $readonly, $desc, $field_params); } } } catch (Horde_Exception_HookNotSet $e) { } if (empty($extra)) { $addForm->addVariable(_("Username"), 'user_name', 'text', true);
} if (empty($domain)) { $domain = Vilma::stripDomain($vars->virtual_destination); } $users = $vilma->driver->getUsers($domain); $user_list = array(); foreach ($users as $user) { $virtual_destination = substr($user['user_name'], 0, strpos($user['user_name'], '@')); $user_list[$user['user_name']] = $virtual_destination; } $form = new Horde_Form($vars, $editing ? _("Edit Virtual Email Address") : _("New Virtual Email Address")); /* Set up the form. */ $form->setButtons(true, true); $form->addHidden('', 'virtual_id', 'int', false); $form->addHidden('', 'domain', 'text', false); $form->addVariable(_("Virtual Email"), 'stripped_email', 'text', true, false, sprintf(_("Enter a virtual email address @%s and then indicate below where mail sent to that address is to be delivered. The address must begin with an alphanumerical character, it must contain only alphanumerical and '._-' characters, and must end with an alphanumerical character."), $domain), array('~^[a-zA-Z0-9]{1,1}[a-zA-Z0-9._-]*[a-zA-Z0-9]$~')); $var =& $form->addVariable(_("Destination type"), 'destination_type', 'enum', true, false, null, array(array('local' => _("Local user"), 'remote' => _("Remote address")))); $var->setAction(Horde_Form_Action::factory('reload')); if ($vars->destination_type == 'remote') { $form->addVariable(_("Remote e-mail address"), 'virtual_destination', 'email', true, false); } else { $form->addVariable(_("Destination"), 'virtual_destination', 'enum', true, false, null, array($user_list, true)); } if ($form->validate($vars)) { $form->getInfo($vars, $info); $info['stripped_email'] = Horde_String::lower($info['stripped_email']); if ($info['destination_type'] == 'remote') { $info['virtual_destination'] = Horde_String::lower($info['virtual_destination']); } try { $virtual_id = $vilma->driver->saveVirtual($info, $domain);
<?php /** * Copyright 2005-2015 Horde LLC (http://www.horde.org/) * * See the enclosed file LICENSE for license information (BSD). If you * did not receive this file, see http://www.horde.org/licenses/bsdl.php. * * @author Chuck Hagenbuch <*****@*****.**> * @author Jan Schneider <*****@*****.**> */ require_once __DIR__ . '/lib/Application.php'; $hermes = Horde_Registry::appInit('hermes'); $vars = Horde_Variables::getDefaultVariables(); $form = new Horde_Form($vars, _("Stop Watch")); $form->addVariable(_("Stop watch description"), 'description', 'text', true); if ($form->validate($vars)) { Hermes::newTimer($vars->get('description')); echo Horde::wrapInlineScript(array('var t = ' . Horde_Serialize::serialize(sprintf(_("The stop watch \"%s\" has been started and will appear in the menu at the next refresh."), $vars->get('description')), Horde_Serialize::JSON) . ';', 'alert(t);', 'window.close();')); exit; } $page_output->topbar = $page_output->sidebar = false; $page_output->header(array('title' => _("Stop Watch"))); $form->renderActive(new Horde_Form_Renderer(), $vars, Horde::url('start.php'), 'post'); $page_output->footer();
* did not receive this file, see http://www.horde.org/licenses/gpl. * * @author Duck <*****@*****.**> */ 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($e->getMessage()); Horde::url('list.php')->redirect(); exit; } $form = new Horde_Form($vars, _("This gallery is protected by a password. Please enter it below.")); $form->addVariable($gallery->get('name'), 'name', 'description', false); $form->addVariable($gallery->get('desc'), 'desc', 'description', false); $form->addVariable(_("Password"), 'passwd', 'password', true); $form->addHidden('', 'url', 'text', true); $form->addHidden('', 'gallery', 'int', true); if ($form->validate()) { if ($gallery->get('passwd') != $vars->get('passwd')) { $notification->push(_("Incorrect password"), 'horde.warning'); } else { $session->set('ansel', 'passwd/' . $gallery->id, hash('md5', $vars->get('passwd'))); $url = $vars->get('url'); if (empty($url)) { $url = Horde::url('view.php')->add('gallery', $gallery->id); } else { $url = Horde::url($url); }
* See the enclosed file COPYING for license information (GPL). If you * did not receive this file, see http://www.horde.org/licenses/gpl. * * @author Marko Djukic <*****@*****.**> */ require_once __DIR__ . '/lib/Application.php'; Horde_Registry::appInit('ulaform', array('admin' => true)); $delvars = Horde_Variables::getDefaultVariables(); $form_id = $delvars->get('form_id'); $form_submit = $delvars->get('submitbutton'); /* Set up the forms. */ $ulaform_driver = $injector->getInstance('Ulaform_Factory_Driver')->create(); $viewvars = new Horde_Variables($ulaform_driver->getForm($form_id)); $viewform = new Horde_Form($viewvars, _("Form Details")); $delform = new Horde_Form($delvars, _("Delete this form?")); $viewform->addVariable(_("Name"), 'form_name', 'text', false); $viewform->addVariable(_("Action"), 'form_action', 'email', false); $delform->setButtons(array(_("Delete"), _("Do not delete"))); $delform->addHidden('', 'form_id', 'int', true); if ($form_submit == _("Delete")) { $delform->validate($delvars); if ($delform->isValid()) { $delform->getInfo($delvars, $info); try { $deleteform = $ulaform_driver->deleteForm($info['form_id']); $notification->push(_("Form deleted."), 'horde.success'); Horde::url('forms.php', true)->redirect(); } catch (Ulaform_Exception $e) { $notification->push(sprintf(_("Error deleting form. %s."), $e->getMessage()), 'horde.error'); } }
* @license http://www.horde.org/licenses/lgpl LGPL-2 * @package Horde */ require_once __DIR__ . '/../lib/Application.php'; Horde_Registry::appInit('horde', array('nologintasks' => true)); // Make sure auth backend allows passwords to be reset. $auth = $injector->getInstance('Horde_Core_Factory_Auth')->create(); if (!$auth->hasCapability('update')) { $notification->push(_("Changing your password is not supported with the current configuration. Contact your administrator."), 'horde.error'); $registry->getServiceLink('login')->add('url', Horde_Util::getFormData('url'))->redirect(); } $vars = $injector->getInstance('Horde_Variables'); $title = _("Change Your Password"); $form = new Horde_Form($vars, $title); $form->setButtons(_("Continue")); $form->addVariable(_("Old password"), 'old_password', 'password', true); $form->addVariable(_("New password"), 'password_1', 'password', true); $form->addVariable(_("Retype new password"), 'password_2', 'password', true); if ($form->validate($vars)) { $form->getInfo($vars, $info); if ($registry->getAuthCredential('password') != $info['old_password']) { $notification->push(_("Old password is not correct."), 'horde.error'); } elseif ($info['password_1'] != $info['password_2']) { $notification->push(_("New passwords don't match."), 'horde.error'); } elseif ($info['old_password'] == $info['password_1']) { $notification->push(_("Old and new passwords must be different."), 'horde.error'); } else { try { $auth->updateUser($registry->getAuth(), $registry->getAuth(), array('password' => $info['password_1'])); $notification->push(_("Password changed successfully."), 'horde.success'); $registry->getLogoutUrl(array('msg' => _("Your password has been succesfully changed. You need to re-login to the system with your new password."), 'reason' => Horde_Auth::REASON_MESSAGE))->redirect();