VM暫存
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

85 Zeilen
2.5KB

  1. <?php
  2. /*
  3. file: Security_model.php 停車管理系統 (鎖車)
  4. */
  5. class Security_model extends CI_Model
  6. {
  7. function __construct()
  8. {
  9. parent::__construct();
  10. $this->load->database();
  11. }
  12. // 更改會員密碼
  13. public function change_pswd($lpr, $new_pswd)
  14. {
  15. $data = array('passwd' => $new_pswd);
  16. $this->db->update('members', $data, array('lpr' => $lpr));
  17. return 'ok';
  18. }
  19. // 防盜鎖車
  20. // http://203.75.167.89/parkingquery.html/security_action/ABC1234/pswd/2
  21. public function security_action($lpr, $pswd, $action)
  22. {
  23. $data = array();
  24. /*
  25. $rows = $this->db->select('member_no, passwd, locked')
  26. ->from('members')
  27. ->where(array('lpr' => $lpr, 'passwd' => $pswd))
  28. ->limit(1)
  29. ->get()
  30. ->row_array();
  31. trigger_error('防盜鎖車:'.$this->db->last_query());
  32. // 無資料或密碼錯誤
  33. if (empty($rows['member_no']))
  34. {
  35. $data['result_code'] = 'FAIL';
  36. return($data);
  37. }
  38. */
  39. $rows = $this->db->select('member_no, passwd, locked, lpr')
  40. ->from('members')
  41. ->where(array('lpr' => $lpr))
  42. ->limit(1)
  43. ->get()
  44. ->row_array();
  45. trigger_error('防盜鎖車:'.$this->db->last_query());
  46. // 無資料或密碼錯誤
  47. if (empty($rows['member_no']) || md5($rows['passwd']) != $pswd)
  48. {
  49. // 密碼未設定且輸入密碼為車牌號碼
  50. if(empty($rows['passwd']) && md5($rows['lpr']) == $pswd){
  51. // do nothing
  52. }else{
  53. $data['result_code'] = 'FAIL';
  54. return($data);
  55. }
  56. }
  57. $data['result_code'] = 'OK';
  58. // 查詢防盜狀態
  59. if ($action == 2)
  60. {
  61. $data['result']['action'] = 'CHECK_SECURITY';
  62. $data['result'][0]['num'] = $lpr;
  63. $data['result'][0]['result'] = $rows['locked'] ? 'ON' : 'OFF';
  64. return $data;
  65. }
  66. $this->db
  67. ->where('member_no', $rows['member_no'])
  68. ->update('members', array('locked' => $action));
  69. $data['result']['action'] = $action == 1 ? 'ON' : 'OFF';
  70. return $data;
  71. }
  72. }