Aggiunti nuovi task per mail server Creato metodo in guihandler per aprire le pagine con richiesta post Aggiunta possibilità di passare callback ai backend delle datatables Modificati alcuni url Modificato HTMLInclusion per non utilizzare i path assoluti in fase di creazione ma solo in fase di stampa degli header (per evitare problemi sugli script) Creato mailserver e mail template Creata interfaccia mail per salvataggio mail in database, gestione coda. Creata interfaccia grafica per la gestione delle mail e delle code Incluse librerie PHP_Mailer Inserite pagine di creazione e cancellazione manuale utenti Bugfix su alcune pagine di edit
123 lines
2.4 KiB
JavaScript
123 lines
2.4 KiB
JavaScript
(function() {
|
|
|
|
var sh = SyntaxHighlighter;
|
|
|
|
/**
|
|
* Provides functionality to dynamically load only the brushes that a needed to render the current page.
|
|
*
|
|
* There are two syntaxes that autoload understands. For example:
|
|
*
|
|
* SyntaxHighlighter.autoloader(
|
|
* [ 'applescript', 'Scripts/shBrushAppleScript.js' ],
|
|
* [ 'actionscript3', 'as3', 'Scripts/shBrushAS3.js' ]
|
|
* );
|
|
*
|
|
* or a more easily comprehendable one:
|
|
*
|
|
* SyntaxHighlighter.autoloader(
|
|
* 'applescript Scripts/shBrushAppleScript.js',
|
|
* 'actionscript3 as3 Scripts/shBrushAS3.js'
|
|
* );
|
|
*/
|
|
sh.autoloader = function()
|
|
{
|
|
var list = arguments,
|
|
elements = sh.findElements(),
|
|
brushes = {},
|
|
scripts = {},
|
|
all = SyntaxHighlighter.all,
|
|
allCalled = false,
|
|
allParams = null,
|
|
i
|
|
;
|
|
|
|
SyntaxHighlighter.all = function(params)
|
|
{
|
|
allParams = params;
|
|
allCalled = true;
|
|
};
|
|
|
|
function addBrush(aliases, url)
|
|
{
|
|
for (var i = 0; i < aliases.length; i++)
|
|
brushes[aliases[i]] = url;
|
|
};
|
|
|
|
function getAliases(item)
|
|
{
|
|
return item.pop
|
|
? item
|
|
: item.split(/\s+/)
|
|
;
|
|
}
|
|
|
|
// create table of aliases and script urls
|
|
for (i = 0; i < list.length; i++)
|
|
{
|
|
var aliases = getAliases(list[i]),
|
|
url = aliases.pop()
|
|
;
|
|
|
|
addBrush(aliases, url);
|
|
}
|
|
|
|
// dynamically add <script /> tags to the document body
|
|
for (i = 0; i < elements.length; i++)
|
|
{
|
|
var url = brushes[elements[i].params.brush];
|
|
|
|
if(url && scripts[url] === undefined)
|
|
{
|
|
if(elements[i].params['html-script'] === 'true')
|
|
{
|
|
if(scripts[brushes['xml']] === undefined) {
|
|
loadScript(brushes['xml']);
|
|
scripts[url] = false;
|
|
}
|
|
}
|
|
|
|
scripts[url] = false;
|
|
loadScript(url);
|
|
}
|
|
}
|
|
|
|
function loadScript(url)
|
|
{
|
|
var script = document.createElement('script'),
|
|
done = false
|
|
;
|
|
|
|
script.src = url;
|
|
script.type = 'text/javascript';
|
|
script.language = 'javascript';
|
|
script.onload = script.onreadystatechange = function()
|
|
{
|
|
if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete'))
|
|
{
|
|
done = true;
|
|
scripts[url] = true;
|
|
checkAll();
|
|
|
|
// Handle memory leak in IE
|
|
script.onload = script.onreadystatechange = null;
|
|
script.parentNode.removeChild(script);
|
|
}
|
|
};
|
|
|
|
// sync way of adding script tags to the page
|
|
document.body.appendChild(script);
|
|
};
|
|
|
|
function checkAll()
|
|
{
|
|
for(var url in scripts)
|
|
if (scripts[url] == false)
|
|
return;
|
|
|
|
if (allCalled)
|
|
SyntaxHighlighter.highlight(allParams);
|
|
};
|
|
};
|
|
|
|
})();
|