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/Referral/Hooks/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/job-board.corals.io/Corals/modules/Referral/Hooks/Referral.php
<?php

namespace Corals\Modules\Referral\Hooks;

use Corals\Modules\Referral\Middleware\ReferralMiddleware;
use Corals\Modules\Referral\Models\ReferralLink;


class Referral
{
    /**
     * Referral constructor.
     */
    function __construct()
    {
    }

    public function referrals_middleware($middleware)
    {
        $middleware[] = ReferralMiddleware::class;
        return $middleware;
    }

    public function check_registration_referral_programs($user)
    {

        if (request()->cookie('ref')) {
            $referralLink = ReferralLink::find(request()->cookie('ref'));
            if (empty($referralLink)) {
                return;
            }

            if ($referralLink->program->referral_action != "registration") {
                return;
            }
            $reward_points = $referralLink->program->options['rewards']['registration'];

            $referralLink->relationships()->create(['user_id' => $user->id, 'reward' => $reward_points]);
            $referralLink->user->reward_points += $reward_points;
            $referralLink->user->save();
        }
        return;
    }

    public function check_subscribed_referral_programs($subscription)
    {

        if (request()->cookie('ref')) {

            $link_id = request()->cookie('ref');

            $referralLink = ReferralLink::find($link_id);

            if (empty($referralLink)) {
                return;
            }

            if ($referralLink->program->referral_action != "subscription") {
                return;
            }

            $reward_points = $referralLink->program->options['rewards']['subscription']['plan_' . $subscription->plan->id];

            $referralLink->relationships()->create(['user_id' => $subscription->user->id, 'reward' => $reward_points]);
            $referralLink->user->reward_points += $reward_points;
            $referralLink->user->save();


        }
        return;
    }

    public function check_ecommerce_referral_programs($order)
    {

        if (request()->cookie('ref')) {

            $link_id = request()->cookie('ref');

            $referralLink = ReferralLink::find($link_id);

            if (empty($referralLink)) {
                return;
            }

            if ($referralLink->program->referral_action != "ecommerce") {
                return;
            }

            $reward_by = $referralLink->program->options['rewards']['ecommerce']['reward_per'];
            $reward_points = 0;
            if ($reward_by == "sale") {
                $reward_points = $referralLink->program->options['rewards']['ecommerce']['reward'];
            } else if ($reward_by == "order_amount") {
                $reward_points = (int)$order->amount * $referralLink->program->options['rewards']['ecommerce']['reward'];
            }
            $referralLink->relationships()->create(['user_id' => $order->user->id, 'reward' => $reward_points]);
            $referralLink->user->reward_points += $reward_points;
            $referralLink->user->save();


        }
        return;
    }


}


Spamworldpro Mini