All pastes #964639 Raw Edit

Miscellany

public text v1 · immutable
#964639 ·published 2008-03-31 12:39 UTC
rendered paste body
    public static function escapeVariable($raw, $escaping) {
        // TODO: add support for objects
        if (is_array($raw)) {
            foreach ($raw as $key => $var) {
                $raw[$key] = self::escapeVariable($var, $escaping);
            }
        } else {
            switch ($escaping) {
            case 'html':
                $raw = htmlspecialchars($raw);
                break;
            case 'json':
            default:
                break;
            }
        }
        return $raw;
    }

    public static function renderTemplate() {
        if (func_num_args() > 1 && is_array(func_get_arg(1))) {
            self::$raw = func_get_arg(1);
            self::$escapingTmp = func_get_arg(2);
            if (func_get_arg(2) !== null) {
                extract(self::escapeVariable(self::$raw, self::$escapingTmp));
            } else {
                extract(self::escapeVariable(self::$raw, self::$escaping));
            }
        }
        ob_start();
        include func_get_arg(0);
        $content = ob_get_contents();
        ob_end_clean();

        return $content;
    }