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. ');
}
}