diff --git a/assets/calendar.css b/assets/calendar.css
new file mode 100644
index 0000000..9524ac5
--- /dev/null
+++ b/assets/calendar.css
@@ -0,0 +1,52 @@
+.bdp_cal_outer {
+ background-color: #ffffff;
+ width: 85%;
+ margin: auto;
+ padding: 10px;
+ border-style: solid; border-color: #d0d0d0; border-radius: 10px; padding: 15px; border-width: 1px;
+ box-shadow: 2px 2px 5px #c0c0c0;
+}
+
+.bdp_cal_inner {
+ border-style: solid; border-color: #d0d0d0; border-radius: 10px; padding: 15px; border-width: 1px;
+ box-shadow: 2px 2px 5px #c0c0c0;
+ width: 80%;
+ margin: 0 auto 40px;
+}
+
+.bdp_cal_inner legend {
+ background-color: #ffcb04;
+ background: linear-gradient(#ffffff 5%, #ffcb04);
+ color: #3163bd;
+ width: 150px;
+ padding: 5px 0 5px 25px;
+ font-weight: bold;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #d0d0d0;
+ border-radius: 10px;
+ box-shadow: 2px 2px 5px #c0c0c0;
+}
+
+.bdp_cal_inner table {
+ width: 100%;
+}
+
+.bdp_cal_inner table tr td:first-child {
+ width: 100px;
+ font-weight: bold;
+}
+
+.bdp_cal_inner table tr td:nth-child(2) {
+ padding:5px 10px;
+}
+
+.bdp_cal_inner table tr td:last-child {
+ width: 100%;
+ font-weight: bold;
+}
+
+
+.long_text {
+ width: 80%;
+}
\ No newline at end of file
diff --git a/assets/dashboard.style.css.tpl b/assets/dashboard.style.css.tpl
new file mode 100644
index 0000000..f0018b7
--- /dev/null
+++ b/assets/dashboard.style.css.tpl
@@ -0,0 +1,36 @@
+
\ No newline at end of file
diff --git a/assets/security.css b/assets/security.css
new file mode 100644
index 0000000..be7bfbb
--- /dev/null
+++ b/assets/security.css
@@ -0,0 +1,55 @@
+.bdp_security_outer {
+ background-color: #ffffff;
+ width: 85%;
+ margin: auto;
+ padding: 10px;
+ border-style: solid; border-color: #d0d0d0; border-radius: 10px; padding: 15px; border-width: 1px;
+ box-shadow: 2px 2px 5px #c0c0c0;
+}
+
+.bdp_security_inner {
+ border-style: solid; border-color: #d0d0d0; border-radius: 10px; padding: 15px; border-width: 1px;
+ box-shadow: 2px 2px 5px #c0c0c0;
+ width: 80%;
+ margin: 0 auto 40px;
+}
+
+.bdp_security_inner legend {
+ background-color: #ffcb04;
+ background: linear-gradient(#ffffff 5%, #ffcb04);
+ color: #3163bd;
+ width: 150px;
+ padding: 5px 0 5px 25px;
+ font-weight: bold;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #d0d0d0;
+ border-radius: 10px;
+ box-shadow: 2px 2px 5px #c0c0c0;
+}
+
+.bdp_security_inner table {
+ width: 100%;
+}
+
+.bdp_security_inner table tr td:first-child {
+ width: 75px;
+ vertical-align: top;
+ font-weight: bold;
+ padding-top: 10px;
+}
+
+.bdp_security_inner table tr td:nth-child(2) {
+ vertical-align: top;
+ padding:5px 10px;
+}
+
+.bdp_security_inner table tr td:last-child {
+
+ font-weight: bold;
+}
+
+
+.long_text {
+ width: 80%;
+}
\ No newline at end of file
diff --git a/assets/wordpress-bdp.css b/assets/wordpress-bdp.css
new file mode 100644
index 0000000..1e137fe
--- /dev/null
+++ b/assets/wordpress-bdp.css
@@ -0,0 +1,87 @@
+#adminmenu,
+#wpadminbar,
+#adminmenuwrap,
+#adminmenuback {
+ background-color: #ffcb04 !important;
+}
+
+#toplevel_page_limit-login-attempts,
+#wp-admin-bar-llar-root {
+ display: none;
+}
+
+.wp-submenu-wrap,
+.wp-submenu-head {
+ color: #FFFFFF !important;
+}
+
+.wp-has-submenu,
+.wp-not-current-submenu,
+.menu-top,
+
+#collapse-button,
+#wp-submenu ul,
+#wp-admin-bar-site-name,
+.ab-item
+{
+ color: #46484d !important;
+ font-weight: bold !important;
+}
+.wp-menu-open ,
+.wp-has-current-submenu li,
+#adminmenu ul
+{
+ background-color: #3163bd !important;
+ color: #FFFFFF !important;
+}
+
+.wp-not-current-submenu:hover,
+#wpadminbar .ab-item:hover
+{
+ background-color: #3163bd !important;
+ color: #FFFFFF !important;
+
+}
+
+.ab-submenu {
+ background-color: #ffcb04 !important;
+}
+
+#wp-admin-bar-updates,
+#wp-admin-bar-comments,
+#wp-admin-bar-new-content,
+#wp-admin-bar-wp-logo
+{
+ display: none;
+}
+
+.bdp_submit:hover {
+ color: #ffffff;
+ background-color: #3163bd;
+ cursor: pointer;
+ border-radius: 5px;
+}
+
+.bdp_submit {
+ background-color: #ffffff;
+ padding: 5px 25px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #769be7;
+ cursor: pointer;
+ border-radius: 5px;
+ box-shadow: 2px 2px 2px #d0d0d0;
+}
+
+#bdp_success {
+ background-color: #ffffff;
+ border-color: #c3c4c7;
+ border-left-color: #00a32a;
+ padding: 10px 12px;
+ margin: 5px 0 15px;
+ border-width: 1px;
+ border-style: solid;
+ border-left-width: 4px;
+ width: 97%;
+
+}
\ No newline at end of file
diff --git a/bdp-kompass.php b/bdp-kompass.php
new file mode 100644
index 0000000..aa29d97
--- /dev/null
+++ b/bdp-kompass.php
@@ -0,0 +1,201 @@
+plugin_slug = 'bdp-kompass';
+ $this->updateUrl = $plugin_data['UpdateURI'] . '/info.json';
+ $this->version = $plugin_data['Version'];
+ $this->cache_key = 'bdp_kompass_upd';
+ $this->cache_allowed = true;
+
+ add_filter('plugins_api', array($this, 'info'), 20, 3);
+ add_filter('site_transient_update_plugins', array($this, 'update'));
+ add_action('upgrader_process_complete', array($this, 'purge'), 10, 2);
+ }
+
+ public function request()
+ {
+ $remote = get_transient($this->cache_key);
+
+ if (false === $remote || !$this->cache_allowed) {
+
+ $remote = wp_remote_get(
+ $this->updateUrl
+ ,
+ array(
+ 'timeout' => 10,
+ 'headers' => array(
+ 'Accept' => 'application/json'
+ )
+ )
+ );
+
+ if (
+ is_wp_error($remote)
+ || 200 !== wp_remote_retrieve_response_code($remote)
+ || empty(wp_remote_retrieve_body($remote))
+ ) {
+ return false;
+ }
+
+ set_transient($this->cache_key, $remote, 3600);
+ }
+
+ $remote = json_decode(wp_remote_retrieve_body($remote));
+ return $remote;
+
+ }
+
+
+ function info($res = '', $action = '', $args = '')
+ {
+ if (!isset($args->slug) || $args->slug !== $this->plugin_slug) {
+ return $res;
+ }
+
+ // get updates
+ $remote = $this->request();
+ if (!$remote) {
+ return $res;
+ }
+
+ $res = new stdClass();
+
+ $res->name = $remote->name;
+ $res->slug = $remote->slug;
+ $res->version = $remote->version;
+ $res->tested = $remote->tested;
+ $res->requires = $remote->requires;
+ $res->author = $remote->author;
+ $res->author_profile = $remote->author_profile;
+ $res->download_link = $remote->download_url;
+ $res->trunk = $remote->download_url;
+ $res->requires_php = $remote->requires_php;
+ $res->last_updated = $remote->last_updated;
+
+ $res->sections = array(
+ 'description' => $remote->sections->description,
+ 'installation' => $remote->sections->installation,
+ 'changelog' => $remote->sections->changelog
+ );
+
+ if (!empty($remote->banners)) {
+ $res->banners = array(
+ 'low' => $remote->banners->low,
+ 'high' => $remote->banners->high
+ );
+ }
+
+ return $res;
+ }
+
+ public function update($transient)
+ {
+ if (empty($transient->checked)) {
+ return $transient;
+ }
+
+ $remote = $this->request();
+ if(
+ $remote
+ && version_compare( $this->version, $remote->version, '<' )
+ && version_compare( $remote->requires, get_bloginfo( 'version' ), '<=' )
+ && version_compare( $remote->requires_php, PHP_VERSION, '<' )
+ ) {
+ $res = new stdClass();
+ $res->slug = $this->plugin_slug;
+ $res->plugin = plugin_basename( __FILE__ );
+ $res->new_version = $remote->version;
+ $res->tested = $remote->tested;
+ $res->package = $remote->download_url;
+
+ $transient->response[ $res->plugin ] = $res;
+
+ } else {
+ $res = new stdClass();
+ $res->slug = $this->plugin_slug;
+ $res->plugin = plugin_basename( __FILE__ );
+ $transient->no_update[ $res->plugin ] = $res;
+ }
+
+ return $transient;
+ }
+
+ public function purge($upgrader, $options)
+ {
+ if (
+ $this->cache_allowed
+ && 'update' === $options['action']
+ && 'plugin' === $options['type']
+ ) {
+ delete_transient($this->cache_key);
+ }
+ }
+}
+$class = new BdpVersionChecker();
+
+add_filter( 'plugins_api', array( $class, 'info' ), 20, 3 );
diff --git a/buena/404.php b/buena/404.php
new file mode 100644
index 0000000..543055f
--- /dev/null
+++ b/buena/404.php
@@ -0,0 +1,96 @@
+
+
+
+
+>
+
+
+
+
+
+
+
+
+
+
+
+>
+
+
+
+ 'primary', 'depth' => 2, 'container' => 'nav', 'container_class' => 'nav-menu' ] ); ?>
+
+
+
+
+
+
+
+ '' ] ); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buena/comments.php b/buena/comments.php
new file mode 100644
index 0000000..3669590
--- /dev/null
+++ b/buena/comments.php
@@ -0,0 +1,27 @@
+%s', __( 'Kommentare werden erst angezeigt, wenn das Kennwort eingegeben wurde.', 'buena-theme' ) );
+ return;
+}
+
+// FIXME: Hier sollten die Social-Media-Knöpfe auftauchen…
+
+?>
+
diff --git a/buena/content.php b/buena/content.php
new file mode 100644
index 0000000..54689ca
--- /dev/null
+++ b/buena/content.php
@@ -0,0 +1,17 @@
+>
+
+
+
+ '' ) ); ?>
+
+
+ '' ] ); ?>
+
+
+
+
+
+
+
diff --git a/buena/editor-style.css b/buena/editor-style.css
new file mode 100644
index 0000000..9547505
--- /dev/null
+++ b/buena/editor-style.css
@@ -0,0 +1,104 @@
+@charset "UTF-8";
+
+@import url("font/ihs.css");
+
+html, body { border: 0 none; padding: 0; margin: 0; min-height: 100%; position: static; }
+html { font-family: Sans-Serif; background: url("img/holz.jpg") #dbb97b; position: relative; }
+body { margin: 1em; padding: 1em; max-width: 710px; background: #fff; font-size: 81.3% !important; }
+body.post-type-gallery { background: transparent; }
+header, hgroup, nav, footer, article { display: block; }
+.h, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { margin: 0; font-family: IHS, Serif; font-size: 1em; font-weight: normal; font-style: normal; }
+button, input, select, optgroup, option { margin: 0; font: inherit; color: inherit; }
+button, input[type="button"], input[type="submit"], input[type="reset"] { cursor: pointer; }
+p, ul, ol, dt { line-height: 1.5; }
+abbr { border-bottom: 1px dotted; }
+a { color: #1d4899; }
+figure, .wp-caption { margin: 0; max-width: 100%; }
+figcaption, .wp-caption-text { font-style: italic; padding: 0.5em 0; }
+.screen-reader-text { display: none; }
+.aligncenter { margin: 0 auto; }
+.alignleft { float: left; margin: 0 1em 0 0; }
+.alignright { float: right; margin: 0 0 0 1em; }
+
+::-moz-selection { background: #1d4899; color: #ffcb04; text-shadow: none; outline: 2px solid #1d4899; }
+ ::selection { background: #1d4899; color: #ffcb04; text-shadow: none; outline: 2px solid #1d4899; }
+
+/* Media object */
+.media { margin: 1em 0; }
+.media, .bd { overflow: hidden; _overflow: visible; }
+/*.media img { display: block; }*/
+/* Clearfix */
+.clearfix::after,
+.clearfix::before,
+.media::after,
+.media::before { content: " "; display: table; }
+.clearfix::after,
+.media::after { clear: both; }
+
+/* Überschriften mit Bild darunter */
+.h-box { position: relative; display: block; margin-bottom: 1em; text-decoration: none; }
+.h-box > img { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
+.h-box > .wrap { position: absolute; max-width: 100%; left: 0; }
+.h-box > .wrap > * { display: inline; -o-box-decoration-break: clone; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
+
+.h-box-teaser { box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3); margin-left: -240px; line-height: 1; display: inline-block; width: 1300px; max-width: 100%; }
+.h-box-teaser > img { position: static; }
+.h-box-teaser > .wrap { bottom: 1em; padding-left: 240px; }
+.h-box-teaser > .wrap > * { background: rgba(56, 46, 35, 0.7); color: #ffcb04; padding: 2px 13px 4px; font-size: 52px; line-height: 78px; }
+@media (max-width: 720px) {
+ .h-box-teaser { margin-top: 1em; margin-left: 0; }
+ .h-box-teaser > .wrap { padding-left: 1em; }
+ .h-box-teaser > .wrap > * { font-size: 2em; line-height: 39px; }
+}
+
+.h-box-blaugelb { padding-top: 47.1428571%; }
+.h-box-blaugelb > .wrap { bottom: 0; font-size: 18px; }
+.h-box-blaugelb > .wrap > * { color: #1d4899; background: #ffcb04; padding: 3px 5px; line-height: 26px; }
+
+.h-box-blaugelb-bildlos { padding: 0; }
+.h-box-blaugelb-bildlos > .wrap { position: static; }
+/**/
+
+.container { max-width: 1020px; }
+.page .container,
+.single-post:not(.single-format-gallery) .container { max-width: 710px; }
+
+.content-singular .format-gallery { background: transparent; padding: 0; margin: 0; position: relative; }
+.content-singular .format-gallery .gallery { display: flex; flex-wrap: wrap; align-content: space-between; align-items: flex-start; }
+.content-singular .format-gallery .gallery-item { background: #fff; padding: 1em; margin: 0 1em 1em 0; }
+.gallery-columns-1 .gallery-item { flex: 1 0 50%; }
+.gallery-columns-2 .gallery-item { flex: 1 0 34%; }
+.gallery-columns-3 .gallery-item { flex: 1 0 25%; }
+.gallery-columns-4 .gallery-item { flex: 1 0 20%; }
+
+.content-gallery { display: flex; position: relative; z-index: 10; flex-wrap: wrap; overflow: hidden; }
+.content-gallery > article { flex: 1 1 25%; }
+body > :first-child { margin-top: 0; }
+body > :last-child { margin-bottom: 0; }
+.content-singular > article:not(.format-gallery),
+.content-gallery > article,
+.commentlist article,
+.comment-form { min-width: 20em; background: #fff; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); }
+.content-gallery > article { max-width: calc(33.333% - 1em); }
+@media (max-width: 800px) { .content-gallery > article { max-width: 100%; } }
+
+/* WordPress-Wünsche */
+.sticky {}
+
+img { max-width: 100%; height: auto; border: 0 none; vertical-align: middle; }
+ul, ol { padding-left: 2em; }
+dl, ul, ol, h1, h2, h3, h4, h5, h6, blockquote, p, table { margin: 0.5em 0; }
+dd, li > ol, li > ul { margin: 0; }
+dt { font-weight: bold; }
+blockquote, dd { padding-left: 2em; }
+body > p:empty:last-child { margin: -0.5em 0 0.5em; }
+h3, .h3, h4, .h4, h5, .h5, h6, .h6 { display: inline-block; background: #ffcb04; color: #1d4899; margin-bottom: 0; padding: 2px 4px; }
+h3, .h3 { font-size: 18px; padding: 3px 5px; }
+h4, .h4 { font-size: 16px; }
+h5, .h5 { font-size: 14px; }
+.gallery-caption {}
+.bypostauthor {}
+.twitter-tweet {}
+
+h1, .h1, h2, .h2 { font-size: 20px; }
+h1::after, h2::after { color: red; background: black; display: block; padding: 5px; content: "Bitte Überschriften ab 3. Ordnung benutzen."; }
diff --git a/buena/font/ihs.css b/buena/font/ihs.css
new file mode 100644
index 0000000..c37b7d3
--- /dev/null
+++ b/buena/font/ihs.css
@@ -0,0 +1,11 @@
+@font-face {
+ font-family: IHS;
+ src: url('ihs.eot');
+ src: url('ihs.eot?#iefix') format('embedded-opentype'),
+ url('ihs.woff2') format('woff2'),
+ url('ihs.woff') format('woff'),
+ url('ihs.ttf') format('truetype'),
+ url('ihs.svg#immenhausenregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
diff --git a/buena/font/ihs.eot b/buena/font/ihs.eot
new file mode 100644
index 0000000..2428aea
Binary files /dev/null and b/buena/font/ihs.eot differ
diff --git a/buena/font/ihs.svg b/buena/font/ihs.svg
new file mode 100644
index 0000000..bd41055
--- /dev/null
+++ b/buena/font/ihs.svg
@@ -0,0 +1,1825 @@
+
+
+
\ No newline at end of file
diff --git a/buena/font/ihs.ttf b/buena/font/ihs.ttf
new file mode 100644
index 0000000..c580f0b
Binary files /dev/null and b/buena/font/ihs.ttf differ
diff --git a/buena/font/ihs.woff b/buena/font/ihs.woff
new file mode 100644
index 0000000..b4b0926
Binary files /dev/null and b/buena/font/ihs.woff differ
diff --git a/buena/font/ihs.woff2 b/buena/font/ihs.woff2
new file mode 100644
index 0000000..d56121d
Binary files /dev/null and b/buena/font/ihs.woff2 differ
diff --git a/buena/functions.php b/buena/functions.php
new file mode 100644
index 0000000..b50f667
--- /dev/null
+++ b/buena/functions.php
@@ -0,0 +1,89 @@
+= 50400 ) {
+ // Register autoloader if updater plugin missing
+ if ( ! class_exists( 'Shy\WordPress\Theme' ) ) {
+ if ( ! include_once __DIR__ . '/use/shy-wordpress/src/autoloader.php' ) {
+ trigger_pfadfinden_plugin_error(
+ __( 'Das Theme ist unvollständig und konnte nicht geladen werden. Neuinstallation müsste helfen.', 'buena-theme' ),
+ E_USER_ERROR
+ );
+ return;
+ }
+ }
+
+ // Register our autoloader
+ if ( ! include_once __DIR__ . '/src/autoloader.php' ) {
+ trigger_pfadfinden_plugin_error(
+ __( 'Das Theme ist unvollständig und konnte nicht geladen werden. Neuinstallation müsste helfen.', 'buena-theme' ),
+ E_USER_ERROR
+ );
+ return;
+ }
+
+ /**
+ * @return \Pfadfinden\WordPress\BuenaTheme
+ */
+ function buena_get_theme()
+ {
+ static $theme = null;
+ if (!$theme) {
+ $theme = new ReflectionClass( 'Pfadfinden\WordPress\BuenaTheme' );
+ $theme = $theme->newInstance();
+ }
+
+ return $theme;
+ }
+
+ /**
+ * @param string $method
+ * @return callable
+ */
+ function buena_get_callback( $method )
+ {
+ return array( buena_get_theme(), (string) $method );
+ }
+
+ return buena_get_theme();
+}
+
+
+// Display error message
+trigger_pfadfinden_plugin_error(
+ sprintf(
+ __( 'You need at least PHP 5.4 to use the Buena theme. Your are using %s.', 'buena-theme' ),
+ PHP_VERSION
+ ),
+ E_USER_ERROR
+);
diff --git a/buena/img/BDP001_Icon_Empfehlen.png b/buena/img/BDP001_Icon_Empfehlen.png
new file mode 100644
index 0000000..34bdc3a
Binary files /dev/null and b/buena/img/BDP001_Icon_Empfehlen.png differ
diff --git a/buena/img/bleistift.png b/buena/img/bleistift.png
new file mode 100644
index 0000000..6340713
Binary files /dev/null and b/buena/img/bleistift.png differ
diff --git a/buena/img/briefumschlag.png b/buena/img/briefumschlag.png
new file mode 100644
index 0000000..92111a0
Binary files /dev/null and b/buena/img/briefumschlag.png differ
diff --git a/buena/img/bundeszeichen.png b/buena/img/bundeszeichen.png
new file mode 100644
index 0000000..1d159fb
Binary files /dev/null and b/buena/img/bundeszeichen.png differ
diff --git a/buena/img/bundeszeichen@2x.png b/buena/img/bundeszeichen@2x.png
new file mode 100644
index 0000000..6e3b20c
Binary files /dev/null and b/buena/img/bundeszeichen@2x.png differ
diff --git a/buena/img/deutschlandkarte.png b/buena/img/deutschlandkarte.png
new file mode 100644
index 0000000..e0e8502
Binary files /dev/null and b/buena/img/deutschlandkarte.png differ
diff --git a/buena/img/favicon.ico b/buena/img/favicon.ico
new file mode 100644
index 0000000..40e98c6
Binary files /dev/null and b/buena/img/favicon.ico differ
diff --git a/buena/img/hamburger.png b/buena/img/hamburger.png
new file mode 100644
index 0000000..07348d7
Binary files /dev/null and b/buena/img/hamburger.png differ
diff --git a/buena/img/holz.jpg b/buena/img/holz.jpg
new file mode 100644
index 0000000..f06cfa2
Binary files /dev/null and b/buena/img/holz.jpg differ
diff --git a/buena/img/icon-drucken.png b/buena/img/icon-drucken.png
new file mode 100644
index 0000000..2ba0cc9
Binary files /dev/null and b/buena/img/icon-drucken.png differ
diff --git a/buena/img/icon-favoriten.png b/buena/img/icon-favoriten.png
new file mode 100644
index 0000000..b4b3f05
Binary files /dev/null and b/buena/img/icon-favoriten.png differ
diff --git a/buena/img/icon-impressum.png b/buena/img/icon-impressum.png
new file mode 100644
index 0000000..89d2aeb
Binary files /dev/null and b/buena/img/icon-impressum.png differ
diff --git a/buena/img/icon-kontakt.png b/buena/img/icon-kontakt.png
new file mode 100644
index 0000000..508a803
Binary files /dev/null and b/buena/img/icon-kontakt.png differ
diff --git a/buena/img/klufthemd.png b/buena/img/klufthemd.png
new file mode 100644
index 0000000..fd39951
Binary files /dev/null and b/buena/img/klufthemd.png differ
diff --git a/buena/img/leitbild_Kontakt_low.jpg b/buena/img/leitbild_Kontakt_low.jpg
new file mode 100644
index 0000000..77da787
Binary files /dev/null and b/buena/img/leitbild_Kontakt_low.jpg differ
diff --git a/buena/img/leitbild_Kontakt_low_klein.jpg b/buena/img/leitbild_Kontakt_low_klein.jpg
new file mode 100644
index 0000000..e1b8aa8
Binary files /dev/null and b/buena/img/leitbild_Kontakt_low_klein.jpg differ
diff --git a/buena/img/leitbild_aktionen_low.jpg b/buena/img/leitbild_aktionen_low.jpg
new file mode 100644
index 0000000..e454a9b
Binary files /dev/null and b/buena/img/leitbild_aktionen_low.jpg differ
diff --git a/buena/img/leitbild_aktionen_low_klein.jpg b/buena/img/leitbild_aktionen_low_klein.jpg
new file mode 100644
index 0000000..af4ca8c
Binary files /dev/null and b/buena/img/leitbild_aktionen_low_klein.jpg differ
diff --git a/buena/img/leitbild_bund.jpg b/buena/img/leitbild_bund.jpg
new file mode 100644
index 0000000..936de34
Binary files /dev/null and b/buena/img/leitbild_bund.jpg differ
diff --git a/buena/img/leitbild_bund_crop.jpg b/buena/img/leitbild_bund_crop.jpg
new file mode 100644
index 0000000..ff48638
Binary files /dev/null and b/buena/img/leitbild_bund_crop.jpg differ
diff --git a/buena/img/leitbild_bund_crop_klein.jpg b/buena/img/leitbild_bund_crop_klein.jpg
new file mode 100644
index 0000000..cd93f93
Binary files /dev/null and b/buena/img/leitbild_bund_crop_klein.jpg differ
diff --git a/buena/img/leitbild_ihs.jpg b/buena/img/leitbild_ihs.jpg
new file mode 100644
index 0000000..d1c40ae
Binary files /dev/null and b/buena/img/leitbild_ihs.jpg differ
diff --git a/buena/img/leitbild_ihs_klein.jpg b/buena/img/leitbild_ihs_klein.jpg
new file mode 100644
index 0000000..0a61331
Binary files /dev/null and b/buena/img/leitbild_ihs_klein.jpg differ
diff --git a/buena/img/leitbild_int2_low.jpg b/buena/img/leitbild_int2_low.jpg
new file mode 100644
index 0000000..8fc12c1
Binary files /dev/null and b/buena/img/leitbild_int2_low.jpg differ
diff --git a/buena/img/leitbild_int2_low_klein.jpg b/buena/img/leitbild_int2_low_klein.jpg
new file mode 100644
index 0000000..019f674
Binary files /dev/null and b/buena/img/leitbild_int2_low_klein.jpg differ
diff --git a/buena/img/leitbild_pfadfinden_low.jpg b/buena/img/leitbild_pfadfinden_low.jpg
new file mode 100644
index 0000000..9edcf2c
Binary files /dev/null and b/buena/img/leitbild_pfadfinden_low.jpg differ
diff --git a/buena/img/leitbild_pfadfinden_low_klein.jpg b/buena/img/leitbild_pfadfinden_low_klein.jpg
new file mode 100644
index 0000000..4029fba
Binary files /dev/null and b/buena/img/leitbild_pfadfinden_low_klein.jpg differ
diff --git a/buena/img/loeffel-topf.png b/buena/img/loeffel-topf.png
new file mode 100644
index 0000000..34e0e87
Binary files /dev/null and b/buena/img/loeffel-topf.png differ
diff --git a/buena/img/lupe.svg b/buena/img/lupe.svg
new file mode 100644
index 0000000..2bb647f
--- /dev/null
+++ b/buena/img/lupe.svg
@@ -0,0 +1 @@
+
diff --git a/buena/img/schatten.svg b/buena/img/schatten.svg
new file mode 100644
index 0000000..ad84ff5
--- /dev/null
+++ b/buena/img/schatten.svg
@@ -0,0 +1 @@
+
diff --git a/buena/img/streichholzschachtel.png b/buena/img/streichholzschachtel.png
new file mode 100644
index 0000000..84dbef7
Binary files /dev/null and b/buena/img/streichholzschachtel.png differ
diff --git a/buena/index.php b/buena/index.php
new file mode 100644
index 0000000..c823787
--- /dev/null
+++ b/buena/index.php
@@ -0,0 +1,106 @@
+
+
+
+
+>
+
+
+
+
+
+
+
+
+
+
+
+
+
+>
+
+
+
+ 'primary', 'depth' => 2, 'container' => 'nav', 'container_class' => 'nav-menu nav-menu-primary' ] ); ?>
+
+
+
+
+ getTeaserImage() ): ?>
+
+
+
+ printTitle(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buena/readme.txt b/buena/readme.txt
new file mode 100644
index 0000000..57bc7bb
--- /dev/null
+++ b/buena/readme.txt
@@ -0,0 +1,103 @@
+ Buena
+=======
+
+Das WordPress-Theme zum neuen Corporate Design des BdP.
+
+Änderungswünsche? Kritik?
+philipp.cordes@pfadfinden.de
+
+
+ Anderthalb Hinweise zur Benutzung
+-----------------------------------
+
+Das Theme ist noch nicht ganz fertig, an einigen Stellen wird noch gehobelt.
+
+In Beiträgen mögt ihr bitte erst Überschriften ab 3. Ordnung verwenden,
+die erster Ordnung sind für den Header und die zweiter Ordnung sind für
+die Titel der Beiträge. Es gibt dafür auch fette Hinweise beim Bearbeiten.
+
+
+ Eine kleine Änderungshistorie
+-------------------------------
+
+v1.0 - TODO
+ - Das Abschalten des Posterbilds für ist Seiten und Beiträge ohne Bild möglich.
+ - Beitragsarten und deren unterschiedliche Darstellung ist auch für Seiten verfügbar.
+ - Schmale Beitragsbilder (<1300px Breite) zerlegen das Layout nicht mehr.
+ - Login-Formular im Widgetbereich unterstützen.
+
+v0.99.7 - 21.09.2015
+ - Safari bricht jetzt Artikelauflistungen richtig um. Die anderen machen es auch etwas besser.
+ - Safari zeigt jetzt Suchfelder richtig an.
+ - Safari malt die Trennline in der Navigation nicht mehr zu dick.
+ - Wenn das Ajax-Login-Formular benutzt wird, verschwindet das Hamburgermenü nicht mehr.
+
+v0.99.6 - 19.09.2015
+ - Weitere Blau- und Gelbtöne einheitlich umgesetzt, v.a. im Editor.
+ - Update für Milu: Zusatz „Kategorie“ wird im Titel auf abendlager.pfadfinden.de nicht mehr angezeigt.
+ - Der linke Rand wird jetzt immer eingehalten, egal wie lang der Navigationsbereich ist.
+ - Anpassung an WordPress 4.3: Favicon kommt nur aus dem Theme, wenn kein eigenes gesetzt ist.
+ - Der Hinweis, dass Kommentare nicht möglich sind, wird standardmäßig ausgeblendet.
+ - Links in der Navigation färben sich jetzt anhand der Hierarchie im Menü ein, nicht derer der Seiten.
+
+v0.99.5 - 19.08.2015
+ - Seitentitel beschreiben jetzt besser, was tatsächlich angezeigt wird.
+ - Farben aus dem Handbuch einheitlich umgesetzt.
+
+v0.99.4 - 13.08.2015
+ - Das Menü wird automatisch wieder eingeblendet, wenn die Fensterbreite über 720px steigt.
+ - Fehlerkorrektur: Es werden keine Urls mehr unter dem Editorfeld ausgegeben.
+ - Das Theme ist nicht mehr auf das Plugin angewiesen. Die benötigte Bilbiothek shy-wordpress wird direkt mitgeliefert.
+
+v0.99.3 - 01.08.2015
+ - Der Editor sollte jetzt in den meisten Fällen eine realistische Vorschau bieten.
+ - Überschriften sind jetzt blau auf gelb.
+ Überschriften erster und zweiter Ordnung in Beiträgen und Seiten werden durch Überschriften dritter Ordnung ersetzt.
+ - Schrift „Immenhausen“ durch verbesserte Variante ausgetauscht.
+ - Kleinere Korrekturen an Abständen.
+
+v0.99.2 - 27.07.2015
+ - Kleinere Textanpassungen.
+
+v0.99.1 - 27.07.2015
+ - Auf großen Displays wird das Beitragsbild nicht mehr verzerrt.
+
+v0.99 - 26.07.2015
+ - Erster Kandidat zur Veröffentlichung als Version 1.0.
+ - Die Überschriften erstrahlen in vollem Glanz.
+ - Kommentare sehen besser aus.
+ - Das Theme ist responsive bis runter auf 300px.
+ - Fußleiste überarbeitet und zweigeteilt.
+
+v0.9.1 - 07.07.2015
+ - Fehlerkorrektur: Der Titel wird nicht mehr doppelt angezeigt.
+
+v0.9 - 03.07.2015
+ - Kommentare werden jetzt angezeigt.
+ - Etwas mehr responsive: Mindestbreite 700px für ordentliche Anzeige.
+
+v0.8 - 21.06.2015
+ - Standardwidgets sehen jetzt in der Leiste gut aus.
+ - Die Fußzeile sitzt jetzt fester an ihrem Platz.
+
+v0.7 - 18.06.2015
+ - Große Posterbilder hinzugefügt, die auch auf der Bundeswebseite zu sehen sind.
+ - Erhebliche Verbesserungen der Darstellung.
+
+v0.6 - 16.06.2015
+ - Mehr Unterstützung für HTML5.
+
+v0.5 - 16.06.2015
+ - Fehler behoben, der die WordPress-Installation unbrauchbar machen könnte.
+
+v0.4 - 11.06.2015
+ - Navigation überarbeitet.
+
+v0.3 - 10.06.2015
+ - Webfont Immenhausen für Überschriften.
+
+v0.2 - 04.06.2015
+ - Grafiken eingebaut.
+
+v0.1 - 20.04.2015
+ - Erste Veröffentlichung.
diff --git a/buena/screenshot.png b/buena/screenshot.png
new file mode 100644
index 0000000..7909288
Binary files /dev/null and b/buena/screenshot.png differ
diff --git a/buena/searchform.php b/buena/searchform.php
new file mode 100644
index 0000000..16ba18d
--- /dev/null
+++ b/buena/searchform.php
@@ -0,0 +1,11 @@
+
diff --git a/buena/src/Pfadfinden/WordPress/BuenaSettings.php b/buena/src/Pfadfinden/WordPress/BuenaSettings.php
new file mode 100644
index 0000000..e7ad629
--- /dev/null
+++ b/buena/src/Pfadfinden/WordPress/BuenaSettings.php
@@ -0,0 +1,23 @@
+ false,
+ 'always_show_poster' => true,
+ ];
+ }
+}
diff --git a/buena/src/Pfadfinden/WordPress/BuenaSettingsPage.php b/buena/src/Pfadfinden/WordPress/BuenaSettingsPage.php
new file mode 100644
index 0000000..fb3532b
--- /dev/null
+++ b/buena/src/Pfadfinden/WordPress/BuenaSettingsPage.php
@@ -0,0 +1,32 @@
+addSection( '', 'buena' );
+
+ return array(
+ 'use_cdn' => new CheckboxField(),
+ 'always_show_poster' => new CheckboxField(),
+ );
+ }
+
+
+ public function getParentSlug()
+ {
+ return 'themes.php';
+ }
+
+ public function getTitle()
+ {
+ return __( 'Buena-Einstellungen', 'buena-theme' );
+ }
+}
diff --git a/buena/src/Pfadfinden/WordPress/BuenaTheme.php b/buena/src/Pfadfinden/WordPress/BuenaTheme.php
new file mode 100644
index 0000000..1dcd516
--- /dev/null
+++ b/buena/src/Pfadfinden/WordPress/BuenaTheme.php
@@ -0,0 +1,317 @@
+settings = new BuenaSettings();
+
+ $this->addHookMethod( 'after_setup_theme', 'afterSetupTheme' );
+ $this->addHookMethod( 'wp_enqueue_scripts', 'enqueueScriptsStyles' );
+
+ $this->addHookMethod( 'buena_search_form', 'printSearchForm' );
+
+ $this->addHookMethod( 'admin_init', 'initAdministration' );
+ $this->addHookMethod( 'mce_css', 'filterEditorStylesheets' );
+
+ $this->addHookMethod( 'wp_page_menu', 'filterPageMenu' );
+ $this->addHookMethod( 'widgets_init', 'registerSidebars' );
+
+ $this->addHookMethod( 'the_content', 'filterContent' );
+
+ $this->addHookMethod( 'image_size_names_choose', 'filterImageSizeNames' );
+ $this->addHookMethod( 'media_upload_tabs', 'filterMediaTabs' );
+ $this->addHookMethod( 'media_view_settings', 'filterMediaViewSettings' );
+ $this->addHookMethod( 'media_view_strings', 'filterMediaViewSettings' );
+ $this->addHookMethod( 'print_media_templates', 'printMediaTemplates' );
+ }
+
+
+ public function afterSetupTheme()
+ {
+ add_theme_support( 'title-tag' );
+ add_theme_support( 'automatic-feed-links' );
+
+ register_nav_menu( 'primary', __( 'Hauptmenü', 'buena-theme' ) );
+ register_nav_menu( 'footer', __( 'Fußzeile', 'buena-theme' ) );
+
+ add_theme_support( 'html5', [
+ 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption',
+ ] );
+
+ add_theme_support( 'post-thumbnails' );
+ $custom_header = [
+ 'width' => apply_filters( 'buena_header_image_width', 1300 ),
+ 'height' => apply_filters( 'buena_header_image_height', 635 ),
+ 'flex-width' => true,
+ 'flex-height' => true,
+ 'default-image' => get_template_directory_uri() . '/img/leitbild_aktionen_low.jpg',
+ 'uploads' => true,
+ 'header-text' => false,
+ ];
+ add_theme_support( 'custom-header', $custom_header );
+ set_post_thumbnail_size( $custom_header['width'], $custom_header['height'], true );
+
+ add_image_size( 'gallery-thumb', 350, 165, true );
+
+ register_default_headers( [
+ 'aktionen' => [
+ 'url' => '%s/img/leitbild_aktionen_low.jpg',
+ 'thumbnail_url' => '%s/img/leitbild_aktionen_low_klein.jpg',
+ 'description' => __( 'Leitbild Aktionen', 'buena-theme' ),
+ ],
+ 'bund' => [
+ 'url' => '%s/img/leitbild_bund_crop.jpg',
+ 'thumbnail_url' => '%s/img/leitbild_bund_crop_klein.jpg',
+ 'description' => __( 'Leitbild Bund', 'buena-theme' ),
+ ],
+ 'ihs' => [
+ 'url' => '%s/img/leitbild_ihs.jpg',
+ 'thumbnail_url' => '%s/img/leitbild_ihs_klein.jpg',
+ 'description' => __( 'Leitbild Immenhausen', 'buena-theme' ),
+ ],
+ 'international' => [
+ 'url' => '%s/img/leitbild_int2_low.jpg',
+ 'thumbnail_url' => '%s/img/leitbild_int2_low_klein.jpg',
+ 'description' => __( 'Leitbild International', 'buena-theme' ),
+ ],
+ 'kontakt' => [
+ 'url' => '%s/img/leitbild_Kontakt_low.jpg',
+ 'thumbnail_url' => '%s/img/leitbild_Kontakt_low_klein.jpg',
+ 'description' => __( 'Leitbild Kontakt', 'buena-theme' ),
+ ],
+ 'pfadfinden' => [
+ 'url' => '%s/img/leitbild_pfadfinden_low.jpg',
+ 'thumbnail_url' => '%s/img/leitbild_pfadfinden_low_klein.jpg',
+ 'description' => __( 'Leitbild Pfadfinden', 'buena-theme' ),
+ ],
+ ] );
+ }
+
+ public function getTeaserImage()
+ {
+ if ( is_page() || have_posts() && is_single() ) { // FIXME: is_singular()?
+ the_post();
+ $thumb = get_the_post_thumbnail( null, 'post-thumbnail', [ 'alt' => '' ] );
+ rewind_posts();
+
+ if ( $thumb ) {
+ return $thumb;
+ }
+ }
+
+ if ( is_home() || $this->settings['always_show_poster'] ) {
+ return sprintf(
+ '',
+ get_header_image(),
+ get_custom_header()->height,
+ get_custom_header()->width
+ );
+ }
+
+ return '';
+ }
+
+ /**
+ * Gibt einen Titel für die aktuelle Seite aus.
+ */
+ public function printTitle()
+ {
+ if ( is_singular() ) {
+ the_title();
+ } elseif ( is_category() && strpos( $_SERVER['HTTP_HOST'], 'abendlager.pfadfinden.de' ) !== false ) {
+ // FIXME: Workaround mit 1.0 entfernen.
+ single_cat_title( '', true );
+ } elseif ( is_archive() ) {
+ the_archive_title();
+ } elseif ( is_search() ) {
+ esc_html_e( sprintf(
+ __( 'Suche nach „%s“', 'buena-theme' ),
+ get_search_query( false )
+ ) );
+ } else {
+ bloginfo( 'description' );
+ }
+ }
+
+ public function enqueueScriptsStyles()
+ {
+ wp_enqueue_style( 'immenhausen-font', get_template_directory_uri() . '/font/ihs.css' );
+ wp_enqueue_style( 'buena-style', get_stylesheet_uri() );
+ }
+
+ /**
+ * Gibt das Suchformular aus. Nötig, damit im Kopf anderer Code stehen kann als anderswo.
+ */
+ public function printSearchForm()
+ {
+ get_search_form( true );
+ }
+
+ /**
+ * Tut, was dransteht.
+ */
+ public function registerSidebars()
+ {
+ register_sidebar( [
+ 'id' => 'below-navigation',
+ 'name' => __( 'Unter Navigation', 'buena-theme' ),
+ 'description' => __( 'Ziemlich schmal.', 'buena-theme' ),
+ 'before_title' => '',
+ ] );
+ register_sidebar( [
+ 'id' => 'footer',
+ 'name' => __( 'Fußleiste', 'buena-theme' ),
+ 'description' => __( 'Rechte Spalte des Briefumschlags. Recht flach. Füllt die ganze Breite aus, wenn kein Navigationsmenü zugewiesen ist.', 'buena-theme' ),
+ 'before_title' => '',
+ ] );
+ }
+
+ /**
+ * Ausgabe von wp_page_menu() filtern, dass sie wie wp_nav_menu() aussieht.
+ *
+ * @param string $menu
+ * @param array $args
+ * @return string
+ */
+ public function filterPageMenu( $menu, array $args )
+ {
+ if ( ! isset( $args['fallback_cb'] ) || $args['fallback_cb'] !== 'wp_page_menu' ) {
+ return $menu;
+ }
+
+ $vorher = '
+ +
+ + + + + + + +