/** Constructor * @param {int} $prueba prueba id * @param {int} $jornada jornada id * @param {array} $mangas datos de la manga * @param {array} $results resultados asociados a la manga/categoria pedidas * @param {int} $mode manga mode * @throws Exception */ function __construct($prueba, $jornada, $mangas, $results, $mode) { parent::__construct('Landscape', "print_clasificacion_eqBest", $prueba, $jornada); $dbobj = new DBObject("print_clasificacionEquipos"); $this->manga1 = null; $this->manga2 = null; $this->trs1 = null; $this->trs2 = null; if ($mangas[0] != 0) { $this->manga1 = $dbobj->__getObject("Mangas", $mangas[0]); $this->trs1 = $results['trs1']; } if ($mangas[1] != 0) { $this->manga2 = $dbobj->__getObject("Mangas", $mangas[1]); $this->trs2 = $results['trs2']; } $this->categoria = $this->getModeString(intval($mode)); $this->equipos = $results['equipos']; // recuerda que YA viene indexado por puesto // insertamos perros dentro de cada equipo. // para ello vamos a crear un array indexado por teamID $teams = array(); foreach ($this->equipos as &$equipo) { $equipo['Perros'] = array(); $teams[$equipo['ID']] = $equipo; } // iteramos los perros insertandolos en el equipo. Recuerda que los perros ya vienen ordenados foreach ($results['individual'] as &$perro) { array_push($teams[$perro['Equipo']]['Perros'], $perro); } $this->equipos = $teams; }
/** * Constructor * @param {integer} $prueba Prueba ID * @param {integer} $jornada Jormada ID * @param {integer} $manga Manga ID * @throws Exception */ function __construct($prueba, $jornada) { parent::__construct('Portrait', "print_equiposByJornada", $prueba, $jornada); if ($prueba <= 0 || $jornada <= 0) { $this->errormsg = "print_teamsByJornada: either prueba or jornada data are invalid"; throw new Exception($this->errormsg); } // comprobamos que estamos en una jornada por equipos $flag = intval($this->jornada->Equipos3) + intval($this->jornada->Equipos4); if ($flag == 0) { $this->errormsg = "print_teamsByJornada: Jornada {$jornada} has no Team competition declared"; throw new Exception($this->errormsg); } // Datos de equipos de la jornada $m = new Equipos("print_teamsByJornada", $prueba, $jornada); $teams = $m->getTeamsByJornada(); // reindexamos por ID y anyadimos un campo extra "Perros" con los perros del equipo $this->equipos = array(); foreach ($teams as &$equipo) { $equipo['Perros'] = $m->getPerrosByTeam($equipo['ID']); $this->equipos[$equipo['ID']] = $equipo; } // Datos de los participantes (indexados por ID de perro) $m = new DBObject("print_teamsByJornada"); $r = $m->__select("*", "Resultados", "(Jornada={$jornada})", "", ""); $this->perros = array(); foreach ($r['rows'] as $item) { $this->perros[intval($item['Perro'])] = $item; } // finalmente internacionalizamos cabeceras $this->cellHeader = array(_('Dorsal'), _('Name'), _('Breed'), _('Lic'), _('Category'), _('Handler'), $this->strClub, _('Heat'), _('Comments')); }
/** * Constructor * @param {integer} $prueba Prueba ID * @param {integer} $jornada Jormada ID * @param {integer} $manga Manga ID * @throws Exception */ function __construct($prueba, $jornada, $manga) { parent::__construct('Portrait', "print_entradaDeDatosEquipos4", $prueba, $jornada); if ($prueba <= 0 || $jornada <= 0) { $this->errormsg = "print_datosEquipos4: either prueba or jornada data are invalid"; throw new Exception($this->errormsg); } // comprobamos que estamos en una jornada por equipos $flag = intval($this->jornada->Equipos3) + intval($this->jornada->Equipos4); if ($flag == 0) { $this->errormsg = "print_datosEquipos4: Jornada {$jornada} has no Team competition declared"; throw new Exception($this->errormsg); } // guardamos info de la manga $this->manga = $this->myDBObject->__getObject("Mangas", $manga); // Datos del orden de salida de equipos $m = new OrdenSalida("ordenSalidaEquipos4", $manga); $teams = $m->getTeams(); $this->equipos = $teams['rows']; // anyadimos el array de perros del equipo foreach ($this->equipos as &$equipo) { $equipo['Perros'] = array(); } $r = $this->myDBObject->__select("*", "Resultados", "(Manga={$manga})", "", ""); foreach ($r['rows'] as $perro) { foreach ($this->equipos as &$equipo) { if ($perro['Equipo'] == $equipo['ID']) { array_push($equipo['Perros'], $perro); break; } } } }
/** * Constructor * @throws Exception */ function __construct($federation) { date_default_timezone_set('Europe/Madrid'); parent::__construct('Portrait', "print_listaPerros", 1, 0); // use default prueba. not really needed $d = new Dogs("print_listaPerros"); $res = $d->select(); if (!is_array($res)) { $this->errormsg = "print_listaPerros: select() failed"; throw new Exception($this->errormsg); } $this->lista = $res['rows']; // rework federation handling as parent got it from senseless prueba ID $this->federation = Federations::getFederation(intval($federation)); $this->strClub = $this->federation->isInternational() ? _('Country') : _('Club'); $this->icon = getIconPath($this->federation->get('Name'), "agilitycontest.png"); $this->icon2 = getIconPath($this->federation->get('Name'), $this->federation->get('Logo')); $this->cols[8] = $this->strClub; // use "country" or "club" according federation if ($this->federation->get('WideLicense') == true) { // on wide license hide loe/rrc $this->pos[3] += $this->pos[4]; $this->pos[4] = 0; $this->pos[3] += 5; // decrease handler name $this->pos[7] -= 5; } }
/** * Constructor * @param {obj} $manga datos de la manga * @param {obj} $resultados resultados asociados a la manga/categoria pedidas * @throws Exception */ function __construct($prueba, $jornada, $manga, $resultados, $mode) { parent::__construct('Portrait', "print_resultadosByManga", $prueba, $jornada); $this->manga = $manga; $this->resultados = $resultados; $this->mode = $mode; $catgrad = Jornadas::hasGrades($this->jornada) ? _('Cat') . '/' . _('Grade') : _('Cat') . "."; $this->cellHeader = array(_('Dorsal'), _('Name'), _('Lic'), _('Handler'), $this->strClub, $catgrad, _('Flt'), _('Tch'), _('Ref'), _('Time'), _('Vel'), _('Penal'), _('Calification'), _('Position')); }
/** * Constructor * @param {integer} $prueba Prueba ID * @param {integer} $jornada Jornada ID * @param {integer} $m Print mode. 0:Trs/Trm evaluation calc sheet 1:Trsdata template to enter data * @throws Exception */ function __construct($prueba, $jornada, $m) { date_default_timezone_set('Europe/Madrid'); parent::__construct($m == 0 ? 'Landscape' : 'Portrait', "print_Templates", $prueba, $jornada); if ($prueba <= 0 || $jornada <= 0) { $this->errormsg = "printTemplates: either prueba or jornada data are invalid"; throw new Exception($this->errormsg); } $this->mode = $m; }
/** * Constructor * @param {obj} $manga datos de la manga * @param {obj} $resultados resultados asociados a la manga/categoria pedidas * @throws Exception */ function __construct($prueba, $jornada, $manga, $resultados, $mode) { parent::__construct('Portrait', "print_resultadosEquipos3", $prueba, $jornada); $this->manga = $manga; $this->resultados = $resultados; $this->mode = $mode; $mindogs = 0; switch (intval($this->jornada->Equipos3)) { case 1: $mindogs = 3; break; // old style 3 best of 4 // old style 3 best of 4 case 2: $mindogs = 2; break; // 2 besto of 3 // 2 besto of 3 case 3: $mindogs = 3; break; // 3 best of 4 // 3 best of 4 default: break; } switch (intval($this->jornada->Equipos4)) { case 1: $mindogs = 4; break; // old style 4 combined // old style 4 combined case 2: $mindogs = 2; break; // 2 combined // 2 combined case 3: $mindogs = 3; break; // 3 combined // 3 combined case 4: $mindogs = 4; break; // 4 combined // 4 combined default: break; } $this->cellHeader = array(_('Dorsal'), _('Name'), _('Lic') . '.', _('Handler'), $this->strClub, _('Cat') . '.', _('Flt') . '.', _('Tch') . '.', _('Ref') . '.', _('Time'), _('Vel') . '.', _('Penal') . '.', _('Calification'), _('Position'), _('Team global')); $this->equipos = Resultados::getTeamResults($resultados['rows'], $prueba, $jornada, $mindogs); $this->eqmgr = new Equipos("print_resultadosByEquipos", $prueba, $jornada); }
/** Constructor * @param {obj} $manga datos de la manga * @param {obj} $resultados resultados asociados a la manga/categoria pedidas * @throws Exception */ function __construct($prueba, $jornada, $mangas) { parent::__construct('Portrait', "print_etiquetasPDF", $prueba, $jornada); $dbobj = new DBObject("print_etiquetas_pdf"); $this->manga1 = $dbobj->__getObject("Mangas", $mangas[0]); $this->manga2 = $dbobj->__getObject("Mangas", $mangas[1]); // add version date and license serial to every label $ser = substr($this->regInfo['Serial'], 4, 4); $ver = substr($this->config->getEnv("version_date"), 2, 6); $this->serialno = "{$ver}-{$ser}"; }
/** * Constructor * @param {integer} $prueba Prueba ID * @param {integer} $jornada * @param {integer} $manga Manga ID * @param {object} $resultados * @param {integer} $mode * @throws Exception */ function __construct($prueba, $jornada, $manga, $resultados, $mode) { parent::__construct('Portrait', "print_resultadosEquipos4", $prueba, $jornada); $this->manga = $manga; $this->resultados = $resultados; $this->mode = $mode; $mindogs = 0; switch (intval($this->jornada->Equipos3)) { case 1: $mindogs = 3; break; // old style 3 best of 4 // old style 3 best of 4 case 2: $mindogs = 2; break; // 2 besto of 3 // 2 besto of 3 case 3: $mindogs = 3; break; // 3 best of 4 // 3 best of 4 default: break; } switch (intval($this->jornada->Equipos4)) { case 1: $mindogs = 4; break; // old style 4 combined // old style 4 combined case 2: $mindogs = 2; break; // 2 combined // 2 combined case 3: $mindogs = 3; break; // 3 combined // 3 combined case 4: $mindogs = 4; break; // 4 combined // 4 combined default: break; } $this->equipos = Resultados::getTeamResults($resultados['rows'], $prueba, $jornada, $mindogs); $this->eqmgr = new Equipos("print_resultadosByEquipos4", $prueba, $jornada); $this->mindogs = mindogs; }
/** Constructor * @param {int} $prueba * @param {int} $jornada * @param {array} $mangas lista de mangaid's * @param {array} $results resultados asociados a la manga pedidas * @throws Exception */ function __construct($prueba, $jornada, $mangas, $results) { parent::__construct('Landscape', "print_podium", $prueba, $jornada); $dbobj = new DBObject("print_clasificacion"); $this->manga1 = $dbobj->__getObject("Mangas", $mangas[0]); $this->manga2 = null; if ($mangas[1] != 0) { $this->manga2 = $dbobj->__getObject("Mangas", $mangas[1]); } $this->resultados = $results; }
/** * Constructor * @param {integer} $prueba Prueba ID * @param {integer} $jornada Jornada ID * @throws Exception */ function __construct($prueba, $jornada) { date_default_timezone_set('Europe/Madrid'); parent::__construct('Portrait', "print_ordenTandas", $prueba, $jornada); if ($prueba <= 0 || $jornada <= 0) { $this->errormsg = "printTandas: either prueba or jornada data are invalid"; throw new Exception($this->errormsg); } // Datos del orden de tandas $o = new Tandas("PrintTandas", $prueba, $jornada); $ot = $o->getTandas(0); // 0: any tanda $this->orden = $ot['rows']; }
/** Constructor * @param {int} $prueba prueba id * @param {int} $jornada jornada id * @param {array} $mangas datos de la manga * @param {array} $results resultados asociados a la manga/categoria pedidas * @param {int} $mode manga mode * @throws Exception */ function __construct($prueba, $jornada, $mangas, $results, $mode) { parent::__construct('Landscape', "print_clasificacion", $prueba, $jornada); $dbobj = new DBObject("print_clasificacion"); $this->manga1 = $dbobj->__getObject("Mangas", $mangas[0]); $this->manga2 = null; if ($mangas[1] != 0) { $this->manga2 = $dbobj->__getObject("Mangas", $mangas[1]); } $this->resultados = $results['rows']; $this->trs1 = $results['trs1']; $this->trs2 = null; if ($mangas[1] != 0) { $this->trs2 = $results['trs2']; } $this->categoria = $this->getModeString(intval($mode)); }
/** * Constructor * @param {integer} $prueba * @param {integer} $jornada * @param {array[object]} datos de la manga y (si existe) manga hermana * @param {array} $ordens Lista de inscritos en formato jquery array[count,rows[]] * @param {integer} $numrows numero de perros a imprimir por cada hoja * @throws Exception */ function __construct($prueba, $jornada, $mangas, $ordens, $numrows) { parent::__construct('Portrait', "print_entradaDeDatos", $prueba, $jornada); if ($prueba <= 0 || $jornada <= 0 || $mangas === null || $ordens === null) { $this->errormsg = "printEntradaDeDatos: either prueba/jornada/ manga/orden data are invalid"; throw new Exception($this->errormsg); } $this->manga = $mangas[0]; if (array_key_exists(1, $mangas)) { $this->manga2 = $mangas[1]; } $this->orden = $ordens; $this->numrows = $numrows; $this->categoria = "L"; $this->cellHeader[4] = $this->strClub; // fix country/club text }
/** * Constructor * @param {integer} $prueba Prueba ID * @param {integer} $jornada Jormada ID * @param {integer} $manga Manga ID * @throws Exception */ function __construct($prueba, $jornada, $manga) { parent::__construct('Portrait', "print_ordenDeSalida", $prueba, $jornada); if ($prueba <= 0 || $jornada <= 0 || $manga <= 0) { $this->errormsg = "printOrdenDeSalida: either prueba/jornada/ manga/orden data are invalid"; throw new Exception($this->errormsg); } // Datos de la manga $m = new Mangas("printOrdenDeSalida", $jornada); $this->manga = $m->selectByID($manga); // Datos del orden de salida $o = new OrdenSalida("printOrdenDeSalida", $manga); $os = $o->getData(); $this->orden = $os['rows']; $this->categoria = "L"; $this->cellHeader = array(_('Order'), _('Dorsal'), _('Name'), _('Breed'), _('Lic'), _('Handler'), $this->strClub, _('Heat'), _('Comments')); // obtenemos los datos de equipos de la jornada indexados por el ID del equipo $eq = new Equipos("print_ordenDeSalida", $prueba, $jornada); $this->teams = array(); foreach ($eq->getTeamsByJornada() as $team) { $this->teams[$team['ID']] = $team; } }
/** * Constructor * @param {integer} $prueba Prueba ID * @param {array} $inscritos Lista de inscritos en formato jquery array[count,rows[]] * @throws Exception */ function __construct($prueba, $inscritos, $jornadas, $jornadaid) { parent::__construct('Portrait', 'print_inscritosByJornada', $prueba, 0); if ($prueba == 0 || $inscritos === null) { $this->errormsg = "printInscritosByPrueba: either prueba or inscription data are invalid"; throw new Exception($this->errormsg); } usort($inscritos['rows'], function ($a, $b) { return $a['Dorsal'] > $b['Dorsal'] ? 1 : -1; }); $this->inscritos = $inscritos['rows']; $this->jornadas = $jornadas['rows']; $this->setPageName("inscritosByJornada.pdf"); $this->cellHeader = array(_('Dorsal'), _('Name'), _('Lic'), _('Handler'), $this->strClub, _('Cat'), _('Grado'), _('Heat'), _('Comments')); $this->JName = ""; foreach ($jornadas['rows'] as $j) { if ($j['ID'] == $jornadaid) { $this->jornada = $j; $this->JName = "J{$j['Numero']}"; // remove "Grade" from cell array if jornada is open/team/KO if (!Jornadas::hasGrades($j)) { $this->pos[5] = 16; // increase category size $this->pos[6] = 0; // set grade size to zero } break; } } if ($this->JName === "") { $this->errormsg = "printInscritosByJornada: Invalid Jornada ID:{$jornadaid} for provided prueba"; throw new Exception($this->errormsg); } }