<?php
/***************************************************************************
- * Copyright (C) 2003-2008 Polytechnique.org *
+ * Copyright (C) 2003-2009 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
private function getUser($uid, $email)
{
- $res = XDB::query("SELECT FIND_IN_SET('femme', flags) AS sexe, nom, prenom, promo
- FROM auth_user_md5
- WHERE user_id = {?}", $uid);
- if ($res->numRows() == 0) {
+ $user = User::getSilent($uid);
+ if (!$user) {
return null;
}
- $user = $res->fetchOneAssoc();
- $user['id'] = $uid;
- $user['forlife'] = make_forlife($user['prenom'], $user['nom'], $user['promo']);
- $user['mail'] = $email;
- $user['to'] = '"' . $user['prenom'] . ' ' . $user['nom'] . '" <' . $email . '>';
- return $user;
+
+ global $globals;
+ return array(
+ 'user' => $user,
+ 'id' => $user->id(),
+ 'sexe' => $user->isFemale(),
+ 'mail' => $email,
+ 'to' => '"' . $user->fullName() . '" <' . $email . '>',
+ 'forlife_email' => $user->login() . '@' . $globals->mail->domain,
+ 'forlife_email2' => $user->login() . '@' . $globals->mail->domain2,
+ );
}
private function getFrom($from, $sender)
{
global $globals;
- if ($from == 'staff') {
+ if ($from == 'staff' || !($user = User::getSilent($sender))) {
return '"L\'équipe de Polytechnique.org" <register@' . $globals->mail->domain . '>';
- } else {
- $res = XDB::query("SELECT u.nom, u.prenom, a.alias
- FROM auth_user_md5 AS u
- INNER JOIN aliases AS a ON (a.id = u.user_id AND FIND_IN_SET('bestalias', a.flags))
- WHERE u.user_id = {?}", $sender);
- if (!$res->numRows()) {
- return '"L\'équipe de Polytechnique.org" <register@' . $globals->mail->domain . '>';
- }
- $sender = $res->fetchOneAssoc();
- return '"' . $sender['prenom'] . ' ' . $sender['nom'] . '" <' . $sender['alias'] . '@' . $globals->mail->domain . '>';
}
+ return '"' . $user->fullName() . '" <' . $user->bestEmail() . '>';
}
private function &getEngine($type, $data, $from)
$this->engine->process($this->user);
if ($valid) {
require_once 'validations.inc.php';
- $valid = new MarkReq($this->sender, $this->user['id'], $this->user['mail'],
+ $valid = new MarkReq(User::getSilent($this->sender), $this->user['user'], $this->user['mail'],
$this->from == 'user', $this->type, $this->data);
$valid->submit();
}
$res = XDB::query("SELECT r.date, u.promo, u.nom, u.prenom, r.email, r.bestalias
FROM register_pending AS r
INNER JOIN auth_user_md5 AS u ON u.user_id = r.uid
- WHERE hash!='INSCRIT' AND uid={?} AND TO_DAYS(relance) < TO_DAYS(NOW())", $uid);
+ WHERE hash != 'INSCRIT' AND uid = {?} AND
+ (TO_DAYS(relance) IS NULL OR TO_DAYS(relance) < TO_DAYS(NOW()))",
+ $uid);
if (!list($date, $promo, $nom, $prenom, $email, $alias) = $res->fetchOneRow()) {
return false;
}
$mymail->send();
XDB::execute('UPDATE register_pending
SET hash={?}, password={?}, relance=NOW()
- WHERE uid={?}', $hash, $pass_encrypted, $uid);
+ WHERE uid={?}', $hash, $pass_encrypted, $uid);
return "$prenom $nom ($promo)";
}
}
public function __construct($data, $from)
{
list($this->name, $this->domain) = explode('@', $data);
- $res = XDB::query("SELECT prenom, IF (nom_usage != '', nom_usage, nom)
- FROM auth_user_md5
- WHERE user_id = {?} AND user_id != 0", $from ? $from : 0);
- if ($res->numRows()) {
- list($prenom, $nom) = $res->fetchOneRow();
- $from = "$prenom $nom";
+ if ($from && ($user = User::getSilent($from))) {
+ $from = $user->fullName();
} else {
$from = "Je";
}
public function __construct($data, $from)
{
$this->group = $data;
- $res = XDB::query("SELECT prenom, IF (nom_usage != '', nom_usage, nom)
- FROM auth_user_md5
- WHERE user_id = {?} AND user_id != 0", $from ? $from : 0);
- if ($res->numRows()) {
- list($prenom, $nom) = $res->fetchOneRow();
- $from = "$prenom $nom vient";
+ if ($from && ($user = User::getSilent($from))) {
+ $from = $user->fullName() . " vient";
} else {
$from = "Je viens";
}