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

View File

@ -0,0 +1,188 @@
/*** Style for Enigma plugin ***/
/***** Messages displaying *****/
#enigma-message,
#messagebody div #enigma-message
{
margin: 0;
margin-bottom: 5px;
padding: 6px 12px 6px 30px;
font-weight: bold;
}
div.enigmaerror,
#messagebody div.enigmaerror
{
background: url(enigma_icons.png) 3px -201px no-repeat #f2cccd;
border: 1px solid #c00005;
color: #c00005;
}
div.enigmanotice,
#messagebody div.enigmanotice
{
background: url(enigma_icons.png) 3px -171px no-repeat #c9e6d3;
border: 1px solid #008a2e;
color: #008a2e;
}
div.enigmawarning,
#messagebody div.enigmawarning
{
background: url(enigma_icons.png) 3px -231px no-repeat #fef893;
border: 1px solid #ffdf0e;
color: #960;
}
#enigma-message a
{
color: #666666;
padding-left: 10px;
}
#enigma-message a:hover
{
color: #333333;
}
p.enigmaattachment {
margin: 0.5em 1em;
width: auto;
background: #f9f9f9;
border: 1px solid #d3d3d3;
border-radius: 4px;
}
p.enigmaattachment span {
display: inline-block;
background: url(enigma_icons.png) 8px -78px no-repeat;
padding: 1em 0.5em 1em 46px;
}
/***** E-mail Compose Page *****/
#messagetoolbar a.button.enigma {
background-image: url(enigma_icons.png);
background-position: center -122px;
background-repeat: no-repeat;
}
#enigmamenu {
color: white;
padding: 2px 5px;
}
#enigmamenu div.row {
display: table-row;
}
#enigmamenu div.row > label {
display: table-cell;
padding: 3px;
}
#enigmamenu div.row > div {
display: table-cell;
padding: 3px;
}
/***** Keys/Certs Management *****/
#settings-sections .enigma.keys a {
background-image: url(enigma_icons.png);
background-position: 7px -345px;
background-repeat: no-repeat;
}
#settings-sections .enigma.keys.selected a {
background-image: url(enigma_icons.png);
background-position: 7px -368px;
background-repeat: no-repeat;
}
#sections-table #rcmrowenigma .section {
background-image: url(enigma_icons.png);
background-position: 5px -297px;
background-repeat: no-repeat;
}
#sections-table #rcmrowenigma.selected .section {
background-image: url(enigma_icons.png);
background-position: 5px -321px;
background-repeat: no-repeat;
}
#mainscreen.enigma #settings-sections,
#mainscreen.enigma #settings-right
{
top: 44px;
}
#enigmacontent-box
{
position: absolute;
top: 0px;
left: 272px;
right: 0px;
bottom: 0px;
}
#enigmakeyslist
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 260px;
}
#keylistcountbar
{
margin-top: 4px;
margin-left: 4px;
}
#keys-table
{
width: 100%;
table-layout: fixed;
}
#keys-table td
{
text-overflow: ellipsis;
}
#keyimportform fieldset div
{
background-color: #eee;
padding: 10px;
}
#keycreateform td > label {
display: block;
}
#keycreateform ul.proplist li {
border: 0;
padding: 2px 0;
}
#keystoolbar
{
position: absolute;
top: -6px;
left: 0;
height: 40px;
white-space: nowrap;
z-index: 10;
}
#keystoolbar a.import {
background: url(enigma_icons.png) center 0 no-repeat transparent;
}
#keystoolbar a.export {
background: url(enigma_icons.png) center -40px no-repeat transparent;
}

View File

@ -0,0 +1 @@
#enigma-message,#messagebody div #enigma-message{margin:0;margin-bottom:5px;padding:6px 12px 6px 30px;font-weight:700}div.enigmaerror,#messagebody div.enigmaerror{background:url(enigma_icons.png?v=b64c.2520) 3px -201px no-repeat #f2cccd;border:1px solid #c00005;color:#c00005}div.enigmanotice,#messagebody div.enigmanotice{background:url(enigma_icons.png?v=b64c.2520) 3px -171px no-repeat #c9e6d3;border:1px solid #008a2e;color:#008a2e}div.enigmawarning,#messagebody div.enigmawarning{background:url(enigma_icons.png?v=b64c.2520) 3px -231px no-repeat #fef893;border:1px solid #ffdf0e;color:#960}#enigma-message a{color:#666;padding-left:10px}#enigma-message a:hover{color:#333}p.enigmaattachment{margin:.5em 1em;width:auto;background:#f9f9f9;border:1px solid #d3d3d3;border-radius:4px}p.enigmaattachment span{display:inline-block;background:url(enigma_icons.png?v=b64c.2520) 8px -78px no-repeat;padding:1em .5em 1em 46px}#messagetoolbar a.button.enigma{background-image:url(enigma_icons.png?v=b64c.2520);background-position:center -122px;background-repeat:no-repeat}#enigmamenu{color:#fff;padding:2px 5px}#enigmamenu div.row{display:table-row}#enigmamenu div.row>label{display:table-cell;padding:3px}#enigmamenu div.row>div{display:table-cell;padding:3px}#settings-sections .enigma.keys a{background-image:url(enigma_icons.png?v=b64c.2520);background-position:7px -345px;background-repeat:no-repeat}#settings-sections .enigma.keys.selected a{background-image:url(enigma_icons.png?v=b64c.2520);background-position:7px -368px;background-repeat:no-repeat}#sections-table #rcmrowenigma .section{background-image:url(enigma_icons.png?v=b64c.2520);background-position:5px -297px;background-repeat:no-repeat}#sections-table #rcmrowenigma.selected .section{background-image:url(enigma_icons.png?v=b64c.2520);background-position:5px -321px;background-repeat:no-repeat}#mainscreen.enigma #settings-sections,#mainscreen.enigma #settings-right{top:44px}#enigmacontent-box{position:absolute;top:0;left:272px;right:0;bottom:0}#enigmakeyslist{position:absolute;top:0;bottom:0;left:0;width:260px}#keylistcountbar{margin-top:4px;margin-left:4px}#keys-table{width:100%;table-layout:fixed}#keys-table td{text-overflow:ellipsis}#keyimportform fieldset div{background-color:#eee;padding:10px}#keycreateform td>label{display:block}#keycreateform ul.proplist li{border:0;padding:2px 0}#keystoolbar{position:absolute;top:-6px;left:0;height:40px;white-space:nowrap;z-index:10}#keystoolbar a.import{background:url(enigma_icons.png?v=b64c.2520) center 0 no-repeat}#keystoolbar a.export{background:url(enigma_icons.png?v=b64c.2520) center -40px no-repeat}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,21 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<h1 class="boxtitle"><roundcube:label name="enigma.createkeys" /></h1>
<div id="key-details" class="boxcontent">
<roundcube:object name="keyform" id="keycreateform" class="propform" size="40" textareacols="40" textarearows="6" />
</div>
<div class="footerleft formbuttons">
<roundcube:button command="plugin.enigma-key-save" type="input" class="button mainaction" label="save" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,17 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe fullheight">
<h1 class="voice"><roundcube:label name="enigma.importkeys" /></h1>
<div id="import-form" class="boxcontent">
<roundcube:object name="importform" class="propform" id="keyimportform" part="import" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,17 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<h1 class="boxtitle"><roundcube:object name="keyname" part="name" /></h1>
<div id="key-details" class="boxcontent propform">
<roundcube:object name="keydata" class="propform" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@ -0,0 +1,91 @@
<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" />
<div id="mainscreen" class="enigma">
<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="enigma.enigmakeys" /></h1>
<!-- toolbar -->
<h2 id="aria-label-toolbar" class="voice"><roundcube:label name="arialabeltoolbar" /></h2>
<div id="keystoolbar" class="toolbar" role="toolbar" aria-labelledby="aria-label-toolbar">
<roundcube:button command="plugin.enigma-key-import-search" type="link" class="button search disabled" classAct="button search" classSel="button search pressed" label="search" title="enigma.keyimportsearchlabel" />
<roundcube:button command="plugin.enigma-key-import" type="link" class="button import disabled" classAct="button import" classSel="button import pressed" label="import" title="enigma.importkeys" />
<span class="dropbutton">
<roundcube:button command="plugin.enigma-key-export" type="link" class="button export disabled" classAct="button export" classSel="button export pressed" label="export" title="enigma.exportkeys" />
<a href="#export" class="dropbuttontip" id="exportmenulink" onclick="return UI.toggle_popup('exportmenu',event)" aria-haspopup="true" aria-expanded="false" aria-owns="exportmenu-menu" tabindex="0"><roundcube:label name="enigma.arialabelkeyexportoptions" /></a>
</span>
</div>
<div id="exportmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-exportmenu" class="voice"><roundcube:label name="enigma.arialabelkeyexportoptions" /></h3>
<ul id="exportmenu-menu" class="toolbarmenu" role="menu" aria-labelledby="aria-label-exportmenu">
<roundcube:button type="link-menuitem" command="plugin.enigma-key-export" label="exportall" prop="sub" class="exportalllink" classAct="exportalllink active" />
<roundcube:button type="link-menuitem" command="plugin.enigma-key-export-selected" label="exportsel" prop="sub" class="exportsellink" classAct="exportsellink active" />
</ul>
</div>
<div id="quicksearchbar" class="searchbox" role="search" aria-labelledby="aria-label-searchform">
<h2 id="aria-label-searchform" class="voice"><roundcube:label name="enigma.arialabelkeysearchform" /></h2>
<label for="quicksearchbox" class="voice"><roundcube:label name="arialabelmailquicksearchbox" /></label>
<roundcube:object name="searchform" id="quicksearchbox" />
<a id="searchmenulink" class="iconbutton searchicon" > </a>
<roundcube:button command="reset-search" id="searchreset" type="link" class="iconbutton reset" title="resetsearch" label="resetsearch" />
</div>
<roundcube:include file="/includes/settingstabs.html" />
<div id="settings-right" role="main" aria-labelledby="aria-label-enigmakeyslist">
<div id="enigmakeyslist" class="uibox listbox" role="navigation" aria-labelledby="enigmakeyslist-header">
<div id="enigmakeyslist-header" class="boxtitle"><roundcube:label name="enigma.enigmakeys" /></div>
<div class="scroller withfooter">
<roundcube:object name="keyslist" id="keys-table" class="listing" role="listbox" cellspacing="0" noheader="true" />
</div>
<div class="boxpagenav">
<roundcube:button command="firstpage" type="link" class="icon firstpage disabled" classAct="icon firstpage" title="firstpage" label="first" />
<roundcube:button command="previouspage" type="link" class="icon prevpage disabled" classAct="icon prevpage" title="previouspage" label="previous" />
<roundcube:button command="nextpage" type="link" class="icon nextpage disabled" classAct="icon nextpage" title="nextpage" label="next" />
<roundcube:button command="lastpage" type="link" class="icon lastpage disabled" classAct="icon lastpage" title="lastpage" label="last" />
</div>
<div class="boxfooter">
<roundcube:button command="plugin.enigma-key-create" type="link" title="enigma.createkeys" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" label="enigma.keyadd" /><roundcube:button name="moreactions" id="keyoptionslink" type="link" title="enigma.keyactions" class="listbutton groupactions" onclick="return UI.toggle_popup('keyoptions',event)" innerClass="inner" label="enigma.arialabelkeyoptions" aria-haspopup="true" aria-expanded="false" aria-owns="keyoptionsmenu" />
<span class="countdisplay" aria-live="polite" aria-relevant="text">
<span class="voice"><roundcube:label name="enigma.enigmakeys" /></span>
<roundcube:object name="countdisplay" />
</span>
</div>
</div>
<div id="enigmacontent-box" class="uibox">
<div class="iframebox">
<roundcube:object name="contentframe" id="keyframe" width="100%" height="100%" frameborder="0" src="env:blankpage" />
</div>
</div>
</div>
</div>
<div id="keyoptions" class="popupmenu">
<ul class="toolbarmenu">
<li><roundcube:button class="deletelink" type="link" command="plugin.enigma-key-delete" label="enigma.keyremove" target="_blank" classAct="deletelink active" /></li>
<!--
<li><roundcube:button class="disablelink" command="enigma.key-disable" label="enigma.keydisable" target="_blank" classAct="disablelink active" /></li>
<li><roundcube:button class="revokelink" command="enigma.key-revoke" label="enigma.keyrevoke" classAct="revokelink active" /></li>
<li class="separator_below"><roundcube:button class="sendlink" command="enigma.key-send" label="enigma.keysend" classAct="sendlink active" /></li>
<li><roundcube:button class="chpasslink" command="enigma.key-chpass" label="enigma.keychpass" classAct="chpasslink active" /></li>
-->
</ul>
</div>
<roundcube:include file="/includes/footer.html" />
<script>
new rcube_splitter({ id:'enigmakeyssplitter', p1:'#enigmakeyslist', p2:'#enigmacontent-box',
orientation:'v', relative:true, start:266, min:180, size:12 }).init();
</script>
</body>
</html>

View File

@ -0,0 +1,17 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe fullheight">
<h1 class="voice"><roundcube:label name="enigma.importkeys" /></h1>
<div id="import-form" class="boxcontent">
<roundcube:object name="importform" class="propform" id="keyimportform" part="search" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>