/** * * Enregistre une preference d'un utilisateur * Ajout manuel * * @param String $name le nom de la preference à obtenir */ public function setPreferenceValeur($name, $value){ $criteria = new Criteria(); $criteria->add(PreferenceUtilisateurProfessionnelPeer::NAME, $name); $prefs = $this->getPreferenceUtilisateurProfessionnels($criteria); if ($prefs->isEmpty()) { //Creation d'une nouvelle entree dans les preferences $nouvellePref = new PreferenceUtilisateurProfessionnel(); $nouvellePref->setName($name); $nouvellePref->setValue($value); $nouvellePref->setLogin($this->getLogin()); $nouvellePref->save(); $this->addPreferenceUtilisateurProfessionnel($nouvellePref); $this->save(); } else if ($prefs->count() == 1) { $prefs->getFirst()->setValue($value); $prefs->getFirst()->save(); } else { //there's an error throw new PropelException("Il existe deja plusieurs preferences avec ce nom !"); } }