PageRenderTime 46ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/NukeViet3.2/includes/cronjobs/error_log_destroy.php

http://nuke-viet.googlecode.com/
PHP | 107 lines | 88 code | 13 blank | 6 comment | 23 complexity | 5aa592c5c0033bd46c9d22e61b237d8f MD5 | raw file
Possible License(s): BSD-3-Clause, LGPL-2.1, GPL-2.0
  1. <?php
  2. /**
  3. * @Project NUKEVIET 3.0
  4. * @Author VINADES.,JSC (contact@vinades.vn)
  5. * @Copyright (C) 2010 VINADES., JSC. All rights reserved
  6. * @Createdate 4/11/2010 20:40
  7. */
  8. if (!defined('NV_MAINFILE'))
  9. die('Stop!!!');
  10. if (!defined('NV_IS_CRON'))
  11. die('Stop!!!');
  12. function cron_auto_del_error_log()
  13. {
  14. $result = true;
  15. $day_mktime = mktime(0, 0, 0, date("n", NV_CURRENTTIME), date("j", NV_CURRENTTIME), date("Y", NV_CURRENTTIME));
  16. $month = date("m-Y", NV_CURRENTTIME);
  17. $error_log_fileext = preg_match("/[a-z]+/i", NV_LOGS_EXT) ? NV_LOGS_EXT : 'log';
  18. $error_log_filename = preg_match("/[a-z0-9\_]+/i", NV_ERRORLOGS_FILENAME) ? NV_ERRORLOGS_FILENAME : 'error_log';
  19. $dir = NV_ROOTDIR . '/' . NV_LOGS_DIR . '/error_logs/old';
  20. if ($dh = opendir($dir))
  21. {
  22. while (($file = readdir($dh)) !== false)
  23. {
  24. if (preg_match("/^([0-9]{2})\-([0-9]{2})-([0-9]{4})\_(" . $error_log_filename . ")\.(" . $error_log_fileext . ")$/", $file, $m))
  25. {
  26. $old_day_mktime = mktime(0, 0, 0, $m[2], $m[1], $m[3]);
  27. if ($old_day_mktime + 864000 < $day_mktime)
  28. {
  29. if (!@unlink($dir . '/' . $file))
  30. {
  31. $result = false;
  32. }
  33. }
  34. }
  35. }
  36. closedir($dh);
  37. }
  38. $dir = NV_ROOTDIR . '/' . NV_LOGS_DIR . '/error_logs';
  39. if ($dh = opendir($dir))
  40. {
  41. while (($file = readdir($dh)) !== false)
  42. {
  43. if (preg_match("/^([0-9]{2})\-([0-9]{2})-([0-9]{4})\_(" . $error_log_filename . ")\.(" . $error_log_fileext . ")$/", $file, $m))
  44. {
  45. $old_day_mktime = mktime(0, 0, 0, $m[2], $m[1], $m[3]);
  46. if ($old_day_mktime != $day_mktime)
  47. {
  48. @rename($dir . '/' . $file, $dir . '/old/' . $file);
  49. }
  50. }
  51. }
  52. closedir($dh);
  53. }
  54. $dir = NV_ROOTDIR . '/' . NV_LOGS_DIR . '/error_logs/tmp';
  55. if ($dh = opendir($dir))
  56. {
  57. while (($file = readdir($dh)) !== false)
  58. {
  59. if (preg_match("/^([0-9]{2})\-([0-9]{2})-([0-9]{4})\_([a-zA-Z0-9]{32})\.(" . $error_log_fileext . ")$/", $file, $m))
  60. {
  61. $old_day_mktime = mktime(0, 0, 0, $m[2], $m[1], $m[3]);
  62. if ($old_day_mktime < $day_mktime)
  63. {
  64. if (!@unlink($dir . '/' . $file))
  65. {
  66. $result = false;
  67. }
  68. }
  69. }
  70. }
  71. closedir($dh);
  72. }
  73. $dir = NV_ROOTDIR . '/' . NV_LOGS_DIR . '/error_logs/errors256';
  74. if ($dh = opendir($dir))
  75. {
  76. while (($file = readdir($dh)) !== false)
  77. {
  78. if (preg_match("/^([0-9]{2}\-[0-9]{4})\_\_([a-zA-Z0-9]{32})\_\_([a-zA-Z0-9]{32})\.(" . $error_log_fileext . ")$/", $file, $mc))
  79. {
  80. if ($m[1] != $month)
  81. {
  82. if (!@unlink($dir . '/' . $file))
  83. {
  84. $result = false;
  85. }
  86. }
  87. }
  88. }
  89. closedir($dh);
  90. }
  91. clearstatcache();
  92. return $result;
  93. }
  94. ?>