file.drv 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php if ( !defined('ENVIRONMENT') ) exit('Only STG can run script!');
  2. class Log {
  3. // Class'es vars:
  4. private $message = NULL;
  5. // Recived vars from `ubilling.cls`:
  6. private $config;
  7. // Constructor:
  8. public function __construct($data) {
  9. // Put all recived data to specified vars:
  10. foreach ($data as $key => $value) {
  11. $this->$key = $value;
  12. }
  13. }
  14. public function message($class, $string, $level = NULL) {
  15. $message = date('Y-m-d H:i:s') . ' - [' . $class. '] - ';
  16. switch ($level) {
  17. case 'api':
  18. if ( FALSE ) {
  19. $message .= 'MikroTik:';
  20. } else return TRUE;
  21. break;
  22. case 'error':
  23. $message .= 'Error:';
  24. break;
  25. case 'success':
  26. $message .= 'Success:';
  27. break;
  28. case 'debug':
  29. if ( $this->config['debug'] ) {
  30. $message .= 'Debug:';
  31. } else return TRUE;
  32. break;
  33. }
  34. $nbsp = ( empty($level) ) ? NULL : ' ';
  35. $this->message .= $message . $nbsp . $string . PHP_EOL;
  36. }
  37. public function write() {
  38. if ( $this->config['enabled'] ) {
  39. file_put_contents($this->config['path'] . '/' . $this->config['file'], $this->message, FILE_APPEND | LOCK_EX);
  40. } else return TRUE;
  41. }
  42. }
  43. ?>