예제 #1
0
파일: reco_prep.php 프로젝트: c4e8ece0/reco
function reco_prep($param, $func)
{
    $val = (string) @$_POST[$param];
    switch ($func) {
        // ------------------------------------------------------------------
        case "none":
            return $val;
            // ------------------------------------------------------------------
        // ------------------------------------------------------------------
        case "url":
            $opts = array("options" => array("default" => null));
            return filter_var($val, FILTER_VALIDATE_URL);
            // ------------------------------------------------------------------
        // ------------------------------------------------------------------
        case "secret":
            if (strlen($param) != 32 || !preg_match("#[a-f0-9]{32}#", $param)) {
                return null;
            }
            return reco_server_checksecret($param) ? true : null;
            // ------------------------------------------------------------------
        // ------------------------------------------------------------------
        case "chk":
            return md5($param);
            // ------------------------------------------------------------------
        // ------------------------------------------------------------------
        default:
            return reco_panic(sprintf("Unknown func(%s)", $func));
            // ------------------------------------------------------------------
    }
}
예제 #2
0
function reco_server_const($name = "", $preset = "")
{
    static $name_arr;
    static $preset_arr;
    if ($name_arr === null) {
        // Словность токенов из текста
        $preset_arr["all_token"] = array("Mono", "Di", "Trio", "Passage");
        // Словные константы
        $preset_arr["all_wordstat"] = array("StrictLocalTF", "StrictLocalTD", "StrictLocalPF", "StrictLocalPD", "StrictLocalBF", "StrictLocalBD", "StrictLocalDF", "StrictLocalDD", "StrictGlobalTF", "StrictGlobalTD", "StrictGlobalPF", "StrictGlobalPD", "StrictGlobalBF", "StrictGlobalBD", "StrictGlobalDF", "StrictGlobalDD", "BaseLocalTF", "BaseLocalTD", "BaseLocalPF", "BaseLocalPD", "BaseLocalBF", "BaseLocalBD", "BaseLocalDF", "BaseLocalDD", "BaseGlobalTF", "BaseGlobalTD", "BaseGlobalPF", "BaseGlobalPD", "BaseGlobalBF", "BaseGlobalBD", "BaseGlobalDF", "BaseGlobalDD");
        // Полный набор имён
        $arr = array_merge($preset_arr["all_token"], $preset_arr["all_wordstat"]);
        $name_arr = array_combine($arr, $arr);
        // Дополнительные константы
        $name_arr["foo"] = "bar";
    }
    if (isset($name_arr[$name])) {
        return $name_arr[$name];
    }
    if (isset($preset_arr[$preset])) {
        return $preset_arr[$preset];
    }
    reco_panic(__FUNCTION__, sprintf("Name or preset not found (%s|%s)", $name, $preset));
}