VM暫存
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

110 satır
4.0KB

  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. /*
  3. file: vip_parked.php VIP車位
  4. http://192.168.10.201/vip_parked.html/pages/1
  5. 舊版:
  6. file:///C:/altob/vip/javascript_mqtt/vip_parked.html
  7. */
  8. require_once(MQ_CLASS_FILE);
  9. class Vip_parked extends CI_Controller
  10. {
  11. var $vars = array();
  12. function __construct()
  13. {
  14. parent::__construct();
  15. $this->vars['date_time'] = date('Y-m-d H:i:s'); // 格式化時間(2015-10-12 14:36:21)
  16. $this->vars['time_num'] = str_replace(array('-', ':', ' '), '', $this->vars['date_time']); //數字化時間(20151012143621)
  17. $this->vars['date_num'] = substr($this->vars['time_num'], 0, 8); // 數字化日期(20151012)
  18. $this->vars['station_no'] = STATION_NO; // 本站編號
  19. /*
  20. // cameras or etagio直接release連線(即斷線), 但繼續處理邏輯
  21. $method_name = $this->router->fetch_method();
  22. if ($method_name == 'cameras' || $method_name == 'etagio')
  23. {
  24. ob_end_clean();
  25. ignore_user_abort();
  26. ob_start();
  27. header('Connection: close');
  28. header('Content-Length: ' . ob_get_length());
  29. ob_end_flush();
  30. flush();
  31. }
  32. */
  33. // ----- 程式開發階段log設定 -----
  34. if (@ENVIRONMENT == 'development')
  35. {
  36. ini_set('display_errors', '1');
  37. //error_reporting(E_ALL ^ E_NOTICE);
  38. error_reporting(E_ALL);
  39. }
  40. set_error_handler(array($this, 'error_handler'), E_ALL); // 資料庫異動需做log
  41. // mqtt subscribe
  42. $this->vars['mqtt'] = new phpMQTT(MQ_HOST, MQ_PORT, uniqid());
  43. if(!$this->vars['mqtt']->connect()){ die ('Could not connect mqtt'); }
  44. // ----- 定義常數(路徑, cache秒數) -----
  45. define('APP_VERSION', '100'); // 版本號
  46. define('MAX_AGE', 604800); // cache秒數, 此定義1個月
  47. define('APP_NAME', 'vip_parked'); // 應用系統名稱
  48. define('PAGE_PATH', APP_BASE.'ci_application/views/'.APP_NAME.'/'); // path of views
  49. define('SERVER_URL', 'http://'.(isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'localhost').'/'); // URL
  50. define('APP_URL', SERVER_URL.APP_NAME.'.html/'); // controller路徑
  51. define('WEB_URL', SERVER_URL.APP_NAME.'/'); // 網頁路徑
  52. define('WEB_LIB', SERVER_URL.'/libs/'); // 網頁lib
  53. define('BOOTSTRAPS', WEB_LIB.'bootstrap_sb/'); // bootstrap lib
  54. define('LOG_PATH', FILE_BASE.APP_NAME.'/logs/'); // log path name
  55. define('LOG_FILE', FILE_BASE.APP_NAME.'/logs/cario.'); // log file name
  56. }
  57. // 發生錯誤時集中在此處理
  58. public function error_handler($errno, $errstr, $errfile, $errline, $errcontext)
  59. {
  60. $log_msg = explode('://', $errstr);
  61. if (count($log_msg) > 1)
  62. {
  63. $log_file = $log_msg[0];
  64. $str = date('H:i:s')."|{$log_msg[1]}|{$errfile}|{$errline}|{$errno}\n";
  65. }
  66. else
  67. {
  68. $log_file = APP_NAME;
  69. $str = date('H:i:s')."|{$errstr}|{$errfile}|{$errline}|{$errno}\n";
  70. }
  71. error_log($str, 3, LOG_PATH.$log_file . '.' . date('Ymd').'.log.txt'); // 3代表參考後面的檔名
  72. }
  73. public function pages()
  74. {
  75. $data['vip_no'] = $this->uri->segment(3); // vip no
  76. $data['mqtt_ip'] = '192.168.51.11';
  77. $this->load->view(APP_NAME.'/main_page', $data);
  78. }
  79. public function vip_welcome()
  80. {
  81. $this->load->view(APP_NAME.'/vip_welcome');
  82. }
  83. public function parked()
  84. {
  85. $this->load->view(APP_NAME.'/vip_welcome');
  86. }
  87. }