Download Java Interactive Virtual Environment System - POLITesi
Transcript
Server-side Rendezvous directory active page
181
}
foreach ( $ nodesToR emove as $node ) $node - > parentNode - > removeChild ( $node );
$files = scandir ( A P P L I C A T I O N _ D I R E C T O R Y );
foreach ( $files as $index = > $file ) {
foreach ( $ p r o g r a m F i l e s T o K e e p as $programFile ) {
if ( strcmp ( $file , ’ rendezvous_ ’. $programFile . ’. xml ’ )==0) {
unset ( $files [ $index ]);
}
}
}
foreach ( $files as $file ) {
if ( is_file ( A P P L I C A T I O N _ D I R E C T O R Y . $file )) {
unlink ( A P P L I C A T I O N _ D I R E C T O R Y . $file );
}
}
$doc - > save ( ’ rendezvous . xml ’ );
echo " Query inactive rendezvous completed ! " ;
break ;
case ’ updatetime ’ :
if ( strcmp ( $_GET [ ’ token ’] , md5 ( $_GET [ ’ pid ’ ]. $_GET [ ’ program ’ ]))==0) {
$doc = new DOMDocument ();
$doc -> p r e s e r v e W h i t e S p a c e = false ;
$doc -> load ( ’ rendezvous . xml ’ );
$doc -> formatOutput = true ;
$root = $doc - > do cu me n tE le m en t ;
$ r e n d e z v o u s _ l i st = $root - > g e t E l e m e n t s B y T a g N a m e ( ’ rendezvous ’ );
foreach ( $ r e n d e z v o u s _ l i s t as $rendezvous ) {
$program = $rendezvous - > g e t A t t r i b u t e N o d e ( ’ program ’) - > value ;
$MD5 = $rendezvous - > g e t A t t r i b u t e N od e ( ’ md5 ’) - > value ;
$IPv4 = $rendezvous - > g e t E l e m e n t s B y T a g N a m e ( ’ ipv4 ’) - > item (0) - > textContent ;
$IPv6 = $rendezvous - > g e t E l e m e n t s B y T a g N a m e ( ’ ipv6 ’) - > item (0) - > textContent ;
$port = $rendezvous - > g e t E l e m e n t s B y T a g N a m e ( ’ port ’) - > item (0) - > textContent ;
$PID = $rendezvous - > g e t E l e m e n t s B y T a g N a m e ( ’ pid ’) - > item (0) - > textContent ;
$time = $rendezvous - > g e t E l e m e n t s B y T a g N a m e ( ’ time ’) - > item (0) - > textContent ;
if ( $IPv4 ==
&& $port ==
&& $program
&& $time !=
$_GET [ ’ addr ’] && $IPv6 == $_GET [ ’ addr2 ’]
$_GET [ ’ port ’] && $PID == $_GET [ ’ pid ’]
== $_GET [ ’ program ’] && $MD5 == $_GET [ ’ md5 ’]
null ) {
$rendezvous - > removeChild ( $rendezvous - > g e t E l e m e n t s B y T a g N a m e ( ’ time ’)
-> item (0));
$newtime = $doc - > createElement ( " time " );
$text_newtime = $doc - > creat eTextNod e ( $_GET [ ’ time ’ ]);
$newtime - > appendChild ( $text_newtime );
$rendezvous - > appendChild ( $newtime );
$response = " Update process completed ! New time : " ;
$timetoprint = $_GET [ ’ time ’ ];
echo $response . $timetoprint ;
$doc - > save ( ’ rendezvous . xml ’ );
}
}
} else {