Commit a899ac65 authored by Guinness's avatar Guinness

Merge branch 'preprod' into 'master'

Merge Preprod into master

See merge request !120
parents ca986a2f b3af270d
Pipeline #2711 passed with stages
in 1 minute and 29 seconds
......@@ -4,6 +4,7 @@ namespace Controller;
use LQDN\Command\UserUpdateTotalCommand;
use LQDN\Command\UserCreateCommand;
use LQDN\Command\DonationCreateCommand;
use LQDN\Exception\InvalidEmailException;
class Campaign extends Controller
{
......@@ -108,7 +109,7 @@ class Campaign extends Controller
$user = $f3->get('container')['user_finder']->findByEmail(\Utils::asl($email));
if (count($user) > 0 && is_array($user)) {
if (is_array($user) && count($user) > 0) {
// We have an existing user, we should try to login with the provided password
// or 403.
$mapper = new \DB\SQL\Mapper($f3->get('DB'), 'users');
......@@ -122,8 +123,13 @@ class Campaign extends Controller
$cumul_id = $user['cumul'];
} else {
// The user does not exist, so let's create it
$result = $db->query("INSERT INTO users (pseudo, email, hash)
VALUES ('".$f3->get('pseudo')."', '$email', '$hash')");
try {
$f3->get('container')['command_handler']->handle(new UserCreateCommand($email, $hash, $f3->get('pseudo'), 0, 0));
} catch (InvalidEmailException $e) {
$f3->set("error", _("Email Invalide"));
$f3->error("403");
}
$user_id = $db->lastInsertId();
}
}
......
......@@ -28,7 +28,7 @@ class AddCommentaire extends AbstractMigration
public function change()
{
$table = $this->table('contreparties');
$table->addColumn('commentaire', 'string')
$table->addColumn('commentaire', 'string', array('default' => ''))
->update();
}
}
<?php
use Phinx\Migration\AbstractMigration;
class CodePostauxAlphanumeriques extends AbstractMigration
{
/**
* Change Method.
*
* Write your reversible migrations using this method.
*
* More information on writing migrations is available here:
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
*
* The following commands can be used in this method and Phinx will
* automatically reverse them when rolling back:
*
* createTable
* renameTable
* addColumn
* addCustomColumn
* renameColumn
* addIndex
* addForeignKey
*
* Any other destructive changes will result in an error when trying to
* rollback the migration.
*
* Remember to call "create()" or "update()" and NOT "save()" when working
* with the Table class.
*/
public function change()
{
$adresses = $this->table('adresses');
$adresses->changeColumn('codepostal', 'string', ['limit' => 20])
->update();
}
}
......@@ -83,7 +83,7 @@ DROP TABLE IF EXISTS `contreparties`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `contreparties` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`datec` datetime NOT NULL,
`datec` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`user_id` int(10) unsigned NOT NULL,
`quoi` varchar(255) NOT NULL,
`taille` int(10) unsigned NOT NULL,
......@@ -105,22 +105,22 @@ DROP TABLE IF EXISTS `dons`;
CREATE TABLE `dons` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`status` tinyint(3) unsigned NOT NULL,
`datec` datetime NOT NULL,
`datec` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`somme` int(10) unsigned NOT NULL,
`lang` varchar(5) CHARACTER SET latin1 NOT NULL DEFAULT 'en_US',
`cadeau` tinyint(3) unsigned NOT NULL,
`abo` tinyint(4) NOT NULL,
`taille` int(10) unsigned NOT NULL,
`public` int(10) unsigned NOT NULL,
`pdf` varchar(32) CHARACTER SET latin1 NOT NULL,
`decimale` int(10) unsigned NOT NULL,
`datee` datetime NOT NULL,
`cadeau` tinyint(3) unsigned NOT NULL DEFAULT 0,
`abo` tinyint(4) NOT NULL DEFAULT 0,
`taille` int(10) unsigned NOT NULL DEFAULT 0,
`public` int(10) unsigned NOT NULL DEFAULT 0,
`pdf` varchar(32) CHARACTER SET latin1 NOT NULL DEFAULT '',
`decimale` int(10) unsigned NOT NULL DEFAULT 0,
`datee` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`mailsent` tinyint(4) DEFAULT '0',
`color` varchar(7) CHARACTER SET latin1 DEFAULT NULL,
`pi_x` int(11) DEFAULT NULL,
`pi_y` int(11) DEFAULT NULL,
`hash` varchar(64) DEFAULT NULL,
`taille_h` int(10) unsigned NOT NULL,
`pi_x` int(11) DEFAULT NULL DEFAULT 0,
`pi_y` int(11) DEFAULT NULL DEFAULT 0,
`hash` varchar(64) DEFAULT NULL DEFAULT "",
`taille_h` int(10) unsigned NOT NULL DEFAULT 0,
`fdnn_user` bigint(20) NOT NULL DEFAULT '0',
`color_2` varchar(7) DEFAULT '',
`cumul` int(11) DEFAULT '0',
......@@ -193,13 +193,13 @@ CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) DEFAULT NULL,
`hash` varchar(64) CHARACTER SET latin1 NOT NULL,
`total` int(10) unsigned NOT NULL,
`cumul` int(10) unsigned NOT NULL,
`pseudo` varchar(255) NOT NULL,
`total` int(10) unsigned NOT NULL DEFAULT 0,
`cumul` int(10) unsigned NOT NULL DEFAULT 0,
`pseudo` varchar(255) NOT NULL DEFAULT "",
`identifier` varchar(50) DEFAULT NULL,
`expiration` datetime DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`commentaire` text,
`commentaire` text DEFAULT '',
PRIMARY KEY (`id`),
KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=15494 DEFAULT CHARSET=utf8 COMMENT='Les donateurs';
......
<?php
namespace LQDN\Exception;
class InvalidEmailException extends \RuntimeException
{
}
......@@ -8,6 +8,14 @@ use LQDN\Command\UserUpdateTotalCommand;
use LQDN\Command\UserUpdateCumulCommand;
use LQDN\Command\UserCreateCommand;
use LQDN\Command\AdminUpdateTotalUsersCommand;
use LQDN\Exception\InvalidEmailException;
function checkEmail($email)
{
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
throw new InvalidEmailException();
}
}
class UserHandler
{
......@@ -25,6 +33,7 @@ class UserHandler
*/
public function handleUserUpdateByAdminCommand(UserUpdateByAdminCommand $command)
{
checkEmail($command->getEmail());
$this->connection->executeUpdate('UPDATE users SET pseudo = :username, email = :email, commentaire = :comment, cumul = :cumul, total = :total WHERE id = :id', [
'username' => $command->getUsername(),
'email' => $command->getEmail(),
......@@ -42,6 +51,7 @@ class UserHandler
*/
public function handleUserCreateCommand(UserCreateCommand $command)
{
checkEmail($command->getEmail());
$this->connection->executeUpdate('INSERT INTO users(email, hash, pseudo, total, cumul) VALUES (:email, :hash, :pseudo, :total, :cumul)', [
'email'=> $command->getEmail(),
'hash'=> $command->getHash(),
......
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