projects
/
platal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit 'origin/platal-0.10.0'
[platal.git]
/
include
/
validations
/
marketing.inc.php
diff --git
a/include/validations/marketing.inc.php
b/include/validations/marketing.inc.php
index
81638e9
..
9f2161c
100644
(file)
--- a/
include/validations/marketing.inc.php
+++ b/
include/validations/marketing.inc.php
@@
-1,6
+1,6
@@
<?php
/***************************************************************************
<?php
/***************************************************************************
- * Copyright (C) 2003-200
6
Polytechnique.org *
+ * Copyright (C) 2003-200
9
Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-24,85
+24,86
@@
class MarkReq extends Validate
{
// {{{ properties
{
// {{{ properties
-
var
$perso;
+
public
$perso;
- var $m_id;
- var $m_email;
- var $m_nom;
- var $m_prenom;
- var $m_promo;
- var $m_relance;
+ public $m_user;
+ public $m_email;
+ public $m_relance;
+ public $m_type;
+ public $m_data;
- var $rules = "Accepter si l'adresse mail parait correcte, et pas absurde (ou si le marketeur est de confiance). Si le
- demandeur marque sa propre adresse mail, refuser dans tous les cas.
- Ne pas marqueter au nom de Polytechnique.org plus d'une
-
fois par an
.";
+ public $rules = "Accepter si l'adresse email parait correcte, et pas absurde (ou si le marketeur est de confiance). Si le
+ demandeur marque sa propre adresse
e
mail, refuser dans tous les cas.
+ Ne pas marqueter au nom de Polytechnique.org plus d'une
fois par an.
+
Sauf abus flagrant, il n'y a pas de raison de refuser des marketing perso répétés
.";
// }}}
// {{{ constructor
// }}}
// {{{ constructor
- function MarkReq($sender, $mark_id, $email, $perso = false) {
- $this->Validate($sender, false, 'marketing');
- $this->m_id = $mark_id;
+ public function __construct(User &$sender, User &$mark, $email, $perso, $type, $data)
+ {
+ parent::__construct($sender, false, 'marketing');
+ $this->m_user = &$mark;
$this->m_email = $email;
$this->perso = $perso;
$this->m_email = $email;
$this->perso = $perso;
-
- $res = XDB::query('SELECT u.nom, u.prenom, u.promo,
- FROM auth_user_md5 AS u
- WHERE user_id = {?}
- GROUP BY u.user_id', $mark_id);
- list ($this->m_nom, $this->m_prenom, $this->m_promo) = $res->fetchOneRow();
+ $this->m_type = $type;
+ $this->m_data = $data;
}
// }}}
// {{{ function formu()
}
// }}}
// {{{ function formu()
- function formu()
+
public
function formu()
{
$res = XDB::query('SELECT IF(MAX(m.last)>p.relance, MAX(m.last), p.relance)
FROM auth_user_md5 AS u
LEFT JOIN register_pending AS p ON p.uid = u.user_id
LEFT JOIN register_marketing AS m ON m.uid = u.user_id
WHERE user_id = {?}',
{
$res = XDB::query('SELECT IF(MAX(m.last)>p.relance, MAX(m.last), p.relance)
FROM auth_user_md5 AS u
LEFT JOIN register_pending AS p ON p.uid = u.user_id
LEFT JOIN register_marketing AS m ON m.uid = u.user_id
WHERE user_id = {?}',
-
$this->m_id
);
+
$this->m_user->id()
);
$this->m_relance = $res->fetchOneCell();
return 'include/form.valid.mark.tpl';
}
// }}}
// {{{ function _mail_subj
$this->m_relance = $res->fetchOneCell();
return 'include/form.valid.mark.tpl';
}
// }}}
// {{{ function _mail_subj
-
- function _mail_subj()
+
+
protected
function _mail_subj()
{
{
- return "[Polytechnique.org] Marketing de {$this->m_
prenom} {$this->m_nom} ({$this->m_promo
})";
+ return "[Polytechnique.org] Marketing de {$this->m_
user->fullName()} ({$this->m_user->promo()
})";
}
// }}}
// {{{ function _mail_body
}
// }}}
// {{{ function _mail_body
- function _mail_body($isok)
+
protected
function _mail_body($isok)
{
if ($isok) {
{
if ($isok) {
- return " Un mail de marketing vient d'être envoyé "
- .($this->perso ? 'en ton nom' : 'en notre nom')
- ." à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}) pour l'encourager à s'inscrire !\n\n"
- ."Merci de ta participation !\n";
+ return " Un email de marketing vient d'être envoyé "
+ . ($this->perso ? 'en ton nom' : 'en notre nom')
+ . " à {$this->m_user->fullName()} ({$this->m_user->promo()}) "
+ . "pour l'encourager à s'inscrire !\n\n"
+ . "Merci de ta participation !\n";
} else {
} else {
- return " Nous n'avons pas jugé bon d'envoyer de mail de marketing à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}).";
+ return " Nous n'avons pas jugé bon d'envoyer d'email de marketing à "
+ . "{$this->m_user->fullName()} ({$this->m_user->promo()}).";
}
}
// }}}
// {{{ function commit()
}
}
// }}}
// {{{ function commit()
- function commit()
+
public
function commit()
{
{
- require_once('marketing.inc.php');
- mark_send_mail($this->m_id, $this->m_email,(!$this->perso)?"staff":"user");
+ $market = Marketing::get($this->m_user->id(), $this->m_email);
+ if ($market == null) {
+ return false;
+ }
+ $market->send();
return true;
}
// }}}
}
return true;
}
// }}}
}
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker
enc=utf-8
:
?>
?>