Ignore:
Timestamp:
Jul 19, 2017, 12:05:17 PM (3 years ago)
Author:
mabarracus
Message:

Complete code rewrite
New database model
Improved performance & optimization
Extended information about clients
Fixed older bugs
New testing framework
Fix postinst exit code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-analytics-server/trunk/fuentes/lliurex-analytics-server/usr/lib/analytics-server/analytics/functions.php

    r747 r5560  
    33        return function($request,$response,$service){
    44                $data=json_decode($request->stats,true);
    5        
     5               
    66                $db = new DB;
    77                $db->connect();
    8                 $db->init_trans();
    98                try{
    10                         if (isset($data['vers']))
    11                             $version=$data['vers'];
    12                         else
    13                             $version='Nada';
    14                         if (isset($data['sab']))
    15                             $sabor=$data['sab'];
    16                         else
    17                             $sabor='Nada';
    18                         $id=$db->insert_data($data['uid'],date("Y-m-d H:i:s"),$version,$sabor);
    19                         $db->update_data(json_decode($data['stats'],true),$version,$sabor);
     9                        if (isset($data['vers'])){
     10                            $version=trim($data['vers']);
     11                        }else{
     12                            return 'NOK';
     13                        }
     14                        if (isset($data['sab'])){
     15                            $sabor=trim($data['sab']);
     16                        }else{
     17                            return 'NOK';
     18                        }
     19                        if (isset($data['uid'])){
     20                            $uid=trim($data['uid']);
     21                        }else{
     22                            return 'NOK';
     23                        }
     24                        if ($version == '' or $sabor == '' or $uid == ''){
     25                            return 'NOK';
     26                        }
     27                        if (isset($data['date'])){
     28                            $db->send_data($uid,$version,$sabor,json_decode($data['stats'],true),$data['date']);
     29                        }else{
     30                            $db->send_data($uid,$version,$sabor,json_decode($data['stats'],true));
     31                        }
    2032                }catch (Exception $e){
    21                         $db->dbconn->rollback();
     33                        error_log($e);
    2234                        $db->disconnect();
    2335                        return 'NOK';
    2436                }
    25                 $db->dbconn->commit();
    2637                $db->disconnect();
    2738                return 'OK';
     
    3849}
    3950
     51function call_get_extended_stats(){
     52        return function($request,$reponse,$service){
     53                $app=$request->param('app');
     54                $db = new DB;
     55                $db->connect();
     56                echo $db->get_extended_data($app);
     57                $db->disconnect();
     58        };
     59}
    4060
    4161function call_show_stats(){
     
    4363return function($request,$reponse,$service){
    4464
    45 echo "<html>
     65echo '<html>
    4666  <head>
    4767    <!--Load the AJAX API-->
    48     <script type='text/javascript' src='https://www.google.com/jsapi'></script>
    49     <script type='text/javascript' src='jquery.min.js'></script>
    50     <script type='text/javascript' src='graph.js'></script>
    51     <link href='ui/jquery-ui.css' rel='stylesheet'>
    52     <script type='text/javascript' src='ui/jquery-ui.js'></script>
     68    <!--<script type="text/javascript" src="https://www.google.com/jsapi"></script>-->
     69    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
     70    <script type="text/javascript" src="jquery.min.js"></script>
     71    <script type="text/javascript" src="graph.js"></script>
     72
     73    <script type="text/javascript">
     74        google.charts.load("current", {packages: ["corechart"],"language":"es"});
     75        google.charts.setOnLoadCallback(doChart);
     76    </script>
     77    <script type="text/javascript" src="jquery.min.js"></script>
     78    <script type="text/javascript" src="graph.js"></script>
     79    <link href="ui/jquery-ui.css" rel="stylesheet">
     80    <link href="graph.css" rel="stylesheet">
     81    <script type="text/javascript" src="ui/jquery-ui.js"></script>
    5382  </head>
    5483  <body>
    55   <div style='text-align:center; font-size:2em;'>Lliurex-Analytics</div><hr/>
    56   <div id='accordion'></div>
     84  <div id="header"><span class="title">Lliurex-Analytics <a class="go_to_other" href="ShowExtendedStats">[Extended stats]</a></span><div id="stats_box"></div></div>
     85  <div id="accordion"></div>
    5786  </body>
    5887</html>
    59 ";
     88';
     89
     90};
     91
     92}
     93
     94function call_show_extended_stats(){
     95
     96return function($request,$reponse,$service){
     97
     98echo '<html>
     99  <head>
     100    <!--Load the AJAX API-->
     101    <!--<script type="text/javascript" src="https://www.google.com/jsapi"></script>-->
     102    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
     103    <script type="text/javascript" src="jquery.min.js"></script>
     104    <script type="text/javascript" src="graph.js"></script>
     105
     106    <script type="text/javascript">
     107        google.charts.load("current", {packages: ["corechart"],"language":"es"});
     108        google.charts.setOnLoadCallback(doExtendedChart);
     109    </script>
     110    <script type="text/javascript" src="jquery.min.js"></script>
     111    <script type="text/javascript" src="graph.js"></script>
     112    <link href="ui/jquery-ui.css" rel="stylesheet">
     113    <link href="graph.css" rel="stylesheet">
     114    <script type="text/javascript" src="ui/jquery-ui.js"></script>
     115    <script type="text/javascript">$(document).ready(function(){function send_query(){window.location.href=window.location.pathname+"?app="+$("#query_box>input").val()};$("#query_box>input").on("keyup",function(e){if (e.keyCode == 13){send_query()}});$("#query_box>button").click(send_query)});</script>
     116  </head>
     117  <body>
     118  <div id="header"><div id="query_box"><span>Search by app:</span><input type="search" name="app_search"></input><button>Search</button></div><span class="title">Lliurex-Analytics <a class="go_to_other" href="ShowStats">[Simple stats]</a></span><div id="stats_box"></div></div>
     119  <div id="accordion"></div>
     120  </body>
     121</html>
     122';
    60123
    61124};
     
    64127
    65128
    66 
    67129?>
Note: See TracChangeset for help on using the changeset viewer.