Overview

Packages

  • Form
  • None

Classes

  • Horde_Form
  • Horde_Form_Action
  • Horde_Form_Action_conditional_enable
  • Horde_Form_Action_conditional_setvalue
  • Horde_Form_Action_ConditionalEnable
  • Horde_Form_Action_ConditionalSetValue
  • Horde_Form_Action_reload
  • Horde_Form_Action_setcursorpos
  • Horde_Form_Action_submit
  • Horde_Form_Action_sum_fields
  • Horde_Form_Action_updatefield
  • Horde_Form_Renderer
  • Horde_Form_Translation
  • Horde_Form_Type
  • Horde_Form_Type_address
  • Horde_Form_Type_addresslink
  • Horde_Form_Type_assign
  • Horde_Form_Type_boolean
  • Horde_Form_Type_captcha
  • Horde_Form_Type_category
  • Horde_Form_Type_cellphone
  • Horde_Form_Type_colorpicker
  • Horde_Form_Type_countedtext
  • Horde_Form_Type_country
  • Horde_Form_Type_creditcard
  • Horde_Form_Type_date
  • Horde_Form_Type_datetime
  • Horde_Form_Type_dblookup
  • Horde_Form_Type_description
  • Horde_Form_Type_email
  • Horde_Form_Type_emailConfirm
  • Horde_Form_Type_enum
  • Horde_Form_Type_figlet
  • Horde_Form_Type_file
  • Horde_Form_Type_header
  • Horde_Form_Type_hourminutesecond
  • Horde_Form_Type_image
  • Horde_Form_Type_int
  • Horde_Form_Type_intlist
  • Horde_Form_Type_invalid
  • Horde_Form_Type_ip6address
  • Horde_Form_Type_ipaddress
  • Horde_Form_Type_keyval_multienum
  • Horde_Form_Type_link
  • Horde_Form_Type_longtext
  • Horde_Form_Type_matrix
  • Horde_Form_Type_mlenum
  • Horde_Form_Type_monthdayyear
  • Horde_Form_Type_monthyear
  • Horde_Form_Type_multienum
  • Horde_Form_Type_number
  • Horde_Form_Type_obrowser
  • Horde_Form_Type_octal
  • Horde_Form_Type_password
  • Horde_Form_Type_passwordconfirm
  • Horde_Form_Type_pgp
  • Horde_Form_Type_phone
  • Horde_Form_Type_radio
  • Horde_Form_Type_selectfiles
  • Horde_Form_Type_set
  • Horde_Form_Type_smime
  • Horde_Form_Type_sorter
  • Horde_Form_Type_sound
  • Horde_Form_Type_spacer
  • Horde_Form_Type_stringarray
  • Horde_Form_Type_stringlist
  • Horde_Form_Type_tableset
  • Horde_Form_Type_text
  • Horde_Form_Type_time
  • Horde_Form_Variable
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Horde_Form_Action_sum_fields is a Horde_Form_Action that sets the target
 4:  * field to the sum of one or more other numeric fields.
 5:  *
 6:  * The params array should contain the names of the fields which will be
 7:  * summed.
 8:  *
 9:  * Copyright 2002-2012 Horde LLC (http://www.horde.org/)
10:  *
11:  * See the enclosed file COPYING for license information (LGPL). If you
12:  * did not receive this file, see http://www.horde.org/licenses/lgpl21.
13:  *
14:  * @author  Matt Kynaston <matt@kynx.org>
15:  * @package Form
16:  */
17: class Horde_Form_Action_sum_fields extends Horde_Form_Action {
18: 
19:     var $_trigger = array('onload');
20: 
21:     function getActionScript(&$form, $renderer, $varname)
22:     {
23:         Horde::addScriptFile('form_helpers.js', 'horde');
24: 
25:         $form_name = $form->getName();
26:         $fields = "'" . implode("','", $this->_params) . "'";
27:         $js = array();
28:         $js[] = sprintf('document.forms[\'%s\'].elements[\'%s\'].disabled = true;',
29:                         $form_name,
30:                         $varname);
31:         foreach ($this->_params as $field) {
32:             $js[] = sprintf("addEvent(document.forms['%1\$s'].elements['%2\$s'], \"onchange\", \"sumFields(document.forms['%1\$s'], '%3\$s', %4\$s);\");",
33:                             $form_name,
34:                             $field,
35:                             $varname,
36:                             $fields);
37:         }
38: 
39:         return implode("\n", $js);
40:     }
41: 
42: }
43: 
API documentation generated by ApiGen