<?php
require_once("admin/inc/protecao-final.php");

$total_avisos_ativos = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM avisos WHERE area = 'streaming'"));
$checar_status_aviso = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM avisos_desativados WHERE area = 'streaming' AND codigo_usuario = '".$dados_stm["porta"]."'"));
$total_avisos_exibir = ($total_avisos_ativos > $checar_status_aviso) ? $total_avisos_ativos-$checar_status_aviso : 0;

if($_SESSION["conversao_ativa"]) {

// Verifica se proesso em segundo plano já foi concluído
// Conexão SSH
$ssh = new SSH();
$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));

$status_conversao = $ssh->executar("[ -f /home/streaming/logs/".$dados_stm["porta"]."-editor-mp3.lock ] && echo -n ativo || echo -n finalizado");

if($status_conversao == "finalizado") {
unset($_SESSION['status_ferramenta']);
unset($_SESSION['conversao_ativa']);
$_SESSION["status_ferramenta"] = '<div class="alert alert-success text-center" role="alert">Processo concluido com sucesso.</div>';
}

}

if($_POST) {

// Conexão SSH
$ssh = new SSH();
$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));

$script = "#!/bin/sh
ferramenta=\$1;porta=\$2;pasta=\$3;bitrate=\"\$4\";touch /home/streaming/logs/\$porta-editor-mp3.lock;if ! [ -x \"/usr/bin/mp3gain\" ];then versao_centos=`/bin/rpm -qa centos-release|cut -d '-' -f 3|cut -d . -f 1`;yum install mp3gain -y;if [ \"\$versao_centos\" -eq 6 ];then rpm -Uvh https://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/mp3gain-1.4.4-1.2.el6.rf.x86_64.rpm;else rpm -Uvh https://download1.rpmfusion.org/free/el/updates/7/x86_64/m/mp3gain-1.5.2-4.el7.x86_64.rpm;fi;fi;if [ x`echo \"\$1\"|grep -c \"normalizador\"` = x1 ];then cd \"/home/streaming/\$porta/\$pasta\";/usr/bin/mp3gain -q -c -r *.mp3;fi;if [ x`echo \"\$1\"|grep -c \"bitrate\"` = x1 ];then cd \"/home/streaming/\$porta/\$pasta\";find * -type f -iname \"*.mp3\" -exec ffmpeg -i {} -codec:a libmp3lame -b:a \$bitrate \$\$_{} \; -exec mv -f \$\$_{} {} \;;fi;if [ x`echo \"\$1\"|grep -c \"fix\"` = x1 ];then cd \"/home/streaming/\$porta/\$pasta\";find * -type f -iname \"*.mp3\" -exec ffmpeg -i {} -codec:a libmp3lame \$\$_{} \; -exec mv -f \$\$_{} {} \;;fi;rm -f /home/streaming/logs/\$porta-editor-mp3.lock;echo \"ok\"";

file_put_contents("temp/".$dados_servidor["nome"]."-script-editor-mp3.sh",$script);
$ssh->enviar_arquivo("temp/".$dados_servidor["nome"]."-script-editor-mp3.sh","/home/streaming/editor-mp3.sh",0777);
unlink("temp/".$dados_servidor["nome"]."-script-editor-mp3.sh");
}

if($_POST["ferramenta"] == "normalizador") {

$ssh->executar("sed -i -e 's/\r$//' /home/streaming/editor-mp3.sh;echo OK");
$ssh->executar("screen -dm bash -c '/home/streaming/editor-mp3.sh normalizador ".$dados_stm["porta"]." \"".$_POST["pasta"]."\"';echo OK");

// Cria o sessão do status das ações executadas e redireciona.
$_SESSION["status_ferramenta"] .= '<div class="alert alert-success text-center" role="alert">Processo iniciado com sucesso em segundo plano no servidor.</div>';
$_SESSION["status_ferramenta"] .= '<div class="alert alert-warning text-center" role="alert">A conversão esta sendo feita e dentro de alguns minutos será concluída e esta mensagem fechará.</div>';
$_SESSION["conversao_ativa"] = "sim";

}

if($_POST["ferramenta"] == "bitrate") {

$ssh->executar("sed -i -e 's/\r$//' /home/streaming/editor-mp3.sh;echo OK");
$ssh->executar("screen -dm bash -c '/home/streaming/editor-mp3.sh bitrate ".$dados_stm["porta"]." \"".$_POST["pasta"]."\" ".$_POST["bitrate"]."k';echo OK");

// Cria o sessão do status das ações executadas e redireciona.
$_SESSION["status_ferramenta"] .= '<div class="alert alert-success text-center" role="alert">Processo iniciado com sucesso em segundo plano no servidor.</div>';
$_SESSION["status_ferramenta"] .= '<div class="alert alert-warning text-center" role="alert">A conversão esta sendo feita e dentro de alguns minutos será concluída e esta mensagem fechará.</div>';
$_SESSION["conversao_ativa"] = "sim";

}

if($_POST["ferramenta"] == "fix") {

$ssh->executar("sed -i -e 's/\r$//' /home/streaming/editor-mp3.sh;echo OK");
$ssh->executar("screen -dm bash -c '/home/streaming/editor-mp3.sh fix ".$dados_stm["porta"]." \"".$_POST["pasta"]."\"';echo OK");

// Cria o sessão do status das ações executadas e redireciona.
$_SESSION["status_ferramenta"] .= '<div class="alert alert-success text-center" role="alert">Processo iniciado com sucesso em segundo plano no servidor.</div>';
$_SESSION["status_ferramenta"] .= '<div class="alert alert-warning text-center" role="alert">A conversão esta sendo feita e dentro de alguns minutos será concluída e esta mensagem fechará.</div>';
$_SESSION["conversao_ativa"] = "sim";

}
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title>Streaming <?php echo $dados_stm["porta"]; ?></title>
  <link rel="stylesheet" href="/inc/materialdesignicons.min.css">
  <link rel="stylesheet" href="/inc/font-awesome.min.css">
  <link rel="stylesheet" href="/inc/vendor.bundle.base.css">
  <link rel="stylesheet" href="/inc/vendor.bundle.addons.css">
  <link rel="stylesheet" href="/inc/theme.css">
  <link rel="shortcut icon" href="/img/favicon.ico">
  <script type="text/javascript" src="/inc/ajax-streaming.js"></script>
  <script type="text/javascript" src="/inc/javascript.js"></script>
</head>

<body>
  <div class="container-scroller">
      <nav class="navbar col-lg-12 col-12 p-0 fixed-top d-flex flex-row">
      <div class="text-center navbar-brand-wrapper d-flex align-items-center justify-content-center">
        <?php if($dados_revenda["url_logo"]) { ?>
        <a class="navbar-brand brand-logo" href="/dashboard"><img id="logo" src="<?php echo $dados_revenda["url_logo"]; ?>" title="Painel" height="60" border="0"></a>
        <?php } else { ?>
        <a class="navbar-brand brand-logo" href="/dashboard"><span>Painel Streaming</span></a>
        <?php } ?>
        <a class="navbar-brand brand-logo-mini" href="/dashboard"><img src="/img/icones/img-icone-logo.png" title="Painel" width="32" height="32" border="0"></a>
      </div>
      <div class="navbar-menu-wrapper d-flex align-items-center justify-content-end justify-content-lg-start">
        <button class="navbar-toggler navbar-toggler align-self-center" type="button" data-toggle="minimize">
          <span class="mdi mdi-menu text-icones"></span>
        </button>
        <ul class="navbar-nav navbar-nav-right">
          <li class="nav-item nav-profile dropdown show">
            <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" id="profileDropdown" aria-expanded="true">
              <i class="fa fa-power-off f-18 text-icones" data-toggle="tooltip" data-placement="bottom" title="<?php echo $lang['lang_botao_titulo_ligar']; ?>/<?php echo $lang['lang_botao_titulo_desligar']; ?>"></i>
            </a>
            <div class="dropdown-menu dropdown-menu-right navbar-dropdown" aria-labelledby="profileDropdown">
              <a class="dropdown-item text-success" href="javascript:ligar_streaming('<?php echo $porta_code; ?>');"> <?php echo $lang['lang_botao_titulo_ligar']; ?> Streaming</a>
              <a class="dropdown-item text-danger" href="javascript:desligar_streaming('<?php echo $porta_code; ?>');"> <?php echo $lang['lang_botao_titulo_desligar']; ?> Streaming</a>
              <?php if($dados_stm["autodj"] == "sim") { ?>
              <div class="dropdown-divider"></div>              
              <a class="dropdown-item text-success" href="javascript:carregar_opcoes_ligar_autodj('<?php echo $porta_code; ?>');"> <?php echo $lang['lang_botao_titulo_ligar']; ?> AutoDJ</a>
              <a class="dropdown-item text-danger" href="javascript:desligar_autodj('<?php echo $porta_code; ?>');"> <?php echo $lang['lang_botao_titulo_desligar']; ?> AutoDJ</a>
              <?php } ?>
            </div>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link count-indicator dropdown-toggle d-flex align-items-center justify-content-center" id="notificationDropdown" href="#" data-toggle="dropdown" aria-expanded="false">
              <i class="mdi mdi-bell f-22 text-icones" data-toggle="tooltip" data-placement="bottom" title="<?php echo $lang['lang_info_pagina_informacoes_tab_avisos']; ?>"></i>
              <?php if($total_avisos_exibir > 0) { ?><span class="count bg-success"><?php echo $total_avisos_exibir; ?></span><?php } ?>           
            </a>
            <div class="dropdown-menu dropdown-menu-right navbar-dropdown preview-list" aria-labelledby="notificationDropdown">
              <a class="dropdown-item">
                <p class="mb-0 font-weight-normal float-left"><?php echo $lang['lang_info_pagina_informacoes_tab_avisos']; ?></p>
              </a>
              <div class="dropdown-divider"></div>
              <?php carregar_avisos_streaming($conexao,$dados_stm["porta"],$dados_servidor["codigo"]); ?>
            </div>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="/sair"><i class="mdi mdi-logout f-22 text-icones" data-toggle="tooltip" data-placement="bottom" title="Sair/logout"></i></a>
          </li>
          <li>
            <button type="button" class="btn btn-info" id="status-streaming" onClick="status_streaming('<?php echo $porta_code; ?>');" style="margin: 10px;min-width: 150px; min-height: 40px"><i class="fa fa-refresh"></i></button>
          </li>
        </ul>
        <button class="navbar-toggler navbar-toggler-right d-lg-none align-self-center" type="button" data-toggle="offcanvas">
          <span class="mdi mdi-menu text-icones"></span>
        </button>
      </div>
    </nav>

    <!-- modal -->
      <div class="modal fade" id="avisos" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title"><?php echo $lang['lang_info_pagina_informacoes_tab_avisos']; ?></h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                </div>
                <div class="modal-body" id="avisos-conteudo"><img src="/img/ajax-loader.gif" align="center" /></div>
            </div>
        </div>
      </div>
                
      <div class="modal fade" id="playlists-autodj" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">AutoDJ</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                </div>
                <div class="modal-body text-center" id="playlists-autodj-conteudo" style="text-align: center;"><img src="/img/ajax-loader.gif" /></div>
            </div>
          </div>
      </div>
                
      <div class="modal fade" id="log-sistema" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered" role="document">
            <div class="modal-content">
                <div class="modal-body" id="log-sistema-conteudo" style="text-align:center"><img src="/img/ajax-loader.gif" /></div>
            </div>
        </div>
      </div>
      
    <div class="container-fluid page-body-wrapper">      
    <?php require_once("menu.php"); ?>
      <div class="main-panel">
        <div class="content-wrapper">
          <div id="local-status-acoes"><?php echo $_SESSION['status_acao'];unset($_SESSION['status_acao']); ?></div>
          <div class="alert alert-warning text-center" role="alert">O processo pode demorar dependendo da quantidade de m&uacute;sicas, n&atilde;o &eacute; necess&aacute;rio manter esta p&aacute;gina aberta.</div>
          <?php if($_SESSION["conversao_ativa"]) { ?>
                        <div id="local-status-acoes"><?php echo $_SESSION['status_ferramenta'];unset($_SESSION['status_ferramenta']);if(empty($_SESSION["conversao_ativa"])) {unset($_SESSION['status_ferramenta']);} ?></div>
                        <script type="text/javascript">
                          setTimeout(function () { window.location = '/utilitario-ferramentas-mp3'; }, 30000);
                        </script>
                        <?php } else { ?>
          <div class="row">            

            <div class="col-xl-6 col-md-6">
                                <div class="card table-card">
                                    <div class="card-header">
                                        <h3>Normalizar Volume</h3>
                                    </div>
                                    <div class="card-body">
                                        <div class="table-responsive">
                                            <form action="/utilitario-ferramentas-mp3" method="post" name="normalizador">
                                            <div class="alert alert-info text-center" role="alert">Normalize o  volume de suas m&uacute;sicas automaticamnte para um n&iacute;vel padr&atilde;o.</div>
                                            <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
                                                <tr>
                                                <td width="130" height="50" align="left" style="padding-left:5px;"><strong>Pasta de M&uacute;sicas</strong></td>
                                                <td align="left" class="texto_padrao">
                                                <select name="pasta" class="form-control" id="pasta" style="width:100%;">
                                                  <optgroup label="<?php echo $lang['lang_info_utilitario_youtube_pasta_opcao_pastas']; ?>">
                                                    <?php
                                                    $xml_pastas = @simplexml_load_file("http://".$dados_servidor["ip"].":555/listar-pastas.php?porta=".$dados_stm["porta"]."");
                                                        
                                                    $total_pastas = count($xml_pastas->pasta);

                                                    if($total_pastas > 0) {

                                                        for($i=0;$i<$total_pastas;$i++){
                                                        
                                                            echo '<option value="' . $xml_pastas->pasta[$i]->nome . '">' . $xml_pastas->pasta[$i]->nome . ' (' . $xml_pastas->pasta[$i]->total . ')</option>';
                                                        
                                                        }
                                                        
                                                    }
                                                    ?>
                                                  </optgroup>
                                                  </select>
                                              </td>
                                              </tr>
                                              <tr>
                                                <td height="50" colspan="2" align="right"><button type="button" class="btn btn-info" onClick="document.normalizador.submit();">Executar</button><input name="ferramenta" type="hidden" id="ferramenta" value="normalizador" /></td>
                                              </tr>
                                              <tr>
                                                <td height="50"></td>
                                              </tr>
                                            </table>
                                            </form>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-xl-6 col-md-6">
                                <div class="card table-card">
                                    <div class="card-header">
                                        <h3>Alterar Bitrate</h3>
                                    </div>
                                    <div class="card-body">
                                        <div class="table-responsive">
                                            <form action="/utilitario-ferramentas-mp3" method="post" name="bitrate">
                                            <div class="alert alert-info text-center" role="alert">Use o mesmo bitrate que usar no AutoDJ, isso melhorar&aacute; a qualidade do som.</div>
                                            <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
                                            <tr>
                                              <td height="50" align="left" style="padding-left:5px;"><strong>Pasta de M&uacute;sicas</strong></td>
                                              <td align="left" class="texto_padrao"><select name="pasta" class="form-control" id="pasta" style="width:100%;">
                                                  <optgroup label="<?php echo $lang['lang_info_utilitario_youtube_pasta_opcao_pastas']; ?>">
                                                  <?php
                                                    $xml_pastas = @simplexml_load_file("http://".$dados_servidor["ip"].":555/listar-pastas.php?porta=".$dados_stm["porta"]."");
                                                        
                                                    $total_pastas = count($xml_pastas->pasta);

                                                    if($total_pastas > 0) {

                                                        for($i=0;$i<$total_pastas;$i++){
                                                        
                                                            echo '<option value="' . $xml_pastas->pasta[$i]->nome . '">' . $xml_pastas->pasta[$i]->nome . ' (' . $xml_pastas->pasta[$i]->total . ')</option>';
                                                        
                                                        }
                                                        
                                                    }
                                                    ?>
                                                  </optgroup>
                                                </select>
                                            </td>
                                            </tr>
                                          <tr>
                                            <td width="130" height="50" align="left" style="padding-left:5px;"><strong>Novo Bitrate</strong></td>
                                            <td align="left"><div class="input-group">
                                            <select name="bitrate" class="form-control" id="bitrate" style="width:60%;">
                                            <?php
                                            foreach(array("24","32","48","64","96","128","256","320") as $bitrate){
                                                
                                            if($bitrate <= $dados_stm["bitrate"]) {
                                            echo '<option value="'.$bitrate.'">'.$bitrate.'</option>';
                                            }
                                                            
                                            }
                                            ?>
                                                </select><span class="input-group-append" id="basic-addon3"><label class="input-group-text">Kbps</label></span></div></td>
                                          </tr>
                                          <tr>
                                            <td height="50" colspan="2" align="right"><button type="button" class="btn btn-info" onClick="document.bitrate.submit();">Executar</button><input name="ferramenta" type="hidden" id="ferramenta" value="bitrate" /></td>
                                          </tr>                                         
                                        </table>
                                        </form>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            
                            <div class="col-xl-6 col-md-6">
                                <div class="card table-card">
                                    <div class="card-header">
                                        <h3>Corrigir Erros</h3>
                                    </div>
                                    <div class="card-body">
                                        <div class="table-responsive">
                                            <form action="/utilitario-ferramentas-mp3" method="post" name="fix">
                                            <div class="alert alert-info text-center" role="alert">Corrija erros em arquivos corrompidos que n&atilde;o s&atilde;o executados pelo AutoDJ.</div>
                                            <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
                                            <tr>
                                            <td width="130" height="50" align="left" style="padding-left:5px;"><strong>Pasta de M&uacute;sicas</strong></td>
                                            <td align="left">
                                            <select name="pasta" class="form-control" id="pasta" style="width:100%;">
                                              <optgroup label="<?php echo $lang['lang_info_utilitario_youtube_pasta_opcao_pastas']; ?>">
                                    <?php
                                    $xml_pastas = @simplexml_load_file("http://".$dados_servidor["ip"].":555/listar-pastas.php?porta=".$dados_stm["porta"]."");
                                        
                                    $total_pastas = count($xml_pastas->pasta);

                                    if($total_pastas > 0) {

                                        for($i=0;$i<$total_pastas;$i++){
                                        
                                            echo '<option value="' . $xml_pastas->pasta[$i]->nome . '">' . $xml_pastas->pasta[$i]->nome . ' (' . $xml_pastas->pasta[$i]->total . ')</option>';
                                        
                                        }
                                        
                                    }
                                    ?>
                                              </optgroup>
                                              </select>        </td>
                                          </tr>
                                          <tr>
                                            <td height="50" colspan="2" align="right"><button type="button" class="btn btn-info" onClick="document.fix.submit();">Executar</button><input name="ferramenta" type="hidden" id="ferramenta" value="fix" /></td>
                                          </tr> 
                                        </table>
                                        </form>
                                        </div>
                                    </div>
                                </div>
                            </div>
          </div>
          <?php } ?>

          </div>
        </div>
      </div>      

    </div>
  </div>
  <script src="/inc/vendor.bundle.base.js"></script>
  <script src="/inc/vendor.bundle.addons.js"></script>
  <script src="/inc/theme.js"></script>
  <script>
  status_streaming('<?php echo $porta_code; ?>');
  setInterval("status_streaming('<?php echo $porta_code; ?>')",60000);
  </script>
</body>
</html>