crabs_firewall-3.0.1 ©2005-2011 - Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)
1 // 2 // ============================================================================= 3 // crabs_firewall-3.0.1 : Firewall-Masquerade avec interface http 4 // Copyright (C) 2005-2011 : Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com) 5 // 6 // Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer 7 // et/ou le modifier en respectant les termes de la GNU General Public License 8 // version 2 ou (suite a votre propre choix) une version ulterieure. 9 // 10 // Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais 11 // sans aucune garantie, meme si il est associe a un produit qui vous en 12 // propose une. Conformez-vous a la GNU General Public License pour avoir 13 // plus de precisions. 14 // 15 // L'auteur ne peut etre tenu responsable de l'utilisation faite des 16 // composantes associees a ce projet (en partie ou dans leur totalite). 17 // 18 // Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC 19 // de ce projet sous le nom gnu_gpl.txt 20 // 21 // ============================================================================= 22 // 23 var mode ; 24 var current_config = null ; 25 var current_log = null ; 26 var current_graph = null ; 27 var current_list ; 28 var the_w ; 29 var the_h ; 30 var div_img ; 31 var array_graph ; 32 33 function firewall_init() 34 { 35 current_list = new Array( null, null, null ) ; 36 div_img = new Array( 'r0', 's1', 'r1', 's0', 'cpu' ) ; 37 accueil() ; 38 array_graph = new Array() ; 39 } 40 41 function commun( r ) 42 { 43 if ( mode != 'config' ) 44 { 45 if ( current_config ) unselect( 'config_sl' ) ; 46 current_config = null ; 47 } 48 if ( mode != 'log' ) 49 { 50 if ( current_log ) unselect( 'log_sl' ) ; 51 current_log = null ; 52 } 53 if ( mode != 'graph' ) 54 { 55 if ( current_graph ) unselect( 'graph_sl' ) ; 56 current_graph = null ; 57 } 58 59 document.getElementById('titre_id').innerHTML = 'Crabs Firewall : '+r[0] ; 60 document.getElementById('firewall_mode_id').innerHTML = 'Mode : '+r[1] ; 61 62 sl_remplit( 'config_sl', r[2], current_config, 0 ) ; 63 sl_remplit( 'log_sl', r[3], current_log, 1 ) ; 64 sl_remplit( 'graph_sl', r[4], current_graph, 2 ) ; 65 } 66 67 function accueil() 68 { 69 if ( mode == 'graph' ) clearTimeout() ; 70 mode = 'accueil' ; 71 var url = "info.cgi?w=accueil" ; 72 var hr = getHTTPObject() ; 73 hr.open( 'GET', url, false ) ; 74 hr.send( null ) ; 75 var reg = new RegExp( '<#>' ) ; 76 var r = hr.responseText.split( reg ) ; 77 var info = '<p class="info">'+r[5]+'<br>'+r[6]+'<br>'+r[7]+'</p>' ; 78 document.getElementById('travail_id').innerHTML = info ; 79 commun( r ) ; 80 delete hr ; 81 document.getElementById('travail_id').scrollTop = 0 ; 82 } 83 84 function parametres() 85 { 86 if ( mode == 'graph' ) clearTimeout() ; 87 var rewind_div = true ; 88 if ( mode == 'param' ) rewind_div = false ; 89 mode = 'param' ; 90 var url = "info.cgi?w=param" ; 91 var hr = getHTTPObject() ; 92 hr.open( 'GET', url, false ) ; 93 hr.send( null ) ; 94 var reg = new RegExp( '<#>' ) ; 95 var r = hr.responseText.split( reg ) ; 96 var info = '<pre>'+r[5]+'</pre><pre>'+r[6]+'</pre>' ; 97 document.getElementById('travail_id').innerHTML = info ; 98 commun( r ) ; 99 delete hr ; 100 if ( rewind_div ) document.getElementById('travail_id').scrollTop = 0 ; 101 } 102 103 function config( sl ) 104 { 105 if ( mode == 'graph' ) clearTimeout() ; 106 var rewind_div = true ; 107 var i_sl = sl.options.selectedIndex ; 108 var v = sl.options[i_sl].value ; 109 if ( (mode=='config') && (v==current_config) ) rewind_div = false ; 110 mode = 'config' ; current_config = v ; 111 var url = "info.cgi?w=config&c="+v ; 112 var hr = getHTTPObject() ; 113 hr.open( 'GET', url, false ) ; 114 hr.send( null ) ; 115 var reg = new RegExp( '<#>' ) ; 116 var r = hr.responseText.split( reg ) ; 117 var info = '<pre>'+r[5]+'</pre><pre>'+r[6]+'</pre>' ; 118 document.getElementById('travail_id').innerHTML = info ; 119 commun( r ) ; 120 delete hr ; 121 if ( rewind_div ) document.getElementById('travail_id').scrollTop = 0 ; 122 } 123 124 function log( sl ) 125 { 126 if ( mode == 'graph' ) clearTimeout() ; 127 var rewind_div = true ; 128 var i_sl = sl.options.selectedIndex ; 129 var v = sl.options[i_sl].value ; 130 if ( (mode == 'log') && (v==current_log) ) rewind_div = false ; 131 mode = 'log' ; current_log = v ; 132 var url = "info.cgi?w=log&l="+v ; 133 var hr = getHTTPObject() ; 134 hr.open( 'GET', url, false ) ; 135 hr.send( null ) ; 136 var reg = new RegExp( '<#>' ) ; 137 var r = hr.responseText.split( reg ) ; 138 var info = '<pre>'+r[5]+'</pre>' ; 139 document.getElementById('travail_id').innerHTML = info ; 140 commun( r ) ; 141 delete hr ; 142 if ( rewind_div ) document.getElementById('travail_id').scrollTop = 0 ; 143 } 144 145 function graph( sl ) 146 { 147 if ( mode == 'graph' ) clearTimeout() ; 148 var clear_div = true ; 149 if ( mode=='graph' ) clear_div = false ; 150 var i_sl = sl.options.selectedIndex ; 151 var v = sl.options[i_sl].value ; 152 mode = 'graph' ; current_graph = v ; 153 if ( clear_div ) graphs_affiche() 154 graph_go() ; 155 } 156 157 function graph_go() 158 { 159 clearTimeout() ; 160 var v = current_graph ; 161 if ( v == "derniers" ) 162 v = document.getElementById('graph_sl').options[1].value ; 163 164 var vi = document.getElementById('fmin').value ; 165 var va = document.getElementById('fmax').value ; 166 var dd = document.getElementById('fdd').value ; 167 var df = document.getElementById('fdf').value ; 168 169 var url = 'info.cgi?w=graph&dt='+v+'&wi='+the_w+'&hi='+the_h 170 + '&vi='+vi+'&va='+va+'&dd='+dd+'&df='+df ; 171 172 var hr = getHTTPObject() ; 173 hr.open( 'GET', url, false ) ; 174 hr.send( null ) ; 175 var reg = new RegExp( '<#>' ) ; 176 var r = hr.responseText.split( reg ) ; 177 commun( r ) ; 178 179 for( var i=5; i<r.length-1; i++ ) 180 { 181 info = r[i].split(';') ; img_id = 'i'+info[0] ; 182 document.getElementById( img_id ).src = info[1] ; 183 graph_courbe_info( img_id, info ) ; 184 } 185 delete hr ; 186 if ( current_graph == "derniers" ) setTimeout( "graph_go();", 300000 ) ; 187 } 188 189 function graph_24() 190 { 191 clearTimeout() ; 192 document.getElementById('fmin').value = "auto" ; 193 document.getElementById('fmax').value = "auto" ; 194 document.getElementById('fdd').value = "0:00" ; 195 document.getElementById('fdf').value = "24:00" ; 196 graph_go() ; 197 } 198 199 function graph_auto() 200 { 201 clearTimeout() ; 202 document.getElementById('fmin').value = "auto" ; 203 document.getElementById('fmax').value = "auto" ; 204 document.getElementById('fdd').value = "auto" ; 205 document.getElementById('fdf').value = "auto" ; 206 graph_go() ; 207 } 208 209 210 function graphs_affiche( sl ) 211 { 212 document.getElementById('travail_id').innerHTML 213 = '<div class="form" id="graph_dep">' 214 + '<b>Début :</b> <input type="text" size="12" id="fdd" value="0:00">' 215 + '<b>Fin :</b> <input type="text" size="12" id="fdf" value="24:00">' 216 + '<b>Vmin :</b> <input type="text" size="12" id="fmin" value="auto">' 217 + '<b>Vmax :</b> <input type="text" size="12" id="fmax" value="auto">' 218 + '<input type="button" onclick="graph_go();" value="Go...">' 219 + '<input type="button" onclick="graph_24();" value="0-24h">' 220 + '<input type="button" onclick="graph_auto();" value="Auto">' 221 + '</div>' 222 + '<div id="r0"><img id="ir0" src="red.png" alt="R0"></div>' 223 + '<div id="s1"><img id="is1" src="red.png" alt="S1"></div>' 224 + '<div id="r1"><img id="ir1" src="red.png" alt="R1"></div>' 225 + '<div id="s0"><img id="is0" src="red.png" alt="S0"></div>' 226 + '<div id="cpu"><img id="icpu" src="red.png" alt="CPU"></div>' ; 227 var travail = document.getElementById( 'travail_id' ) ; 228 var h = travail.offsetHeight ; 229 var w = travail.offsetWidth ; 230 var top = 45 ; var offset = parseInt( ( h - 40 ) / 5 - 5 ) ; 231 for ( var i=0; i<div_img.length; i++ ) 232 { 233 div_id = document.getElementById( div_img[i] ) ; 234 div_id.style.position = "absolute" ; 235 div_id.style.top = top + 'px' ; 236 div_id.style.height = offset + 'px' ; 237 div_id.style.left = 0 ; 238 div_id.style.width = w + 'px' ; 239 top += offset + 5 ; 240 var img_id = document.getElementById( 'i'+div_img[i] ) ; 241 img_id.style.position = "absolute" ; 242 img_id.style.top = "0" ; 243 img_id.style.height = "100%" ; 244 img_id.style.left = "0" ; 245 img_id.style.width = "100%" ; 246 } 247 the_w = w ; the_h = offset ; 248 graph_init() ; 249 } 250 251 function sl_remplit( sl_id, tableau, defaut, curlist ) 252 { 253 if ( current_list[curlist] == tableau ) return ; 254 current_list[curlist] = tableau ; 255 var sl = document.getElementById( sl_id ) ; 256 for( var i=sl.options.length-1; i>0; i-- ) sl.options[i] = null ; 257 v = tableau.split( ';' ) ; 258 for( var i=0; i<v.length; i++ ) 259 { 260 sl.options[i] = new Option( v[i], v[i] ) ; 261 if ( v[i] == defaut ) sl.options[i].selected=true; 262 } 263 } 264 265 function unselect( sl_id ) 266 { 267 var sl = document.getElementById( sl_id ) ; 268 for( var i=0; i<sl.length; i++ ) 269 sl.options[i].selected=false; 270 }
Date de génération : 22/09/2011 21:48