Merge commit 'origin/master' into fusionax
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 21 Dec 2008 17:28:53 +0000 (18:28 +0100)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 21 Dec 2008 17:28:53 +0000 (18:28 +0100)
configs/platal.ini
core
include/geoloc.inc.php
include/security.inc.php
modules/lists/lists.inc.php
modules/xnetevents/xnetevents.inc.php
templates/geoloc/form.address.tpl
templates/platal/acces_smtp.tpl

index 7580684..c6980ec 100644 (file)
@@ -3,7 +3,8 @@ locale   = "fr_FR.UTF-8"
 timezone = "Europe/Paris"
 secure_domain = ""
 baseurl = "https://www.example.org/"
-restricted_platal = 0
+restricted_platal = 1
+robotstxt_disallowed_uris =
 
 skin = "default"
 register_skin = "register"
diff --git a/core b/core
index eec9962..d7dfb18 160000 (submodule)
--- a/core
+++ b/core
@@ -1 +1 @@
-Subproject commit eec996233a443d9d024786583c0370a54d639dde
+Subproject commit d7dfb18e275c1ed834ea8f0f4001399b0a17ce9f
index 28ffe51..4167c92 100644 (file)
@@ -78,11 +78,31 @@ function geoloc_region($country, $current, $avail_only = false)
 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') {
@@ -93,9 +113,24 @@ function get_address_infos($txt)
             }
         }
     }
-    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 = {?}
index 64e3714..b202df4 100644 (file)
@@ -85,7 +85,8 @@ function check_redirect($red = null)
 {
     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('');
index 05119da..2e60c61 100644 (file)
@@ -29,7 +29,7 @@ function list_sort_owners(&$members, $tri_promo = true) {
     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'];
@@ -66,9 +66,10 @@ function list_extract_members($members)
 // }}}
 // {{{ 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);
 }
 
 // }}}
index 494d664..cae7848 100644 (file)
@@ -318,7 +318,7 @@ function event_change_shortname(&$page, $eid, $old, $new)
 
         $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)
index 63389f7..2906484 100644 (file)
@@ -56,7 +56,7 @@
 <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}" />
index 995d133..bd7e2bd 100644 (file)
   </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"}