/** * Connecte un membre * @param array $param Les attributs pour se connecter * @return object 2 attributs, bool success et string msg * @static */ public static function connexion(&$param) { $std = (object) array('success' => false, 'msg' => array()); if (empty($param['pseudo'])) { $std->msg[] = 'Le pseudo n\'est pas renseigné'; return $std; } elseif (empty($param['password'])) { $std->msg[] = 'Le mot de passe n\'est pas renseigné'; return $std; } $membreDAO = new MembreDAO(BDD::getInstancePDO()); if ($membreDAO->checkUserPass($param['pseudo'], $param['password']) === true) { if (($res = $membreDAO->connexion($param['pseudo'])) !== false) { if (!$res->bloquer) { $_SESSION['user'] = $res; // Récupère les doits du groupe du membre $droitGroupeDAO = new DroitGroupeDAO(BDD::getInstancePDO()); $_SESSION['droits']['groupe'] = $droitGroupeDAO->getAllForOneGroupeTree($_SESSION['user']->id_groupe); // Récupère les doits du membre $droitMembreDAO = new DroitMembreDAO(BDD::getInstancePDO()); $_SESSION['droits']['membre'] = $droitMembreDAO->getAllForOneMembre($_SESSION['user']->id_membre); $jeton = ''; if (isset($param['autoConnexion']) && $param['autoConnexion'] == 'on') { Token::createToken(); $jeton = ' avec jeton'; } $actionDAO = new ActionDAO(BDD::getInstancePDO()); $action = new Action(array('id_action' => DAO::UNKNOWN_ID, 'libelle' => "Connexion{$jeton} ({$_SERVER['REMOTE_ADDR']})", 'id_membre' => $_SESSION['user']->id_membre)); $actionDAO->save($action); $std->success = true; return $std; } else { $std->msg[] = 'Votre compte a été bloqué'; } } else { $std->msg[] = 'Erreur BDD'; } } else { $std->msg[] = 'Couple login / mot de passe incorrect'; } return $std; }