public static function actionAddUser($data)
 {
     $user = null;
     if (ControleurRights::canAddUser()) {
         $user = User::fetchEntity($data);
         if ($data['id'] != null) {
             $user->updateEntity();
         } else {
             $filter[] = User::getFilter(UserColumns::login, $user->getFirst_name() . "." . $user->getLast_name());
             $existing_users = User::getEntitySet($filter);
             if ($existing_users && count($existing_users) > 0) {
                 $user->setLogin($user->getFirst_name() . "." . $user->getLast_name() . "." . count($existing_users));
             } else {
                 $user->setLogin($user->getFirst_name() . "." . $user->getLast_name());
             }
             $user->setSalt(ControleurConnexion::mdpAleatoire(36));
             $new_password = ControleurConnexion::mdpAleatoire(10);
             $user->setPassword(sha1($new_password . $user->getSalt()));
             $user->addEntity();
             // Ajout des droits
             $right = new Right();
             $right->setId($user->getId());
             $right->setEnabled(true);
             $right->addEntity();
             // Envoi d'un mail
             $message = "<p>Bonjour " . $user->getFirst_name() . ",</p>\n\t\t\t\t<p>Votre compte A-Bime a été créé.<br><br>\n\t\t\t\tLes paramètres de connexion au site sont les suivants :<br>\n\t\t\t\tVotre identifiant est : " . $user->getLogin() . "<br>\n\t\t\t\tVotre mot de passe est : " . $new_password . "</p>\n\t\t\t\t<p>Pour vous rendre sur le site d'A-Bime, <a href='http://www.a-bime.com'>cliquez ici</a>.</p>\n\t\t\t\t<p>L'équipe A-Bime</p>";
             // Function mail
             // To
             $to = $user->getProfessional_mail();
             // Subject
             $subject = "A-Bime : création de compte";
             // Headers
             $headers = 'From: A-Bime <*****@*****.**>' . "\r\n";
             $headers .= 'Mime-Version: 1.0' . "\r\n";
             $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
             $headers .= "\r\n";
             // Message
             $msg = $message;
             // Function mail()
             /*if (! mail ( $to, $subject, $msg, $headers )) {
             			exit ( "L'envoi du mail a échoué. Merci de réessayer." );
             		}*/
         }
     }
     return $user;
 }
Example #2
0
 public static function getCurrentUser()
 {
     if (!defined('CURRENT_VIEW')) {
         define('CURRENT_VIEW', 'desktop');
     }
     $cache = ControleurConnexionCache::getInstance();
     if (defined('CURRENT_VIEW') && CURRENT_VIEW == 'mobile') {
         if (isset($_POST['current_id_alternatif']) && $_POST['current_id_alternatif'] != '') {
             if ($cache->getCurrent_salt() != null && $cache->getCurrent_salt() == $_POST['current_id_alternatif']) {
                 return $cache->getCurrent_user();
             } else {
                 $filter = User::getFilter(UserColumns::password, $_POST['current_id_alternatif']);
                 $user = User::getEntitySet($filter);
                 if ($user && count($user) > 0) {
                     $user = $user[0];
                     $cache->setCurrent_user($user->getId());
                     $cache->setCurrent_salt($_POST['current_id_alternatif']);
                     return $user->getId();
                 } else {
                     return false;
                 }
             }
         }
         if (isset($_POST['current_id']) && $_POST['current_id'] != '') {
             if ($cache->getCurrent_salt() != null && $cache->getCurrent_salt() == $_POST['current_id']) {
                 return $cache->getCurrent_user();
             } else {
                 $filter[] = User::getFilter(UserColumns::password, $_POST['current_id']);
                 $user = User::getEntitySet($filter);
                 if ($user && count($user) > 0) {
                     $user = $user[0];
                     $cache->setCurrent_user($user->getId());
                     $cache->setCurrent_salt($_POST['current_id']);
                     return $user->getId();
                 } else {
                     return false;
                 }
             }
         }
     } else {
         if (isset($_COOKIE['compte_alternatif']) && $_COOKIE['compte_alternatif'] != '') {
             if ($cache->getCurrent_salt() != null && $cache->getCurrent_salt() == $_COOKIE['compte_alternatif']) {
                 return $cache->getCurrent_user();
             } else {
                 $filter = User::getFilter(UserColumns::password, $_COOKIE['compte_alternatif']);
                 $user = User::getEntitySet($filter);
                 if ($user && count($user) > 0) {
                     $user = $user[0];
                     $cache->setCurrent_user($user->getId());
                     $cache->setCurrent_salt($_POST['compte_alternatif']);
                     return $user->getId();
                 } else {
                     return false;
                 }
             }
         }
         if (isset($_COOKIE['compte']) && $_COOKIE['compte'] != '') {
             if ($cache->getCurrent_salt() != null && $cache->getCurrent_salt() == $_COOKIE['compte']) {
                 return $cache->getCurrent_user();
             } else {
                 $filter = User::getFilter(UserColumns::password, $_COOKIE['compte']);
                 $user = User::getEntitySet($filter);
                 if ($user && count($user) > 0) {
                     $user = $user[0];
                     $cache->setCurrent_user($user->getId());
                     $cache->setCurrent_salt($_POST['compte']);
                     return $user->getId();
                 } else {
                     return false;
                 }
             }
         }
     }
 }