Advertisement
Guest User

Untitled

a guest
Jan 18th, 2012
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. <?php
  2.  
  3. class Users
  4. {
  5.  
  6. public $loggedIn = false,
  7. $id = 0,
  8. $userName = 'Guest',
  9. $data = '',
  10. $iCore;
  11.  
  12.  
  13. public function Users( Core $core )
  14. {
  15.  
  16. $this->iCore = $core;
  17.  
  18. $this->searchForSessions();
  19.  
  20. }
  21.  
  22. protected function searchForSessions()
  23. {
  24.  
  25. $x = array('_userName', '_passWord', '_cacheData');
  26. $y = true;
  27. $z = md5( db::$prefix );
  28.  
  29.  
  30. foreach( $x as $q )
  31. {
  32.  
  33. if( empty( $_SESSION[ $z . $q ] ) )
  34. {
  35.  
  36. $y = false;
  37.  
  38. break;
  39.  
  40. }
  41.  
  42. }
  43.  
  44. if( !$y )
  45. {
  46.  
  47. return false;
  48.  
  49. }
  50.  
  51.  
  52. $this->loggedIn = (bool)
  53. $this->iCore->db()
  54. ->newQuery()
  55. ->Query("SELECT null FROM users WHERE username = ? AND password = ? LIMIT 1;")
  56. ->bind('ss', $_SESSION[ $z . $x[ 0 ] ], $_SESSION[ $z . $x[ 1 ] ] )
  57. ->count() > 0 ? true : false;
  58.  
  59. $this->data = $_SESSION[ $z . '_cacheData' ];
  60.  
  61. return $this->loggedIn;
  62.  
  63.  
  64. }
  65.  
  66. public function login( $u = '', $p = '' )
  67. {
  68. //p:r
  69. if( !$u || !$p ) return 'All fields are required';
  70.  
  71. $fetch = $this->iCore->db()
  72. ->newQuery()
  73. ->Query("
  74.  
  75. SELECT
  76.  
  77. u.*, b.expire, b.reason
  78.  
  79. FROM
  80.  
  81. users AS u
  82.  
  83. LEFT JOIN
  84.  
  85. bans AS b
  86.  
  87. ON
  88.  
  89. ( u.username = b.value OR b.value = ? ) AND ( UNIX_TIMESTAMP() - b.expire < 0 )
  90.  
  91. WHERE
  92.  
  93. u.username = ?
  94.  
  95. AND
  96.  
  97. u.password = ?
  98.  
  99. LIMIT 1;
  100.  
  101. ")
  102. ->bind( 'sss', $_SERVER['REMOTE_ADDR'], $u, $p )
  103. ->fetch();
  104.  
  105. $x = md5( db::$prefix );
  106.  
  107. if( !empty( $fetch['reason'] ) || !empty( $fetch['expire'] ) )
  108. {
  109.  
  110. //p:r
  111. return sprintf( 'You are banned until %s because %s', date( 'd/m/Y h:i', $fetch['expire'] ), $fetch['reason'] );
  112.  
  113. }
  114.  
  115. $_SESSION[ $x . '_userName' ] = $fetch['username'];
  116. $_SESSION[ $x . '_passWord' ] = $fetch['password'];
  117. $_SESSION[ $x . '_cacheData' ] = $fetch;
  118.  
  119. header('Location: /');
  120.  
  121. }
  122.  
  123.  
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement