160 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
 * @file
 | 
						|
 * Install, update, and uninstall functions for the Statistics module.
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Implements hook_uninstall().
 | 
						|
 */
 | 
						|
function statistics_uninstall() {
 | 
						|
  // Remove variables.
 | 
						|
  variable_del('statistics_count_content_views');
 | 
						|
  variable_del('statistics_count_content_views_ajax');
 | 
						|
  variable_del('statistics_enable_access_log');
 | 
						|
  variable_del('statistics_flush_accesslog_timer');
 | 
						|
  variable_del('statistics_day_timestamp');
 | 
						|
  variable_del('statistics_block_top_day_num');
 | 
						|
  variable_del('statistics_block_top_all_num');
 | 
						|
  variable_del('statistics_block_top_last_num');
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Implements hook_schema().
 | 
						|
 */
 | 
						|
function statistics_schema() {
 | 
						|
  $schema['accesslog'] = array(
 | 
						|
    'description' => 'Stores site access information for statistics.',
 | 
						|
    'fields' => array(
 | 
						|
      'aid' => array(
 | 
						|
        'type' => 'serial',
 | 
						|
        'not null' => TRUE,
 | 
						|
        'description' => 'Primary Key: Unique accesslog ID.',
 | 
						|
      ),
 | 
						|
      'sid' => array(
 | 
						|
        'type' => 'varchar',
 | 
						|
        'length' => 128,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => '',
 | 
						|
        'description' => 'Browser session ID of user that visited page.',
 | 
						|
      ),
 | 
						|
      'title' => array(
 | 
						|
        'type' => 'varchar',
 | 
						|
        'length' => 255,
 | 
						|
        'not null' => FALSE,
 | 
						|
        'description' => 'Title of page visited.',
 | 
						|
      ),
 | 
						|
      'path' => array(
 | 
						|
        'type' => 'varchar',
 | 
						|
        'length' => 255,
 | 
						|
        'not null' => FALSE,
 | 
						|
        'description' => 'Internal path to page visited (relative to Drupal root.)',
 | 
						|
      ),
 | 
						|
      'url' => array(
 | 
						|
        'type' => 'text',
 | 
						|
        'not null' => FALSE,
 | 
						|
        'description' => 'Referrer URI.',
 | 
						|
      ),
 | 
						|
      'hostname' => array(
 | 
						|
        'type' => 'varchar',
 | 
						|
        'length' => 128,
 | 
						|
        'not null' => FALSE,
 | 
						|
        'description' => 'Hostname of user that visited the page.',
 | 
						|
      ),
 | 
						|
      'uid' => array(
 | 
						|
        'type' => 'int',
 | 
						|
        'unsigned' => TRUE,
 | 
						|
        'not null' => FALSE,
 | 
						|
        'default' => 0,
 | 
						|
        'description' => 'User {users}.uid that visited the page.',
 | 
						|
      ),
 | 
						|
      'timer' => array(
 | 
						|
        'type' => 'int',
 | 
						|
        'unsigned' => TRUE,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => 0,
 | 
						|
        'description' => 'Time in milliseconds that the page took to load.',
 | 
						|
      ),
 | 
						|
      'timestamp' => array(
 | 
						|
        'type' => 'int',
 | 
						|
        'unsigned' => TRUE,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => 0,
 | 
						|
        'description' => 'Timestamp of when the page was visited.',
 | 
						|
      ),
 | 
						|
    ),
 | 
						|
    'indexes' => array(
 | 
						|
      'accesslog_timestamp' => array('timestamp'),
 | 
						|
      'uid' => array('uid'),
 | 
						|
    ),
 | 
						|
    'primary key' => array('aid'),
 | 
						|
    'foreign keys' => array(
 | 
						|
      'visitor' => array(
 | 
						|
        'table' => 'users',
 | 
						|
        'columns' => array('uid' => 'uid'),
 | 
						|
      ),
 | 
						|
    ),
 | 
						|
  );
 | 
						|
 | 
						|
  $schema['node_counter'] = array(
 | 
						|
    'description' => 'Access statistics for {node}s.',
 | 
						|
    'fields' => array(
 | 
						|
      'nid' => array(
 | 
						|
        'description' => 'The {node}.nid for these statistics.',
 | 
						|
        'type' => 'int',
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => 0,
 | 
						|
      ),
 | 
						|
      'totalcount' => array(
 | 
						|
        'description' => 'The total number of times the {node} has been viewed.',
 | 
						|
        'type' => 'int',
 | 
						|
        'unsigned' => TRUE,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => 0,
 | 
						|
        'size' => 'big',
 | 
						|
      ),
 | 
						|
      'daycount' => array(
 | 
						|
        'description' => 'The total number of times the {node} has been viewed today.',
 | 
						|
        'type' => 'int',
 | 
						|
        'unsigned' => TRUE,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => 0,
 | 
						|
        'size' => 'medium',
 | 
						|
      ),
 | 
						|
      'timestamp' => array(
 | 
						|
        'description' => 'The most recent time the {node} has been viewed.',
 | 
						|
        'type' => 'int',
 | 
						|
        'unsigned' => TRUE,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => 0,
 | 
						|
      ),
 | 
						|
    ),
 | 
						|
    'primary key' => array('nid'),
 | 
						|
  );
 | 
						|
 | 
						|
  return $schema;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * @addtogroup updates-6.x-to-7.x
 | 
						|
 * @{
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Update the {accesslog}.sid column to match the length of {sessions}.sid
 | 
						|
 */
 | 
						|
function statistics_update_7000() {
 | 
						|
  db_change_field('accesslog', 'sid', 'sid', array(
 | 
						|
    'type' => 'varchar',
 | 
						|
    'length' => 128,
 | 
						|
    'not null' => TRUE,
 | 
						|
    'default' => '',
 | 
						|
    'description' => 'Browser session ID of user that visited page.',
 | 
						|
  ));
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * @} End of "addtogroup updates-6.x-to-7.x".
 | 
						|
 */
 |