MOON
Server: Apache
System: Linux 54-179-220-51.cprapid.com 3.10.0-1160.144.1.el7.tuxcare.els4.x86_64 #1 SMP Tue Apr 7 08:40:40 UTC 2026 x86_64
User: thehunarfound (1001)
PHP: 7.4.29
Disabled: NONE
Upload Files
File: /home/thehunarfound/public_html/DMS/app/Http/Controllers/DonationsController.php_18-feb-19
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Donations;
use App\Donors; 
use Carbon\Carbon;
use App\Country;
use App\Countrise;
use App\OptionList;
use DB;
use Session;
use App\User;
use App\Log;
use Illuminate\Routing\UrlGenerator;
use Illuminate\Support\Facades\Auth;
use Mail;

class DonationsController extends Controller
{
    /**
     * Display a listing of the resource.

     *
     * @return \Illuminate\Http\Response
     */

  

    
    public function addSingleDonation($id)
    { 
       $projectList=OptionList::getProjectList();
       $categoryList=OptionList::getCategoryList(); 
       $allocationList=OptionList::getAllocationList(); 
      
       $donors = Donors::find($id);
       if(empty($donors)){
        return redirect('donors')->with('error','Donor not found ');
       }

       //profile strength
       $profileStrength=0;
       $arrayDonor= $donors->toArray();
       $arrayDonor=array_values($arrayDonor);

       foreach ($arrayDonor as $key =>$value) {
            if( $key == 0 || $key == 18 || $key == 19 || $key == 22 || $key == 23 || $key == 24 || $key == 25){
                    continue;
            }
           if($value != ""){
            $profileStrength=$profileStrength+5.55;
           }
       }
        $profileStrength=round($profileStrength);
        $donors->profileStrength=$profileStrength;
       //end of profile strength

       $donors->path='http://dms.hunarfoundationpakistan.org:8012/DMS/storage/app/public/picture_url'.$donors->picture_url;
       $current = Carbon::now();

       return view('donations/add_single_donation')->with('projectList',$projectList)->with('categoryList',$categoryList)->with('allocationList',$allocationList)->with('id',$id)->with('current',$current)->with('donors',$donors);
            
    }

    public function submitDonation(Request $request)
    {
      
      // Mail::send('mail', $data, function($message) {
      //    $message->to('bilalahmed78600@gmail.com', 'test')->subject
      //       ('bilalahmed78600@gmail.com');
      //    $message->from('bilalahmed78600@gmail.com','THF');
      //    });
      // $donor_detail = Donors::find($request->input('donor_id'));
      // dd($donor_detail);
      //  $message = urlencode("Your order is in process for delivery. It will be delivered in our standard delivery timings b/w 11 AM to 7 PM and you’ll receive a delivery confirmation email.");
      // //$url= "http://sms.its.com.pk/api/?username=hunar&password=Hun@r@147&receiver=".$customerNumber."&msgdata=".$message;
      //  $url= "http://sms.its.com.pk/api/?username=hunar&password=Hun@r@147&receiver=923455666805&msgdata=".$message;
      //  $ch = curl_init();

      //   curl_setopt($ch, CURLOPT_HEADER, 0);
      //   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      //   curl_setopt($ch, CURLOPT_URL, $url);

      //   $data = curl_exec($ch);
      //   curl_close($ch);
      //   dd($data);
        //dd($donor_detail->email);
    
        $this->validate($request, [   
        
        'donor_id'=>'required',
        'currency'=>'required',
        'donation_amount'=>'required',
        'actual_amt'=> 'nullable',
        'mode'=> 'required',
        'receipt_name'=> 'nullable',
        'donation_date'=>'required',
        'project'=>'nullable',
        'category'=>'required',
        'allocation'=>'nullable',
       ]);
   
        $donation = new Donations();
        $donation->donor_id = $request->input('donor_id');
        $donation->currency = $request->input('currency');
        $donation->donation_amount = $request->input('donation_amount');
        $donation->exchange =$request->input('exchange');
        $donation->ecurrency = $request->input('ecurrency');
        $donation->tax = $request->input('tax');
        if($donation->tax == "" || $donation->tax == null){
        $donation->actual_amt = $request->input('donation_amount');
        }else{
          $donation->actual_amt =$request->input('actual_amt');
        }
        
        $donation->bank = $request->input('bank');
        $donation->mode = $request->input('mode');
        $donation->cheque_num = $request->input('cheque_num');
        $donation->receipt_name =$request->input('receipt_name');
        $donation->donation_date = $request->input('donation_date');
        $donation->project =$request->input('project');
        $donation->category = $request->input('category');
        $donation->allocation = $request->input('allocation');
        $donation->description = $request->input('description');
        $donation->purpose = $request->input('purpose');
        $donation->ins_date = $request->input('ins_date');
        $donation->user_id = auth()->User()->id;
        
        $count =Donations::count('receipt_no');
        // dd($count);
        $count = sprintf('%04d',$count);

       if($donation->category == 5){
         $receipt_no="DN-".date("y")."-".date('m')."-".$count; 
        
        }else if($donation->category == 15){
         $receipt_no="SN-".date("y")."-".date('m')."-".$count;
        }
       else{
         $receipt_no="ZK-".date("y")."-".date('m')."-".$count;
        }

        $donation->receipt_no  = $receipt_no;

      if(Auth::user()->role_id  == 2 && Auth::user()->department_id == 3 ){
          $donation->finance_status= 1;
      }
      
      if(Auth::user()->role_id  == 2 && Auth::user()->department_id == 2){
          $donation->rmd_status= 1;
        }
       // dd($donation); 
  
        // $donation->receipt_no = "";

        $donation->save(); //saves data
         $log = Log::create(['name'=>auth()->User()->name,'role'=>auth()->User()->role_id,'ddr_id'=>'Donation-ID'.' = '.$donation->id,'details'=>'Donoation  Form Submitted']);
        
        // $donation->receipt_no  = $receipt_no.$donation->id;
        $donation->save();
        $donor_detail = Donors::find($request->input('donor_id'));
        
        $msg = "Thank you for supporting The Hunar Foundation’s cause towards building a SKILLED Pakistan. We are grateful for your valuable contribution. For more information about your donation please call 0320-2440621";
        $msg = wordwrap($msg,70);

      // send email
        // mail('bilal.ahmed@hunarfoundation.org',"THF Donation",$msg);
        if($donor_detail->email != ""){
          mail($donor_detail->email,"THF Donation",$msg);
        }
       
      //send sms
      $msg = urlencode($msg);
      if($donor_detail->mobile_no != ""){
          $res = preg_replace("/[^0-9]/", "",$donor_detail->mobile_no);
         $url= "http://sms.its.com.pk/api/?username=hunar&password=Hun@r@147&receiver=".$donor_detail->mobile_no."&msgdata=".$msg;
         
         $ch = curl_init();

          curl_setopt($ch, CURLOPT_HEADER, 0);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($ch, CURLOPT_URL, $url);

          $data = curl_exec($ch);
          curl_close($ch);
          //dd($url);
      }
      
        //dd($data);
        //end of sms
      //   $data=array('name' => 'test1');
        return redirect('donations-list')->with('success',' Donation information successfully added. ');
    }

    public function getDonation(Request $request)
    {
      // dd($request->id);
        $donation = Donations::getDonationDetails($request->id);
        if($donation == ""){
            return 0;
        }
    
        $donation->path='http://dms.hunarfoundationpakistan.org:8012/DMS/storage/app/public/picture_url';
        return $donation;
    }


    public function donationEdit($id)
    { 
     
       $projectList=OptionList::getProjectList();
       $categoryList=OptionList::getCategoryList(); 
       $allocationList=OptionList::getAllocationList(); 
       $donations = Donations::getDonationDetails($id);
        

       if(empty($donations)){
        return redirect('donations-list')->with('error','Donation not found ');
       }

      $donations->path='http://dms.hunarfoundationpakistan.org:8012/DMS/storage/app/public/picture_url/'.$donations->picture_url;
      $user = DB::table('users')->where('id', $donations->user_id)->first();
      $current = Carbon::now();
    // dd($user);
       // dd($donations);
      return view('donations/editdonation')->with('projectList',$projectList)->with('categoryList',$categoryList)->with('allocationList',$allocationList)->with('id',$id)->with('current',$current)->with('donation',$donations)->with('user',$user);
   }
    
    public function updateDonation(Request $request)
    {

        $this->validate($request, [   
        'donation_id'=>'required',
        'currency'=>'required',
        'donation_amount'=>'',
        'actual_amt'=>'required',
        'donation_date'=> 'required',
     ]);
       
        $donation = Donations::find($request->input('donation_id'));
        $donation->currency = $request->input('currency');
        $donation->donation_amount = $request->input('donation_amount');
        $donation->exchange = $request->input('exchange');
        $donation->ecurrency = $request->input('ecurrency');
        $donation->tax = $request->input('tax');
        $donation->actual_amt =$request->input('actual_amt');
        $donation->bank = $request->input('bank');
        $donation->mode =$request->input('mode');
        $donation->cheque_num = $request->input('cheque_num');
        $donation->receipt_name = $request->input('receipt_name');
        $donation->donation_date = $request->input('donation_date');
        $donation->project =$request->input('project');
        $donation->category = $request->input('category');
        $donation->allocation =$request->input('allocation');
        $donation->description = $request->input('description');
        $donation->purpose = $request->input('purpose');
        $donation->ins_date =$request->input('ins_date');
      
        $donation->save(); 
        return redirect('donations-list')->with('success',' Donation information has been successfully Updated. ');
     }    
}