X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fplatal.php;h=068ff051d6148df0574fc45004dea8482a6bd601;hb=71ff2e1172ec6030a5ee5d78cb549a39303d69b5;hp=3591fffc3c2930a0a4994ccbd8fbab77fe8a4cac;hpb=ced003168bf3b75a29313c727fe28d65cb03057c;p=platal.git diff --git a/modules/platal.php b/modules/platal.php index 3591fff..068ff05 100644 --- a/modules/platal.php +++ b/modules/platal.php @@ -38,25 +38,24 @@ class PlatalModule extends PLModule function handlers() { return array( - 'index' => $this->make_hook('index', AUTH_PUBLIC), - 'cacert.pem' => $this->make_hook('cacert', AUTH_PUBLIC), - 'changelog' => $this->make_hook('changelog', AUTH_PUBLIC), + 'index' => $this->make_hook('index', AUTH_PUBLIC), + 'cacert.pem' => $this->make_hook('cacert', AUTH_PUBLIC), + 'changelog' => $this->make_hook('changelog', AUTH_PUBLIC), // Preferences thingies - 'prefs' => $this->make_hook('prefs', AUTH_COOKIE), - 'prefs/rss' => $this->make_hook('prefs_rss', AUTH_COOKIE), - 'prefs/webredirect' - => $this->make_hook('webredir', AUTH_MDP), - 'prefs/skin' => $this->make_hook('skin', AUTH_COOKIE), + 'prefs' => $this->make_hook('prefs', AUTH_COOKIE), + 'prefs/rss' => $this->make_hook('prefs_rss', AUTH_COOKIE), + 'prefs/webredirect' => $this->make_hook('webredir', AUTH_MDP), + 'prefs/skin' => $this->make_hook('skin', AUTH_COOKIE), // password related thingies - 'password' => $this->make_hook('password', AUTH_MDP), - 'tmpPWD' => $this->make_hook('tmpPWD', AUTH_PUBLIC), - 'password/smtp' => $this->make_hook('smtppass', AUTH_MDP), - 'recovery' => $this->make_hook('recovery', AUTH_PUBLIC), - 'exit' => $this->make_hook('exit', AUTH_PUBLIC), - 'review' => $this->make_hook('review', AUTH_PUBLIC), - 'deconnexion.php' => $this->make_hook('exit', AUTH_PUBLIC), + 'password' => $this->make_hook('password', AUTH_MDP), + 'tmpPWD' => $this->make_hook('tmpPWD', AUTH_PUBLIC), + 'password/smtp' => $this->make_hook('smtppass', AUTH_MDP), + 'recovery' => $this->make_hook('recovery', AUTH_PUBLIC), + 'exit' => $this->make_hook('exit', AUTH_PUBLIC), + 'review' => $this->make_hook('review', AUTH_PUBLIC), + 'deconnexion.php' => $this->make_hook('exit', AUTH_PUBLIC), ); } @@ -64,7 +63,7 @@ class PlatalModule extends PLModule { // Include X-XRDS-Location response-header for Yadis discovery global $globals; - header('X-XRDS-Location: ' . $globals->baseurl . '/openid/idp_xrds'); + header('X-XRDS-Location: ' . $globals->baseurl . '/openid/xrds'); // Redirect to the suitable page if (S::logged()) { @@ -76,14 +75,8 @@ class PlatalModule extends PLModule function handler_cacert(&$page) { - $data = file_get_contents("/etc/ssl/xorgCA/cacert.pem","r"); - header("Pragma:"); - header("Set-Cookie:"); - header("Cache-Control:"); - header("Expires:"); - header("Content-Type: application/x-x509-ca-cert"); - header("Content-Length: ".strlen($data)); - echo $data; + pl_cached_content_headers("application/x-x509-ca-cert"); + readfile("/etc/ssl/xorgCA/cacert.pem"); exit; } @@ -329,10 +322,16 @@ class PlatalModule extends PLModule if ($res->numRows()) { $mails = $res->fetchOneCell(); } else { - $res = XDB::query('SELECT email + $user = User::getSilent($uid); + $mails = $user->bestEmail(); + $res = XDB::query("SELECT email FROM emails - WHERE uid = {?} AND NOT FIND_IN_SET("filter", flags)', $uid); - $mails = implode(', ', $res->fetchColumn()); + WHERE uid = {?} AND NOT FIND_IN_SET('filter', flags) + AND NOT FIND_IN_SET('active', flags)", + $uid); + if ($res->numRows() > 0) { + $mails .= ', ' . implode(', ', $res->fetchColumn()); + } } $mymail = new PlMailer(); $mymail->setFrom('"Gestion des mots de passe" mail->domain . '>'); @@ -345,14 +344,14 @@ Si en cliquant dessus tu n'y arrives pas, copie intégralement l'adresse dans la -- Polytechnique.org -\"Le portail des élèves & anciens élèves de l'Ecole polytechnique\" +\"Le portail des élèves & anciens élèves de l'École polytechnique\" Email envoyé à ".Env::v('login') . (Post::has('email') ? " Adresse de secours : " . Post::v('email') : "")); $mymail->send(); // on cree un objet logger et on log l'evenement - S::logger(uid)->log('recovery', $mails); + S::logger($uid)->log('recovery', $mails); } else { $page->trigError('Les informations que tu as rentrées ne permettent pas de récupérer ton mot de passe.
'. 'Si tu as un homonyme, utilise prenom.nom.promo comme login'); @@ -458,7 +457,7 @@ Adresse de secours : " . Post::v('email') : "")); { // Include X-XRDS-Location response-header for Yadis discovery global $globals; - header('X-XRDS-Location: ' . $globals->baseurl . '/openid/idp_xrds'); + header('X-XRDS-Location: ' . $globals->baseurl . '/openid/xrds'); $this->load('review.inc.php'); $dom = 'Review';