* Mon May 12 2025 Brian Read <brianr@koozali.org> 11.0.0-1.sme

- Adding SM2 panel [SME: 13004]
- Upgrade to phpsysinfo 3.4.4
- Add code to delete inline styles and add css to make it look better.
- version saved / built uses the static version, which means no drops downs and choices.
This commit is contained in:
2025-05-14 16:14:01 +01:00
parent 80b1da5fa5
commit c8ce77259d
952 changed files with 51341 additions and 28699 deletions

View File

@@ -1,17 +1,10 @@
versions, links and simple description of used jquery files
===========================================================
jquery.js
---------
VERSION : 2.1.4
URL : http://jquery.com/
DESC : jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle
events, perform animations, and add Ajax interactions to your web pages.
USED : used for the entire userinterface
jquery-1.js
---------
VERSION : 1.11.3
VERSION : v1.12.4-ff3fix-ff2fix-CVE_2015_9251fix-CVE_2019_11358fix-CVE_2020_11022fix-CVE_2020_11023fix
URL : http://jquery.com/
DESC : jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle
events, perform animations, and add Ajax interactions to your web pages.
@@ -20,7 +13,7 @@ USED : used for the entire userinterface
jquery.dataTables.js
--------------------
VERSION : 1.8.2
VERSION : 1.8.2+jquery1.9fix+parseJSONfix2+bindfix+samesitefix+noeval
URL : http://plugins.jquery.com/project/DataTables
DESC : dataTables is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable
table without page refreshes.
@@ -28,31 +21,38 @@ USED : provide tablesorting for the filesystem table
jquery.nyroModal.js
-------------------
VERSION : 1.6.2+jquery1.8fix
VERSION : 1.6.2+jquery1.8fix+bindfix+ff2fix
URL : http://plugins.jquery.com/project/nyroModal
DESC : nyroModal is a high customizable modal window plugin.
USED : provide a modal dialog, that is shown when errors are found during execution of the php parsers, or lets say
in this way: if there are error elements in the xml file
jquery.timers.js
jquery.timer.js
----------------
VERSION : 0.1
URL : http://plugins.jquery.com/project/Timer
URL : http://plugins.jquery.com/project/Timer; https://github.com/sloat/timer
DESC : provides a cleaner way to handle intervals
USED : automatic reloading of the entire page
jquery.jgrowl.js
----------------
VERSION : 1.2.6
VERSION : 1.2.6+jquery1.9fix+jquery3fix+bindfix
URL : http://plugins.jquery.com/project/jGrowl
DESC : jGrowl is a jQuery plugin that raises unobtrusive messages within the browser, similar to the way that OS X's Growl Framework works
USED : show alert and error message
jquery.treeTable.js
-------------------
VERSION : 2009-06-22+statefix
VERSION : 2009-06-22+statefix+spanfix+altfix+undefinedfix+ie6cachefix+multilinefix+divfix
URL : http://plugins.jquery.com/project/jQTreeTable; http://www.hanpau.com/index.php?page=jqtreetable
DESC : Take a plain html table, wrap the rows you want collapsing/expanding in a tbody tag with an id of treetable, map each row to it's parent row, set some options, and let jQTreeTable take it from there.
USED : Hardware, Memory, UPS blocks
jquery.ifixpng.js
-------------------
VERSION : 2.1 (23/04/2008)+jquery1.9fix
URL : http://jquery.khurshid.com
DESC : Designed to fix that problem by applying appropriate filters to user specified elements, while keeping all element tags intact.
USED : used for the entire userinterface
$Id: README 702 2012-09-21 16:52:32Z namiltd $

View File

@@ -3,15 +3,7 @@ versions, links and simple description of used jquery files
jquery.js
---------
VERSION : 2.1.4
URL : http://jquery.com/
DESC : jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle
events, perform animations, and add Ajax interactions to your web pages.
USED : used for the entire userinterface
jquery-1.js
---------
VERSION : 1.11.3
VERSION : v1.12.4-ff3fix-ff2fix-CVE_2015_9251fix-CVE_2019_11358fix-CVE_2020_11022fix-CVE_2020_11023fix
URL : http://jquery.com/
DESC : jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle
events, perform animations, and add Ajax interactions to your web pages.

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
/*
* File: jquery.dataTables.js
* Version: 1.8.2
* Version: 1.8.2+jquery1.9fix+parseJSONfix2+bindfix+samesitefix+noeval
* Description: Paginate, search and sort HTML tables
* Author: Allan Jardine (www.sprymedia.co.uk)
* Created: 28/3/2008
@@ -319,7 +319,7 @@
nPaging.appendChild( nPrevious );
nPaging.appendChild( nNext );
$(nPrevious).bind( 'click.DT', function() {
$(nPrevious).on( 'click.DT', function() {
if ( oSettings.oApi._fnPageChange( oSettings, "previous" ) )
{
/* Only draw when the page has actually changed */
@@ -327,7 +327,7 @@
}
} );
$(nNext).bind( 'click.DT', function() {
$(nNext).on( 'click.DT', function() {
if ( oSettings.oApi._fnPageChange( oSettings, "next" ) )
{
fnCallbackDraw( oSettings );
@@ -335,8 +335,8 @@
} );
/* Take the brutal approach to cancelling text selection */
$(nPrevious).bind( 'selectstart.DT', function () { return false; } );
$(nNext).bind( 'selectstart.DT', function () { return false; } );
$(nPrevious).on( 'selectstart.DT', function () { return false; } );
$(nNext).on( 'selectstart.DT', function () { return false; } );
/* ID the first elements only */
if ( oSettings.sTableId !== '' && typeof oSettings.aanFeatures.p == "undefined" )
@@ -426,28 +426,28 @@
nPaging.appendChild( nNext );
nPaging.appendChild( nLast );
$(nFirst).bind( 'click.DT', function () {
$(nFirst).on( 'click.DT', function () {
if ( oSettings.oApi._fnPageChange( oSettings, "first" ) )
{
fnCallbackDraw( oSettings );
}
} );
$(nPrevious).bind( 'click.DT', function() {
$(nPrevious).on( 'click.DT', function() {
if ( oSettings.oApi._fnPageChange( oSettings, "previous" ) )
{
fnCallbackDraw( oSettings );
}
} );
$(nNext).bind( 'click.DT', function() {
$(nNext).on( 'click.DT', function() {
if ( oSettings.oApi._fnPageChange( oSettings, "next" ) )
{
fnCallbackDraw( oSettings );
}
} );
$(nLast).bind( 'click.DT', function() {
$(nLast).on( 'click.DT', function() {
if ( oSettings.oApi._fnPageChange( oSettings, "last" ) )
{
fnCallbackDraw( oSettings );
@@ -456,8 +456,8 @@
/* Take the brutal approach to cancelling text selection */
$('span', nPaging)
.bind( 'mousedown.DT', function () { return false; } )
.bind( 'selectstart.DT', function () { return false; } );
.on( 'mousedown.DT', function () { return false; } )
.on( 'selectstart.DT', function () { return false; } );
/* ID the first elements only */
if ( oSettings.sTableId !== '' && typeof oSettings.aanFeatures.p == "undefined" )
@@ -555,8 +555,8 @@
/* Build up the dynamic list forst - html and listeners */
var qjPaginateList = $('span:eq(2)', an[i]);
qjPaginateList.html( sList );
$('span', qjPaginateList).bind( 'click.DT', fnClick ).bind( 'mousedown.DT', fnFalse )
.bind( 'selectstart.DT', fnFalse );
$('span', qjPaginateList).on( 'click.DT', fnClick ).on( 'mousedown.DT', fnFalse )
.on( 'selectstart.DT', fnFalse );
/* Update the 'premanent botton's classes */
anButtons = an[i].getElementsByTagName('span');
@@ -2175,7 +2175,7 @@
}
/* Blitz all DT events */
$(oSettings.nTableWrapper).find('*').andSelf().unbind('.DT');
$(oSettings.nTableWrapper).find('*').andSelf().off('.DT');
/* If there is an 'empty' indicator row, remove it */
$('tbody>tr>td.'+oSettings.oClasses.sRowEmpty, oSettings.nTable).parent().remove();
@@ -3051,7 +3051,7 @@
_fnSortAttachListener( oSettings, oSettings.aoColumns[i].nTh, i );
/* Take the brutal approach to cancelling text selection in header */
$(oSettings.aoColumns[i].nTh).bind( 'mousedown.DT', fnNoSelect );
$(oSettings.aoColumns[i].nTh).on( 'mousedown.DT', fnNoSelect );
}
else
{
@@ -3971,7 +3971,7 @@
iWidth, aApplied=[], iSanityWidth,
nScrollFootInner = (o.nTFoot !== null) ? o.nScrollFoot.getElementsByTagName('div')[0] : null,
nScrollFootTable = (o.nTFoot !== null) ? nScrollFootInner.getElementsByTagName('table')[0] : null,
ie67 = $.browser.msie && $.browser.version <= 7;
ie67 = (navigator.userAgent.match(/MSIE ([2-7]\.)/) !== null);
/*
* 1. Re-create the table inside the scrolling div
@@ -4288,7 +4288,7 @@
var jqFilter = $("input", nFilter);
jqFilter.val( oSettings.oPreviousSearch.sSearch.replace('"','&quot;') );
jqFilter.bind( 'keyup.DT', function(e) {
jqFilter.on( 'keyup.DT', function(e) {
/* Update all other filter input elements for the new display */
var n = oSettings.aanFeatures.f;
for ( var i=0, iLen=n.length ; i<iLen ; i++ )
@@ -4310,7 +4310,7 @@
}
} );
jqFilter.bind( 'keypress.DT', function(e) {
jqFilter.on( 'keypress.DT', function(e) {
/* Prevent default */
if ( e.keyCode == 13 )
{
@@ -4763,7 +4763,7 @@
*/
function _fnSortAttachListener ( oSettings, nNode, iDataIndex, fnCallback )
{
$(nNode).bind( 'click.DT', function (e) {
$(nNode).on( 'click.DT', function (e) {
/* If the column is not sortable - don't to anything */
if ( oSettings.aoColumns[iDataIndex].bSortable === false )
{
@@ -5300,7 +5300,7 @@
*/
$('select option[value="'+oSettings._iDisplayLength+'"]',nLength).attr("selected",true);
$('select', nLength).bind( 'change.DT', function(e) {
$('select', nLength).on( 'change.DT', function(e) {
var iVal = $(this).val();
/* Update all other length options for the new display */
@@ -6259,8 +6259,8 @@
*/
try
{
oData = (typeof $.parseJSON == 'function') ?
$.parseJSON( sData.replace(/'/g, '"') ) : eval( '('+sData+')' );
oData = (typeof JSON.parse == 'function') ?
JSON.parse( sData.replace(/'/g, '"') ) : $.parseJSON( sData.replace(/'/g, '"') );
}
catch( e )
{
@@ -6355,15 +6355,15 @@
if ( fnCallback !== null )
{
oData = (typeof $.parseJSON == 'function') ?
$.parseJSON( sValue ) : eval( '('+sValue+')' );
oData = (typeof JSON.parse == 'function') ?
JSON.parse( sValue ) : $.parseJSON( sValue );
sFullCookie = fnCallback( sNameFile, oData, date.toGMTString(),
aParts.join('/')+"/" );
}
else
{
sFullCookie = sNameFile + "=" + encodeURIComponent(sValue) +
"; expires=" + date.toGMTString() +"; path=" + aParts.join('/')+"/";
"; expires=" + date.toGMTString() +"; path=" + aParts.join('/')+"/; samesite=strict";
}
/* Are we going to go over the cookie limit of 4KiB? If so, try to delete a cookies
@@ -6376,13 +6376,18 @@
if ( iLength+10 > 4096 ) /* Magic 10 for padding */
{
var aCookies =document.cookie.split(';');
var sData;
for ( var i=0, iLen=aCookies.length ; i<iLen ; i++ )
{
if ( aCookies[i].indexOf( sBaseName ) != -1 )
{
/* It's a DataTables cookie, so eval it and check the time stamp */
var aSplitCookie = aCookies[i].split('=');
try { oData = eval( '('+decodeURIComponent(aSplitCookie[1])+')' ); }
try {
sData = decodeURIComponent(aSplitCookie[1]);
oData = (typeof JSON.parse == 'function') ?
JSON.parse( sData.replace(/'/g, '"') ) : $.parseJSON( sData.replace(/'/g, '"') ); }
//try { oData = eval( '('+decodeURIComponent(aSplitCookie[1])+')' ); }
catch( e ) { continue; }
if ( typeof oData.iCreate != 'undefined' && oData.iCreate < iOldTime )
@@ -6396,7 +6401,7 @@
if ( sOldName !== "" )
{
document.cookie = sOldName+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+
aParts.join('/') + "/";
aParts.join('/') + "/; samesite=strict";
}
}

View File

@@ -0,0 +1,143 @@
/*
* jQuery ifixpng plugin
* (previously known as pngfix)
* Version 2.1 (23/04/2008)+jquery1.9fix
* @requires jQuery v1.1.3 or above
*
* Examples at: http://jquery.khurshid.com
* Copyright (c) 2007 Kush M.
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
/**
*
* @example
*
* optional if location of pixel.gif if different to default which is images/pixel.gif
* $.ifixpng('media/pixel.gif');
*
* $('img[@src$=.png], #panel').ifixpng();
*
* @apply hack to all png images and #panel which icluded png img in its css
*
* @name ifixpng
* @type jQuery
* @cat Plugins/Image
* @return jQuery
* @author jQuery Community
*/
(function($) {
/**
* helper variables and function
*/
$.ifixpng = function(customPixel) {
if (customPixel !== undefined) {
$.ifixpng.pixel = customPixel;
}
};
$.ifixpng.getPixel = function() {
return $.ifixpng.pixel || 'images/pixel.gif';
};
var hack = {
ltie7 : (navigator.userAgent.match(/MSIE ((5\.5)|(6\.))/) !== null),
filter : function(src) {
return "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale,src='"+src+"')";
}
};
/**
* Applies ie png hack to selected dom elements
*
* $('img[@src$=.png]').ifixpng();
* @desc apply hack to all images with png extensions
*
* $('#panel, img[@src$=.png]').ifixpng();
* @desc apply hack to element #panel and all images with png extensions
*
* @name ifixpng
*/
$.fn.ifixpng = hack.ltie7 ? function(customPixel) {
if (customPixel !== undefined) {
$.ifixpng.pixel = customPixel;
}
return this.each(function() {
var filter = $(this).css('filter');
if (!filter.match(/src=["']?(.*\.png([?].*)?)["']?/i)) { // if not yet executed
// in case rewriting urls
var base = $('base').attr('href');
if (base) {
// remove anything after the last '/'
base = base.replace(/\/[^\/]+$/,'/');
}
if ($(this).is('img') || $(this).is('input')) { // hack image tags present in dom
if ($(this).attr('src')) {
if ($(this).attr('src').match(/.*\.png([?].*)?$/i)) { // make sure it is png image
// use source tag value if set
var source = (base && $(this).attr('src').search(/^(\/|http:)/i)) ? base + $(this).attr('src') : $(this).attr('src');
// apply filter
$(this).css({filter:hack.filter(source), width:$(this).width(), height:$(this).height()})
.attr({src:$.ifixpng.getPixel()})
.positionFix();
}
}
} else { // hack png css properties present inside css
var image = $(this).css('backgroundImage');
if (image.match(/^url\(["']?(.*\.png([?].*)?)["']?\)$/i)) {
image = RegExp.$1;
image = (base && image.substring(0,1)!='/') ? base + image : image;
$(this).css({backgroundImage:'none', filter:hack.filter(image)})
.children().children().positionFix();
}
}
}
});
} : function() { return this; };
/**
* Removes any png hack that may have been applied previously
*
* $('img[@src$=.png]').iunfixpng();
* @desc revert hack on all images with png extensions
*
* $('#panel, img[@src$=.png]').iunfixpng();
* @desc revert hack on element #panel and all images with png extensions
*
* @name iunfixpng
*/
$.fn.iunfixpng = hack.ltie7 ? function() {
return this.each(function() {
var src = $(this).css('filter');
if (src.match(/src=["']?(.*\.png([?].*)?)["']?/i)) { // get img source from filter
src = RegExp.$1;
if ($(this).is('img') || $(this).is('input')) {
$(this).attr({src:src}).css({filter:''});
} else {
$(this).css({filter:'', background:'url('+src+')'});
}
}
});
} : function() { return this; };
/**
* positions selected item relatively
*/
$.fn.positionFix = function() {
return this.each(function() {
var position = $(this).css('position');
if (position != 'absolute' && position != 'relative') {
$(this).css({position:'relative'});
}
});
};
})(jQuery);

View File

@@ -1,5 +1,5 @@
/**
* jGrowl 1.2.6
* jGrowl 1.2.6+jquery1.9fix+jquery3fix+bindfix
*
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
@@ -110,7 +110,7 @@
/** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
$.jGrowl = function( m , o ) {
// To maintain compatibility with older version that only supported one instance we'll create the base container.
if ( $('#jGrowl').size() == 0 )
if ( $('#jGrowl').length == 0 )
$('<div id="jGrowl"></div>').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo('body');
// Create a notification on the container.
@@ -214,21 +214,21 @@
'<div class="jGrowl-close">' + o.closeTemplate + '</div>' +
'<div class="jGrowl-header">' + o.header + '</div>' +
'<div class="jGrowl-message">' + message + '</div></div>'
).data("jGrowl", o).addClass(o.theme).children('div.jGrowl-close').bind("click.jGrowl", function() {
).data("jGrowl", o).addClass(o.theme).children('div.jGrowl-close').on("click.jGrowl", function() {
$(this).parent().trigger('jGrowl.close');
}).parent();
/** Notification Actions **/
$(notification).bind("mouseover.jGrowl", function() {
$(notification).on("mouseover.jGrowl", function() {
$('div.jGrowl-notification', self.element).data("jGrowl.pause", true);
}).bind("mouseout.jGrowl", function() {
}).on("mouseout.jGrowl", function() {
$('div.jGrowl-notification', self.element).data("jGrowl.pause", false);
}).bind('jGrowl.beforeOpen', function() {
}).on('jGrowl.beforeOpen', function() {
if ( o.beforeOpen.apply( notification , [notification,message,o,self.element] ) != false ) {
$(this).trigger('jGrowl.open');
}
}).bind('jGrowl.open', function() {
}).on('jGrowl.open', function() {
if ( o.open.apply( notification , [notification,message,o,self.element] ) != false ) {
if ( o.glue == 'after' ) {
$('div.jGrowl-notification:last', self.element).after(notification);
@@ -238,7 +238,7 @@
$(this).animate(o.animateOpen, o.openDuration, o.easing, function() {
// Fixes some anti-aliasing issues with IE filters.
if ($.browser.msie && (parseInt($(this).css('opacity'), 10) === 1 || parseInt($(this).css('opacity'), 10) === 0))
if ((navigator.userAgent.match(/MSIE ([1-9])/) !== null) && (parseInt($(this).css('opacity'), 10) === 1 || parseInt($(this).css('opacity'), 10) === 0))
this.style.removeAttribute('filter');
if ( $(this).data("jGrowl") != null ) // Happens when a notification is closing before it's open.
@@ -247,12 +247,12 @@
$(this).trigger('jGrowl.afterOpen');
});
}
}).bind('jGrowl.afterOpen', function() {
}).on('jGrowl.afterOpen', function() {
o.afterOpen.apply( notification , [notification,message,o,self.element] );
}).bind('jGrowl.beforeClose', function() {
}).on('jGrowl.beforeClose', function() {
if ( o.beforeClose.apply( notification , [notification,message,o,self.element] ) != false )
$(this).trigger('jGrowl.close');
}).bind('jGrowl.close', function() {
}).on('jGrowl.close', function() {
// Pause the notification, lest during the course of animation another close event gets called.
$(this).data('jGrowl.pause', true);
$(this).animate(o.animateClose, o.closeDuration, o.easing, function() {
@@ -269,11 +269,11 @@
if ( o.corners != '' && $.fn.corner != undefined ) $(notification).corner( o.corners );
/** Add a Global Closer if more than one notification exists **/
if ( $('div.jGrowl-notification:parent', self.element).size() > 1 &&
$('div.jGrowl-closer', self.element).size() == 0 && this.defaults.closer != false ) {
if ( $('div.jGrowl-notification:parent', self.element).length > 1 &&
$('div.jGrowl-closer', self.element).length == 0 && this.defaults.closer != false ) {
$(this.defaults.closerTemplate).addClass('jGrowl-closer ' + this.defaults.themeState + ' ui-corner-all').addClass(this.defaults.theme)
.appendTo(self.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing)
.bind("click.jGrowl", function() {
.on("click.jGrowl", function() {
$(this).siblings().trigger("jGrowl.beforeClose");
if ( $.isFunction( self.defaults.closer ) ) {
@@ -297,10 +297,10 @@
});
if ( this.notifications.length > 0 &&
(this.defaults.pool == 0 || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) )
(this.defaults.pool == 0 || $(this.element).find('div.jGrowl-notification:parent').length < this.defaults.pool) )
this.render( this.notifications.shift() );
if ( $(this.element).find('div.jGrowl-notification:parent').size() < 2 ) {
if ( $(this.element).find('div.jGrowl-notification:parent').length < 2 ) {
$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
$(this).remove();
});
@@ -314,7 +314,7 @@
$(e).data('jGrowl.instance').update();
}, parseInt(this.defaults.check));
if ($.browser.msie && parseInt($.browser.version) < 7 && !window["XMLHttpRequest"]) {
if ((navigator.userAgent.match(/MSIE ([2-6]\.)/) !== null) && !window["XMLHttpRequest"]) {
$(this.element).addClass('ie6');
}
},

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@
* Licensed under the MIT license
*
* $Date: 2010-02-23 (Tue, 23 Feb 2010) $
* $version: 1.6.2+jquery1.8fix
* $version: 1.6.2+jquery1.8fix+bindfix+ff2fix
*/
jQuery(function($) {
@@ -87,8 +87,8 @@ jQuery(function($) {
var me = $(this);
if (this.nodeName.toLowerCase() == 'form') {
me
.unbind('submit.nyroModal')
.bind('submit.nyroModal', function(e) {
.off('submit.nyroModal')
.on('submit.nyroModal', function(e) {
if(e.isDefaultPrevented())
return false;
if (me.data('nyroModalprocessing'))
@@ -107,8 +107,8 @@ jQuery(function($) {
});
} else {
me
.unbind('click.nyroModal')
.bind('click.nyroModal', function(e) {
.off('click.nyroModal')
.on('click.nyroModal', function(e) {
if(e.isDefaultPrevented())
return false;
e.preventDefault();
@@ -290,7 +290,7 @@ jQuery(function($) {
manual: '<div class="wrapper"></div>'
},
closeButton: '<a href="#" class="nyroModalClose" id="closeBut" title="close">Close</a>', // Adding automaticly as the first child of #nyroModalWrapper
closeButton: '<a href="#" class="nyroModalClose" id="closeBut" title="close"></a>', // Adding automaticly as the first child of #nyroModalWrapper
title: null, // Modal title
titleFromIframe: true, // When using iframe in the same domain, try to get the title from it
@@ -422,7 +422,7 @@ jQuery(function($) {
.error(loadingError)
.load(function() {
debug('Image Loaded: '+this.src);
$(this).unbind('load');
$(this).off('load');
var w = modal.tmp.width();
var h = modal.tmp.height();
modal.tmp.css({lineHeight: ''});
@@ -726,7 +726,7 @@ jQuery(function($) {
backgroundColor: currentSettings.bgColor
}, currentSettings.cssOpt.bg))
.before(iframeHideIE);
modal.bg.bind('click.nyroModal', clickBg);
modal.bg.on('click.nyroModal', clickBg);
modal.loading = $('#nyroModalLoading')
.css(currentSettings.cssOpt.loading)
.hide();
@@ -748,12 +748,12 @@ jQuery(function($) {
});
}
$(document).bind('keydown.nyroModal', keyHandler);
$(document).on('keydown.nyroModal', keyHandler);
modal.content.css({width: 'auto', height: 'auto'});
modal.contentWrapper.css({width: 'auto', height: 'auto'});
if (!currentSettings.blocker && currentSettings.windowResize) {
$(window).bind('resize.nyroModal', function() {
$(window).on('resize.nyroModal', function() {
window.clearTimeout(windowResizeTimeout);
windowResizeTimeout = window.setTimeout(windowResizeHandler, 200);
});
@@ -925,8 +925,8 @@ jQuery(function($) {
.addClass(currentSettings.errorClass)
.html(currentSettings.contentError);
$(currentSettings.closeSelector, modal.loading)
.unbind('click.nyroModal')
.bind('click.nyroModal', removeModal);
.off('click.nyroModal')
.on('click.nyroModal', removeModal);
setMarginLoading();
modal.loading
.css({
@@ -963,14 +963,15 @@ jQuery(function($) {
modal.content.append(modal.scripts);
$(currentSettings.closeSelector, modal.contentWrapper)
.unbind('click.nyroModal')
.bind('click.nyroModal', removeModal);
.off('click.nyroModal')
.on('click.nyroModal', removeModal);
$(currentSettings.openSelector, modal.contentWrapper).nyroModal(getCurrentSettingsNew());
}
// Get the current settings to be used in new links
function getCurrentSettingsNew() {
return callingSettings;
/*
var currentSettingsNew = $.extend(true, {}, currentSettings);
if (resized.width)
currentSettingsNew.width = null;
@@ -982,6 +983,7 @@ jQuery(function($) {
currentSettingsNew.height = initSettingsSize.height;
currentSettingsNew.cssOpt.content.overflow = 'auto';
return currentSettingsNew;
*/
}
// Wrap the content and update the modal size if needed
@@ -1241,9 +1243,9 @@ jQuery(function($) {
if (e)
e.preventDefault();
if (modal.full && modal.ready) {
$(document).unbind('keydown.nyroModal');
$(document).off('keydown.nyroModal');
if (!currentSettings.blocker)
$(window).unbind('resize.nyroModal');
$(window).off('resize.nyroModal');
modal.ready = false;
modal.anim = true;
modal.closing = true;
@@ -1314,8 +1316,8 @@ jQuery(function($) {
else
modal.loading.html(currentSettings.contentLoading);
$(currentSettings.closeSelector, modal.loading)
.unbind('click.nyroModal')
.bind('click.nyroModal', removeModal);
.off('click.nyroModal')
.on('click.nyroModal', removeModal);
setMarginLoading();
currentSettings.showLoading(modal, currentSettings, function(){modal.anim=false;showContentOrLoading();});
}
@@ -1360,7 +1362,7 @@ jQuery(function($) {
jFrom.attr('target', '');
$('input[name='+currentSettings.formIndicator+']', currentSettings.from).remove();
var iframe = modal.tmp.children('iframe');
var iframeContent = iframe.unbind('load').contents().find(currentSettings.selector || 'body').not('script[src]');
var iframeContent = iframe.off('load').contents().find(currentSettings.selector || 'body').not('script[src]');
iframe.attr('src', 'about:blank'); // Used to stop the loading in FF
modal.tmp.html(iframeContent.html());
if (modal.tmp.html()) {
@@ -1431,7 +1433,7 @@ jQuery(function($) {
function endRemove() {
debug('endRemove');
$(document).unbind('keydown', keyHandler);
$(document).off('keydown', keyHandler);
modal.anim = false;
modal.full.remove();
modal.full = null;

View File

@@ -3,8 +3,7 @@
* jQuery Timer plugin v0.1
* Matt Schmidt [http://www.mattptr.net]
*
* Licensed under the BSD License:
* http://mattptr.net/license/license.txt
* Licensed under the MIT License
*
*/
@@ -72,4 +71,4 @@
};
return new _timer(interval, callback);
};
};

View File

@@ -1,6 +1,6 @@
/*
Copyright: Paul Hanlon
version 2009-06-22+statefix+spanfix+altfix+undefinedfix+ie6cachefix+multilinefix+divfix
Released under the MIT/BSD licence which means you can do anything you want
with it, as long as you keep this copyright notice on the page
*/
@@ -8,29 +8,30 @@ with it, as long as you keep this copyright notice on the page
jq.fn.jqTreeTable=function(map, options){
var opts = jq.extend({openImg:"",shutImg:"",leafImg:"",lastOpenImg:"",lastShutImg:"",lastLeafImg:"",vertLineImg:"",blankImg:"",collapse:false,column:0,striped:false,highlight:false,state:true},options),
mapa=[],mapb=[],tid=this.attr("id"),collarr=[],
stripe=function(){
stripe=function(){
if(opts.striped){
$("#"+tid+" tr:not(.collapsed)").filter(":even").addClass("even").removeClass("odd").end().filter(":odd").removeClass("even").addClass("odd");
$("#"+tid+" tr:not(.collapsed)").filter(":even").addClass("even").removeClass("odd").end().filter(":odd").removeClass("even").addClass("odd");
}
},
},
buildText = function(parno, preStr){//Recursively build up the text for the images that make it work
var mp=mapa[parno], ro=0, pre="", pref, img;
for (var y=0,yl=mp.length;y<yl;y++){
if (mp!==undefined) for (var y=0,yl=mp.length;y<yl;y++){
ro = mp[y];
if (mapa[ro]){//It's a parent as well. Build it's string and move on to it's children
pre=(y==yl-1)? opts.blankImg: opts.vertLineImg;
img=(y==yl-1)? opts.lastOpenImg: opts.openImg;
mapb[ro-1] = preStr + '<img src="'+img+'" class="parimg" id="'+tid+ro+'">';
pref = preStr + '<img src="'+pre+'" class="preimg">';
mapb[ro-1] = preStr + '<span class="treeimg" style="background-image: url(\''+pre+'\')"><div style="background-image: url(\''+img+'\')" class="parimg" id="'+tid+ro+'"'+(img=(y==yl-1)? ' last=1': '')+'></div></span>';
pref = preStr + '<span class="treeimg preimg" style="background-image: url(\''+pre+'\')"></span>';
arguments.callee(ro, pref);
}else{//it's a child
pre=(y==yl-1)? opts.blankImg: opts.vertLineImg;
img = (y==yl-1)? opts.lastLeafImg: opts.leafImg;//It's the last child, It's child will have a blank field behind it
mapb[ro-1] = preStr + '<img src="'+img+'" class="ttimage" id="'+tid+ro+'">';
mapb[ro-1] = preStr + '<span class="treeimg" style="background-image: url(\''+pre+'\')"><div style="background-image: url(\''+img+'\')" class="ttimage" id="'+tid+ro+'"></div></span>';
}
}
},
expandKids = function(num, last){//Expands immediate children, and their uncollapsed children
jq("#"+tid+num).attr("src", (last)? opts.lastOpenImg: opts.openImg);//
jq("#"+tid+num).css('background-image', "url('"+((last)? opts.lastOpenImg: opts.openImg)+"')");
for (var x=0, xl=mapa[num].length;x<xl;x++){
var mnx = mapa[num][x];
jq("#"+tid+mnx).parents("tr").removeClass("collapsed");
@@ -41,7 +42,7 @@ with it, as long as you keep this copyright notice on the page
},
collapseKids = function(num, last){//Recursively collapses all children and their children and change icon
if (mapa[num]){
jq("#"+tid+num).attr("src", (last)? opts.lastShutImg: opts.shutImg);
jq("#"+tid+num).css('background-image', "url('"+((last)? opts.lastShutImg: opts.shutImg)+"')");
for (var x=0, xl=mapa[num].length;x<xl;x++){
var mnx = mapa[num][x];
jq("#"+tid+mnx).parents("tr").addClass("collapsed");
@@ -72,7 +73,12 @@ with it, as long as you keep this copyright notice on the page
for(i=0; i<l;i++) o[a[i]] = a[i];
for(i in o) r.push(o[i]);
return r;
};
};
try { //ie6 flickering fix
document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}
for (var x=0,xl=map.length; x<xl;x++){//From map of parents, get map of kids
num = map[x];
if (!mapa[num]){
@@ -82,7 +88,7 @@ with it, as long as you keep this copyright notice on the page
}
buildText(0,"");
jq("tbody tr", this).each(function(i){//Inject the images into the column to make it work
jq(this).children("td").eq(opts.column).prepend(mapb[i]);
jq(this).children("td").eq(opts.column).children("div").prepend(mapb[i]);
});
if(opts.state) collarr = cget(tid);
if (!collarr.length){
@@ -95,7 +101,7 @@ with it, as long as you keep this copyright notice on the page
}
if (collarr.length){
for (var y=0,yl=collarr.length;y<yl;y++){
collapseKids(collarr[y], $("#"+tid+collarr[y]+ ".parimg").attr("src")==opts.lastOpenImg);
collapseKids(collarr[y], $("#"+tid+collarr[y]+ ".parimg").attr("last")==1);
}
}
stripe();
@@ -104,11 +110,11 @@ with it, as long as you keep this copyright notice on the page
jqt.click(function(){
var num = parseInt(jqt.attr("id").substr(tid.length));//Number of the row
if (jqt.parents("tr").next().is(".collapsed")){//If the table row directly below is collapsed
expandKids(num, (jqt.attr("src")==opts.lastShutImg));//Then expand all children not in collarr
if(opts.state){creset(num,true);}//If state is set, store in cookie
expandKids(num, jqt.attr("last")==1);//Then expand all children not in collarr
if(opts.state){creset(num,true);}//If state is set, store in cookie
}else{//Collapse all and set image to opts.shutImg or opts.lastShutImg on parents
collapseKids(num, (jqt.attr("src")==opts.lastOpenImg));
if(opts.state){creset(num,false);}//If state is set, store in cookie
collapseKids(num, jqt.attr("last")==1);
if(opts.state){creset(num,false);}//If state is set, store in cookie
}
stripe();//Restripe the rows
});