init commit

This commit is contained in:
2025-02-23 20:52:25 +01:00
parent 5b272d6536
commit 9971cd719b
1719 changed files with 281982 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

View File

@ -0,0 +1,544 @@
#filtersetslistbox
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 150px;
}
#filtersscreen
{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 162px;
}
#filtersscreen.nosetlist
{
left: 0;
}
#filterslistbox
{
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 180px;
}
#filter-box
{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 192px;
}
#filter-frame
{
border-radius: 4px;
}
#filterslist,
#filtersetslist
{
width: 100%;
table-layout: fixed;
}
#filterslist tbody td,
#filtersetslist tbody td
{
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
#filterslist tbody tr.disabled td,
#filtersetslist tbody tr.disabled td
{
color: #87A3AA;
text-decoration: line-through;
}
#filtersetslist tbody td
{
font-weight: bold;
}
#filterslist tbody tr.filtermoveup td
{
border-top: 2px dotted #555 !important;
padding-top: 5px;
}
#filterslist tbody tr.filtermovedown td
{
border-bottom: 2px dotted #555 !important;
padding-bottom: 4px;
}
body.iframe
{
min-width: 620px;
}
#filter-form
{
min-width: 550px;
white-space: nowrap;
padding: 20px 10px 10px 10px;
}
#filter-form legend,
#filter-form label {
color: #666666;
vertical-align: middle;
}
#filter-form li {
border: none;
}
#filter-form .col-sm-4,
#filter-form .col-form-label {
display: inline-block;
min-width: 100px;
line-height: 2.5;
}
#filter-form input[type=checkbox] {
margin: 0;
}
#filter-form .col-form-label + div {
display: inline;
}
#rules, #actions
{
margin-top: 5px;
padding: 0;
border-collapse: collapse;
}
div.rulerow, div.actionrow
{
width: auto;
padding: 2px;
white-space: nowrap;
border: 1px solid white;
background-color: #eee;
}
div.rulerow:hover, div.actionrow:hover
{
background-color: #D9ECF4;
border: 1px solid #BBD3DA;
}
div.rulerow table, div.actionrow table
{
padding: 0px;
min-width: 600px;
}
#filter-form td
{
vertical-align: top;
}
#filter-form div.flexbox {
margin: 0;
}
td.advbutton
{
width: 1%;
overflow: hidden;
}
td.advbutton a
{
display: block;
padding-top: 16px;
height: 6px;
width: 12px;
text-decoration: none;
}
td.advbutton a span
{
display: none;
}
td.advbutton a.show
{
background: url(images/down_small.gif) center no-repeat;
}
td.advbutton a.hide
{
background: url(images/up_small.gif) center no-repeat;
}
td.rowbuttons
{
text-align: right;
white-space: nowrap;
width: 1%;
padding-top: 3px;
}
td.rowactions
{
white-space: nowrap;
width: 1%;
padding-top: 2px;
}
td.rowtargets
{
white-space: nowrap;
width: 98%;
padding-left: 3px;
padding-top: 2px;
}
td.rowtargets > div
{
vertical-align: top;
margin-top: 2px;
}
td.rowtargets div.adv
{
padding-top: 3px;
font-size: 10px;
}
td.rowtargets div.adv span.label
{
display: inline-block;
padding-right: 5px;
min-width: 70px;
}
td.rowtargets div a {
margin-left: 10px;
}
td.rowtargets div.adv input
{
margin-bottom: 1px;
}
input.disabled, input.disabled:hover
{
color: #999999;
}
input.error, textarea.error
{
background-color: #FFFFC4;
}
input.box,
input.radio
{
border: 0;
margin-top: 0;
}
input.radio
{
vertical-align: middle;
}
select.operator_selector
{
width: 200px;
vertical-align: top;
}
td.rowtargets span,
span.label
{
color: #666666;
font-size: 10px;
white-space: nowrap;
}
td.rowtargets label
{
color: black;
}
#footer
{
padding-top: 5px;
width: 100%;
}
#footer .footerleft label
{
margin-left: 40px;
white-space: nowrap;
}
.itemlist
{
line-height: 25px;
}
.itemlist input
{
vertical-align: middle;
}
span.sieve.error
{
color: red;
white-space: nowrap;
}
#managesieve-tip
{
padding: 3px;
background-color: #eee;
}
#filter-form a.button
{
margin: 0;
padding: 0;
border: 0;
border-radius: 0;
}
#filter-form a.button span
{
display: none;
}
#filter-form a.button.add
{
background: url(images/add.png) no-repeat;
width: 30px;
height: 20px;
margin-right: 4px;
display: inline-block;
}
#filter-form a.button.del
{
background: url(images/del.png) no-repeat;
width: 30px;
height: 20px;
display: inline-block;
}
#filter-form a.button.disabled
{
opacity: 0.35;
filter: alpha(opacity=35);
cursor: default;
}
#filter-form select,
#filter-form input,
#filter-form textarea
{
vertical-align: middle;
max-width: 280px;
}
/* revert larry style button */
#filter-form input.button
{
padding: 4px 12px;
}
fieldset
{
border: 0;
padding: 0;
margin-bottom: 20px;
}
fieldset > legend
{
display: block;
font-size: 14px;
font-weight: bold;
padding-bottom: 10px;
margin-bottom: 0;
}
/* smart multi-row input field */
.listarea
{
border: 1px solid #B2B2B2;
border-radius: 4px;
box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
-webkit-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
margin: 0;
padding: 2px;
display: inline-block;
max-height: 59px;
overflow-y: auto;
vertical-align: middle;
}
td.rowtargets > span.listarea
{
vertical-align: top;
margin-top: 2px;
}
.listelement
{
display: block;
white-space: nowrap;
background-color: #fff;
border-top: 1px solid #e2e2e2;
height: 14px;
padding: 0;
margin: 0;
overflow: hidden;
line-height: 14px;
}
.listarea.error .listelement
{
background-color: #FFFFC4;
}
.listelement:first-child
{
border-top: none;
}
#vacationform .listelement input,
#filter-form .listelement input
{
border: none;
border-radius: 0;
box-shadow: none;
outline: none;
vertical-align: top;
height: 14px;
padding-top: 0;
padding-bottom: 0;
line-height: 14px;
background-color: transparent;
}
.listelement input:focus
{
box-shadow: none;
}
.listelement .reset
{
display: inline-block;
width: 16px;
height: 16px;
background: url(images/erase.png) -1px -1px no-repeat #eee;
cursor: pointer;
}
/* fixes for popup window */
body.iframe.mail
{
margin: 0;
padding: 0;
}
body.iframe.mail #filter-form
{
padding: 10px 5px 5px 5px;
}
/* vacation form */
#settings-sections .vacation a {
background-image: url(images/vacation_icons.png);
background-repeat: no-repeat;
background-position: 7px 1px;
}
#settings-sections .vacation.selected a {
background-position: 7px -23px;
}
#managesieve-vacation, #managesieve-forward {
position: absolute;
top: 0;
left: 212px;
right: 0;
bottom: 0;
overflow: auto;
}
#vacationform .listarea {
max-height: 91px;
}
#vacationform td.vacation {
white-space: nowrap;
}
#vacationform input.button {
margin-left: 10px;
}
/* RAW editor and CodeMirror overrides */
.raweditor textarea {
border: none;
border-radius: 0;
max-width: none !important;
box-shadow: none;
font-family: monospace;
width: 99%;
min-height: 300px;
}
.raweditor textarea,
.raweditor .CodeMirror {
position: absolute;
top: 34px;
bottom: 45px;
right: 0;
left: 0;
height: auto;
background-color: #fdfdfd;
border-bottom: 1px solid #eee;
}
.raweditor .CodeMirror-linebackground.line-error {
background-color: #f00;
opacity: 0.4;
}
.raweditor .errorGutter {
width: 0.8em;
}
.raweditor #footer {
position: absolute;
bottom: 5px;
}
body.iframe.raweditor {
min-width: 100px;
overflow: hidden;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,62 @@
ul.toolbarmenu li span.filterlink {
background-position: 0 -2174px;
}
#sievefilterform {
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 0;
overflow: hidden;
}
#sievefilterform iframe {
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100%;
min-height: 100%; /* Chrome 14 bug */
border: 0;
padding: 0;
margin: 0;
}
#sievefilterform ul {
list-style: none;
padding: 0;
margin: 0;
margin-top: 5px;
}
#sievefilterform fieldset {
margin: 5px;
border-radius: 4px;
}
#sievefilterform ul li {
margin-bottom: 5px;
white-space: nowrap;
}
#sievefilterform ul li input {
margin-right: 5px;
}
#sievefilterform label {
font-weight: bold;
}
#managesieve-tip
{
z-index: 100000;
padding: 3px;
background-color: #eee;
}
span.sieve.error
{
color: red;
white-space: nowrap;
}

View File

@ -0,0 +1 @@
ul.toolbarmenu li span.filterlink{background-position:0 -2174px}#sievefilterform{top:0;bottom:0;left:0;right:0;padding:0;overflow:hidden}#sievefilterform iframe{top:0;bottom:0;left:0;right:0;width:100%;min-height:100%;border:0;padding:0;margin:0}#sievefilterform ul{list-style:none;padding:0;margin:0;margin-top:5px}#sievefilterform fieldset{margin:5px;border-radius:4px}#sievefilterform ul li{margin-bottom:5px;white-space:nowrap}#sievefilterform ul li input{margin-right:5px}#sievefilterform label{font-weight:700}#managesieve-tip{z-index:100000;padding:3px;background-color:#eee}span.sieve.error{color:red;white-space:nowrap}

View File

@ -0,0 +1,29 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe<roundcube:exp expression="env:task != 'mail' ? ' floatingbuttons' : ' mail'" />">
<roundcube:if condition="env:task != 'mail'" />
<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.filterdef" /></div>
<roundcube:endif />
<div id="filter-form" class="boxcontent">
<roundcube:object name="filterform" />
<roundcube:if condition="env:task != 'mail'" />
<div id="footer">
<div class="footerleft formbuttons">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
</div>
<roundcube:endif />
</form>
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,31 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="noscroll">
<roundcube:include file="/includes/header.html" />
<div id="mainscreen" class="offset">
<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="managesieve.forward" /></h1>
<roundcube:include file="/includes/settingstabs.html" />
<div id="managesieve-forward" class="uibox contentbox" role="main" aria-labelledby="aria-label-forwardform">
<div>
<h2 class="boxtitle" id="aria-label-forwardform"><roundcube:label name="managesieve.forward" /></h2>
<roundcube:object name="forwardform" id="forwardform" class="propform boxcontent tabbed" />
</div>
<div class="footerleft formbuttons">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
</div>
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,86 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<roundcube:if condition="env:extwin" /><body class="noscroll extwin"><roundcube:else /><body class="noscroll"><roundcube:endif />
<roundcube:include file="/includes/header.html" />
<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="managesieve.filters" /></h1>
<div id="mainscreen" class="offset">
<roundcube:include file="/includes/settingstabs.html" />
<div id="settings-right" role="main">
<roundcube:if condition="!env:managesieve_no_set_list" />
<div id="filtersetslistbox" class="uibox listbox" aria-labelledby="aria-label-filtersets">
<h2 class="boxtitle" id="aria-label-filtersets"><roundcube:label name="managesieve.filtersets" /></h2>
<div class="scroller withfooter">
<roundcube:object name="filtersetslist" id="filtersetslist" class="listing" summary="managesieve.ariasummaryfiltersetslist" type="list" noheader="true" role="listbox" />
</div>
<div class="boxfooter">
<roundcube:button command="plugin.managesieve-setadd" type="link" title="managesieve.filtersetadd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="return UI.toggle_popup('filtersetmenu', event)" innerClass="inner" content="&#9881;" aria-haspopup="true" aria-expanded="false" aria-owns="filtersetmenu-menu" />
</div>
</div>
<div id="filtersscreen">
<roundcube:else />
<div id="filtersscreen" class="nosetlist">
<roundcube:endif />
<div id="filterslistbox" class="uibox listbox" aria-labelledby="aria-label-filters">
<h2 class="boxtitle" id="aria-label-filters"><roundcube:label name="managesieve.filters" /></h2>
<div class="scroller withfooter">
<roundcube:object name="filterslist" id="filterslist" class="listing" summary="managesieve.ariasummaryfilterslist" noheader="true" role="listbox" />
</div>
<div class="boxfooter">
<roundcube:button command="plugin.managesieve-add" type="link" title="managesieve.filteradd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtermenulink" id="filtermenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="return UI.toggle_popup('filtermenu', event)" innerClass="inner" content="&#9881;" aria-haspopup="true" aria-expanded="false" aria-owns="filtermenu-menu" />
</div>
</div>
<div id="filter-box" class="uibox contentbox">
<div class="iframebox" role="complementary" aria-labelledby="aria-label-filterform">
<h2 id="aria-label-filterframe" class="voice"><roundcube:label name="managesieve.arialabelfilterform" /></h2>
<roundcube:object name="contentframe" id="filter-frame" style="width:100%; height:100%" frameborder="0" src="env:blankpage" title="managesieve.arialabelfilterform" />
</div>
</div>
</div>
</div>
</div>
<div id="filtersetmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-setactions" class="voice"><roundcube:label name="managesieve.arialabelfiltersetactions" /></h3>
<ul class="toolbarmenu" id="filtersetmenu-menu" role="menu" aria-labelledby="aria-label-setactions">
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-setact" label="managesieve.enable" classAct="active" /></li>
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-setdel" label="delete" classAct="active" /></li>
<roundcube:if condition="env:raw_sieve_editor != false" />
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-seteditraw" label="managesieve.filterseteditraw" classAct="active" /></li>
<roundcube:endif />
<li role="menuitem" class="separator_above"><roundcube:button type="link" command="plugin.managesieve-setget" label="download" classAct="active" /></li>
<roundcube:container name="filtersetoptions" id="filtersetmenu" />
</ul>
</div>
<div id="filtermenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-filteractions" class="voice"><roundcube:label name="managesieve.arialabelfilteractions" /></h3>
<ul class="toolbarmenu" id="filtermenu-menu" role="menu" aria-labelledby="aria-label-filteractions">
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-act" label="managesieve.enable" classAct="active" /></li>
<li role="menuitem"><roundcube:button type="link" command="plugin.managesieve-del" label="delete" classAct="active" /></li>
<roundcube:container name="filteroptions" id="filtermenu" />
</ul>
</div>
<roundcube:include file="/includes/footer.html" />
<script>
<roundcube:if condition="!env:managesieve_no_set_list" />
new rcube_splitter({ id:'managesievesplitter1', p1:'#filtersetslistbox', p2:'#filtersscreen',
orientation:'v', relative:true, start:156, min:120, size:12 }).init();
<roundcube:endif />
new rcube_splitter({ id:'managesievesplitter2', p1:'#filterslistbox', p2:'#filter-box',
orientation:'v', relative:true, start:186, min:120, size:12 }).init();
</script>
</body>
</html>

View File

@ -0,0 +1,23 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe floatingbuttons">
<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.newfilterset" /></div>
<div id="filter-form" class="boxcontent">
<roundcube:object name="filtersetform" />
<div id="footer">
<div class="footerleft formbuttons floating">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
</div>
</form>
</div>
</body>
</html>

View File

@ -0,0 +1,23 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe raweditor">
<div id="filtersetraw-title" class="boxtitle"><roundcube:label name="managesieve.filterseteditraw" /></div>
<div id="filter-form" class="boxcontent">
<roundcube:object name="filterseteditraw" />
<div id="footer">
<div class="footerleft formbuttons">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
</div>
</form>
</div>
</body>
</html>

View File

@ -0,0 +1,31 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="noscroll">
<roundcube:include file="/includes/header.html" />
<div id="mainscreen" class="offset">
<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="managesieve.vacation" /></h1>
<roundcube:include file="/includes/settingstabs.html" />
<div id="managesieve-vacation" class="uibox contentbox" role="main" aria-labelledby="aria-label-vacationform">
<div>
<h2 class="boxtitle" id="aria-label-vacationform"><roundcube:label name="managesieve.vacation" /></h2>
<roundcube:object name="vacationform" id="vacationform" class="propform boxcontent tabbed" />
</div>
<div class="footerleft formbuttons">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
</div>
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>