public function postNewReferrals()
 {
     if (Input::has('emails')) {
         $emails = explode(',', Input::get('emails'));
         foreach ($emails as $email) {
             $referral = UserReferral::where('referral_id', Auth::user()->id)->where('email', $email)->first();
             if (sizeof($referral) > 0) {
                 //Send email if tries less than 3 else skip
                 if ($referral->tries < 5) {
                     $referral->tries = $referral->tries + 1;
                     $referral->save();
                 } else {
                     continue;
                 }
             } else {
                 $user_referral = new UserReferral();
                 $user_referral->user_id = 0;
                 $user_referral->referral_id = Auth::user()->id;
                 $user_referral->email = $email;
                 $user_referral->tries = 1;
                 $user_referral->save();
             }
         }
         Session::flash('success_msg', 'Referral email sent successfully');
         return Redirect::back();
     } else {
         Session::flash('error_msg', 'Please enter emails to sent referral email');
         return Redirect::back();
     }
 }
예제 #2
0
 public function getUpChain($user_id)
 {
     //Find if any one referred this user if yes always will be only 1
     $user = UserReferral::where('user_id', $user_id)->first();
     if (!empty($user)) {
         array_push($this->chain, $user->user_id);
         $this->depth++;
         //User have a referral .
         if ($user->referral_id > 0) {
             $this->getUpChain($user->referral_id);
         }
     } else {
         //this was first user who started referral system
         array_push($this->chain, $user_id);
         array_splice($this->chain, 0, 1);
         return;
     }
 }