function CheckRequired($s_reqd, $a_vars, &$s_missing, &$a_missing_list)
{
    global $reCaptchaProcessor;
    $b_bad = false;
    $a_list = TrimArray(explode(",", $s_reqd));
    $s_missing = "";
    $a_missing_list = array();
    for ($ii = 0; $ii < count($a_list); $ii++) {
        $s_cond = $a_list[$ii];
        $i_len = strlen($s_cond);
        if ($i_len <= 0) {
            continue;
        }
        if (($i_span = strcspn($s_cond, REQUIREDOPS)) >= $i_len) {
            //
            // no advanced operator; just a field name
            //
            list($s_fld, $s_friendly) = GetFriendlyName($s_cond);
            if (TestFieldEmpty($s_fld, $a_vars, $s_mesg)) {
                if ($s_mesg === "") {
                    $s_mesg = "{$s_friendly}";
                } else {
                    $s_mesg = "{$s_friendly} ({$s_mesg})";
                }
                $b_bad = true;
                $s_missing .= "{$s_mesg}\n";
                $a_missing_list[] = "{$s_mesg}";
            }
        } elseif (!AdvancedRequired($s_cond, $i_span, $a_vars, $s_missing, $a_missing_list)) {
            $b_bad = true;
        }
    }
    global $REQUIRE_CAPTCHA, $SPECIAL_VALUES;
    //
    // implement REQUIRE_CAPTCHA feature
    //
    if ($REQUIRE_CAPTCHA !== "") {
        if ($SPECIAL_VALUES["imgverify"] === "") {
            $s_missing .= "{$REQUIRE_CAPTCHA}\n";
            $a_missing_list[] = "{$REQUIRE_CAPTCHA}";
            $b_bad = true;
        }
    }
    return !$b_bad;
}
Exemple #2
0
function CheckRequired($s_reqd, $a_vars, &$s_missing, &$a_missing_list)
{
    $b_bad = false;
    $a_list = TrimArray(explode(",", $s_reqd));
    $s_missing = "";
    $a_missing_list = array();
    for ($ii = 0; $ii < count($a_list); $ii++) {
        $s_cond = $a_list[$ii];
        $i_len = strlen($s_cond);
        if ($i_len <= 0) {
            continue;
        }
        if (($i_span = strcspn($s_cond, REQUIREDOPS)) >= $i_len) {
            //
            // no advanced operator; just a field name
            //
            list($s_fld, $s_friendly) = GetFriendlyName($s_cond);
            if (!isset($a_vars[$s_fld]) || empty($a_vars[$s_fld])) {
                $b_bad = true;
                $s_missing .= "{$s_friendly}\n";
                $a_missing_list[] = "{$s_friendly}";
            }
        } elseif (!AdvancedRequired($s_cond, $i_span, $a_vars, $s_missing, $a_missing_list)) {
            $b_bad = true;
        }
    }
    return !$b_bad;
}