autodist/webbuild/html/webbuild.html

313 lines
11 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<link rel="shortcut icon" type="image/x-icon" href="/images/webbuild.ico" />
<!-- styles needed by jScrollPane -->
<link type="text/css" href="/scripts/jquery.jscrollpane.css" rel="stylesheet" media="all" >
<!-- latest jQuery direct from google's CDN -->
<script type="text/javascript" src="/scripts/jquery.js"></script>
<!-- the mousewheel plugin - optional to provide mousewheel support -->
<script type="text/javascript" src="/scripts/jquery.mousewheel.js"></script>
<!-- the jScrollPane script -->
<script type="text/javascript" src="/scripts/jquery.jscrollpane.min.js"></script>
<link rel="stylesheet" type="text/css" href="/styles/webbuild-standalone.css">
<link rel="stylesheet" type="text/css" href="/styles/webbuild.css">
<script type="text/javascript" src="/scripts/socialbox.js"></script>
<script>
window.onbeforeunload = function (e) {
e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'La sessione di Webbuild verrà chiusa.';
}
// For Safari
return 'La sessione di Webbuild verrà chiusa.';
};
</script>
<!-- styles and scripts needed by CodeMirror editor -->
<script src="/scripts/codemirror/lib/codemirror.js"></script>
<link rel="stylesheet" href="/scripts/codemirror/lib/codemirror.css">
<script src="/scripts/codemirror/mode/rpm/spec/spec.js"></script>
<link rel="stylesheet" href="/scripts/codemirror/mode/rpm/spec/spec.css">
<script src="/scripts/codemirror/lib/util/search.js"></script>
<script src="/scripts/codemirror/lib/util/searchcursor.js"></script>
<script src="/scripts/codemirror/lib/util/dialog.js"></script>
<link rel="stylesheet" href="/scripts/codemirror/lib/util/dialog.css">
<script src="/scripts/webbuild.js"></script>
<script type="text/javascript">
<!--
var user = "";
var user_email = "";
var secret = "";
var lastupdate = 0;
var reloadtime = 15000;
var editor;
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
c_value = null;
}
else
{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)
{
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
function clearid(id) {
document.getElementById(id).innerHTML = '';
}
function editorChanged() {
if (document.getElementById('savebutton') != undefined)
document.getElementById('savebutton').disabled=false;
if (document.getElementById('sendrecreatesrpm') != undefined)
document.getElementById('sendrecreatesrpm').checked=true;
}
function ajax_getvalues(request,confirm) {
var url = "/cgi-bin/webbuild"
var xmlhttp;
if (!user) {
user=getCookie("webbuild-user");
if (!user) user="";
}
if (!secret) {
secret=getCookie("webbuild-secret");
if (!secret) secret="";
}
if (confirm) {
document.getElementById("status").innerHTML =
'<div class=screencontainer><div class=opaquebackground></div>'+
'<div class=questionbox><div style="overflow:auto;max-height:200px;">'+decodeURIComponent(confirm)+'</div>'+
'<br><a href=# onclick=ajax_getvalues("'+request+'")>YES</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=# onclick=clearid("status")>NO</a></div></div>';
return;
}
document.getElementById("webbuildform").disabled = true;
if (request != "")
request=request+"&USER="+user+"&USER_EMAIL="+user_email+"&SECRET="+encodeURIComponent(secret);
else
request="USER="+user+"&USER_EMAIL="+user_email+"&SECRET="+encodeURIComponent(secret);
if (window.location.href.indexOf('?') > 0)
url = url + "?" + window.location.href.replace(/.*\?/,"");
if (window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();
else if (window.ActiveXObject)
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
else
return;
document.getElementById("noajax_msg").innerHTML = "";
document.getElementById("status").innerHTML =
'<div class=opaquebackground>'+
'<div style="text-align:left;color:white;position:absolute;left:0;top:0;" id=matrix class=matrix></div>'+
'<div style="position:absolute;left:50%;top:50%;"><img src="/images/wait.gif" title="Attendi..."</div>'+
'<div style="position:fixed;left:95%;top:95%;color:red;"><a href="javascript:clearid(\'status\');">[x] Close</a></div>'+
'</div>';
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState < 4)
return;
if (xmlhttp.responseXML == undefined && xmlhttp.responseText == undefined) {
document.getElementById("status").innerHTML = "";
document.getElementById("output").innerHTML = "ERROR: there was a network connection problem." + xmlhttp.readyState + " " + xmlhttp.status;
xmlhttp.abort();
return;
}
var xmldoc = xmlhttp.responseXML.documentElement;
if (xmldoc == undefined) {
return;
}
var nodes = xmldoc.childNodes;
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].nodeName == "title") {
document.title = nodes[i].childNodes[0].nodeValue;
} else if (nodes[i].nodeName == "cookie-user") {
setCookie("webbuild-user", nodes[i].childNodes[0].nodeValue);
} else if (nodes[i].nodeName == "cookie-secret") {
setCookie("webbuild-secret", nodes[i].childNodes[0].nodeValue);
} else if (document.getElementById(nodes[i].nodeName) != undefined) {
$("#"+nodes[i].nodeName).html(nodes[i].childNodes[0].nodeValue);
spectext = document.getElementById("spectext");
if ((nodes[i].nodeName == "editor") && (spectext != undefined) && (spectext.parentNode != undefined))
{
editor = CodeMirror.fromTextArea(spectext,
{ lineNumbers: true,
tabSize: 4,
indentUnit: 4,
indentWithTabs: true,
onChange: function() { editorChanged(); }
});
} else if ((nodes[i].nodeName == "output") && (document.getElementById("outputbottom") != undefined)) {
document.getElementById("outputbottom").scrollTop = document.getElementById("outputbottom").scrollHeight;
} else if ((nodes[i].nodeName == "processes")) {
$(function() { $('.scroll-pane3').jScrollPane({scrollbarWidth:10}); });
}
}
}
//alert("nodes done");
document.getElementById("webbuildform").disabled = false;
document.getElementById("status").innerHTML = "";
}
xmlhttp.onprogress = function() {
var end = 0,to;
// save responseText length when entering the function
to = this.responseText.length - 1;
if (start < 0) {
start = this.responseText.substring(0,to).indexOf("<!-- SCROLL -->");
if (start >= 0) start+=15;
}
if (start >= 0) {
end = this.responseText.substring(start+currpos-15,to).indexOf("<!-- ENDSCROLL -->");
if (end >= 0) to = end;
if (to > start) {
var customscroll = document.getElementById("matrix").scrollTop <
(document.getElementById("matrix").scrollHeight - document.getElementById("matrix").clientHeight);
document.getElementById("matrix").innerHTML =
"<div id=matrixoutput><pre>" + this.responseText.substring(start,to).replace("</pre>","&lt;/pre&gt;") + "</pre></div>";
currpos = document.getElementById("matrixoutput").innerHTML.length;
if (!customscroll)
document.getElementById("matrix").scrollTop = document.getElementById("matrix").scrollHeight;
}
}
}
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(request);
// setTimeout(function() { alert ("Timeout expired"); xmlhttp.abort(); }, 600000);
var currpos = 0, start = -1;
}
// ajaxFileUpload
function ajaxFileUpload(request)
{
/* $("#loading")
.ajaxStart(function(){
$(this).show();
})
.ajaxComplete(function(){
$(this).hide();
});*/
$.ajaxFileUpload
(
{
url:'/cgi-bin/webbuild',
secureuri:false,
fileElementId:'fileToUpload',
dataType: 'xml',
beforeSend:function()
{
$("#loading").show();
},
complete:function()
{
$("#loading").hide();
},
success: function (data, status)
{
ajax_getvalues(request);
if(typeof(data.error) != 'undefined')
{
if(data.error != '')
{
alert(data.error);
}else
{
alert(data.msg);
}
}
},
error: function (data, status, e)
{
alert(e);
}
}
)
return false;
}
</script>
<link rel="stylesheet" type="text/css" href="/styles/webbuild-post.css">
</head><body>
<table width="100%">
<tr><td>
<span class=webbuild>
<div id=container style="position:relative;width:894px;height:auto;top:0;left:0;margin-left:auto;margin-right:auto;">
<form id=webbuildform name=webbuild method=post action="javascript:">
<img src="/images/webbuild.png" alt="build automatici">
&nbsp;&nbsp;&nbsp;<b>- Webbuild - Interfaccia Web per lo sviluppo di openmamba</b>
<span id="searchbox"></span>
<div style="position:relative;top:-30px;left:0;width:100%;height:100%;">
<div id="noajax_msg"><p>Il supporto per AJAX non è abilitato nel tuo browser. L'aggiornamento live non sarà disponibile, premi Ricarica per aggiornare la pagina.</p></div>
<span id="status">Caricamento in corso, attendere...</span>
<span id="topcontrols"></span><span id="environments"></span><span id="specedit"></span>
<br><span id="repositories"></span>
<span id="packages"></span>
<span id="operations"></span>
<br><span id="speccreate"></span>
<div style="position:relative;float:left;width:686px;padding:0;margin:1px;">
<div class="processes"><div class="scroll-pane3"><span id="processes"></span></div></div><br>
<div><span id="editor"></span></div>
<span id="editcontrols"></span>
<span id="showlogcontrols"></span>
<span id="output"></span>
</div>
<div style="position:relative;float:right;width:200px;padding:0;margin:1px;">
<div class="socialbox"><div class="scroll-pane"><span id="socialbox"></span></div></div>
<span id="operationpanel" style="margin:0;"></span>
<span id="chatpanel"></span>
</div>
<div style="clear:both"></div>
<span id="window"></span>
</form>
</div>
</span>
<script>
ajax_getvalues("");
ajax_getvalues_refresh("",user,user_email,encodeURIComponent(secret));
//setInterval("ajax_getvalues_refresh(\"\",user,user_email,encodeURIComponent(secret))",0);
</script>
<br><br><br><br><br><br>
</td></tr>
</table>
</body></html>