/** * 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 {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); }
/** * Evalua los resultados de la manga from segun mode * y recalcula el orden de salida de la manga from * @param {integer} $from manga donde buscar resultados * @param {integer} $mode categorias de la manga (L,M,S,MS,LMS,T,LM,ST,LMST) */ private function invierteResultados($from, $mode) { // FASE 1: invertimos orden de salida de perros $r = new Resultados("OrdenSalida::invierteResultados", $this->prueba['ID'], $from->ID); $res = $r->getResultados($mode); $data = $res['rows']; $size = count($data); // recorremos los resultados en orden inverso $ordensalida = $this->getOrden(); // y reinsertamos los perros actualizando el orden for ($idx = $size - 1; $idx >= 0; $idx--) { $idperro = $data[$idx]['Perro']; // lo borramos para evitar una posible doble insercion $str = ",{$idperro},"; $nuevoorden = str_replace($str, ",", $ordensalida); // componemos el tag que hay que insertar $str = "{$idperro},END"; // y lo insertamos en lugar que corresponde (al final) $ordensalida = str_replace("END", $str, $nuevoorden); } // salvamos datos $this->setOrden($ordensalida); // FASE 2: ahora invertimos el orden de los equipos en funcion del resultado if (intval($this->jornada['Equipos3']) == 0) { return; } $this->myLogger->trace("invirtiendo orden de equipos"); $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; } $res = Resultados::getTeamResults($res['rows'], $this->prueba['ID'], $this->jornada['ID'], $mindogs); $size = count($res); // recorremos los resultados en orden inverso generando el nuevo orden de equipos $ordenequipos = $this->getOrdenEquipos(); // y reinsertamos los perros actualizando el orden for ($idx = $size - 1; $idx >= 0; $idx--) { $equipo = intval($res[$idx]['ID']); $this->myLogger->trace("Equipo: {$equipo} - ,{$res[$idx]['Nombre']}"); // eliminamos el equipo del puesto donde esta $str = ",{$equipo},"; $ordenequipos = str_replace($str, ",", $ordenequipos); // reinsertamos equipo al final $str = ",{$equipo},END"; // y lo insertamos en lugar que corresponde (al final) $ordenequipos = str_replace(",END", $str, $ordenequipos); } // salvamos datos $this->setOrdenEquipos($ordenequipos); }