count.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. defined('IN_PHPCMS') or exit('No permission resources.');
  3. /**
  4. * 点击统计
  5. */
  6. $db = '';
  7. $db = pc_base::load_model('hits_model');
  8. if($_GET['modelid'] && $_GET['id']) {
  9. $model_arr = array();
  10. $model_arr = getcache('model','commons');
  11. $modelid = intval($_GET['modelid']);
  12. $hitsid = 'c-'.$modelid.'-'.intval($_GET['id']);
  13. $r = get_count($hitsid);
  14. if(!$r) exit;
  15. extract($r);
  16. hits($hitsid);
  17. echo "\$('#todaydowns').html('$dayviews');";
  18. echo "\$('#weekdowns').html('$weekviews');";
  19. echo "\$('#monthdowns').html('$monthviews');";
  20. } elseif($_GET['module'] && $_GET['id']) {
  21. $module = $_GET['module'];
  22. if((preg_match('/([^a-z0-9_\-]+)/i',$module))) exit('1');
  23. $hitsid = $module.'-'.intval($_GET['id']);
  24. $r = get_count($hitsid);
  25. if(!$r) exit;
  26. extract($r);
  27. hits($hitsid);
  28. }
  29. /**
  30. * 获取点击数量
  31. * @param $hitsid
  32. */
  33. function get_count($hitsid) {
  34. global $db;
  35. $r = $db->get_one(array('hitsid'=>$hitsid));
  36. if(!$r) return false;
  37. return $r;
  38. }
  39. /**
  40. * 点击次数统计
  41. * @param $contentid
  42. */
  43. function hits($hitsid) {
  44. global $db;
  45. $r = $db->get_one(array('hitsid'=>$hitsid));
  46. if(!$r) return false;
  47. $views = $r['views'] + 1;
  48. $yesterdayviews = (date('Ymd', $r['updatetime']) == date('Ymd', strtotime('-1 day'))) ? $r['dayviews'] : $r['yesterdayviews'];
  49. $dayviews = (date('Ymd', $r['updatetime']) == date('Ymd', SYS_TIME)) ? ($r['dayviews'] + 1) : 1;
  50. $weekviews = (date('YW', $r['updatetime']) == date('YW', SYS_TIME)) ? ($r['weekviews'] + 1) : 1;
  51. $monthviews = (date('Ym', $r['updatetime']) == date('Ym', SYS_TIME)) ? ($r['monthviews'] + 1) : 1;
  52. $sql = array('views'=>$views,'yesterdayviews'=>$yesterdayviews,'dayviews'=>$dayviews,'weekviews'=>$weekviews,'monthviews'=>$monthviews,'updatetime'=>SYS_TIME);
  53. return $db->update($sql, array('hitsid'=>$hitsid));
  54. }
  55. ?>
  56. $('#hits').html('<?php echo $views?>');