mobile theme fixes and enhancements

This commit is contained in:
SJ 2013-08-20 14:47:55 +02:00
parent 3f246a0781
commit 6c86abcc14
9 changed files with 221 additions and 49 deletions

View File

@ -0,0 +1 @@
var __bind=function(a,b){return function(){return a.apply(b,arguments)}},__slice=[].slice;!function(a,b){var c,d,e;return d=function(a){return parseFloat(a.style.width.replace("%",""))},e=function(a,b){return b=b.toFixed(2),a.style.width=""+b+"%"},c=function(){function c(c,d){this.mousedown=__bind(this.mousedown,this);var e=this;this.options=a.extend({},this.defaults,d),this.$table=c,this.setHeaders(),this.restoreColumnWidths(),this.syncHandleWidths(),a(b).on("resize.rc",function(){return e.syncHandleWidths()})}return c.prototype.defaults={store:b.store,rigidSizing:!1,resizeFromBody:!0},c.prototype.getColumnId=function(a){return this.$table.data("resizable-columns-id")+"-"+a.data("resizable-column-id")},c.prototype.setHeaders=function(){return this.$tableHeaders=this.$table.find("tr th:visible"),this.assignPercentageWidths(),this.createHandles()},c.prototype.destroy=function(){return this.$handleContainer.remove(),this.$table.removeData("resizableColumns"),a(b).off(".rc")},c.prototype.assignPercentageWidths=function(){var b=this;return this.$tableHeaders.each(function(c,d){var f;return f=a(d),e(f[0],100*(f.outerWidth()/b.$table.width()))})},c.prototype.createHandles=function(){var b=this;return a(".rc-handle-container").remove(),this.$table.before(this.$handleContainer=a("<div class='rc-handle-container' />")),this.$tableHeaders.each(function(c,d){var e;if(0!==b.$tableHeaders.eq(c+1).length&&null==b.$tableHeaders.eq(c).attr("data-noresize")&&null==b.$tableHeaders.eq(c+1).attr("data-noresize"))return e=a("<div class='rc-handle' />"),e.data("th",a(d)),e.appendTo(b.$handleContainer)}),this.$handleContainer.on("mousedown",".rc-handle",this.mousedown)},c.prototype.syncHandleWidths=function(){var b=this;return this.setHeaders(),this.$handleContainer.width(this.$table.width()).find(".rc-handle").each(function(c,d){var e;return e=a(d),e.css({left:e.data("th").outerWidth()+(e.data("th").offset().left-b.$handleContainer.offset().left),height:b.options.resizeFromBody?b.$table.height():b.$table.find("thead").height()})})},c.prototype.saveColumnWidths=function(){var b=this;return this.$tableHeaders.each(function(c,e){var f;return f=a(e),null==f.attr("data-noresize")&&null!=b.options.store?store.set(b.getColumnId(f),d(f[0])):void 0})},c.prototype.restoreColumnWidths=function(){var b=this;return this.$tableHeaders.each(function(c,d){var f,g;return f=a(d),null!=b.options.store&&(g=store.get(b.getColumnId(f)))?e(f[0],g):void 0})},c.prototype.totalColumnWidths=function(){var b;return b=0,this.$tableHeaders.each(function(c,d){return b+=parseFloat(a(d)[0].style.width.replace("%",""))}),b},c.prototype.mousedown=function(b){var c,f,g,h,i,j=this;return b.preventDefault(),h=b.pageX,c=a(b.currentTarget),f=c.data("th"),g=this.$tableHeaders.eq(this.$tableHeaders.index(f)+1),i={left:d(f[0]),right:d(g[0])},this.$table.addClass("rc-table-resizing"),a(document).on("mousemove.rc",function(a){var b;return b=100*((a.pageX-h)/j.$table.width()),e(g[0],i.right-b),e(f[0],i.left+b)}),a(document).one("mouseup",function(){return a(document).off("mousemove.rc"),j.$table.removeClass("rc-table-resizing"),j.syncHandleWidths(),j.saveColumnWidths()})},c}(),a.fn.extend({resizableColumns:function(){var b,d;return d=arguments[0],b=2<=arguments.length?__slice.call(arguments,1):[],this.each(function(){var e,f;return e=a(this),f=e.data("resizableColumns"),f||e.data("resizableColumns",f=new c(e,d)),"string"==typeof d?f[d].apply(f,b):void 0})}})}(window.jQuery,window);

View File

@ -148,6 +148,10 @@ var Piler =
Piler.fill_current_messages_array();
Piler.spinner('stop');
$('#resultsheader').show();
/*$("table").resizableColumns({
store: store
});*/
})
.fail(function( a, b )// jqXHR, textStatus, errorThrown
{

View File

@ -0,0 +1,153 @@
;(function(){
var store = {},
win = window,
doc = win.document,
localStorageName = 'localStorage',
namespace = '__storejs__',
storage
store.disabled = false
store.set = function(key, value) {}
store.get = function(key) {}
store.remove = function(key) {}
store.clear = function() {}
store.transact = function(key, defaultVal, transactionFn) {
var val = store.get(key)
if (transactionFn == null) {
transactionFn = defaultVal
defaultVal = null
}
if (typeof val == 'undefined') { val = defaultVal || {} }
transactionFn(val)
store.set(key, val)
}
store.getAll = function() {}
store.serialize = function(value) {
return JSON.stringify(value)
}
store.deserialize = function(value) {
if (typeof value != 'string') { return undefined }
try { return JSON.parse(value) }
catch(e) { return value || undefined }
}
// Functions to encapsulate questionable FireFox 3.6.13 behavior
// when about.config::dom.storage.enabled === false
// See https://github.com/marcuswestin/store.js/issues#issue/13
function isLocalStorageNameSupported() {
try { return (localStorageName in win && win[localStorageName]) }
catch(err) { return false }
}
if (isLocalStorageNameSupported()) {
storage = win[localStorageName]
store.set = function(key, val) {
if (val === undefined) { return store.remove(key) }
storage.setItem(key, store.serialize(val))
return val
}
store.get = function(key) { return store.deserialize(storage.getItem(key)) }
store.remove = function(key) { storage.removeItem(key) }
store.clear = function() { storage.clear() }
store.getAll = function() {
var ret = {}
for (var i=0; i<storage.length; ++i) {
var key = storage.key(i)
ret[key] = store.get(key)
}
return ret
}
} else if (doc.documentElement.addBehavior) {
var storageOwner,
storageContainer
// Since #userData storage applies only to specific paths, we need to
// somehow link our data to a specific path. We choose /favicon.ico
// as a pretty safe option, since all browsers already make a request to
// this URL anyway and being a 404 will not hurt us here. We wrap an
// iframe pointing to the favicon in an ActiveXObject(htmlfile) object
// (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
// since the iframe access rules appear to allow direct access and
// manipulation of the document element, even for a 404 page. This
// document can be used instead of the current document (which would
// have been limited to the current path) to perform #userData storage.
try {
storageContainer = new ActiveXObject('htmlfile')
storageContainer.open()
storageContainer.write('<s' + 'cript>document.w=window</s' + 'cript><iframe src="/favicon.ico"></iframe>')
storageContainer.close()
storageOwner = storageContainer.w.frames[0].document
storage = storageOwner.createElement('div')
} catch(e) {
// somehow ActiveXObject instantiation failed (perhaps some special
// security settings or otherwse), fall back to per-path storage
storage = doc.createElement('div')
storageOwner = doc.body
}
function withIEStorage(storeFunction) {
return function() {
var args = Array.prototype.slice.call(arguments, 0)
args.unshift(storage)
// See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
// and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
storageOwner.appendChild(storage)
storage.addBehavior('#default#userData')
storage.load(localStorageName)
var result = storeFunction.apply(store, args)
storageOwner.removeChild(storage)
return result
}
}
// In IE7, keys may not contain special chars. See all of https://github.com/marcuswestin/store.js/issues/40
var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g")
function ieKeyFix(key) {
return key.replace(forbiddenCharsRegex, '___')
}
store.set = withIEStorage(function(storage, key, val) {
key = ieKeyFix(key)
if (val === undefined) { return store.remove(key) }
storage.setAttribute(key, store.serialize(val))
storage.save(localStorageName)
return val
})
store.get = withIEStorage(function(storage, key) {
key = ieKeyFix(key)
return store.deserialize(storage.getAttribute(key))
})
store.remove = withIEStorage(function(storage, key) {
key = ieKeyFix(key)
storage.removeAttribute(key)
storage.save(localStorageName)
})
store.clear = withIEStorage(function(storage) {
var attributes = storage.XMLDocument.documentElement.attributes
storage.load(localStorageName)
for (var i=0, attr; attr=attributes[i]; i++) {
storage.removeAttribute(attr.name)
}
storage.save(localStorageName)
})
store.getAll = withIEStorage(function(storage) {
var attributes = storage.XMLDocument.documentElement.attributes
var ret = {}
for (var i=0, attr; attr=attributes[i]; ++i) {
var key = ieKeyFix(attr.name)
ret[attr.name] = store.deserialize(storage.getAttribute(key))
}
return ret
})
}
try {
store.set(namespace, namespace)
if (store.get(namespace) != namespace) { store.disabled = true }
store.remove(namespace)
} catch(e) {
store.disabled = true
}
store.enabled = !store.disabled
if (typeof module != 'undefined' && module.exports) { module.exports = store }
else if (typeof define === 'function' && define.amd) { define(store) }
else { this.store = store }
})();

View File

@ -57,7 +57,7 @@
<div class="controls">
<img src="view/theme/default/assets/images/fileicons/doc.png" alt="Word" title="Word" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_doc" id="xhas_attachment_doc" <?php if(isset($has_attachment_doc) && $has_attachment_doc == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/default/assets/images/fileicons/xls.png" alt="Excel" title="Excel" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_xls" id="xhas_attachment_xls" <?php if(isset($has_attachment_xls) && $has_attachment_xls == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/default/assets/images/fileicons/pdf.png" alt="PDF" title=PDF"" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_pdf" id="xhas_attachment_pdf" <?php if(isset($has_attachment_pdf) && $has_attachment_pdf == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/default/assets/images/fileicons/pdf.png" alt="PDF" title="PDF" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_pdf" id="xhas_attachment_pdf" <?php if(isset($has_attachment_pdf) && $has_attachment_pdf == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/default/assets/images/fileicons/image.png" alt="image" title="image" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_image" id="xhas_attachment_image" <?php if(isset($has_attachment_image) && $has_attachment_image == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/default/assets/images/fileicons/file.png" alt="any" title="any" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_any" id="xhas_attachment_any" <?php if(isset($has_attachment_any) && $has_attachment_any == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_others();" />
</div>

View File

@ -31,9 +31,6 @@
#main { margin: 0px 40px 20px 40px; width: 100%; text-align: left; float: left; clear: both; }
.sleek { margin:0; padding:0; }
.center { text-align: center; }
#expertsearch { position: absolute; border: 0px solid black; right: 20px; left: 20px; text-align: left; font-family: normal 19px "Trebuchet MS", Arial, Verdana; margin-top: 18px; }
#resultsheader { display: none; }
@ -61,15 +58,17 @@
#results { float: left; width: 100%; margin-top: 0px; margin-bottom: 0px; border-collapse: collapse; display: table; clear: both; }
#mailpreviewframe { text-align: left; overflow:auto; }
#results th { font-size:14px; }
.download_icon { margin: 0px 0 -15px 0; border: 0px solid black; }
#mailpreviewframe { text-align: left; overflow:auto; }
#sspinner { position: relative; width: 60%; border: 0px solid #999999; color: #000000; font-weight: bold; vertical-align: middle; text-align: left; padding: 15px; z-index: 1; display: none; margin: auto; margin-top: 150px; }
table { resize:both; }
.row { display: table-row; }
.row.savedsearch { display: table-row; text-align: right; }
.resultrow { display: table-row; height: 18px; font-style: italic; font-size:14px; font-family: "Trebuchet MS", Arial, Verdana; }
.resultrow { display: table-row; height: 18px; font-style: italic; font-size:12px; font-family: "Trebuchet MS", Arial, Verdana; }
.resultrow a { color: #3d3d3d; }
.resultrow.odd { background: #f5f5f5; }
.resultrow.new { font-style: normal; }
@ -141,6 +140,8 @@
.bold { font-weight: bold; }
.left { text-align: left; }
.center { text-align: center; }
.sleek { margin:0; padding:0; }
.messagecontents {background-color:#fff; padding:8px; font-size:14px; font-family: "Trebuchet MS", Arial, Verdana; }
@ -158,7 +159,7 @@
#mailcontframe { position: absolute; width: 100%; top: 0; bottom: 0; border: 1px solid #999999; background-color: #F9F9F9; overflow: hidden; }
#mailpreviewframe { position: absolute; width: 100%; top: 205px; bottom: 0px; border: 1px solid #999999; background-color: #F9F9F9; }
.boxlistcontent { position: absolute; top: 5px; bottom: 50px; left: 0; right: 0; width: 100%; overflow-y: auto; overflow-x: hidden; height: auto; }
.boxlistcontent { position: absolute; top: 0px; bottom: 50px; left: 0; right: 0; width: 100%; overflow-y: auto; overflow-x: hidden; height: auto; }
.boxfooter { position: absolute; bottom: 0px; left: 0px; right: 0px; overflow: hidden; border-top: 1px solid #999; }
.splitter { user-select: none; -moz-user-select: none; -khtml-user-select: none; position: absolute; background: url(/view/theme/mobile/images/dimple.png) center no-repeat; }
@ -167,6 +168,11 @@
.message_highlight { background: lightblue; }
.rc-handle-container { position: relative; }
.rc-handle { position: absolute; width: 7px; cursor: ew-resize; margin-left: -3px; z-index: 2; }
table.rc-table-resizing { cursor: ew-resize; }
table.rc-table-resizing thead, table.rc-table-resizing thead > th, table.rc-table-resizing thead > th > a { cursor: ew-resize; }
}

View File

@ -23,6 +23,10 @@
<script type="text/javascript" src="/view/javascript/jquery-ui-custom.min.js"></script>
<script type="text/javascript" src="/view/javascript/bootstrap.min.js"></script>
<script type="text/javascript" src="/view/javascript/rc-splitter.js"></script>
<script type="text/javascript" src="/view/javascript/store.js"></script>
<script type="text/javascript" src="/view/javascript/jquery.resizableColumns.min.js"></script>
<script type="text/javascript" src="/view/javascript/piler.js"></script>
<?php if(BRANDING_FAVICON) { ?><link rel="shortcut icon" href="<?php print BRANDING_FAVICON; ?>" /><?php } ?>
@ -127,6 +131,5 @@ $(document).ready(function(){
</script>
</body>
</html>

View File

@ -4,44 +4,48 @@
<div id="results">
<?php if($n > 0) { ?>
<table class="table table-condensed" style="width: 98%;">
<table class="table table-condensed" data-resizable-columns-id="search-table">
<thead>
<tr>
<td><input type="checkbox" id="bulkcheck" name="bulkcheck" value="1" <?php if(SEARCH_RESULT_CHECKBOX_CHECKED == 1) { ?>checked="checked"<?php } ?> onclick="Piler.toggle_bulk_check('');" /></td>
<td>
<th data-resizable-column-id="chbox" id="chbox" data-noresize>
<input type="checkbox" id="bulkcheck" name="bulkcheck" value="1" <?php if(SEARCH_RESULT_CHECKBOX_CHECKED == 1) { ?>checked="checked"<?php } ?> onclick="Piler.toggle_bulk_check('');" />
</th>
<th data-resizable-column-id="download" id="download" data-noresize class="center">
<?php if(Registry::get('auditor_user') == 1 || BULK_DOWNLOAD_FOR_USERS == 1) { ?>
<a href="#" onclick="Piler.download_messages(); return false;" title="Download"><i class="icon-download-alt download_icon"></i></a>
<a href="#" onclick="Piler.download_messages(); return false;" title="Download"><i class="icon-download-alt sleek"></i></a>
<?php } else { ?>&nbsp;<?php } ?>
</td>
<td>
</th>
<th data-resizable-column-id="date" id="date" class="sleek">
<strong><?php print $text_date; ?></strong>
<a xid="date" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up"></i></a>
<a xid="date" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down"></i></a>
</td>
<td>
<a xid="date" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up sleek"></i></a>
<a xid="date" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down sleek"></i></a>
</th>
<th data-resizable-column-id="from">
<strong><?php print $text_from; ?></strong>
<a xid="from" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up"></i></a>
<a xid="from" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down"></i></a>
</td>
<td>
<a xid="from" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up sleek"></i></a>
<a xid="from" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down sleek"></i></a>
</th>
<th data-resizable-column-id="to">
<strong><?php print $text_to; ?></strong>
</td>
<td>
</th>
<th data-resizable-column-id="subject">
<strong><?php print $text_subject; ?><strong>
<a xid="subj" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up"></i></a>
<a xid="subj" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down"></i></a>
</td>
<td>
<a xid="subj" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up sleek"></i></a>
<a xid="subj" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down sleek"></i></a>
</th>
<th data-resizable-column-id="size">
<strong><?php print $text_size; ?></strong>
<a xid="size" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up"></i></a>
<a xid="size" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down"></i></a>
</td>
<td><i class="icon-file"></i></div>
<td><i class="icon-bookmark"></i></div>
<td><i class="icon-tag"></i></div>
<a xid="size" xorder="1" onclick="Piler.changeOrder(this);"><i class="icon-chevron-up sleek"></i></a>
<a xid="size" xorder="0" onclick="Piler.changeOrder(this);"><i class="icon-chevron-down sleek"></i></a>
</th>
<th data-resizable-column-id="attachment" id="attachment" data-noresize><i class="icon-file sleek"></i></th>
<th data-resizable-column-id="bookmark" id="bookmark" data-noresize><i class="icon-bookmark sleek"></i></th>
<th data-resizable-column-id="tag" id="tag" data-noresize><i class="icon-tag sleek"></i></th>
<?php if(ENABLE_ON_THE_FLY_VERIFICATION == 1) { ?>
<td>&nbsp;</td>
<th data-resizable-column-id="verification" id="verification" data-noresize><i class="icon-sign sleek" title="verification status"></i></th>
<?php } ?>
</tr>
@ -51,18 +55,17 @@
<?php $i=0; foreach ($messages as $message) { ?>
<tr onmouseover="Piler.current_message_id = <?php print $message['id']; ?>; return false;" id="e_<?php print $message['id']; ?>" class="resultrow new<?php if($i % 2) { ?> odd<?php } ?><?php if($message['spam'] == 1) { ?> spam<?php } ?><?php if($message['yousent'] == 1) { ?> sent<?php } ?>">
<td><input type="checkbox" id="r_<?php print $message['id']; ?>" name="r_<?php print $message['id']; ?>" value="iiii" <?php if(SEARCH_RESULT_CHECKBOX_CHECKED == 1) { ?>checked="checked"<?php } ?> /></td>
<td><a href="#" onclick="Piler.view_message_by_pos(<?php print $i; ?>);"><?php print ($page*$page_len) + $i + 1; ?>.</a></td>
<td><?php print $message['date']; ?></td>
<td class="center sleek"><a href="#" onclick="Piler.view_message_by_pos(<?php print $i; ?>);"><?php print ($page*$page_len) + $i + 1; ?>.</a></td>
<td class="center sleek"><?php print $message['date']; ?></td>
<td><?php if($message['from'] != $message['shortfrom']) { ?><span title="<?php print $message['from']; ?>"><?php print $message['shortfrom']; ?></span><?php } else { print $message['from']; } ?></td>
<td><?php if($message['to'] != $message['shortto']) { ?><span title="<?php print $message['to']; ?>"><?php print $message['shortto']; ?><i class="icon-user"></i></span><?php } else { print $message['to']; } ?></td>
<td><a href="#" <?php if($message['spam'] == 1) { ?>class="spam"<?php } ?> <?php if($message['subject'] != $message['shortsubject']) { ?>title="<?php print $message['subject']; ?>"<?php } ?> onclick="Piler.view_message_by_pos(<?php print $i; ?>);"><?php if($message['subject'] != $message['shortsubject']) { print $message['shortsubject']; } else { print $message['subject']; } ?></a><?php if($message['reference']) { ?> <a href="#" title="<?php print $text_conversation_available; ?>" onclick="$('#ref').val('<?php print $message['reference']; ?>'); Piler.expert(this);">[+]</span></a><?php } ?></td>
<td><a href="#" <?php if($message['spam'] == 1) { ?>class="spam"<?php } ?> <?php if($message['subject'] != $message['shortsubject']) { ?>title="<?php print $message['subject']; ?>"<?php } ?> onclick="Piler.view_message_by_pos(<?php print $i; ?>);"><?php if($message['subject'] != $message['shortsubject'] && MOBILE_DEVICE == 1) { print $message['shortsubject']; } else { print $message['subject']; } ?></a><?php if($message['reference']) { ?> <a href="#" title="<?php print $text_conversation_available; ?>" onclick="$('#ref').val('<?php print $message['reference']; ?>'); Piler.expert(this);">[+]</a><?php } ?></td>
<td><?php print $message['size']; ?></td>
<td><?php if($message['attachments'] > 0) { ?><i class="icon-file"></i><?php } ?></td>
<td><?php if($message['note']) { ?><i class="icon-bookmark" title="<?php print $message['note']; ?>"></i><?php } ?></td>
<td><?php if($message['tag']) { ?><i class="icon-tag" title="<?php print $message['tag']; ?>"></i><?php } ?></td>
<td><?php if($message['attachments'] > 0) { ?><i class="icon-file sleek"></i><?php } ?></td>
<td><?php if($message['note']) { ?><i class="icon-bookmark sleek" title="<?php print $message['note']; ?>"></i><?php } ?></td>
<td><?php if($message['tag']) { ?><i class="icon-tag sleek" title="<?php print $message['tag']; ?>"></i><?php } ?></td>
<?php if(ENABLE_ON_THE_FLY_VERIFICATION == 1) { ?>
<td><i class="icon-<?php if($message['verification'] == 1){ ?>ok<?php } else { ?>remove<?php } ?>-sign" title="verification status"></i></td>
<td><i class="icon-<?php if($message['verification'] == 1){ ?>ok<?php } else { ?>remove<?php } ?>-sign sleek" title="verification status"></i></td>
<?php } ?>
</tr>
@ -109,3 +112,5 @@
</div>

View File

@ -50,7 +50,7 @@
<div class="cell2 left">
<img src="view/theme/mobile/images/fileicons/doc.png" alt="Word" title="Word" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_doc" id="xhas_attachment_doc" <?php if(isset($has_attachment_doc) && $has_attachment_doc == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/mobile/images/fileicons/xls.png" alt="Excel" title="Excel" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_xls" id="xhas_attachment_xls" <?php if(isset($has_attachment_xls) && $has_attachment_xls == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/mobile/images/fileicons/pdf.png" alt="PDF" title=PDF"" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_pdf" id="xhas_attachment_pdf" <?php if(isset($has_attachment_pdf) && $has_attachment_pdf == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/mobile/images/fileicons/pdf.png" alt="PDF" title="PDF" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_pdf" id="xhas_attachment_pdf" <?php if(isset($has_attachment_pdf) && $has_attachment_pdf == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/mobile/images/fileicons/image.png" alt="image" title="image" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_image" id="xhas_attachment_image" <?php if(isset($has_attachment_image) && $has_attachment_image == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_any();" />
<img src="view/theme/mobile/images/fileicons/file.png" alt="any" title="any" /> <input type="checkbox" class="checkbox popup" name="xhas_attachment_any" id="xhas_attachment_any" <?php if(isset($has_attachment_any) && $has_attachment_any == 1) { ?>checked="checked"<?php } ?> onclick="Piler.clear_attachment_others();" />
</div>

View File

@ -9,7 +9,7 @@
<div class="row">
<div class="logincell"><?php print $text_email_addresses; ?>:</div>
<div class="tcell">
<div class="logincell">
<?php print $emails; ?>
</div>
</div>
@ -18,7 +18,7 @@
<div class="row">
<div class="logincell"><?php print $text_domains; ?>:</div>
<div class="tcell">
<div class="logincell">
<?php print $domains; ?>
</div>
</div>
@ -29,7 +29,7 @@
<div class="row">
<div class="logincell"><?php print $text_groups; ?>:</div>
<div class="tcell">
<div class="logincell">
<?php print $groups; ?>
</div>
</div>
@ -40,7 +40,7 @@
<div class="row">
<div class="logincell"><?php print $text_folders; ?>:</div>
<div class="tcell">
<div class="logincell">
<?php print $folders; ?>
</div>
</div>