<?php
/***************************************************************************
- * Copyright (C) 2003-2006 Polytechnique.org *
+ * Copyright (C) 2003-2007 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
define('SIZE_MAX', 32768);
-__autoload('XDB');
+require_once dirname(__FILE__) . '/../classes/xdb.php';
/**
* Iterator class, that lists objects through the database
function ValidateIterator ()
{
- parent::XOrgDBIterator('SELECT data,stamp FROM requests ORDER BY stamp', MYSQL_NUM);
+ parent::__construct('SELECT data,stamp FROM requests ORDER BY stamp', MYSQL_NUM);
}
// }}}
var $prenom;
var $nom;
var $promo;
+ var $sexe;
var $bestalias;
var $forlife;
$this->unique = $_unique;
$this->type = $_type;
$res = XDB::query(
- "SELECT u.prenom, u.nom, u.promo, a.alias, b.alias
+ "SELECT u.prenom, u.nom, u.promo, FIND_IN_SET('femme', u.flags) AS sexe, a.alias, b.alias
FROM auth_user_md5 AS u
INNER JOIN aliases AS a ON ( u.user_id=a.id AND a.type='a_vie' )
INNER JOIN aliases AS b ON ( u.user_id=b.id AND b.type!='homonyme' AND FIND_IN_SET('bestalias', b.flags) )
WHERE u.user_id={?}", $_uid);
- list($this->prenom, $this->nom, $this->promo, $this->forlife, $this->bestalias) = $res->fetchOneRow();
+ list($this->prenom, $this->nom, $this->promo, $this->sexe, $this->forlife, $this->bestalias) = $res->fetchOneRow();
}
// }}}
return true;
}
}
+ if (!strlen(trim(Env::v('comm')))) {
+ return true;
+ }
$this->comments[] = Array(S::v('bestalias'), Env::v('comm'), $formid);
// envoi d'un mail à hotliners
global $globals;
- require_once('diogenes/diogenes.hermes.inc.php');
- $mailer = new HermesMailer;
+ $mailer = new PlMailer;
$mailer->setSubject("Commentaires de validation {$this->type}");
$mailer->setFrom("validation+{$this->type}@{$globals->mail->domain}");
$mailer->addTo("hotliners@staff.polytechnique.org");
function sendmail($isok)
{
global $globals;
- require_once('diogenes/diogenes.hermes.inc.php');
- $mailer = new HermesMailer;
+ $mailer = new PlMailer();
$mailer->setSubject($this->_mail_subj());
$mailer->setFrom("validation+{$this->type}@{$globals->mail->domain}");
$mailer->addTo("\"{$this->prenom} {$this->nom}\" <{$this->bestalias}@{$globals->mail->domain}>");
$mailer->addCc("validation+{$this->type}@{$globals->mail->domain}");
- $body = "Cher(e) camarade,\n\n"
+ $body = ($this->sexe ? "Chère camarade,\n\n" : "Cher camarade,\n\n")
. $this->_mail_body($isok)
. (Env::has('comm') ? "\n\n".Env::v('comm') : '')
. "\n\nCordialement,\nL'équipe Polytechnique.org\n";
}
// }}}
- // {{{ function get_request()
+ // {{{ function get_typed_request()
/** fonction statique qui renvoie la requête de l'utilisateur d'id $uidau timestamp $t
* @param $uid l'id de l'utilisateur concerné
* @param $stamp le timestamp de la requête
*
* XXX fonction "statique" XXX
- * à utiliser uniquement pour récupérer un objet dans la BD avec Validate::get_request(...)
+ * à utiliser uniquement pour récupérer un objet dans la BD avec Validate::get_typed_request(...)
*/
- function get_request($uid, $type, $stamp = -1)
+ static function get_typed_request($uid, $type, $stamp = -1)
{
if ($stamp == -1) {
$res = XDB::query('SELECT data FROM requests WHERE user_id={?} and type={?}', $uid, $type);
}
// }}}
+ // {{{ function get_typed_requests()
+
+ /** same as get_typed_request() but return an array of objects
+ */
+ static function get_typed_requests($uid, $type)
+ {
+ $res = XDB::iterRow('SELECT data FROM requests WHERE user_id={?} and type={?}', $uid, $type);
+ $array = array();
+ while (list($data) = $res->next()) {
+ $array[] = unserialize($data);
+ }
+ return $array;
+ }
+
+ // }}}
// {{{ function _mail_body
function _mail_body($isok)