2017-03-15 19:43:10 +00:00
< ? php
// SoniX: yop
// SoniX: pour r<> cup les info de view, il faut utiliser la commande getView
// SoniX: par ex, sur un AIS : "getView (0x0000000001:15:83:83).NamedEntityState" r<> cup<75> re le state de l'entit<69> specifier
// SoniX: "getView *.NamedEntityName" r<> cup<75> re toutes les entit<69> nomm<6D> de l'IA sur laquelle tu balance la commande
// SoniX: et pour setter une valuer :
// SoniX: "getView (0x0000000001:15:83:83).NamedEntityState=1" met le truc <20> 1
// SoniX: En gros, tu r<> cup<75> res les info dans la table variables, et tu vire les 3 premier morceaux (par ex, *.*.AIS.*.NamedEntityName deviens *.NamedEntityName).
// SoniX: Par contre, c'est a toi de faire le dispatch sur chaque AIS si besoin.
// YoGiN: hum, fun fun fun :D
// YoGiN: oki merci beaucoup, je vais voir ca :)
// SoniX: j'ai tester sur linuxshard8, d'jon mark a r<> activ<69> un morceau d'<27> poside 2 dessus avec 1 variable
// YoGiN: d'accord
require_once ( 'common.php' );
require_once ( 'functions_tool_main.php' );
require_once ( 'functions_tool_event_entities.php' );
if ( ! tool_admin_applications_check ( 'tool_event_entities' )) nt_common_redirect ( 'index.php' );
nt_common_add_debug ( '-- Starting on \'tool_event_entities.php\'' );
$tpl -> assign ( 'tool_title' , " Event Entities " );
$view_domain_id = nt_auth_get_session_var ( 'view_domain_id' );
$view_shard_id = nt_auth_get_session_var ( 'view_shard_id' );
if ( ! $view_domain_id )
{
$view_domain_id = $nel_user [ 'group_default_domain_id' ];
$view_shard_id = $nel_user [ 'group_default_shard_id' ];
nt_auth_set_session_var ( 'view_domain_id' , $view_domain_id );
nt_auth_set_session_var ( 'view_shard_id' , $view_shard_id );
}
if ( isset ( $NELTOOL [ 'GET_VARS' ][ 'domain' ]))
{
if ( $view_domain_id != $NELTOOL [ 'GET_VARS' ][ 'domain' ])
{
$view_domain_id = $NELTOOL [ 'GET_VARS' ][ 'domain' ];
nt_auth_set_session_var ( 'view_domain_id' , $view_domain_id );
$view_shard_id = null ;
nt_auth_unset_session_var ( 'view_shard_id' );
}
}
if ( isset ( $NELTOOL [ 'GET_VARS' ][ 'shard' ]))
{
$view_shard_id = $NELTOOL [ 'GET_VARS' ][ 'shard' ];
nt_auth_set_session_var ( 'view_shard_id' , $view_shard_id );
}
if ( isset ( $NELTOOL [ 'GET_VARS' ][ 'refdata' ]))
{
$tmp_data = unserialize ( base64_decode ( $NELTOOL [ 'GET_VARS' ][ 'refdata' ]));
if ( is_array ( $tmp_data ))
{
$NELTOOL [ 'POST_VARS' ] = $tmp_data ;
}
}
$tpl -> assign ( 'tool_domain_list' , $nel_user [ 'access' ][ 'domains' ]);
$tpl -> assign ( 'tool_domain_selected' , $view_domain_id );
$tpl -> assign ( 'tool_shard_list' , $nel_user [ 'access' ][ 'shards' ]);
$tpl -> assign ( 'tool_shard_selected' , $view_shard_id );
$tool_shard_filters = tool_main_get_shard_ids ( $view_shard_id );
$tpl -> assign ( 'tool_shard_filters' , $tool_shard_filters );
//if (tool_admin_applications_check('tool_player_locator_display_players')) $tpl->assign('restriction_tool_player_locator_display_players', true);
//if (tool_admin_applications_check('tool_player_locator_locate')) $tpl->assign('restriction_tool_player_locator_locate', true);
if ( $view_domain_id )
{
$tool_as_error = null ;
$AS_Name = tool_main_get_domain_name ( $view_domain_id );
$AS_Host = tool_main_get_domain_host ( $view_domain_id );
$AS_Port = tool_main_get_domain_port ( $view_domain_id );
$AS_ShardName = tool_main_get_shard_name ( $view_shard_id );
$tpl -> assign ( 'tool_page_title' , 'Event Entities - ' . $AS_Name . ( $AS_ShardName != '' ? ' / ' . $AS_ShardName : '' ));
$tool_as_error = null ;
if ( $AS_Host && $AS_Port )
{
$adminService = new MyAdminService ;
if ( @ $adminService -> connect ( $AS_Host , $AS_Port , $res ) === false )
{
nt_common_add_debug ( $res );
$tpl -> assign ( 'tool_domain_error' , $res );
}
else
{
$tool_services_ee = null ;
if ( isset ( $NELTOOL [ 'POST_VARS' ][ 'services_ee' ])) $tool_services_ee = $NELTOOL [ 'POST_VARS' ][ 'services_ee' ];
elseif ( isset ( $NELTOOL [ 'GET_VARS' ][ 'services_ee' ])) $tool_services_ee = $NELTOOL [ 'GET_VARS' ][ 'services_ee' ];
if ( $tool_services_ee )
{
$tpl -> assign ( 'tool_post_data' , base64_encode ( serialize ( $NELTOOL [ 'POST_VARS' ])));
switch ( $tool_services_ee )
{
case 'update entities' :
$requested_service_list = $NELTOOL [ 'POST_VARS' ][ 'requested_service_list' ];
$service_list = unserialize ( base64_decode ( $requested_service_list ));
//nt_common_add_debug($NELTOOL['POST_VARS']);
$update_entities = tool_ee_get_entities ( $NELTOOL [ 'POST_VARS' ]);
nt_common_add_debug ( 'update_entities' );
nt_common_add_debug ( $update_entities );
reset ( $update_entities );
foreach ( $update_entities as $entity_data )
{
$service_command = '' ;
$_commands = array ();
if ( $entity_data [ 'entity_state' ] != $entity_data [ 'source_entity_state' ]) $_commands [] = 'NamedEntityState=' . $entity_data [ 'entity_state' ];
if ( $entity_data [ 'entity_param1' ] != $entity_data [ 'source_entity_param1' ]) $_commands [] = 'NamedEntityParam1=' . $entity_data [ 'entity_param1' ];
if ( $entity_data [ 'entity_param2' ] != $entity_data [ 'source_entity_param2' ]) $_commands [] = 'NamedEntityParam2=' . $entity_data [ 'entity_param2' ];
if ( sizeof ( $_commands ) > 0 )
{
nt_common_add_debug ( " something has been updated in entity : " . $entity_data [ 'source_entity' ]);
if ( sizeof ( $_commands ) == 1 )
{
$service_command = 'getView ' . $entity_data [ 'source_entity' ] . '.' . $_commands [ 0 ];
}
else
{
$service_command = 'getView ' . $entity_data [ 'source_entity' ] . '.[' . implode ( ',' , $_commands ) . ']' ;
}
$service = strtolower ( $entity_data [ 'source_service' ]);
nt_log ( " Domain ' $AS_Name ' : ' $service_command ' on " . $service );
$adminService -> serviceCmd ( $service , $service_command );
if ( ! $adminService -> waitCallback ())
{
nt_common_add_debug ( 'Error while waiting for callback on service \'' . $service . '\' for command : ' . $service_command );
}
}
}
//$requested_service = $NELTOOL['POST_VARS']['source_service'];
//$requested_entity = $NELTOOL['POST_VARS']['source_entity'];
//$requested_entity_name = $NELTOOL['POST_VARS']['source_entity_name'];
//
//$new_entity_state = $NELTOOL['POST_VARS']['entity_state'];
//$new_entity_param1 = $NELTOOL['POST_VARS']['entity_param1'];
//$new_entity_param2 = $NELTOOL['POST_VARS']['entity_param2'];
//
//$old_entity_state = $NELTOOL['POST_VARS']['source_entity_state'];
//$old_entity_param1 = $NELTOOL['POST_VARS']['source_entity_param1'];
//$old_entity_param2 = $NELTOOL['POST_VARS']['source_entity_param2'];
//
//$service_command = '';
//
//$_commands = array();
//
//if ($new_entity_state != $old_entity_state) $_commands[] = 'NamedEntityState='. $new_entity_state;
//if ($new_entity_param1 != $old_entity_param1) $_commands[] = 'NamedEntityParam1='. $new_entity_param1;
//if ($new_entity_param2 != $old_entity_param2) $_commands[] = 'NamedEntityParam2='. $new_entity_param2;
//
//if (sizeof($_commands) > 0)
//{
// nt_common_add_debug("something has been updated in entity : ". $requested_entity);
// if (sizeof($_commands) == 1)
// {
// $service_command = 'getView '. $requested_entity .'.'. $_commands[0];
// }
// else
// {
// $service_command = 'getView '. $requested_entity .'.['. implode(',', $_commands) .']';
// }
//
// $service = strtolower($requested_service);
//
// nt_log("Domain '$AS_Name' : '$service_command' on ". $service);
//
// $adminService->serviceCmd($service, $service_command);
// if (!$adminService->waitCallback())
// {
// nt_common_add_debug('Error while waiting for callback on service \''. $service .'\' for command : '. $service_command);
// }
//
//}
//break;
case 'display entities' :
if ( ! isset ( $service_list )) $service_list = tool_main_get_checked_services ();
if ( sizeof ( $service_list ))
{
$service_command = 'getView *.[NamedEntityName,NamedEntityState,NamedEntityParam1,NamedEntityParam2]' ;
nt_log ( " Domain ' $AS_Name ' : ' $service_command ' on " . implode ( ', ' , array_values ( $service_list )));
$tpl -> assign ( 'tool_service_select_list' , array_combine ( $service_list , $service_list ));
$tpl -> assign ( 'tool_execute_result' , '' );
$command_return_data = array ();
reset ( $service_list );
foreach ( $service_list as $service )
{
//nt_common_add_debug("about to run 'displayPlayers' on '$service' ...");
$adminService -> serviceCmd ( $service , $service_command );
if ( ! $adminService -> waitCallback ())
{
nt_common_add_debug ( 'Error while waiting for callback on service \'' . $service . '\' for command : ' . $service_command );
}
else
{
// the locator displays a nice output, no need for the raw one
//$tpl->assign('tool_execute_command', $service_command);
}
}
if ( sizeof ( $command_return_data ))
{
$entity_data = tool_ee_parse_getview ( $command_return_data );
nt_common_add_debug ( $entity_data );
$tpl -> assign ( 'tool_entity_data' , $entity_data );
$tpl -> assign ( 'requested_service_list' , base64_encode ( serialize ( $service_list )));
}
}
break ;
}
}
$status = $adminService -> getStates ();
nt_common_add_debug ( $status );
$domainServices = tool_main_parse_status ( $status );
$filteredServices = array ();
reset ( $domainServices );
foreach ( $domainServices as $aKey => $aService )
{
// we are only interested in EGS
if ( $aService [ 'ShortName' ] == 'AIS' )
{
$filteredServices [] = $aService ;
}
}
$tpl -> assign ( 'tool_services_list' , $filteredServices );
}
}
}
$tpl -> display ( 'tool_event_entities.tpl' );
2010-05-06 00:08:41 +00:00
?>