]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote-tracking branch 'friendica/master'
authorFabio Comuni <fabrix.xm@gmail.com>
Fri, 13 Apr 2012 09:59:25 +0000 (11:59 +0200)
committerFabio Comuni <fabrix.xm@gmail.com>
Fri, 13 Apr 2012 09:59:25 +0000 (11:59 +0200)
22 files changed:
include/network.php
include/text.php
mod/admin.php
view/admin_plugins_details.tpl
view/admin_site.tpl
view/field_themeselect.tpl
view/lang_selector.tpl [new file with mode: 0644]
view/theme/quattro/TODO [new file with mode: 0644]
view/theme/quattro/config.php
view/theme/quattro/conversation.tpl
view/theme/quattro/dark/colors.less
view/theme/quattro/dark/style.css
view/theme/quattro/green/colors.less
view/theme/quattro/green/style.css
view/theme/quattro/icons.less
view/theme/quattro/icons/language.png [new file with mode: 0644]
view/theme/quattro/jot.tpl
view/theme/quattro/nav.tpl
view/theme/quattro/quattro.less
view/theme/quattro/style.php
view/theme/quattro/theme.php [new file with mode: 0644]
view/theme/quattro/wall_item_tag.tpl [new file with mode: 0644]

index 23ef50b21bd34095a68de6386bda7d180bf84bcf..8c678a443a6b9840b122a123b6435af8be2312cb 100644 (file)
@@ -587,13 +587,14 @@ function fetch_xrd_links($url) {
 
 if(! function_exists('validate_url')) {
 function validate_url(&$url) {
-       // no naked subdomains
-       if(strpos($url,'.') === false)
+       
+       // no naked subdomains (allow localhost for tests)
+       if(strpos($url,'.') === false && strpos($url,'/localhost/') === false)
                return false;
        if(substr($url,0,4) != 'http')
                $url = 'http://' . $url;
        $h = @parse_url($url);
-
+       
        if(($h) && (dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR))) {
                return true;
        }
index 4ec59a66589c05ec8509d53da9e37ec46741fc79..8c8db66a9eee938f90be5b1b476d9b3503003ec2 100644 (file)
@@ -1068,10 +1068,12 @@ function unamp($s) {
 if(! function_exists('lang_selector')) {
 function lang_selector() {
        global $lang;
-       $o = '<div id="lang-select-icon" class="icon language" title="' . t('Select an alternate language') . '" onclick="openClose(\'language-selector\');" ></div>';
-       $o .= '<div id="language-selector" style="display: none;" >';
-       $o .= '<form action="#" method="post" ><select name="system_language" onchange="this.form.submit();" >';
+       
        $langs = glob('view/*/strings.php');
+       
+       $lang_options = array();
+       $selected = "";
+       
        if(is_array($langs) && count($langs)) {
                $langs[] = '';
                if(! in_array('view/en/strings.php',$langs))
@@ -1079,17 +1081,22 @@ function lang_selector() {
                asort($langs);
                foreach($langs as $l) {
                        if($l == '') {
-                               $default_selected = ((! x($_SESSION,'language')) ? ' selected="selected" ' : '');
-                               $o .= '<option value="" ' . $default_selected . '>' . t('default') . '</option>';
+                               $lang_options[""] = t('default');
                                continue;
                        }
                        $ll = substr($l,5);
                        $ll = substr($ll,0,strrpos($ll,'/'));
-                       $selected = (($ll === $lang && (x($_SESSION, 'language'))) ? ' selected="selected" ' : '');
-                       $o .= '<option value="' . $ll . '"' . $selected . '>' . $ll . '</option>';
+                       $selected = (($ll === $lang && (x($_SESSION, 'language'))) ? $ll : $selected);
+                       $lang_options[$ll]=$ll;
                }
        }
-       $o .= '</select></form></div>';
+
+       $tpl = get_markup_template("lang_selector.tpl");        
+       $o = replace_macros($tpl, array(
+               '$title' => t('Select an alternate language'),
+               '$langs' => array($lang_options, $selected),
+               
+       ));
        return $o;
 }}
 
@@ -1510,4 +1517,4 @@ function fix_mce_lf($s) {
        $s = str_replace("\r\n","\n",$s);
        $s = str_replace("\n\n","\n",$s);
        return $s;
-}
\ No newline at end of file
+}
index 96100278685069b4eb9ade74c876f90dd616a190..7386dc5a3c0a1e3d93b5f3b732aff73d6d62a0bf 100644 (file)
@@ -40,6 +40,20 @@ function admin_post(&$a){
                                goaway($a->get_baseurl(true) . '/admin/plugins/' . $a->argv[2] );
                                return; // NOTREACHED
                                break;
+                       case 'themes':
+                               $theme = $a->argv[2];
+                               if (is_file("view/theme/$theme/config.php")){
+                                       require_once("view/theme/$theme/config.php");
+                                       if (function_exists("theme_admin_post")){
+                                               theme_admin_post($a);
+                                       }
+                               }
+                               info(t('Theme settings updated.'));
+                               if(is_ajax()) return;
+                               
+                               goaway($a->get_baseurl(true) . '/admin/themes/' . $theme );
+                               return;
+                               break;
                        case 'logs':
                                admin_page_logs_post($a);
                                break;
@@ -129,7 +143,13 @@ function admin_content(&$a) {
        } else {
                $o = admin_page_summary($a);
        }
-       return $o;
+       
+       if(is_ajax()) {
+               echo $o; 
+               killme();
+       } else {
+               return $o;
+       }
 } 
 
 
@@ -362,7 +382,7 @@ function admin_page_site(&$a) {
                '$sitename'             => array('sitename', t("Site name"), htmlentities($a->config['sitename'], ENT_QUOTES), ""),
                '$banner'                       => array('banner', t("Banner/Logo"), $banner, ""),
                '$language'             => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
-               '$theme'                        => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles"), $theme_choices),
+               '$theme'                        => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
                '$ssl_policy'       => array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices),
                '$maximagesize'         => array('maximagesize', t("Maximum image size"), get_config('system','maximagesize'), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")),
 
@@ -768,14 +788,22 @@ function admin_page_themes(&$a){
                }
                
                $readme=Null;
-               if (is_file("view/$theme/README.md")){
-                       $readme = file_get_contents("view/$theme/README.md");
+               if (is_file("view/theme/$theme/README.md")){
+                       $readme = file_get_contents("view/theme/$theme/README.md");
                        $readme = Markdown($readme);
-               } else if (is_file("view/$theme/README")){
-                       $readme = "<pre>". file_get_contents("view/$theme/README") ."</pre>";
+               } else if (is_file("view/theme/$theme/README")){
+                       $readme = "<pre>". file_get_contents("view/theme/$theme/README") ."</pre>";
                } 
                
                $admin_form="";
+               if (is_file("view/theme/$theme/config.php")){
+                       require_once("view/theme/$theme/config.php");
+                       if(function_exists("theme_admin")){
+                               $admin_form = theme_admin($a);
+                       }
+                       
+               }
+               
 
                $screenshot = array( get_theme_screenshot($theme), t('Screenshot'));
                if(! stristr($screenshot[0],$theme))
@@ -793,10 +821,10 @@ function admin_page_themes(&$a){
                        '$status' => $status,
                        '$action' => $action,
                        '$info' => get_theme_info($theme),
-                       '$function' => 'themes',                
+                       '$function' => 'themes',
                        '$admin_form' => $admin_form,
                        '$str_author' => t('Author: '),
-                       '$str_maintainer' => t('Maintainer: '),                 
+                       '$str_maintainer' => t('Maintainer: '),
                        '$screenshot' => $screenshot,
                        '$readme' => $readme
                ));
@@ -805,7 +833,7 @@ function admin_page_themes(&$a){
         
        
        /**
-        * List plugins
+        * List themes
         */
        
        $xthemes = array();
index cbaef2d66cd42e69df40ecb63c5adc72fae8ef75..aaa366f653b49e4b6f88aadcff9fa9223cc5b8e5 100644 (file)
@@ -17,7 +17,7 @@
        </p>
        
        {{ if $screenshot }}
-       <a href="$screenshot.0" ><img src="$screenshot.0" width="320" height="240" alt="$screenshot.1" /></a>
+       <a href="$screenshot.0" class='screenshot'><img src="$screenshot.0" alt="$screenshot.1" /></a>
        {{ endif }}
 
        {{ if $admin_form }}
index ec144fbba505dafcecb2102abc20fd803a580e3b..9de6bd9c5b3788775b50e44d09e99519bb8894cc 100644 (file)
@@ -1,3 +1,39 @@
+<script>
+       $(function(){
+               
+               $("#cnftheme").fancybox({
+                       width: 800,
+                       autoDimensions: false,
+                       onStart: function(){
+                               var theme = $("#id_theme :selected").val();
+                               $("#cnftheme").attr('href',"$baseurl/admin/themes/"+theme);
+                       }, 
+                       onComplete: function(){
+                               $("div#fancybox-content form").submit(function(e){
+                                       var url = $(this).attr('action');
+                                       // can't get .serialize() to work...
+                                       var data={};
+                                       $(this).find("input").each(function(){
+                                               data[$(this).attr('name')] = $(this).val();
+                                       });
+                                       $(this).find("select").each(function(){
+                                               data[$(this).attr('name')] = $(this).children(":selected").val();
+                                       });
+                                       console.log(":)", url, data);
+                                       
+                                       $.post(url, data, function(data) {
+                                               if(timer) clearTimeout(timer);
+                                               NavUpdate();
+                                               $.fancybox.close();
+                                       })
+                                       
+                                       return false;
+                               });
+                               
+                       }
+               });
+       });
+</script>
 <div id='adminpage'>
        <h1>$title - $page</h1>
        
index f9f99492c3305e12e06f93a9eaab609c81d0e96e..5847d86646b1eb3211bb5110e80d4cf48dd914b7 100644 (file)
@@ -1,4 +1,4 @@
-       
+       <script>$(function(){ previewTheme($("#id_$field.0")[0]); });</script>
        <div class='field select'>
                <label for='id_$field.0'>$field.1</label>
                <select name='$field.0' id='id_$field.0' onchange="previewTheme(this);" >
diff --git a/view/lang_selector.tpl b/view/lang_selector.tpl
new file mode 100644 (file)
index 0000000..b3a527b
--- /dev/null
@@ -0,0 +1,10 @@
+<div id="lang-select-icon" class="icon s22 language" title="$title" onclick="openClose('language-selector');" >lang</div>
+<div id="language-selector" style="display: none;" >
+       <form action="#" method="post" >
+               <select name="system_language" onchange="this.form.submit();" >
+                       {{ for $langs.0 as $v=>$l }}
+                               <option value="$v" {{if $v==$langs.1}}selected="selected"{{endif}}>$l</option>
+                       {{ endfor }}
+               </select>
+       </form>
+</div>
diff --git a/view/theme/quattro/TODO b/view/theme/quattro/TODO
new file mode 100644 (file)
index 0000000..1263855
--- /dev/null
@@ -0,0 +1,2 @@
+jot.tpl:                       <!-- TODO: waiting for a better placement 
+nav.tpl:                                       <!-- TODO: better icons! -->
index c9ab3a4a149f461293ff717804bfaa1075827c42..c261a78ecbc9b56b3deec81c47a82aef20f6fc90 100644 (file)
@@ -11,6 +11,37 @@ function theme_content(&$a){
        
        $align = get_pconfig(local_user(), 'quattro', 'align' );
        $color = get_pconfig(local_user(), 'quattro', 'color' );
+       
+       return quattro_form($a,$align, $color);
+}
+
+function theme_post(&$a){
+       if(! local_user())
+               return;
+       
+       if (isset($_POST['quattro-settings-submit'])){
+               set_pconfig(local_user(), 'quattro', 'align', $_POST['quattro_align']);
+               set_pconfig(local_user(), 'quattro', 'color', $_POST['quattro_color']);
+       }
+}
+
+
+function theme_admin(&$a){
+       $align = get_config('quattro', 'align' );
+       $color = get_config('quattro', 'color' );
+       
+       return quattro_form($a,$align, $color);
+}
+
+function theme_admin_post(&$a){
+       if (isset($_POST['quattro-settings-submit'])){
+               set_config('quattro', 'align', $_POST['quattro_align']);
+               set_config('quattro', 'color', $_POST['quattro_color']);
+       }
+}
+
+
+function quattro_form(&$a, $align, $color){
        $colors = array(
                "dark"=>"Quattro", 
                "green"=>"Green"
@@ -26,14 +57,3 @@ function theme_content(&$a){
        ));
        return $o;
 }
-
-function theme_post(&$a){
-       if(! local_user())
-               return;
-       
-       if (isset($_POST['quattro-settings-submit'])){
-               set_pconfig(local_user(), 'quattro', 'align', $_POST['quattro_align']);
-               set_pconfig(local_user(), 'quattro', 'color', $_POST['quattro_color']);
-       }
-}
-
index ff202bbe44077569c23de4c00710d2a42265b607..7bb7cd2fd5101f2c50836766c33a46a992da19a8 100644 (file)
@@ -9,8 +9,11 @@
                {{endif}}
                {{if $item.comment_lastcollapsed}}</div>{{endif}}
                
-               {{ inc $item.template }}{{ endinc }}
-               
+               {{ if $item.type == tag }}
+                       {{ inc wall_item_tag.tpl }}{{ endinc }}
+               {{ else }}
+                       {{ inc $item.template }}{{ endinc }}
+               {{ endif }}
                
        {{ endfor }}
 </div>
index b6d487f92b74a24d2ce415be84439826b303ab14..42fdd34bb7de7819c259f027715a9e4c1f508073 100644 (file)
@@ -38,7 +38,7 @@
 @Link: @Blue3;
 @LinkHover: @Blue3;
 @LinkVisited: @Blue3;
-
+@LinkDimmed: @Blue2;
 
 @ButtonColor: @Grey1;
 @ButtonBackgroundColor: @Grey5;
 
 @FieldHelpColor: @Grey3;
 
-@ThreadBackgroundColor: #f6f7f8;
+@ThreadBackgroundColor: #eff0f1;
+@ThreadBottomBorderColor: @Grey2;
 @ShinyBorderColor: @Yellow1;
 
+@ItemColor: @Grey5;
+@ItemColorDimmed: @Grey3;
+
 @CommentBoxEmptyColor: @Grey3;
 @CommentBoxEmptyBorderColor: @Grey3;
 @CommentBoxFullColor: @Grey5;
index 16c786d20175778b579299c9fff4e1b55248220a..1fa03b253ce2c5c7a971b11592a42a4b56cfe69e 100644 (file)
@@ -66,6 +66,9 @@
 .icon.s10.type-text {
   background-image: url("../../../images/icons/10/text.png");
 }
+.icon.s10.language {
+  background-image: url("icons/language.png");
+}
 .icon.s10.text {
   padding: 2px 0px 0px 15px;
 }
 .icon.s16.type-text {
   background-image: url("../../../images/icons/16/text.png");
 }
+.icon.s16.language {
+  background-image: url("icons/language.png");
+}
 .icon.s16.text {
   padding: 4px 0px 0px 20px;
 }
 .icon.s22.type-text {
   background-image: url("../../../images/icons/22/text.png");
 }
+.icon.s22.language {
+  background-image: url("icons/language.png");
+}
 .icon.s22.text {
   padding: 10px 0px 0px 25px;
 }
 .icon.s48.type-text {
   background-image: url("../../../images/icons/48/text.png");
 }
+.icon.s48.language {
+  background-image: url("icons/language.png");
+}
 /* global */
 body {
   font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
@@ -314,6 +326,10 @@ code {
   float: right;
 }
 /* popup notifications */
+#jGrowl.top-right {
+  top: 30px;
+  right: 15px;
+}
 div.jGrowl div.notice {
   background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
   color: #ffffff;
@@ -565,7 +581,7 @@ ul.menu-popup .toolbar a:hover {
   color: #9eabb0;
   display: block;
 }
-/* aside */
+/* aside 230px*/
 aside {
   display: table-cell;
   vertical-align: top;
@@ -772,20 +788,21 @@ aside #profiles-menu {
   width: 200px;
   top: 18px;
 }
-/* section */
+/* section 800px */
 section {
   display: table-cell;
   vertical-align: top;
-  width: 800px;
+  width: 770px;
   padding: 0px 20px 0px 10px;
 }
 /* wall item */
 .tread-wrapper {
-  background-color: #f6f7f8;
+  background-color: #eff0f1;
   position: relative;
   padding: 10px;
   margin-bottom: 20px;
-  width: 780px;
+  width: 750px;
+  border-bottom: 1px solid #cccccc;
 }
 .wall-item-decor {
   position: absolute;
@@ -798,7 +815,7 @@ section {
 }
 .wall-item-container {
   display: table;
-  width: 780px;
+  width: 750px;
 }
 .wall-item-container .wall-item-item,
 .wall-item-container .wall-item-bottom {
@@ -890,26 +907,42 @@ section {
 .wall-item-container .wall-item-actions-tools input {
   float: right;
 }
-.wall-item-container.comment {
-  /*margin-top: 50px;*/
-
+.wall-item-container.comment .contact-photo-wrapper {
+  margin-left: 16px;
 }
 .wall-item-container.comment .contact-photo {
   width: 32px;
   height: 32px;
-  margin-left: 16px;
-  /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
-
 }
 .wall-item-container.comment .contact-photo-menu-button {
   top: 15px !important;
-  left: 15px !important;
+  left: 0px !important;
 }
 .wall-item-container.comment .wall-item-links {
   padding-left: 12px;
 }
+/* 'tag' item type */
+.wall-item-container.item-tag .wall-item-content {
+  opacity: 0.5;
+  -webkit-transition: all 0.2s ease-in-out;
+  -moz-transition: all 0.2s ease-in-out;
+  -o-transition: all 0.2s ease-in-out;
+  -ms-transition: all 0.2s ease-in-out;
+  transition: all 0.2s ease-in-out;
+}
+.wall-item-container.item-tag .contact-photo-wrapper {
+  margin-left: 32px;
+}
+.wall-item-container.item-tag .contact-photo {
+  width: 16px;
+  height: 16px;
+}
+.wall-item-container.item-tag .contact-photo-menu-button {
+  top: 15px !important;
+  left: 15px !important;
+}
 .wall-item-comment-wrapper {
-  margin: 30px 2em 2em 60px;
+  margin: 1em 2em 1em 60px;
 }
 .wall-item-comment-wrapper .comment-edit-photo {
   display: none;
@@ -961,6 +994,9 @@ section {
 #jot-preview-content .tread-wrapper {
   background-color: #fce94f;
 }
+.hide-comments-outer {
+  margin-bottom: 0.8em;
+}
 .wall-item-tags {
   padding-top: 5px;
 }
@@ -1087,7 +1123,7 @@ section {
   padding: 0px;
   height: 40px;
   overflow: none;
-  width: 800px;
+  width: 770px;
   background-color: #0e232e;
   border-bottom: 2px solid #9eabb0;
 }
@@ -1162,7 +1198,7 @@ section {
   border: 0px;
   margin: 0px;
   height: 20px;
-  width: 700px;
+  width: 500px;
   font-weight: bold;
   border: 1px solid #ffffff;
 }
@@ -1179,13 +1215,26 @@ section {
   border: 1px solid #999999;
 }
 #jot #character-counter {
-  width: 80px;
+  width: 40px;
   float: right;
   text-align: right;
   height: 20px;
   line-height: 20px;
   padding-right: 20px;
 }
+#jot #jot-category {
+  border: 0px;
+  margin: 0px;
+  height: 20px;
+  width: 200px;
+  border: 1px solid #ffffff;
+}
+#jot #jot-category:hover {
+  border: 1px solid #999999;
+}
+#jot #jot-category:focus {
+  border: 1px solid #999999;
+}
 /** buttons **/
 /*input[type="submit"] {
        border: 0px;
@@ -1592,44 +1641,19 @@ ul.tabs li .active {
   -ms-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
 }
-/* mail view */
-/*
-.mail-conv-sender,
-.mail-conv-detail {
-       float: left;
-}
-.mail-conv-detail {
-       margin-left: 20px;
-       width: 500px;
-}
-
-.mail-conv-subject {
-    font-size: 1.4em;
-    margin: 10px 0;
-}
-
-.mail-conv-outside-wrapper-end {
-       clear: both;
-}
-
-.mail-conv-outside-wrapper {
-       margin-top: 30px;
-}
-
-.mail-conv-delete-wrapper {
-       float: right;
-       margin-right: 30px;
-       margin-top: 15px;
-}
-.mail-conv-break {
-       clear: both;
+/* theme screenshot */
+.screenshot,
+#theme-preview {
+  position: absolute;
+  width: 202px;
+  left: 70%;
+  top: 50px;
 }
-
-.mail-conv-delete-icon {
-       border: none;
+.screenshot img,
+#theme-preview img {
+  width: 200px;
+  height: 150px;
 }
-
-*/
 /* page footer */
 footer {
   height: 100px;
index bc78c3fdad70acda715c08536025658b8a3118c1..1f1df4c55d007108e4f892a4dd44c634132593a4 100644 (file)
@@ -74,7 +74,8 @@
 
 @FieldHelpColor: @Grey3;
 
-@ThreadBackgroundColor: #f6f7f8;
+@ThreadBackgroundColor: #eff0f1;
+@ThreadBottomBorderColor: @Grey2;
 @ShinyBorderColor: @Green4;
 
 @CommentBoxEmptyColor: @Grey3;
index df43aa152f076383393b300637ae6b21c9e5ef20..317112f6f88c6d4209702146f50e925c041ba3b3 100644 (file)
@@ -66,6 +66,9 @@
 .icon.s10.type-text {
   background-image: url("../../../images/icons/10/text.png");
 }
+.icon.s10.language {
+  background-image: url("icons/language.png");
+}
 .icon.s10.text {
   padding: 2px 0px 0px 15px;
 }
 .icon.s16.type-text {
   background-image: url("../../../images/icons/16/text.png");
 }
+.icon.s16.language {
+  background-image: url("icons/language.png");
+}
 .icon.s16.text {
   padding: 4px 0px 0px 20px;
 }
 .icon.s22.type-text {
   background-image: url("../../../images/icons/22/text.png");
 }
+.icon.s22.language {
+  background-image: url("icons/language.png");
+}
 .icon.s22.text {
   padding: 10px 0px 0px 25px;
 }
 .icon.s48.type-text {
   background-image: url("../../../images/icons/48/text.png");
 }
+.icon.s48.language {
+  background-image: url("icons/language.png");
+}
 /* global */
 body {
   font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
@@ -314,6 +326,10 @@ code {
   float: right;
 }
 /* popup notifications */
+#jGrowl.top-right {
+  top: 30px;
+  right: 15px;
+}
 div.jGrowl div.notice {
   background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
   color: #ffffff;
@@ -565,7 +581,7 @@ ul.menu-popup .toolbar a:hover {
   color: #9eabb0;
   display: block;
 }
-/* aside */
+/* aside 230px*/
 aside {
   display: table-cell;
   vertical-align: top;
@@ -772,20 +788,21 @@ aside #profiles-menu {
   width: 200px;
   top: 18px;
 }
-/* section */
+/* section 800px */
 section {
   display: table-cell;
   vertical-align: top;
-  width: 800px;
+  width: 770px;
   padding: 0px 20px 0px 10px;
 }
 /* wall item */
 .tread-wrapper {
-  background-color: #f6f7f8;
+  background-color: #eff0f1;
   position: relative;
   padding: 10px;
   margin-bottom: 20px;
-  width: 780px;
+  width: 750px;
+  border-bottom: 1px solid #cccccc;
 }
 .wall-item-decor {
   position: absolute;
@@ -798,7 +815,7 @@ section {
 }
 .wall-item-container {
   display: table;
-  width: 780px;
+  width: 750px;
 }
 .wall-item-container .wall-item-item,
 .wall-item-container .wall-item-bottom {
@@ -890,26 +907,42 @@ section {
 .wall-item-container .wall-item-actions-tools input {
   float: right;
 }
-.wall-item-container.comment {
-  /*margin-top: 50px;*/
-
+.wall-item-container.comment .contact-photo-wrapper {
+  margin-left: 16px;
 }
 .wall-item-container.comment .contact-photo {
   width: 32px;
   height: 32px;
-  margin-left: 16px;
-  /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
-
 }
 .wall-item-container.comment .contact-photo-menu-button {
   top: 15px !important;
-  left: 15px !important;
+  left: 0px !important;
 }
 .wall-item-container.comment .wall-item-links {
   padding-left: 12px;
 }
+/* 'tag' item type */
+.wall-item-container.item-tag .wall-item-content {
+  opacity: 0.5;
+  -webkit-transition: all 0.2s ease-in-out;
+  -moz-transition: all 0.2s ease-in-out;
+  -o-transition: all 0.2s ease-in-out;
+  -ms-transition: all 0.2s ease-in-out;
+  transition: all 0.2s ease-in-out;
+}
+.wall-item-container.item-tag .contact-photo-wrapper {
+  margin-left: 32px;
+}
+.wall-item-container.item-tag .contact-photo {
+  width: 16px;
+  height: 16px;
+}
+.wall-item-container.item-tag .contact-photo-menu-button {
+  top: 15px !important;
+  left: 15px !important;
+}
 .wall-item-comment-wrapper {
-  margin: 30px 2em 2em 60px;
+  margin: 1em 2em 1em 60px;
 }
 .wall-item-comment-wrapper .comment-edit-photo {
   display: none;
@@ -961,6 +994,9 @@ section {
 #jot-preview-content .tread-wrapper {
   background-color: #ddffdd;
 }
+.hide-comments-outer {
+  margin-bottom: 0.8em;
+}
 .wall-item-tags {
   padding-top: 5px;
 }
@@ -1087,7 +1123,7 @@ section {
   padding: 0px;
   height: 40px;
   overflow: none;
-  width: 800px;
+  width: 770px;
   background-color: #009100;
   border-bottom: 2px solid #9eabb0;
 }
@@ -1162,7 +1198,7 @@ section {
   border: 0px;
   margin: 0px;
   height: 20px;
-  width: 700px;
+  width: 500px;
   font-weight: bold;
   border: 1px solid #ffffff;
 }
@@ -1179,13 +1215,26 @@ section {
   border: 1px solid #999999;
 }
 #jot #character-counter {
-  width: 80px;
+  width: 40px;
   float: right;
   text-align: right;
   height: 20px;
   line-height: 20px;
   padding-right: 20px;
 }
+#jot #jot-category {
+  border: 0px;
+  margin: 0px;
+  height: 20px;
+  width: 200px;
+  border: 1px solid #ffffff;
+}
+#jot #jot-category:hover {
+  border: 1px solid #999999;
+}
+#jot #jot-category:focus {
+  border: 1px solid #999999;
+}
 /** buttons **/
 /*input[type="submit"] {
        border: 0px;
@@ -1592,44 +1641,19 @@ ul.tabs li .active {
   -ms-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
 }
-/* mail view */
-/*
-.mail-conv-sender,
-.mail-conv-detail {
-       float: left;
-}
-.mail-conv-detail {
-       margin-left: 20px;
-       width: 500px;
-}
-
-.mail-conv-subject {
-    font-size: 1.4em;
-    margin: 10px 0;
-}
-
-.mail-conv-outside-wrapper-end {
-       clear: both;
-}
-
-.mail-conv-outside-wrapper {
-       margin-top: 30px;
-}
-
-.mail-conv-delete-wrapper {
-       float: right;
-       margin-right: 30px;
-       margin-top: 15px;
-}
-.mail-conv-break {
-       clear: both;
+/* theme screenshot */
+.screenshot,
+#theme-preview {
+  position: absolute;
+  width: 202px;
+  left: 70%;
+  top: 50px;
 }
-
-.mail-conv-delete-icon {
-       border: none;
+.screenshot img,
+#theme-preview img {
+  width: 200px;
+  height: 150px;
 }
-
-*/
 /* page footer */
 footer {
   height: 100px;
index 3688ae02130d67889cfcf25ae16f236124cffbed..24e96b5aa5fce0d7582f20339a06e6540b837472 100644 (file)
@@ -19,6 +19,9 @@
        &.type-video{ background-image: url("../../../images/icons/@{size}/video.png"); }
        &.type-image{ background-image: url("../../../images/icons/@{size}/image.png"); }
        &.type-text     { background-image: url("../../../images/icons/@{size}/text.png"); }
+
+       &.language      { background-image: url("icons/language.png"); }
+       
        
 }
 
diff --git a/view/theme/quattro/icons/language.png b/view/theme/quattro/icons/language.png
new file mode 100644 (file)
index 0000000..8029c01
Binary files /dev/null and b/view/theme/quattro/icons/language.png differ
index 2f89d437214ed35c340154389951e8e792005648..95c0ff6b16547fdb95de3a5168aff0489ba94570 100644 (file)
@@ -1,8 +1,10 @@
 <form id="profile-jot-form" action="$action" method="post">
        <div id="jot">
                <div id="profile-jot-desc" class="jothidden">&nbsp;</div>
-               <input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none" />
+               <input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" title="$placeholdertitle" value="$title" class="jothidden" style="display:none" /><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" title="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
                <div id="character-counter" class="grey jothidden"></div>
+               
+
 
                <input type="hidden" name="type" value="$ptyp" />
                <input type="hidden" name="profile_uid" value="$profile_uid" />
                        <li><a id="profile-link"  ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;" title="$weblink">$shortweblink</a></li>
                        <li><a id="profile-video" onclick="jotVideoURL();return false;" title="$gvideo">$shortvideo</a></li>
                        <li><a id="profile-audio" onclick="jotAudioURL();return false;" title="$audio">$shortaudio</a></li>
+                       <!-- TODO: waiting for a better placement 
                        <li><a id="profile-location" onclick="jotGetLocation();return false;" title="$setloc">$shortsetloc</a></li>
                        <li><a id="profile-nolocation" onclick="jotClearLocation();return false;" title="$noloc">$shortnoloc</a></li>
+                       -->
                        <li><a id="jot-preview-link" onclick="preview_post(); return false;" title="$preview">$preview</a></li>
                        $jotplugins
 
index 26f04f134cbc0e9317bbcfbfb6bbaa6bfb8bea20..af1fc9414e85f774f34c75a8e58f29348f6303e9 100644 (file)
@@ -43,6 +43,7 @@
                        <li  id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon s22 notify">$nav.notifications.1</span></a>
                                <span id="notify-update" class="nav-notify"></span>
                                <ul id="nav-notifications-menu" class="menu-popup">
+                                       <!-- TODO: better icons! -->
                                        <li id="nav-notifications-mark-all" class="toolbar"><a href="#" onclick="notifyMarkAll(); return false;" title="$nav.notifications.mark.1"><span class="icon s10 edit"></span></a></a><a href="$nav.notifications.all.0" title="$nav.notifications.all.1"><span class="icon s10 plugin"></span></a></li>
                                        <li class="empty">$emptynotifications</li>
                                </ul>
@@ -91,3 +92,4 @@
        <li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
 </ul>
 
+<div style="position: fixed; top: 3px; left: 5px; z-index:9999">$langselector</div>
index 0660a3ad7669ac777a94ef6d6f7576ca678297f6..4c3279943db3c718795240b26e943cf3ca3e51c9 100644 (file)
@@ -87,6 +87,10 @@ code {
 
 
 /* popup notifications */
+#jGrowl.top-right {
+       top: 30px;
+       right: 15px;
+}
 div.jGrowl div.notice {
        background: @NoticeBackgroundColor url("../../../images/icons/48/notice.png") no-repeat 5px center;
        color:  @NoticeColor;
@@ -270,7 +274,7 @@ ul.menu-popup {
 
 
 
-/* aside */
+/* aside 230px*/
 aside { 
        display: table-cell;
        vertical-align: top;
@@ -403,11 +407,11 @@ aside {
 }
 
 
-/* section */
+/* section 800px */
 section { 
        display: table-cell;
        vertical-align: top;
-       width: 800px;
+       width: 770px;
        padding:0px 20px 0px 10px;
 }
 
@@ -417,14 +421,15 @@ section {
        position: relative;
        padding: 10px;
        margin-bottom: 20px;
-       width: 780px;
+       width: 750px;
+       border-bottom: 1px solid @ThreadBottomBorderColor;
 }
 .wall-item-decor { position: absolute; left: 97%; top: -10px;  width: 16px;}
 .unstarred { display: none; }
 
 .wall-item-container {
        display: table;
-       width: 780px;
+       width: 750px;
        
        .wall-item-item,
        .wall-item-bottom { display: table-row; }
@@ -478,19 +483,35 @@ section {
 
 
 .wall-item-container.comment {
-       /*margin-top: 50px;*/
-       .contact-photo { width: 32px; height: 32px; margin-left: 16px;
-               /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
+       .contact-photo-wrapper { margin-left: 16px; }
+       .contact-photo { 
+               width: 32px; height: 32px; 
        }       
        .contact-photo-menu-button {
                top: 15px !important;
-               left: 15px !important;
+               left: 0px !important;
        }
        .wall-item-links { padding-left: 12px; }
 }
 
+/* 'tag' item type */
+.wall-item-container.item-tag {
+       .wall-item-content {
+               .opaque(0.5);
+       }
+       .contact-photo-wrapper { margin-left: 32px; }
+       .contact-photo { 
+               width: 16px; height: 16px;
+       }       
+       .contact-photo-menu-button {
+               top: 15px !important;
+               left: 15px !important;
+       }
+}
+
+
 .wall-item-comment-wrapper {
-       margin: 30px 2em 2em 60px;
+       margin: 1em 2em 1em 60px;
        .comment-edit-photo { display: none; }
        textarea {      
                height: 1em; width: 100%; font-size: 10px;
@@ -522,13 +543,12 @@ section {
 
        .wall-item-container { width: 700px; }
        .tread-wrapper { width: 700px; padding: 0; margin: 10px 0;}
-
-
 }
 
 .shiny { border-right:10px solid @ShinyBorderColor; }
 #jot-preview-content .tread-wrapper { background-color: @JotPreviewBackgroundColor; }
 
+.hide-comments-outer {margin-bottom: 0.8em; }
 
 .wall-item-tags { padding-top: 5px; }
 .tag {
@@ -638,7 +658,7 @@ section {
        #jot-tools {
                margin: 0px; padding: 0px;
                height: 40px; overflow: none;
-               width: 800px;
+               width: 770px;
                background-color: @JotToolsBackgroundColor;
                border-bottom: 2px solid @JotToolsBorderColor;
                li {
@@ -710,7 +730,7 @@ section {
                border: 0px;
                margin: 0px;
                height: 20px;
-               width: 700px;
+               width: 500px;
                font-weight: bold;
                border: 1px solid @BodyBackground;
 
@@ -727,14 +747,23 @@ section {
        }
        
        #character-counter {
-               width: 80px;
+               width: 40px;
                float: right;
                text-align: right;
                height: 20px;
                line-height: 20px;
                padding-right: 20px;
        }
-
+       
+       #jot-category {
+               border: 0px;
+               margin: 0px;
+               height: 20px;
+               width: 200px;
+               border: 1px solid @BodyBackground;
+               &:hover { border: 1px solid @CommentBoxEmptyBorderColor }
+               &:focus { border: 1px solid @CommentBoxEmptyBorderColor }
+       }
 }
 
 
@@ -1106,46 +1135,15 @@ ul.tabs {
        
 }
 
-/* mail view */
-/*
-.mail-conv-sender,
-.mail-conv-detail {
-       float: left;
-}
-.mail-conv-detail {
-       margin-left: 20px;
-       width: 500px;
-}
-
-.mail-conv-subject {
-    font-size: 1.4em;
-    margin: 10px 0;
-}
-
-.mail-conv-outside-wrapper-end {
-       clear: both;
-}
-
-.mail-conv-outside-wrapper {
-       margin-top: 30px;
-}
-
-.mail-conv-delete-wrapper {
-       float: right;
-       margin-right: 30px;
-       margin-top: 15px;
-}
-.mail-conv-break {
-       clear: both;
-}
-
-.mail-conv-delete-icon {
-       border: none;
+/* theme screenshot */
+.screenshot, #theme-preview {
+       position: absolute;
+       width:202px;
+       left: 70%;
+       top: 50px;
+       img { width: 200px; height: 150px; }
 }
 
-*/
-
-
 /* page footer */
 footer { height: 100px; display: table-row; }
 
index b6104a170df7eaec2ae6e37d373ae259670ad242..fa02a04b63306d4352b5adc46293a6eed00acae1 100644 (file)
@@ -1,11 +1,18 @@
 <?php
-       $color = false;
+       $color=false;
+       $quattro_align=false;
+       $site_color = get_config("quattro","color");
+       $site_quattro_align = get_config("quattro", "align" );
+       
        if (local_user()) {
                $color = get_pconfig(local_user(), "quattro","color");
                $quattro_align = get_pconfig(local_user(), 'quattro', 'align' );
        }
        
+       if ($color===false) $color=$site_color;
        if ($color===false) $color="dark";
+       if ($quattro_align===false) $quattro_align=$site_quattro_align;
+       
                
        if (file_exists("$THEMEPATH/$color/style.css")){
                echo file_get_contents("$THEMEPATH/$color/style.css");
diff --git a/view/theme/quattro/theme.php b/view/theme/quattro/theme.php
new file mode 100644 (file)
index 0000000..0a13c20
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Name: Quattro
+ * Version: 0.5
+ * Author: Fabio <http://kirgroup.com/profile/fabrixxm>
+ * Maintainer: Fabio <http://kirgroup.com/profile/fabrixxm>
+ * Maintainer: Tobias <https://diekershoff.homeunix.net/friendika/profile/tobias>
+ */
+       $a->theme_info = array();
+
diff --git a/view/theme/quattro/wall_item_tag.tpl b/view/theme/quattro/wall_item_tag.tpl
new file mode 100644 (file)
index 0000000..926fc92
--- /dev/null
@@ -0,0 +1,23 @@
+<div class="wall-item-container item-tag $item.indent">
+       <div class="wall-item-item">
+               <div class="wall-item-info">
+                       <div class="contact-photo-wrapper">
+                               <a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
+                                       <img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
+                               </a>
+                               <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
+                               $item.item_photo_menu
+                               </ul>
+                               
+                       </div>
+                       <div class="wall-item-location">$item.location</div>    
+               </div>
+               <div class="wall-item-content">
+                       $item.body
+               </div>
+       </div>
+</div>
+
+<div class="wall-item-comment-wrapper" >
+       $item.comment
+</div>