Newer
Older
ournorth2021 / admin / analitica.php
LuisOlaya on 8 Apr 2021 22 KB primer
<?php
// Load the Google API PHP Client Library.
require_once __DIR__ . '/vendor/autoload.php';

//$analytics = initializeAnalytics();
//$response = getReport($analytics, '2020-09-29', '2020-09-29' );
//printResults($response);

/**
 * Initializes an Analytics Reporting API V4 service object.
 *
 * @return An authorized Analytics Reporting API V4 service object.
 */
function initializeAnalytics(){
  // Use the developers console and download your service account
  // credentials in JSON format. Place them in this directory or
  // change the key file location if necessary.
  $KEY_FILE_LOCATION = __DIR__ . '/aid2020-dd2bf-a9161df80e54.json';

  // Create and configure a new client object.
  $client = new Google_Client();
  $client->setApplicationName("AID 2020 admin");
  $client->setAuthConfig($KEY_FILE_LOCATION);
  $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
  $analytics = new Google_Service_AnalyticsReporting($client);
  return $analytics;
}

/**
 * Queries the Analytics Reporting API V4.
 *
 * @param service An authorized Analytics Reporting API V4 service object.
 * @return The Analytics Reporting API V4 response.
 */
function getReport($analytics, $star_date, $end_date) {

  // Replace with your view ID, for example XXXX.
  $VIEW_ID = "230668120";

  // Create the DateRange object.
  $dateRange = new Google_Service_AnalyticsReporting_DateRange();
  $dateRange->setStartDate( $star_date );
  $dateRange->setEndDate( $end_date );

  // Create the Metrics object.
  $sessions = new Google_Service_AnalyticsReporting_Metric();
  $sessions->setExpression("ga:pageviews");
  $sessions->setAlias("pageviews");
    
    //Create the Dimensions object.
   $browser = new Google_Service_AnalyticsReporting_Dimension();
   $browser->setName("ga:pagePath");

  // Create the Metrics object.
  $pagePath = new Google_Service_AnalyticsReporting_Metric();
  $pagePath->setExpression("ga:pageviews");
  $pagePath->setAlias("pageviews");

  // Create the ReportRequest object.
  $request = new Google_Service_AnalyticsReporting_ReportRequest();
  $request->setViewId($VIEW_ID);
  $request->setDateRanges($dateRange);
  $request->setMetrics(array($sessions));
  $request->setDimensions(array($browser));

  $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
  $body->setReportRequests( array( $request) );
  return $analytics->reports->batchGet( $body );
}

/**
 * Parses and prints the Analytics Reporting API V4 response.
 *
 * @param An Analytics Reporting API V4 response.
 */

function printResults($reports) {
    $arrayDimesiones = array();
    
    /*
    for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
        $report = $reports[ $reportIndex ];
        $header = $report->getColumnHeader();
        $dimensionHeaders = $header->getDimensions();
        $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
        $rows = $report->getData()->getRows();

        //INICIA EL CICLO
        for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
            $fila = array();
            $row = $rows[ $rowIndex ];
            $dimensions = $row->getDimensions();
            $metrics = $row->getMetrics();
            for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
                array_push($fila, $dimensions[$i] );
            }

            for ($j = 0; $j < count($metrics); $j++) { 
                  $values = $metrics[$j]->getValues();
                  for ($k = 0; $k < count($values); $k++) {
                      $entry = $metricHeaders[$k];
                      array_push($fila, $values[$k] );
                      //$total_dia += $values[$k];
                  }
            }
            array_push($arrayDimesiones, $fila );
        }
    }
    */

  //print($arrayDimesiones);
  return $arrayDimesiones; 
}


function Total_Dia($arr){
    $total = 0;
    foreach($arr as $item){
        $total += $item[1];
    }
    return $total;
}

function Total_Live($arr){
    $total = 0;
    foreach($arr as $item){
        if($item[0] == '/live'){
            $total += $item[1];
        }
    }
    return $total;
}

function Total_Muestra($arr){
    $total = 0;
    foreach($arr as $item){
        if($item[0] == '/muestra'){
            $total += $item[1];
        }
    }
    return $total;
}

function Total_Stand($arr){
    $total_1 = 0;
    $total_2 = 0;
    $total_3 = 0;
    $total_4 = 0;
    $total_5 = 0;
    $total_6 = 0;
    $total_7 = 0;
    $total_8 = 0;
    $total_9 = 0;
    $total_10 = 0;
    $total_11 = 0;
    $total_12 = 0;
    $total_13 = 0;
    $total_14 = 0;
    
    foreach($arr as $item){
        if($item[0] == '/info/1'){
            $total_1 += $item[1];
        }
        if($item[0] == '/info/2'){
            $total_2 += $item[1];
        }
        if($item[0] == '/info/3'){
            $total_3 += $item[1];
        }
        if($item[0] == '/info/4'){
            $total_4 += $item[1];
        }
        if($item[0] == '/info/5'){
            $total_5 += $item[1];
        }
        if($item[0] == '/info/6'){
            $total_6 += $item[1];
        }
        if($item[0] == '/info/7'){
            $total_7 += $item[1];
        }
        if($item[0] == '/info/8'){
            $total_8 += $item[1];
        }
        if($item[0] == '/info/9'){
            $total_9 += $item[1];
        }
        if($item[0] == '/info/10'){
            $total_10 += $item[1];
        }
        if($item[0] == '/info/11'){
            $total_11 += $item[1];
        }
        if($item[0] == '/info/12'){
            $total_12 += $item[1];
        }
        if($item[0] == '/info/13'){
            $total_13 += $item[1];
        }
        if($item[0] == '/info/14'){
            $total_14 += $item[1];
        }
    }
    
    $arreglo = array( $total_1 , $total_2, $total_3, $total_4, $total_5, $total_6, $total_7, $total_8, $total_9, $total_10, $total_11, $total_12, $total_13, $total_14 );
    return $arreglo;
}

$total_dia = 0;
$total_live = 0;
$total_muestra = 0;

if($_POST["dia"]){
    $dias = explode(" ", $_POST["dia"]);
    $response = getReport($analytics, $dias[0], $dias[1] );
    $estadisticasArray = printResults($response);
    $total_dia = Total_Dia($estadisticasArray);
    $total_live = Total_Live($estadisticasArray);
    $total_muestra = Total_Muestra($estadisticasArray);
    $stands = Total_Stand($estadisticasArray);
}



/*
function printResults___($reports) {
$arrayDimesiones = array();
    
  for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
    $report = $reports[ $reportIndex ];
    $header = $report->getColumnHeader();
    $dimensionHeaders = $header->getDimensions();
    $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
    $rows = $report->getData()->getRows();
      
    $fila = array();

    for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
      echo '<div>';

      $row = $rows[ $rowIndex ];
      $dimensions = $row->getDimensions();
      $metrics = $row->getMetrics();
      for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
        array_push($fila, $dimensions[$i] );
        //print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");

        //echo($dimensions[$i] . "\n");

        echo '<div class="ruta">'.$dimensions[$i]."</div>";

      }

      for ($j = 0; $j < count($metrics); $j++) { 
        $values = $metrics[$j]->getValues();
        for ($k = 0; $k < count($values); $k++) {
          $entry = $metricHeaders[$k];

        array_push($fila, $values[$k] );
          echo '<div class="valor">'.$values[$k]."</div>";

          $total_dia += $values[$k];



          //print( $values[$k] . "\n");

          //array_push($metricas, array( "metrica_1"=> $entry->getName(), "valor_2"=> $values[$k] ));
          //print($entry->getName() . ": " . $values[$k] . "\n");
        }
      }
      echo '</div>';
        array_push($arrayDimesiones, $fila );

    }


    echo '
      <script>
        $("#total_dia").html('.$total_dia.');
      </script>
    ';
  }

  //print($arrayDimesiones);
  return $arrayDimesiones; 
}

*/

?>


<?php
  session_start();
  //VALIDACION DE SESION
  if($_SESSION['id_user_admin'] == ""){
    header('Location: log.php' );
  }
  include("models/connect.php");
?>


<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Administrador AID 2020</title>
    
    <link rel="stylesheet" href="css/bootstrap.css" crossorigin="anonymous">
    <link rel="stylesheet" href="css/style.css" crossorigin="anonymous">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" crossorigin="anonymous">
    <link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="js/bootstrap.bundle.js" crossorigin="anonymous"></script>
    <script src="js/bootstrap.js" crossorigin="anonymous"></script>
    <script src="js/papaparse.js"></script>

    
    
    <style>
                .ti_ficha{
                    line-height: 16px;
                    margin-top: 15px;
                    font-size: 15px;
                    margin-bottom: -5px;
                }
                .numero_ficha{
                    font-size: 50px;
                    font-weight: bold;
                    margin-bottom: 10px;
                }
    </style>


</head>

<body>

  <noscript>
    <div class="alert alert-success" role="alert">
        Para utilizar las funcionalidades completas de este sitio es necesario tener
        JavaScript habilitado. Aquí están las <a href="https://www.enable-javascript.com/es/">
        instrucciones para habilitar JavaScript en tu navegador web</a>.
    </div>
  </noscript>


  <div class="container-fluid">
    <div class="row">
      <?php include("views/layouts/lateral.php"); ?>
      <div class="col-md-9 col-xl-10">


        <div class="row" style="padding-top: 15px;">
    


          <!-- FICHA -->
          <!-- FICHA -->
          <!-- FICHA -->
          <div class="col-md-12" style="display: none">
              <table width="100%" style="background-color: #ff5a23; color: #ffffff;">
              <tr>
                <td width="100" style="padding: 15px; background-color: rgba(0,0,0,0.2);">
                  <i class="fa fa-user btn-left" style=" font-size: 60px "></i>
                </td>
                <td align="center" style="font-size: 20px; line-height: 35px;">
                  <div style="line-height: 20px; margin-top: 15px;">
                    En vivo Ahora<br>
                    <span style="font-size: 12px">(Solo registra usuarios únicos)</span>
                  </div>
                  <b style="font-size: 50px;" id="en_vivo__"></b>
                </td>
                <td align="center" style="width: 100px">
                    <a href="<?php echo $url_admin; ?>/?pg=analitica/en_vivo&cant=<?php echo $total_live; ?>">
                    <button type="button" class="btn btn-light">Ver</button>
                    </a>
                    
                    <a href="<?php echo $url_admin; ?>/?pg=conectados_ahora">
                    <button type="button" class="btn btn-light" style="display: none">Ver</button>
                    </a>
                </td>
              </tr>
            </table>
          </div>
            
            
            <script src="https://www.gstatic.com/firebasejs/4.9.0/firebase.js"></script>
    <script>
      // Your web app's Firebase configuration
        var firebaseConfig = {
            apiKey: "AIzaSyAonc5lmGp-3qb-RjoBQE4-gzA2YvwN5fU",
            authDomain: "acrosst2d.firebaseapp.com",
            databaseURL: "https://acrosst2d.firebaseio.com",
            projectId: "acrosst2d",
            storageBucket: "acrosst2d.appspot.com",
            messagingSenderId: "890863731017",
            appId: "1:890863731017:web:4ff6a45c42e81adb195a98"
        };
        // Initialize Firebase
        firebase.initializeApp(firebaseConfig);
        var database = firebase.database();
       
        
        //2. ESCUCHAMOS SI UN USUARIO SE CONECTA 
        var tb_live = database.ref('participants');
        tb_live.on('value', EnVivo);
        
        var snapShot = '';
        function EnVivo(data){
          traza = data.val() ;
          var keyCount  = Object.keys(traza).length;

            $("#en_vivo").html( keyCount );
            console.log( keyCount );
            snapShot = JSON.stringify( data.val() );
            //GuardarData( JSON.stringify( data.val() ) )
        }
        
        
        function GuardarData( ) {

          jQuery.ajax({
            url: "https://acrossco2020.com/admin/api/guardar_dato.php",
            type:'post',
            data: { dato: snapShot},
            }).done(function (resp){
              
            
            })
            .fail(function(resp) {
              console.log(resp);
            })
            .always(function(resp){
            }
          );


        }
        
        
    </script>


          <!-- FICHA -->
          <!-- FICHA -->
          <!-- FICHA -->
          <div class="col-md-12" style="margin-top: 15px">

            <div class="card" style="margin-top: 15px">
              <div class="card-body">

                <form action="" method="post">
                  <select class="form-control" name="dia" style=" margin-bottom: 10px; font-size: 35px; border: 0;">
                      <option value="">Selecciona día...</option>
                      <?php
                      $diasArr = array(
                          array('2020-10-19 2020-10-19', 'Todos los días'),
                          array('2020-10-21 2020-10-21', 'Día 1 - 21 de Octubre'),
                          array('2020-10-22 2020-10-22', 'Día 2 - 22 de Octubre'),

                          
                      );
                      
                        foreach($diasArr as $dia){
                            if($_POST["dia"] == $dia[0]){
                                echo '<option value="'.$dia[0].'" selected>'.$dia[1].'</option>';
                            }
                            else{
                                echo '<option value="'.$dia[0].'">'.$dia[1].'</option>';
                            }
                        }
                      ?>
                  </select>
                  <input type="submit" value="Filtrar" class="btn btn-success btn-block">
                </form>

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

         
            <!-- FICHA -->
          <!-- FICHA -->
          <!-- FICHA -->
          <div class="col-md-12" style="margin-top: 15px">
              <table width="100%" style="background-color: #ff5a23; color: #ffffff;">
              <tr>
                <td width="100" style="padding: 15px; background-color: rgba(0,0,0,0.2);">
                  <i class="fa fa-user btn-left" style=" font-size: 60px "></i>
                </td>
                <td align="center" style="font-size: 20px; line-height: 35px;">
                  <div style="line-height: 20px; margin-top: 15px;">
                    Live Streaming<br>
                    <span style="font-size: 12px">Personas que asistieron a los en vivo</span>
                  </div>
                  <b style="font-size: 50px;" id="en_vivo"></b>
                </td>
                  
               
                <td align="center" style="width: 100px">
                    <a href="<?php echo $url_admin; ?>/?pg=analitica/en_vivo&cant=<?php echo $total_live; ?>">
                    <button type="button" class="btn btn-light">Ver</button>
                    </a>
                    
                    <a href="<?php echo $url_admin; ?>/?pg=conectados_ahora">
                    <button type="button" class="btn btn-light" style="display: none">Ver</button>
                    </a>
                </td>
              </tr>
            </table>
          </div>
            

          <div class="col-md-4" style="margin-top: 15px">
            <table width="100%" style="background-color: #28a745; color: #ffffff;">
              <tr>
                <td width="100" style="padding: 15px; background-color: rgba(0,0,0,0.2);">
                  <i class="fa fa-user btn-left" style=" font-size: 60px "></i>
                </td>
                <td align="center">
                    <div class="ti_ficha"> Total de interacciones en plataforma </div>
                    <div class="numero_ficha"><?php echo $total_dia; ?></div>
                </td>
              </tr>
            </table>
          </div>
            
            

          <div class="col-md-4" style="margin-top: 15px">
            <table width="100%" style="background-color: #03A9F4; color: #ffffff;">
              <tr>
                <td width="100" style="padding: 15px; background-color: rgba(0,0,0,0.2);">
                  <i class="fa fa-eye btn-left" style=" font-size: 60px "></i>
                </td>
                <td align="center">
                    <div class="ti_ficha"> Total de interacciones en transmisión en vivo </div>
                    <div class="numero_ficha"><?php echo $total_live; ?></div>
                </td>
              </tr>
            </table>
          </div>

          <div class="col-md-4" style="margin-top: 15px">
            <table width="100%" style="background-color: #673AB7; color: #ffffff;">
              <tr>
                <td width="100" style="padding: 15px; background-color: rgba(0,0,0,0.2);">
                  <i class="fa fa-shopping-bag btn-left" style=" font-size: 60px "></i>
                </td>
                <td align="center">
                    <div class="ti_ficha"> Total de interacciones en Muestra Comercial </div>
                    <div class="numero_ficha"><?php echo $total_muestra; ?></div>
                </td>
              </tr>
            </table>
          </div>


          <!-- FICHA -->
          <!-- FICHA -->
          <!-- FICHA -->
          <div class="col-md-12" style="margin-top: 15px">

            <div class="card" style="margin-top: 15px">
              <div class="card-header" align="center">
                <h3 align="center" style="margin-bottom: 0">Muestra Comercial</h3>
                <div>Visitas a los stands</div>
              </div>
            </div>
          </div>


          <div class="col-md-3" style="margin-top: 15px">
            <table width="100%" style="background-color: #9C27B0; color: #ffffff;">
              <tr>
                <td align="center" >
                    
                    <div class="ti_ficha"> Trayenta </div>
                    <div class="numero_ficha"><?php echo $stands[0]; ?></div>
                    <a href="<?php echo $url_admin; ?>/?pg=analitica/producto&id=1&cant=<?php echo $stands[0]; ?>">
                        <button type="button" class="btn btn-light" style="margin-bottom: 15px; margin-top: -18px;">Ver</button>
                    </a>
                </td>
              </tr>
            </table>
          </div>


          <div class="col-md-3" style="margin-top: 15px">
            <table width="100%" style="background-color: #9C27B0; color: #ffffff;">
              <tr>
                <td align="center">
                    <div class="ti_ficha"> Jardiance </div>
                    <div class="numero_ficha"><?php echo $stands[1]; ?></div>
                    <a href="<?php echo $url_admin; ?>/?pg=analitica/producto&id=2&cant=<?php echo $stands[0]; ?>">
                        <button type="button" class="btn btn-light" style="margin-bottom: 15px; margin-top: -18px;">Ver</button>
                    </a>
                </td>
              </tr>
            </table>
          </div>

        </div>

        
        <input type="button" value="Guardar SnapShot" class="btn btn-secondary btn-sm" onclick="GuardarData()" style="width: 160px; margin-top: 25px;">
        

        
          
      </div>
    </div>
  </div>
    
  <div id="xscript"></div>

<style>
  .ruta{display: inline-table;
    width: 30%;
    background-color: #e6e6e6;
    padding: 10px;
    margin: 5px;
  }
  .valor{
    display: inline-table;
    width: 30%;
    background-color: #CDDC39;
    padding: 10px;
    margin: 5px;
  }
        .ficha_preguntas{
            background-color: #ffffff;
            padding: 10px;
            margin-bottom: 10px;
        }
        
        .pregunta{
            text-align: center;
            font-weight: bold;
            font-size: 15px;
            margin-bottom: 10px;
        }
        
        .opcion{
            background-color: #CDDC39;
            padding: 3px;
        }
        .grupo{
            margin-bottom: 10px;
        }
        .marco{
            border: 1px solid #ccc;
            margin-top: 5px;
        }
</style>




 
<style>

.btn-left{
  margin-right:10px;
}

.wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}

#sidebar {
    min-width: 270px;
    max-width: 270px;
  min-height: 100vh;
    color: #000000;
  background-color:#ffffff;
}

#sidebar.active {
    margin-left: -250px;
}

body {
  font-family: 'Montserrat', sans-serif;
  background: <?php echo $cfondo; ?>;
  color: <?php echo $cfuente; ?>;
  font-size: 12px;
}

a, a:hover, a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}

.list-group-item{
  background-color:<?php echo $cmenu; ?>;
}

.list-group-item:hover{
  background-color:rgba(0,0,0,0.3);
}

svg{
  margin-right:8px;
}

.titulos{
  color: <?php echo $cseparador; ?>; 
  font-size: 15px; 
  font-weight: 600;
}

h5{
  color:<?php echo $ctitulos; ?>;
}



@media (max-width: 768px) {
    #sidebar {
        margin-left: -250px;
    display:none;
    }
    #sidebar.active {
        margin-left: 0;
    }
}

</style>
    

<script>
$(document).ready(function () {

    $('#sidebarCollapse').on('click', function () {
        $('#sidebar').toggleClass('active');
    });

});
</script>

</body>

</html>