timezone = "Europe/Paris"
secure_domain = ""
baseurl = "https://www.example.org/"
-restricted_platal = 0
+restricted_platal = 1
+robotstxt_disallowed_uris =
skin = "default"
register_skin = "register"
-Subproject commit eec996233a443d9d024786583c0370a54d639dde
+Subproject commit d7dfb18e275c1ed834ea8f0f4001399b0a17ce9f
function get_address_infos($txt)
{
global $globals;
+
$url = $globals->geoloc->webservice_url."address.php?precise=1&txt=" . urlencode($txt);
- if (!($f = @fopen($url, 'r'))) return false;
+ if ($globals->debug & DEBUG_BT) {
+ if (!isset(PlBacktrace::$bt['Geoloc'])) {
+ new PlBacktrace('Geoloc');
+ }
+ PlBacktrace::$bt['Geoloc']->start($url);
+ }
+ $f = @fopen($url, 'r');
+ if ($f === false) {
+ if ($globals->debug & DEBUG_BT) {
+ PlBacktrace::$bt['Geoloc']->stop(0, 'Can\'t fetch result');
+ }
+ return false;
+ }
$keys = explode('|',fgets($f));
$vals = explode('|',fgets($f));
- $infos = array();
+ if ($globals->debug & DEBUG_BT) {
+ $data = array();
+ for ($i = 0 ; $i < count($keys) ; ++$i) {
+ $data[] = array($keys[$i], $vals[$i]);
+ }
+ PlBacktrace::$bt['Geoloc']->stop(count($keys), null, $data);
+ }
+ $infos = empty_address();
foreach ($keys as $i=>$key) {
if($vals[$i]) {
if ($key == 'sql') {
}
}
}
- if (isset($infos['sql']) && $infos['sql'])
- XDB::execute("REPLACE INTO geoloc_city
- VALUES ".$infos['sql']);
+ if (empty($infos['country'])) {
+ $infos['country'] = '00';
+ }
+ if (isset($infos['sql']) && $infos['sql']) {
+ $sql = explode(', ', trim($infos['sql'], '()'));
+ if (count($sql) == 16) {
+ for ($i = 0 ; $i < 16 ; ++$i) {
+ $sql[$i] = stripslashes(trim($sql[$i], ' \''));
+ }
+ XDB::execute("REPLACE INTO geoloc_city
+ VALUES ({?}, {?}, {?}, {?}, {?}, {?},
+ {?}, {?}, {?}, {?}, {?}, {?},
+ {?}, {?}, {?}, {?})",
+ $sql[0], $sql[1], $sql[2], $sql[3], $sql[4], $sql[5],
+ $sql[6], $sql[7], $sql[8], $sql[9], $sql[10], $sql[11],
+ $sql[12], $sql[13], $sql[14], $sql[15]);
+ }
+ }
if (isset($infos['display']) && $infos['display'])
XDB::execute("UPDATE geoloc_pays
SET display = {?}
{
require_once 'emails.inc.php';
if (is_null($red)) {
- $red = new Redirect(S::user());
+ $user = S::user();
+ $red = new Redirect($user);
}
if ($red->get_uid() == S::v('uid')) {
$_SESSION['no_redirect'] = !$red->other_active('');
foreach($members as $mem) {
list($m, $dom) = explode('@', $mem);
$info = list_fetch_name($mem);
- if (is_null($info['uid'])) {
+ if (!isset($info['uid']) || is_null($info['uid'])) {
$membres[0][] = array('l' => $mem, 'p' => (!$tri_promo ? 'inconnue' : null));
} else {
$uid = $info['uid'];
// }}}
// {{{ function list_sort_members
-function list_sort_members(&$members, $tri_promo = true)
+function list_sort_members($members, $tri_promo = true)
{
- return list_sort_owners(list_extract_members($members), $tri_promo);
+ $m = list_extract_members($members);
+ return list_sort_owners($m, $tri_promo);
}
// }}}
$lastid = XDB::insertId();
XDB::execute("INSERT INTO virtual_redirect (
- SELECT {?} AS vid, IF(u.nom IS NULL, m.email, CONCAT(a.alias, {?})) AS redirect
+ SELECT {?} AS vid, IF(a.alias IS NULL, m.email, CONCAT(a.alias, {?})) AS redirect
FROM groupex.membres AS m
LEFT JOIN groupex.evenements_participants AS ep ON (ep.uid = m.uid AND ep.eid = {?})
LEFT JOIN auth_user_md5 AS u ON (u.user_id = m.uid)
<input type="hidden" name="{$name}[adr3]" value="{$adr.adr3}" />
<input type="hidden" name="{$name}[postcode]" value="{$adr.postcode}"/>
<input type="hidden" name="{$name}[city]" value="{$adr.city}" />
-<input type="hidden" name="{$name}[country]" value="{$adr.country}" />
+<input type="hidden" name="{$name}[country]" value="{$adr.country|default:'00'}" />
<input type="hidden" name="{$name}[countrytxt]" value="{$adr.countrytxt}" />
<input type="hidden" name="{$name}[region]" value="{$adr.region}" />
<input type="hidden" name="{$name}[regiontxt]" value="{$adr.regiontxt}" />
</table>
</form>
<p>
- {icon name=error title="Attention"} Nous te déconseillons fortement d'utiliser le même
- mot de passe que pour la connexion au site. En effet ce mot de passe sert à accéder à des
- services <em>moins</em> sécurisés qui nécessitent l'enregistrement de celui-ci en clair
- dans notre base de données.
+ Le mot de passe que tu choisis doit comporter au moins <strong>6 caractères</strong> quelconques.
</p>
<p>
- Ce mot de passe peut être le même que celui d'accès au site. Il doit faire au
- moins <strong>6 caractères</strong> quelconques. Attention au type de clavier que tu
- utilises (qwerty?) et aux majuscules/minuscules.
+ {icon name=error title="Attention"} Nous te déconseillons fortement d'utiliser le même
+ mot de passe que pour la connexion au site. En effet, ce mot de passe sert à accéder à des
+ services <em>moins</em> sécurisés, ce qui nécessite son enregistrement en clair dans
+ notre base de données.
</p>
{if $smarty.request.doc eq "nntp"}