diff --git a/CONTROL/control b/CONTROL/control
index a65d867..964f64e 100644
--- a/CONTROL/control
+++ b/CONTROL/control
@@ -1,7 +1,7 @@
Package: webif
Priority: optional
Section: web
-Version: 1.0.0-2
+Version: 1.0.1
Architecture: mipsel
Maintainer: af123@hummypkg.org.uk
Depends: webif-channelicons(>=1.0.5),mongoose(>=3.0-7),jim(>=0.73-1),jim-oo,jim-sqlite3(>=0.73-1),jim-cgi(>=0.7),jim-binary,service-control(>=1.2),busybox(>=1.20.2-1),lsof,epg(>=1.0.13),hmt(>=1.1.13),ssmtp,anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2),stripts(>=1.1.2),smartmontools,tmenu(>=1.05),ffmpeg,id3v2
diff --git a/var/mongoose/html/diag/disk.jim b/var/mongoose/html/diag/disk.jim
index 1cf3e8f..88ecc6c 100755
--- a/var/mongoose/html/diag/disk.jim
+++ b/var/mongoose/html/diag/disk.jim
@@ -105,6 +105,10 @@ foreach line [split [exec /mod/bin/smartctl -A $device] "\n"] {
$settings _nval_setting "SMART_realloc" $rval
if {$rval > 0} { set class orangeshade }
}
+ 10 {
+ $settings _nval_setting "SMART_spinretry" $rval
+ if {$rval > 0} { set class orangeshade }
+ }
197 {
$settings _nval_setting "SMART_pending" $rval
if {$rval > 0} { set class redshade }
diff --git a/var/mongoose/html/js/jquery.contextMenu.js b/var/mongoose/html/js/jquery.contextMenu.js
index e4be699..6a160b4 100644
--- a/var/mongoose/html/js/jquery.contextMenu.js
+++ b/var/mongoose/html/js/jquery.contextMenu.js
@@ -14,8 +14,8 @@
//
// For details, visit http://creativecommons.org/licenses/by/3.0/us/
-// Modified by Andy Fiddaman to support left click and
-// support modification of menu items.
+// Modified by af123 to support left click, modification of menu items and
+// utilise jQuery.ui.position for smart element positioning.
if (jQuery) (function() {
$.extend($.fn, {
@@ -53,31 +53,17 @@ if (jQuery) (function() {
if (o.beforeShow) o.beforeShow(el, menu);
- // Detect mouse position
- var d = {}, x, y;
- if (self.innerHeight) {
- d.pageYOffset = self.pageYOffset;
- d.pageXOffset = self.pageXOffset;
- d.innerHeight = self.innerHeight;
- d.innerWidth = self.innerWidth;
- } else if (document.documentElement &&
- document.documentElement.clientHeight) {
- d.pageYOffset = document.documentElement.scrollTop;
- d.pageXOffset = document.documentElement.scrollLeft;
- d.innerHeight = document.documentElement.clientHeight;
- d.innerWidth = document.documentElement.clientWidth;
- } else if (document.body) {
- d.pageYOffset = document.body.scrollTop;
- d.pageXOffset = document.body.scrollLeft;
- d.innerHeight = document.body.clientHeight;
- d.innerWidth = document.body.clientWidth;
- }
- (e.pageX) ? x = e.pageX : x = e.clientX + d.scrollLeft;
- (e.pageY) ? y = e.pageY : x = e.clientY + d.scrollTop;
-
// Show the menu
$(document).unbind('click');
- $(menu).css({ top: y, left: x }).fadeIn(o.inSpeed);
+// $(menu).css({ top: y, left: x }).fadeIn(o.inSpeed);
+ $(menu).css('display', 'block').position({
+ my: "left top",
+ at: "right bottom",
+ of: this,
+ offset: "0 5",
+ collision: "fit"
+ }).css('display', 'none').fadeIn(o.inSpeed);
+
// Hover events
$(menu).find('A').mouseover(function() {
$(menu).find('LI.hover').removeClass('hover');
diff --git a/var/mongoose/html/lib/jquery.contextMenu/extra.css b/var/mongoose/html/lib/jquery.contextMenu/extra.css
new file mode 100644
index 0000000..da54aa3
--- /dev/null
+++ b/var/mongoose/html/lib/jquery.contextMenu/extra.css
@@ -0,0 +1,21 @@
+
+.context-menu-item.icon-pwedit { background-image: url(/img/context/page_white_edit.png); }
+.context-menu-item.icon-pwcopy { background-image: url(/img/context/page_white_copy.png); }
+.context-menu-item.icon-pwpaste { background-image: url(/img/context/page_white_paste.png); }
+.context-menu-item.icon-pwdelete { background-image: url(/img/context/page_white_delete.png); }
+.context-menu-item.icon-edit { background-image: url(/img/context/edit.png); }
+.context-menu-item.icon-copy { background-image: url(/img/context/copy.png); }
+.context-menu-item.icon-paste { background-image: url(/img/context/paste.png); }
+.context-menu-item.icon-delete { background-image: url(/img/context/delete.png); }
+.context-menu-item.icon-cut { background-image: url(/img/context/cut.png); }
+.context-menu-item.icon-quit { background-image: url(/img/context/door.png); }
+.context-menu-item.icon-compress { background-image: url(/img/context/compress.png); }
+.context-menu-item.icon-compressr { background-image: url(/img/context/compressr.png); }
+.context-menu-item.icon-dedup { background-image: url(/img/context/dedup.png); }
+.context-menu-item.icon-decrypt { background-image: url(/img/context/decrypt.png); }
+.context-menu-item.icon-decryptr { background-image: url(/img/context/decryptr.png); }
+.context-menu-item.icon-mpg { background-image: url(/img/context/mpg.png); }
+.context-menu-item.icon-mp3 { background-image: url(/img/context/mp3.png); }
+.context-menu-item.icon-clock { background-image: url(/img/context/clock.png); }
+.context-menu-item.icon-thm { background-image: url(/img/context/thumb.png); }
+
diff --git a/var/mongoose/html/lib/jquery.contextMenu/images/cut.png b/var/mongoose/html/lib/jquery.contextMenu/images/cut.png
new file mode 100644
index 0000000..f215d6f
Binary files /dev/null and b/var/mongoose/html/lib/jquery.contextMenu/images/cut.png differ
diff --git a/var/mongoose/html/lib/jquery.contextMenu/images/door.png b/var/mongoose/html/lib/jquery.contextMenu/images/door.png
new file mode 100644
index 0000000..369fc46
Binary files /dev/null and b/var/mongoose/html/lib/jquery.contextMenu/images/door.png differ
diff --git a/var/mongoose/html/lib/jquery.contextMenu/images/page_white_add.png b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_add.png
new file mode 100644
index 0000000..a70de09
Binary files /dev/null and b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_add.png differ
diff --git a/var/mongoose/html/lib/jquery.contextMenu/images/page_white_copy.png b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_copy.png
new file mode 100644
index 0000000..a9f31a2
Binary files /dev/null and b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_copy.png differ
diff --git a/var/mongoose/html/lib/jquery.contextMenu/images/page_white_delete.png b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_delete.png
new file mode 100644
index 0000000..af1ecaf
Binary files /dev/null and b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_delete.png differ
diff --git a/var/mongoose/html/lib/jquery.contextMenu/images/page_white_edit.png b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_edit.png
new file mode 100644
index 0000000..b93e776
Binary files /dev/null and b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_edit.png differ
diff --git a/var/mongoose/html/lib/jquery.contextMenu/images/page_white_paste.png b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_paste.png
new file mode 100644
index 0000000..5b2cbb3
Binary files /dev/null and b/var/mongoose/html/lib/jquery.contextMenu/images/page_white_paste.png differ
diff --git a/var/mongoose/html/lib/jquery.contextMenu/jquery.contextMenu.css b/var/mongoose/html/lib/jquery.contextMenu/jquery.contextMenu.css
new file mode 100644
index 0000000..ee58116
--- /dev/null
+++ b/var/mongoose/html/lib/jquery.contextMenu/jquery.contextMenu.css
@@ -0,0 +1,142 @@
+/*!
+ * jQuery contextMenu - Plugin for simple contextMenu handling
+ *
+ * Version: git-master
+ *
+ * Authors: Rodney Rehm, Addy Osmani (patches for FF)
+ * Web: http://medialize.github.com/jQuery-contextMenu/
+ *
+ * Licensed under
+ * MIT License http://www.opensource.org/licenses/mit-license
+ * GPL v3 http://opensource.org/licenses/GPL-3.0
+ *
+ */
+
+.context-menu-list {
+ margin:0;
+ padding:0;
+
+ min-width: 120px;
+ max-width: 250px;
+ display: inline-block;
+ position: absolute;
+ list-style-type: none;
+
+ border: 1px solid #DDD;
+ background: #EEE;
+
+ -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
+ -ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
+ -o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
+
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 11px;
+}
+
+.context-menu-item {
+ padding: 2px 2px 2px 24px;
+ background-color: #EEE;
+ position: relative;
+ -webkit-user-select: none;
+ -moz-user-select: -moz-none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.context-menu-separator {
+ padding-bottom:0;
+ border-bottom: 1px solid #DDD;
+}
+
+.context-menu-item > label > input,
+.context-menu-item > label > textarea {
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+
+.context-menu-item.hover {
+ cursor: pointer;
+ background-color: #39F;
+}
+
+.context-menu-item.disabled {
+ color: #666;
+}
+
+.context-menu-input.hover,
+.context-menu-item.disabled.hover {
+ cursor: default;
+ background-color: #EEE;
+}
+
+.context-menu-submenu:after {
+ content: ">";
+ color: #666;
+ position: absolute;
+ top: 0;
+ right: 3px;
+ z-index: 1;
+}
+
+/* icons
+ #protip:
+ In case you want to use sprites for icons (which I would suggest you do) have a look at
+ http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement
+ .context-menu-item.icon:before {}
+ */
+.context-menu-item.icon { min-height: 18px; background-repeat: no-repeat; background-position: 4px 2px; }
+.context-menu-item.icon-edit { background-image: url(images/page_white_edit.png); }
+.context-menu-item.icon-cut { background-image: url(images/cut.png); }
+.context-menu-item.icon-copy { background-image: url(images/page_white_copy.png); }
+.context-menu-item.icon-paste { background-image: url(images/page_white_paste.png); }
+.context-menu-item.icon-delete { background-image: url(images/page_white_delete.png); }
+.context-menu-item.icon-add { background-image: url(images/page_white_add.png); }
+.context-menu-item.icon-quit { background-image: url(images/door.png); }
+
+/* vertically align inside labels */
+.context-menu-input > label > * { vertical-align: top; }
+
+/* position checkboxes and radios as icons */
+.context-menu-input > label > input[type="checkbox"],
+.context-menu-input > label > input[type="radio"] {
+ margin-left: -17px;
+}
+.context-menu-input > label > span {
+ margin-left: 5px;
+}
+
+.context-menu-input > label,
+.context-menu-input > label > input[type="text"],
+.context-menu-input > label > textarea,
+.context-menu-input > label > select {
+ display: block;
+ width: 100%;
+
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ -o-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.context-menu-input > label > textarea {
+ height: 100px;
+}
+.context-menu-item > .context-menu-list {
+ display: none;
+ /* re-positioned by js */
+ right: -5px;
+ top: 5px;
+}
+
+.context-menu-item.hover > .context-menu-list {
+ display: block;
+}
+
+.context-menu-accesskey {
+ text-decoration: underline;
+}
diff --git a/var/mongoose/html/lib/jquery.contextMenu/jquery.contextMenu.js b/var/mongoose/html/lib/jquery.contextMenu/jquery.contextMenu.js
new file mode 100644
index 0000000..a903e82
--- /dev/null
+++ b/var/mongoose/html/lib/jquery.contextMenu/jquery.contextMenu.js
@@ -0,0 +1,1686 @@
+/*!
+ * jQuery contextMenu - Plugin for simple contextMenu handling
+ *
+ * Version: git-master
+ *
+ * Authors: Rodney Rehm, Addy Osmani (patches for FF)
+ * Web: http://medialize.github.com/jQuery-contextMenu/
+ *
+ * Licensed under
+ * MIT License http://www.opensource.org/licenses/mit-license
+ * GPL v3 http://opensource.org/licenses/GPL-3.0
+ *
+ */
+
+(function($, undefined){
+
+ // TODO: -
+ // ARIA stuff: menuitem, menuitemcheckbox und menuitemradio
+ // create