<?php
include_once('c_log.php') ;
class c_page_cab_log_cluster extends c_page_cab_log
{
  public $h1='Журнал нод кластера БД' ;

  function show_node_status($id)
  {
      $config_file=_DIR_TO_ROOT.'/ini/node_'.$id;
      //echo $config_file ;
      $json='' ;
      if (file_exists($config_file)) $json=file_get_contents($config_file) ;
      $data=json_decode($json,1) ;
      //damp_array($data);
      return($data) ;
  }

  function block_main()
  {
      $this->page_title();

      ?><h2>Конфигурация нод кластера БД</h2>
        <table class="basic fz_small">
            <tr>
                <th>Хосты БД:</th>
                <th>Текущий сервер приложений:</th>
                <th>_CLUSTER_NODE_ID<br>(getenv('NODE_ID')):</th>
                <th>Конфиг 0</th>
                <th>Конфиг 1</th>
                <th>Конфиг 2</th>
            </tr>
            <tr>
                <td><? if (is_array($GLOBALS['_SETTING']['main_db']['host'])) damp_array($GLOBALS['_SETTING']['main_db']['host'],1,-1); else echo $GLOBALS['_SETTING']['main_db']['host'] ;?></td>
                <td><? echo $_SERVER['SERVER_ADDR']?></td>
                <td><? echo getenv('NODE_ID')?></td>
                <td><? damp_array($this->show_node_status(0),1,-1)?></td>
                <td><? damp_array($this->show_node_status(1),1,-1)?></td>
                <td><? damp_array($this->show_node_status(2),1,-1)?></td>
            </tr>
      </table>

      <?

      if (file_exists(_DIR_TO_ROOT.'/ini/cluster.log'))
      {   $data=file_get_contents(_DIR_TO_ROOT.'/ini/cluster.log') ;
          $arr=explode("\n",$data) ;
          $arr=array_reverse($arr) ;
          ?><br><h2>Журнал подключений нод кластера БД</h2>
            <table class="basic fz_small">
                <tr>
                    <th>Дата</th>
                    <th>Сервер приложений</th>
                    <th>Операция</th>
                    <th>ID хоста БД</th>
                    <th>IP хоста БД</th>
                    <th>Статус</th>
                </tr>
          <?
          if (sizeof($arr)) foreach ($arr as $line) if ($line)
          {
              $arr_line=explode(',',$line) ;
              ?><tr>
                    <td><?echo $arr_line[0]?></td>
                    <td><?echo $arr_line[1]?></td>
                    <td><?echo $arr_line[2]?></td>
                    <td><?echo $arr_line[3]?></td>
                    <td><?echo $arr_line[4]?></td>
                    <td><?echo ($arr_line[5])? '<span class=green>OK</span>':'<span class=red>ERROR</span>'?></td>
               </tr><?
          }
          ?></table><?
      }
      else echo 'Файл лога подключений к нодам кластера БД не найден ('._DIR_TO_ROOT.'/ini/cluster.log'.')<br>' ;
  }

}

?>
