PageRenderTime 28ms CodeModel.GetById 0ms RepoModel.GetById 1ms app.codeStats 0ms

/01.Source/01.CORE/includes/core/stat.php

http://creative-portal.googlecode.com/
PHP | 59 lines | 45 code | 8 blank | 6 comment | 5 complexity | f2007fb489ae38e04c4eaafc51326f22 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. /**
  3. * @Project NUKEVIET 3.0
  4. * @Author VINADES.,JSC (contact@vinades.vn)
  5. * @copyright 2009
  6. * @createdate 12/29/2009 20:7
  7. */
  8. if ( ! defined( 'NV_MAINFILE' ) ) die( 'Stop!!!' );
  9. function nv_stat_update ( )
  10. {
  11. global $db, $client_info;
  12. list( $last_update ) = $db->sql_fetchrow( $db->sql_query( "SELECT `c_count` FROM `" . NV_COUNTER_TABLE . "` WHERE `c_type` = 'c_time' AND `c_val`= 'last'" ) );
  13. $last_year = date( "Y", $last_update );
  14. $last_month = date( "M", $last_update );
  15. $last_day = date( "d", $last_update );
  16. if ( $last_year != NV_CURRENTYEAR_FNUM )
  17. {
  18. $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= 0 WHERE (`c_type`='month' OR `c_type`='day' OR `c_type`='hour')";
  19. $db->sql_query( $query );
  20. }
  21. elseif ( $last_month != NV_CURRENTMONTH_STXT )
  22. {
  23. $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= 0 WHERE (`c_type`='day' OR `c_type`='hour')";
  24. $db->sql_query( $query );
  25. }
  26. elseif ( $last_day != NV_CURRENTDAY_2NUM )
  27. {
  28. $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= 0 WHERE `c_type`='hour'";
  29. $db->sql_query( $query );
  30. }
  31. $bot_name = ( $client_info['is_bot'] and ! empty( $client_info['bot_info']['name'] ) ) ? $client_info['bot_info']['name'] : "Not_bot";
  32. $browser = ( $client_info['is_mobile'] ) ? "Mobile" : $client_info['browser']['key'];
  33. $country = nv_getCountry_from_file( $client_info['ip'] );
  34. $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= c_count + 1, `last_update`=" . NV_CURRENTTIME . " WHERE
  35. (`c_type`='total' AND `c_val`='hits') OR
  36. (`c_type`='year' AND `c_val`='" . NV_CURRENTYEAR_FNUM . "') OR
  37. (`c_type`='month' AND `c_val`='" . NV_CURRENTMONTH_STXT . "') OR
  38. (`c_type`='day' AND `c_val`='" . NV_CURRENTDAY_2NUM . "') OR
  39. (`c_type`='dayofweek' AND `c_val`='" . date( 'l', NV_CURRENTTIME ) . "') OR
  40. (`c_type`='hour' AND `c_val`='" . NV_CURRENT24HOUR_2NUM . "') OR
  41. (`c_type`='bot' AND `c_val`=" . $db->dbescape( $bot_name ) . ") OR
  42. (`c_type`='browser' AND `c_val`=" . $db->dbescape( $browser ) . ") OR
  43. (`c_type`='os' AND `c_val`=" . $db->dbescape( $client_info['client_os']['key'] ) . ") OR
  44. (`c_type`='country' AND `c_val`=" . $db->dbescape( $country[0] ) . ")";
  45. $db->sql_query( $query );
  46. $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= " . NV_CURRENTTIME . " WHERE `c_type`='c_time' AND `c_val`= 'last'";
  47. $db->sql_query( $query );
  48. }
  49. nv_stat_update();
  50. $nv_Request->set_Session( 'statistic_' . NV_LANG_DATA, NV_CURRENTTIME );
  51. ?>