HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ubuntu-8gb-hel1-1 6.8.0-55-generic #57-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 12 23:42:21 UTC 2025 x86_64
User: www-data (33)
PHP: 8.1.32
Disabled: NONE
Upload Files
File: /var/www/agighana.org_backup/MemberController.php
<?php

namespace App\Http\Controllers;

use Exception;
use Illuminate\Http\Request;
use PHPMailer\PHPMailer\SMTP;
use App\Models\MemberRegistration;
use PHPMailer\PHPMailer\PHPMailer;
use Illuminate\Support\Facades\Log;

class MemberController extends Controller
{
    public function become_a_member()
    {

        return view('member.register');
    }

    public function register_user(Request $req)
    {

        try {
            $memberReg = new MemberRegistration();
            $memberReg->company_name = $req->company_name;
            $memberReg->addr = $req->addr;
            $memberReg->city = $req->city;
            $memberReg->region = $req->region;
            $memberReg->comp_phone = $req->comp_phone;
            $memberReg->comp_email = $req->comp_email;
            $memberReg->comp_web = $req->comp_web;
            $memberReg->factory_loc = $req->factory_loc;
            $memberReg->digital_add = $req->digital_add;
            $memberReg->comp_cert = $req->comp_cert;
            $memberReg->ceo_title = $req->ceo_title;
            $memberReg->ceo_fname = $req->ceo_fname;
            $memberReg->ceo_lname = $req->ceo_lname;
            $memberReg->ceo_position = $req->ceo_position;
            $memberReg->ceo_direct_tel_phone = $req->ceo_direct_tel_phone;
            $memberReg->ceo_mobile = $req->ceo_mobile;
            $memberReg->ceo_email = $req->ceo_email;
            $memberReg->ceo_personal_profile = $req->ceo_personal_profile;
            $memberReg->contact_person_title = $req->contact_person_title;
            $memberReg->contact_person_fname = $req->contact_person_fname;
            $memberReg->contact_person_lname = $req->contact_person_lname;
            $memberReg->contact_person_position = $req->contact_person_position;
            $memberReg->contact_person_direct_tele_phone = $req->contact_person_direct_tele_phone;
            $memberReg->contact_person_mobile = $req->contact_person_mobile;
            $memberReg->contact_person_email = $req->contact_person_email;
            $memberReg->ownership_type = $req->ownership_type;
            $memberReg->ownership_status = $req->ownership_status;
            $memberReg->gh_private = $req->gh_private;
            $memberReg->gh_state = $req->gh_state;
            $memberReg->foreign_private = $req->foreign_private;
            $memberReg->operation_date = $req->operation_date;
            $memberReg->no_of_employee = $req->no_of_employee;
            $memberReg->turnover = $req->turnover;
            $memberReg->company_profile = $req->company_profile;
            $memberReg->exported_over_last_two = $req->exported_over_last_two;
            $memberReg->yes_for_exported_last_two = $req->yes_for_exported_last_two;
            $memberReg->main_export_market = $req->main_export_market;
            $memberReg->other_markets = $req->other_markets;
            $memberReg->intrested_in_agi_fair = $req->intrested_in_agi_fair;
            $memberReg->company_inports_about = $req->company_inports_about;
            $memberReg->already_member_of = $req->already_member_of;
            $memberReg->already_member_of_other = $req->already_member_of_other;
            $memberReg->sector_activity = $req->sector_activity;
            $memberReg->sector_activity_other = $req->sector_activity_other;
            $memberReg->other_industry = $req->other_industry;
            $memberReg->other_industry_other = $req->other_industry_other;
            $memberReg->main_area_business = $req->main_area_business;
            $memberReg->agree_policy = $req->agree_policy;
            $memberReg->agi_member_id = MemberRegistration::generateCaseID();

            $memberReg->save();

            //Create an instance; passing `true` enables exceptions
            $mail = new PHPMailer(true);

                //Server settings
                $mail->SMTPDebug = 0;                      //Enable verbose debug output
                $mail->isSMTP();                                            //Send using SMTP
                $mail->Host       = 'mail.pacificdiagnosticscrm.com';                     //Set the SMTP server to send through
                $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
                $mail->Username   = 'no-reply@pacificdiagnosticscrm.com';                     //SMTP username
                $mail->Password   = '4KjV3s]d$iy-';                               //SMTP password
                $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
                $mail->SMTPSecure = 'tls';
                $mail->Port = 587;                             //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

                //Recipients
                $mail->setFrom('no-reply@pacificdiagnosticscrm.com', 'AGI');
                $mail->addAddress($req->comp_email);     //Add a recipient

                //Content
                $mail->isHTML(true);                                  //Set email format to HTML
                $mail->Subject = 'Complete Registration Process';

                $mail->Body    = 'Use the link to complete registration <a href=' . env('APP_URL_LOCAL') . $memberReg->agi_member_id . '>' .env('APP_URL_LOCAL') . $memberReg->agi_member_id . '</a>';


                
                $mail->send();
                // if(){
                    
                // }

                return response()->json([
                    'value' => 1,
                    'msg' => 'Member Registered',
                    'member_id' => $memberReg->agi_member_id,
                ]);

            
        } catch (\Exception $e) {
            Log::channel('custom')->error($e->getMessage());
        }
    }


    public function mail_sent(){

        return view('member.mail_sent');
    }


    public function approved_members(){
        $member = MemberRegistration::where('status', 'Approved')->get();

        return view('member.approved_members', compact('member'));
    }


    public function pending_members(){
        $member = MemberRegistration::where('status', 'Pending')->get();

        return view('member.pending_members', compact('member'));
    }

    public function approve_member(Request $req){
        $member = MemberRegistration::where('agi_member_id', $req->member_id)->first();

        try {
            $member->status = 'Approved';
            $member->save();

            return response()->json([
                'value' => 1,
                'msg' => 'Member Approved',
                'member_id' => $member->agi_member_id,
            ]);
        } catch (\Exception $e) {
            Log::channel('custom')->error($e->getMessage());
        }
    }


}