add themes files

This commit is contained in:
meaz 2020-03-19 10:44:32 +01:00
parent 9ad8af467d
commit 2df9d285bd
333 changed files with 46880 additions and 0 deletions

View File

@ -0,0 +1,5 @@
# Disroot Roundcube themes
You can find here the default Roundcube themes, plus the Disroot flavor one.
![Disroot](preview.png)

23
classic/README Normal file
View File

@ -0,0 +1,23 @@
ROUNDCUBE WEBMAIL DEFAULT SKIN
==============================
This skin package contains the current development theme of the Roundcube
Webmail software. It can be used, modified and redistributed according to
the terms described in the LICENSE section.
For information about building or modifiying Roundcube skins please visit
https://github.com/roundcube/roundcubemail/wiki/Skins
The theme uses icons originally designed by Stephen Horlander and Kevin Gerich
for Mozilla.org. In case of redistribution giving credit to these artwork
creators is mandatory.
LICENSE
-------
The contents of this folder are subject to the Creative Commons
Attribution-ShareAlike License. It is allowed to copy, distribute,
transmit and to adapt the work by keeping credits to the original
autors in the README file.
See http://creativecommons.org/licenses/by-sa/3.0/ for details.

534
classic/addressbook.css Normal file
View File

@ -0,0 +1,534 @@
/***** Roundcube|Mail address book task styles *****/
#abooktoolbar
{
position: absolute;
top: 45px;
left: 225px;
height: 35px;
}
#abooktoolbar a
{
padding-right: 10px;
}
#abooktoolbar a.button,
#abooktoolbar a.buttonPas {
display: block;
float: left;
width: 32px;
height: 32px;
padding: 0;
margin: 0 5px;
overflow: hidden;
background: url(images/abook_toolbar.png) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
#abooktoolbar a.buttonPas {
opacity: 0.35;
}
#abooktoolbar a.addcontactSel {
background-position: 0 -32px;
}
#abooktoolbar a.compose {
background-position: -32px 0;
}
#abooktoolbar a.composeSel {
background-position: -32px -32px;
}
#abooktoolbar a.print {
background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
background-position: -256px 0;
}
#abooktoolbar a.printSel {
background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
background-position: -256px -32px;
}
#abooktoolbar a.delete {
background-position: -64px 0;
}
#abooktoolbar a.deleteSel {
background-position: -64px -32px;
}
#abooktoolbar a.import {
background-position: -96px 0;
}
#abooktoolbar a.importSel {
background-position: -96px -32px;
}
#abooktoolbar a.export {
background-position: -128px 0;
}
#abooktoolbar a.exportSel {
background-position: -128px -32px;
}
#abooktoolbar a.exportAll {
background-position: -128px 0;
}
#abooktoolbar a.exportAllSel {
background-position: -128px -32px;
}
#abooktoolbar a.search {
background-position: -170px 0;
}
#abooktoolbar a.searchSel {
background-position: -170px -32px;
}
#abooktoolbar a.contactmenu {
background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
background-position: -320px 0;
width: 34px;
}
#contactmenu li a
{
background: url(images/contactactions.png) no-repeat 7px 0;
background-position: 7px 20px;
}
#contactmenu li a.qrcode
{
background-position: 7px -39px;
}
#contactmenu li a.assigngroup
{
background-position: 7px 0;
}
#contactmenu li a.removegroup
{
background-position: 7px -19px;
}
#contactmenu li a.movelink
{
background: url(images/messageactions.png) no-repeat 7px 0;
background-position: 6px -160px;
}
#contactmenu li a.copylink
{
background: url(images/messageactions.png) no-repeat 7px 0;
background-position: 6px -142px;
}
#abookcountbar
{
margin-top: 4px;
margin-left: 4px;
min-width: 250px;
}
#addressscreen
{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 205px;
}
#directorylistbox
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 195px;
border: 1px solid #999999;
background-color: #F9F9F9;
overflow: hidden;
}
#addresslist
{
position: absolute;
top: 0;
bottom: 0;
border: 1px solid #999999;
background-color: #F9F9F9;
overflow: hidden;
}
#contactgroupslist
{
border-top: 1px solid #999;
}
#addresslist
{
left: 0px;
width: 280px;
}
#directorylist li a,
#savedsearchlist li a,
#addressbook-selector li a,
#contactgroup-selector li a
{
cursor: default;
display: block;
padding-left: 25px;
padding-top: 2px;
padding-bottom: 2px;
height: 16px;
text-decoration: none;
white-space: nowrap;
background-image: url(images/icons/folders.png);
background-position: 5px -108px;
background-repeat: no-repeat;
}
#directorylist ul li a
{
padding-left: 45px;
background-position: 22px -108px;
}
#directorylist ul ul li a
{
padding-left: 62px;
background-position: 39px -108px;
}
#directorylist ul ul ul li a
{
padding-left: 79px;
background-position: 39px -108px;
}
#directorylist li.contactgroup a
{
background-position: 5px -143px;
}
#directorylist ul li.contactgroup a
{
background-position: 22px -143px;
}
#directorylist ul ul li.contactgroup a
{
background-position: 39px -143px;
}
#directorylist ul ul ul li.contactgroup a
{
background-position: 56px -143px;
}
#savedsearchlist li.contactsearch a
{
background-position: 6px -162px;
}
#addressbook-selector li a.addressbook
{
padding-left: 25px;
}
#addressbook-selector li a.contactgroup
{
padding-left: 45px !important;
background-position: 25px -143px;
}
#contactgroup-selector li a
{
padding-left: 25px;
background-position: 5px -143px;
}
#contacts-table
{
width: 100%;
table-layout: fixed;
}
#contacts-table tbody td
{
cursor: default;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
/* This padding-left should be equal to the focused border-left + the focused padding-left */
#contacts-table thead tr td:first-child,
#contacts-table tbody tr td:first-child {
border-left: 0;
padding-left: 8px;
}
/* because of border-collapse, we make the left border twice what we want it to be - half will be hidden to the left */
#contacts-table tbody tr.focused > td:first-child {
border-left: 2px solid #d4d4d4;
padding-left: 6px;
}
#contacts-table tbody tr.selected.focused > td:first-child {
border-left: 1px solid #ccc;
padding-left: 7px;
}
#contacts-table .contact.readonly td
{
font-style: italic;
}
#contacts-table td.name
{
width: 95%;
}
#contacts-table td.action
{
width: 12px;
padding: 0px 6px 0 4px;
text-align: right;
}
#contacts-table td.action a
{
font-size: 16px;
font-weight: bold;
font-style: normal;
text-decoration: none;
color: #333;
}
#contacts-table .selected td.action a
{
color: #fff;
}
#contacts-box
{
position: absolute;
top: 0px;
left: 290px;
right: 0px;
bottom: 0px;
border: 1px solid #999999;
overflow: hidden;
}
body.iframe,
#contact-frame
{
background-color: #F2F2F2;
border: none;
min-height: 100%; /* Chrome 14 bug */
}
#contacttabs
{
position: relative;
padding-bottom: 12px;
}
#contacttabs div.tabsbar {
top: 0;
left: 2px;
}
#contacttabs fieldset.tabbed {
position: relative;
top: 22px;
min-height: 5em;
}
#contacthead
{
margin-bottom: 1em;
border: 0;
padding: 0;
}
#contacthead > legend
{
display: none;
}
#contacthead .names span.namefield,
#contacthead .names input
{
font-size: 140%;
}
#contacthead .displayname span.namefield
{
font-size: 120%;
}
#contacthead span.nickname:before,
#contacthead span.nickname:after,
#contacthead input.ff_nickname:before,
#contacthead input.ff_nickname:after
{
content: '"';
}
#contacthead input
{
margin-right: 6px;
margin-bottom: 0.2em;
}
#contacthead .names input,
#contacthead .addnames input
{
width: 180px;
}
#contacthead input.ff_prefix,
#contacthead input.ff_suffix
{
width: 90px;
}
#contacthead .addnames input.ff_name
{
width: 374px;
}
#contactphoto
{
float: right;
width: 60px;
margin-left: 3em;
margin-right: 4px;
}
#contactpic
{
width: 60px;
min-height: 60px;
border: 1px solid #ccc;
background: white;
}
#contactpic img {
max-width: 60px;
max-height: 80px;
}
#contactpic.droptarget.hover {
background-color: #f0f0ee;
box-shadow: 0 0 5px 0 #999;
-moz-box-shadow: 0 0 5px 0 #999;
-o-box-shadow: 0 0 5px 0 #999;
}
#contactphoto .formlinks
{
margin-top: 0.5em;
text-align: center;
}
fieldset.contactfieldgroup
{
border: 0;
margin: 0.5em 0;
padding: 0.2em 2px;
}
fieldset.contactfieldgroupmulti
{
padding: 0.5em 2px;
}
fieldset.contactfieldgroup legend
{
font-size: 0.9em;
}
.contactfieldgroup .row
{
position: relative;
margin: 0.2em 0;
}
.contactfieldgroup .contactfieldlabel
{
position: absolute;
top: 0;
left: 2px;
width: 110px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #666;
font-weight: bold;
}
.contactfieldgroup .contactfieldlabel select
{
width: 100%;
background: none;
border: 0;
color: #666;
font-weight: bold;
padding-left: 0;
}
.contactfieldgroup .contactfieldcontent
{
padding-left: 120px;
min-height: 1em;
line-height: 1.3em;
}
.contactfieldgroup .contactfield {
line-height: 1.3em;
}
.contactcontrolleraddress .contactfieldcontent input {
margin-bottom: 0.1em;
}
.contactfieldcontent .contactfieldbutton {
vertical-align: middle;
margin-left: 0.5em;
}
#upload-form
{
padding: 6px;
}
#upload-form div
{
padding: 2px;
}
#sourcename
{
color: #666;
font-size: 10px;
margin: -5px 0 8px 2px;
}
#contact-title
{
/* fixes issue where tabs were overlapping box title when scrolling */
z-index: 10;
}

1660
classic/common.css Normal file

File diff suppressed because it is too large Load Diff

39
classic/embed.css Normal file
View File

@ -0,0 +1,39 @@
/**
* Roundcube webmail "embedded" stylesheets
*
* Copyright (c) 2013, The Roundcube Dev Team
*
* The contents are subject to the Creative Commons Attribution-ShareAlike
* License. It is allowed to copy, distribute, transmit and to adapt the work
* by keeping credits to the original autors in the README file.
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*/
.rcmail-inline-message {
font-family: sans-serif;
font-size: 14px;
color: #000;
margin-bottom: .8em;
min-height: 30px;
padding: 10px 10px 6px 46px;
background: url(images/display/icons.png) 6px 3px no-repeat #F7FDCB;
border: 1px solid #C2D071;
}
.rcmail-inline-warning {
background-position: 6px -92px;
}
.rcmail-inline-message > button {
margin-left: 1em;
vertical-align: baseline;
}
.rcmail-inline-message em {
font-size: 90%;
color: #666;
}
.rcmail-inline-buttons {
margin-bottom: 0;
}

1124
classic/functions.js Normal file

File diff suppressed because it is too large Load Diff

126
classic/googiespell.css Normal file
View File

@ -0,0 +1,126 @@
/***** modified styles for GoogieSpell *****/
.googie_window {
font-size: 11px;
width: 185px;
}
.googie_edit_layer {
background-color: #ffffff;
padding: 1px 3px;
font-size: 9pt;
font-family: monospace;
}
.googie_edit_layer span {
font-family: monospace;
}
.googie_list {
width: 100%;
margin: 0;
padding: 0;
}
.googie_list li {
font-size: 11px;
cursor: pointer;
list-style-type: none;
}
.googie_list form {
padding: 3px;
}
.googie_list_onhover {
color: #FFFFFF;
background-color: #CC3333;
}
.googie_list_onout {
background-color: #fff;
}
.googie_list_selected {
background-color: #cccccc;
font-weight: bold;
}
.googie_list_close {
font-size: 11px;
color: #b91414;
}
.googie_list_onhover .googie_list_close {
color: #FFFFFF;
}
.googie_list_revert {
font-size: 11px;
color: #b91414;
}
.googie_list_revert:hover {
color: #fff;
}
.googie_link {
color: #b91414;
text-decoration: underline;
cursor: pointer;
font-size: 9pt;
font-family: monospace;
}
.googie_check_spelling_link {
color: #CC0000;
font-size: 11px;
text-decoration: none;
cursor: pointer;
}
.googie_check_spelling_link:hover {
text-decoration: underline;
}
.googie_no_style {
text-decoration: none;
}
.googie_check_spelling_ok,
.googie_resume_editing {
color: green;
font-size: 11px;
cursor: pointer;
}
.googie_check_spelling_ok:hover,
.googie_resume_editing:hover {
text-decoration: underline;
}
.googie_lang_3d_click img {
vertical-align: middle;
border-top: 1px solid #555;
border-left: 1px solid #555;
border-right: 1px solid #b1b1b1;
border-bottom: 1px solid #b1b1b1;
}
.googie_lang_3d_on img {
vertical-align: middle;
border-top: 1px solid #b1b1b1;
border-left: 1px solid #b1b1b1;
border-right: 1px solid #555;
border-bottom: 1px solid #555;
}
.googie_ok_button {
background: url(images/googiespell/ok.gif) no-repeat center center transparent;
width: 32px;
height: 16px;
cursor: pointer;
margin: 0 5px;
text-indent: -5000px;
border: 0 !important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

BIN
classic/images/cleardot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

BIN
classic/images/dbutton.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

BIN
classic/images/dimple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

BIN
classic/images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
classic/images/filedrop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
classic/images/pagenav.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

BIN
classic/images/quota.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
classic/images/taskbar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
classic/images/tree.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,2 @@
<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" onclick="location.href='./?_page=1'" />
<roundcube:object name="message" id="message" />

View File

@ -0,0 +1,10 @@
<link rel="index" href="$__comm_path" />
<roundcube:object name="meta" />
<roundcube:object name="links" />
<link rel="stylesheet" type="text/css" href="/common.css" />
<roundcube:if condition="in_array(env:task, array('mail', 'addressbook', 'settings'))" />
<link rel="stylesheet" type="text/css" href="/<roundcube:var name="env:task" />.css" />
<roundcube:endif />
<roundcube:if condition="browser:safari" />
<link rel="stylesheet" type="text/css" href="/safari.css" />
<roundcube:endif />

View File

@ -0,0 +1,67 @@
<div id="messagetoolbar">
<roundcube:if condition="template:name == 'message' && env:extwin" />
<roundcube:button command="close" type="link" class="button back" classAct="button back" classSel="button backSel" title="close" content=" " />
<roundcube:elseif condition="template:name == 'message'" />
<roundcube:button command="list" type="link" class="button back" classAct="button back" classSel="button backSel" title="backtolist" content=" " />
<roundcube:else />
<roundcube:button command="checkmail" type="link" class="button checkmail" classAct="button checkmail" classSel="button checkmailSel" title="checkmail" content=" " />
<roundcube:endif />
<roundcube:button command="compose" type="link" class="button compose" classAct="button compose" classSel="button composeSel" title="writenewmessage" content=" " />
<roundcube:button command="reply" type="link" class="buttonPas reply" classAct="button reply" classSel="button replySel" title="replytomessage" content=" " />
<span class="dropbutton">
<roundcube:button command="reply-all" type="link" class="buttonPas replyAll" classAct="button replyAll" classSel="button replyAllSel" title="replytoallmessage" content=" " />
<span id="replyallmenulink" onclick="rcmail_ui.show_popup('replyallmenu');return false"></span>
</span>
<span class="dropbutton">
<roundcube:button command="forward" type="link" class="buttonPas forward" classAct="button forward" classSel="button forwardSel" title="forwardmessage" content=" " />
<span id="forwardmenulink" onclick="rcmail_ui.show_popup('forwardmenu');return false"></span>
</span>
<roundcube:button command="delete" type="link" class="buttonPas delete" classAct="button delete" classSel="button deleteSel" title="deletemessage" content=" " />
<roundcube:if condition="template:name == 'message'" />
<roundcube:button command="move" type="link" class="buttonPas move" classAct="button move" classSel="button moveSel" label="move" title="moveto" content=" " data-menu-pos="bottom" />
<roundcube:button command="print" type="link" class="buttonPas print" classAct="button print" classSel="button printSel" label="print" title="printmessage" content=" " />
<roundcube:endif />
<roundcube:container name="toolbar" id="messagetoolbar" />
<roundcube:button name="markmenulink" id="markmenulink" type="link" class="button markmessage" title="markmessages" onclick="rcmail_ui.show_popup('markmenu');return false" content=" " />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button messagemenu" title="moreactions" onclick="rcmail_ui.show_popup('messagemenu');return false" content=" " />
</div>
<div id="forwardmenu" class="popupmenu">
<ul id="forwardmenumenu">
<roundcube:button type="link-menuitem" command="forward-inline" label="forwardinline" prop="sub" classAct="forwardlink active" class="forwardlink" />
<roundcube:button type="link-menuitem" command="forward-attachment" label="forwardattachment" prop="sub" classAct="forwardattachmentlink active" class="forwardattachmentlink" />
<roundcube:button type="link-menuitem" command="bounce" label="bouncemsg" prop="sub" classAct="bouncelink active" class="bouncelink" />
<roundcube:container name="forwardmenu" id="forwardmenumenu" />
</ul>
</div>
<div id="replyallmenu" class="popupmenu">
<ul id="replyallmenumenu">
<roundcube:button type="link-menuitem" command="reply-all" label="replyall" prop="sub" classAct="replyalllink active" class="replyalllink" />
<roundcube:button type="link-menuitem" command="reply-list" label="replylist" prop="sub" classAct="replylistlink active" class="replylistlink" />
<roundcube:container name="replyallmenu" id="replyallmenumenu" />
</ul>
</div>
<div id="messagemenu" class="popupmenu">
<ul class="toolbarmenu" id="messagemenumenu">
<roundcube:button type="link-menuitem" class="printlink" command="print" label="printmessage" classAct="printlink active" />
<roundcube:button type="link-menuitem" class="downloadlink" command="download" label="emlsave" classAct="downloadlink active" />
<roundcube:button type="link-menuitem" class="editlink" command="edit" prop="new" label="editasnew" classAct="editlink active" />
<roundcube:button type="link-menuitem" class="movelink" command="move" label="moveto" classAct="movelink active" innerclass="folder-selector-link" />
<roundcube:button type="link-menuitem" class="copylink" command="copy" label="copyto" classAct="copylink active" innerclass="folder-selector-link" />
<roundcube:button type="link-menuitem" class="sourcelink" command="viewsource" label="viewsource" classAct="sourcelink active" menuitem-class="separator_below" />
<roundcube:button type="link-menuitem" class="openlink" command="open" label="openinextwin" target="_blank" classAct="openlink active" />
<roundcube:container name="messagemenu" id="messagemenumenu" />
</ul>
</div>
<div id="markmessagemenu" class="popupmenu">
<ul class="toolbarmenu" id="markmessagemenumenu">
<roundcube:button type="link-menuitem" command="mark" prop="read" label="markread" classAct="readlink active" class="readlink" />
<roundcube:button type="link-menuitem" command="mark" prop="unread" label="markunread" classAct="unreadlink active" class="unreadlink" />
<roundcube:button type="link-menuitem" command="mark" prop="flagged" label="markflagged" classAct="flaggedlink active" class="flaggedlink" />
<roundcube:button type="link-menuitem" command="mark" prop="unflagged" label="markunflagged" classAct="unflaggedlink active" class="unflaggedlink" />
<roundcube:container name="markmenu" id="markmessagemenumenu" />
</ul>
</div>

View File

@ -0,0 +1,6 @@
<div id="tabsbar">
<roundcube:object name="settingstabs" class="tablink" selClass="tablink-selected" />
<roundcube:container name="tabs" id="tabsbar" />
<span id="settingstababout" class="tablink"><roundcube:button command="about" type="link" label="about" title="about" class="tablink" /></span>
<script type="text/javascript"> if (window.rcmail) rcmail.add_onload(rcube_init_settings_tabs); </script>
</div>

View File

@ -0,0 +1,7 @@
<div id="taskbar">
<roundcube:button command="mail" type="link" label="mail" class="button-mail" />
<roundcube:button command="addressbook" type="link" label="contacts" class="button-addressbook" />
<roundcube:container name="taskbar" id="taskbar" />
<roundcube:button command="settings" type="link" label="settings" class="button-settings" />
<roundcube:button command="logout" type="link" label="logout" class="button-logout" />
</div>

1905
classic/mail.css Normal file

File diff suppressed because it is too large Load Diff

6
classic/meta.json Normal file
View File

@ -0,0 +1,6 @@
{
"name": "Classic",
"author": "The Roundcube Dev Team",
"license": "Creative Commons Attribution-ShareAlike",
"license-url": "http://creativecommons.org/licenses/by-sa/3.0/"
}

225
classic/print.css Normal file
View File

@ -0,0 +1,225 @@
/***** Roundcube|Mail message print styles *****/
body
{
font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
background-color: #ffffff;
color: #000000;
margin: 2mm;
}
body, td, th, div, p
{
font-size: 9pt;
color: #000000;
}
h3
{
font-size: 18px;
color: #000000;
}
a, a:active, a:visited
{
color: #000000;
}
body > #logo
{
float: right;
margin: 0 5mm 3mm 5mm;
}
table.headers-table
{
table-layout: fixed;
margin-top: 14px;
}
table.headers-table tr td
{
font-size: 9pt;
}
table.headers-table td.header-title
{
color: #666666;
font-weight: bold;
text-align: right;
vertical-align: top;
padding-right: 4mm;
white-space: nowrap;
}
table.headers-table tr td.subject
{
width: 90%;
font-weight: bold;
}
#attachment-list
{
margin-top: 3mm;
padding-top: 3mm;
border-top: 1pt solid #cccccc;
}
#attachment-list li
{
font-size: 9pt;
}
#attachment-list li a
{
text-decoration: none;
}
#attachment-list li a:hover
{
text-decoration: underline;
}
#messagebody
{
position: relative;
margin-top: 5mm;
border-top: none;
}
div.message-part
{
padding: 2mm;
margin-top: 5mm;
margin-bottom: 5mm;
border-top: 1pt solid #cccccc;
}
div.message-part a
{
color: #0000CC;
}
div.message-part div.pre
{
margin: 0;
padding: 0;
font-family: monospace;
font-size: 12px;
}
div.message-part blockquote
{
color: blue;
border-left: 2px solid blue;
border-right: 2px solid blue;
background-color: #F6F6F6;
margin: 2px 0;
padding: 0 0.4em;
}
div.message-part blockquote blockquote
{
color: green;
border-left: 2px solid green;
border-right: 2px solid green;
}
div.message-part blockquote blockquote blockquote
{
color: #990000;
border-left: 2px solid #bb0000;
border-right: 2px solid #bb0000;
}
p.image-attachment
{
position: relative;
padding: 1em;
border-top: 1px solid #ccc;
}
p.image-attachment a.image-link
{
float: left;
display: block;
margin-right: 2em;
min-width: 160px;
min-height: 60px;
text-align: center;
}
p.image-attachment .image-filename
{
display: block;
line-height: 1.6em;
}
p.image-attachment .attachment-links
{
display: none;
}
/* contact print */
#contact-details fieldset {
color: #666;
border: 1px solid #999;
margin-top: 5px;
}
#contact-details fieldset.contactfieldgroup {
border: 0;
padding: 0;
margin: 0;
}
#contact-details div.row {
padding: 2px 0;
}
#contact-details .contactfieldlabel {
display: inline-block;
vertical-align: top;
width: 150px;
overflow: hidden;
text-overflow: ellipsis;
}
#contact-details .contactfieldcontent {
display: inline-block;
vertical-align: top;
font-weight: bold;
}
#contact-details #contactphoto {
float: left;
margin: 5px 15px 5px 3px;
width: 112px;
border: 0;
padding: 0;
}
#contact-details #contactpic {
width: 112px;
background: white;
}
#contact-details #contactpic img {
max-width: 112px;
visibility: inherit;
}
#contact-details #contacthead {
border: 0;
margin: 0 16em 0 0;
padding: 0;
}
#contact-details #contacthead > legend {
display: none;
}
#contact-details #contacthead .names span.namefield {
font-size: 140%;
font-weight: bold;
}

22
classic/safari.css Normal file
View File

@ -0,0 +1,22 @@
body
{
height: 100%;
}
html>body*#messagelist[id$="messagelist"]:not([class="none"]) { width: 99.8%; }
html>body*#messagelist[id$="messagelist"]:not([class="none"]) tr td.flag,
html>body*#messagelist[id$="messagelist"]:not([class="none"]) tr td.icon { width: 20px; }
html>body*input[type$="file"]:not([class="none"]) { background-color: transparent; border: 0; }
div.message-part pre,
div.message-htmlpart pre,
div.message-part div.pre
{
word-wrap: break-word;
}
#messagelist thead tr td,
#messagelist tbody tr td
{
height: 18px;
}

292
classic/settings.css Normal file
View File

@ -0,0 +1,292 @@
/***** Roundcube|Mail settings task styles *****/
#rcmfd_timezone
{
width: 300px;
}
#folder-manager.droptarget
{
border: 1px solid #CC3333;
background-color: #FFFFA6;
}
#folderlist-title a.iconbutton.search {
background: url(images/icons/glass.png) no-repeat 0 0;
cursor: pointer;
position: absolute;
right: 4px;
top: 2px;
width: 16px;
text-indent: 50000px;
}
.listsearchbox select {
width: 100%;
margin: 1px 0;
}
#identities-table,
#responses-table,
#sections-table
{
width: 100%;
table-layout: fixed;
}
#identities-table tbody tr td,
#responses-table tbody tr td,
#sections-table tbody tr td
{
cursor: default;
}
#identities-table tbody tr.readonly td
{
font-style: italic;
}
#subscription-table li.root
{
font-size: 5%;
line-height: 5px;
height: 5px;
padding: 2px;
}
#subscription-table li input {
position: absolute;
right: 0;
top: 2px;
}
#subscription-table li a {
padding-right: 20px;
overflow: hidden;
text-overflow: ellipsis;
}
#folder-box,
#prefs-box,
#identity-box,
#response-box
{
position: absolute;
top: 0;
right: 0;
bottom: 0;
border: 1px solid #999999;
overflow: hidden;
background-color: #F2F2F2;
}
#identity-details table td.title,
#response-details table td.title,
#folder-details table td.title
{
font-weight: bold;
text-align: right;
width: 1%;
white-space: nowrap;
}
#response-details table td.title
{
text-align: left;
vertical-align: top;
width: 140px;
padding-top: 5px;
}
#bottomboxes
{
position: absolute;
width: 600px;
height: 95px;
left: 0;
bottom: 0;
}
#identities-list,
#responses-list,
#folder-manager,
#sectionslist
{
position: absolute;
top: 0;
left: 0;
bottom: 0;
border: 1px solid #999999;
background-color: #F9F9F9;
overflow: hidden;
}
body.iframe,
#prefs-frame,
#folder-frame,
#identity-frame,
#response-frame
{
background-color: #F2F2F2;
border: none;
min-height: 100%; /* Chrome 14 bug */
}
#prefs-title,
#folder-title,
#identity-title,
#response-title
{
/* fixes issue where tabs were overlapping box title when scrolling */
z-index: 10;
}
#formfooter
{
width: 100%;
}
.footerleft
{
padding-left: 10px;
}
#formfooter .footerleft
{
padding: 0 2px 10px;
white-space: nowrap;
float: left;
}
#formfooter .footerright
{
padding: 0 2px 10px;
white-space: nowrap;
text-align: right;
float: right;
}
#formfooter .footerindent
{
padding: 10px 0;
margin-left: 155px;
}
#quota
{
position: absolute;
top: 3px;
right: 8px;
width: 100px;
}
#quotaimg
{
position: absolute;
top: 3px;
right: 6px;
z-index: 101;
}
#rcmfd_signature
{
font-family: monospace;
}
div.readtext
{
width: 42em;
padding: 20px;
}
#license
{
min-height: 200px;
padding-bottom: 2em;
background: url(images/watermark.gif) no-repeat center;
}
#license .sysname
{
font-size: 18px;
font-weight: bold;
}
#license .copyright
{
font-weight: bold;
}
#license .license,
#license .links
{
margin-top: 1.5em;
}
.skinselection
{
display: block;
white-space: nowrap;
margin: 0.3em 0;
}
.skinselection span
{
display: inline-block;
vertical-align: middle;
padding-right: 1em;
}
.skinselection .skinname
{
font-weight: bold;
}
.skinselection .skinlicense,
.skinselection .skinlicense a
{
color: #999;
font-style: italic;
text-decoration: none;
}
.skinselection .skinlicense a:hover
{
text-decoration: underline;
}
img.skinthumbnail
{
width: 64px;
height: 64px;
border: 1px solid #999;
background: #fff;
}
#pluginlist
{
border: 1px solid #999;
width: 100%;
}
#pluginlist td.version
{
text-align: center;
}
div.crop
{
overflow: auto;
}
#rcmfd_signature
{
width: 99%;
min-width: 390px;
}
#rcmfd_signature_toolbar1 td,
#rcmfd_signature_toolbar2 td
{
width: auto;
}

228
classic/splitter.js Normal file
View File

@ -0,0 +1,228 @@
/**
* Roundcube splitter GUI class
*
* @licstart The following is the entire license notice for the
* JavaScript code in this file.
*
* Copyright (c) The Roundcube Dev Team
*
* The JavaScript code in this page is free software: you can redistribute it
* and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
* @constructor
*/
function rcube_splitter(attrib)
{
this.p1id = attrib.p1;
this.p2id = attrib.p2;
this.id = attrib.id ? attrib.id : this.p1id + '_' + this.p2id + '_splitter';
this.orientation = attrib.orientation;
this.horizontal = (this.orientation == 'horizontal' || this.orientation == 'h');
this.pos = attrib.start ? attrib.start * 1 : 0;
this.relative = attrib.relative ? true : false;
this.drag_active = false;
this.callback = attrib.callback;
var me = this;
this.init = function()
{
this.p1 = document.getElementById(this.p1id);
this.p2 = document.getElementById(this.p2id);
// create and position the handle for this splitter
this.p1pos = this.relative ? $(this.p1).position() : $(this.p1).offset();
this.p2pos = this.relative ? $(this.p2).position() : $(this.p2).offset();
if (this.horizontal) {
var top = this.p1pos.top + this.p1.offsetHeight;
this.layer = new rcube_layer(this.id, {x: 0, y: top, height: 10,
width: '100%', vis: 1, parent: this.p1.parentNode});
}
else {
var left = this.p1pos.left + this.p1.offsetWidth;
this.layer = new rcube_layer(this.id, {x: left, y: 0, width: 10,
height: '100%', vis: 1, parent: this.p1.parentNode});
}
this.elm = this.layer.elm;
this.elm.className = 'splitter '+(this.horizontal ? 'splitter-h' : 'splitter-v');
this.elm.unselectable = 'on';
// add the mouse event listeners
$(this.elm).mousedown(onDragStart);
// Update splitter position and elements with on window resize
$(window).resize(function(e) { if (e.target === window) me.resize(); });
if (bw.ie)
$(window).resize(onResize);
// read saved position from cookie
var cookie = rcmail.get_cookie(this.id);
if (cookie && !isNaN(cookie)) {
this.pos = parseFloat(cookie);
this.resize();
}
else if (this.pos) {
this.resize();
this.set_cookie();
}
};
/**
* Set size and position of all DOM objects
* according to the saved splitter position
*/
this.resize = function()
{
if (this.horizontal) {
var lh = this.layer.height;
this.p1.style.height = Math.floor(this.pos - this.p1pos.top - lh / 2) + 'px';
this.p2.style.top = Math.ceil(this.pos + lh / 2) + 'px';
this.layer.move(this.layer.x, Math.round(this.pos - lh / 2 + 1));
if (bw.ie) {
var new_height = parseInt(this.p2.parentNode.offsetHeight, 10) - parseInt(this.p2.style.top, 10);
this.p2.style.height = (new_height > 0 ? new_height : 0) + 'px';
}
}
else {
var max_width = $(window).width() - $(this.p1).offset().left - 150,
pos = Math.min(this.pos, max_width);
this.p1.style.width = Math.floor(pos - this.p1pos.left - this.layer.width / 2) + 'px';
this.p2.style.left = Math.ceil(pos + this.layer.width / 2) + 'px';
this.layer.move(Math.round(pos - this.layer.width / 2 + 1), this.layer.y);
if (bw.ie) {
var new_width = parseInt(this.p2.parentNode.offsetWidth, 10) - parseInt(this.p2.style.left, 10) ;
this.p2.style.width = (new_width > 0 ? new_width : 0) + 'px';
}
}
$(this.p2).resize();
$(this.p1).resize();
};
/**
* Handler for mousedown events
*/
function onDragStart(e)
{
me.drag_active = true;
// disable text selection while dragging the splitter
if (bw.konq || bw.chrome || bw.safari)
document.body.style.webkitUserSelect = 'none';
me.p1pos = me.relative ? $(me.p1).position() : $(me.p1).offset();
me.p2pos = me.relative ? $(me.p2).position() : $(me.p2).offset();
// start listening to mousemove events
$(document).on('mousemove.' + me.id, onDrag).on('mouseup.' + me.id, onDragStop);
// enable dragging above iframes
$('iframe').each(function() {
$('<div class="iframe-splitter-fix"></div>')
.css({background: '#fff',
width: this.offsetWidth+'px', height: this.offsetHeight+'px',
position: 'absolute', opacity: '0.001', zIndex: 1000
})
.css($(this).offset())
.appendTo('body');
});
};
/**
* Handler for mousemove events
*/
function onDrag(e)
{
if (!me.drag_active)
return false;
// with timing events dragging action is more responsive
window.clearTimeout(me.ts);
me.ts = window.setTimeout(function() { onDragAction(e); }, 1);
return false;
};
function onDragAction(e)
{
var pos = rcube_event.get_mouse_pos(e);
if (me.relative) {
var parent = $(me.p1.parentNode).offset();
pos.x -= parent.left;
pos.y -= parent.top;
}
if (me.horizontal) {
if (((pos.y - me.layer.height * 1.5) > me.p1pos.top) && ((pos.y + me.layer.height * 1.5) < (me.p2pos.top + me.p2.offsetHeight))) {
me.pos = pos.y;
me.resize();
}
}
else if (((pos.x - me.layer.width * 1.5) > me.p1pos.left) && ((pos.x + me.layer.width * 1.5) < (me.p2pos.left + me.p2.offsetWidth))) {
me.pos = pos.x;
me.resize();
}
me.p1pos = me.relative ? $(me.p1).position() : $(me.p1).offset();
me.p2pos = me.relative ? $(me.p2).position() : $(me.p2).offset();
};
/**
* Handler for mouseup events
*/
function onDragStop(e)
{
me.drag_active = false;
// resume the ability to highlight text
if (bw.konq || bw.chrome || bw.safari)
document.body.style.webkitUserSelect = 'auto';
// cancel the listening for drag events
$(document).off('.' + me.id);
// remove temp divs
$('div.iframe-splitter-fix').remove();
me.set_cookie();
if (typeof me.callback == 'function')
me.callback(me);
return bw.safari ? true : rcube_event.cancel(e);
};
/**
* Handler for window resize events
*/
function onResize(e)
{
if (me.horizontal) {
var new_height = parseInt(me.p2.parentNode.offsetHeight, 10) - parseInt(me.p2.style.top, 10);
me.p2.style.height = (new_height > 0 ? new_height : 0) +'px';
}
else {
var new_width = parseInt(me.p2.parentNode.offsetWidth, 10) - parseInt(me.p2.style.left, 10);
me.p2.style.width = (new_width > 0 ? new_width : 0) + 'px';
}
};
/**
* Saves splitter position in cookie
*/
this.set_cookie = function()
{
var exp = new Date();
exp.setYear(exp.getFullYear() + 1);
rcmail.set_cookie(this.id, this.pos, exp);
};
} // end class rcube_splitter

View File

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body>
<roundcube:if condition="!request:_framed" />
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:include file="/includes/settingstabs.html" />
<div id="mainscreen" class="box darkbg crop">
<roundcube:endif />
<div class="readtext">
<div id="license">
<roundcube:object name="aboutcontent" />
<h2 class="sysname">Roundcube Webmail <roundcube:object name="version" /></h2>
<p class="copyright"><roundcube:object name="copyright" /></p>
<p class="license"><roundcube:object name="license" /></p>
<p class="links"><roundcube:object name="supportlink" label="support" target="_blank" /></p>
</div>
<h3><roundcube:label name="installedplugins" /></h3>
<roundcube:object name="pluginlist" id="pluginlist" class="records-table" cellspacing="0" />
</div>
<roundcube:if condition="!request:_framed" />
</div>
<roundcube:endif />
</body>
</html>

View File

@ -0,0 +1,145 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/splitter.js"></script>
<script type="text/javascript" src="/functions.js"></script>
<style type="text/css">
#addresslist { width: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter-5 : 245" />px; }
#contacts-box { left: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255" />px; }
#directorylistbox { width: <roundcube:exp expression="!empty(cookie:addressviewsplitterd) ? cookie:addressviewsplitterd-5 : 195" />px; }
#addressscreen { left: <roundcube:exp expression="!empty(cookie:addressviewsplitterd) ? cookie:addressviewsplitterd+5 : 205" />px; }
</style>
</head>
<body>
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<div id="abooktoolbar">
<roundcube:button command="add" type="link" class="buttonPas addcontact" classAct="button addcontact" classSel="button addcontactSel" title="newcontact" content=" " />
<roundcube:button command="compose" type="link" class="buttonPas compose" classAct="button compose" classSel="button composeSel" title="composeto" content=" " />
<roundcube:button command="print" type="link" class="buttonPas print" classAct="button print" classSel="button printSel" label="print" title="printcontact" content=" " />
<roundcube:button command="delete" type="link" class="buttonPas delete" classAct="button delete" classSel="button deleteSel" title="deletecontact" content=" " />
<span class="toolbarseparator">&nbsp;</span>
<roundcube:button command="import" type="link" class="buttonPas import" classAct="button import" classSel="button importSel" title="importcontacts" content=" " />
<span class="dropbutton">
<roundcube:button command="export" type="link" class="buttonPas export" classAct="button export" classSel="button exportSel" title="exportvcards" content=" " />
<span id="exportmenulink" onclick="rcmail_ui.show_popup('exportmenu');return false"></span>
</span>
<roundcube:button command="advanced-search" type="link" class="buttonPas search" classAct="button search" classSel="button searchSel" title="advsearch" content=" " />
<roundcube:container name="toolbar" id="abooktoolbar" />
<roundcube:button name="contactmenulink" id="contactmenulink" type="link" class="button contactmenu" title="moreactions" onclick="rcmail_ui.show_popup('contactmenu');return false" content=" " />
</div>
<div id="quicksearchbar">
<roundcube:button name="searchmenulink" id="searchmenulink" image="/images/icons/glass_roll.png" onclick="rcmail_ui.show_popup('searchmenu');return false" title="searchmod" width="16" height="16" />
<roundcube:object name="searchform" id="quicksearchbox" />
<roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" width="13" height="13" />
</div>
<div id="exportmenu" class="popupmenu">
<ul>
<li><roundcube:button command="export" type="link" label="exportall" prop="sub" classAct="exportalllink active" class="exportalllink" /></li>
<li><roundcube:button command="export-selected" type="link" label="exportsel" prop="sub" classAct="exportsellink active" class="exportsellink" /></li>
</ul>
</div>
<div id="searchmenu" class="popupmenu">
<ul class="toolbarmenu">
<li><label><input type="checkbox" name="s_mods[]" value="name" id="s_mod_name" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="name" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="firstname" id="s_mod_firstname" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="firstname" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="surname" id="s_mod_surname" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="surname" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="email" id="s_mod_email" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="email" /></span></label></li>
<li><label><input type="checkbox" name="s_mods[]" value="*" id="s_mod_all" onclick="rcmail_ui.set_searchmod(this)" /> <span><roundcube:label name="allfields" /></span></label></li>
</ul>
</div>
<div id="contactmenu" class="popupmenu">
<ul class="toolbarmenu" id="contactmenumenu">
<roundcube:if condition="env:qrcode" />
<roundcube:button type="link-menuitem" class="qrcode" command="qrcode" label="qrcode" classAct="qrcode active" />
<roundcube:endif />
<roundcube:button type="link-menuitem" class="assigngroup" command="group-assign-selected" label="groupassign" classAct="assigngroup active" innerclass="folder-selector-link" />
<roundcube:button type="link-menuitem" class="removegroup" command="group-remove-selected" label="groupremove" classAct="removegroup active" />
<roundcube:if condition="env:contact_move_enabled" />
<roundcube:button type="link-menuitem" class="movelink" command="move" label="moveto" classAct="movelink active" innerclass="folder-selector-link" />
<roundcube:endif />
<roundcube:if condition="env:contact_copy_enabled" />
<roundcube:button type="link-menuitem" class="copylink" command="copy" label="copyto" classAct="copylink active" innerclass="folder-selector-link" />
<roundcube:endif />
<roundcube:container name="contactmenu" id="contactmenumenu" />
</ul>
</div>
<div id="mainscreen">
<div id="directorylistbox">
<div id="directorylist-title" class="boxtitle"><roundcube:label name="groups" /></div>
<div id="directorylist-content" class="boxlistcontent">
<roundcube:object name="directorylist" id="directorylist" class="treelist" />
<roundcube:object name="savedsearchlist" id="savedsearchlist" class="treelist" />
</div>
<div id="directorylist-footer" class="boxfooter">
<roundcube:button command="group-create" type="link" title="newgroup" class="buttonPas addgroup" classAct="button addgroup" content=" " />
<roundcube:button name="groupmenulink" id="groupmenulink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('groupmenu');return false" content=" " />
</div>
</div>
<div id="addressscreen">
<div id="addresslist">
<roundcube:object name="addresslisttitle" label="contacts" tag="div" class="boxtitle" />
<div class="boxlistcontent">
<roundcube:object name="addresslist" id="contacts-table" class="records-table" cellspacing="0" summary="Contacts list" noheader="true" />
</div>
<div class="boxfooter">
<div id="abookcountbar" class="pagenav">
<roundcube:button command="firstpage" type="link" class="buttonPas firstpage" classAct="button firstpage" classSel="button firstpageSel" title="firstpage" content=" " />
<roundcube:button command="previouspage" type="link" class="buttonPas prevpage" classAct="button prevpage" classSel="button prevpageSel" title="previouspage" content=" " />
<roundcube:object name="recordsCountDisplay" style="padding:0 .5em; float:left" />
<roundcube:button command="nextpage" type="link" class="buttonPas nextpage" classAct="button nextpage" classSel="button nextpageSel" title="nextpage" content=" " />
<roundcube:button command="lastpage" type="link" class="buttonPas lastpage" classAct="button lastpage" classSel="button lastpageSel" title="lastpage" content=" " />
</div>
</div>
</div>
<script type="text/javascript">
var addrviewsplit = new rcube_splitter({id:'addressviewsplitter', p1: 'addresslist', p2: 'contacts-box', orientation: 'v', relative: true, start: 250});
rcmail.add_onload('addrviewsplit.init()');
var addrviewsplitd = new rcube_splitter({id:'addressviewsplitterd', p1: 'directorylistbox', p2: 'addressscreen', orientation: 'v', relative: true, start: 200});
rcmail.add_onload('addrviewsplitd.init()');
</script>
<div id="contacts-box">
<roundcube:object name="contentframe" id="contact-frame" width="100%" height="100%" frameborder="0" src="env:blankpage" />
</div>
</div>
</div>
<div id="groupoptionsmenu" class="popupmenu">
<ul>
<li><roundcube:button command="group-rename" type="link" label="grouprename" classAct="active" /></li>
<li><roundcube:button command="group-delete" type="link" label="groupdelete" classAct="active" /></li>
<li class="separator_above"><roundcube:button command="search-create" type="link" label="searchsave" classAct="active" /></li>
<li><roundcube:button command="search-delete" type="link" label="searchdelete" classAct="active" /></li>
<roundcube:container name="groupoptions" id="groupoptionsmenu" />
</ul>
</div>
<div id="dragmenu" class="popupmenu">
<ul>
<li><roundcube:button command="move" type="link" onclick="return rcmail.drag_menu_action('move')" label="move" classAct="active" /></li>
<li><roundcube:button command="copy" type="link" onclick="return rcmail.drag_menu_action('copy')" label="copy" classAct="active" /></li>
</ul>
</div>
<script type="text/javascript">
rcube_init_mail_ui();
</script>
</body>
</html>

View File

@ -0,0 +1,41 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<div class="compose-headers-div" id="bounceheaders" role="region" aria-labelledby="aria-label-composeheaders">
<h2 id="aria-label-composeheaders" class="voice"><roundcube:label name="arialabelmessageheaders" /></h2>
<roundcube:object name="composeFormHead" role="main" />
<table id="compose-headers"><tbody>
<tr>
<td class="title"><label for="_from"><roundcube:label name="from" /></label></td>
<td class="editfield formlinks">
<roundcube:object name="composeHeaders" part="from" form="form" id="_from" tabindex="1" />
<a href="#identities" onclick="return rcmail.command('switch-task', 'settings/identities')" tabindex="1"><roundcube:label name="editidents" /></a>
</td>
</tr>
<tr>
<td class="title top"><label for="_to"><roundcube:label name="to" /></label></td>
<td class="editfield"><roundcube:object name="composeHeaders" part="to" form="form" id="_to" cols="70" rows="1" tabindex="1" /></td>
</tr>
<tr>
<td class="title top"><label for="_cc"><roundcube:label name="cc" /></label></td>
<td class="editfield"><roundcube:object name="composeHeaders" part="cc" form="form" id="_cc" cols="70" rows="1" tabindex="1" /></td>
</tr>
<tr>
<td class="title top"><label for="_bcc"><roundcube:label name="bcc" /></label></td>
<td class="editfield"><roundcube:object name="composeHeaders" part="bcc" form="form" id="_bcc" cols="70" rows="1" tabindex="1" /></td>
</tr>
<roundcube:if condition="!config:no_save_sent_messages" />
<tr><td colspan="2" class="bounceopts">
<label><roundcube:label name="savesentmessagein" /> <roundcube:object name="storetarget" maxlength="30" style="max-width:12em" tabindex="1" /></label>
</td></tr>
<roundcube:endif />
</tbody></table>
</form>
</div>
</body>
</html>

View File

@ -0,0 +1,245 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<roundcube:if condition="config:enable_spellcheck" />
<link rel="stylesheet" type="text/css" href="/googiespell.css" />
<roundcube:endif />
<script type="text/javascript" src="/functions.js"></script>
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#compose-contacts { width: <roundcube:exp expression="!empty(cookie:composesplitterv1) ? cookie:composesplitterv1-5 : 195" />px; }
#compose-container { left: <roundcube:exp expression="!empty(cookie:composesplitterv1) ? cookie:composesplitterv1+5 : 205" />px; }
</style>
</head>
<roundcube:if condition="env:extwin" />
<body class="extwin">
<roundcube:object name="message" id="message" />
<roundcube:else />
<body>
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:endif />
<div id="messagetoolbar">
<roundcube:if condition="env:extwin" />
<roundcube:button command="close" type="link" class="button back" classAct="button back" classSel="button backSel" title="close" content=" " />
<roundcube:else />
<roundcube:button command="list" type="link" class="button back" classAct="button back" classSel="button backSel" title="backtolist" content=" " />
<roundcube:endif />
<roundcube:button command="send" type="link" class="buttonPas send" classAct="button send" classSel="button sendSel" title="sendmessage" content=" " />
<roundcube:button name="addattachment" type="link" class="button attach" classAct="button attach" classSel="button attachSel" title="addattachment" onclick="rcmail_ui.show_popup('uploadmenu', true);return false" content=" " />
<roundcube:button command="insert-sig" type="link" class="buttonPas insertsig" classAct="button insertsig" classSel="button insertsigSel" title="insertsignature" content=" " />
<roundcube:button command="savedraft" type="link" class="buttonPas savedraft" classAct="button savedraft" classSel="button savedraftSel" title="savemessage" content=" " />
<roundcube:if condition="!empty(env:spell_langs)" />
<span class="dropbutton">
<roundcube:button command="spellcheck" type="link" class="buttonPas spellcheck" classAct="button spellcheck" classSel="button spellcheckSel" title="checkspelling" content=" " />
<span id="spellmenulink" onclick="rcmail_ui.show_popup('spellmenu');return false"></span>
</span>
<roundcube:endif />
<a href="#responses" class="button responses" label="responses" title="<roundcube:label name='insertresponse' />" id="responsesmenulink" unselectable="on" onmousedown="return false" onclick="rcmail_ui.show_popup('responsesmenu');return false">&nbsp;</a>
<span class="dropbutton" style="display:none">
<roundcube:button command="compose-encrypted" type="link" class="buttonPas encrypt disabled" classAct="button encrypt" classSel="button encrypt" title="encryptmessagemailvelope" content=" " />
<span id="encryptionmenulink" onclick="rcmail_ui.show_popup('encryptionmenu');return false" style="display:none"></span>
</span>
<roundcube:container name="toolbar" id="compose-toolbar" />
<roundcube:button name="messageoptions" id="composemenulink" type="link" class="button messagemenu" title="messageoptions" onclick="rcmail_ui.show_popup('composemenu', true);return false" content=" " />
</div>
<roundcube:form name="form" method="post">
<div id="mainscreen">
<div id="compose-contacts">
<div class="boxtitle">
<roundcube:label name="contacts" />
<div id="abookcountbar" class="pagenav">
<roundcube:button command="firstpage" type="link" class="buttonPas firstpage" classAct="button firstpage" classSel="button firstpageSel" title="firstpage" content=" " />
<roundcube:button command="previouspage" type="link" class="buttonPas prevpage" classAct="button prevpage" classSel="button prevpageSel" title="previouspage" content=" " />
<span style="float:left">&nbsp;</span>
<roundcube:button command="nextpage" type="link" class="buttonPas nextpage" classAct="button nextpage" classSel="button nextpageSel" title="nextpage" content=" " />
<roundcube:button command="lastpage" type="link" class="buttonPas lastpage" classAct="button lastpage" classSel="button lastpageSel" title="lastpage" content=" " />
</div>
</div>
<div class="boxlistcontent">
<div class="searchbox">
<img id="searchmenulink" src="/images/icons/glass.png" width="16" height="16" />
<roundcube:object name="searchform" id="quicksearchbox" form="true" tabindex="13" />
<roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" width="13" height="13" />
</div>
<roundcube:object name="addressbooks" id="directorylist" />
<roundcube:object name="addresslist" id="contacts-table" class="records-table" cellspacing="0" noheader="true" />
</div>
<div class="boxfooter">
<div id="abookactions">
<roundcube:button command="add-recipient" prop="to" type="link" title="to" class="button disabled" classAct="button" content="To &amp;raquo;" />
<roundcube:button command="add-recipient" prop="cc" type="link" title="cc" class="button disabled" classAct="button" content="Cc &amp;raquo;" />
<roundcube:button command="add-recipient" prop="bcc" type="link" title="bcc" class="button disabled" classAct="button" content="Bcc &amp;raquo;" />
<roundcube:container name="compose-contacts-toolbar" id="compose-contacts-toolbar" />
</div>
</div>
</div>
<script type="text/javascript">
var composesplitv1 = new rcube_splitter({id:'composesplitterv1', p1: 'compose-contacts', p2: 'compose-container', orientation: 'v', relative: true, start: 200});
rcmail.add_onload('composesplitv1.init()');
</script>
<div id="compose-container">
<div id="compose-headers-div" style="width: 100%;">
<table border="0" cellspacing="0" cellpadding="1" id="compose-headers">
<tr>
<td class="title"><label for="_from"><roundcube:label name="from" /></label></td>
<td class="editfield formlinks">
<roundcube:object name="composeHeaders" part="from" form="form" id="_from" tabindex="1" />
<a href="#identities" onclick="return rcmail.command('switch-task', 'settings/identities')"><roundcube:label name="editidents" /></a>
<roundcube:button command="extwin" image="/images/icons/extwin.png" width="15" height="15" title="openinextwin" id="openextwinlink" condition="!env:extwin" />
</td>
</tr><tr>
<td class="title top"><label for="_to"><roundcube:label name="to" /></label></td>
<td class="editfield"><roundcube:object name="composeHeaders" part="to" form="form" id="_to" cols="70" rows="2" tabindex="2" /></td>
</tr><tr id="compose-cc">
<td class="title top">
<a href="#cc" onclick="return rcmail_ui.hide_header_form('cc');"><img src="/images/icons/minus.gif" alt="" width="13" height="11" title="<roundcube:label name='delete' />" /></a>
<label for="_cc"><roundcube:label name="cc" /></label>
</td>
<td class="editfield"><roundcube:object name="composeHeaders" part="cc" form="form" id="_cc" cols="70" rows="2" tabindex="3" /></td>
</tr><tr id="compose-bcc">
<td class="title top">
<a href="#bcc" onclick="return rcmail_ui.hide_header_form('bcc');"><img src="/images/icons/minus.gif" alt="" width="13" height="11" title="<roundcube:label name='delete' />" /></a>
<label for="_bcc"><roundcube:label name="bcc" /></label>
</td>
<td class="editfield"><roundcube:object name="composeHeaders" part="bcc" form="form" id="_bcc" cols="70" rows="2" tabindex="4" /></td>
</tr><tr id="compose-replyto">
<td class="title top">
<a href="#replyto" onclick="return rcmail_ui.hide_header_form('replyto');"><img src="/images/icons/minus.gif" alt="" width="13" height="11" title="<roundcube:label name='delete' />" /></a>
<label for="_replyto"><roundcube:label name="replyto" /></label>
</td>
<td class="editfield"><roundcube:object name="composeHeaders" part="replyto" form="form" id="_replyto" size="70" tabindex="5" /></td>
</tr><tr id="compose-followupto">
<td class="title top">
<a href="#followupto" onclick="return rcmail_ui.hide_header_form('followupto');"><img src="/images/icons/minus.gif" alt="" width="13" height="11" title="<roundcube:label name='delete' />" /></a>
<label for="_followupto"><roundcube:label name="followupto" /></label>
</td>
<td class="editfield"><roundcube:object name="composeHeaders" part="followupto" form="form" id="_followupto" size="70" tabindex="7" /></td>
</tr><tr>
<td></td>
<td class="formlinks">
<a href="#cc" onclick="return rcmail_ui.show_header_form('cc')" id="cc-link"><roundcube:label name="addcc" /></a>
<span class="separator">|</span>
<a href="#bcc" onclick="return rcmail_ui.show_header_form('bcc')" id="bcc-link"><roundcube:label name="addbcc" /></a>
<span class="separator">|</span>
<a href="#reply-to" onclick="return rcmail_ui.show_header_form('replyto')" id="replyto-link"><roundcube:label name="addreplyto" /></a>
<span class="separator">|</span>
<a href="#followup-to" onclick="return rcmail_ui.show_header_form('followupto')" id="followupto-link"><roundcube:label name="addfollowupto" /></a>
</td>
</tr><tr>
<td class="title"><label for="compose-subject"><roundcube:label name="subject" /></label></td>
<td class="editfield"><roundcube:object name="composeSubject" id="compose-subject" form="form" tabindex="8" /></td>
</tr>
</table>
</div>
<div id="compose-div">
<div id="compose-body-div">
<div id="compose-body-parent" class="boxlistcontent" style="overflow: hidden; top: 0">
<roundcube:object name="composeBody" id="compose-body" form="form" cols="70" rows="20" tabindex="9" />
</div>
<div class="boxfooter">
<div id="compose-buttons">
<roundcube:button type="input" command="send" class="button mainaction" label="sendmessage" tabindex="10" />
<roundcube:button type="input" command="list" class="button" label="cancel" tabindex="11" />
</div>
<div id="compose-editorfooter" class="pagenav">
<roundcube:if condition="!in_array('htmleditor', (array)config:dont_override)" />
<span>
<label><roundcube:label name="editortype" /></label>
<roundcube:object name="editorSelector" editorid="compose-body" tabindex="12" />
</span>
<roundcube:endif />
</div>
</div>
</div>
<script type="text/javascript">
var composesplitv2 = new rcube_splitter({id:'composesplitterv2', p1: 'compose-body-div', p2: 'compose-attachments', orientation: 'v', relative: true, start: $('#compose-headers-div').width() - 175});
rcmail.add_onload('composesplitv2.init()');
</script>
<div id="compose-attachments">
<div class="boxtitle"><roundcube:label name="attachments" /></div>
<div class="boxlistcontent">
<roundcube:object name="composeAttachmentList" id="attachmentslist" loadingIcon="/images/display/loading_blue.gif" icon_pos="left" />
</div>
<div class="boxfooter">
<roundcube:button name="uploadmenulink" id="uploadmenulink" type="link" title="addattachment" class="button addgroup" onclick="rcmail_ui.show_popup('uploadmenu', true);return false" content=" " />
</div>
</div>
<roundcube:object name="fileDropArea" id="compose-attachments" />
</div>
</div>
</div>
<div id="composeoptionsmenu" class="popupmenu">
<table>
<roundcube:if condition="!in_array('mdn_default', (array)config:dont_override)" />
<tr>
<td><label for="rcmcomposereceipt"><roundcube:label name="returnreceipt" />:</label></td>
<td><roundcube:object name="mdnCheckBox" form="form" id="rcmcomposereceipt" /></td>
</tr>
<roundcube:endif />
<roundcube:if condition="!in_array('dsn_default', (array)config:dont_override)" />
<tr>
<td><label for="rcmcomposedsn"><roundcube:label name="dsn" />:</label></td>
<td><roundcube:object name="dsnCheckBox" form="form" id="rcmcomposedsn" /></td>
</tr>
<roundcube:endif />
<tr>
<td><label for="rcmcomposepriority"><roundcube:label name="priority" />:</label></td>
<td><roundcube:object name="prioritySelector" form="form" id="rcmcomposepriority" /></td>
</tr>
<roundcube:if condition="!config:no_save_sent_messages" />
<tr>
<td><label><roundcube:label name="savesentmessagein" />:</label></td>
<td><roundcube:object name="storetarget" maxlength="30" /></td>
</tr>
<roundcube:endif />
</table>
</div>
<div id="responsesmenu" class="popupmenu">
<ul id="textresponsesmenu">
<li><label class="comment"><roundcube:label name="insertresponse" /></label></li>
<roundcube:object name="responseslist" id="responseslist" tagname="ul" itemclass="active" />
<li><label class="comment"><roundcube:label name="manageresponses" /></label></li>
<roundcube:button command="save-response" type="link-menuitem" label="newresponse" classAct="active" unselectable="on" />
<roundcube:button name="responses" type="link-menuitem" label="editresponses" class="active" onclick="return rcmail.command('switch-task', 'settings/responses')" />
</ul>
</div>
<div id="spellmenu" class="popupmenu selectable"></div>
</form>
<roundcube:object name="composeAttachmentForm" id="attachment-form" attachmentFieldSize="40" class="popupmenu" />
<div id="attachmentmenu" class="popupmenu">
<ul class="toolbarmenu">
<li><roundcube:button command="open-attachment" id="attachmenuopen" type="link" label="open" class="openlink" classAct="openlink active" innerclass="openlink" /></li>
<li><roundcube:button command="download-attachment" id="attachmenudownload" type="link" label="download" class="downloadlink" classAct="downloadlink active" innerclass="downloadlink" /></li>
<li><roundcube:button command="rename-attachment" id="attachmenurename" type="link" label="rename" class="renamelink" classAct="renamelink active" innerclass="renamelink" /></li>
<roundcube:container name="attachmentmenu" id="attachmentmenu" />
</ul>
</div>
<div id="encryptionmenu" class="popupmenu">
<ul>
<roundcube:button command="compose-encrypted" type="link-menuitem" label="encryptmessage" classAct="active" />
<roundcube:button command="compose-encrypted-signed" type="link-menuitem" label="encryptandsign" classAct="active" />
</ul>
</div>
<script type="text/javascript">
rcube_init_mail_ui();
</script>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">
<div id="contact-title" class="boxtitle"><roundcube:label name="contactproperties" /></div>
<div id="contact-details" class="boxcontent">
<roundcube:if condition="strlen(env:sourcename)" />
<div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:var name="env:sourcename" /></div>
<roundcube:endif />
<div id="contactphoto"><roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" placeholderGroup="/images/contactgroup.png" /></div>
<roundcube:object name="contacthead" id="contacthead" />
<div style="clear:both"></div>
<div id="contacttabs">
<roundcube:object name="contactdetails" />
</div>
<p>
<roundcube:button command="edit" type="input" class="button" label="editcontact" condition="!ENV:readonly" />
</p>
</div>
<script type="text/javascript">rcube_init_tabs('contacttabs')</script>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">
<div id="contact-title" class="boxtitle"><roundcube:label name="addcontact" /></div>
<div id="contact-details" class="boxcontent">
<roundcube:form name="editform" method="post">
<roundcube:if condition="strlen(env:sourcename)" />
<div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:object name="sourceselector" class="hint" id="sourceselect" /></div>
<roundcube:endif />
<div id="contactphoto">
<roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" />
<div class="formlinks">
<roundcube:button command="upload-photo" id="uploadformlink" type="link" label="addphoto" class="disabled" classAct="active" onclick="rcmail_ui.show_popup('uploadform', true);return false" condition="env:photocol" /><br/>
<roundcube:button command="delete-photo" type="link" label="delete" class="disabled" classAct="active" condition="env:photocol" />
</div>
</div>
<roundcube:object name="contactedithead" id="contacthead" size="16" form="editform" />
<div style="clear:both"></div>
<div id="contacttabs">
<roundcube:object name="contacteditform" size="40" textareacols="60" deleteIcon="/images/icons/delete.png" form="editform" />
</div>
<p>
<input type="button" value="<roundcube:label name="cancel" />" class="button" onclick="history.back()" />&nbsp;
<roundcube:button command="save" type="input" class="button mainaction" label="save" />
</p>
</form>
</div>
<roundcube:object name="photoUploadForm" id="upload-form" size="30" class="popupmenu" />
<roundcube:object name="fileDropArea" id="contactpic" />
<script type="text/javascript">
rcube_init_tabs('contacttabs');
rcube_init_mail_ui();
</script>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">
<div id="contact-title" class="boxtitle"><roundcube:label name="editcontact" /></div>
<div id="contact-details" class="boxcontent">
<roundcube:form name="editform" method="post">
<roundcube:if condition="strlen(env:sourcename)" />
<div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:var name="env:sourcename" /></div>
<roundcube:endif />
<div id="contactphoto">
<roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" />
<div class="formlinks">
<roundcube:button command="upload-photo" id="uploadformlink" type="link" label="replacephoto" class="disabled" classAct="active" onclick="rcmail_ui.show_popup('uploadform', true);return false" condition="env:photocol" /><br/>
<roundcube:button command="delete-photo" type="link" label="delete" class="disabled" classAct="active" condition="env:photocol" />
</div>
</div>
<roundcube:object name="contactedithead" id="contacthead" size="16" form="editform" />
<div style="clear:both"></div>
<div id="contacttabs">
<roundcube:object name="contacteditform" size="40" textareacols="60" deleteIcon="/images/icons/delete.png" form="editform" />
</div>
<p>
<roundcube:button command="show" type="input" class="button" label="cancel" />&nbsp;
<roundcube:button command="save" type="input" class="button mainaction" label="save" />
</p>
</form>
</div>
<roundcube:object name="photoUploadForm" id="upload-form" size="30" class="popupmenu" />
<roundcube:object name="fileDropArea" id="contactpic" />
<script type="text/javascript">
rcube_init_tabs('contacttabs');
rcube_init_mail_ui();
</script>
</body>
</html>

View File

@ -0,0 +1,20 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:object name="meta" />
<roundcube:object name="links" />
<link rel="stylesheet" type="text/css" href="/print.css" />
</head>
<body>
<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" type="print" />
<div id="contact-details">
<div id="contactphoto"><roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" placeholderGroup="/images/contactgroup.png" /></div>
<roundcube:object name="contacthead" id="contacthead" />
<div style="clear:both"></div>
<roundcube:object name="contactdetails" />
</div>
</body>
</html>

View File

@ -0,0 +1,15 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">
<div class="boxcontent">
<roundcube:object name="searchform" id="advsearchform" size=30 />
</div>
<script type="text/javascript">rcube_init_tabs('advsearchform')</script>
</body>
</html>

View File

@ -0,0 +1,15 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body>
<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" />
<div style="width:400px; margin:60px auto;">
$__page_content
</div>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
</head>
<body class="iframe">
<div id="folder-title" class="boxtitle"><roundcube:label name="folderproperties" /></div>
<div id="folder-details" class="boxcontent">
<roundcube:object name="folderdetails" />
<div id="formfooter">
<div class="footerleft">
<roundcube:if condition="!strlen(request:_mbox)" />
<input type="button" value="<roundcube:label name="cancel" />" class="button" onclick="history.back()" />&nbsp;
<roundcube:endif />
<roundcube:button command="save" type="input" class="button mainaction" label="save" />
</div>
</div>
</div>
<script type="text/javascript">rcube_init_tabs('folder-details > form')</script>
</body>
</html>

View File

@ -0,0 +1,74 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#folder-manager { width: <roundcube:exp expression="!empty(cookie:folderviewsplitter) ? cookie:folderviewsplitter-5 : 295" />px; }
#folder-box { left: <roundcube:exp expression="!empty(cookie:folderviewsplitter) ? cookie:folderviewsplitter+5 : 305" />px; }
</style>
</head>
<body>
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:include file="/includes/settingstabs.html" />
<div id="mainscreen">
<div id="folder-manager">
<div id="folderlist-title" class="boxtitle">
<roundcube:label name="folders" />
<a href="#folders" class="iconbutton search" title="<roundcube:label name='findfolders' />" tabindex="0"><roundcube:label name='findfolders' /></a>
</div>
<div class="listsearchbox">
<roundcube:object name="folderfilter" id="folderlist-filter" />
<div class="searchbox" role="search">
<input type="text" name="q" id="foldersearch" placeholder="<roundcube:label name='findfolders' />" />
<a class="iconbutton searchicon"></a>
<roundcube:button command="reset-foldersearch" type="link" id="folderlistsearch-reset" class="iconbutton reset" title="resetsearch" width="13" height="13" />
</div>
</div>
<div id="folderlist-content" class="boxlistcontent">
<roundcube:object name="foldersubscription" id="subscription-table"
summary="Folder subscription table" class="treelist folderlist" />
</div>
<div id="folderlist-footer" class="boxfooter">
<roundcube:button command="create-folder" type="link" title="createfolder" class="buttonPas addgroup" classAct="button addgroup" content=" " />
<roundcube:button name="mailboxmenulink" id="mailboxmenulink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_popup('mailboxmenu');return false" content=" " />
<roundcube:if condition="env:quota" />
<img id="quotaimg" src="/images/quota.png" alt="" width="102" height="16" />
<div id="quota">
<roundcube:object name="quotaDisplay" display="image" width="100" height="14" id="quotadisplay" />
</div>
<roundcube:endif />
</div>
</div>
<script type="text/javascript">
var folderviewsplit = new rcube_splitter({id:'folderviewsplitter', p1: 'folder-manager', p2: 'folder-box', orientation: 'v', relative: true, start: 300 });
rcmail.add_onload('folderviewsplit.init()');
</script>
<div id="folder-box">
<roundcube:object name="contentframe" id="folder-frame" width="100%" height="100%" frameborder="0" src="env:blankpage" />
</div>
</div>
<div id="mailboxoptionsmenu" class="popupmenu">
<ul>
<li><roundcube:button type="link" command="delete-folder" label="delete" classAct="active" /></li>
<li><roundcube:button type="link" command="purge" label="empty" classAct="active" /></li>
<roundcube:container name="mailboxoptions" id="mailboxoptionsmenu" />
</ul>
</div>
<script type="text/javascript">
rcube_init_mail_ui();
</script>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#identities-list { width: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter-5 : 295" />px; }
#identity-box { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px; }
</style>
</head>
<body>
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:include file="/includes/settingstabs.html" />
<div id="mainscreen">
<div id="identities-list">
<div id="identity-title" class="boxtitle"><roundcube:label name="identities" /></div>
<div class="boxlistcontent">
<roundcube:object name="identitiesList" id="identities-table" class="records-table" cellspacing="0" summary="Identities list" noheader="true" editIcon="" />
</div>
<div class="boxfooter">
<roundcube:button command="add" type="link" title="newidentity" class="buttonPas addgroup" classAct="button addgroup" content=" " condition="config:identities_level:0<2" /><roundcube:button command="delete" type="link" title="delete" class="buttonPas delgroup" classAct="button delgroup" content=" " condition="config:identities_level:0<2" />
</div>
</div>
<script type="text/javascript">
var identviewsplit = new rcube_splitter({id:'identviewsplitter', p1: 'identities-list', p2: 'identity-box', orientation: 'v', relative: true, start: 300 });
rcmail.add_onload('identviewsplit.init()');
</script>
<div id="identity-box">
<roundcube:object name="contentframe" id="identity-frame" width="100%" height="100%" frameborder="0" src="env:blankpage" />
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#identities-list { width: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter-5 : 295" />px; }
#identity-details { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px; }
</style>
</head>
<body class="iframe">
<div id="identity-title" class="boxtitle"><roundcube:object name="steptitle" /></div>
<div id="identity-details" class="boxcontent">
<roundcube:object name="identityform" id="identity-form" size="40" textareacols="70" textarearows="6" />
<script type="text/javascript">
rcube_init_tabs('identity-form');
rcmail.addEventListener('identity-encryption-show', function() {
rcube_init_tabs('identity-form');
});
</script>
<div id="formfooter">
<div class="footerleft">
<roundcube:button command="save" type="input" class="button mainaction" label="save" />
</div>
</div>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More