diff --git a/app/Config/Routes.php b/app/Config/Routes.php index a422ed1..aafa66c 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -6,6 +6,8 @@ use CodeIgniter\Router\RouteCollection; * @var RouteCollection $routes */ + $routes->post('/check_mail_config','BusinessController::check_mail_config'); + $routes->get('/set_business_in_session/(:num)','StaffController::set_business_in_session/$1'); // $routes->get('/home','Home::index'); diff --git a/app/Controllers/BusinessController.php b/app/Controllers/BusinessController.php index f9114d6..1568721 100644 --- a/app/Controllers/BusinessController.php +++ b/app/Controllers/BusinessController.php @@ -5,6 +5,7 @@ namespace App\Controllers; use App\Models\BusinessModel; use App\Models\BranchModel; use App\Models\StaffModel; +use App\Helpers\MailHelper; use CodeIgniter\API\ResponseTrait; @@ -168,4 +169,17 @@ class BusinessController extends BaseController return $this->respond(['status' => 'failed','code' => 500,'data' => $exception],500); } } + + public function check_mail_config() + { + try { + $mail_config = $this->request->getPost(); + $r_mail = $this->request->getPost('r_email'); + $MailHelper = new MailHelper(); + print_r($MailHelper->check_mail_config($r_mail, $mail_config));die; + + } catch (\Exception $exception) { + return $this->respond(['status' => 'failed','code' => 500,'data' => $exception],500); + } + } } diff --git a/app/Controllers/StaffController.php b/app/Controllers/StaffController.php index e9efab6..cd18ec1 100644 --- a/app/Controllers/StaffController.php +++ b/app/Controllers/StaffController.php @@ -319,17 +319,22 @@ class StaffController extends BaseController echo true; }else{ - $staffdata = $this->StaffModel->where('staff_id',$this->session->get('is_staff_logged_in'))->get()->getRow(); - $business_list = []; - foreach (json_decode($staffdata->business_id) as $key => $value) { - $business = $this->BusinessModel->where('business_id', $value)->first(); - if ($business) { - $business_list[] = $business; + $staffdata = $this->StaffModel->where('staff_id',$this->session->get('is_staff_logged_in'))->get()->getRow(); + $business_list = []; + if($staffdata->role == 'Admin'){ + $business_list = $this->BusinessModel->findAll(); + }else{ + foreach (json_decode($staffdata->business_id) as $key => $value) { + $business = $this->BusinessModel->where('business_id', $value)->first(); + if ($business) { + $business_list[] = $business; + } + } } - } - echo view('layout/header', ['Data'=>$staffdata]); - echo view('staff_profile',['staff'=>$staffdata, 'business_list'=> $business_list]); - echo view('layout/footer'); + + echo view('layout/header', ['Data'=>$staffdata]); + echo view('staff_profile',['staff'=>$staffdata, 'business_list'=> $business_list]); + echo view('layout/footer'); } } public function change_staff_password($staff_id) diff --git a/app/Helpers/MailHelper.php b/app/Helpers/MailHelper.php index 7f28a0a..26615aa 100644 --- a/app/Helpers/MailHelper.php +++ b/app/Helpers/MailHelper.php @@ -96,5 +96,46 @@ class MailHelper // } } + + public static function check_mail_config($r_email, $mail_config = []) + { + $default_config = [ + 'protocol' => 'smtp', + 'SMTPHost' => 'mail.venbait.in', + 'SMTPUser' => 'bbone@venbait.in', + 'SMTPPass' => 'xk!L(N_-R#};', + 'SMTPPort' => 465, + 'mailType' => 'html', + 'sender_email' => 'bbone@venbait.in', + 'sender_name' => 'BB-Sign' + ]; + + // Merge default config with provided config + $config = array_merge($default_config, $mail_config); + $email = \Config\Services::email(); + + $email->initialize([ + 'protocol' => $config['protocol'], + 'SMTPHost' => $config['SMTPHost'], + 'SMTPUser' => $config['SMTPUser'], + 'SMTPPass' => $config['SMTPPass'], + 'SMTPPort' => (int)$config['SMTPPort'], + 'mailType' => $config['mailType'] + ]); + + $email->setFrom($config['sender_email'], "Sender Name"); + $email->setTo($r_email); + $email->setSubject("Test Mail Configuration"); + $email->setMessage("Test Mail Configuration"); + + if ($email->send()) { + return json_encode(['status' => 'success', 'code' => 200, 'message' => 'Email Sent Successfully...', 'data' => $r_email]); + } else { + log_message('error', 'Email sending failed: ' . $email->printDebugger(['headers'])); + return ['status' => 'failed', 'code' => 404, 'message' => 'Email Sent Failed...', 'data' => $r_email]; + } + } + + } ?> diff --git a/app/Views/business_form.php b/app/Views/business_form.php index 326e8b2..f85aaaa 100644 --- a/app/Views/business_form.php +++ b/app/Views/business_form.php @@ -54,7 +54,7 @@ -