| Server IP : 202.61.199.114 / Your IP : 216.73.217.139 Web Server : nginx/1.22.1 System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web20 ( 1018) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/clients/client2/web20/web/wp-content/plugins/dgt-verkehrsmonitor/includes/ |
Upload File : |
<?php
/**
* Hilfsfunktionen.
*
* @package dgt-verkehrsmonitor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
function dgt_vm_bundeslaender() {
return array(
'baden-wuerttemberg' => 'Baden-Württemberg',
'bayern' => 'Bayern',
'berlin' => 'Berlin',
'brandenburg' => 'Brandenburg',
'bremen' => 'Bremen',
'hamburg' => 'Hamburg',
'hessen' => 'Hessen',
'mecklenburg-vorpommern' => 'Mecklenburg-Vorpommern',
'niedersachsen' => 'Niedersachsen',
'nordrhein-westfalen' => 'Nordrhein-Westfalen',
'rheinland-pfalz' => 'Rheinland-Pfalz',
'saarland' => 'Saarland',
'sachsen' => 'Sachsen',
'sachsen-anhalt' => 'Sachsen-Anhalt',
'schleswig-holstein' => 'Schleswig-Holstein',
'thueringen' => 'Thüringen',
);
}
function dgt_vm_bundesland_name( $slug ) {
$all = dgt_vm_bundeslaender();
return isset( $all[ $slug ] ) ? $all[ $slug ] : '';
}
function dgt_vm_bundesland_kuerzel() {
return array(
'baden-wuerttemberg' => 'BW',
'bayern' => 'BY',
'berlin' => 'BE',
'brandenburg' => 'BB',
'bremen' => 'HB',
'hamburg' => 'HH',
'hessen' => 'HE',
'mecklenburg-vorpommern' => 'MV',
'niedersachsen' => 'NI',
'nordrhein-westfalen' => 'NW',
'rheinland-pfalz' => 'RP',
'saarland' => 'SL',
'sachsen' => 'SN',
'sachsen-anhalt' => 'ST',
'schleswig-holstein' => 'SH',
'thueringen' => 'TH',
);
}
function dgt_vm_is_vm_page() {
return (bool) get_query_var( 'dgt_vm' );
}
/* ─── URLs ─────────────────────────────────────────────── */
function dgt_vm_url() {
return home_url( '/verkehrsmonitor/' );
}
function dgt_vm_report_url( $date = '' ) {
if ( ! $date || 'heute' === $date ) {
return home_url( '/verkehrsmonitor/heute/' );
}
return home_url( '/verkehrsmonitor/report/' . $date . '/' );
}
function dgt_vm_bundesland_url( $slug ) {
return home_url( '/verkehrsmonitor/' . $slug . '/' );
}
function dgt_vm_stadt_url( $bl_slug, $stadt ) {
return home_url( '/verkehrsmonitor/' . $bl_slug . '/' . sanitize_title( $stadt ) . '/' );
}
function dgt_vm_incident_url( $incident_or_bl, $ai_slug = '' ) {
if ( is_object( $incident_or_bl ) ) {
$inc = $incident_or_bl;
return home_url( '/verkehrsmonitor/' . $inc->bundesland . '/' . $inc->source_date . '/' . $inc->ai_slug . '/' );
}
return home_url( '/verkehrsmonitor/' . $incident_or_bl . '/' . $ai_slug . '/' );
}
function dgt_vm_kategorie_url( $kat ) {
return home_url( '/verkehrsmonitor/' . $kat . '/' );
}
function dgt_vm_statistiken_url() {
return home_url( '/verkehrsmonitor/statistiken/' );
}
function dgt_vm_archiv_url( $year = '', $month = '' ) {
$url = home_url( '/verkehrsmonitor/archiv/' );
if ( $year ) {
$url .= $year . '/';
if ( $month ) {
$url .= $month . '/';
}
}
return $url;
}
/* ─── Delikt-Helfer ────────────────────────────────────── */
function dgt_vm_delikt_label( $delikt ) {
$labels = array(
'alkohol' => 'Alkohol',
'drogen' => 'Drogen',
'beides' => 'Alkohol & Drogen',
'sonstiges' => 'Sonstiges',
);
return isset( $labels[ $delikt ] ) ? $labels[ $delikt ] : $delikt;
}
function dgt_vm_delikt_class( $delikt ) {
$map = array(
'alkohol' => 'vm-delikt--alkohol',
'drogen' => 'vm-delikt--drogen',
'beides' => 'vm-delikt--beides',
'sonstiges' => 'vm-delikt--sonstig',
);
return isset( $map[ $delikt ] ) ? $map[ $delikt ] : '';
}
function dgt_vm_substanz_label( $key ) {
$labels = array(
'cannabis' => 'Cannabis',
'kokain' => 'Kokain',
'amphetamin' => 'Amphetamin',
'heroin' => 'Heroin',
'mdma' => 'MDMA',
'mischkonsum' => 'Mischkonsum',
'medikamente' => 'Medikamente',
'sonstige' => 'Sonstige',
);
return isset( $labels[ $key ] ) ? $labels[ $key ] : ucfirst( $key );
}
function dgt_vm_substanz_seiten() {
return array( 'cannabis', 'kokain', 'amphetamin', 'mischkonsum', 'medikamente' );
}
function dgt_vm_kategorie_seiten() {
return array( 'alkohol-am-steuer', 'drogen-am-steuer', 'unfaelle' );
}
function dgt_vm_format_date( $date ) {
if ( ! $date ) {
return '';
}
return date_i18n( 'j. F Y', strtotime( $date ) );
}
function dgt_vm_format_datetime( $datetime ) {
if ( ! $datetime ) {
return '';
}
return date_i18n( 'j. F Y, H:i', strtotime( $datetime ) );
}
function dgt_vm_trend_arrow( $current, $previous ) {
if ( ! $previous ) {
return '';
}
$pct = round( ( $current - $previous ) / $previous * 100 );
if ( $pct > 0 ) {
return '<span class="vm-trend vm-trend--up">+' . $pct . ' %</span>';
}
if ( $pct < 0 ) {
return '<span class="vm-trend vm-trend--down">' . $pct . ' %</span>';
}
return '<span class="vm-trend vm-trend--flat">±0 %</span>';
}