validateoptions.php 2.81 KB
Newer Older
1
2
<?php
/**
3
4
 * Pieforms: Advanced web forms made easy
 * Copyright (C) 2006-2008 Catalyst IT Ltd (http://www.catalyst.net.nz)
5
 *
6
7
8
9
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
10
 *
11
12
13
14
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
15
 *
16
17
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 *
19
20
 * @package    pieform
 * @subpackage rule
21
22
 * @author     Nigel McNie <nigel@catalyst.net.nz>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL
23
 * @copyright  (C) 2006-2008 Catalyst IT Ltd http://catalyst.net.nz
24
25
26
27
28
29
30
31
 *
 */

/**
 * Makes sure that the submitted value is specified in the 'options' index of
 * the element. This prevents malicious people from doing things like
 * submitting values that aren't in a select box.
 *
32
33
34
35
 * @param Pieform $form      The form the rule is being applied to
 * @param string  $field     The field to check
 * @param string  $element   The element being checked
 * @return string            The error message, if the value is invalid.
36
 */
37
function pieform_rule_validateoptions(Pieform $form, $field, $element) {/*{{{*/
38
39
    // Get the value into an array as a key if it's a scalar, since
    // the actual check involves array keys
40
    $field = (array) $field;
41

42
    $allowedvalues = array_keys($element['options']);
43
    foreach ($field as $key) {
44
        if (!in_array($key, $allowedvalues)) {
Nigel McNie's avatar
Nigel McNie committed
45
            return sprintf($form->i18n('rule', 'validateoptions', 'validateoptions', $element), $key);
46
47
        }
    }
48
}/*}}}*/
49

50
function pieform_rule_validateoptions_i18n() {/*{{{*/
Nigel McNie's avatar
Nigel McNie committed
51
52
53
    return array(
        'en.utf8' => array(
            'validateoptions' => 'The option "%s" is invalid'
54
55
56
57
        ),
        'de.utf8' => array(
            'validateoptions' => 'Die Option "%s" ist ungültig'
        ),
58
59
60
        'fr.utf8' => array(
            'validateoptions' => 'Cette option "%s" n\'est pas valide'
        ),
61
62
63
        'ja.utf8' => array(
            'validateoptions' => 'オプション「 %s 」が正しくありません'
        ),
64
65
66
        'es.utf8' => array(
            'validateoptions' => 'La opción "%s" no es válida'
        ),
67
68
69
        'sl.utf8' => array(
            'validateoptions' => 'Možnost "%s" je neveljavna'
        ),
70
71
72
        'nl.utf8' => array(
            'validateoptions' => 'De optie "%s" is niet geldig'
        ),
73
74
75
        'cs.utf8' => array(
            'validateoptions' => 'Neplatný výběr "%s"'
        ),
76

Nigel McNie's avatar
Nigel McNie committed
77
    );
78
}/*}}}*/
Nigel McNie's avatar
Nigel McNie committed
79

80
?>