Commit bd1be431 authored by Steven Ayers's avatar Steven Ayers Committed by Steven Ayers
Browse files

Issue #3311288 by bluegeek9: Update #7130-problem

parent 900821c7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ function visitors_hit_details($visitors_id) {
        'title' => t('Whois lookup'),
      ),
    );
    $ip = inet_ntop($hit_details->visitors_ip);
    $ip = $hit_details->visitors_ip;
    $array = array(
      'URL'            => l($url, $url),
      'Title'          => check_plain($hit_details->visitors_title),
+3 −3
Original line number Diff line number Diff line
@@ -48,14 +48,14 @@ function visitors_host_hits($ip) {
    )
  );
  $query->fields('u', array('name', 'uid'));
  $query->condition('v.visitors_ip', inet_pton($ip), '=');
  $query->condition('v.visitors_ip', $ip, '=');
  visitors_date_filter_sql_condition($query);
  $query->orderByHeader($header);
  $query->limit($items_per_page);

  $count_query = db_select('visitors', 'v');
  $count_query->addExpression('COUNT(*)');
  $count_query->condition('visitors_ip', inet_pton($ip));
  $count_query->condition('visitors_ip', $ip);
  visitors_date_filter_sql_condition($count_query);
  $query->setCountQuery($count_query);
  $results = $query->execute();
@@ -145,7 +145,7 @@ function visitors_hosts() {
  );

  foreach ($results as $data) {
    $ip = inet_ntop($data->visitors_ip);
    $ip = $data->visitors_ip;
    $i += 1;

    $rows[] = array(
+7 −16
Original line number Diff line number Diff line
@@ -18,19 +18,6 @@ function visitors_is_ip_valid($ip) {
  return (inet_pton($ip) != FALSE);
}

/**
 * Converts a string.
 *
 * Containing an visitors (IPv4) Internet Protocol dotted
 * address into a proper address.
 *
 * @return string
 *   string
 */
function visitors_get_ip_str() {
  return ip_address();
}

/**
 * Get full path request uri.
 *
@@ -132,6 +119,12 @@ function visitors_get_geoip_data($ip) {
 * Implements hook_exit().
 */
function visitors_exit($destination = NULL) {

  $ip_str = ip_address();
  if (!visitors_is_ip_valid($ip_str)) {
    return NULL;
  }

  drupal_load('module', 'user');

  global $user;
@@ -185,11 +178,9 @@ function visitors_exit($destination = NULL) {
    }
  }

  $ip_str = visitors_get_ip_str();

  $fields = array(
    'visitors_uid'            => $user->uid,
    'visitors_ip'             => inet_pton($ip_str),
    'visitors_ip'             => $ip_str,
    'visitors_date_time'      => time(),
    'visitors_url'            => visitors_get_url(),
    'visitors_referer'        => visitors_get_referer(),
+32 −19
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ function visitors_schema() {
      ),
      'visitors_ip' => array(
        'type' => 'varchar',
        'length' => 32,
        'length' => 45,
        'not null' => TRUE,
        'default' => '',
      ),
@@ -123,9 +123,18 @@ function visitors_update_7110() {
}

/**
 * Support IPv6.
 * Expands IP address column.
 */
function visitors_update_7130(&$sandbox) {
function visitors_update_7131(&$sandbox) {
  db_change_field('visitors', 'visitors_ip', 'visitors_ip',
    array('type' => 'varchar', 'length' => 45)
  );
}

/**
 * Supports IPv6.
 */
function visitors_update_7140(&$sandbox) {
  if (!isset($sandbox['progress'])) {
    $sandbox['progress'] = 0;
    $sandbox['last_id'] = 0;
@@ -144,10 +153,16 @@ function visitors_update_7130(&$sandbox) {
    ->execute();

  foreach ($logs as $log) {
    $ip_address = $log->visitors_ip;
    if (!visitors_is_ip_valid($ip_address)) {
      $ip_address = long2ip($log->visitors_ip);
    $packed = inet_pton($ip_address);

    if ($packed != FALSE) {
    }
    elseif (!$ip_address) {
      $ip_address = inet_ntop($log->visitors_ip);
    }
    elseif (!$ip_address) {
      $ip_address = '0.0.0.0';
    }

    try {
      db_update('visitors')
@@ -161,8 +176,6 @@ function visitors_update_7130(&$sandbox) {
      watchdog_exception('visitors', $e);
    }

    }

    $sandbox['progress'] += 1;
    $sandbox['last_id'] = $log->visitors_id;
  }