--- /dev/null
+<?php\r
+/*\r
+UserCake Version: 2.0.2\r
+http://usercake.com\r
+*/\r
+\r
+class loggedInUser {\r
+ public $email = NULL;\r
+ public $hash_pw = NULL;\r
+ public $user_id = NULL;\r
+ \r
+ //Simple function to update the last sign in of a user\r
+ public function updateLastSignIn()\r
+ {\r
+ global $mysqli,$db_table_prefix;\r
+ $time = time();\r
+ $stmt = $mysqli->prepare("UPDATE ".$db_table_prefix."users\r
+ SET\r
+ last_sign_in_stamp = ?\r
+ WHERE\r
+ id = ?");\r
+ $stmt->bind_param("ii", $time, $this->user_id);\r
+ $stmt->execute();\r
+ $stmt->close(); \r
+ }\r
+ \r
+ //Return the timestamp when the user registered\r
+ public function signupTimeStamp()\r
+ {\r
+ global $mysqli,$db_table_prefix;\r
+ \r
+ $stmt = $mysqli->prepare("SELECT sign_up_stamp\r
+ FROM ".$db_table_prefix."users\r
+ WHERE id = ?");\r
+ $stmt->bind_param("i", $this->user_id);\r
+ $stmt->execute();\r
+ $stmt->bind_result($timestamp);\r
+ $stmt->fetch();\r
+ $stmt->close();\r
+ return ($timestamp);\r
+ }\r
+ \r
+ //Update a users password\r
+ public function updatePassword($pass)\r
+ {\r
+ global $mysqli,$db_table_prefix;\r
+ $secure_pass = generateHash($pass);\r
+ $this->hash_pw = $secure_pass;\r
+ $stmt = $mysqli->prepare("UPDATE ".$db_table_prefix."users\r
+ SET\r
+ password = ? \r
+ WHERE\r
+ id = ?");\r
+ $stmt->bind_param("si", $secure_pass, $this->user_id);\r
+ $stmt->execute();\r
+ $stmt->close(); \r
+ }\r
+ \r
+ //Update a users email\r
+ public function updateEmail($email)\r
+ {\r
+ global $mysqli,$db_table_prefix;\r
+ $this->email = $email;\r
+ $stmt = $mysqli->prepare("UPDATE ".$db_table_prefix."users\r
+ SET \r
+ email = ?\r
+ WHERE\r
+ id = ?");\r
+ $stmt->bind_param("si", $email, $this->user_id);\r
+ $stmt->execute();\r
+ $stmt->close(); \r
+ }\r
+ \r
+ //Is a user has a permission\r
+ public function checkPermission($permission)\r
+ {\r
+ global $mysqli,$db_table_prefix,$master_account;\r
+ \r
+ //Grant access if master user\r
+ \r
+ $stmt = $mysqli->prepare("SELECT id \r
+ FROM ".$db_table_prefix."user_permission_matches\r
+ WHERE user_id = ?\r
+ AND permission_id = ?\r
+ LIMIT 1\r
+ ");\r
+ $access = 0;\r
+ foreach($permission as $check){\r
+ if ($access == 0){\r
+ $stmt->bind_param("ii", $this->user_id, $check);\r
+ $stmt->execute();\r
+ $stmt->store_result();\r
+ if ($stmt->num_rows > 0){\r
+ $access = 1;\r
+ }\r
+ }\r
+ }\r
+ if ($access == 1)\r
+ {\r
+ return true;\r
+ }\r
+ if ($this->user_id == $master_account){\r
+ return true; \r
+ }\r
+ else\r
+ {\r
+ return false; \r
+ }\r
+ $stmt->close();\r
+ }\r
+ \r
+ //Logout\r
+ public function userLogOut()\r
+ {\r
+ destroySession("userCakeUser");\r
+ } \r
+}\r
+\r
+?>
\ No newline at end of file