Prevents a file_get_contents warning when retrieving sql errors.
[platal.git] / classes / pluser.php
index 1aa5814..746f77b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2008 Polytechnique.org                              *
+ *  Copyright (C) 2003-2009 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -54,6 +54,9 @@ abstract class PlUser
      * By convention, null means the information hasn't been fetched yet, and
      * false means the information is not available.
      */
+
+    // user_id is internal user ID (potentially numeric), whereas hruid is a
+    // "human readable" unique ID
     protected $user_id = null;
     protected $hruid = null;
 
@@ -66,7 +69,6 @@ abstract class PlUser
     // <display name> !"), while full name is the official full name.
     protected $display_name = null;
     protected $full_name = null;
-    protected $promo = null;
 
     // Other important parameters used when sending emails.
     protected $gender = null;  // Acceptable values are GENDER_MALE and GENDER_FEMALE
@@ -149,10 +151,7 @@ abstract class PlUser
         return $this->full_name;
     }
 
-    public function promo()
-    {
-        return $this->promo;
-    }
+    abstract public function password();
 
     // Fallback value is GENDER_MALE.
     public function isFemale()
@@ -271,6 +270,11 @@ abstract class PlUser
         }
     }
 
+    public static function getWithUID($uid, $callback = false)
+    {
+        return User::getWithValues(null, array('user_id' => $uid), $callback);
+    }
+
     // Same as above, but using the silent callback as default.
     public static function getSilent($login)
     {
@@ -282,6 +286,11 @@ abstract class PlUser
         return User::getWithValues($login, $values, array('User', '_silent_user_callback'));
     }
 
+    public static function getSilentWithUID($uid)
+    {
+        return User::getWithValues(null, array('user_id' => $uid), array('User', '_silent_user_callback'));
+    }
+
     /**
      * Retrieves User objects corresponding to the @p logins, and eventually
      * extracts and returns the @p property. If @p strict mode is disabled, it