X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fbanana%2Fhooks.inc.php;h=5bff44a2217ed5e2816ed0aa03b62dbfda179aea;hb=6e1128e02f7568a692d548d8bc43cad6bde38efe;hp=d8cd9f1ea30fd5e0fee9f4cea20492daa5499a80;hpb=af744c2d5f4ddf83b738b9cb390926eaca4cf7c3;p=platal.git diff --git a/include/banana/hooks.inc.php b/include/banana/hooks.inc.php index d8cd9f1..5bff44a 100644 --- a/include/banana/hooks.inc.php +++ b/include/banana/hooks.inc.php @@ -1,6 +1,6 @@ token . '/rss.xml'; } function hook_platalMessageLink($params) @@ -177,20 +178,25 @@ function hook_hasXFace($headers) function hook_getXFace($headers) { - $login = @$headers['x-org-id']; - if (!$login) { - @list($login, ) = explode('@', $headers['x-org-mail']); + $login = null; + foreach (array('x-org-id', 'x-org-mail') as $key) { + if (isset($headers[$key])) { + $login = $headers[$key]; + break; + } } - if (!$login) { + if (is_null($login)) { + // No login, fallback to default handler return false; } if (isset($headers['x-face'])) { - $res = XDB::query("SELECT p.uid - FROM forums.profils AS p - INNER JOIN aliases AS a ON (p.uid = a.id) - WHERE FIND_IN_SET('xface', p.flags) AND a.alias = {?}", - $login); + $user = User::getSilent($login); + $res = XDB::query("SELECT pf.uid + FROM forum_profiles AS pf + WHERE pf.uid = {?} AND FIND_IN_SET('xface', pf.flags)", + $user->id()); if ($res->numRows()) { + // User wants his xface to be showed, fallback to default handler return false; } } @@ -209,7 +215,7 @@ function make_Organization() global $globals; $perms = S::v('perms'); $group = $globals->asso('nom'); - if (S::has_perms()) { + if (S::admin()) { return "Administrateur de Polytechnique.org"; } else if ($group && $perms->hasFlag('groupadmin')) { return "Animateur de $group"; @@ -301,7 +307,7 @@ class PlatalBananaPage extends BananaPage class BananaHandler { - public function __construct(PlWizard &$wiz) + public function __construct(PlWizard $wiz) { } @@ -310,19 +316,22 @@ class BananaHandler return 'banana/index.tpl'; } - public function prepare(PlPage &$page, $id) + public function prepare(PlPage $page, $id) { } - public function process() + public function success() { } + + public function process(&$success) { return PlWizard::CURRENT_PAGE; } } -function run_banana(&$page, $class, array $args) +function run_banana($page, $class, array $args) { - $banana = new $class(S::user(), $args); + $user = S::user(); + $banana = new $class($user, $args); $page->assign('banana', $banana->run()); $page->addCssInline($banana->css()); $page->addCssLink('banana.css');