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_conditional_setvalue is a Horde_Form_Action that
 4:  * sets the value of one Horde_Form variable based on the value of the
 5:  * variable the action is attached to.
 6:  *
 7:  * Copyright 2002-2012 Horde LLC (http://www.horde.org/)
 8:  *
 9:  * See the enclosed file COPYING for license information (LGPL). If you
10:  * did not receive this file, see http://www.horde.org/licenses/lgpl21.
11:  *
12:  * @author  Chuck Hagenbuch <chuck@horde.org>
13:  * @package Form
14:  */
15: class Horde_Form_Action_conditional_setvalue extends Horde_Form_Action {
16: 
17:     /**
18:      * Which JS events should trigger this action?
19:      *
20:      * @var array
21:      */
22:     var $_trigger = array('onchange', 'onload');
23: 
24:     function getActionScript($form, $renderer, $varname)
25:     {
26:         return 'map(\'' . $renderer->_genID($varname, false) . "', '" . $renderer->_genID($this->getTarget(), false) . '\');';
27:     }
28: 
29:     function setValues(&$vars, $sourceVal, $arrayVal = false)
30:     {
31:         $map = $this->_params['map'];
32:         $target = $this->getTarget();
33: 
34:         if ($arrayVal) {
35:             $i = 0;
36:             if (is_array($sourceVal)) {
37:                 foreach ($sourceVal as $val) {
38:                     if (!empty($map[$val])) {
39:                         $vars->set($target, $map[$val], $i);
40:                     }
41:                     $i++;
42:                 }
43:             }
44:         } else {
45:             if (!empty($map[$sourceVal])) {
46:                 $vars->set($target, $map[$sourceVal]);
47:             }
48:         }
49:     }
50: 
51:     function printJavaScript()
52:     {
53:         $this->_printJavaScriptStart();
54:         $map = $this->_params['map'];
55: ?>
56: 
57: var _map = [<?php
58: $i = 0;
59: foreach ($map as $val) {
60:     if ($i > 0) {
61:         echo ', ';
62:     }
63:     echo '"' . $val . '"';
64:     $i++;
65: }?>];
66: 
67: function map(sourceId, targetId)
68: {
69:     var newval;
70:     var source = document.getElementById(sourceId);
71:     var element = document.getElementById(targetId);
72:     if (element) {
73:         if (_map[source.selectedIndex]) {
74:             newval = _map[source.selectedIndex];
75:             replace = true;
76:         } else {
77:             newval = '';
78:             replace = false;
79:             for (i = 0; i < _map.length; i++) {
80:                 if (element.value == _map[i]) {
81:                     replace = true;
82:                     break;
83:                 }
84:             }
85:         }
86: 
87:         if (replace) {
88:             element.value = newval;
89:         }
90:     }
91: }<?php
92:         $this->_printJavaScriptEnd();
93:     }
94: 
95: }
96: 
API documentation generated by ApiGen