Changed category from 0-10 to 0-20
[speedfreak] / Server / application / models / user.php
index 95daac7..78ef8ca 100644 (file)
@@ -1,6 +1,6 @@
 <?php defined('SYSPATH') or die('No direct script access.');
 /*
- * API controller for communicating with mobile clients
+ * Users model for creating and manipulating user accounts
  * 
  * @author      Artem Daniliants <artem@daniliants.com>
  * @copyright   (c) 2010 Speed Freak team
@@ -53,25 +53,25 @@ class User_Model extends Model {
      * @return bool Returns True if operation was successfull and exception otherwise
      */
     private function register($username, $password, $email){
-       // hash password
+       // hash password
         $password = $this->hash($password);
-
+        
         // @todo I can't seem to get query working when password binding has '' around it like others
         if ($this->user_exists($username, $email)==false)
-          return $this->db->query("INSERT into users SET username = '?', password = ?, email = '?'",
-                  $username, $password, $email);
+          return $this->db->query("INSERT into users SET username = '?', password = ?, email = '?'",
+                  $username, $password, $email);
         else
             return false;
     }
-
+    
     /*
      * Hash password supplied by user using salt stored in config file
-     *
+     * 
      * @param string $password Password in plain text format
      * @return string Returns string containing hash generated from password
      */
     private function hash($password){
-       return sha1($password.Kohana::config('api.salt'));
+       return sha1($password.Kohana::config('api.salt'));
     }
     
     /*
@@ -82,16 +82,30 @@ class User_Model extends Model {
      * @return bool Returns True if user exists and false otherwise
      */
     private function user_exists($username, $email){
-       if ($this->db->query("SELECT id FROM users WHERE username = '?' OR email = '?'",
+       if ($this->db->query("SELECT id FROM users WHERE username = '?' OR email = '?'",
                           $username, $email)->count()>0)
               return true;
            else
-              return false;
+              return false;          
+    }
+    
+    /*
+     * Get user id
+     *
+     * @param string $username Username
+     * @return integer|bool User id if successful or false
+     */
+    public function get_id($username){
+        $result = $this->db->query("SELECT id FROM users WHERE username = ?", $username);
+       if ($result->count()>0)
+           return $result[0]->id;
+        else
+           return false;
     }
 
     /*
      * Check if supplied credentials are valid
-     *
+     * 
      * @param string $username Username
      * @param string $password Password in plain text format
      * @return bool True if credentials match and false if supplied credentials are invalid
@@ -99,7 +113,7 @@ class User_Model extends Model {
     public function login($username, $password){
         // hash password
         $password = $this->hash($password);
-
+        
         if ($this->db->query("SELECT id FROM users WHERE username = ? AND password = ?",
                              $username, $password)->count()>0)
             return true;