.OV /OV pOV '% OV ,% lOV `9OV @Po OV uOV % #OV #OV pOV '% OV H% lOV `9OV @Po OV uOV % #OV #OV pOV '% OV E lOV `9OV BPo OV uOV % .OV /OV pOV '% OV H lOV `9OV BPo OV uOV % .OV /OV pOV '% OV D lOV `9OV B OV XOV @ݼ% \ аOV xOV POV OV `OV @š% XOV @OV A% % M% lOV `9OV @Po OV uOV % #OV #OV pOV '% OV D lOV `9OV BPo OV uOV % .OV /OV pOV '% OV E lOV `9OV @Po OV uOV % #OV #OV pOV '% OV @OV A% % Q% lOV `9OV @Po OV uOV % #OV #OV pOV '% OV #E lOV `9OV BPo OV uOV % .OV /OV pOV '% OV ecodes a quoted string.
*
* If passed an unquoted string that matches the "token" construct (as
* defined in the HTTP specification), it is passed through verbatim.
*/
public static function unquote(string $s): string
{
return preg_replace('/\\\\(.)|"/', '$1', $s);
}
/**
* Generates an HTTP Content-Disposition field-value.
*
* @param string $disposition One of "inline" or "attachment"
* @param string $filename A unicode string
* @param string $filenameFallback A string containing only ASCII characters that
* is semantically equivalent to $filename. If the filename is already ASCII,
* it can be omitted, or just copied from $filename
*
* @throws \InvalidArgumentException
*
* @see RFC 6266
*/
public static function makeDisposition(string $disposition, string $filename, string $filenameFallback = ''): string
{
if (!\in_array($disposition, [self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE])) {
throw new \InvalidArgumentException(sprintf('The disposition must be either "%s" or "%s".', self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE));
}
if ('' === $filenameFallback) {
$filenameFallback = $filename;
}
// filenameFallback is not ASCII.
if (!preg_match('/^[\x20-\x7e]*$/', $filenameFallback)) {
throw new \InvalidArgumentException('The filename fallback must only contain ASCII characters.');
}
// percent characters aren't safe in fallback.
if (str_contains($filenameFallback, '%')) {
throw new \InvalidArgumentException('The filename fallback cannot contain the "%" character.');
}
// path separators aren't allowed in either.
if (str_contains($filename, '/') || str_contains($filename, '\\') || str_contains($filenameFallback, '/') || str_contains($filenameFallback, '\\')) {
throw new \InvalidArgumentException('The filename and the fallback cannot contain the "/" and "\\" characters.');
}
$params = ['filename' => $filenameFallback];
if ($filename !== $filenameFallback) {
$params['filename*'] = "utf-8''".rawurlencode($filename);
}
return $disposition.'; '.self::toString($params, ';');
}
/**
* Like parse_str(), but preserves dots in variable names.
*/
public static function parseQuery(string $query, bool $ignoreBrackets = false, string $separator = '&'): array
{
$q = [];
foreach (explode($separator, $query) as $v) {
if (false !== $i = strpos($v, "\0")) {
$v = substr($v, 0, $i);
}
if (false === $i = strpos($v, '=')) {
$k = urldecode($v);
$v = '';
} else {
$k = urldecode(substr($v, 0, $i));
$v = substr($v, $i);
}
if (false !== $i = strpos($k, "\0")) {
$k = substr($k, 0, $i);
}
$k = ltrim($k, ' ');
if ($ignoreBrackets) {
$q[$k][] = urldecode(substr($v, 1));
continue;
}
if (false === $i = strpos($k, '[')) {
$q[] = bin2hex($k).$v;
} else {
$q[] = bin2hex(substr($k, 0, $i)).rawurlencode(substr($k, $i)).$v;
}
}
if ($ignoreBrackets) {
return $q;
}
parse_str(implode('&', $q), $q);
$query = [];
foreach ($q as $k => $v) {
if (false !== $i = strpos($k, '_')) {
$query[substr_replace($k, hex2bin(substr($k, 0, $i)).'[', 0, 1 + $i)] = $v;
} else {
$query[hex2bin($k)] = $v;
}
}
return $query;
}
private static function groupParts(array $matches, string $separators, bool $first = true): array
{
$separator = $separators[0];
$separators = substr($separators, 1) ?: '';
$i = 0;
if ('' === $separators && !$first) {
$parts = [''];
foreach ($matches as $match) {
if (!$i && isset($match['separator'])) {
$i = 1;
$parts[1] = '';
} else {
$parts[$i] .= self::unquote($match[0]);
}
}
return $parts;
}
$parts = [];
$partMatches = [];
foreach ($matches as $match) {
if (($match['separator'] ?? null) === $separator) {
++$i;
} else {
$partMatches[$i][] = $match;
}
}
foreach ($partMatches as $matches) {
$parts[] = '' === $separators ? self::unquote($matches[0][0]) : self::groupParts($matches, $separators, false);
}
return $parts;
}
}
Home - Turnverein Dornstetten e.V.
Unser Verein »
Der TV Dornstetten im Wandel der Zeit: von 1882 bis heute – erfahren Sie alles über unseren Verein.
Unser Verein
Sportangebot »
Ob Breiten- oder Leistungssport. Unser attraktives Sportangebot bietet für jeden etwas.
Unser Sportangebot
Vereinskleidung »
Gemeinschaftsgefühl – Stärkung des Zusammenhalts – unverwechselbare Außenwirkung – gemeinsamer Auftritt
Vereinskleidung
Mitglied werden »
Unser Angebot überzeugt Sie? Werden Sie heute noch Mitglied und nutzen Sie unser reichhaltiges Sportangebot.
Jetzt Mitglied werden
Turnverein 1882 Dornstetten e. V.
Herzlich Willkommen auf der Seite des TV Dornstetten!
Seit 1882 bietet der TV Dornstetten zahlreiche Sportangebote, einen sozialen Treffpunkt und gemeinsame Veranstaltungen für den Großraum Dornstetten.
Turnen
Leichtathletik
Fitness
Gesundheits- und Seniorensport
Volleyball
Tischtennis
Die nächsten Veranstaltungen
Präventions- und Schutzkonzept
Projekt Verein 2030
Mobilität, Globalisierung, New Work oder Urbanisierung - Megatrends, die unsere Gesellschaft prägen.
Auch der TV 1882 Dornstetten muss sich diesen Herausforderungen stellen. In Zusammenarbeit mit dem Schwäbischen Turnerbund hat der Verein daher ein einzigartiges Projekt gestartet – Verein 2030 .
Ziel des Projektes: Wir wappnen uns für die Megatrends und ergreifen Maßnahmen, um auch in Zukunft ein attraktives Angebot für unsere Mitglieder und die Bevölkerung anbieten zu können. Wir analysieren die Struktur des Vereins, sein Angebot, das öffentliche Auftreten sowie Kooperationen mit verschiedenen Trägern aus der Region in Projektgruppen. Dieses spannende Projekt bietet in den kommenden 10 Jahren einen tiefen Einblick in die Arbeit und Wandlungsfähigkeit des Vereins.
Dein Verein braucht dich! Mehr Infos hier
Mach mit und gestalte aktiv die Zukunft des TV Dornstetten! Melde dich dazu einfach unter: info@tv-dornstetten.de
Unsere Sponsoren
Gemeinsam sind wir stark - vielen Dank für Ihre Unterstützung!
Copyrights Turnverein 1882 Dornstetten e.V. © | 2024 | Hosting/Design
weber-netz.com
Wir im TV Dornstetten wissen, wer bei uns tätig ist!
Wir im TV Dornstetten schauen hin!
Wir verfügen über Wissen, wir schauen hin, wir kennen unsere Grenzen!
>>mehr zum Präventions- und Schutzkonzept<<