public function __construct ()
{
- parent::__construct('SELECT data,stamp FROM requests ORDER BY stamp', MYSQL_NUM);
+ parent::__construct('SELECT data, DATE_FORMAT(stamp, "%Y%m%d%H%i%s") FROM requests ORDER BY stamp', MYSQL_NUM);
}
// }}}
abstract class Validate
{
// {{{ properties
-
+
public $uid;
public $prenom;
public $nom;
public $unique;
// enable the refuse button
public $refuse = true;
-
+
public $type;
public $comments = Array();
// the validations rules : comments for admins
// }}}
// {{{ constructor
-
+
/** constructeur
* @param $_uid user id
* @param $_unique requête pouvant être multiple ou non
WHERE u.user_id={?}", $_uid);
list($this->prenom, $this->nom, $this->promo, $this->sexe, $this->forlife, $this->bestalias) = $res->fetchOneRow();
}
-
+
// }}}
// {{{ function submit()
if ($this->unique) {
XDB::execute('DELETE FROM requests WHERE user_id={?} AND type={?}', $this->uid, $this->type);
}
-
+
$this->stamp = date('YmdHis');
XDB::execute('INSERT INTO requests (user_id, type, data, stamp) VALUES ({?}, {?}, {?}, {?})',
$this->uid, $this->type, $this, $this->stamp);
+ global $globals;
+ update_NbValid();
return true;
}
// }}}
// {{{ function clean()
-
+
/** fonction à utiliser pour nettoyer l'entrée de la requête dans la table requests
* attention, tout est supprimé si c'est un unique
*/
- protected function clean()
+ public function clean()
{
if ($this->unique) {
- return XDB::execute('DELETE FROM requests WHERE user_id={?} AND type={?}',
- $this->uid, $this->type);
+ $success = XDB::execute('DELETE FROM requests WHERE user_id={?} AND type={?}',
+ $this->uid, $this->type);
} else {
- return XDB::execute('DELETE FROM requests WHERE user_id={?} AND type={?} AND stamp={?}',
- $this->uid, $this->type, $this->stamp);
+ $success = XDB::execute('DELETE FROM requests WHERE user_id={?} AND type={?} AND stamp={?}',
+ $this->uid, $this->type, $this->stamp);
}
+ update_NbValid();
+ return $success;
}
// }}}
// {{{ function handle_formu()
-
+
/** fonction à réaliser en cas de valistion du formulaire
*/
public function handle_formu()
// envoi d'un mail à hotliners
global $globals;
- $mailer = new PlMailer;
+ $mailer = new PlMailer();
$mailer->setSubject("Commentaires de validation {$this->type}");
$mailer->setFrom("validation+{$this->type}@{$globals->mail->domain}");
- $mailer->addTo("hotliners@staff.polytechnique.org");
+ $mailer->addTo($globals->core->admin_email);
$body = "Validation {$this->type} pour {$this->prenom} {$this->nom}\n\n"
- . S::v('bestalias')." a ajouté le commentaire :\n\n"
+ . S::v('bestalias')." a ajouté le commentaire :\n\n"
. Env::v('comm')."\n\n"
. "cf la discussion sur : ".$globals->baseurl."/admin/validate";
$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";
+ . "\n\nCordialement,\n\n-- \nL'équipe de Polytechnique.org\n";
$mailer->setTxtBody(wordwrap($body));
$mailer->send();
// }}}
// {{{ function trig()
-
+
protected function trig($msg)
{
global $page;
$page->trig($msg);
}
-
+
// }}}
// {{{ function get_typed_request()
if ($stamp == -1) {
$res = XDB::query('SELECT data FROM requests WHERE user_id={?} and type={?}', $uid, $type);
} else {
- $res = XDB::query("SELECT data, stamp FROM requests WHERE user_id={?} AND type={?} and stamp={?}", $uid, $type, $stamp);
+ $res = XDB::query('SELECT data, DATE_FORMAT(stamp, "%Y%m%d%H%i%s") FROM requests WHERE user_id={?} AND type={?} and stamp={?}', $uid, $type, $stamp);
}
if ($result = $res->fetchOneCell()) {
$result = unserialize($result);
// {{{ function _mail_body
abstract protected function _mail_body($isok);
-
+
// }}}
// {{{ function _mail_subj
abstract protected function _mail_subj();
-
+
// }}}
// {{{ function commit()
-
+
/** fonction à utiliser pour insérer les données dans x4dat
*/
abstract public function commit();
// }}}
// {{{ function formu()
-
+
/** nom du template qui contient le formulaire */
abstract public function formu();
}
// }}}
+ // {{{ function ruleText()
+
+ public function ruleText()
+ {
+ return str_replace('\'', '\\\'', $this->rules);
+ }
+
+ // }}}
}
foreach (glob(dirname(__FILE__).'/validations/*.inc.php') as $file) {