summaryrefslogtreecommitdiff
path: root/plugins/managesieve/skins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/managesieve/skins')
-rw-r--r--plugins/managesieve/skins/default/managesieve.css296
-rw-r--r--plugins/managesieve/skins/default/managesieve_toolbar.pngbin0 -> 12093 bytes
-rw-r--r--plugins/managesieve/skins/default/templates/filteredit.html117
-rw-r--r--plugins/managesieve/skins/default/templates/managesieve.html54
-rw-r--r--plugins/managesieve/skins/default/templates/setedit.html24
5 files changed, 491 insertions, 0 deletions
diff --git a/plugins/managesieve/skins/default/managesieve.css b/plugins/managesieve/skins/default/managesieve.css
new file mode 100644
index 000000000..675c5d0dc
--- /dev/null
+++ b/plugins/managesieve/skins/default/managesieve.css
@@ -0,0 +1,296 @@
+/***** Roundcube|Filters styles *****/
+
+
+#filterslist
+{
+ position: absolute;
+ left: 20px;
+ top: 120px;
+ bottom: 20px;
+ border: 1px solid #999999;
+ overflow: auto;
+ /* css hack for IE */
+ height: expression((parseInt(document.documentElement.clientHeight)-140)+'px');
+}
+
+#filters-table
+{
+ width: 100%;
+ table-layout: fixed;
+ /* css hack for IE */
+ width: expression(document.getElementById('filterslist').clientWidth);
+}
+
+#filters-table tbody td
+{
+ cursor: pointer;
+}
+
+#filters-table tbody tr.disabled td
+{
+ color: #999999;
+}
+
+#filtersbuttons
+{
+ position: absolute;
+ left: 20px;
+ top: 85px;
+}
+
+#filtersetsbuttons
+{
+ position: absolute;
+ left: 230px;
+ top: 85px;
+}
+
+#filtersbuttons a,
+#filtersetsbuttons a
+{
+ display: block;
+ float: left;
+}
+
+#filtersbuttons a.button,
+#filtersbuttons a.buttonPas,
+#filtersetsbuttons a.button,
+#filtersetsbuttons a.buttonPas
+{
+ display: block;
+ float: left;
+ width: 32px;
+ height: 32px;
+ padding: 0;
+ margin-right: 3px;
+ overflow: hidden;
+ background: url(managesieve_toolbar.png) 0 0 no-repeat transparent;
+ opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
+}
+
+#filtersbuttons a.buttonPas,
+#filtersetsbuttons a.buttonPas
+{
+ filter: alpha(opacity=35);
+ opacity: 0.35;
+}
+
+#filtersbuttons a.add {
+ background-position: 0px 0px;
+}
+
+#filtersbuttons a.addsel {
+ background-position: 0 -32px;
+}
+
+#filtersbuttons a.del {
+ background-position: -32px 0px;
+}
+
+#filtersbuttons a.delsel {
+ background-position: -32px -32px;
+}
+
+#filtersbuttons a.up {
+ background-position: -64px 0px;
+}
+
+#filtersbuttons a.upsel {
+ background-position: -64px -32px;
+}
+
+#filtersbuttons a.down {
+ background-position: -96px 0px;
+}
+
+#filtersbuttons a.downsel {
+ background-position: -96px -32px;
+}
+
+#filtersetsbuttons a.setadd {
+ background-position: -128px 0px;
+}
+
+#filtersetsbuttons a.setaddsel {
+ background-position: -128px -32px;
+}
+
+#filtersetsbuttons a.setdel {
+ background-position: -160px 0px;
+}
+
+#filtersetsbuttons a.setdelsel {
+ background-position: -160px -32px;
+}
+
+#filtersetsbuttons a.setset {
+ background-position: -192px 0px;
+}
+
+#filtersetsbuttons a.setsetsel {
+ background-position: -192px -32px;
+}
+
+#filtersetsbuttons a.setget {
+ background-position: -224px 0px;
+}
+
+#filtersetsbuttons a.setgetsel {
+ background-position: -224px -32px;
+}
+
+#filtersetselect
+{
+ position: absolute;
+ left: 375px;
+ top: 90px;
+}
+
+#filter-box
+{
+ position: absolute;
+ top: 120px;
+ right: 20px;
+ bottom: 20px;
+ border: 1px solid #999999;
+ overflow: hidden;
+ /* css hack for IE */
+ width: expression((parseInt(document.documentElement.clientWidth)-40-parseInt(document.getElementById('filterslist').offsetWidth))+'px');
+ height: expression((parseInt(document.documentElement.clientHeight)-140)+'px');
+}
+
+#filter-frame
+{
+ border: none;
+}
+
+body.iframe
+{
+ min-width: 740px;
+ width: expression(Math.max(740, document.documentElement.clientWidth)+'px');
+}
+
+#filter-form
+{
+ min-width: 650px;
+ white-space: nowrap;
+ padding: 20px 10px 10px 10px;
+}
+
+legend, label
+{
+ color: #666666;
+}
+
+#rules, #actions
+{
+ margin-top: 5px;
+ padding: 0;
+ border-collapse: collapse;
+}
+
+div.rulerow, div.actionrow
+{
+ width: auto;
+ padding: 2px;
+ white-space: nowrap;
+ border: 1px solid #F2F2F2;
+}
+
+div.rulerow:hover, div.actionrow:hover
+{
+ padding: 2px;
+ white-space: nowrap;
+ background: #F9F9F9;
+ border: 1px solid silver;
+}
+
+div.rulerow table, div.actionrow table
+{
+ padding: 0px;
+ width: 100%;
+}
+
+td.rowbuttons
+{
+ text-align: right;
+ white-space: nowrap;
+ width: 1%;
+}
+
+td.rowactions
+{
+ white-space: nowrap;
+ width: 1%;
+}
+
+td.rowtargets
+{
+ white-space: nowrap;
+ width: 98%;
+ padding-left: 10px;
+}
+
+input.disabled, input.disabled:hover
+{
+ color: #999999;
+}
+
+input.error, textarea.error
+{
+ background-color: #FFFF88;
+}
+
+input.box,
+input.radio
+{
+ border: 0;
+}
+
+span.label
+{
+ color: #666666;
+ font-size: 10px;
+ white-space: nowrap;
+}
+
+#footer
+{
+ padding-top: 5px;
+ width: 100%;
+}
+
+#footer .footerleft
+{
+ padding-left: 2px;
+ white-space: nowrap;
+ float: left;
+}
+
+#footer .footerright
+{
+ padding-right: 2px;
+ white-space: nowrap;
+ text-align: right;
+ float: right;
+}
+
+.itemlist
+{
+ line-height: 25px;
+}
+
+.itemlist input
+{
+ vertical-align: middle;
+}
+
+span.sieve.error
+{
+ color: red;
+}
+
+#managesieve-tip
+{
+ width: 200px;
+}
diff --git a/plugins/managesieve/skins/default/managesieve_toolbar.png b/plugins/managesieve/skins/default/managesieve_toolbar.png
new file mode 100644
index 000000000..473dbc8df
--- /dev/null
+++ b/plugins/managesieve/skins/default/managesieve_toolbar.png
Binary files differ
diff --git a/plugins/managesieve/skins/default/templates/filteredit.html b/plugins/managesieve/skins/default/templates/filteredit.html
new file mode 100644
index 000000000..556d99621
--- /dev/null
+++ b/plugins/managesieve/skins/default/templates/filteredit.html
@@ -0,0 +1,117 @@
+<!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>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
+</head>
+<body class="iframe">
+
+<script type="text/javascript">
+
+function header_select(id)
+{
+ var obj = document.getElementById('header'+id);
+
+ if (obj.value == 'size')
+ {
+ document.getElementById('rule_size' + id).style.display = 'inline';
+ document.getElementById('rule_op' + id).style.display = 'none';
+ document.getElementById('rule_target' + id).style.display = 'none';
+ document.getElementById('custom_header' + id).style.display = 'none';
+ }
+ else
+ {
+ if (obj.value != '...')
+ document.getElementById('custom_header' + id).style.display = 'none';
+ else
+ document.getElementById('custom_header' + id).style.display = 'inline';
+
+ document.getElementById('rule_size' + id).style.display = 'none';
+ document.getElementById('rule_op' + id).style.display = 'inline';
+ rule_op_select(id);
+ }
+}
+
+function rule_op_select(id)
+{
+ var obj = document.getElementById('rule_op'+id);
+
+ if (obj.value == 'exists' || obj.value == 'notexists')
+ {
+ document.getElementById('rule_target' + id).style.display = 'none';
+ }
+ else
+ {
+ document.getElementById('rule_target' + id).style.display = 'inline';
+ }
+}
+
+function action_type_select(id)
+{
+ var obj = document.getElementById('action_type'+id);
+
+ if (obj.value == 'fileinto' || obj.value == 'fileinto_copy')
+ {
+ document.getElementById('action_mailbox' + id).style.display = 'inline';
+ document.getElementById('action_target' + id).style.display = 'none';
+ document.getElementById('action_target_area' + id).style.display = 'none';
+ document.getElementById('action_vacation' + id).style.display = 'none';
+ }
+ else if (obj.value == 'redirect' || obj.value == 'redirect_copy')
+ {
+ document.getElementById('action_target' + id).style.display = 'inline';
+ document.getElementById('action_mailbox' + id).style.display = 'none';
+ document.getElementById('action_target_area' + id).style.display = 'none';
+ document.getElementById('action_vacation' + id).style.display = 'none';
+ }
+ else if (obj.value.match(/^reject|ereject$/))
+ {
+ document.getElementById('action_target_area' + id).style.display = 'inline';
+ document.getElementById('action_vacation' + id).style.display = 'none';
+ document.getElementById('action_target' + id).style.display = 'none';
+ document.getElementById('action_mailbox' + id).style.display = 'none';
+ }
+ else if (obj.value == 'vacation')
+ {
+ document.getElementById('action_vacation' + id).style.display = 'inline';
+ document.getElementById('action_target_area' + id).style.display = 'none';
+ document.getElementById('action_target' + id).style.display = 'none';
+ document.getElementById('action_mailbox' + id).style.display = 'none';
+ }
+ else // discard, keep, stop
+ {
+ document.getElementById('action_target_area' + id).style.display = 'none';
+ document.getElementById('action_vacation' + id).style.display = 'none';
+ document.getElementById('action_target' + id).style.display = 'none';
+ document.getElementById('action_mailbox' + id).style.display = 'none';
+ }
+}
+
+function rule_join_radio(value)
+{
+ document.getElementById('rules').style.display = (value=='any' ? 'none' : 'block');
+}
+</script>
+
+<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.filterdef" /></div>
+
+<div id="filter-form" class="boxcontent">
+<roundcube:object name="filterform" />
+
+<div id="footer">
+<div class="footerleft">
+<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
+</div>
+<div class="footerright">
+<label for="disabled"><roundcube:label name="managesieve.filterdisabled" /></label>
+<input type="checkbox" id="disabled" name="_disabled" value="1" />
+</div>
+</div>
+
+</form>
+</div>
+
+
+</body>
+</html>
diff --git a/plugins/managesieve/skins/default/templates/managesieve.html b/plugins/managesieve/skins/default/templates/managesieve.html
new file mode 100644
index 000000000..94cd1f1cc
--- /dev/null
+++ b/plugins/managesieve/skins/default/templates/managesieve.html
@@ -0,0 +1,54 @@
+<!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>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
+<script type="text/javascript" src="/functions.js"></script>
+<script type="text/javascript" src="/splitter.js"></script>
+
+<style type="text/css">
+#filterslist { width: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter-5 : 210" />px; }
+#filter-box { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter+5 : 220" />px;
+<roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter+5 : 220).')+\\'px\\');') : ''" />
+}
+</style>
+
+</head>
+<body>
+
+<roundcube:include file="/includes/taskbar.html" />
+<roundcube:include file="/includes/header.html" />
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="filtersbuttons">
+<roundcube:button command="plugin.managesieve-add" type="link" class="buttonPas add" classSel="button addsel" classAct="button add" title="managesieve.filteradd" content=" " />
+<roundcube:button command="plugin.managesieve-del" type="link" class="buttonPas del" classSel="button delsel" classAct="button del" title="managesieve.filterdel" content=" " />
+<roundcube:button command="plugin.managesieve-up" type="link" class="buttonPas up" classSel="button upsel" classAct="button up" title="managesieve.moveup" content=" " />
+<roundcube:button command="plugin.managesieve-down" type="link" class="buttonPas down" classSel="button downsel" classAct="button down" title="managesieve.movedown" content=" " />
+</div>
+
+<div id="filtersetsbuttons">
+<roundcube:button command="plugin.managesieve-setadd" type="link" class="buttonPas setadd" classSel="button setaddsel" classAct="button setadd" title="managesieve.filtersetadd" content=" " />
+<roundcube:button command="plugin.managesieve-setdel" type="link" class="buttonPas setdel" classSel="button setdelsel" classAct="button setdel" title="managesieve.filtersetdel" content=" " />
+<roundcube:button command="plugin.managesieve-setact" type="link" class="buttonPas setset" classSel="button setsetsel" classAct="button setset" content=" " />
+<roundcube:button command="plugin.managesieve-setget" type="link" class="buttonPas setget" classSel="button setgetsel" classAct="button setget" title="managesieve.filtersetget" content=" " />
+</div>
+<div id="filtersetselect">
+<roundcube:label name="managesieve.filterset" />:
+<roundcube:object name="filtersetslist" id="filtersets-select" />
+</div>
+
+<div id="filterslist">
+<roundcube:object name="filterslist" id="filters-table" class="records-table" cellspacing="0" summary="Filters list" />
+</div>
+<script type="text/javascript">
+ var sieveviewsplit = new rcube_splitter({id:'sieveviewsplitter', p1: 'filterslist', p2: 'filter-box', orientation: 'v', relative: true, start: 215});
+ rcmail.add_onload('sieveviewsplit.init()');
+</script>
+<div id="filter-box">
+<roundcube:object name="filterframe" id="filter-frame" width="100%" height="100%" frameborder="0" src="/watermark.html" />
+</div>
+
+</body>
+</html>
diff --git a/plugins/managesieve/skins/default/templates/setedit.html b/plugins/managesieve/skins/default/templates/setedit.html
new file mode 100644
index 000000000..26f7fece6
--- /dev/null
+++ b/plugins/managesieve/skins/default/templates/setedit.html
@@ -0,0 +1,24 @@
+<!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>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
+</head>
+<body class="iframe">
+
+<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.newfilterset" /></div>
+
+<div id="filter-form" class="boxcontent">
+<roundcube:object name="filtersetform" />
+
+<p>
+<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
+</p>
+
+</form>
+</div>
+
+
+</body>
+</html>