<?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 *
global $globals;
return array(
- 'id' => $user->id(),
- 'sexe' => $user->isFemale(),
- 'mail' => $email,
- 'forlife_email' => $user->login() . '@' . $globals->mail->domain,
+ '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,
- 'to' => '"' . $user->fullName() . '" <' . $email . '>',
);
}
if ($from == 'staff' || !($user = User::getSilent($sender))) {
return '"L\'équipe de Polytechnique.org" <register@' . $globals->mail->domain . '>';
}
- return sprintf('"%s" <%s>', $user->fullName(), $user->bestEmail());
+ 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();
}
}
}
- static public function relance($uid, $nbx = -1)
+ static public function getAliveUsersCount()
+ {
+ $uf = new UserFilter(new UFC_Not(new UFC_Dead()));
+ return $uf->getTotalCount();
+ }
+
+ static public function relance(PlUser &$user, $nbx = -1)
{
global $globals;
if ($nbx < 0) {
- $res = XDB::query("SELECT COUNT(*) FROM auth_user_md5 WHERE deces=0");
- $nbx = $res->fetchOneCell();
+ $nbx = self::getAliveUsersCount();
}
- $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);
- if (!list($date, $promo, $nom, $prenom, $email, $alias) = $res->fetchOneRow()) {
+ $res = XDB::fetchOneCell('SELECT r.date, r.email, r.bestalias
+ FROM register_pending
+ WHERE r.hash = \'INSCRIT\' AND uid = {?}',
+ $user->id());
+ if (!$res) {
return false;
+ } else {
+ list($date, $email, $alias) = $res;
}
- require_once('secure_hash.inc.php');
$hash = rand_url_id(12);
$pass = rand_pass();
- $pass_encrypted = hash_encrypt($pass);
+ $pass_encrypted = sha1($pass);
$fdate = strftime('%d %B %Y', strtotime($date));
$mymail = new PlMailer('marketing/relance.mail.tpl');
$mymail->send();
XDB::execute('UPDATE register_pending
SET hash={?}, password={?}, relance=NOW()
- WHERE uid={?}', $hash, $pass_encrypted, $uid);
- return "$prenom $nom ($promo)";
+ WHERE uid={?}', $hash, $pass_encrypted, $user->id());
+ return $user->fullName();
}
}
$page->assign('intro', $this->getIntro());
$page->assign('u', $user);
$page->assign('sign', $this->getSignature());
- $res = XDB::query("SELECT COUNT(*) FROM auth_user_md5 WHERE perms IN ('user', 'admin') AND deces = 0");
- $page->assign('num_users', $res->fetchOneCell());
+ $page->assign('num_users', self::getAliveUsersCount());
}
public function getText(array $user)