X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations.inc.php;h=a00b346a3386aa71a949312b5bd3ac960af01cb3;hb=63fac48e801886b27c5b0254c16f25a5c9084071;hp=1fcbb2480bfe22ab25a5566a07ce470ce9233ae0;hpb=fba760d2b3ef85bbadc5eacc99f6a2d61410975b;p=platal.git diff --git a/include/validations.inc.php b/include/validations.inc.php index 1fcbb24..a00b346 100644 --- a/include/validations.inc.php +++ b/include/validations.inc.php @@ -32,7 +32,7 @@ class ValidateIterator extends XOrgDBIterator 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); } // }}} @@ -57,7 +57,7 @@ class ValidateIterator extends XOrgDBIterator abstract class Validate { // {{{ properties - + public $uid; public $prenom; public $nom; @@ -70,7 +70,7 @@ abstract class Validate public $unique; // enable the refuse button public $refuse = true; - + public $type; public $comments = Array(); // the validations rules : comments for admins @@ -78,7 +78,7 @@ abstract class Validate // }}} // {{{ constructor - + /** constructeur * @param $_uid user id * @param $_unique requête pouvant être multiple ou non @@ -98,7 +98,7 @@ abstract class Validate WHERE u.user_id={?}", $_uid); list($this->prenom, $this->nom, $this->promo, $this->sexe, $this->forlife, $this->bestalias) = $res->fetchOneRow(); } - + // }}} // {{{ function submit() @@ -110,11 +110,13 @@ abstract class Validate 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; } @@ -131,24 +133,26 @@ abstract class Validate // }}} // {{{ 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() @@ -184,13 +188,13 @@ abstract class Validate // 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"; @@ -243,7 +247,7 @@ abstract class 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(); @@ -251,13 +255,13 @@ abstract class Validate // }}} // {{{ function trig() - + protected function trig($msg) { global $page; $page->trig($msg); } - + // }}} // {{{ function get_typed_request() @@ -274,7 +278,7 @@ abstract class Validate 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); @@ -312,22 +316,22 @@ abstract class Validate // {{{ 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();