Пример #1
0
}
$logger = Logger::getLogger('services/saveProfile');
$numeroMembre = LemonLdap::getCurrentUserId();
$logger->debug("Found current user id: {$numeroMembre}");
//$logger->debug("Reveived form data: ".print_r($_POST,true));
$v = new Validator($_POST);
$v->rule('required', ['adresse1', 'codePostal', 'ville', 'pays'])->message('{field} doit être renseigné.');
$v->rule('email', 'email')->message('{field} n\'est pas une adresse email valide.');
$v->rule('in', 'statut', [null, '', 'single', 'couple', 'deceased'])->message('{field} n\'est pas valide.');
$v->rule('integer', 'enfants')->message('{field} n\'est pas un nombre entier.');
$MAX_LENGTHS = ['adresse1' => 35, 'adresse2' => 35, 'adresse3' => 35, 'codePostal' => 20, 'ville' => 50, 'pays' => 50, 'telephone' => 20, 'email' => 127];
header("Content-type: application/json; charset=utf-8'");
if ($v->validate()) {
    $formValues = $_POST;
    foreach ($MAX_LENGTHS as $key => $value) {
        $formValues[$key] = Format::limitLength($formValues[$key], $MAX_LENGTHS[$key]);
    }
    $foundProfile = Doctrine::findMembre($numeroMembre);
    // Don't generate method calls to avoid potential security hole.
    $foundProfile->setStatut($formValues['statut']);
    $foundProfile->setEnfants($formValues['enfants']);
    $foundProfile->setDevise($formValues['devise']);
    $foundProfile->setCoordonnee('email', $formValues['email'], $formValues['emailPrive']);
    $foundProfile->setCoordonnee('phone', $formValues['telephone'], $formValues['telephonePrive']);
    $adresseValue = ['address' => trim("{$formValues['adresse1']}\n{$formValues['adresse2']}\n{$formValues['adresse3']}"), 'code' => $formValues['codePostal'], 'city' => $formValues['ville'], 'country' => $formValues['pays']];
    $foundProfile->setCoordonnee('address', json_encode($adresseValue), $formValues['adressePrivee']);
    $foundProfile->setLangues(getArrayValue($formValues, 'langues'));
    $foundProfile->setCompetences(getArrayValue($formValues, 'competences'));
    $foundProfile->setPassions(getArrayValue($formValues, 'passions'));
    Doctrine::persist($foundProfile);
    Doctrine::flush();
Пример #2
0
 public function jsonSerialize()
 {
     $email = $this->findCoordonnee('email');
     $telephone = $this->findCoordonnee('phone');
     $adresse = $this->findCoordonnee('address');
     $adresseValue = $adresse ? $adresse->getCoordonnee() : null;
     $adresseTokens = $adresseValue ? explode("\n", $adresseValue->address) : [];
     while (count($adresseTokens) < 3) {
         array_push($adresseTokens, null);
     }
     return ['id' => $this->getIdMembre(), 'numero' => $this->getIdAncienSi(), 'nom' => $this->getNom(), 'prenom' => $this->getPrenom(), 'statut' => $this->getStatut(), 'enfants' => $this->getEnfants(), 'civilite' => $this->getCivilite(), 'genre' => $this->getGenre(), 'region' => $this->getRegion(), 'devise' => $this->getDevise(), 'dateNaissance' => Format::date($this->getDateNaissance()), 'dateInscription' => Format::date($this->getDateInscription()), 'email' => $email ? $email->getCoordonnee() : null, 'emailPrive' => $email ? $email->getReserveeGestionAsso() : null, 'telephone' => $telephone ? $telephone->getCoordonnee() : null, 'telephonePrive' => $telephone ? $telephone->getReserveeGestionAsso() : null, 'adressePrivee' => $adresse ? $adresse->getReserveeGestionAsso() : null, 'adresse1' => $adresseTokens[0], 'adresse2' => $adresseTokens[1], 'adresse3' => $adresseTokens[2], 'ville' => $adresseValue ? $adresseValue->city : null, 'codePostal' => $adresseValue ? $adresseValue->code : null, 'pays' => $adresseValue ? $adresseValue->country : null, 'langues' => $this->getLangues(), 'competences' => $this->getCompetences(), 'passions' => $this->getPassions()];
 }