X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fgeoloc.php;h=fafbe4940090d33bad75a23e0e1418e6d8a9fc45;hb=d4cb8f1fea2a6f2cc2bc0411f94c12195d2c99b2;hp=4db76cd4064658a9dc807824fc1699449a853d3a;hpb=cb84e82c5d5a08e60f98088e7b18fc8c28a31fab;p=platal.git diff --git a/modules/geoloc.php b/modules/geoloc.php index 4db76cd..fafbe49 100644 --- a/modules/geoloc.php +++ b/modules/geoloc.php @@ -24,8 +24,8 @@ class GeolocModule extends PLModule function handlers() { return array( - 'map' => $this->make_hook('map', AUTH_COOKIE), - 'map_url' => $this->make_hook('map_url', AUTH_COOKIE) + 'map' => $this->make_hook('map', AUTH_COOKIE, 'user'), + 'map_url' => $this->make_hook('map_url', AUTH_COOKIE, 'user') ); } @@ -49,9 +49,20 @@ class GeolocModule extends PLModule $where = ''; } + if (!S::logged() || !S::user()->checkPerms('directory_ax')) { + $where .= " AND pa.pub = 'public'"; + $name_publicity = 'public'; + } else if (!S::user()->checkPerms('directory_private')) { + $where .= " AND pa.pub = 'ax'"; + $name_publicity = 'public'; + } else { + $name_publicity = 'private'; + } + $data = XDB::rawFetchAllAssoc('SELECT pa.latitude, pa.longitude, GROUP_CONCAT(DISTINCT p.hrpid SEPARATOR \',\') AS hrpid, GROUP_CONCAT(pd.promo SEPARATOR \',\') AS promo, - GROUP_CONCAT(DISTINCT CONCAT(pd.private_name, \' (\', pd.promo, \')\') SEPARATOR \',\') AS name + GROUP_CONCAT(DISTINCT pd.' . $name_publicity . '_name, \' (\', pd.promo, \')\' SEPARATOR \', \') AS name, + GROUP_CONCAT(DISTINCT pa.pid SEPARATOR \',\') AS pid FROM profile_addresses AS pa INNER JOIN profiles AS p ON (pa.pid = p.pid) INNER JOIN profile_display AS pd ON (pd.pid = pa.pid)