Example #1
0
 /**
  * Create a new statistic item in the database.  Certain data is extracted from the web environment (REMOTE_ADDR and HTTP_REFERER)
  *
  * @static
  * @param int $file File ID
  * @return int Access statistic ID
  **/
 function create($file, $version)
 {
     global $wpdb;
     $user = wp_get_current_user();
     if ($user) {
         $user = $user->data->ID;
     } else {
         $user = 0;
     }
     if (isset($_SERVER['REMOTE_ADDR'])) {
         $ip = $_SERVER['REMOTE_ADDR'];
     } else {
         if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
             $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
         }
     }
     $ip = sprintf('%u', ip2long($ip));
     $referrer = DH_Access::get_referrer(wpdb::escape($_SERVER['HTTP_REFERER']));
     $wpdb->query("INSERT INTO {$wpdb->prefix}drainhole_access (file_id,created_at,ip,referrer,version_id,user_id) VALUES ({$file},NOW(),{$ip},'{$referrer}','{$version}','{$user}')");
     return $wpdb->insert_id;
 }