Skip to content

Map location is not working #507

@Amar69

Description

@Amar69

I am not getting my Click Location in map and rest is working like a charm.

I am using php-fpm-7.0, Cloudlfare and Nginx web server. As I found out that Nginx hides native origin source IP. So I followed below links:

https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-restore-original-visitor-IP-with-Nginx-)

https://github.com/cydrobolt/polr/issues/491

I have modified /app/Helpers/ClickHelper.php file as suggested by above links

`<?php
namespace App\Helpers;
use App\Models\Click;
use App\Models\Link;
use Illuminate\Http\Request;

class` ClickHelper {
static private function getCountry($ip) {
$country_iso = geoip()->getLocation($ip)->iso_code;
return $country_iso;
}

static private function getHost($url) {
    // Return host given URL; NULL if host is
    // not found.
    return parse_url($url, PHP_URL_HOST);
}

static public function recordClick(Link $link, Request $request) {
    /**
     * Given a Link model instance and Request object, process post click operations.
     * @param Link model instance $link
     * @return boolean
     */

    $ip = $request->server('HTTP_X_FORWARDED_FOR');
    $referer = $request->server('HTTP_REFERER');

    $click = new Click;
    $click->link_id = $link->id;
    $click->ip = $ip;
    $click->country = self::getCountry($ip);
    $click->referer = $referer;
    $click->referer_host = ClickHelper::getHost($referer);
    $click->user_agent = $request->server('HTTP_USER_AGENT');
    $click->save();

    return true;
}

}`

please help me to resolve this issue. Thanks:)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions