Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/job-board.corals.io/Corals/modules/Shortener/Services/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/job-board.corals.io/Corals/modules/Shortener/Services/ImpressionService.php
<?php

namespace Corals\Modules\Shortener\Services;


use Corals\Foundation\Services\BaseServiceClass;
use Corals\Modules\Shortener\Models\Link;
use Illuminate\Http\Request;
use Jenssegers\Agent\Agent;

class ImpressionService extends BaseServiceClass
{
    /**
     * @param Request $request
     * @param $codeLink
     * @return \Illuminate\Http\RedirectResponse
     */
    public function click(Request $request, $codeLink)
    {
        $link = Link::findByCode($codeLink);

        $link->impressions()->create($this->getAgentDetails($request));

        if ($link->show_splash_page) {
            return redirect(url('s/' . $codeLink));
        }

        return redirect()->to($link->full_url);
    }

    /**
     * @param $request
     * @return array
     */
    protected function getAgentDetails($request): array
    {
        $details = [
            'ip_address' => $request->getClientIp(),
            'referer' => $request->headers->get('referer'),
        ];

        return rescue(function () use ($details) {
            $agent = new Agent();

            $details['browser'] = $agent->browser();
            $details['browser_version'] = $agent->version($details['browser']);
            $details['is_phone'] = $agent->isPhone();
            $details['is_tablet'] = $agent->isTablet();
            $details['is_desktop'] = $agent->isDesktop();
            $details['is_robot'] = $agent->isRobot();
            $details['robot'] = $agent->robot();
            $details['device'] = $agent->device();
            $details['platform'] = $agent->platform();
            $details['platform_version'] = $agent->version($details['platform']);
            $details['languages'] = $agent->languages();

            return $details;
        }, function () use ($details) {
            return $details;
        });
    }
}

Spamworldpro Mini