Commit b92fb8d9 authored by dj3c1t's avatar dj3c1t

ImportPreviousVersion : notifyNewPassword

parent bdeddc87
Bonjour,
Une installation de SourceML sur laquelle vous avez un compte
vient d'être upgradée.
Dans la nouvelle version, la méthode d'encryption des mots de passe
change et n'est plus compatible avec les anciens mots de passe.
Un nouveau mot de passe a été généré pour votre compte :
login: {{ user.username }}
mot de passe: {{ password }}
Vous pouvez remettre le mot passe de votre choix en vous
connectant sur le site.
{% if baseUrl|length > 0 %}
{{ baseUrl }}
{% endif %}
En vous souhaitant de bonnes publications.
Cordialement,
Le script d'upgrade
......@@ -50,8 +50,11 @@ class ImportPreviousVersion {
"destination installation: "
.dirname($this->container->get('kernel')->getRootDir())
);
// $this->importUsers();
/*
$this->importUsers();
*/
$this->importLicences();
/*
$this->importAuthors();
$this->importSources();
$this->importSourcesAuthors();
......@@ -59,7 +62,7 @@ class ImportPreviousVersion {
$this->importCompositions();
$this->importDerivation();
$this->importDocument();
*/
}
// ----------------------------------------------------------------------
......@@ -96,9 +99,10 @@ class ImportPreviousVersion {
$user->setIsActive(true);
$user->setUsername($mw_user["login"]);
$user->setSalt("");
$newPassword = substr(md5(rand()), 0, 8);
$user->setPassword(
$encoder_factory->getEncoder($user)->encodePassword(
substr(md5(rand()), 0, 8),
$newPassword,
$user->getSalt()
)
);
......@@ -119,6 +123,7 @@ class ImportPreviousVersion {
}
}
$em->persist($user);
$this->notifyNewPassword($user, $newPassword);
}
$this->log("persisting users to database");
$em->flush();
......@@ -231,4 +236,27 @@ class ImportPreviousVersion {
throw new \Exception("[".date("Y-m-d H:i:s")."] ERROR ".$content."\n");
}
public function notifyNewPassword(User $user, $password) {
if($webmasterMailAddress = $this->mw_env->path("webmaster_mail_address")) {
$webmasterMailAddress = substr($webmasterMailAddress, 0, -1);
$this->log("send new password to user ".$user->getUsername()." (".$user->getEmail().")");
mail(
$user->getEmail(),
'[SourceML update] new password',
$this->container->get('twig')->render(
'Dj3c1tSourceMLBundle:Email:newPassword.txt.twig',
array(
"user" => $user,
"password" => $password,
"baseUrl" => $this->mw_env->path("base_url"),
)
),
"From: ".$webmasterMailAddress."\r\n"
."Reply-To: ".$webmasterMailAddress."\r\n"
."Return-Path: ".$webmasterMailAddress."\r\n"
."Content-Type: text/plain; charset=UTF-8\r\n"
);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment