aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--view/theme/cleanzero/cleanzero-green/style.css127
-rw-r--r--view/theme/cleanzero/cleanzero-purple/style.css127
-rw-r--r--view/theme/cleanzero/cleanzero/style.css127
-rw-r--r--view/theme/cleanzero/config.php79
-rw-r--r--view/theme/cleanzero/js/jquery.ae.image.resize.js69
-rw-r--r--view/theme/cleanzero/js/jquery.ae.image.resize.min.js1
-rw-r--r--view/theme/cleanzero/nav.tpl71
-rw-r--r--view/theme/cleanzero/screenshot.pngbin0 -> 125858 bytes
-rw-r--r--view/theme/cleanzero/style.css127
-rw-r--r--view/theme/cleanzero/style.php71
-rw-r--r--view/theme/cleanzero/theme.php76
-rw-r--r--view/theme/cleanzero/theme_settings.tpl10
12 files changed, 885 insertions, 0 deletions
diff --git a/view/theme/cleanzero/cleanzero-green/style.css b/view/theme/cleanzero/cleanzero-green/style.css
new file mode 100644
index 000000000..73feb5e60
--- /dev/null
+++ b/view/theme/cleanzero/cleanzero-green/style.css
@@ -0,0 +1,127 @@
+@import url('../greenzero/style.css');
+body {background-image:none;
+
+}
+
+.wall-item-content-wrapper {
+ border-top: 1px solid #ccc;
+//border-top:none;
+border-left:none;
+border-right:none;
+border-radius:0px;
+//border:none;
+ //background: #f8f8f8 !important;
+}
+
+.wall-item-content-wrapper.comment {
+ // background: #f8f8f8 !important;
+ // border-left: 1px solid #ccc;
+ border-top: 1px solid #ccc;
+border-left:none;
+border-right:none;
+border-radius:0px;
+ }
+
+ .wall-item-tools {
+// border-top: 1px solid #ccc;
+// background: #f8f8f8 !important;
+background: #ffffff !important;
+ }
+
+.comment-edit-text-empty, .comment-edit-text-full {
+ border: 1px solid #ccc;
+ border-left: 1px solid #EEE;
+ background: #ffffff;
+}
+
+.comment-edit-wrapper, .comment-wwedit-wrapper {
+ // background: #ffffff; !important;
+//background: #f8f8f8 !important;
+}
+
+
+
+
+
+section {
+ margin: 0px 10%;
+margin-right:12%;
+ background-image:none;
+}
+
+aside {
+ margin-left: 10%;
+ background-image:none;
+}
+nav {
+ margin-left: 32px;
+ margin-right: 5%;
+
+}
+
+nav #site-location {
+ top: 80px;
+ right: 5%;
+
+}
+
+.wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
+ border-radius: 3px;
+ -moz-border-radius: 3px;
+}
+
+.tabs { background-image:none;
+
+}
+.tab.active {
+ padding: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ border: 1px solid #CCCCCC;
+ //background: #F8F8F8;
+ font-weight: bold;
+}
+.tab { margin-right: 1px ;
+
+}
+
+#group-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#nets-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#saved-search-list {
+ border:none;
+}
+blockquote {
+ //background-color: #f8f8f8;
+ border: 1px solid #ccc;
+ -moz-border-radius: 3px;
+
+ border-radius: 3px;
+}
+.widget {
+border: none;
+}
+
+
+.wall-item-content {
+max-height: 20000px;
+overflow: none;
+}
+
+.nav-commlink, .nav-login-link {
+margin-top: 67px;
+height: 15px;
+float:left;
+padding: 6px 3px;
+}
+
+nav .nav-link {
+ //float: left;
+} \ No newline at end of file
diff --git a/view/theme/cleanzero/cleanzero-purple/style.css b/view/theme/cleanzero/cleanzero-purple/style.css
new file mode 100644
index 000000000..1de6e076e
--- /dev/null
+++ b/view/theme/cleanzero/cleanzero-purple/style.css
@@ -0,0 +1,127 @@
+@import url('../purplezero/style.css');
+body {background-image:none;
+
+}
+
+.wall-item-content-wrapper {
+ border-top: 1px solid #ccc;
+//border-top:none;
+border-left:none;
+border-right:none;
+border-radius:0px;
+//border:none;
+ //background: #f8f8f8 !important;
+}
+
+.wall-item-content-wrapper.comment {
+ // background: #f8f8f8 !important;
+ // border-left: 1px solid #ccc;
+ border-top: 1px solid #ccc;
+border-left:none;
+border-right:none;
+border-radius:0px;
+ }
+
+ .wall-item-tools {
+// border-top: 1px solid #ccc;
+// background: #f8f8f8 !important;
+background: #ffffff !important;
+ }
+
+.comment-edit-text-empty, .comment-edit-text-full {
+ border: 1px solid #ccc;
+ border-left: 1px solid #EEE;
+ background: #ffffff;
+}
+
+.comment-edit-wrapper, .comment-wwedit-wrapper {
+ // background: #ffffff; !important;
+// background: #f8f8f8 !important;
+}
+
+
+
+
+
+section {
+ margin: 0px 10%;
+margin-right:12%;
+ background-image:none;
+}
+
+aside {
+ margin-left: 10%;
+ background-image:none;
+}
+nav {
+ margin-left: 32px;
+ margin-right: 5%;
+
+}
+
+nav #site-location {
+ top: 80px;
+ right: 5%;
+
+}
+
+.wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
+ border-radius: 3px;
+ -moz-border-radius: 3px;
+}
+
+.tabs { background-image:none;
+
+}
+.tab.active {
+ padding: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ border: 1px solid #CCCCCC;
+ // background: #F8F8F8;
+ font-weight: bold;
+}
+.tab { margin-right: 1px ;
+
+}
+
+#group-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#nets-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#saved-search-list {
+ border:none;
+}
+blockquote {
+ background-color: #f8f8f8;
+ border: 1px solid #ccc;
+ -moz-border-radius: 3px;
+
+ border-radius: 3px;
+}
+.widget {
+border: none;
+}
+
+
+.wall-item-content {
+max-height: 20000px;
+overflow: none;
+}
+
+.nav-commlink, .nav-login-link {
+margin-top: 67px;
+height: 15px;
+float:left;
+padding: 6px 3px;
+}
+
+nav .nav-link {
+ //float: left;
+} \ No newline at end of file
diff --git a/view/theme/cleanzero/cleanzero/style.css b/view/theme/cleanzero/cleanzero/style.css
new file mode 100644
index 000000000..3efb8a25c
--- /dev/null
+++ b/view/theme/cleanzero/cleanzero/style.css
@@ -0,0 +1,127 @@
+@import url('../duepuntozero/style.css');
+body {background-image:none;
+
+}
+
+.wall-item-content-wrapper {
+ border-top: 1px solid #ccc;
+//border-top:none;
+border-left:none;
+border-right:none;
+border-radius:0px;
+//border:none;
+ //background: #f8f8f8 !important;
+}
+
+.wall-item-content-wrapper.comment {
+ background: #f8f8f8 !important;
+ // border-left: 1px solid #ccc;
+ border-top: 1px solid #ccc;
+border-left:none;
+border-right:none;
+border-radius:0px;
+ }
+
+ .wall-item-tools {
+// border-top: 1px solid #ccc;
+// background: #f8f8f8 !important;
+background: #ffffff !important;
+ }
+
+.comment-edit-text-empty, .comment-edit-text-full {
+ border: 1px solid #ccc;
+ border-left: 1px solid #EEE;
+ background: #ffffff;
+}
+
+.comment-edit-wrapper, .comment-wwedit-wrapper {
+ // background: #ffffff; !important;
+background: #f8f8f8 !important;
+}
+
+
+
+
+
+section {
+ margin: 0px 10%;
+margin-right:12%;
+ background-image:none;
+}
+
+aside {
+ margin-left: 10%;
+ background-image:none;
+}
+nav {
+ margin-left: 32px;
+ margin-right: 5%;
+
+}
+
+nav #site-location {
+ top: 80px;
+ right: 5%;
+
+}
+
+.wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
+ border-radius: 3px;
+ -moz-border-radius: 3px;
+}
+
+.tabs { background-image:none;
+
+}
+.tab.active {
+ padding: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ border: 1px solid #CCCCCC;
+ background: #F8F8F8;
+ font-weight: bold;
+}
+.tab { margin-right: 1px ;
+
+}
+
+#group-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#nets-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#saved-search-list {
+ border:none;
+}
+blockquote {
+ background-color: #f8f8f8;
+ border: 1px solid #ccc;
+ -moz-border-radius: 3px;
+
+ border-radius: 3px;
+}
+.widget {
+border: none;
+}
+
+
+.wall-item-content {
+max-height: 20000px;
+overflow: none;
+}
+
+.nav-commlink, .nav-login-link {
+margin-top: 67px;
+height: 15px;
+float:left;
+padding: 6px 3px;
+}
+
+nav .nav-link {
+ //float: left;
+} \ No newline at end of file
diff --git a/view/theme/cleanzero/config.php b/view/theme/cleanzero/config.php
new file mode 100644
index 000000000..7982a75c5
--- /dev/null
+++ b/view/theme/cleanzero/config.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Theme settings
+ */
+
+
+
+function theme_content(&$a){
+ if(!local_user())
+ return;
+
+ $resize = get_pconfig(local_user(), 'cleanzero', 'resize' );
+ $color = get_pconfig(local_user(), 'cleanzero', 'color' );
+ $font_size = get_pconfig(local_user(), 'cleanzero', 'font_size' );
+
+ return cleanzero_form($a,$color,$font_size,$resize);
+}
+
+function theme_post(&$a){
+ if(! local_user())
+ return;
+
+ if (isset($_POST['cleanzero-settings-submit'])){
+ set_pconfig(local_user(), 'cleanzero', 'resize', $_POST['cleanzero_resize']);
+ set_pconfig(local_user(), 'cleanzero', 'color', $_POST['cleanzero_color']);
+ set_pconfig(local_user(), 'cleanzero', 'font_size', $_POST['cleanzero_font_size']);
+ }
+}
+
+
+function theme_admin(&$a){
+ $resize = get_config('cleanzero', 'resize' );
+ $color = get_config('cleanzero', 'color' );
+ $font_size = get_config('cleanzero', 'font_size' );
+
+ return cleanzero_form($a,$color,$font_size,$resize);
+}
+
+function theme_admin_post(&$a){
+ if (isset($_POST['cleanzero-settings-submit'])){
+ set_config('cleanzero', 'resize', $_POST['cleanzero_resize']);
+ set_config('cleanzero', 'color', $_POST['cleanzero_color']);
+ set_config('cleanzero', 'font_size', $_POST['cleanzero_font_size']);
+ }
+}
+
+
+function cleanzero_form(&$a, $color,$font_size,$resize){
+ $colors = array(
+ "cleanzero"=>"cleanzero",
+ "cleanzero-green"=>"green",
+ "cleanzero-purple"=>"purple"
+ );
+ $font_sizes = array(
+ '12'=>'12',
+ "---"=>"---",
+ "16"=>"16",
+ "14"=>"14",
+ '10'=>'10',
+ );
+ $resizes = array(
+ "0"=>"0 (no resizing)",
+ "600"=>"1 (600px)",
+ "300"=>"2 (300px)",
+ "250"=>"3 (250px)",
+ "150"=>"4 (150px)",
+ );
+
+ $t = file_get_contents( dirname(__file__). "/theme_settings.tpl" );
+ $o .= replace_macros($t, array(
+ '$submit' => t('Submit'),
+ '$baseurl' => $a->get_baseurl(),
+ '$title' => t("Theme settings"),
+ '$resize' => array('cleanzero_resize',t ('Set resize level for images in posts and comments (width and height)'),$resize,'',$resizes),
+ '$font_size' => array('cleanzero_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes),
+ '$color' => array('cleanzero_color', t('Color scheme'), $color, '', $colors),
+ ));
+ return $o;
+}
diff --git a/view/theme/cleanzero/js/jquery.ae.image.resize.js b/view/theme/cleanzero/js/jquery.ae.image.resize.js
new file mode 100644
index 000000000..bac09cd45
--- /dev/null
+++ b/view/theme/cleanzero/js/jquery.ae.image.resize.js
@@ -0,0 +1,69 @@
+(function( $ ) {
+
+ $.fn.aeImageResize = function( params ) {
+
+ var aspectRatio = 0
+ // Nasty I know but it's done only once, so not too bad I guess
+ // Alternate suggestions welcome :)
+ , isIE6 = $.browser.msie && (6 == ~~ $.browser.version)
+ ;
+
+ // We cannot do much unless we have one of these
+ if ( !params.height && !params.width ) {
+ return this;
+ }
+
+ // Calculate aspect ratio now, if possible
+ if ( params.height && params.width ) {
+ aspectRatio = params.width / params.height;
+ }
+
+ // Attach handler to load
+ // Handler is executed just once per element
+ // Load event required for Webkit browsers
+ return this.one( "load", function() {
+
+ // Remove all attributes and CSS rules
+ this.removeAttribute( "height" );
+ this.removeAttribute( "width" );
+ this.style.height = this.style.width = "";
+
+ var imgHeight = this.height
+ , imgWidth = this.width
+ , imgAspectRatio = imgWidth / imgHeight
+ , bxHeight = params.height
+ , bxWidth = params.width
+ , bxAspectRatio = aspectRatio;
+
+ // Work the magic!
+ // If one parameter is missing, we just force calculate it
+ if ( !bxAspectRatio ) {
+ if ( bxHeight ) {
+ bxAspectRatio = imgAspectRatio + 1;
+ } else {
+ bxAspectRatio = imgAspectRatio - 1;
+ }
+ }
+
+ // Only resize the images that need resizing
+ if ( (bxHeight && imgHeight > bxHeight) || (bxWidth && imgWidth > bxWidth) ) {
+
+ if ( imgAspectRatio > bxAspectRatio ) {
+ bxHeight = ~~ ( imgHeight / imgWidth * bxWidth );
+ } else {
+ bxWidth = ~~ ( imgWidth / imgHeight * bxHeight );
+ }
+
+ this.height = bxHeight;
+ this.width = bxWidth;
+ }
+ })
+ .each(function() {
+
+ // Trigger load event (for Gecko and MSIE)
+ if ( this.complete || isIE6 ) {
+ $( this ).trigger( "load" );
+ }
+ });
+ };
+})( jQuery ); \ No newline at end of file
diff --git a/view/theme/cleanzero/js/jquery.ae.image.resize.min.js b/view/theme/cleanzero/js/jquery.ae.image.resize.min.js
new file mode 100644
index 000000000..16c30b123
--- /dev/null
+++ b/view/theme/cleanzero/js/jquery.ae.image.resize.min.js
@@ -0,0 +1 @@
+(function(d){d.fn.aeImageResize=function(a){var i=0,j=d.browser.msie&&6==~~d.browser.version;if(!a.height&&!a.width)return this;if(a.height&&a.width)i=a.width/a.height;return this.one("load",function(){this.removeAttribute("height");this.removeAttribute("width");this.style.height=this.style.width="";var e=this.height,f=this.width,g=f/e,b=a.height,c=a.width,h=i;h||(h=b?g+1:g-1);if(b&&e>b||c&&f>c){if(g>h)b=~~(e/f*c);else c=~~(f/e*b);this.height=b;this.width=c}}).each(function(){if(this.complete||j)d(this).trigger("load")})}})(jQuery); \ No newline at end of file
diff --git a/view/theme/cleanzero/nav.tpl b/view/theme/cleanzero/nav.tpl
new file mode 100644
index 000000000..4dacf3858
--- /dev/null
+++ b/view/theme/cleanzero/nav.tpl
@@ -0,0 +1,71 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ if $nav.logout }}<a id="nav-logout-link" class="nav-link $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a> {{ endif }}
+ {{ if $nav.login }}<a id="nav-login-link" class="nav-login-link $nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a> {{ endif }}
+
+ <span id="nav-link-wrapper" >
+
+ {{ if $nav.register }}<a id="nav-register-link" class="nav-commlink $nav.register.2 $sel.register" href="$nav.register.0" title="$nav.register.3" >$nav.register.1</a>{{ endif }}
+
+ {{ if $nav.help }} <a id="nav-help-link" class="nav-link $nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>{{ endif }}
+
+ {{ if $nav.apps }}<a id="nav-apps-link" class="nav-link $nav.apps.2" href="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a>{{ endif }}
+
+ <a id="nav-search-link" class="nav-link $nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
+ <a id="nav-directory-link" class="nav-link $nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
+
+ {{ if $nav.admin }}<a id="nav-admin-link" class="nav-link $nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a>{{ endif }}
+
+ {{ if $nav.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2 $sel.network" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2 $sel.home" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+
+ {{ if $nav.introductions }}
+ <a id="nav-notify-link" class="nav-commlink $nav.introductions.2 $sel.introductions" href="$nav.introductions.0" title="$nav.introductions.3" >$nav.introductions.1</a>
+ <span id="intro-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.messages }}
+ <a id="nav-messages-link" class="nav-commlink $nav.messages.2 $sel.messages" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a>
+ <span id="mail-update" class="nav-ajax-left"></span>
+ {{ endif }}
+
+
+
+
+
+ {{ if $nav.notifications }}
+ <a id="nav-notifications-linkmenu" class="nav-commlink" href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">$nav.notifications.1</a>
+ <span id="notify-update" class="nav-ajax-left"></span>
+ <ul id="nav-notifications-menu" class="menu-popup">
+ <li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
+ <li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
+ <li class="empty">$emptynotifications</li>
+ </ul>
+ {{ endif }}
+
+ {{ if $nav.settings }}<a id="nav-settings-link" class="nav-link $nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a>{{ endif }}
+ {{ if $nav.profiles }}<a id="nav-profiles-link" class="nav-link $nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a>{{ endif }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+
+
+ {{ if $nav.manage }}<a id="nav-manage-link" class="nav-link $nav.manage.2 $sel.manage" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a>{{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-link $nav.community.2 $sel.community" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
+ {{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
+
+<ul id="nav-notifications-template" style="display:none;" rel="template">
+ <li class="{4}"><a href="{0}"><img src="{1}" height="24" width="24" alt="" />{2} <span class="notif-when">{3}</span></a></li>
+</ul>
diff --git a/view/theme/cleanzero/screenshot.png b/view/theme/cleanzero/screenshot.png
new file mode 100644
index 000000000..d259e2e4d
--- /dev/null
+++ b/view/theme/cleanzero/screenshot.png
Binary files differ
diff --git a/view/theme/cleanzero/style.css b/view/theme/cleanzero/style.css
new file mode 100644
index 000000000..3efb8a25c
--- /dev/null
+++ b/view/theme/cleanzero/style.css
@@ -0,0 +1,127 @@
+@import url('../duepuntozero/style.css');
+body {background-image:none;
+
+}
+
+.wall-item-content-wrapper {
+ border-top: 1px solid #ccc;
+//border-top:none;
+border-left:none;
+border-right:none;
+border-radius:0px;
+//border:none;
+ //background: #f8f8f8 !important;
+}
+
+.wall-item-content-wrapper.comment {
+ background: #f8f8f8 !important;
+ // border-left: 1px solid #ccc;
+ border-top: 1px solid #ccc;
+border-left:none;
+border-right:none;
+border-radius:0px;
+ }
+
+ .wall-item-tools {
+// border-top: 1px solid #ccc;
+// background: #f8f8f8 !important;
+background: #ffffff !important;
+ }
+
+.comment-edit-text-empty, .comment-edit-text-full {
+ border: 1px solid #ccc;
+ border-left: 1px solid #EEE;
+ background: #ffffff;
+}
+
+.comment-edit-wrapper, .comment-wwedit-wrapper {
+ // background: #ffffff; !important;
+background: #f8f8f8 !important;
+}
+
+
+
+
+
+section {
+ margin: 0px 10%;
+margin-right:12%;
+ background-image:none;
+}
+
+aside {
+ margin-left: 10%;
+ background-image:none;
+}
+nav {
+ margin-left: 32px;
+ margin-right: 5%;
+
+}
+
+nav #site-location {
+ top: 80px;
+ right: 5%;
+
+}
+
+.wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
+ border-radius: 3px;
+ -moz-border-radius: 3px;
+}
+
+.tabs { background-image:none;
+
+}
+.tab.active {
+ padding: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ border: 1px solid #CCCCCC;
+ background: #F8F8F8;
+ font-weight: bold;
+}
+.tab { margin-right: 1px ;
+
+}
+
+#group-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#nets-sidebar {
+ margin-bottom: 10px;
+ border:none;
+}
+
+#saved-search-list {
+ border:none;
+}
+blockquote {
+ background-color: #f8f8f8;
+ border: 1px solid #ccc;
+ -moz-border-radius: 3px;
+
+ border-radius: 3px;
+}
+.widget {
+border: none;
+}
+
+
+.wall-item-content {
+max-height: 20000px;
+overflow: none;
+}
+
+.nav-commlink, .nav-login-link {
+margin-top: 67px;
+height: 15px;
+float:left;
+padding: 6px 3px;
+}
+
+nav .nav-link {
+ //float: left;
+} \ No newline at end of file
diff --git a/view/theme/cleanzero/style.php b/view/theme/cleanzero/style.php
new file mode 100644
index 000000000..b820d3b7a
--- /dev/null
+++ b/view/theme/cleanzero/style.php
@@ -0,0 +1,71 @@
+<?php
+ $color=false;
+ $cleanzero_font_size=false;
+
+ $site_color = get_config("cleanzero","color");
+ $site_cleanzero_font_size = get_config("cleanzero", "font_size" );
+
+
+ if (local_user()) {
+ $color = get_pconfig(local_user(), "cleanzero","color");
+ $cleanzero_font_size = get_pconfig(local_user(), "cleanzero", "font_size");
+
+ }
+
+ if ($color===false) $color=$site_color;
+ if ($color===false) $color="cleanzero";
+ if ($cleanzero_font_size===false) $cleanzero_font_size=$site_cleanzero_font_size;
+
+
+
+ if (file_exists("$THEMEPATH/$color/style.css")){
+ echo file_get_contents("$THEMEPATH/$color/style.css");
+ }
+
+
+
+ if($cleanzero_font_size == "16"){
+ echo "
+ .wall-item-content-wrapper {
+ font-size: 16px;
+ }
+
+ .wall-item-content-wrapper.comment {
+ font-size: 16px;
+ }
+ ";
+ }
+ if($cleanzero_font_size == "14"){
+ echo "
+ .wall-item-content-wrapper {
+ font-size: 14px;
+ }
+
+ .wall-item-content-wrapper.comment {
+ font-size: 14px;
+ }
+ ";
+ }
+ if($cleanzero_font_size == "12"){
+ echo "
+ .wall-item-content-wrapper {
+ font-size: 12px;
+ }
+
+ .wall-item-content-wrapper.comment {
+ font-size: 12px;
+ }
+ ";
+ }
+ if($cleanzero_font_size == "10"){
+ echo "
+ .wall-item-content-wrapper {
+ font-size: 10px;
+ }
+
+ .wall-item-content-wrapper.comment {
+ font-size: 10px;
+ }
+ ";
+ }
+
diff --git a/view/theme/cleanzero/theme.php b/view/theme/cleanzero/theme.php
new file mode 100644
index 000000000..c710473cb
--- /dev/null
+++ b/view/theme/cleanzero/theme.php
@@ -0,0 +1,76 @@
+<?php
+/*
+ * Name: cleanzero
+ * Description: Theme with clean design derived from the zero theme family. Including options to set color schemes, font sizes and resizing of images in posts
+ * Version:
+ * Author: Christian Vogeley (https://christian-vogeley.de/profile/christian)
+ */
+$a->theme_info = array(
+ 'extends' => 'duepuntozero',
+);
+function cleanzero_init(&$a) {
+$a->page['htmlhead'] .= <<< EOT
+<script>
+$(document).ready(function() {
+
+$('.group-edit-icon').hover(
+ function() {
+ $(this).addClass('icon'); $(this).removeClass('iconspacer');},
+ function() {
+ $(this).removeClass('icon'); $(this).addClass('iconspacer');}
+ );
+
+$('.sidebar-group-element').hover(
+ function() {
+ id = $(this).attr('id');
+ $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');},
+
+ function() {
+ id = $(this).attr('id');
+ $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');}
+ );
+
+
+$('.savedsearchdrop').hover(
+ function() {
+ $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');},
+ function() {
+ $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');}
+ );
+
+$('.savedsearchterm').hover(
+ function() {
+ id = $(this).attr('id');
+ $('#drop-' + id).addClass('icon'); $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');},
+
+ function() {
+ id = $(this).attr('id');
+ $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');}
+ );
+
+});
+
+
+</script>
+EOT;
+// get resize configuration
+
+$resize=false;
+$site_resize = get_config('cleanzero', 'resize' );
+if(local_user()) $resize = get_pconfig(local_user(), 'cleanzero', 'resize' );
+
+if ($resize===false) $resize=$site_resize;
+if ($resize===false) $resize=0;
+
+if (intval($resize) > 0) {
+//load jquery.ae.image.resize.js
+$imageresizeJS = $a->get_baseurl($ssl_state)."/view/theme/cleanzero/js/jquery.ae.image.resize.js";
+$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $imageresizeJS);
+$a->page['htmlhead'] .= '
+<script>
+
+ $(function() {
+ $(".wall-item-content-wrapper img").aeImageResize({height: '.$resize.', width: '.$resize.'});
+ });
+</script>';}
+}
diff --git a/view/theme/cleanzero/theme_settings.tpl b/view/theme/cleanzero/theme_settings.tpl
new file mode 100644
index 000000000..07e7cba05
--- /dev/null
+++ b/view/theme/cleanzero/theme_settings.tpl
@@ -0,0 +1,10 @@
+{{inc field_select.tpl with $field=$color}}{{endinc}}
+{{inc field_select.tpl with $field=$font_size}}{{endinc}}
+{{inc field_select.tpl with $field=$resize}}{{endinc}}
+
+
+
+<div class="settings-submit-wrapper">
+ <input type="submit" value="$submit" class="settings-submit" name="cleanzero-settings-submit" />
+</div>
+