Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.dbaccess.php');
require_once('class.propietario.php');
require_once('class.inscripcionresultadosmorfologicos.php');
require_once('class.inscripcionresultadosfuncionales.php');
require_once('class.inscripcionresultadosmarcha.php');
require_once('class.filter.php');
require_once('class.page.php');
class Reportes extends DBAccess implements IFilterable
{
public function ParseFilter(array $filter)
{
$sql = '';
return $sql;
}
private function GenerarReporte($sql)
{
$dbconn = mysql_connect(Config::Database_Host, Config::Database_User, Config::Database_Pass, false, 65536);
$result = mysql_query($sql);
$oRes = new DBResource($result);
$arr = array();
$arrReporteCalendario = array();
$arrReporte = array();
$IdPropietario = 0;
$IdCalendario = 0;
while ($oRow = $oRes->GetRow())
{
$propietarioChanged = false;
if ($IdPropietario != $oRow['IdPropietario'])
{
$IdPropietario = $oRow['IdPropietario'];
$arr[$IdPropietario] = array();
$propietarioChanged = true;
}
if ($IdCalendario != $oRow['IdCalendario'] || $propietarioChanged)
{
$IdCalendario = $oRow['IdCalendario'];
$arr[$IdPropietario][$IdCalendario] = array();
}
$oReporteFuncional = new stdClass();
$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
$oReporteFuncional->SBA = $oRow['SBA'];
$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
$oReporteFuncional->FechaDesde = $oRow['FechaDesde'];
$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
$oReporteFuncional->Denominacion = $oRow['Denominacion'];
$oReporteFuncional->Nombre = $oRow['Nombre'];
$oReporteFuncional->Categoria = $oRow['Categoria'];
array_push($arr[$IdPropietario][$IdCalendario], $oReporteFuncional);
$oRes->MoveNext();
}
mysql_close($dbconn);
return $arr;
}
public function GetReporteMorfologico($IdCalendario1, $IdCalendario2, $IdCalendario3)
{
return $this->GenerarReporte("CALL caballoscriollos_com.ReporteMorfologicos(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")");
}
public function GetReporteFuncional($IdCalendario1, $IdCalendario2, $IdCalendario3)
{
return $this->GenerarReporte("CALL caballoscriollos_com.ReporteFuncionales(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")");
}
public function GetReporteMarcha($IdCalendario1, $IdCalendario2, $IdCalendario3)
{
return $this->GenerarReporte("CALL caballoscriollos_com.ReporteMarchas(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")");
}
public function GetRepote($IdCalendario1, $IdCalendario2, $IdCalendario3)
{
$sql = "CALL caballoscriollos_com.GenerarReporte(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")";
$dbconn = mysql_connect(Config::Database_Host, Config::Database_User, Config::Database_Pass, false, 65536);
$result = mysql_query($sql);
$oRes = new DBResource($result);
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
$oReporte = new stdClass();
$oReporte->Propietario = $oPropietario;
$oReporte->PuntajeTotal = $oRow['PuntajeTotal'];
$oReporte->Puntaje1 = $oRow['Puntaje1'];
$oReporte->Puntaje2 = $oRow['Puntaje2'];
$oReporte->Puntaje3 = $oRow['Puntaje3'];
array_push($arr, $oReporte);
$oRes->MoveNext();
}
mysql_close($dbconn);
return $arr;
}
public function GetReporteMorfologicoAcotado($IdPropietario, $IdCalendario)
{
$sql = "SELECT tt.IdPropietario, tt.Sba, MAX(tt.PuntajeMaximo) AS PuntajeMaximo, tt.EventoDesdeFecha, tt.IdCalendario, tt.Denominacion, tt.Animal, tt.Rp, tt.Categoria, tt.TipoMorfologia, tt.Abreviatura, tt.IdInscripcion";
$sql.= " FROM (SELECT ia.IdPropietario, ia.Sba, MAX(pm.Puntaje) AS PuntajeMaximo, e.EventoDesdeFecha, c.IdCalendario, e.Denominacion, ia.Animal, ia.Rp, ema.Categoria, ema.TipoMorfologia, pmm.Abreviatura, ia.IdInscripcion";
$sql.= " FROM tblInscripcionAnimales ia";
$sql.= " INNER JOIN tblEventosMorfologicosCategorias emc";
$sql.= " ON ia.IdEventosMorfologicosCategoria = emc.IdEventosMorfologicosCategoria";
$sql.= " INNER JOIN tblInscripcionResultadosMorfologicos irm";
$sql.= " ON irm.IdInscripcion = ia.IdInscripcion AND irm.IdCategoriaMorfologica = emc.IdEventosMorfologicosCategoria";
$sql.= " INNER JOIN tblPuntajesMorfologicos pm";
$sql.= " ON pm.IdPuntaje = irm.IdPuntaje";
$sql.= " INNER JOIN tblEventos e";
$sql.= " ON e.IdEvento = ia.IdEvento";
$sql.= " INNER JOIN tblCalendarios c";
$sql.= " ON (c.FechaDesde <= e.EventoDesdeFecha AND c.FechaHasta >= e.EventoDesdeFecha)";
$sql.= " INNER JOIN tblEventosMorfologicosAutoridades ema";
$sql.= " ON ema.IdEvento = e.IdEvento";
$sql.= " INNER JOIN tblPremiosMorfologicos pmm";
$sql.= " ON pmm.IdPremio = pm.IdPremio";
$sql.= " WHERE ia.IdPropietario = " . DB::Number($IdPropietario);
$sql.= " AND c.IdCalendario = " . DB::Number($IdCalendario);
$sql.= " GROUP BY ia.Sba, pm.IdPuntaje";
$sql.= " ORDER BY PuntajeMaximo DESC) AS tt";
$sql.= " GROUP BY tt.Sba";
$sql.= " ORDER BY tt.PuntajeMaximo DESC";
$sql.= " LIMIT 5";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oReporteFuncional = new stdClass();
$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
$oReporteFuncional->IdInscripcion = $oRow['IdInscripcion'];
$oReporteFuncional->SBA = $oRow['SBA'];
$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
$oReporteFuncional->FechaDesde = $oRow['FechaDesde'];
$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
$oReporteFuncional->Denominacion = $oRow['Denominacion'];
$oReporteFuncional->Nombre = $oRow['Animal'];
$oReporteFuncional->Rp = $oRow['Rp'];
$oReporteFuncional->Categoria = $oRow['Categoria'];
$oReporteFuncional->TipoMorfologia = $oRow['TipoMorfologia'];
$oReporteFuncional->Premio = $oRow['Abreviatura'];
if ($oReporteFuncional->TipoMorfologia == 'N')
$oReporteFuncional->TipoMorfologia = 'Normal';
elseif ($oReporteFuncional->TipoMorfologia == 'P')
$oReporteFuncional->TipoMorfologia = 'Pasaporte';
elseif ($oReporteFuncional->TipoMorfologia == 'R')
$oReporteFuncional->TipoMorfologia = 'Rotativa';
array_push($arr, $oReporteFuncional);
$oRes->MoveNext();
}
return $arr;
}
public function GetReporteFuncionalAcotado($IdPropietario, $IdCalendario)
{
$sql = "SELECT IdPropietario, Sba, PuntajeMaximo, EventoDesdeFecha, IdCalendario, Denominacion, Animal, Rp, Categoria, Abreviatura, Evento";
$sql.= " FROM (SELECT ia.IdPropietario, ia.Sba, MAX(pf.Puntaje) AS PuntajeMaximo, e.EventoDesdeFecha, c.IdCalendario, e.Denominacion, ia.Animal, ia.Rp, efpc.Nombre AS Categoria, ia.IdEvento, ppf.Abreviatura, efp.Nombre AS Evento";
$sql.= " FROM tblInscripcionAnimales ia";
$sql.= " INNER JOIN tblInscripcionesAnimalesPruebasFuncionales iapf ON ia.IdInscripcion = iapf.IdInscripcion";
$sql.= " INNER JOIN tblEventosFuncionalesPruebas efp ON iapf.IdEventosFuncionalesPrueba = efp.IdEventosFuncionalesPrueba";
$sql.= " INNER JOIN tblEventosFuncionalesPruebasCategorias efpc ON efpc.IdEventosFuncionalesPruebasCategoria = iapf.IdEventosFuncionalesPruebasCategoria";
$sql.= " INNER JOIN tblEventosFuncionalesPruebasEventos efpe ON iapf.IdEventosFuncionalesPrueba = efpe.IdEventosFuncionalesPrueba";
$sql.= " AND efpe.IdEvento = ia.IdEvento AND efpe.IdEventosFuncionalesPruebasCategoria = iapf.IdEventosFuncionalesPruebasCategoria";
$sql.= " INNER JOIN tblInscripcionResultadosFuncionales irf ON irf.IdPruebaFuncional = efp.IdEventosFuncionalesPrueba";
$sql.= " AND irf.IdInscripcion = ia.IdInscripcion";
$sql.= " INNER JOIN tblPuntajesFuncionales pf ON pf.IdPuntaje = irf.IdPuntaje";
$sql.= " INNER JOIN tblPremiosFuncionales ppf ON ppf.IdPremio = pf.IdPremio";
$sql.= " INNER JOIN tblEventos e ON e.IdEvento = ia.IdEvento";
$sql.= " INNER JOIN tblCalendarios c ON (c.FechaDesde <= e.EventoDesdeFecha AND c.FechaHasta >= e.EventoDesdeFecha)";
$sql.= " WHERE ia.IdPropietario = " . DB::Number($IdPropietario);
$sql.= " AND c.IdCalendario = " . DB::Number($IdCalendario);
$sql.= " GROUP BY CONCAT(ia.IdPropietario, ia.Sba), pf.IdPuntaje) AS tt";
$sql.= " ORDER BY PuntajeMaximo DESC";
$sql.= " LIMIT 4";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oReporteFuncional = new stdClass();
$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
$oReporteFuncional->SBA = $oRow['SBA'];
$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
$oReporteFuncional->FechaDesde = $oRow['EventoDesdeFecha'];
$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
$oReporteFuncional->Denominacion = $oRow['Denominacion'];
$oReporteFuncional->Nombre = $oRow['Animal'];
$oReporteFuncional->Rp = $oRow['Rp'];
$oReporteFuncional->Categoria = $oRow['Evento'] . ' - '. $oRow['Categoria'];
$oReporteFuncional->Premio = $oRow['Abreviatura'];
array_push($arr, $oReporteFuncional);
$oRes->MoveNext();
}
return $arr;
}
public function GetReporteMarchaAcotado($IdPropietario, $IdCalendario)
{
$sql = "SELECT ia.IdPropietario, ia.Sba, MAX(pm.Puntaje) AS PuntajeMaximo, e.EventoDesdeFecha, c.IdCalendario, e.Denominacion, ia.Animal, ia.Rp, ppm.Abreviatura";
$sql.= " FROM tblInscripcionAnimales ia";
$sql.= " INNER JOIN tblInscripcionResultadosMarcha irm";
$sql.= " ON irm.IdInscripcion = ia.IdInscripcion";
$sql.= " INNER JOIN tblPuntajesMarcha pm";
$sql.= " ON irm.IdPuntaje = pm.IdPuntaje";
$sql.= " INNER JOIN tblEventos e";
$sql.= " ON e.IdEvento = ia.IdEvento";
$sql.= " INNER JOIN tblCalendarios c";
$sql.= " ON (c.FechaDesde <= e.EventoDesdeFecha AND c.FechaHasta >= e.EventoDesdeFecha)";
$sql.= " INNER JOIN tblPremiosMarcha ppm";
$sql.= " ON ppm.IdPremio = pm.IdPremio";
$sql.= " WHERE ia.IdPropietario = $IdPropietario AND c.IdCalendario = $IdCalendario";
$sql.= " GROUP BY ia.Sba, ia.IdEvento, pm.IdPuntaje";
$sql.= " ORDER BY PuntajeMaximo DESC";
$sql.= " LIMIT 1";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oReporteFuncional = new stdClass();
$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
$oReporteFuncional->SBA = $oRow['SBA'];
$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
$oReporteFuncional->FechaDesde = $oRow['EventoDesdeFecha'];
$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
$oReporteFuncional->Denominacion = $oRow['Denominacion'];
$oReporteFuncional->Nombre = $oRow['Animal'];
$oReporteFuncional->Rp = $oRow['Rp'];
$oReporteFuncional->Categoria = $oRow['Evento'] . ' - '. $oRow['Categoria'];
$oReporteFuncional->Premio = $oRow['Abreviatura'];
array_push($arr, $oReporteFuncional);
$oRes->MoveNext();
}
return $arr;
}
}
?>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat