- 'banana/subscription' => $this->make_hook('subscription', AUTH_COOKIE),
- 'banana/updateall' => $this->make_hook('updateall', AUTH_COOKIE),
- );
+ 'banana/subscription' => $this->make_hook('subscription', AUTH_COOKIE),
+ 'banana/rss' => $this->make_hook('rss', AUTH_PUBLIC, 'user', NO_HTTPS),
+ );
+ }
+
+ function on_subscribe($forlife, $uid, $promo, $password)
+ {
+ $cible = array('xorg.general', 'xorg.pa.divers', 'xorg.pa.logements');
+ $p_for = "xorg.promo.x$promo";
+
+ // récupération de l'id du forum promo
+ $res = XDB::query("SELECT fid FROM forums.list WHERE nom={?}", $p_for);
+ if ($res->numRows()) {
+ $cible[] = $p_for;
+ } else { // pas de forum promo, il faut le créer
+ $res = XDB::query("SELECT SUM(perms IN ('admin','user') AND deces=0),COUNT(*)
+ FROM auth_user_md5 WHERE promo={?}", $promo);
+ list($effau, $effid) = $res->fetchOneRow();
+ if (5*$effau>$effid) { // + de 20% d'inscrits
+ $mymail = new PlMailer('mails/forums.promo.tpl');
+ $mymail->assign('promo', $promo);
+ $mymail->send();
+ }
+ }
+
+ while (list ($key, $val) = each ($cible)) {
+ XDB::execute("INSERT INTO forums.abos (fid,uid)
+ SELECT fid,{?} FROM forums.list WHERE nom={?}", $uid, $val);
+ }