/** * (non-PHPdoc) * @see IModel::getTemplateParameters() */ public function getTemplateParameters() { $teamId = $this->_websoccer->getUser()->getClubId($this->_websoccer, $this->_db); $columns = array("P.id" => "id", "vorname" => "firstname", "nachname" => "lastname", "kunstname" => "pseudonym", "position" => "position", "position_main" => "position_main", "position_second" => "position_second", "nation" => "player_nationality", "lending_matches" => "lending_matches", "lending_fee" => "lending_fee", "C.id" => "team_id", "C.name" => "team_name"); if ($this->_websoccer->getConfig('players_aging') == 'birthday') { $ageColumn = 'TIMESTAMPDIFF(YEAR,geburtstag,CURDATE())'; } else { $ageColumn = 'age'; } $columns[$ageColumn] = 'age'; $dbPrefix = $this->_websoccer->getConfig("db_prefix"); $fromTable = $dbPrefix . "_spieler P INNER JOIN " . $dbPrefix . "_verein C ON C.id = P.verein_id"; $whereCondition = "P.status = 1 AND lending_owner_id = %d"; $whereCondition .= " ORDER BY lending_matches ASC, position ASC, position_main ASC, nachname ASC, vorname ASC"; $result = $this->_db->querySelect($columns, $fromTable, $whereCondition, $teamId, 50); $players = array(); while ($player = $result->fetch_array()) { $player["position"] = PlayersDataService::_convertPosition($player["position"]); $players[] = $player; } $result->free(); return array('lentplayers' => $players); }
/** * Provides youth players of team, grouped by position. * * @param WebSoccer $websoccer Application context. * @param DbConnection $db DB connection. * @param int $clubId ID of team * @param string $positionSort ASC or DESC * @return array asoc. array of youth players, with key=converted position ID, value=list of players */ public static function getYouthPlayersOfTeamByPosition(WebSoccer $websoccer, DbConnection $db, $clubId, $positionSort = "ASC") { $columns = "*"; $fromTable = $websoccer->getConfig("db_prefix") . "_youthplayer"; $whereCondition = "team_id = %d ORDER BY position " . $positionSort . ", lastname ASC, firstname ASC"; $result = $db->querySelect($columns, $fromTable, $whereCondition, $clubId, 50); $players = array(); while ($player = $result->fetch_array()) { $player["position"] = PlayersDataService::_convertPosition($player["position"]); $player["player_nationality"] = $player["nation"]; // make compliant with professional matches formation form $player["player_nationality_filename"] = PlayersDataService::getFlagFilename($player["nation"]); $players[$player["position"]][] = $player; } $result->free(); return $players; }
public static function getMatchPlayerRecordsByField(WebSoccer $websoccer, DbConnection $db, $matchId, $teamId) { $fromTable = $websoccer->getConfig('db_prefix') . '_spiel_berechnung AS M'; $fromTable .= ' INNER JOIN ' . $websoccer->getConfig('db_prefix') . '_spieler AS P ON P.id = M.spieler_id'; $columns = array('P.id' => 'id', 'P.vorname' => 'firstname', 'P.nachname' => 'lastname', 'P.kunstname' => 'pseudonym', 'P.verletzt' => 'matches_injured', 'P.position' => 'position', 'P.position_main' => 'position_main', 'P.position_second' => 'position_second', 'P.w_staerke' => 'strength', 'P.w_technik' => 'strength_technique', 'P.w_kondition' => 'strength_stamina', 'P.w_frische' => 'strength_freshness', 'P.w_zufriedenheit' => 'strength_satisfaction', 'P.nation' => 'player_nationality', 'P.picture' => 'picture', 'P.sa_tore' => 'st_goals', 'P.sa_spiele' => 'st_matches', 'P.sa_karten_gelb' => 'st_cards_yellow', 'P.sa_karten_gelb_rot' => 'st_cards_yellow_red', 'P.sa_karten_rot' => 'st_cards_red', 'M.id' => 'match_record_id', 'M.position' => 'match_position', 'M.position_main' => 'match_position_main', 'M.feld' => 'field', 'M.note' => 'grade'); if ($websoccer->getConfig('players_aging') == 'birthday') { $ageColumn = 'TIMESTAMPDIFF(YEAR,P.geburtstag,CURDATE())'; } else { $ageColumn = 'P.age'; } $columns[$ageColumn] = 'age'; $whereCondition = 'M.spiel_id = %d AND M.team_id = %d AND M.feld != \'Ausgewechselt\' ORDER BY field(M.position_main, \'T\', \'LV\', \'IV\', \'RV\', \'DM\', \'LM\', \'ZM\', \'RM\', \'OM\', \'LS\', \'MS\', \'RS\'), M.id ASC'; $parameters = array($matchId, $teamId); $result = $db->querySelect($columns, $fromTable, $whereCondition, $parameters); $players = array(); while ($player = $result->fetch_array()) { $field = $player['field'] === '1' ? 'field' : 'bench'; $player['position'] = PlayersDataService::_convertPosition($player['position']); $players[$field][] = $player; } $result->free(); return $players; }
/** * Players search for national teams. * * @param WebSoccer $websoccer Application context. * @param DbConnection $db DB connection. * @param string $nationality Nationality as in DB. * @param int $teamId ID of team. * @param string $firstName first name. * @param string $lastName surname or pseudonym. * @param string $position position as in DB (Torwart|ABwehr|Mittelfeld|Sturm) * @param string $mainPosition main position as in DB (T, LV, IV, ...) * @param int $startIndex fetch start index. * @param int $entries_per_page number of entries per pae. * @return array list of found players. */ public static function findPlayers(WebSoccer $websoccer, DbConnection $db, $nationality, $teamId, $firstName, $lastName, $position, $mainPosition, $startIndex, $entries_per_page) { $columns["P.id"] = "id"; $columns["P.vorname"] = "firstname"; $columns["P.nachname"] = "lastname"; $columns["P.kunstname"] = "pseudonym"; $columns["P.position"] = "position"; $columns["P.position_main"] = "position_main"; $columns["P.position_second"] = "position_second"; $columns["P.w_staerke"] = "strength"; $columns["P.w_technik"] = "strength_technique"; $columns["P.w_kondition"] = "strength_stamina"; $columns["P.w_frische"] = "strength_freshness"; $columns["P.w_zufriedenheit"] = "strength_satisfaction"; $columns["C.id"] = "team_id"; $columns["C.name"] = "team_name"; $limit = $startIndex . "," . $entries_per_page; $result = self::executeFindQuery($websoccer, $db, $columns, $limit, $nationality, $teamId, $firstName, $lastName, $position, $mainPosition); $players = array(); while ($player = $result->fetch_array()) { $player["position"] = PlayersDataService::_convertPosition($player["position"]); $players[] = $player; } $result->free(); return $players; }