Guest User

Untitled

a guest
May 26th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. <?php
  2.  
  3. class User
  4. {
  5. private $core;
  6. private $data;
  7. private $loaded = false;
  8. function __construct(&$core,$uid = null)
  9. {
  10. $this->core = $core;
  11. if(intval($uid)) { $this->load($uid); }
  12. }
  13. function load($id)
  14. {
  15. if(!intval($id)) { return false; }
  16. $r = $this->core->db->query_first("SELECT * FROM `users` WHERE `id`='{$id}'");
  17. if($r)
  18. {
  19. $this->data = $r;
  20. $this->loaded = true;
  21. return true;
  22. } else { return false; }
  23. }
  24. function __set($var,$val)
  25. {
  26. $this->data[$var] = $val;
  27. if($this->loaded)
  28. {
  29. $sql_var = $this->core->db->escape_string($var);
  30. $sql_val = $this->core->db->escape_string($val);
  31. $this->core->db->query("UPDATE `users` SET `{$var}`=`{$val}` WHERE `id`={$this->data['id']}");
  32. }
  33. }
  34. function save()
  35. {
  36. $updatestr = "";
  37. $col_ra = array();
  38. $val_ra = array();
  39. foreach($this->data as $key => $val)
  40. {
  41. $key = $db->escape_string($key);
  42. $val = $db->escape_string($val);
  43. $col_ra[] = $key;
  44. $val_ra[] = $key;
  45. $updatestr .= "`{$key}`='{$val}',";
  46. }
  47. $updatestr = substr($updatestr,0,strlen($updatestr)-1);
  48. if($this->data['id'])
  49. {
  50. $this->core->db->query("UPDATE `users` SET {$updatestr} WHERE `id`={$this->data['id']}");
  51. } else {
  52. $cols = "'".explode("','",$col_ra)."'";
  53. $vals = "'".explode("','",$val_ra)."'";
  54. $this->core->db->query("INSERT INTO `users` ({$cols}) VALUES ({$vals})");
  55. $this->data["id"] = $this->core->db->insert_id();
  56. }
  57. }
  58. function &__get($var)
  59. {
  60. return $this->data[$var];
  61. }
  62. function update()
  63. {
  64. $previous_data = $this->data;
  65. if($this->load($this->data['id']))
  66. { if($previous_data === $this->data) { return false; } else { return true; } }
  67. else
  68. { return false; }
  69. }
  70. }
Add Comment
Please, Sign In to add comment