function.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?php
  2. require_once __DIR__.'/../config.php';
  3. function ucenter_get($userid, $fields = "username")
  4. {
  5. //打开数据库
  6. $dns = "" . _FILE_DB_USERINFO_;
  7. $dbh = new PDO($dns, "", "", array(PDO::ATTR_PERSISTENT => true));
  8. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  9. $query = "select username from user where id= ? ";
  10. $stmt = $dbh->prepare($query);
  11. $stmt->execute(array($userid));
  12. $fUser = $stmt->fetchAll(PDO::FETCH_ASSOC);
  13. $dbh = null;
  14. if (count($fUser) > 0) {
  15. return ($fUser[0][$fields]);
  16. } else {
  17. return ("");
  18. }
  19. }
  20. function ucenter_getA($userid, $fields = "nickname")
  21. {
  22. //打开数据库
  23. $dns = _FILE_DB_USERINFO_;
  24. $dbh = new PDO($dns, "", "", array(PDO::ATTR_PERSISTENT => true));
  25. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  26. $query = "SELECT username,nickname FROM user WHERE userid= ? ";
  27. $stmt = $dbh->prepare($query);
  28. $stmt->execute(array($userid));
  29. $fUser = $stmt->fetchAll(PDO::FETCH_ASSOC);
  30. $dbh = null;
  31. if (count($fUser) > 0) {
  32. return ($fUser[0][$fields]);
  33. } else {
  34. return ("");
  35. }
  36. }
  37. class UserInfo
  38. {
  39. private $dbh;
  40. private $buffer;
  41. private $log;
  42. public function __construct()
  43. {
  44. $dns = _FILE_DB_USERINFO_;
  45. $this->dbh = new PDO($dns, "", "", array(PDO::ATTR_PERSISTENT => true));
  46. $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  47. $this->buffer = array();
  48. $this->log = "";
  49. }
  50. public function getName($id)
  51. {
  52. if (empty($id)) {
  53. return array("nickname" => "", "username" => "");
  54. }
  55. if (isset($this->buffer[$id])) {
  56. return $this->buffer[$id];
  57. }
  58. if ($this->dbh) {
  59. $query = "SELECT nickname,username FROM user WHERE id = ? or userid= ? ";
  60. $stmt = $this->dbh->prepare($query);
  61. $stmt->execute(array($id,$id));
  62. $user = $stmt->fetchAll(PDO::FETCH_ASSOC);
  63. if (count($user) > 0) {
  64. $this->buffer[$id] = array("nickname" => $user[0]["nickname"], "username" => $user[0]["username"]);
  65. return $this->buffer[$id];
  66. } else {
  67. $this->buffer[$id] = array("nickname" => "", "username" => "");
  68. return $this->buffer[$id];
  69. }
  70. } else {
  71. $this->buffer[$id] = array("nickname" => "", "username" => "");
  72. return $this->buffer[$id];
  73. }
  74. }
  75. public function getId($uuid)
  76. {
  77. if (empty($uuid)) {
  78. return 0;
  79. }
  80. if ($this->dbh) {
  81. $query = "SELECT id FROM user WHERE userid= ? ";
  82. $stmt = $this->dbh->prepare($query);
  83. $stmt->execute(array($uuid));
  84. $user = $stmt->fetch(PDO::FETCH_ASSOC);
  85. if ($user) {
  86. return $user["id"];
  87. }else{
  88. return 0;
  89. }
  90. } else {
  91. return 0;
  92. }
  93. }
  94. public function getUserByName($name)
  95. {
  96. if (empty($name)) {
  97. return false;
  98. }
  99. if ($this->dbh) {
  100. $query = "SELECT id,userid,nickname,username FROM user WHERE username= ? ";
  101. $stmt = $this->dbh->prepare($query);
  102. $stmt->execute(array($name));
  103. $user = $stmt->fetch(PDO::FETCH_ASSOC);
  104. if ($user) {
  105. return $user;
  106. }else{
  107. return false;
  108. }
  109. } else {
  110. return false;
  111. }
  112. }
  113. public function getUserList($key){
  114. if ($this->dbh) {
  115. $query = "SELECT id,userid,nickname,username FROM user WHERE username like ? ";
  116. $stmt = $this->dbh->prepare($query);
  117. $stmt->execute(array($key."%"));
  118. $user = $stmt->fetchAll(PDO::FETCH_ASSOC);
  119. if ($user) {
  120. return $user;
  121. }
  122. } else {
  123. return false;
  124. }
  125. }
  126. public function check_password($userid,$password){
  127. if ($this->dbh) {
  128. $query = "SELECT username FROM user WHERE userid= ? and password = ? ";
  129. $stmt = $this->dbh->prepare($query);
  130. $stmt->execute(array($userid,md5($password)));
  131. $user = $stmt->fetch(PDO::FETCH_ASSOC);
  132. if ($user) {
  133. return true;
  134. } else {
  135. return false;
  136. }
  137. } else {
  138. return false;
  139. }
  140. }
  141. public function signIn($username,$password){
  142. if ($this->dbh) {
  143. $query = "SELECT userid,id FROM user WHERE (username= ? and password = ?) or (email= ? and password = ?) ";
  144. $stmt = $this->dbh->prepare($query);
  145. $stmt->execute(array($username,md5($password),$username,md5($password)));
  146. $user = $stmt->fetch(PDO::FETCH_ASSOC);
  147. if ($user) {
  148. return $user;
  149. } else {
  150. $query = "SELECT userid,id,password FROM user WHERE username= ?";
  151. $stmt = $this->dbh->prepare($query);
  152. $stmt->execute(array($username));
  153. $user = $stmt->fetch(PDO::FETCH_ASSOC);
  154. if($user){
  155. $this->log .= "username:{$username},pwd:{$user['password']}-".md5($password)."\n";
  156. }else{
  157. $this->log .= "no user:{$username}\n";
  158. }
  159. return false;
  160. }
  161. } else {
  162. return false;
  163. }
  164. }
  165. public function getLog(){
  166. return $this->log;
  167. }
  168. }