aboutsummaryrefslogtreecommitdiffstats
path: root/view/theme/quattro
diff options
context:
space:
mode:
Diffstat (limited to 'view/theme/quattro')
-rw-r--r--view/theme/quattro/comment_item.tpl32
-rw-r--r--view/theme/quattro/config.php39
-rw-r--r--view/theme/quattro/contact_template.tpl26
-rw-r--r--view/theme/quattro/conversation.tpl23
-rw-r--r--view/theme/quattro/dark/Makefile4
-rw-r--r--[-rwxr-xr-x]view/theme/quattro/dark/colors.less (renamed from view/theme/quattro/colors.less)9
-rw-r--r--[-rwxr-xr-x]view/theme/quattro/dark/style.css (renamed from view/theme/quattro/style.css)196
-rw-r--r--[-rwxr-xr-x]view/theme/quattro/dark/style.less (renamed from view/theme/quattro/style.less)4
-rw-r--r--[-rwxr-xr-x]view/theme/quattro/experimental0
-rw-r--r--view/theme/quattro/fileas_widget.tpl12
-rw-r--r--view/theme/quattro/green/Makefile4
-rw-r--r--view/theme/quattro/green/colors.less108
-rw-r--r--view/theme/quattro/green/style.css1618
-rw-r--r--view/theme/quattro/green/style.less14
-rw-r--r--view/theme/quattro/group_side.tpl29
-rw-r--r--[-rwxr-xr-x]view/theme/quattro/icons.less0
-rw-r--r--view/theme/quattro/jot.tpl48
-rw-r--r--view/theme/quattro/mail_conv.tpl60
-rw-r--r--view/theme/quattro/mail_display.tpl12
-rw-r--r--view/theme/quattro/mail_list.tpl8
-rw-r--r--view/theme/quattro/message_side.tpl10
-rw-r--r--view/theme/quattro/msg-header.tpl97
-rw-r--r--view/theme/quattro/nav.tpl131
-rw-r--r--view/theme/quattro/nets.tpl12
-rw-r--r--view/theme/quattro/profile_vcard.tpl63
-rw-r--r--[-rwxr-xr-x]view/theme/quattro/quattro.less132
-rw-r--r--view/theme/quattro/saved_searches_aside.tpl15
-rw-r--r--view/theme/quattro/screenshot.jpgbin0 -> 69607 bytes
-rw-r--r--view/theme/quattro/search_item.tpl91
-rw-r--r--view/theme/quattro/style.php9
-rw-r--r--view/theme/quattro/theme.php26
-rw-r--r--view/theme/quattro/theme_settings.tpl15
-rw-r--r--view/theme/quattro/wall_item.tpl90
-rw-r--r--view/theme/quattro/wallwall_item.tpl96
34 files changed, 2915 insertions, 118 deletions
diff --git a/view/theme/quattro/comment_item.tpl b/view/theme/quattro/comment_item.tpl
new file mode 100644
index 000000000..cde4ca3ca
--- /dev/null
+++ b/view/theme/quattro/comment_item.tpl
@@ -0,0 +1,32 @@
+ <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-$id" style="display: block;">
+ <form class="comment-edit-form" id="comment-edit-form-$id" action="item" method="post" onsubmit="post_comment($id); return false;">
+ <input type="hidden" name="type" value="$type" />
+ <input type="hidden" name="profile_uid" value="$profile_uid" />
+ <input type="hidden" name="parent" value="$parent" />
+ <input type="hidden" name="return" value="$return_path" />
+ <input type="hidden" name="jsreload" value="$jsreload" />
+ <input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
+
+ <div class="comment-edit-photo" id="comment-edit-photo-$id" >
+ <a class="comment-edit-photo-link" href="$mylink" title="$mytitle"><img class="my-comment-photo" src="$myphoto" alt="$mytitle" title="$mytitle" /></a>
+ </div>
+ <div class="comment-edit-photo-end"></div>
+ {{ if $qcomment }}
+ {{ for $qcomment as $qc }}
+ <span class="fakelink qcomment" onclick="commentInsert(this,$id); return false;" >$qc</span>
+ &nbsp;
+ {{ endfor }}
+ {{ endif }}
+ <textarea id="comment-edit-text-$id" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,$id);" onBlur="commentClose(this,$id);" >$comment</textarea>
+
+ <div class="comment-edit-text-end"></div>
+ <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-$id" style="display: none;" >
+ <input type="submit" onclick="post_comment($id); return false;" id="comment-edit-submit-$id" class="comment-edit-submit" name="submit" value="$submit" />
+ <span onclick="preview_comment($id);" id="comment-edit-preview-link-$id" class="fakelink">$preview</span>
+ <div id="comment-edit-preview-$id" class="comment-edit-preview" style="display:none;"></div>
+ </div>
+
+ <div class="comment-edit-end"></div>
+ </form>
+
+ </div>
diff --git a/view/theme/quattro/config.php b/view/theme/quattro/config.php
new file mode 100644
index 000000000..c9ab3a4a1
--- /dev/null
+++ b/view/theme/quattro/config.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Theme settings
+ */
+
+
+
+function theme_content(&$a){
+ if(!local_user())
+ return;
+
+ $align = get_pconfig(local_user(), 'quattro', 'align' );
+ $color = get_pconfig(local_user(), 'quattro', 'color' );
+ $colors = array(
+ "dark"=>"Quattro",
+ "green"=>"Green"
+ );
+
+ $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"),
+ '$align' => array('quattro_align', t('Alignment'), $align, '', array('left'=>t('Left'), 'center'=>t('Center'))),
+ '$color' => array('quattro_color', t('Color scheme'), $color, '', $colors),
+ ));
+ 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']);
+ }
+}
+
diff --git a/view/theme/quattro/contact_template.tpl b/view/theme/quattro/contact_template.tpl
new file mode 100644
index 000000000..b826acc65
--- /dev/null
+++ b/view/theme/quattro/contact_template.tpl
@@ -0,0 +1,26 @@
+
+<div class="contact-wrapper" id="contact-entry-wrapper-$id" >
+ <div class="contact-photo-wrapper" >
+ <div class="contact-photo mframe" id="contact-entry-photo-$contact.id"
+ onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
+ onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
+
+ <a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
+
+ {{ if $contact.photo_menu }}
+ <a href="#" rel="#contact-photo-menu-$contact.id" class="contact-photo-menu-button icon s16 menu" id="contact-photo-menu-button-$contact.id">menu</a>
+ <ul class="contact-photo-menu menu-popup" id="contact-photo-menu-$contact.id">
+ $contact.photo_menu
+ </ul>
+ {{ endif }}
+ </div>
+
+ </div>
+ <div class="contact-name" id="contact-entry-name-$contact.id" >$contact.name</div>
+ {{ if $contact.alt_text }}<div class="contact-details" id="contact-entry-rel-$contact.id" >$contact.alt_text</div>{{ endif }}
+ <div class="contact-details" id="contact-entry-url-$contact.id" >$contact.itemurl</div>
+ <div class="contact-details" id="contact-entry-network-$contact.id" >$contact.network</div>
+
+
+</div>
+
diff --git a/view/theme/quattro/conversation.tpl b/view/theme/quattro/conversation.tpl
new file mode 100644
index 000000000..ff202bbe4
--- /dev/null
+++ b/view/theme/quattro/conversation.tpl
@@ -0,0 +1,23 @@
+{{ for $threads as $thread }}
+<div id="tread-wrapper-$thread.id" class="tread-wrapper">
+ {{ for $thread.items as $item }}
+ {{if $item.comment_firstcollapsed}}
+ <div class="hide-comments-outer">
+ <span id="hide-comments-total-$thread.id" class="hide-comments-total">$thread.num_comments</span> <span id="hide-comments-$thread.id" class="hide-comments fakelink" onclick="showHideComments($thread.id);">$thread.hide_text</span>
+ </div>
+ <div id="collapsed-comments-$thread.id" class="collapsed-comments" style="display: none;">
+ {{endif}}
+ {{if $item.comment_lastcollapsed}}</div>{{endif}}
+
+ {{ inc $item.template }}{{ endinc }}
+
+
+ {{ endfor }}
+</div>
+{{ endfor }}
+
+{{ if $dropping }}
+<a href="#" onclick="deleteCheckedItems();return false;">
+ <span class="icon s22 delete text">$dropping</span>
+</a>
+{{ endif }}
diff --git a/view/theme/quattro/dark/Makefile b/view/theme/quattro/dark/Makefile
new file mode 100644
index 000000000..989da60c7
--- /dev/null
+++ b/view/theme/quattro/dark/Makefile
@@ -0,0 +1,4 @@
+##
+
+style.css : style.less colors.less ../icons.less ../quattro.less
+ lessc style.less > style.css
diff --git a/view/theme/quattro/colors.less b/view/theme/quattro/dark/colors.less
index 9183b2e77..b6d487f92 100755..100644
--- a/view/theme/quattro/colors.less
+++ b/view/theme/quattro/dark/colors.less
@@ -96,3 +96,12 @@
@JotPermissionLockBackgroundColor: @Grey4;
@JotLoadingBackgroundColor: @Grey1;
@JotPreviewBackgroundColor: @Yellow1;
+
+@MessageNewBackgroundColor: @Blue1;
+@MessageNewBorderColor: @Blue3;
+@MessageNewColor: @Grey1;
+
+@MailListBackgroundColor: #f6f7f8;
+
+@MailDisplaySubjectColor: @Grey5;
+@MailDisplaySubjectBackgroundColor: #f6f7f8;
diff --git a/view/theme/quattro/style.css b/view/theme/quattro/dark/style.css
index 6087e4cd1..1d951aba8 100755..100644
--- a/view/theme/quattro/style.css
+++ b/view/theme/quattro/dark/style.css
@@ -231,7 +231,8 @@ body {
h4 {
font-size: 1.1em;
}
-a, a:link {
+a,
+a:link {
color: #005c94;
text-decoration: none;
}
@@ -449,7 +450,8 @@ nav #nav-site-linkmenu .menu-popup {
right: 0px;
left: auto;
}
-nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-linkmenu.selected .icon.s22.notify {
+nav #nav-notifications-linkmenu.on .icon.s22.notify,
+nav #nav-notifications-linkmenu.selected .icon.s22.notify {
background-image: url("../../../images/icons/22/notify_on.png");
}
nav #nav-apps-link.selected {
@@ -626,41 +628,16 @@ aside #profiles-menu {
width: 48px;
height: 48px;
}
-/* 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;
-}
/* group member */
-#contact-edit-drop-link, .mail-list-delete-wrapper, .group-delete-wrapper {
+#contact-edit-drop-link,
+.mail-list-delete-wrapper,
+.group-delete-wrapper {
float: right;
margin-right: 50px;
}
-#contact-edit-drop-link .drophide, .mail-list-delete-wrapper .drophide, .group-delete-wrapper .drophide {
+#contact-edit-drop-link .drophide,
+.mail-list-delete-wrapper .drophide,
+.group-delete-wrapper .drophide {
background-image: url('../../../images/icons/22/delete.png');
display: block;
width: 22px;
@@ -669,7 +646,9 @@ aside #profiles-menu {
position: relative;
top: -50px;
}
-#contact-edit-drop-link .drop, .mail-list-delete-wrapper .drop, .group-delete-wrapper .drop {
+#contact-edit-drop-link .drop,
+.mail-list-delete-wrapper .drop,
+.group-delete-wrapper .drop {
background-image: url('../../../images/icons/22/delete.png');
display: block;
width: 22px;
@@ -787,7 +766,7 @@ section {
}
.wall-item-decor {
position: absolute;
- left: 790px;
+ left: 97%;
top: -10px;
width: 16px;
}
@@ -798,7 +777,8 @@ section {
display: table;
width: 780px;
}
-.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
+.wall-item-container .wall-item-item,
+.wall-item-container .wall-item-bottom {
display: table-row;
}
.wall-item-container .wall-item-bottom {
@@ -836,11 +816,13 @@ section {
.wall-item-container .wall-item-content img {
max-width: 710px;
}
-.wall-item-container .wall-item-links, .wall-item-container .wall-item-actions {
+.wall-item-container .wall-item-links,
+.wall-item-container .wall-item-actions {
display: table-cell;
vertical-align: middle;
}
-.wall-item-container .wall-item-links .icon, .wall-item-container .wall-item-actions .icon {
+.wall-item-container .wall-item-links .icon,
+.wall-item-container .wall-item-actions .icon {
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
@@ -848,7 +830,8 @@ section {
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
-.wall-item-container .wall-item-links .icon:hover, .wall-item-container .wall-item-actions .icon:hover {
+.wall-item-container .wall-item-links .icon:hover,
+.wall-item-container .wall-item-actions .icon:hover {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
@@ -968,10 +951,11 @@ section {
background: url("../../../images/tag.png") no-repeat center right;
color: #ffffff;
}
+.filesavetags {
+ padding: 3px 0px 3px 0px;
+ opacity: 0.5;
+}
.wwto {
- position: absolute !important;
- width: 25px;
- height: 25px;
background: #FFFFFF;
border: 2px solid #364e59;
height: 25px;
@@ -1189,7 +1173,9 @@ section {
height: 18px;
}*/
/** acl **/
-#photo-edit-perms-select, #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper {
+#photo-edit-perms-select,
+#photos-upload-permissions-wrapper,
+#profile-jot-acl-wrapper {
display: block!important;
}
#acl-wrapper {
@@ -1348,9 +1334,14 @@ ul.tabs li .active {
float: left;
width: 200px;
}
-.field input, .field textarea {
+.field input,
+.field textarea {
width: 400px;
}
+.field input[type="checkbox"],
+.field input[type="radio"] {
+ width: auto;
+}
.field textarea {
height: 100px;
}
@@ -1499,6 +1490,123 @@ ul.tabs li .active {
left: 0px;
top: 63px;
}
+/* messages */
+#message-new {
+ background: #19aeff;
+ border: 1px solid #005c94;
+ width: 150px;
+}
+#message-new a {
+ color: #ffffff;
+ text-align: center;
+ display: block;
+ font-weight: bold;
+ padding: 1em 0px;
+}
+.mail-list-wrapper {
+ background-color: #f6f7f8;
+ margin-bottom: 5px;
+ width: 100%;
+ height: auto;
+ overflow: hidden;
+}
+.mail-list-wrapper span {
+ display: block;
+ float: left;
+ width: 20%;
+ overflow: hidden;
+}
+.mail-list-wrapper .mail-subject {
+ width: 30%;
+ padding: 4px 0px 0px 4px;
+}
+.mail-list-wrapper .mail-subject a {
+ display: block;
+}
+.mail-list-wrapper .mail-subject.unseen a {
+ font-weight: bold;
+}
+.mail-list-wrapper .mail-date {
+ padding: 4px 4px 0px 4px;
+}
+.mail-list-wrapper .mail-from {
+ padding: 4px 4px 0px 4px;
+}
+.mail-list-wrapper .mail-count {
+ padding: 4px 4px 0px 4px;
+ text-align: right;
+}
+.mail-list-wrapper .mail-delete {
+ float: right;
+}
+#mail-display-subject {
+ background-color: #f6f7f8;
+ color: #2d2d2d;
+ margin-bottom: 10px;
+ width: 100%;
+ height: auto;
+ overflow: hidden;
+}
+#mail-display-subject span {
+ float: left;
+ overflow: hidden;
+ padding: 4px 0px 0px 10px;
+}
+#mail-display-subject .mail-delete {
+ float: right;
+ 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;
+}
+#mail-display-subject:hover .mail-delete {
+ opacity: 1;
+ -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;
+}
+/* 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;
+}
+
+*/
/* page footer */
footer {
height: 100px;
diff --git a/view/theme/quattro/style.less b/view/theme/quattro/dark/style.less
index c3dbae777..7d81e788a 100755..100644
--- a/view/theme/quattro/style.less
+++ b/view/theme/quattro/dark/style.less
@@ -6,8 +6,8 @@
// $ lessc style.less > style.css
@import "colors";
-@import "icons";
-@import "quattro";
+@import "../icons";
+@import "../quattro";
diff --git a/view/theme/quattro/experimental b/view/theme/quattro/experimental
index e69de29bb..e69de29bb 100755..100644
--- a/view/theme/quattro/experimental
+++ b/view/theme/quattro/experimental
diff --git a/view/theme/quattro/fileas_widget.tpl b/view/theme/quattro/fileas_widget.tpl
new file mode 100644
index 000000000..1e5a76044
--- /dev/null
+++ b/view/theme/quattro/fileas_widget.tpl
@@ -0,0 +1,12 @@
+<div id="fileas-sidebar" class="widget">
+ <h3>$title</h3>
+ <div id="nets-desc">$desc</div>
+
+ <ul class="fileas-ul">
+ <li class="tool {{ if $sel_all }}selected{{ endif }}"><a href="$base" class="fileas-link fileas-all">$all</a></li>
+ {{ for $terms as $term }}
+ <li class="tool {{ if $term.selected }}selected{{ endif }}"><a href="$base?f=&file=$term.name" class="fileas-link">$term.name</a></li>
+ {{ endfor }}
+ </ul>
+
+</div>
diff --git a/view/theme/quattro/green/Makefile b/view/theme/quattro/green/Makefile
new file mode 100644
index 000000000..989da60c7
--- /dev/null
+++ b/view/theme/quattro/green/Makefile
@@ -0,0 +1,4 @@
+##
+
+style.css : style.less colors.less ../icons.less ../quattro.less
+ lessc style.less > style.css
diff --git a/view/theme/quattro/green/colors.less b/view/theme/quattro/green/colors.less
new file mode 100644
index 000000000..bc78c3fda
--- /dev/null
+++ b/view/theme/quattro/green/colors.less
@@ -0,0 +1,108 @@
+// Quattro Theme LESS file
+
+// "Echo" palette from Inkscape
+@Yellow1 : #fce94f;
+@Blue1:rgb(25,174,255);
+@Blue2:rgb(0,132,200);
+@Blue3:rgb(0,92,148);
+@Red1:rgb(255,65,65);
+@Red2:rgb(220,0,0);
+@Red3:rgb(181,0,0);
+@Orange1:rgb(255,255,62);
+@Orange2:rgb(255,153,0);
+@Orange3:rgb(255,102,0);
+@Brown1:rgb(255,192,34);
+@Brown2:rgb(184,129,0);
+@Brown3:rgb(128,77,0);
+@Green1:rgb(204,255,66);
+@Green2:rgb(154,222,0);
+@Green3:rgb(0,145,0);
+@Green4:rgb(221,255,221);
+@Purple1:rgb(241,202,255);
+@Purple2:rgb(215,108,255);
+@Purple3:rgb(186,0,255);
+@Metalic1:rgb(189,205,212);
+@Metalic2:rgb(158,171,176);
+@Metalic3:rgb(54,78,89);
+@Metalic4:rgb(14,35,46);
+@Grey1:rgb(255,255,255);
+@Grey2:rgb(204,204,204);
+@Grey3:rgb(153,153,153);
+@Grey4:rgb(102,102,102);
+@Grey5:rgb(45,45,45);
+
+
+// Theme colors
+@BodyBackground: @Grey1;
+@BodyColor: @Grey5;
+
+@Link: @Green3;
+@LinkHover: @Green3;
+@LinkVisited: @Green3;
+
+
+@ButtonColor: @Grey1;
+@ButtonBackgroundColor: @Grey5;
+
+@Banner: @Grey1;
+
+@NavbarBackground:@Green3;
+@NavbarSelectedBg:@Metalic3;
+@NavbarSelectedBorder: @Metalic2;
+@NavbarNotifBg: @Red2;
+
+@Menu: @Grey5;
+@MenuBg: @Grey1;
+@MenuBorder: @Metalic3;
+@MenuItem: @Grey5;
+@MenuItemHoverBg: @Green1;
+@MenuItemSeparator: @Metalic2;
+@MenuEmpty: @Metalic2;
+@MenuItemDetail: @Metalic2;
+
+@AsideBorder: @Metalic1;
+@AsideConnect: @Grey1;
+@AsideConnectBg: @Green3;
+@AsideConnectHoverBg: @Green1;
+@VCardLabelColor: @Grey3;
+
+@InfoColor: @Grey1;
+@InfoBackgroundColor: @Metalic3;
+
+@NoticeColor: @Grey1;
+@NoticeBackgroundColor: #511919;
+
+@FieldHelpColor: @Grey3;
+
+@ThreadBackgroundColor: #f6f7f8;
+@ShinyBorderColor: @Green4;
+
+@CommentBoxEmptyColor: @Grey3;
+@CommentBoxEmptyBorderColor: @Grey3;
+@CommentBoxFullColor: @Grey5;
+@CommentBoxFullBorderColor: @Grey5;
+
+@TagColor: @Grey1;
+
+@JotToolsBackgroundColor: @Green3;
+@JotToolsBorderColor: @Metalic2;
+@JotToolsOverBackgroundColor: @Green2;
+@JotToolsOverBorderColor: @Metalic1;
+@JotToolsText: @Grey5;
+@JotSubmitBackgroundColor: @Grey2;
+@JotSubmitText: @Grey4;
+@JotSubmitOverBackgroundColor: @Green1;
+@JotSubmitOverText: @Grey4;
+@JotPermissionUnlockBackgroundColor: @Grey2;
+@JotPermissionLockBackgroundColor: @Grey4;
+@JotLoadingBackgroundColor: @Grey1;
+@JotPreviewBackgroundColor: @Green4;
+
+@MessageNewBackgroundColor: @Blue1;
+@MessageNewBorderColor: @Blue3;
+@MessageNewColor: @Grey1;
+
+@MailListBackgroundColor: #f6f7f8;
+
+@MailDisplaySubjectColor: @Grey5;
+@MailDisplaySubjectBackgroundColor: #f6f7f8;
diff --git a/view/theme/quattro/green/style.css b/view/theme/quattro/green/style.css
new file mode 100644
index 000000000..e7cc549d0
--- /dev/null
+++ b/view/theme/quattro/green/style.css
@@ -0,0 +1,1618 @@
+/**
+ * Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
+ **/
+/* icons */
+.icon {
+ background-color: transparent ;
+ background-repeat: no-repeat;
+ background-position: left center;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+ padding: 1px;
+}
+.icon.text {
+ text-indent: 0px;
+}
+.icon.s10 {
+ min-width: 10px;
+ height: 10px;
+}
+.icon.s10.notify {
+ background-image: url("../../../images/icons/10/notify_off.png");
+}
+.icon.s10.gear {
+ background-image: url("../../../images/icons/10/gear.png");
+}
+.icon.s10.add {
+ background-image: url("../../../images/icons/10/add.png");
+}
+.icon.s10.delete {
+ background-image: url("../../../images/icons/10/delete.png");
+}
+.icon.s10.edit {
+ background-image: url("../../../images/icons/10/edit.png");
+}
+.icon.s10.star {
+ background-image: url("../../../images/icons/10/star.png");
+}
+.icon.s10.menu {
+ background-image: url("../../../images/icons/10/menu.png");
+}
+.icon.s10.link {
+ background-image: url("../../../images/icons/10/link.png");
+}
+.icon.s10.lock {
+ background-image: url("../../../images/icons/10/lock.png");
+}
+.icon.s10.unlock {
+ background-image: url("../../../images/icons/10/unlock.png");
+}
+.icon.s10.type-unkn {
+ background-image: url("../../../images/icons/10/zip.png");
+}
+.icon.s10.type-audio {
+ background-image: url("../../../images/icons/10/audio.png");
+}
+.icon.s10.type-video {
+ background-image: url("../../../images/icons/10/video.png");
+}
+.icon.s10.type-image {
+ background-image: url("../../../images/icons/10/image.png");
+}
+.icon.s10.type-text {
+ background-image: url("../../../images/icons/10/text.png");
+}
+.icon.s10.text {
+ padding: 2px 0px 0px 15px;
+}
+.icon.s16 {
+ min-width: 16px;
+ height: 16px;
+}
+.icon.s16.notify {
+ background-image: url("../../../images/icons/16/notify_off.png");
+}
+.icon.s16.gear {
+ background-image: url("../../../images/icons/16/gear.png");
+}
+.icon.s16.add {
+ background-image: url("../../../images/icons/16/add.png");
+}
+.icon.s16.delete {
+ background-image: url("../../../images/icons/16/delete.png");
+}
+.icon.s16.edit {
+ background-image: url("../../../images/icons/16/edit.png");
+}
+.icon.s16.star {
+ background-image: url("../../../images/icons/16/star.png");
+}
+.icon.s16.menu {
+ background-image: url("../../../images/icons/16/menu.png");
+}
+.icon.s16.link {
+ background-image: url("../../../images/icons/16/link.png");
+}
+.icon.s16.lock {
+ background-image: url("../../../images/icons/16/lock.png");
+}
+.icon.s16.unlock {
+ background-image: url("../../../images/icons/16/unlock.png");
+}
+.icon.s16.type-unkn {
+ background-image: url("../../../images/icons/16/zip.png");
+}
+.icon.s16.type-audio {
+ background-image: url("../../../images/icons/16/audio.png");
+}
+.icon.s16.type-video {
+ background-image: url("../../../images/icons/16/video.png");
+}
+.icon.s16.type-image {
+ background-image: url("../../../images/icons/16/image.png");
+}
+.icon.s16.type-text {
+ background-image: url("../../../images/icons/16/text.png");
+}
+.icon.s16.text {
+ padding: 4px 0px 0px 20px;
+}
+.icon.s22 {
+ min-width: 22px;
+ height: 22px;
+}
+.icon.s22.notify {
+ background-image: url("../../../images/icons/22/notify_off.png");
+}
+.icon.s22.gear {
+ background-image: url("../../../images/icons/22/gear.png");
+}
+.icon.s22.add {
+ background-image: url("../../../images/icons/22/add.png");
+}
+.icon.s22.delete {
+ background-image: url("../../../images/icons/22/delete.png");
+}
+.icon.s22.edit {
+ background-image: url("../../../images/icons/22/edit.png");
+}
+.icon.s22.star {
+ background-image: url("../../../images/icons/22/star.png");
+}
+.icon.s22.menu {
+ background-image: url("../../../images/icons/22/menu.png");
+}
+.icon.s22.link {
+ background-image: url("../../../images/icons/22/link.png");
+}
+.icon.s22.lock {
+ background-image: url("../../../images/icons/22/lock.png");
+}
+.icon.s22.unlock {
+ background-image: url("../../../images/icons/22/unlock.png");
+}
+.icon.s22.type-unkn {
+ background-image: url("../../../images/icons/22/zip.png");
+}
+.icon.s22.type-audio {
+ background-image: url("../../../images/icons/22/audio.png");
+}
+.icon.s22.type-video {
+ background-image: url("../../../images/icons/22/video.png");
+}
+.icon.s22.type-image {
+ background-image: url("../../../images/icons/22/image.png");
+}
+.icon.s22.type-text {
+ background-image: url("../../../images/icons/22/text.png");
+}
+.icon.s22.text {
+ padding: 10px 0px 0px 25px;
+}
+.icon.s48 {
+ width: 48px;
+ height: 48px;
+}
+.icon.s48.notify {
+ background-image: url("../../../images/icons/48/notify_off.png");
+}
+.icon.s48.gear {
+ background-image: url("../../../images/icons/48/gear.png");
+}
+.icon.s48.add {
+ background-image: url("../../../images/icons/48/add.png");
+}
+.icon.s48.delete {
+ background-image: url("../../../images/icons/48/delete.png");
+}
+.icon.s48.edit {
+ background-image: url("../../../images/icons/48/edit.png");
+}
+.icon.s48.star {
+ background-image: url("../../../images/icons/48/star.png");
+}
+.icon.s48.menu {
+ background-image: url("../../../images/icons/48/menu.png");
+}
+.icon.s48.link {
+ background-image: url("../../../images/icons/48/link.png");
+}
+.icon.s48.lock {
+ background-image: url("../../../images/icons/48/lock.png");
+}
+.icon.s48.unlock {
+ background-image: url("../../../images/icons/48/unlock.png");
+}
+.icon.s48.type-unkn {
+ background-image: url("../../../images/icons/48/zip.png");
+}
+.icon.s48.type-audio {
+ background-image: url("../../../images/icons/48/audio.png");
+}
+.icon.s48.type-video {
+ background-image: url("../../../images/icons/48/video.png");
+}
+.icon.s48.type-image {
+ background-image: url("../../../images/icons/48/image.png");
+}
+.icon.s48.type-text {
+ background-image: url("../../../images/icons/48/text.png");
+}
+/* global */
+body {
+ font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
+ font-size: 11px;
+ background-color: #ffffff;
+ color: #2d2d2d;
+ margin: 50px 0px 0px 0px;
+ display: table;
+}
+h4 {
+ font-size: 1.1em;
+}
+a,
+a:link {
+ color: #009100;
+ text-decoration: none;
+}
+a:visited {
+ color: #009100;
+ text-decoration: none;
+}
+a:hover {
+ color: #009100;
+ text-decoration: underline;
+}
+.left {
+ float: left;
+}
+.right {
+ float: right;
+}
+.hidden {
+ display: none;
+}
+.clear {
+ clear: both;
+}
+.fakelink {
+ color: #009100;
+ text-decoration: none;
+ cursor: pointer;
+}
+.fakelink:hover {
+ color: #009100;
+ text-decoration: underline;
+}
+code {
+ font-family: Courier, monospace;
+ white-space: pre;
+ display: block;
+ overflow: auto;
+ border: 1px solid #444;
+ background: #EEE;
+ color: #444;
+ padding: 10px;
+ margin-top: 20px;
+}
+#panel {
+ position: absolute;
+ width: 10em;
+ background: #ffffff;
+ color: #2d2d2d;
+ margin: 0px;
+ padding: 1em;
+ list-style: none;
+ border: 3px solid #364e59;
+ z-index: 100000;
+ -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+}
+/* tool */
+.tool {
+ height: auto;
+ overflow: auto;
+}
+.tool .label {
+ float: left;
+}
+.tool .action {
+ float: right;
+}
+/* popup notifications */
+div.jGrowl div.notice {
+ background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
+ color: #ffffff;
+ padding-left: 58px;
+}
+div.jGrowl div.info {
+ background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center;
+ color: #ffffff;
+ padding-left: 58px;
+}
+/* header */
+header {
+ position: fixed;
+ left: 43%;
+ right: 43%;
+ top: 0px;
+ margin: 0px;
+ padding: 0px;
+ /*width: 100%; height: 12px; */
+
+ z-index: 110;
+ color: #ffffff;
+}
+header #site-location {
+ display: none;
+}
+header #banner {
+ overflow: hidden;
+ text-align: center;
+ width: 100%;
+}
+header #banner a,
+header #banner a:active,
+header #banner a:visited,
+header #banner a:link,
+header #banner a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ outline: none;
+ vertical-align: bottom;
+}
+header #banner #logo-img {
+ height: 22px;
+ margin-top: 5px;
+}
+header #banner #logo-text {
+ font-size: 22px;
+}
+/* nav */
+nav {
+ width: 100%;
+ height: 32px;
+ position: fixed;
+ left: 0px;
+ top: 0px;
+ padding: 0px;
+ background-color: #009100;
+ color: #ffffff;
+ z-index: 100;
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+}
+nav a,
+nav a:active,
+nav a:visited,
+nav a:link,
+nav a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ outline: none;
+}
+nav ul {
+ margin: 0px;
+ padding: 0px 20px;
+}
+nav ul li {
+ list-style: none;
+ margin: 0px;
+ padding: 0px;
+ float: left;
+}
+nav ul li .menu-popup {
+ left: 0px;
+ right: auto;
+}
+nav .nav-menu-icon {
+ position: relative;
+ height: 22px;
+ padding: 5px;
+ margin: 0px 10px;
+ -moz-border-radius: 5px 5px 0 0;
+ -webkit-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
+}
+nav .nav-menu-icon.selected {
+ background-color: #364e59;
+}
+nav .nav-menu-icon img {
+ width: 22px;
+ height: 22px;
+}
+nav .nav-menu-icon .nav-notify {
+ top: 3px;
+}
+nav .nav-menu {
+ position: relative;
+ height: 16px;
+ padding: 5px;
+ margin: 3px 15px 0px;
+ font-size: 14px;
+ border-bottom: 3px solid #009100;
+}
+nav .nav-menu.selected {
+ border-bottom: 3px solid #9eabb0;
+}
+nav .nav-notify {
+ display: none;
+ position: absolute;
+ background-color: #dc0000;
+ -moz-border-radius: 5px 5px 5px 5px;
+ -webkit-border-radius: 5px 5px 5px 5px;
+ border-radius: 5px 5px 5px 5px;
+ font-size: 10px;
+ padding: 1px 3px;
+ top: 0px;
+ right: -10px;
+ min-width: 15px;
+ text-align: right;
+}
+nav .nav-notify.show {
+ display: block;
+}
+nav #nav-help-link,
+nav #nav-search-link,
+nav #nav-directory-link,
+nav #nav-apps-link,
+nav #nav-site-linkmenu {
+ float: right;
+}
+nav #nav-help-link .menu-popup,
+nav #nav-search-link .menu-popup,
+nav #nav-directory-link .menu-popup,
+nav #nav-apps-link .menu-popup,
+nav #nav-site-linkmenu .menu-popup {
+ right: 0px;
+ left: auto;
+}
+nav #nav-notifications-linkmenu.on .icon.s22.notify,
+nav #nav-notifications-linkmenu.selected .icon.s22.notify {
+ background-image: url("../../../images/icons/22/notify_on.png");
+}
+nav #nav-apps-link.selected {
+ background-color: #364e59;
+}
+ul.menu-popup {
+ position: absolute;
+ display: none;
+ width: 10em;
+ background: #ffffff;
+ color: #2d2d2d;
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+ border: 3px solid #364e59;
+ z-index: 100000;
+ -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+}
+ul.menu-popup a {
+ display: block;
+ color: #2d2d2d;
+ padding: 5px 10px;
+ text-decoration: none;
+}
+ul.menu-popup a:hover {
+ background-color: #ccff42;
+}
+ul.menu-popup .menu-sep {
+ border-top: 1px solid #9eabb0;
+}
+ul.menu-popup li {
+ float: none;
+ overflow: auto;
+ height: auto;
+ display: block;
+}
+ul.menu-popup li img {
+ float: left;
+ width: 16px;
+ height: 16px;
+ padding-right: 5px;
+}
+ul.menu-popup .empty {
+ padding: 5px;
+ text-align: center;
+ color: #9eabb0;
+}
+/* autocomplete popup */
+.acpopup {
+ max-height: 150px;
+ background-color: #ffffff;
+ color: #2d2d2d;
+ border: 1px solid #MenuBorder;
+ overflow: auto;
+ z-index: 100000;
+ -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+}
+.acpopupitem {
+ color: #2d2d2d;
+ padding: 4px;
+ clear: left;
+}
+.acpopupitem img {
+ float: left;
+ margin-right: 4px;
+}
+.acpopupitem.selected {
+ background-color: #ccff42;
+}
+#nav-notifications-menu {
+ width: 400px;
+ max-height: 550px;
+ overflow: auto;
+}
+#nav-notifications-menu img {
+ float: left;
+ margin-right: 5px;
+}
+#nav-notifications-menu .contactname {
+ font-weight: bold;
+}
+#nav-notifications-menu .notif-when {
+ font-size: 10px;
+ color: #9eabb0;
+ display: block;
+}
+/* aside */
+aside {
+ display: table-cell;
+ vertical-align: top;
+ width: 200px;
+ padding: 0px 10px 0px 20px;
+ border-right: 1px solid #bdcdd4;
+}
+aside .vcard .fn {
+ font-size: 16px;
+ font-weight: bold;
+ margin-bottom: 5px;
+}
+aside .vcard .title {
+ margin-bottom: 5px;
+}
+aside .vcard dl {
+ height: auto;
+ overflow: auto;
+}
+aside .vcard dt {
+ float: left;
+ margin-left: 0px;
+ width: 35%;
+ text-align: right;
+ color: #999999;
+}
+aside .vcard dd {
+ float: left;
+ margin-left: 4px;
+ width: 60%;
+}
+aside #profile-extra-links ul {
+ padding: 0px;
+ margin: 0px;
+}
+aside #profile-extra-links li {
+ padding: 0px;
+ margin: 0px;
+ list-style: none;
+}
+aside #dfrn-request-link {
+ display: block;
+ -moz-border-radius: 5px 5px 5px 5px;
+ -webkit-border-radius: 5px 5px 5px 5px;
+ border-radius: 5px 5px 5px 5px;
+ color: #ffffff;
+ background: #009100 url('../../../images/connect-bg.png') no-repeat left center;
+ font-weight: bold;
+ text-transform: uppercase;
+ padding: 4px 2px 2px 35px;
+}
+aside #dfrn-request-link:hover {
+ text-decoration: none;
+ background-color: #ccff42;
+}
+aside #profiles-menu {
+ width: 20em;
+}
+#contact-block {
+ overflow: auto;
+ height: auto;
+ /*.contact-block-div { width:60px; height: 60px; }*/
+
+}
+#contact-block .contact-block-h4 {
+ float: left;
+ margin: 5px 0px;
+}
+#contact-block .allcontact-link {
+ float: right;
+ margin: 5px 0px;
+}
+#contact-block .contact-block-content {
+ clear: both;
+ overflow: hidden;
+ height: auto;
+}
+#contact-block .contact-block-link {
+ float: left;
+ margin: 0px 2px 2px 0px;
+}
+#contact-block .contact-block-link img {
+ width: 48px;
+ height: 48px;
+}
+/* group member */
+#contact-edit-drop-link,
+.mail-list-delete-wrapper,
+.group-delete-wrapper {
+ float: right;
+ margin-right: 50px;
+}
+#contact-edit-drop-link .drophide,
+.mail-list-delete-wrapper .drophide,
+.group-delete-wrapper .drophide {
+ background-image: url('../../../images/icons/22/delete.png');
+ display: block;
+ width: 22px;
+ height: 22px;
+ opacity: 0.3;
+ position: relative;
+ top: -50px;
+}
+#contact-edit-drop-link .drop,
+.mail-list-delete-wrapper .drop,
+.group-delete-wrapper .drop {
+ background-image: url('../../../images/icons/22/delete.png');
+ display: block;
+ width: 22px;
+ height: 22px;
+ position: relative;
+ top: -50px;
+}
+/*
+#group-members {
+ margin-top: 20px;
+ padding: 10px;
+ height: 250px;
+ overflow: auto;
+ border: 1px solid #ddd;
+}
+#group-members-end {
+ clear: both;
+}
+#group-all-contacts {
+ padding: 10px;
+ height: 450px;
+ overflow: auto;
+ border: 1px solid #ddd;
+}
+#group-all-contacts-end {
+ clear: both;
+ margin-bottom: 10px;
+}
+.contact-block-div {
+ float: left;
+ width: 60px;
+ height: 60px;
+}*/
+/* widget */
+.widget {
+ margin-bottom: 2em;
+ /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
+ .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
+
+}
+.widget h3 {
+ padding: 0px;
+ margin: 2px;
+}
+.widget .action {
+ opacity: 0.1;
+ -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;
+}
+.widget input.action {
+ 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;
+}
+.widget:hover .title .action {
+ opacity: 1;
+ -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;
+}
+.widget .tool:hover .action {
+ opacity: 1;
+ -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;
+}
+.widget .tool:hover .action.ticked {
+ opacity: 1;
+ -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;
+}
+.widget ul {
+ padding: 0px;
+}
+.widget ul li {
+ padding-left: 16px;
+ min-height: 16px;
+ list-style: none;
+}
+.widget .tool.selected {
+ background: url('../../../images/selected.png') no-repeat left center;
+}
+/* widget: search */
+#add-search-popup {
+ width: 200px;
+ top: 18px;
+}
+/* section */
+section {
+ display: table-cell;
+ vertical-align: top;
+ width: 800px;
+ padding: 0px 20px 0px 10px;
+}
+/* wall item */
+.tread-wrapper {
+ background-color: #f6f7f8;
+ position: relative;
+ padding: 10px;
+ margin-bottom: 20px;
+ width: 780px;
+}
+.wall-item-decor {
+ position: absolute;
+ left: 97%;
+ top: -10px;
+ width: 16px;
+}
+.unstarred {
+ display: none;
+}
+.wall-item-container {
+ display: table;
+ width: 780px;
+}
+.wall-item-container .wall-item-item,
+.wall-item-container .wall-item-bottom {
+ display: table-row;
+}
+.wall-item-container .wall-item-bottom {
+ 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:hover .wall-item-bottom {
+ opacity: 1;
+ -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 .wall-item-info {
+ display: table-cell;
+ vertical-align: top;
+ text-align: left;
+ width: 60px;
+}
+.wall-item-container .wall-item-location {
+ word-wrap: break-word;
+ width: 50px;
+}
+.wall-item-container .wall-item-content {
+ display: table-cell;
+ font-size: 12px;
+ max-width: 720px;
+ word-wrap: break-word;
+}
+.wall-item-container .wall-item-content img {
+ max-width: 710px;
+}
+.wall-item-container .wall-item-links,
+.wall-item-container .wall-item-actions {
+ display: table-cell;
+ vertical-align: middle;
+}
+.wall-item-container .wall-item-links .icon,
+.wall-item-container .wall-item-actions .icon {
+ 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 .wall-item-links .icon:hover,
+.wall-item-container .wall-item-actions .icon:hover {
+ opacity: 1;
+ -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 .wall-item-ago {
+ padding-right: 40px;
+}
+.wall-item-container .wall-item-name {
+ font-weight: bold;
+}
+.wall-item-container .wall-item-actions-author {
+ float: left;
+ width: 20em;
+ margin-top: 0.5em;
+}
+.wall-item-container .wall-item-actions-social {
+ float: left;
+ margin-top: 0.5em;
+}
+.wall-item-container .wall-item-actions-social a {
+ margin-right: 3em;
+}
+.wall-item-container .wall-item-actions-tools {
+ float: right;
+ width: 15%;
+}
+.wall-item-container .wall-item-actions-tools a {
+ float: right;
+}
+.wall-item-container .wall-item-actions-tools input {
+ float: right;
+}
+.wall-item-container.comment {
+ /*margin-top: 50px;*/
+
+}
+.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;
+}
+.wall-item-container.comment .wall-item-links {
+ padding-left: 12px;
+}
+.wall-item-comment-wrapper {
+ margin: 30px 2em 2em 60px;
+}
+.wall-item-comment-wrapper .comment-edit-photo {
+ display: none;
+}
+.wall-item-comment-wrapper textarea {
+ height: 1em;
+ width: 100%;
+ font-size: 10px;
+ color: #999999;
+ border: 1px solid #999999;
+ padding: 0.3em;
+}
+.wall-item-comment-wrapper .comment-edit-text-full {
+ font-size: 14px;
+ height: 4em;
+ color: #2d2d2d;
+ border: 1px solid #2d2d2d;
+}
+.comment-edit-preview {
+ width: 710px;
+ border: 1px solid #2d2d2d;
+ margin-top: 10px;
+}
+.comment-edit-preview .contact-photo {
+ width: 32px;
+ height: 32px;
+ margin-left: 16px;
+ /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
+
+}
+.comment-edit-preview .contact-photo-menu-button {
+ top: 15px !important;
+ left: 15px !important;
+}
+.comment-edit-preview .wall-item-links {
+ padding-left: 12px;
+}
+.comment-edit-preview .wall-item-container {
+ width: 700px;
+}
+.comment-edit-preview .tread-wrapper {
+ width: 700px;
+ padding: 0;
+ margin: 10px 0;
+}
+.shiny {
+ border-right: 10px solid #ddffdd;
+}
+#jot-preview-content .tread-wrapper {
+ background-color: #ddffdd;
+}
+.wall-item-tags {
+ padding-top: 5px;
+}
+.tag {
+ background: url("../../../images/tag_b.png") no-repeat center left;
+ color: #ffffff;
+ padding-left: 3px;
+}
+.tag a {
+ padding-right: 8px;
+ background: url("../../../images/tag.png") no-repeat center right;
+ color: #ffffff;
+}
+.filesavetags {
+ padding: 3px 0px 3px 0px;
+ opacity: 0.5;
+}
+.wwto {
+ background: #FFFFFF;
+ border: 2px solid #364e59;
+ height: 25px;
+ width: 25px;
+ overflow: hidden;
+ padding: 1px;
+ position: absolute !important;
+ top: 40px;
+ left: 30px;
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+}
+.wwto .contact-photo {
+ width: 25px;
+ height: 25px;
+}
+#pause {
+ position: fixed;
+ bottom: 5px;
+ right: 5px;
+}
+.contact-photo-wrapper {
+ position: relative;
+}
+.contact-photo {
+ width: 48px;
+ height: 48px;
+ overflow: hidden;
+ display: block;
+}
+.contact-photo img {
+ width: 48px;
+ height: 48px;
+}
+.contact-photo-menu-button {
+ display: none;
+ position: absolute;
+ left: -2px;
+ top: 31px;
+}
+.contact-wrapper {
+ float: left;
+ width: 300px;
+ height: 90px;
+ padding-right: 10px;
+ margin: 0 10px 10px 0px;
+}
+.contact-wrapper .contact-photo-wrapper {
+ float: left;
+ margin-right: 10px;
+}
+.contact-wrapper .contact-photo {
+ width: 80px;
+ height: 80px;
+}
+.contact-wrapper .contact-photo img {
+ width: 80px;
+ height: 80px;
+}
+.contact-wrapper .contact-photo-menu-button {
+ left: 0px;
+ top: 63px;
+}
+.directory-item {
+ float: left;
+ width: 200px;
+ height: 200px;
+}
+.directory-item .contact-photo {
+ width: 175px;
+ height: 175px;
+}
+.directory-item .contact-photo img {
+ width: 175px;
+ height: 175px;
+}
+.contact-name {
+ font-weight: bold;
+ padding-top: 15px;
+}
+.contact-details {
+ color: #999999;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+/* editor */
+.jothidden {
+ display: none;
+}
+#jot {
+ width: 100%;
+ margin: 0px 2em 20px 0px;
+}
+#jot .profile-jot-text {
+ height: 1em;
+ width: 99%;
+ font-size: 10px;
+ color: #999999;
+ border: 1px solid #999999;
+ padding: 0.3em;
+}
+#jot #jot-tools {
+ margin: 0px;
+ padding: 0px;
+ height: 40px;
+ overflow: none;
+ width: 800px;
+ background-color: #009100;
+ border-bottom: 2px solid #9eabb0;
+}
+#jot #jot-tools li {
+ list-style: none;
+ float: left;
+ width: 80px;
+ height: 40px;
+ border-bottom: 2px solid #9eabb0;
+}
+#jot #jot-tools li a {
+ display: block;
+ color: #2d2d2d;
+ width: 100%;
+ height: 40px;
+ text-align: center;
+ line-height: 40px;
+ overflow: hidden;
+}
+#jot #jot-tools li:hover {
+ background-color: #9ade00;
+ border-bottom: 2px solid #bdcdd4;
+}
+#jot #jot-tools li.perms {
+ float: right;
+ width: 40px;
+}
+#jot #jot-tools li.perms a.unlock {
+ width: 30px;
+ border-left: 10px solid #cccccc;
+ background-color: #cccccc;
+}
+#jot #jot-tools li.perms a.lock {
+ width: 30px;
+ border-left: 10px solid #666666;
+ background-color: #666666;
+}
+#jot #jot-tools li.submit {
+ float: right;
+ background-color: #cccccc;
+ border-bottom: 2px solid #cccccc;
+ border-right: 1px solid #666666;
+ border-left: 1px solid #666666;
+}
+#jot #jot-tools li.submit input {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ background-color: #cccccc;
+ color: #666666;
+ width: 80px;
+ height: 40px;
+ line-height: 40px;
+}
+#jot #jot-tools li.submit input:hover {
+ background-color: #ccff42;
+ color: #666666;
+}
+#jot #jot-tools li.loading {
+ float: right;
+ background-color: #ffffff;
+ width: 20px;
+ vertical-align: center;
+ text-align: center;
+ border-top: 2px solid #9eabb0;
+ height: 38px;
+}
+#jot #jot-tools li.loading img {
+ margin-top: 10px;
+}
+#jot #jot-title {
+ border: 0px;
+ margin: 0px;
+ height: 20px;
+ width: 700px;
+ font-weight: bold;
+ border: 1px solid #ffffff;
+}
+#jot #jot-title:-webkit-input-placeholder {
+ font-weight: normal;
+}
+#jot #jot-title:-moz-placeholder {
+ font-weight: normal;
+}
+#jot #jot-title:hover {
+ border: 1px solid #999999;
+}
+#jot #jot-title:focus {
+ border: 1px solid #999999;
+}
+#jot #character-counter {
+ width: 80px;
+ float: right;
+ text-align: right;
+ height: 20px;
+ line-height: 20px;
+ padding-right: 20px;
+}
+/** buttons **/
+/*input[type="submit"] {
+ border: 0px;
+ background-color: @ButtonBackgroundColor;
+ color: @ButtonColor;
+ padding: 0px 10px;
+ .rounded(5px);
+ height: 18px;
+}*/
+/** acl **/
+#photo-edit-perms-select,
+#photos-upload-permissions-wrapper,
+#profile-jot-acl-wrapper {
+ display: block!important;
+}
+#acl-wrapper {
+ width: 690px;
+ float: left;
+}
+#acl-search {
+ float: right;
+ background: #ffffff url("../../../images/search_18.png") no-repeat right center;
+ padding-right: 20px;
+}
+#acl-showall {
+ float: left;
+ display: block;
+ width: auto;
+ height: 18px;
+ background-color: #cccccc;
+ background-image: url("../../../images/show_all_off.png");
+ background-position: 7px 7px;
+ background-repeat: no-repeat;
+ padding: 7px 5px 0px 30px;
+ color: #999999;
+ -moz-border-radius: 5px 5px 5px 5px;
+ -webkit-border-radius: 5px 5px 5px 5px;
+ border-radius: 5px 5px 5px 5px;
+}
+#acl-showall.selected {
+ color: #000000;
+ background-color: #ff9900;
+ background-image: url("../../../images/show_all_on.png");
+}
+#acl-list {
+ height: 210px;
+ border: 1px solid #cccccc;
+ clear: both;
+ margin-top: 30px;
+ overflow: auto;
+}
+.acl-list-item {
+ display: block;
+ width: 150px;
+ height: 30px;
+ border: 1px solid #cccccc;
+ margin: 5px;
+ float: left;
+}
+.acl-list-item img {
+ width: 22px;
+ height: 22px;
+ float: left;
+ margin: 4px;
+}
+.acl-list-item p {
+ height: 12px;
+ font-size: 10px;
+ margin: 0px;
+ padding: 2px 0px 1px;
+ overflow: hidden;
+}
+.acl-list-item a {
+ font-size: 8px;
+ display: block;
+ width: 40px;
+ height: 10px;
+ float: left;
+ color: #999999;
+ background-color: #cccccc;
+ background-position: 3px 3px;
+ background-repeat: no-repeat;
+ margin-right: 5px;
+ -webkit-border-radius: 2px ;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ padding-left: 15px;
+}
+#acl-wrapper a:hover {
+ text-decoration: none;
+ color: #000000;
+}
+.acl-button-show {
+ background-image: url("../../../images/show_off.png");
+}
+.acl-button-hide {
+ background-image: url("../../../images/hide_off.png");
+}
+.acl-button-show.selected {
+ color: #000000;
+ background-color: #9ade00;
+ background-image: url("../../../images/show_on.png");
+}
+.acl-button-hide.selected {
+ color: #000000;
+ background-color: #ff4141;
+ background-image: url("../../../images/hide_on.png");
+}
+.acl-list-item.groupshow {
+ border-color: #9ade00;
+}
+.acl-list-item.grouphide {
+ border-color: #ff4141;
+}
+/** /acl **/
+/** tab buttons **/
+ul.tabs {
+ list-style-type: none;
+ padding-bottom: 10px;
+}
+ul.tabs li {
+ float: left;
+ margin-left: 20px;
+}
+ul.tabs li .active {
+ border-bottom: 1px solid #009100;
+}
+/** group editor **/
+#group-edit-desc {
+ margin-top: 1em;
+ color: #999999;
+}
+#group-update-wrapper {
+ height: auto;
+ overflow: auto;
+}
+#group-update-wrapper #group {
+ width: 300px;
+ float: left;
+ margin-right: 20px;
+}
+#group-update-wrapper #contacts {
+ width: 300px;
+ float: left;
+}
+#group-update-wrapper #group-separator {
+ display: none;
+}
+#group-update-wrapper .contact_list {
+ height: 300px;
+ border: 1px solid #364e59;
+ overflow: auto;
+}
+#group-update-wrapper .contact_list .contact-block-div {
+ width: 50px;
+ height: 50px;
+ float: left;
+}
+/**
+ * Form fields
+ */
+.field {
+ margin-bottom: 10px;
+ padding-bottom: 10px;
+ overflow: auto;
+ width: 100%;
+}
+.field label {
+ float: left;
+ width: 200px;
+}
+.field input,
+.field textarea {
+ width: 400px;
+}
+.field input[type="checkbox"],
+.field input[type="radio"] {
+ width: auto;
+}
+.field textarea {
+ height: 100px;
+}
+.field .field_help {
+ display: block;
+ margin-left: 200px;
+ color: #999999;
+}
+.field .onoff {
+ float: left;
+ width: 80px;
+}
+.field .onoff a {
+ display: block;
+ border: 1px solid #666666;
+ background-image: url("../../../images/onoff.jpg");
+ background-repeat: no-repeat;
+ padding: 4px 2px 2px 2px;
+ height: 16px;
+ text-decoration: none;
+}
+.field .onoff .off {
+ border-color: #666666;
+ padding-left: 40px;
+ background-position: left center;
+ background-color: #cccccc;
+ color: #666666;
+ text-align: right;
+}
+.field .onoff .on {
+ border-color: #204A87;
+ padding-right: 40px;
+ background-position: right center;
+ background-color: #D7E3F1;
+ color: #204A87;
+ text-align: left;
+}
+.field .hidden {
+ display: none!important;
+}
+.field.radio .field_help {
+ margin-left: 0px;
+}
+#profile-edit-links li {
+ list-style: none;
+ margin-top: 10px;
+}
+#profile-edit-default-desc {
+ color: #FF0000;
+ border: 1px solid #FF8888;
+ background-color: #FFEEEE;
+ padding: 7px;
+}
+#profile-edit-profile-name-label,
+#profile-edit-name-label,
+#profile-edit-pdesc-label,
+#profile-edit-gender-label,
+#profile-edit-dob-label,
+#profile-edit-address-label,
+#profile-edit-locality-label,
+#profile-edit-region-label,
+#profile-edit-postal-code-label,
+#profile-edit-country-name-label,
+#profile-edit-marital-label,
+#profile-edit-with-label,
+#profile-edit-sexual-label,
+#profile-edit-politic-label,
+#profile-edit-religion-label,
+#profile-edit-pubkeywords-label,
+#profile-edit-prvkeywords-label,
+#profile-edit-gender-select,
+#profile-edit-homepage-label {
+ float: left;
+ width: 175px;
+ padding-top: 7px;
+}
+#profile-edit-profile-name,
+#profile-edit-name,
+#gender-select,
+#profile-edit-pdesc,
+#profile-edit-gender,
+#profile-edit-dob,
+#profile-edit-address,
+#profile-edit-locality,
+#profile-edit-region,
+#profile-edit-postal-code,
+#profile-edit-country-name,
+#profile-edit-marital,
+#profile-edit-with,
+#profile-edit-sexual,
+#profile-edit-politic,
+#profile-edit-religion,
+#profile-edit-pubkeywords,
+#profile-edit-prvkeywords,
+#profile-edit-homepage {
+ margin-top: 5px;
+}
+/* oauth */
+.oauthapp {
+ height: auto;
+ overflow: auto;
+ border-bottom: 2px solid #cccccc;
+ padding-bottom: 1em;
+ margin-bottom: 1em;
+}
+.oauthapp img {
+ float: left;
+ width: 48px;
+ height: 48px;
+ margin: 10px;
+}
+.oauthapp img.noicon {
+ background-image: url("../../../images/icons/48/plugin.png");
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+.oauthapp a {
+ float: left;
+}
+/* contacts */
+.contact-entry-wrapper {
+ width: 50px;
+ float: left;
+}
+/* photo */
+.lframe {
+ float: left;
+ margin: 0px 10px 10px 0px;
+}
+/* profile match wrapper */
+.profile-match-wrapper {
+ float: left;
+ width: 90px;
+ height: 90px;
+ margin-bottom: 20px;
+}
+.profile-match-wrapper .contact-photo {
+ width: 80px;
+ height: 80px;
+}
+.profile-match-wrapper .contact-photo img {
+ width: 80px;
+ height: 80px;
+}
+.profile-match-wrapper .contact-photo-menu-button {
+ left: 0px;
+ top: 63px;
+}
+/* messages */
+#message-new {
+ background: #19aeff;
+ border: 1px solid #005c94;
+ width: 150px;
+}
+#message-new a {
+ color: #ffffff;
+ text-align: center;
+ display: block;
+ font-weight: bold;
+ padding: 1em 0px;
+}
+.mail-list-wrapper {
+ background-color: #f6f7f8;
+ margin-bottom: 5px;
+ width: 100%;
+ height: auto;
+ overflow: hidden;
+}
+.mail-list-wrapper span {
+ display: block;
+ float: left;
+ width: 20%;
+ overflow: hidden;
+}
+.mail-list-wrapper .mail-subject {
+ width: 30%;
+ padding: 4px 0px 0px 4px;
+}
+.mail-list-wrapper .mail-subject a {
+ display: block;
+}
+.mail-list-wrapper .mail-subject.unseen a {
+ font-weight: bold;
+}
+.mail-list-wrapper .mail-date {
+ padding: 4px 4px 0px 4px;
+}
+.mail-list-wrapper .mail-from {
+ padding: 4px 4px 0px 4px;
+}
+.mail-list-wrapper .mail-count {
+ padding: 4px 4px 0px 4px;
+ text-align: right;
+}
+.mail-list-wrapper .mail-delete {
+ float: right;
+}
+#mail-display-subject {
+ background-color: #f6f7f8;
+ color: #2d2d2d;
+ margin-bottom: 10px;
+ width: 100%;
+ height: auto;
+ overflow: hidden;
+}
+#mail-display-subject span {
+ float: left;
+ overflow: hidden;
+ padding: 4px 0px 0px 10px;
+}
+#mail-display-subject .mail-delete {
+ float: right;
+ 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;
+}
+#mail-display-subject:hover .mail-delete {
+ opacity: 1;
+ -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;
+}
+/* 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;
+}
+
+*/
+/* page footer */
+footer {
+ height: 100px;
+ display: table-row;
+}
+.pager {
+ margin-top: 25px;
+ clear: both;
+}
diff --git a/view/theme/quattro/green/style.less b/view/theme/quattro/green/style.less
new file mode 100644
index 000000000..7d81e788a
--- /dev/null
+++ b/view/theme/quattro/green/style.less
@@ -0,0 +1,14 @@
+/**
+ * Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
+ **/
+// Less file http://lesscss.org/
+// compile with lessc
+// $ lessc style.less > style.css
+
+@import "colors";
+@import "../icons";
+@import "../quattro";
+
+
+
+
diff --git a/view/theme/quattro/group_side.tpl b/view/theme/quattro/group_side.tpl
new file mode 100644
index 000000000..596a8d13f
--- /dev/null
+++ b/view/theme/quattro/group_side.tpl
@@ -0,0 +1,29 @@
+<div id="group-sidebar" class="widget">
+ <div class="title tool">
+ <h3 class="label">$title</h3>
+ <a href="group/new" title="$createtext" class="action"><span class="icon text s16 add"> $add</span></a>
+ </div>
+
+ <div id="sidebar-group-list">
+ <ul>
+ {{ for $groups as $group }}
+ <li class="tool {{ if $group.selected }}selected{{ endif }}">
+ <a href="$group.href" class="label">
+ $group.text
+ </a>
+ {{ if $group.edit }}
+ <a href="$group.edit.href" class="action"><span class="icon text s10 edit">$group.edit.title</span></a>
+ {{ endif }}
+ {{ if $group.cid }}
+ <input type="checkbox"
+ class="{{ if $group.selected }}ticked{{ else }}unticked {{ endif }} action"
+ onclick="contactgroupChangeMember('$group.id','$group.cid');return true;"
+ {{ if $group.ismember }}checked="checked"{{ endif }}
+ />
+ {{ endif }}
+ </li>
+ {{ endfor }}
+ </ul>
+ </div>
+</div>
+
diff --git a/view/theme/quattro/icons.less b/view/theme/quattro/icons.less
index e314fba1f..e314fba1f 100755..100644
--- a/view/theme/quattro/icons.less
+++ b/view/theme/quattro/icons.less
diff --git a/view/theme/quattro/jot.tpl b/view/theme/quattro/jot.tpl
new file mode 100644
index 000000000..2f89d4372
--- /dev/null
+++ b/view/theme/quattro/jot.tpl
@@ -0,0 +1,48 @@
+<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" />
+ <div id="character-counter" class="grey jothidden"></div>
+
+ <input type="hidden" name="type" value="$ptyp" />
+ <input type="hidden" name="profile_uid" value="$profile_uid" />
+ <input type="hidden" name="return" value="$return_path" />
+ <input type="hidden" name="location" id="jot-location" value="$defloc" />
+ <input type="hidden" name="coord" id="jot-coord" value="" />
+ <input type="hidden" name="post_id" value="$post_id" />
+ <input type="hidden" name="preview" id="jot-preview" value="0" />
+
+ <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
+
+ <ul id="jot-tools" class="jothidden" style="display:none">
+ <li><a href="#" onclick="return false;" id="wall-image-upload" title="$upload">$shortupload</a></a></li>
+ <li><a href="#" onclick="return false;" id="wall-file-upload" title="$attach">$shortattach</a></li>
+ <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>
+ <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
+
+ <li class="perms"><a id="jot-perms-icon" href="#profile-jot-acl-wrapper" class="icon s22 $lockstate $bang" title="$permset" ></a></li>
+ <li class="submit"><input type="submit" id="profile-jot-submit" name="submit" value="$share" /></li>
+ <li id="profile-rotator" class="loading" style="display: none"><img src="images/rotator.gif" alt="$wait" title="$wait" /></li>
+ </ul>
+ </div>
+
+ <div id="jot-preview-content" style="display:none;"></div>
+
+ <div style="display: none;">
+ <div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
+ $acl
+ <hr style="clear:both"/>
+ <div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
+ <div id="profile-jot-email-end"></div>
+ $jotnets
+ </div>
+ </div>
+
+</form>
+
+{{ if $content }}<script>initEditor();</script>{{ endif }}
diff --git a/view/theme/quattro/mail_conv.tpl b/view/theme/quattro/mail_conv.tpl
new file mode 100644
index 000000000..989f17878
--- /dev/null
+++ b/view/theme/quattro/mail_conv.tpl
@@ -0,0 +1,60 @@
+<div class="wall-item-container $item.indent">
+ <div class="wall-item-item">
+ <div class="wall-item-info">
+ <div class="contact-photo-wrapper"
+ <a href="$mail.profile_url" target="redir" title="$mail.from_name" class="contact-photo-link" id="wall-item-photo-link-$mail.id">
+ <img src="$mail.from_photo" class="contact-photo$mail.sparkle" id="wall-item-photo-$mail.id" alt="$mail.from_name" />
+ </a>
+ </div>
+ </div>
+ <div class="wall-item-content">
+ $mail.body
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links">
+ </div>
+ <div class="wall-item-tags">
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="">
+ </div>
+ <div class="wall-item-actions">
+ <div class="wall-item-actions-author">
+ <a href="$mail.from_url" target="redir" class="wall-item-name-link"><span class="wall-item-name$mail.sparkle">$mail.from_name</span></a> <span class="wall-item-ago">$mail.date</span>
+ </div>
+
+ <div class="wall-item-actions-social">
+ </div>
+
+ <div class="wall-item-actions-tools">
+ <a href="message/drop/$mail.id" onclick="return confirmDelete();" class="icon delete s16" title="$mail.delete">$mail.delete</a>
+ </div>
+
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ </div>
+</div>
+
+
+{#
+
+
+<div class="mail-conv-outside-wrapper">
+ <div class="mail-conv-sender" >
+ <a href="$mail.from_url" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo$mail.sparkle" src="$mail.from_photo" heigth="80" width="80" alt="$mail.from_name" /></a>
+ </div>
+ <div class="mail-conv-detail" >
+ <div class="mail-conv-sender-name" >$mail.from_name</div>
+ <div class="mail-conv-date">$mail.date</div>
+ <div class="mail-conv-subject">$mail.subject</div>
+ <div class="mail-conv-body">$mail.body</div>
+ <div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-$mail.id" ><a href="message/drop/$mail.id" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="$mail.delete" id="mail-conv-delete-icon-$mail.id" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
+ <div class="mail-conv-outside-wrapper-end"></div>
+</div>
+</div>
+<hr class="mail-conv-break" />
+
+#}
diff --git a/view/theme/quattro/mail_display.tpl b/view/theme/quattro/mail_display.tpl
new file mode 100644
index 000000000..8b82e95c6
--- /dev/null
+++ b/view/theme/quattro/mail_display.tpl
@@ -0,0 +1,12 @@
+<div id="mail-display-subject">
+ <span class="{{if $thread_seen}}seen{{else}}unseen{{endif}}">$thread_subject</span>
+ <a href="message/dropconv/$thread_id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
+</div>
+
+{{ for $mails as $mail }}
+ <div id="tread-wrapper-$mail.id" class="tread-wrapper">
+ {{ inc mail_conv.tpl }}{{endinc}}
+ </div>
+{{ endfor }}
+
+{{ inc prv_message.tpl }}{{ endinc }}
diff --git a/view/theme/quattro/mail_list.tpl b/view/theme/quattro/mail_list.tpl
new file mode 100644
index 000000000..6bc6c84f6
--- /dev/null
+++ b/view/theme/quattro/mail_list.tpl
@@ -0,0 +1,8 @@
+<div class="mail-list-wrapper">
+ <span class="mail-subject {{if $seen}}seen{{else}}unseen{{endif}}"><a href="message/$id" class="mail-link">$subject</a></span>
+ <span class="mail-from">$from_name</span>
+ <span class="mail-date">$date</span>
+ <span class="mail-count">$count</span>
+
+ <a href="message/dropconv/$id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
+</div>
diff --git a/view/theme/quattro/message_side.tpl b/view/theme/quattro/message_side.tpl
new file mode 100644
index 000000000..9f1587096
--- /dev/null
+++ b/view/theme/quattro/message_side.tpl
@@ -0,0 +1,10 @@
+<div id="message-sidebar" class="widget">
+ <div id="message-new" class="{{ if $new.sel }}selected{{ endif }}"><a href="$new.url">$new.label</a> </div>
+
+ <ul class="message-ul">
+ {{ for $tabs as $t }}
+ <li class="tool {{ if $t.sel }}selected{{ endif }}"><a href="$t.url" class="message-link">$t.label</a></li>
+ {{ endfor }}
+ </ul>
+
+</div>
diff --git a/view/theme/quattro/msg-header.tpl b/view/theme/quattro/msg-header.tpl
new file mode 100644
index 000000000..2d1ea7a61
--- /dev/null
+++ b/view/theme/quattro/msg-header.tpl
@@ -0,0 +1,97 @@
+
+<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+<script language="javascript" type="text/javascript">
+
+var plaintext = '$editselect';
+
+if(plaintext != 'none') {
+ tinyMCE.init({
+ theme : "advanced",
+ mode : "specific_textareas",
+ editor_selector: /(profile-jot-text|prvmail-text)/,
+ plugins : "bbcode,paste",
+ theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
+ theme_advanced_buttons2 : "",
+ theme_advanced_buttons3 : "",
+ theme_advanced_toolbar_location : "top",
+ theme_advanced_toolbar_align : "center",
+ theme_advanced_blockformats : "blockquote,code",
+ gecko_spellcheck : true,
+ paste_text_sticky : true,
+ entity_encoding : "raw",
+ add_unload_trigger : false,
+ remove_linebreaks : false,
+ force_p_newlines : false,
+ force_br_newlines : true,
+ forced_root_block : '',
+ convert_urls: false,
+ content_css: "$baseurl/view/custom_tinymce.css",
+ //Character count
+ theme_advanced_path : false,
+ setup : function(ed) {
+ ed.onInit.add(function(ed) {
+ ed.pasteAsPlainText = true;
+ var editorId = ed.editorId;
+ var textarea = $('#'+editorId);
+ if (typeof(textarea.attr('tabindex')) != "undefined") {
+ $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex'));
+ textarea.attr('tabindex', null);
+ }
+ });
+ }
+ });
+}
+else
+ $("#prvmail-text").contact_autocomplete(baseurl+"/acl");
+
+
+</script>
+<script type="text/javascript" src="js/ajaxupload.js" ></script>
+<script>
+ $(document).ready(function() {
+ var uploader = new window.AjaxUpload(
+ 'prvmail-upload',
+ { action: 'wall_upload/$nickname',
+ name: 'userfile',
+ onSubmit: function(file,ext) { $('#profile-rotator').show(); },
+ onComplete: function(file,response) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,response);
+ $('#profile-rotator').hide();
+ }
+ }
+ );
+
+ });
+
+ function jotGetLink() {
+ reply = prompt("$linkurl");
+ if(reply && reply.length) {
+ $('#profile-rotator').show();
+ $.get('parse_url?url=' + reply, function(data) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ $('#profile-rotator').hide();
+ });
+ }
+ }
+
+ function linkdropper(event) {
+ var linkFound = event.dataTransfer.types.contains("text/uri-list");
+ if(linkFound)
+ event.preventDefault();
+ }
+
+ function linkdrop(event) {
+ var reply = event.dataTransfer.getData("text/uri-list");
+ event.target.textContent = reply;
+ event.preventDefault();
+ if(reply && reply.length) {
+ $('#profile-rotator').show();
+ $.get('parse_url?url=' + reply, function(data) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ $('#profile-rotator').hide();
+ });
+ }
+ }
+
+</script>
+
diff --git a/view/theme/quattro/nav.tpl b/view/theme/quattro/nav.tpl
new file mode 100644
index 000000000..8c872864c
--- /dev/null
+++ b/view/theme/quattro/nav.tpl
@@ -0,0 +1,131 @@
+<header>
+ {# $langselector #}
+
+ <div id="site-location">$sitelocation</div>
+ <div id="banner">$banner</div>
+</header>
+<nav>
+ <ul>
+ {{ if $userinfo }}
+ <li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="$sitelocation"><img src="$userinfo.icon" alt="$userinfo.name"></a>
+ <ul id="nav-user-menu" class="menu-popup">
+ {{ for $nav.usermenu as $usermenu }}
+ <li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
+ {{ endfor }}
+
+ {{ if $nav.notifications }}<li><a class="$nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a></li>{{ endif }}
+ {{ if $nav.messages }}<li><a class="$nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a></li>{{ endif }}
+ {{ if $nav.contacts }}<li><a class="$nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a></li>{{ endif }}
+ </ul>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.community }}
+ <li id="nav-community-link" class="nav-menu $sel.community">
+ <a class="$nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.network }}
+ <li id="nav-network-link" class="nav-menu $sel.network">
+ <a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-notify"></span>
+ </li>
+ {{ endif }}
+ {{ if $nav.home }}
+ <li id="nav-home-link" class="nav-menu $sel.home">
+ <a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-notify"></span>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.notifications }}
+ <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">
+ <li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
+ <li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
+ <li class="empty">$emptynotifications</li>
+ </ul>
+ </li>
+ {{ endif }}
+
+ <li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">Site</span></a>
+ <ul id="nav-site-menu" class="menu-popup">
+ {{ if $nav.manage }}<li><a class="$nav.manage.2" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a></li>{{ endif }}
+
+ {{ if $nav.settings }}<li><a class="$nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>{{ endif }}
+ {{ if $nav.admin }}<li><a class="$nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>{{ endif }}
+
+ {{ if $nav.logout }}<li><a class="menu-sep $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a></li>{{ endif }}
+ {{ if $nav.login }}<li><a class="$nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a><li>{{ endif }}
+ </ul>
+ </li>
+
+ {{ if $nav.help }}
+ <li id="nav-help-link" class="nav-menu $sel.help">
+ <a class="$nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>
+ </li>
+ {{ endif }}
+
+ <li id="nav-search-link" class="nav-menu $sel.search">
+ <a class="$nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
+ </li>
+ <li id="nav-directory-link" class="nav-menu $sel.directory">
+ <a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
+ </li>
+
+ {{ if $nav.apps }}
+ <li id="nav-apps-link" class="nav-menu $sel.apps">
+ <a class=" $nav.apps.2" href="#" rel="#nav-apps-menu" title="$nav.apps.3" >$nav.apps.1</a>
+ <ul id="nav-apps-menu" class="menu-popup">
+ {{ for $apps as $ap }}
+ <li>$ap</li>
+ {{ endfor }}
+ </ul>
+ </li>
+ {{ endif }}
+ </ul>
+
+</nav>
+<ul id="nav-notifications-template" style="display:none;" rel="template">
+ <li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
+</ul>
+
+{#
+
+{{ 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" href="$nav.register.0" title="$nav.register.3" >$nav.register.1</a>{{ endif }}
+
+<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>
+
+{{ 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.notifications }}
+<a id="nav-notify-link" class="nav-commlink $nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a>
+<span id="notify-update" class="nav-ajax-left"></span>
+{{ endif }}
+{{ if $nav.messages }}
+<a id="nav-messages-link" class="nav-commlink $nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a>
+<span id="mail-update" class="nav-ajax-left"></span>
+{{ endif }}
+
+{{ if $nav.manage }}<a id="nav-manage-link" class="nav-commlink $nav.manage.2" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a>{{ 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 }}
+
+
+</span>
+<span id="nav-end"></span>
+<span id="banner">$banner</span>
+#}
diff --git a/view/theme/quattro/nets.tpl b/view/theme/quattro/nets.tpl
new file mode 100644
index 000000000..cbadf1361
--- /dev/null
+++ b/view/theme/quattro/nets.tpl
@@ -0,0 +1,12 @@
+<div id="nets-sidebar" class="widget">
+ <h3>$title</h3>
+ <div id="nets-desc">$desc</div>
+
+ <ul class="nets-ul">
+ <li class="tool {{ if $sel_all }}selected{{ endif }}"><a href="$base" class="nets-link nets-all">$all</a>
+ {{ for $nets as $net }}
+ <li class="tool {{ if $net.selected }}selected{{ endif }}"><a href="$base?f=&nets=$net.ref" class="nets-link">$net.name</a></li>
+ {{ endfor }}
+ </ul>
+
+</div>
diff --git a/view/theme/quattro/profile_vcard.tpl b/view/theme/quattro/profile_vcard.tpl
new file mode 100644
index 000000000..7cd02f164
--- /dev/null
+++ b/view/theme/quattro/profile_vcard.tpl
@@ -0,0 +1,63 @@
+<div class="vcard">
+
+ <div class="tool">
+ <div class="fn label">$profile.name</div>
+ {{ if $profile.edit }}
+ <div class="action">
+ <a class="icon s16 edit ttright" href="#" rel="#profiles-menu" title="$profile.edit.3"><span>$profile.edit.1</span></a>
+ <ul id="profiles-menu" class="menu-popup">
+ {{ for $profile.menu.entries as $e }}
+ <li>
+ <a href="profiles/$e.id"><img src='$e.photo'>$e.profile_name</a>
+ </li>
+ {{ endfor }}
+ <li><a href="profile_photo" >$profile.menu.chg_photo</a></li>
+ <li><a href="profiles/new" id="profile-listing-new-link">$profile.menu.cr_new</a></li>
+
+ </ul>
+ </div>
+ {{ endif }}
+ </div>
+
+
+ {{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }}
+ <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo?rev=$profile.picdate" alt="$profile.name" /></div>
+
+
+
+ {{ if $location }}
+ <dl class="location"><dt class="location-label">$location</dt>
+ <dd class="adr">
+ {{ if $profile.address }}<div class="street-address">$profile.address</div>{{ endif }}
+ <span class="city-state-zip">
+ <span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
+ <span class="region">$profile.region</span>
+ <span class="postal-code">$profile.postal-code</span>
+ </span>
+ {{ if $profile.country-name }}<span class="country-name">$profile.country-name</span>{{ endif }}
+ </dd>
+ </dl>
+ {{ endif }}
+
+ {{ if $gender }}<dl class="mf"><dt class="gender-label">$gender</dt> <dd class="x-gender">$profile.gender</dd></dl>{{ endif }}
+
+ {{ if $profile.pubkey }}<div class="key" style="display:none;">$profile.pubkey</div>{{ endif }}
+
+ {{ if $marital }}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>$marital</dt><dd class="marital-text">$profile.marital</dd></dl>{{ endif }}
+
+ {{ if $homepage }}<dl class="homepage"><dt class="homepage-label">$homepage</dt><dd class="homepage-url"><a href="$profile.homepage" target="external-link">$profile.homepage</a></dd></dl>{{ endif }}
+
+ {{ inc diaspora_vcard.tpl }}{{ endinc }}
+
+ <div id="profile-extra-links">
+ <ul>
+ {{ if $connect }}
+ <li><a id="dfrn-request-link" href="dfrn_request/$profile.nickname">$connect</a></li>
+ {{ endif }}
+ </ul>
+ </div>
+</div>
+
+$contact_block
+
+
diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less
index 27c48f195..c6352cfe9 100755..100644
--- a/view/theme/quattro/quattro.less
+++ b/view/theme/quattro/quattro.less
@@ -113,7 +113,7 @@ header {
#banner {
overflow: hidden;
- text-align: center;
+ text-align: center;
width: 100%;
a, a:active, a:visited, a:link, a:hover { color: @Grey1; text-decoration: none; outline: none; vertical-align: bottom; }
#logo-img { height: 22px; margin-top:5px;}
@@ -319,41 +319,6 @@ aside {
img { width: 48px; height: 48px; }
}
}
-/* 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;
-}
/* group member */
#contact-edit-drop-link,
@@ -448,7 +413,7 @@ section {
margin-bottom: 20px;
width: 780px;
}
-.wall-item-decor { position: absolute; left: 790px; top: -10px; width: 16px;}
+.wall-item-decor { position: absolute; left: 97%; top: -10px; width: 16px;}
.unstarred { display: none; }
.wall-item-container {
@@ -570,6 +535,10 @@ section {
color: @TagColor;
}
}
+.filesavetags {
+ padding: 3px 0px 3px 0px;
+ opacity: 0.5;
+}
.wwto {
position: absolute !important;
@@ -934,6 +903,10 @@ ul.tabs {
textarea {
width: 400px;
}
+ input[type="checkbox"], input[type="radio"]{
+ width: auto;
+ }
+
textarea { height: 100px; }
.field_help {
display: block;
@@ -977,6 +950,7 @@ ul.tabs {
&.radio .field_help { margin-left: 0px; }
}
+
#profile-edit-links li {
list-style: none;
margin-top: 10px;
@@ -1081,6 +1055,90 @@ ul.tabs {
}
}
+/* messages */
+#message-new {
+ background: @MessageNewBackgroundColor;
+ border: 1px solid @MessageNewBorderColor;
+ width: 150px;
+ a {
+ color: @MessageNewColor;
+ text-align: center;
+ display: block;
+ font-weight: bold;
+ padding: 1em 0px;
+ }
+}
+
+.mail-list-wrapper {
+ background-color: @MailListBackgroundColor;
+ margin-bottom: 5px;
+ width: 100%; height: auto; overflow: hidden;
+
+ span { display: block; float: left; width: 20%; overflow: hidden;}
+
+ .mail-subject {
+ width: 30%;
+ padding:4px 0px 0px 4px;
+ a { display: block; }
+ &.unseen a { font-weight: bold; }
+ }
+ .mail-date { padding: 4px 4px 0px 4px; }
+ .mail-from { padding: 4px 4px 0px 4px; }
+ .mail-count { padding: 4px 4px 0px 4px; text-align: right;}
+
+ .mail-delete { float: right; }
+}
+
+#mail-display-subject {
+ background-color: @MailDisplaySubjectBackgroundColor;
+ color: @MailDisplaySubjectColor;
+ margin-bottom: 10px;
+ width: 100%; height: auto; overflow: hidden;
+ span { float: left; overflow: hidden; padding: 4px 0px 0px 10px;}
+ .mail-delete { float: right; .opaque(0.5);}
+ &:hover .mail-delete { .opaque(1); }
+
+}
+
+/* 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;
+}
+
+*/
+
/* page footer */
footer { height: 100px; display: table-row; }
diff --git a/view/theme/quattro/saved_searches_aside.tpl b/view/theme/quattro/saved_searches_aside.tpl
new file mode 100644
index 000000000..9c10a26de
--- /dev/null
+++ b/view/theme/quattro/saved_searches_aside.tpl
@@ -0,0 +1,15 @@
+<div id="saved-search-list" class="widget">
+ <h3 class="title">$title</h3>
+
+ <ul id="saved-search-ul">
+ {{ for $saved as $search }}
+ <li class="tool {{if $search.selected}}selected{{endif}}">
+ <a href="network/?f=&search=$search.encodedterm" class="label" >$search.term</a>
+ <a href="network/?f=&remove=1&search=$search.encodedterm" class="action icon s10 delete" title="$search.delete" onclick="return confirmDelete();"></a>
+ </li>
+ {{ endfor }}
+ </ul>
+
+ $searchbox
+
+</div>
diff --git a/view/theme/quattro/screenshot.jpg b/view/theme/quattro/screenshot.jpg
new file mode 100644
index 000000000..98fbfe2ea
--- /dev/null
+++ b/view/theme/quattro/screenshot.jpg
Binary files differ
diff --git a/view/theme/quattro/search_item.tpl b/view/theme/quattro/search_item.tpl
new file mode 100644
index 000000000..80d6678fb
--- /dev/null
+++ b/view/theme/quattro/search_item.tpl
@@ -0,0 +1,91 @@
+
+<div class="wall-item-decor">
+ <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span>
+ {{ if $item.lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
+ <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
+</div>
+
+<div class="wall-item-container $item.indent">
+ <div class="wall-item-item">
+ <div class="wall-item-info">
+ <div class="contact-photo-wrapper"
+ onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
+ onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
+ <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-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>
+ <a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a>
+ <ul class="wall-item-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">
+ {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
+ $item.body
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links">
+ </div>
+ <div class="wall-item-tags">
+ {{ for $item.tags as $tag }}
+ <span class='tag'>$tag</span>
+ {{ endfor }}
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="">
+ {{ if $item.plink }}<a class="icon s16 link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
+ </div>
+ <div class="wall-item-actions">
+ <div class="wall-item-actions-author">
+ <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a> <span class="wall-item-ago">$item.ago</span>
+ </div>
+
+ <div class="wall-item-actions-social">
+ {{ if $item.star }}
+ <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
+ <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
+ <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
+ {{ endif }}
+
+ {{ if $item.vote }}
+ <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
+ <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
+ {{ endif }}
+
+ {{ if $item.vote.share }}
+ <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>
+ {{ endif }}
+ </div>
+
+ <div class="wall-item-actions-tools">
+
+ {{ if $item.drop.dropping }}
+ <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
+ <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a>
+ {{ endif }}
+ {{ if $item.edpost }}
+ <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a>
+ {{ endif }}
+ </div>
+
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links"></div>
+ <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
+ <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
+ {{ if $item.conv }}
+ <div class="wall-item-conv" id="wall-item-conv-$item.id" >
+ <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a>
+ {{ endif }}
+ </div>
+ </div>
+
+
+</div>
+
diff --git a/view/theme/quattro/style.php b/view/theme/quattro/style.php
new file mode 100644
index 000000000..889ec1530
--- /dev/null
+++ b/view/theme/quattro/style.php
@@ -0,0 +1,9 @@
+<?php
+ $color = get_pconfig(local_user(), "quattro","color");
+
+ if ($color===false) $color="dark";
+
+ 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
index 7e5ab1e62..be47a401c 100644
--- a/view/theme/quattro/theme.php
+++ b/view/theme/quattro/theme.php
@@ -1,33 +1,7 @@
<?php
-$a->hooks[] = array('plugin_settings', 'view/theme/quattro/theme.php', 'quattro_settings');
-$a->hooks[] = array('plugin_settings_post', 'view/theme/quattro/theme.php', 'quattro_settings_post');
-function quattro_settings(&$a, &$o){
- if(!local_user())
- return;
-
- $align = get_pconfig(local_user(), 'quattro', 'align' );
-
- $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"),
- '$align' => array('quattro_align', t('Alignment'), $align, '', array('left'=>t('Left'), 'center'=>t('Center'))),
- ));
-}
-
-function quattro_settings_post(&$a){
- if(! local_user())
- return;
- if (isset($_POST['quattro-settings-submit'])){
- set_pconfig(local_user(), 'quattro', 'align', $_POST['quattro_align']);
- }
- goaway($a->get_baseurl()."/settings/addon");
-}
-
$quattro_align = get_pconfig(local_user(), 'quattro', 'align' );
diff --git a/view/theme/quattro/theme_settings.tpl b/view/theme/quattro/theme_settings.tpl
index 25af04253..9771ae162 100644
--- a/view/theme/quattro/theme_settings.tpl
+++ b/view/theme/quattro/theme_settings.tpl
@@ -1,11 +1,8 @@
-<div class="settings-block">
- <h3 class="settings-heading">$title</h3>
-
- {{inc field_select.tpl with $field=$align}}{{endinc}}
-
- <div class="settings-submit-wrapper">
- <input type="submit" value="$submit" class="settings-submit" name="quattro-settings-submit" />
- </div>
+{{inc field_select.tpl with $field=$color}}{{endinc}}
-
+{{inc field_select.tpl with $field=$align}}{{endinc}}
+
+<div class="settings-submit-wrapper">
+ <input type="submit" value="$submit" class="settings-submit" name="quattro-settings-submit" />
</div>
+
diff --git a/view/theme/quattro/wall_item.tpl b/view/theme/quattro/wall_item.tpl
new file mode 100644
index 000000000..e771db068
--- /dev/null
+++ b/view/theme/quattro/wall_item.tpl
@@ -0,0 +1,90 @@
+
+<div class="wall-item-decor">
+ <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span>
+ {{ if $item.lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
+ <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
+</div>
+
+<div class="wall-item-container $item.indent">
+ <div class="wall-item-item">
+ <div class="wall-item-info">
+ <div class="contact-photo-wrapper"
+ onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
+ onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
+ <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>
+ <a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</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">
+ {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
+ $item.body
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links">
+ </div>
+ <div class="wall-item-tags">
+ {{ for $item.tags as $tag }}
+ <span class='tag'>$tag</span>
+ {{ endfor }}
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="">
+ {{ if $item.plink }}<a class="icon s16 link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
+ </div>
+ <div class="wall-item-actions">
+ <div class="wall-item-actions-author">
+ <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a> <span class="wall-item-ago">$item.ago</span>
+ </div>
+
+ <div class="wall-item-actions-social">
+ {{ if $item.star }}
+ <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
+ <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
+ <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
+ {{ endif }}
+ {{ if $item.filer }}
+ <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer">$item.filer</a>
+ {{ endif }}
+
+ {{ if $item.vote }}
+ <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
+ <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
+ {{ endif }}
+
+ {{ if $item.vote.share }}
+ <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>
+ {{ endif }}
+ </div>
+
+ <div class="wall-item-actions-tools">
+
+ {{ if $item.drop.dropping }}
+ <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
+ <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a>
+ {{ endif }}
+ {{ if $item.edpost }}
+ <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a>
+ {{ endif }}
+ </div>
+
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links"></div>
+ <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
+ <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
+ </div>
+</div>
+
+<div class="wall-item-comment-wrapper" >
+ $item.comment
+</div>
diff --git a/view/theme/quattro/wallwall_item.tpl b/view/theme/quattro/wallwall_item.tpl
new file mode 100644
index 000000000..693ebaba6
--- /dev/null
+++ b/view/theme/quattro/wallwall_item.tpl
@@ -0,0 +1,96 @@
+<div class="wall-item-decor">
+ <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span>
+ {{ if $item.lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
+ <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
+</div>
+
+<div class="wall-item-container $item.indent">
+ <div class="wall-item-item">
+ <div class="wall-item-info">
+ <div class="contact-photo-wrapper mframe wwfrom"
+ onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
+ onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
+ <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>
+ <a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a>
+ <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
+ $item.item_photo_menu
+ </ul>
+
+ </div>
+ <div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
+ <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$item.id">
+ <img src="$item.owner_photo" class="contact-photo $item.osparkle" id="wall-item-ownerphoto-$item.id" alt="$item.owner_name" />
+ </a>
+ </div>
+ <div class="wall-item-location">$item.location</div>
+ </div>
+ <div class="wall-item-content">
+ {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
+ $item.body
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links">
+ </div>
+ <div class="wall-item-tags">
+ {{ for $item.tags as $tag }}
+ <span class='tag'>$tag</span>
+ {{ endfor }}
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links">
+ {{ if $item.plink }}<a class="icon s16 link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
+ </div>
+ <div class="wall-item-actions">
+ <div class="wall-item-actions-author">
+ <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a> <span class="wall-item-ago">$item.ago</span>
+ <br/>$item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a> $item.vwall
+
+ </div>
+
+ <div class="wall-item-actions-social">
+ {{ if $item.star }}
+ <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
+ <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
+ <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
+
+ {{ endif }}
+ {{ if $item.filer }}
+ <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer">$item.filer</a>
+ {{ endif }}
+
+ {{ if $item.vote }}
+ <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
+ <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
+ {{ endif }}
+
+ {{ if $item.vote.share }}
+ <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>
+ {{ endif }}
+ </div>
+
+ <div class="wall-item-actions-tools">
+
+ {{ if $item.drop.dropping }}
+ <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
+ <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a>
+ {{ endif }}
+ {{ if $item.edpost }}
+ <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a>
+ {{ endif }}
+ </div>
+
+ </div>
+ </div>
+ <div class="wall-item-bottom">
+ <div class="wall-item-links"></div>
+ <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
+ <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
+ </div>
+</div>
+<div class="wall-item-comment-wrapper" >
+ $item.comment
+</div>