Optimización mayor en carga de modulos.
[xmensajitos.php.git] / estad.php
blob0fbc8f3b54fd4cf831184c945b50542ab3a88555
1 <?php
2 ob_start("ob_gzhandler");
3 echo
4 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
8 <meta http-equiv="Content-Style-type" content="text/css" />
9 <meta http-equiv="Content-Script-type" content="text/javascript" />
10 <meta http-equiv="Content-Language" content="es" />
11 <link rel="StyleSheet" href="estilo.css" type="text/css" />
12 <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
13 <link rel="start" href="/" />
14 <title>Estadísticas de xMensajitos.php</title>
15 </head>
16 <body>
17 <div id="contenido" class="ancho izq">';
18 require_once(dirname(__FILE__)."/libs/graphs.inc.php" );
19 require_once(dirname(__FILE__)."/libs/iniparser.php" );
20 require_once(dirname(__FILE__)."/datos/data.php"); //Datos del servidor MySQL
21 $MDB = new iniParser(dirname(__FILE__)."/datos/cuentas.db");
22 /*************************************************************************/
23 // Tratamos de conectarnos a la base de datos, si lo conseguimos entonces
24 // activamos la variable que indicará que se pueden utilizar las funciones
25 // dependientes de MiDB.
26 // Este metodo debería de asegurar que no se pierda funcionalidad principal
27 // al no tener configurado MiBD.
28 /*************************************************************************/
29 $MiBD_link = @mysql_connect($MiBD_IP, $MiBD_usuario, $MiBD_clave, false);
30 if ( !$MiBD_link ) {
31 //No nos pudimos conectar
32 $MiBD_OK = false;
33 } else {
34 //Si nos pudimos conectar, entonces todo depende que podamos escoger sin problemas
35 //la base de datos.
36 $MiBD_OK = @mysql_select_db($MiBD_BD, $MiBD_link);
39 function ObtenerValorSQL($sTabla, $sColumna, $sWhere) {
40 global $MiBD_OK, $MiBD_link;
41 if ( $MiBD_OK ) {
42 $q = "SELECT $sColumna FROM $sTabla WHERE $sWhere;";
43 //echo $q."<br />";
44 $resultado = @mysql_query($q, $MiBD_link);
45 if(mysql_num_rows($resultado) > 0){
46 return mysql_result($resultado,0,$sColumna);
47 } else {
48 return false;
53 function resta_fechas($fecha1,$fecha2) {
55 if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha1))
56 list($dia1,$mes1,$anio1)=split("/",$fecha1);
58 if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha2))
59 list($dia2,$mes2,$anio2)=split("/",$fecha2);
61 return((mktime(0,0,0,$mes1,$dia1,$anio1) - mktime(0,0,0,$mes2,$dia2,$anio2))/(24*60*60));
64 if ( !isset( $fecha_instalacion ) ){
65 $f1 = time();
66 } else {
67 $f1 = $fecha_instalacion;
69 $numdias=resta_fechas(date("d/m/Y"),date("d/m/Y",$f1));
70 if ( $MiBD_OK ) {
71 //Digicel
72 $c_Digicel_OK = ObtenerValorSQL("xsms_estadisticas","valor","rama='Digicel-OK'");
73 $c_Digicel_NO = ObtenerValorSQL("xsms_estadisticas","valor","rama='Digicel-ERR'");
74 //Telecom
75 $c_Telecom_OK = ObtenerValorSQL("xsms_estadisticas","valor","rama='Telecom-OK'");
76 $c_Telecom_NO = ObtenerValorSQL("xsms_estadisticas","valor","rama='Telecom-ERR'");
77 //Telefonica
78 $c_Telefonica_OK = ObtenerValorSQL("xsms_estadisticas","valor","rama='Telefonica-OK'");
79 $c_Telefonica_NO = ObtenerValorSQL("xsms_estadisticas","valor","rama='Telefonica-ERR'");
80 //Tigo
81 $c_Tigo_OK = ObtenerValorSQL("xsms_estadisticas","valor","rama='Tigo-OK'");
82 $c_Tigo_NO = ObtenerValorSQL("xsms_estadisticas","valor","rama='Tigo-ERR'");
83 } else {
84 //Digicel
85 $c_Digicel_OK = $MDB->get("Companias", "Digicel-OK");
86 $c_Digicel_NO = $MDB->get("Companias", "Digicel-ERR");
87 //Telecom
88 $c_Telecom_OK = $MDB->get("Companias", "Telecom-OK");
89 $c_Telecom_NO = $MDB->get("Companias", "Telecom-ERR");
90 //Telefonica
91 $c_Telefonica_OK = $MDB->get("Companias", "Telefonica-OK");
92 $c_Telefonica_NO = $MDB->get("Companias", "Telefonica-ERR");
93 //Tigo
94 $c_Tigo_OK = $MDB->get("Companias", "Tigo-OK");
95 $c_Tigo_NO = $MDB->get("Companias", "Tigo-ERR");
98 $Exitosos = $c_Digicel_OK+$c_Telecom_OK+$c_Telefonica_OK+$c_Tigo_OK;
99 $Fallidos = $c_Digicel_NO+$c_Telecom_NO+$c_Telefonica_NO+$c_Tigo_NO;
100 $Totales = $Exitosos + $Fallidos;
102 echo "<h1>Este es el centro de estadisticas (1.3 [PRE]).<br />Ubicado en " . $_SERVER['SERVER_NAME'] . "</h1><hr />";
103 echo "<h2>General</h2>";
104 if ($numdias == 0){
105 echo "Aun no se han recolectado estadisticas";
106 }else{
107 echo "Último reinicio de estadisticas: <b>".date("d/m/y \a\ \l\a\s h:ia",$f1)."</b><br />";
108 echo "Han transcurrido <b>".( $numdias )."</b> dias desde el ultimo reinicio de estadisticas<br />";
110 echo "<hr /><h2>Mensajes</h2>";
111 echo "Se ha enviado un total de <b>$Totales</b> mensajes.<br />De los cuales el <b>".@round(($Exitosos/$Totales)*100,2)."%</b> ( <b>$Exitosos</b> mensajes) ha sido exitoso y el <b>".@round(($Fallidos/$Totales)*100,2)."%</b> ( <b>$Fallidos</b> mensajes ) ha fallado.<br />";
112 echo "Eficiencia de envio actual: <b>".@round(($Exitosos/$Totales)*100,2).'%</b> ( Aprox. '.@ceil(($Exitosos/$Totales)*100)." de cada 100 mensajes se envian bien ).<br />";
113 if ($numdias > 0){
114 echo "<h3>Totales</h3>";
115 echo "Mensajes por dia: <b>".ceil($Totales/$numdias)."</b><br />";
116 echo "Mensajes por hora: <b>".ceil($Totales/($numdias * 24))."</b><br />";
117 echo "Mensajes por minuto: <b>".ceil($Totales/($numdias * 24 * 60))."</b><br />";
118 echo "Mensajes exitosos por dia: <b>".ceil($Exitosos/$numdias)."</b><br />";
119 echo "Mensajes fallidos por dia: <b>".ceil($Fallidos/$numdias)."</b><br />";
122 // Configurador del graficador.
123 $graph = new BAR_GRAPH("hBar");
124 $graph->showValues = 1;
125 $graph->barColors = "#E0E0E0,#0E0E0E";
126 $graph->barBGColor = "";
127 $graph->barBorder = "1px solid #808080";
128 $graph->labelColor = "#A0A0A0";
129 $graph->labelBGColor = "";
130 $graph->labelBorder = "1px dashed #A0A0A0";
131 $graph->labelFont = "Arial Black, Arial, Helvetica";
132 $graph->labelSize = 16;
133 $graph->absValuesColor = "#A0A0A0";
134 $graph->absValuesBGColor = "";
135 $graph->absValuesBorder = "1px solid silver";
136 $graph->absValuesFont = "Verdana, Arial, Helvetica";
137 $graph->absValuesSize = 14;
138 $graph->percValuesColor = "#A0A0A0";
139 $graph->percValuesFont = "Comic Sans MS, Times New Roman";
140 $graph->percValuesSize = 16;
141 // Fin de configuración del graficador.
143 echo "<h3>Comparativa de compañías.</h3>Número de envios exitosos y erroneos respecto a todas las compañías.<br />";
144 $graph->legend = "Exitosos,Erroneos";
145 $graph->labels = "Digicel,Telefonica/Movistar,Telecom/Claro,Telemovil/Tigo";
146 $graph->values = "$c_Digicel_OK;$c_Digicel_NO, $c_Telefonica_OK;$c_Telefonica_NO, $c_Telecom_OK;$c_Telecom_NO, $c_Tigo_OK;$c_Tigo_NO";
147 echo $graph->create();
148 echo "<h3>Comparativa de compañías.</h3>Demanda de envio por compañías.<br />";
149 $graph->labels = "Digicel,Telefonica/Movistar,Telecom/Claro,Telemovil/Tigo";
150 $graph->legend = "";
151 $graph->values = ($c_Digicel_OK + $c_Digicel_NO).", ".($c_Telefonica_OK + $c_Telefonica_NO).", ".($c_Telecom_OK + $c_Telecom_NO).", ".($c_Tigo_OK +$c_Tigo_NO);
152 echo $graph->create();
153 echo "<h3>Eficiencia de envio por compañías.</h3>Porcentaje de envios exitosos respecto a total de mensajes por compañia.<br />";
154 $graph->type = "pBar";
155 $graph->legend = "";
156 $graph->showValues = 0;
157 $graph->barColors = "#E0E0E0,#E0E0E0,#E0E0E0,#E0E0E0";
158 $graph->labels = "Digicel,Telefonica/Movistar,Telecom/Claro,Telemovil/Tigo";
159 $graph->values = $c_Digicel_OK.";".($c_Digicel_OK + $c_Digicel_NO).", ".$c_Telefonica_OK.";".($c_Telefonica_OK + $c_Telefonica_NO).", ".$c_Telecom_OK.";".($c_Telecom_OK + $c_Telecom_NO).", ".$c_Tigo_OK.";".($c_Tigo_OK +$c_Tigo_NO);
160 echo $graph->create();
161 if ( $MiBD_OK ) {
162 echo "<hr /><h2>Estadisticas de visitas</h2>";
163 $graph->showValues = 1;
164 $graph->type = "hBar";
165 $c_Visitas_HTML = floatval(ObtenerValorSQL("xsms_estadisticas","valor","rama='text/html'"));
166 $c_Visitas_WAP = floatval(ObtenerValorSQL("xsms_estadisticas","valor","rama='text/vnd.wap.wml'"));
167 $graph->labels = "HTML,WAP/WML";
168 $graph->values = $c_Visitas_HTML.", ".$c_Visitas_WAP;
169 echo $graph->create();
170 echo "<br />¡<b>".ceil(($c_Visitas_HTML+$c_Visitas_WAP)/$numdias)."</b> visitas por dia!<br />";
172 echo "<hr /><h2>Copyright</h2>Mensajitos.php es un proyecto creado por <b>mxgxw</b> -> www.nohayrazon.com<br />Este es Mensajitos.php TSV, una version modificada por <b>Vlad</b> del software Mensajitos.php<br />";
173 echo
174 '</div>
175 </body>
176 </html>';