Fix some usages of ctype_digit().
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Mon, 8 Mar 2010 15:14:44 +0000 (16:14 +0100)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Mon, 8 Mar 2010 15:14:44 +0000 (16:14 +0100)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
classes/group.php
classes/profile.php
classes/userfilter.php
modules/carnet.php
modules/xnetevents/xnetevents.inc.php
plugins/function.profile.php

index 1268ded..25144e6 100644 (file)
@@ -86,7 +86,7 @@ class Group
         if (!$id) {
             return null;
         }
-        if (ctype_digit($id)) {
+        if (is_int($id) || ctype_digit($id)) {
             $where = XDB::format('id = {?}', $id);
         } else {
             $where = XDB::format('diminutif = {?}', $id);
index 1a363c6..9fe5d39 100644 (file)
@@ -522,7 +522,7 @@ class Profile
                                         FROM  account_profiles
                                        WHERE  uid = {?} AND FIND_IN_SET(\'owner\', perms)',
                                      $login->id());
-        } else if (ctype_digit($login)) {
+        } else if (is_int($login) || ctype_digit($login)) {
             return XDB::fetchOneCell('SELECT  pid
                                         FROM  profiles
                                        WHERE  pid = {?}', $login);
index 3e841da..2d33bca 100644 (file)
@@ -2110,7 +2110,7 @@ class UserFilter extends PlFilter
     {
         $this->requireAccounts();
         if (!is_null($group)) {
-            if (ctype_digit($group)) {
+            if (is_int($group) || ctype_digit($group)) {
                 $index = $sub = $group;
             } else {
                 $index = $group;
@@ -2132,7 +2132,7 @@ class UserFilter extends PlFilter
             if (is_null($key)) {
                 $joins['gpa' . $sub] = PlSqlJoin::inner('groups');
                 $joins['gpm' . $sub] = PlSqlJoin::left('group_members', '$ME.uid = $UID AND $ME.asso_id = gpa' . $sub . '.id');
-            } else if (ctype_digit($key)) {
+            } else if (is_int($key) || ctype_digit($key)) {
                 $joins['gpm' . $sub] = PlSqlJoin::left('group_members', '$ME.uid = $UID AND $ME.asso_id = ' . $key);
             } else {
                 $joins['gpa' . $sub] = PlSqlJoin::inner('groups', '$ME.diminutif = {?}', $key);
index 30dfff0..6f1b9a8 100644 (file)
@@ -79,7 +79,7 @@ class CarnetModule extends PLModule
 
     private function getSinglePromotion(PlPage &$page, $promo)
     {
-        if (!ctype_digit($promo) || $promo < 1920 || $promo > date('Y')) {
+        if (!(is_int($promo) || ctype_digit($promo)) || $promo < 1920 || $promo > date('Y')) {
             $page->trigError('Promotion invalide&nbsp;: ' . $promo . '.');
             return null;
         }
index be5eeac..8886f37 100644 (file)
@@ -248,7 +248,7 @@ function event_change_shortname(&$page, $eid, $old, $new)
                     et qu'il ne contient que des lettres non accentuées,
                     des chiffres ou les caractères - et .");
         return $old;
-    } elseif ($new && ctype_digit($new)) {
+    } elseif ($new && (is_int($new) || ctype_digit($new))) {
         $page->trigError("Le raccourci demandé ne peut être accepté car il
                          ne contient que des chiffres. Rajoute-lui par exemple
                          une lettre.");
index 53f2a5d..340e9ad 100644 (file)
@@ -27,7 +27,7 @@ function smarty_function_profile($params, &$smarty)
     $with_link  = $params->b('link', true);
     $with_groupperms = $params->b('groupperms', true);
     $user = $params->v('user');
-    if (ctype_digit($user)) {
+    if (is_int($user) || ctype_digit($user)) {
         $user = User::getWithUID($user);
     }