+function hook_hasXFace($headers)
+{
+ return isset($headers['x-org-id']) || isset($headers['x-org-mail']);
+}
+
+function hook_getXFace($headers)
+{
+ $login = null;
+ foreach (array('x-org-id', 'x-org-mail') as $key) {
+ if (isset($headers[$key])) {
+ $login = $headers[$key];
+ break;
+ }
+ }
+ if (is_null($login)) {
+ // No login, fallback to default handler
+ return false;
+ }
+ if (isset($headers['x-face'])) {
+ $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;
+ }
+ }
+ global $globals;
+ http_redirect($global->baseurl . '/photo/' . $login);
+}
+
+function hook_makeJs($src)
+{
+ Platal::page()->addJsLink("$src.js");
+ return ' ';
+}
+
+function make_Organization()
+{
+ global $globals;
+ $perms = S::v('perms');
+ $group = $globals->asso('nom');
+ if (S::has_perms()) {
+ return "Administrateur de Polytechnique.org";
+ } else if ($group && $perms->hasFlag('groupadmin')) {
+ return "Animateur de $group";
+ } else if ($group && $perms->hasFlag('groupmember')) {
+ return "Membre de $group";
+ }
+ return "Utilisateur de Polytechnique.org";
+}
+