misc.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: misc.php 34264 2013-11-27 03:14:58Z nemohou $
  7. */
  8. if(isset($_GET['css'])) {
  9. $css = explode('|', $_GET['css']);
  10. $string = '';
  11. $size = 0;
  12. foreach($css as $file) {
  13. if(preg_match('/^\w+$/', $file)) {
  14. $file = './data/cache/style_'.$file.'.css';
  15. $string .= @implode('', file($file));
  16. }
  17. }
  18. ob_start('ob_gzhandler');
  19. header('Content-Type: text/css');
  20. header('Expires: '.gmdate('D, d M Y H:i:s', time() + 2592000).' GMT');
  21. header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT');
  22. echo $string;
  23. exit;
  24. }
  25. if(isset($_GET['js'])) {
  26. $js = explode('|', $_GET['js']);
  27. $string = '';
  28. $size = 0;
  29. foreach($js as $file) {
  30. $file = substr($file, 0, strpos($file, '.'));
  31. if(preg_match('/^\w+$/', $file)) {
  32. $file = './data/cache/'.$file.'.js';
  33. $string .= @implode('', file($file));
  34. }
  35. }
  36. ob_start('ob_gzhandler');
  37. header('Content-Type: text/javascript');
  38. header('Expires: '.gmdate('D, d M Y H:i:s', time() + 2592000).' GMT');
  39. header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT');
  40. echo $string;
  41. exit;
  42. }
  43. define('APPTYPEID', 100);
  44. define('CURSCRIPT', 'misc');
  45. require './source/class/class_core.php';
  46. $discuz = C::app();
  47. $discuz->reject_robot();
  48. $modarray = array('seccode', 'secqaa', 'initsys', 'invite', 'faq', 'report',
  49. 'swfupload', 'manyou', 'stat', 'ranklist', 'buyinvitecode',
  50. 'tag', 'diyhelp', 'mobile', 'patch', 'getatuser', 'imgcropper',
  51. 'userstatus', 'signin');
  52. $modcachelist = array(
  53. 'ranklist' => array('forums', 'diytemplatename'),
  54. );
  55. $mod = getgpc('mod');
  56. $mod = (empty($mod) || !in_array($mod, $modarray)) ? 'error' : $mod;
  57. if(in_array($mod, array('seccode', 'secqaa', 'initsys', 'faq', 'swfupload', 'mobile'))) {
  58. define('ALLOWGUEST', 1);
  59. }
  60. $cachelist = array();
  61. if(isset($modcachelist[$mod])) {
  62. $cachelist = $modcachelist[$mod];
  63. }
  64. $discuz->cachelist = $cachelist;
  65. switch ($mod) {
  66. case 'secqaa':
  67. case 'manyou':
  68. case 'userstatus':
  69. case 'seccode':
  70. $discuz->init_cron = false;
  71. $discuz->init_session = false;
  72. break;
  73. case 'updatecache':
  74. $discuz->init_cron = false;
  75. $discuz->init_session = false;
  76. default:
  77. break;
  78. }
  79. $discuz->init();
  80. define('CURMODULE', $mod);
  81. runhooks();
  82. require DISCUZ_ROOT.'./source/module/misc/misc_'.$mod.'.php';
  83. ?>