This CodeLet let you allow a download file and track of that file.
CodeLet
<?php/** * Implements hook_menu(). */function mymodule_menu() { $items['download-trial-version'] = array( 'title' => t('Download'), 'type' => MENU_CALLBACK, 'page callback' => 'download_and_track_trial_version', 'access callback' => true, ); $items['admin/download-track'] = array( 'title' => t('Downlod track'), 'type' => MENU_CALLBACK, 'page callback' => 'wccustom_track_trial_version_download', 'access arguments' => array('administer site configuration'), ); return $items;}function wccustom_track_trial_version_download(){ drupal_set_title(t('Trial version download track')); $query = db_select('wc_count_trial_version_download', 'd'); $query->fields('d', array('uid', 'date')); $result = $query->execute(); $header = array(t('Sr No'), t('User name'), t('E-mail'), t('Date')); $rows = array(); $i = 1; while($record = $result->fetchAssoc()) { $arr__user = _get_user_by_uid($record['uid']); $rows[$i]['srno'] = $i; $rows[$i]['username'] = $arr__user['name']; $rows[$i]['mail'] = $arr__user['mail']; $rows[$i]['date'] = date('d M, Y', $record['date']); $i++; } return theme('table', array('header' => $header, 'rows' => $rows));}function _get_user_by_uid($sn__uid = 0) { if($sn__uid == 0) { return 'Anonymous'; } $query = db_select('users', 'u'); $query->fields('u', array('name', 'mail')) ->condition('u.uid', $sn__uid, '='); $result = $query->execute(); $result = $result->fetchAssoc(); $return = array(); $return['name'] = !empty($result['name']) ? $result['name'] : 'Anonymous'; $return['mail'] = !empty($result['mail']) ? $result['mail'] : '-'; return $return;}/** * Implementation of list download * @author Saru1683 */function download_and_track_trial_version() { global $user; if(!$user->uid) { drupal_access_denied(); exit; } $options = array('uid' => $user->uid, 'date' => REQUEST_TIME); $query = db_insert('wc_count_trial_version_download')->fields($options)->execute(); drupal_goto('http://www.mysite.com/sites/default/files/downloadable_files/download.jpg'); exit;}?>
Install file details
<?php/*** @file** Create scheema for mymodule ** @author Saru1683*//*** Implemenation of hook_schema** @author Saru1683*/function mymodule_schema() {$schema['wc_count_trial_version_download'] = array('fields' => array('download_id' => array('type' => 'serial','lenght' => 11,),'uid' => array('type' => 'int','lenght' => 11,),'date' => array('type' => 'int','lenght' => 11,),),'primary key' => array('download_id'),);return $schema;}?>