/application/models/usermodel.php

https://github.com/atomicflowtechorg/tasker · PHP · 178 lines · 141 code · 34 blank · 3 comment · 4 complexity · 64d25a104ec0bfacdcedecf2b1d788db MD5 · raw file

  1. <?php
  2. class UserModel extends CI_Model {
  3. var $id = '';
  4. var $username = '';
  5. var $password = '';
  6. var $firstname = '';
  7. var $lastname = '';
  8. var $email = '';
  9. var $lastLoggedIn = '';
  10. var $authKey = '';
  11. function __construct() {
  12. // Call the Model constructor
  13. parent::__construct();
  14. }
  15. function get_all_users($searchTerm = null) {
  16. if ($searchTerm === null) {
  17. $query = $this->db->query('SELECT *
  18. FROM `tblTasker`
  19. ORDER BY `fldLastLoggedIn` DESC ');
  20. return $query->result();
  21. } else {
  22. $this->load->library('SearchResult');
  23. $results = array();
  24. $query = $this->db->query("SELECT pkUsername, fldFirstname, fldLastname, fldEmail, fldStatus
  25. FROM tblTasker WHERE
  26. tblTasker.pkUsername LIKE '%$searchTerm%'
  27. OR tblTasker.fldFirstname LIKE '%$searchTerm%'
  28. OR tblTasker.fldLastname LIKE '%$searchTerm%'
  29. OR tblTasker.fldEmail LIKE '%$searchTerm%'
  30. OR tblTasker.fldStatus LIKE '%$searchTerm%' ");
  31. foreach ($query->result() as $row) {
  32. $resultObject = new SearchResult;
  33. $resultObject->type = "tasker";
  34. $resultObject->link = site_url("individual/" . $row->pkUsername . "/");
  35. $resultObject->title = $row->pkUsername;
  36. array_push($results, $resultObject);
  37. }
  38. return $results;
  39. }
  40. }
  41. function get_user($username){
  42. $query = $this->db->query("SELECT pkUsername, fldFirstname, fldLastname, fldLastLoggedIn, fldEmail, fldStatus
  43. FROM `tblTasker`
  44. WHERE pkUsername = '$username' ");
  45. return $query->result();
  46. }
  47. function get_all_usernames() {
  48. $query = $this->db->query('SELECT pkusername
  49. FROM `tblTasker`
  50. ORDER BY `fldLastLoggedIn` DESC ');
  51. return $query->result();
  52. }
  53. function insert_user() {
  54. $this->load->helper('security');
  55. $date = getdate();
  56. $datetime = $date['year'] . "-" . $date['mon'] . "-" . $date['mday'] . " " . $date['hours'] . ':' . $date['minutes'] . ':' . $date['seconds'];
  57. $this->firstname = $this->input->post('fldFirstname');
  58. $this->lastname = $this->input->post('fldLastname');
  59. $this->email = $this->input->post('fldEmail');
  60. $this->username = $this->input->post('fldUsername');
  61. $this->password = $this->input->post('fldPassword1');
  62. $this->authKey = do_hash(time(), 'md5'); // MD5 resetKey
  63. $this->lastLoggedIn = $datetime;
  64. $data = array('pkUsername' => $this->username, 'fldPassword' => $this->password, 'fldFirstname' => $this->firstname, 'fldLastname' => $this->lastname, 'fldLastLoggedIn' => $this->lastLoggedIn, 'fldEmail' => $this->email, 'fldAuthKey' => $this->authKey);
  65. $queryString = $this->db->insert_string('tblTasker', $data);
  66. $this->db->query($queryString);
  67. return $this;
  68. }
  69. function check_user() {
  70. $this->username = $this->input->post('fldUsername');
  71. $this->password = $this->input->post('fldPassword');
  72. //returns true if exists and password is correct, otherwise returns false
  73. $query = $this->db->query("SELECT pkUsername,fldPassword,fldLevel,fldFirstname,fldLastname,fldEmail FROM tblTasker WHERE pkUsername='" . $this->username . "' AND fldPassword='" . $this->password . "'");
  74. return $query;
  75. }
  76. function check_user_registration() {
  77. $this->username = $this->input->post('fldUsername');
  78. $this->email = $this->input->post('fldEmail');
  79. //returns true if exists and password is correct, otherwise returns false
  80. $query = $this->db->query("SELECT pkUsername,fldEmail FROM tblTasker WHERE pkUsername='$this->username' OR fldEmail='$this->email'");
  81. return $query;
  82. }
  83. function user_login() {
  84. $date = getdate();
  85. $datetime = $date['year'] . "-" . $date['mon'] . "-" . $date['mday'] . " " . $date['hours'] . ':' . $date['minutes'] . ':' . $date['seconds'];
  86. $this->username = $this->input->post('fldUsername');
  87. $this->password = $this->input->post('fldPassword');
  88. $this->lastLoggedIn = $datetime;
  89. $query = $this->db->query("SELECT pkUsername,fldPassword,fldFirstname,fldLastname,fldEmail FROM tblTasker WHERE pkUsername='" . $this->username . "' AND fldPassword='" . $this->password . "'");
  90. if ($query->num_rows() == 1) {
  91. foreach ($query->result() as $row) {
  92. $this->firstname = $row->fldFirstname;
  93. $this->lastname = $row->fldLastname;
  94. $this->email = $row->fldEmail;
  95. }
  96. }
  97. $data = array(
  98. 'fldLastLoggedIn' => $this->lastLoggedIn
  99. );
  100. $this->db->where('pkUsername', $this->username);
  101. $this->db->where('fldPassword', $this->password);
  102. $this->db->update('tblTasker', $data);
  103. return $this;
  104. }
  105. function getLists($username) {
  106. $query = $this->db->query("SELECT pkListId,fldListName,fldType,fldOwner,fldAccessLevel,fldActive FROM tblList WHERE fldOwner ='$username'");
  107. return $query->result();
  108. }
  109. function UserExistsFromEmail($email) {
  110. $queryString = "SELECT pkUsername,fldFirstname, fldLastname,fldProfileImage,fldLastLoggedIn,fldEmail,fldStatus
  111. FROM `tblTasker`
  112. WHERE fldEmail = '$email'
  113. ORDER BY `fldLastLoggedIn` DESC";
  114. $query = $this->db->query($queryString);
  115. return $query->result();
  116. }
  117. function preResetPassword($username, $resetKey) {
  118. $data = array('fldAuthKey' => $resetKey);
  119. $where = "pkUsername = '$username'";
  120. $queryString = $this->db->update_string('tblTasker', $data, $where);
  121. $this->db->query($queryString);
  122. }
  123. function confirmAuthKey($username, $authKey) {
  124. $queryString = "SELECT 1 FROM tblTasker WHERE pkUsername='$username' AND fldAuthKey='$authKey' LIMIT 1";
  125. $query = $this->db->query($queryString);
  126. return $query->result();
  127. }
  128. function resetPassword() {
  129. $this->password = $this->input->post('fldPassword1');
  130. $this->username = $this->input->post('fldUsername');
  131. $data = array('fldPassword' => $this->password, 'fldAuthKey' => "");
  132. $where = "pkUsername = '$this->username'";
  133. $queryString = $this->db->update_string('tblTasker', $data, $where);
  134. $query = $this->db->query($queryString);
  135. }
  136. function setAccountActive($username) {
  137. $this->username = $username;
  138. $data = array('fldLevel' => 1);
  139. $where = "pkUsername = '$this->username'";
  140. $queryString = $this->db->update_string('tblTasker', $data, $where);
  141. $query = $this->db->query($queryString);
  142. }
  143. }
  144. ?>