public function findPerPage($A_limit) { $I_firstOfPage = $A_limit['firstOfPage']; $I_perPage = $A_limit['perPage']; $S_sql = 'SELECT id, login, operator_id, inspector_id, profile_id FROM user LIMIT ' . $I_firstOfPage . ', ' . $I_perPage; $O_connection = new Connection(); if ($A_data = $O_connection->requestDb($S_sql, $A_params = null, self::CLASS_NAME)) { $A_users = null; foreach ($A_data as $key => $value) { $O_user = $A_data[$key]; if (!is_null($O_user->getOperatorId())) { try { $O_operatorMapper = new OperatorMapper(); $O_operator = $O_operatorMapper->findById($O_user->getOperatorId()); $O_user->setOperator($O_operator); $O_teamMapper = new TeamMapper(); $O_team = $O_teamMapper->findByOperator($O_user->getOperatorId()); $O_operator->setTeam($O_team); } catch (Exception $e) { echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage(); } } if (!is_null($O_user->getInspectorId())) { try { $O_inspectorMapper = new InspectorMapper(); $O_inspector = $O_inspectorMapper->findById($O_user->getInspectorId()); $O_user->setInspector($O_inspector); } catch (Exception $e) { echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage(); } } if (!is_null($O_user->getProfileId())) { try { $O_profileMapper = new ProfileMapper(); $O_profile = $O_profileMapper->findById($O_user->getProfileId()); $O_user->setProfile($O_profile); } catch (Exception $e) { echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage(); } } $A_users[] = $O_user; } } else { throw new Exception("Une erreur s'est produite"); } return $A_users; }
public function findToNextCheckBysubgroupId($I_subgroup_id) { // je crée la date à l'instant t et je rajoute 1 mois $O_date = new DateTime(); // 60 x 60 x 24 x 30 = 2592000 secondes $I_date = $O_date->format('U') + 2592000; $O_date = DateTime::createFromFormat('U', $I_date); $S_sql = "SELECT e.id , e.dealer, e.order_number, e.manufacture_date, e.purchase_date, e.profile, e.internal_reference, e.commissioning_date,\n e.last_check_date, e.next_check_date, e.end_of_life_date, e.operator_id, e.safety_line_id, e.team_id, e.label_epi_id\n FROM epi as e\n INNER JOIN team as t ON t.id = e.team_id\n INNER JOIN subgroup as s ON s.id = t.subgroup_id\n WHERE subgroup_id = ? AND profile ='en service' AND next_check_date > '2000-01-01' AND next_check_date < '" . $O_date->format('Y-m-d H:i:s') . "'"; $A_params = array($I_subgroup_id); $O_connection = new Connection(); if ($A_data = $O_connection->requestDb($S_sql, $A_params, self::CLASS_NAME)) { $A_epis = null; foreach ($A_data as $key => $value) { $O_epi = $A_data[$key]; // on récupère l'objet epi $O_epi->initManufactureDate(); $O_epi->initPurchaseDate(); $O_epi->initCommissioningDate(); $O_epi->initLastCheckDate(); $O_epi->initNextCheckDate(); $O_epi->initEndOfLifeDate(); if (!is_null($O_epi->getLabelEpiId())) { try { $O_labelMapper = new LabelMapper(); $O_label = $O_labelMapper->findById($O_epi->getLabelEpiId()); $O_epi->setLabelEpi($O_label); } catch (Exception $e) { //On récupère le message de l'exception echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage(); } } if (!is_null($O_epi->getTeamId())) { try { $O_teamMapper = new TeamMapper(); $O_team = $O_teamMapper->findById($O_epi->getTeamId()); $O_epi->setTeam($O_team); } catch (Exception $e) { //On récupère le message de l'exception echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage(); } } $A_epis[] = $O_epi; } return $A_epis; } else { throw new Exception("Pas d'EPI à controler."); } }
protected function retrievePouleTeams($oPoule, array $pouleTeams) { foreach ($pouleTeams as $pouleTeam) { if (!isset($this->retrievedTeamNefubIds[$pouleTeam->Team->ID])) { $url = NEFUB_API . '/team.php?id=' . $pouleTeam->Team->ID; $team = $this->getNefubContentsParsed($url, MAX_AGE_TEAM_DETAILS); $oTeam = TeamMapper::mapFromAPI($team); if (!isset($this->retrievedClubNefubIds[$team->Club->ID])) { $clubUrl = NEFUB_API . '/club.php?id=' . $oTeam->club_nefub_id; $club = $this->getNefubContentsParsed($url, MAX_AGE_CLUB_DETAILS); $oClub = ClubMapper::mapFromAPI($club); $this->retrievedClubNefubIds[$oClub->nefub_id] = true; } $this->retrievedTeamNefubIds[$oTeam->nefub_id] = true; } else { $oTeam = Team::getByNefubId($pouleTeam->Team->ID); } $oPouleTeam = PouleTeamMapper::mapRelationFromAPI($pouleTeam, $oPoule, $oTeam); if (isset($team->Players) && is_array($team->Players)) { $this->retrieveTeamPersons($oTeam, $team->Players); } } // end poule team loop }
public function findByName($S_name) { $S_sql = 'SELECT id, name, first_name, size_harness, email, inception_date, team_id FROM operator WHERE name = ?'; $A_params = array($S_name); $O_connection = new Connection(); if ($O_operator = $O_connection->requestDb($S_sql, $A_params, self::CLASS_NAME, $onlyOneObject = true)) { $O_operator->initInceptionDate(); $O_teamMapper = new TeamMapper(); $O_team = $O_teamMapper->findById($O_operator->getTeamId()); $O_operator->setTeam($O_team); return $O_operator; } else { throw new Exception("une erreur c'est produite lors de la requête"); } }
public function createAction() { $this->isAdmin(); if (isset($_POST['operator'])) { $O_operator = new Operator(); $O_operator->setName($_POST['name']); $O_operator->setFirstName($_POST['firstName']); $O_operator->setSizeHarness($_POST['sizeHarness']); $O_operator->setEmail($_POST['email']); $O_operator->initInceptionDate(); $O_teamMapper = new TeamMapper(); $O_team = $O_teamMapper->findByTwoIds($_POST['staff_id'], $_POST['subgroup_id']); $O_operator->setTeamId($O_team->getId()); $O_operatorMapper = new OperatorMapper(); $I_operatorId = $O_operatorMapper->insert($O_operator); //die(header('Location:/user/default/')); } if (isset($_POST['inspector'])) { $O_inspector = new Inspector(); $O_inspector->setName($_POST['name']); $O_inspector->setFirstName($_POST['firstName']); $O_inspector->setEmail($_POST['email']); $O_inspector->setSubgroupId($_POST['subgroup_id']); $O_inspector->initInceptionDate(); $O_inspectorMapper = new InspectorMapper(); $I_inspectorId = $O_inspectorMapper->insert($O_inspector); } $O_user = new User(); $O_user->setLogin($_POST['login']); $O_user->setPassword($_POST['password']); $O_user->setProfileId($_POST['profile_id']); if (isset($_POST['operator'])) { $O_user->setOperatorId($I_operatorId); } if (isset($_POST['inspector'])) { $O_user->setInspectorId($I_inspectorId); } $O_userMapper = new UserMapper(); $I_userId = $O_userMapper->insert($O_user); }
protected function persistLocalModel($user, $resource_hash) { // Will be used to check if the user already exist locally $mno_id_map = MnoIdMap::findMnoIdMapByMnoIdAndEntityName($resource_hash['id'], 'APPUSER', 'USERS'); $user->save("Users", false); // We make sure that the mnoIdMap is created before we start to parse the user's teams to bloc kany eventual recursive loop $this->findOrCreateIdMap($resource_hash, $user); // Add user to corresponding teams if (!$mno_id_map) { // User does not exist locally => we add him to its teams $mno_teams = $resource_hash['teams']; $team_mapper = new TeamMapper(); for ($j = 0; $j < count($mno_teams); $j++) { $team_hash = $mno_teams[$j]; // Retrieve the local group if exists or create it based on data from Connec! Entity::Team otherwise $group_model = $team_mapper->fetchConnecResource($team_hash['id']); $group_members = array_keys($group_model->getMembers()["Users"]); // At this stage, the user should exist (has been saved before), and have an id defined array_push($group_members, "Users:" . json_encode($user->id)); $group_model->set('group_members', $group_members); // Will save the new users list for the team $team_mapper->persistLocalModel($group_model, null); } } }