Esempio n. 1
0
function filter_params($array)
{
    $array_ = [];
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $array_[$key] = filter_params($value);
        } else {
            $array_[$key] = htmlspecialchars(trim($value));
        }
    }
    return $array_;
}
/**
 * Returns parameters values from the example, or posted or the default values
 *
 * @param  string $algorithm
 * @param  string $source_code
 * @param  array  $posted_params
 * @param  array  $examples
 * @param  string $filename
 * @return array
 */
function get_param_values($algorithm, $source_code, $posted_params, $examples, $filename)
{
    $params = get_params($algorithm, $source_code);
    if (empty($params)) {
        $values = array();
    } else {
        if (isset($posted_params['example']) and isset($examples[$posted_params['example']])) {
            $values = combine_params_and_values($params, $examples[$posted_params['example']]['values']);
        } else {
            if (!($values = filter_params($params, $posted_params))) {
                $values = get_defaults($params, $filename);
            }
        }
    }
    return fill_missing_params($params, $values);
}