diff --git a/app/Controllers/Customer.php b/app/Controllers/Customer.php index 0f5b4524..0a277396 100644 --- a/app/Controllers/Customer.php +++ b/app/Controllers/Customer.php @@ -16,8 +16,10 @@ class Customer extends BaseController $session_role = get_user_role(); $session_bid = get_business_id(); if (!empty($session_role) && $session_role !== "sadmin") { + $this->logger->info("Customer: Listing In admin role . BID = ".$session_bid); $where = ['isactive' => 1, 'business_id' => (int)$session_bid]; } else { + $this->logger->info("Customer: Listing In Super-admin role ."); $where = ['isactive != ' => NULL]; } $CustomerModel = new CustomerModel(); @@ -73,90 +75,123 @@ class Customer extends BaseController $data['session_bid'] = $session_bid; $this->render_page('customer_form', $data); } - + ## For inserting/updating details of customer public function insert_customer() { - helper('session'); - $session_bid = get_business_id(); - $session_uid = get_logged_user_id(); - $model = new CustomerModel(); - $data = [ - 'first_name' => $this->request->getPost('cfname'), - 'last_name' => $this->request->getPost('csname'), - 'mobile_no' => $this->request->getPost('cmobile'), - 'address' => $this->request->getPost('address'), - 'city' => $this->request->getPost('ccity'), - 'email' => $this->request->getPost('cmail'), - 'state' => $this->request->getPost('cstate'), - 'postal_code' => $this->request->getPost('czip'), - 'country' => $this->request->getPost('ccountry'), - 'date_of_birth' => $this->request->getPost('dob'), - 'gender' => $this->request->getPost('gen'), - 'profile_picture' => $this->request->getPost('cfile'), - 'mode' => $this->request->getPost('cmode'), - 'business_id' => $this->request->getPost('business_id') - ]; + $this->logger->info("Customer: Inserting/Updating Details"); + try { + helper('session'); + $session_bid = get_business_id(); + $session_uid = get_logged_user_id(); + $session_role = get_user_role(); + $model = new CustomerModel(); + $data = [ + 'first_name' => $this->request->getPost('cfname'), + 'last_name' => $this->request->getPost('csname'), + 'mobile_no' => $this->request->getPost('cmobile'), + 'address' => $this->request->getPost('address'), + 'city' => $this->request->getPost('ccity'), + 'email' => $this->request->getPost('cmail'), + 'state' => $this->request->getPost('cstate'), + 'postal_code' => $this->request->getPost('czip'), + 'country' => $this->request->getPost('ccountry'), + 'date_of_birth' => $this->request->getPost('dob'), + 'gender' => $this->request->getPost('gen'), + 'profile_picture' => $this->request->getPost('cfile'), + 'mode' => $this->request->getPost('cmode'), + 'business_id' => $this->request->getPost('business_id') + ]; - $customer_id = $this->request->getPost('customer_id'); // Get the business ID for update - if (empty($customer_id)) { - // It's an insert operation - $data['isactive'] = 1; - $data['created_by'] = $session_uid; - //print_r($data);die; - $model->insert($data); - $FK_CID = $model->insertID(); // for Customer ADDRESS Table - } else { - // It's an update operation - $isactive = $this->request->getPost('isactive'); - $data['isactive'] = ($isactive == 'on') ? 1 : 0; - $data['updated_by'] = $session_uid; - // $model->update($customer_id, $data); - $FK_CID = $customer_id; // for Customer ADDRESS Table + $customer_id = $this->request->getPost('customer_id'); // Get the business ID for update + if (empty($customer_id)) { + // It's an insert operation + $data['isactive'] = 1; + $data['created_by'] = $session_uid; + if ($model->insert($data)) { + session()->setFlashdata('success', 'Customer has been added successfully.'); + $this->logger->info("Customer : has been added successfully. Inserted ID = " . $model->insertID()); + $customer_id_for_addresses = $model->insertID();// for Customer ADDRESS Table + } else { + session()->setFlashdata('error', 'Customer could not be added. Please try again..'); + $this->logger->error("Customer: Err could not be added. Please try again."); + $customer_id_for_addresses = ""; + } + } else { + // It's an update operation + if ($session_role !== 'manager') { + $isactive = $this->request->getPost('isactive'); + $data['isactive'] = ($isactive == 'on') ? 1 : 0; + } + $data['updated_by'] = $session_uid; + $customer_id_for_addresses = $customer_id; // for Customer ADDRESS Table + if ($model->update($customer_id, $data)) { + session()->setFlashdata('success', 'Customer has been updated successfully.'); + $this->logger->info("Customer: has been updated successfully. Updated Customer ID = " . $customer_id_for_addresses); + } else { + session()->setFlashdata('error', 'Customer update failed. Please try again.'); + $this->logger->error("Customer: Err Failed to update ID =" . $customer_id_for_addresses); + } + } + + if($customer_id_for_addresses != ""){ + $this->logger->info("Customer: i got customer id for addresses = " . $customer_id_for_addresses); + $requestData = $this->request->getPost(); + $bill_addr = $this->save_customer_addresses($customer_id_for_addresses, $requestData, 'b'); + $this->logger->info("Customer: bill addr final message = " .implode(" ",$bill_addr)); + $ship_addr = $this->save_customer_addresses($customer_id_for_addresses, $requestData, 's'); + $this->logger->info("Customer: Ship addr final message = " . implode(" ",$ship_addr)); + } + + } catch (\Exception $e) { + $this->logger->error("Customer : Err Occur =" . $e->getMessage()); + session()->setFlashdata('error', 'Message: ' . $e->getMessage()); } - $requestData = $this->request->getPost(); - $this->save_customer_addresses($FK_CID,$requestData,'b'); - $this->save_customer_addresses($FK_CID,$requestData,'s'); return redirect()->route('customer_list'); } - public function save_customer_addresses($id,$requestData,$letteringflag){ - - $addressType = ($letteringflag == 'b') ? 1 : 2; - $getAddressdetails = $this->get_customer_address($id,$addressType); - $CAid = $requestData[$letteringflag.'customer_address_id']; // Available Address IDS in Form Fields. - $model = new CustomerModel(); + ## For Save the customer addresses details (Using Letting Flag and Customer ID) + public function save_customer_addresses($id, $requestData, $letteringflag) + { + try { + $addressType = ($letteringflag == 'b') ? 1 : 2; + $this->logger->info("Customer: Addresses Lettering Flag = " . $letteringflag . " Customer address type = " . $addressType); + $getAddressdetails = $this->get_customer_address($id, $addressType); + $CAid = $requestData[$letteringflag . 'customer_address_id']; // Available Address IDS in Form Fields. + $session_uid = get_logged_user_id(); + $model = new CustomerModel(); - // Compare Address Input Field PKIDS With Existing PKIDS - // IF Any Missing value Means that values are Inactive here.... - if(!empty($CAid)){ + ## IF Any Missing value Means that values are Inactive here.... + if(!empty($CAid)){ + $this->logger->info("Customer: Primary Addresses ID = ".implode(",",$CAid)); $filteringAddressIds = []; - for ($y = 0; $y < count($getAddressdetails); $y++) { + for ($y = 0; $y < count($getAddressdetails); $y++) { $filteringAddressIds[$y] = $getAddressdetails[$y]['customer_address_id']; } - if(!empty($filteringAddressIds)){ + if (!empty($filteringAddressIds)) { $A = $filteringAddressIds; $B = $CAid; - $missingValues = array_diff($A,$B); - if(!empty($missingValues)){ - $where = ['isactive'=>1,'customer_id'=>(int)$id,'address_type'=>$addressType]; - $model->inactiveMissingAddressDetails($where,$missingValues); + $missingValues = array_diff($A, $B); + if (!empty($missingValues)) { + $where = ['isactive' => 1, 'customer_id' => (int)$id, 'address_type' => $addressType]; + $model->inactiveMissingAddressDetails($where, $missingValues); + $this->logger->info("Customer: Inactived Missing Addresses Count = " . count($missingValues)." That Primary Addresses ID = ".implode(",",$CAid)); } } - } - $session_uid = get_logged_user_id(); - - $baddress1 = $requestData[$letteringflag.'address1']; - $baddress2 = $requestData[$letteringflag.'address2']; - $bcountry = $requestData[$letteringflag.'country']; - $bcity = $requestData[$letteringflag.'city']; - $bstate = $requestData[$letteringflag.'state']; - $bzip = $requestData[$letteringflag.'zip']; + } + + + $baddress1 = $requestData[$letteringflag . 'address1']; + $baddress2 = $requestData[$letteringflag . 'address2']; + $bcountry = $requestData[$letteringflag . 'country']; + $bcity = $requestData[$letteringflag . 'city']; + $bstate = $requestData[$letteringflag . 'state']; + $bzip = $requestData[$letteringflag . 'zip']; $count = count($CAid); $address_array = []; - if($count > 0){ - for ($x = 0; $x < $count; $x++) { + if ($count > 0) { + for ($x = 0; $x < $count; $x++) { $address_array[$x]['first_name'] = $requestData['cfname']; $address_array[$x]['last_name'] = $requestData['csname']; // $address_array[$x]['company'] = ""; @@ -170,36 +205,60 @@ class Customer extends BaseController $address_array[$x]['postal_code'] = $bzip[$x]; $address_array[$x]['customer_id'] = $id; $address_array[$x]['address_type'] = $addressType; - $address_array[$x]['created_by'] = $session_uid; - $address_array[$x]['updated_by'] = $CAid[$x] ? $session_uid : null; - $address_array[$x]['customer_address_id'] = $CAid[$x]; - } - $statement = $model->saveAddressDetails($address_array); + $address_array[$x]['created_by'] = $session_uid; + $address_array[$x]['updated_by'] = $CAid[$x] ? $session_uid : null; + $address_array[$x]['customer_address_id'] = $CAid[$x]; + } + $statement = !empty($address_array) ? $model->saveAddressDetails($address_array) : ["No data found For addresses"]; + $this->logger->info("Customer: Address Final message = " . implode(",",$statement)); } - return $statement; + } catch (\Exception $e) { + $this->logger->error("Customer: Err Occur = ".$e->getMessage()." File = ". $e->getFile() . " Line = " . $e->getLine()); + $statement = ['Message: ' . $e->getMessage()]; + } + return $statement; } ## For delete the customer details (Which means inactive the details) public function delete_customer($id) { - $CustomerModel = new CustomerModel(); - - // Check if the business ID exists - $existingCustomer = $CustomerModel->find($id); - if (!$existingCustomer) { - // return redirect()->to(base_url('Business/index'))->with('error', 'Business not found.'); - return redirect()->route('customer_list'); + try { + helper('session'); + $session_uid = get_logged_user_id(); + $CustomerModel = new CustomerModel(); + $where = ['customer_id' => (int)$id, 'isactive =' => 1]; + // Check if the business ID exists + $existingCustomer = $CustomerModel->where($where)->find($id); + if ($existingCustomer) { + $this->logger->Info("Customer: Going to Inactive ID = ".$id); + $data = ['isactive' => 0 , 'updated_by' => $session_uid]; + // Delete the business record + if ($CustomerModel->update($id, $data)) { + $billAddressdetails = $this->get_customer_address($id, 1); + if(!empty($billAddressdetails)){ + for ($y = 0; $y < count($billAddressdetails); $y++) { + $billAddressIds[$y] = $billAddressdetails[$y]['customer_address_id']; + } + $CustomerModel->inactiveMissingAddressDetails($where, $billAddressIds); + } + $shipAddressdetails = $this->get_customer_address($id, 2); + if(!empty($shipAddressdetails)){ + for ($z = 0; $z < count($shipAddressdetails); $z++) { + $shipAddressIds[$z] = $shipAddressdetails[$z]['customer_address_id']; + } + $CustomerModel->inactiveMissingAddressDetails($where, $shipAddressIds); + } + session()->setFlashdata('success', 'Deleted successfully.'); + $this->logger->info("Customer: has been Inactived successfully. Inactived ID = " . $id); + } else { + $this->logger->error("Customer: Not able to Inactive ID =" . $id); + throw new \Exception("Data Not able to Deleted"); + } + } + } catch (\Exception $e) { + $this->logger->error("Customer: Err Occur = " . $e->getMessage()); + session()->setFlashdata('error', 'Message: ' . $e->getMessage()); } - - helper('session'); - $session_uid = get_logged_user_id(); - // Delete the business record - $data['isactive'] = 0; - $data['updated_by'] = $session_uid; - $CustomerModel->update($id, $data); - //$BusinessModel->delete($id); - - // return redirect()->to(base_url('Business/index'))->with('success', 'Business deleted successfully.'); return redirect()->route('customer_list'); } diff --git a/app/Controllers/Event.php b/app/Controllers/Event.php index 92cef9c0..2b883377 100644 --- a/app/Controllers/Event.php +++ b/app/Controllers/Event.php @@ -60,35 +60,50 @@ public function new_event($id) $this->render_page('event_form', $data); } -public function insert_event() -{ - helper('session'); - $session_bid = get_business_id(); - $session_uid = get_logged_user_id(); + public function insert_event() + { + $this->logger->info("Event: Inserting/Updating Details"); + try { + helper('session'); + $session_bid = get_business_id(); + $session_uid = get_logged_user_id(); + $EventModel = new EventModel(); + $data = [ + 'event_name' => $this->request->getPost('ename'), + 'next_id' => $this->request->getPost('nextid'), + 'left_pad' => $this->request->getPost('leftpad'), + 'id_formating' => $this->request->getPost('formating'), + 'business_id' => $this->request->getPost('business_id') + ]; + $event_id = $this->request->getPost('id'); // Get the business ID for update - $EventModel = new EventModel(); - $data = [ - 'event_name' => $this->request->getPost('ename'), - 'next_id' => $this->request->getPost('nextid'), - 'left_pad' => $this->request->getPost('leftpad'), - 'id_formating' => $this->request->getPost('formating'), - 'business_id' => $this->request->getPost('business_id') - - ]; -$event_id = $this->request->getPost('id'); // Get the business ID for update - - if (empty($event_id)) { - // It's an insert operation - $data['created_by'] = $session_uid; - $EventModel->insert($data); - } else { - // It's an update operation - - $data['updated_by'] = $session_uid; - - $EventModel->update($event_id, $data); + if (empty($event_id)) { + // It's an insert operation + $data['created_by'] = $session_uid; + // $EventModel->insert($data); + if ($EventModel->insert($data)) { + session()->setFlashdata('success', 'Event has been added successfully.'); + $this->logger->info("Event : has been added successfully. Inserted ID = " . $EventModel->insertID()); + } else { + session()->setFlashdata('error', 'Event could not be added. Please try again..'); + $this->logger->error("Event: Err data could not be added. Please try again."); + } + } else { + // It's an update operation + $data['updated_by'] = $session_uid; + if ($EventModel->update($event_id, $data)) { + session()->setFlashdata('success', 'Event has been updated successfully.'); + $this->logger->info("Event: has been updated successfully. Updated Event ID = " . $event_id); + } else { + session()->setFlashdata('error', 'Event update failed. Please try again.'); + $this->logger->error("Event: Err Failed to update ID =" . $event_id); + } + } + } catch (\Exception $e) { + $this->logger->error("Event: Err Occur = " . $e->getMessage() . " Line = " . $e->getLine() . " File = " . $e->getFile()); + session()->setFlashdata('error', 'Message: ' . $e->getMessage()); + } + return redirect()->route('event_list'); } - return redirect()->route('event_list'); -} } \ No newline at end of file diff --git a/app/Controllers/Users.php b/app/Controllers/Users.php index acd20db3..de902321 100755 --- a/app/Controllers/Users.php +++ b/app/Controllers/Users.php @@ -38,27 +38,55 @@ class Users extends BaseController helper('session'); $session_role = get_user_role(); $session_bid = get_business_id(); + $session_uid = get_logged_user_id(); if ($id === '0') { $this->logger->info("Users: In Add page"); $data['page_name'] = 'Add User'; + $business_details = $this->business_details(); + $render_page_name = 'user_form'; $data['details'] = []; } else if ($id !== '0') { $this->logger->info("Users: In Edit page"); - $data['page_name'] = 'Edit User'; $model = new UsersModel(); $model->setTable('users'); - if (!empty($session_role) && $session_role === "sadmin") { - $where = ['users.user_id' => $id, 'users.isactive !=' => NULL]; - } else { - $where = ['users.user_id' => $id, 'users.isactive =' => 1]; + if (!empty($session_role)){ + switch ($session_role) { + case "sadmin": + $where = ['users.user_id' => $id, 'users.isactive !=' => NULL]; + $edit_user_details = $model->where($where)->first(); + $business_details = $this->business_details(); + $render_page_name = 'user_form'; + $data['page_name'] = 'Edit User'; + break; + case "admin": + $where = ['users.user_id' => $id, 'users.isactive =' => 1]; + $edit_user_details = $model->where($where)->first(); + $business_details = []; + $render_page_name = 'user_form'; + $data['page_name'] = 'Edit User'; + break; + case "manager": + $where = ['users.user_id' => $id, 'users.isactive =' => 1]; + $edit_user_details = $model->where($where)->first(); + $business_details = []; + if($session_uid === $id && $session_role === "manager"){ + $data['page_name'] = 'Edit User'; + $render_page_name = 'user_form'; + }else{ + $data['page_name'] = 'Page Not Found'; + $render_page_name = 'pages_404'; + } + break; + default: + $data['page_name'] = 'Page Not Found'; + $render_page_name = 'pages_404'; + } } - $edit_user_details = $model->where($where)->first(); $data['details'] = $edit_user_details; } - $business_details = !empty($session_role) && $session_role === "sadmin" ? $this->business_details() : []; $data['business_details'] = $business_details; $data['session_bid'] = $session_bid; - $this->render_page('user_form', $data); + $this->render_page($render_page_name, $data); } ## For SuperAdmin Role business Dropdown displayed on Userpage.otherwise Hidden fields @@ -146,7 +174,6 @@ class Users extends BaseController } $data = [ - 'user_name' => $this->request->getPost('user_name'), 'profile_picture' => $final_img_name, 'city' => $this->request->getPost('city'), 'state' => $this->request->getPost('state'), @@ -185,12 +212,11 @@ class Users extends BaseController } else { // It's an update operation $isactive = $this->request->getPost('isactive'); + $data['updated_by'] = $session_uid; $data['isactive'] = ($isactive == 'on') ? 1 : 0; if($session_uid == $user_id && $data['isactive'] == 0){ throw new \Exception("Cant able to Update Because logged-In persons can't remove. Please Contact your Admin!...."); } - $data['updated_by'] = $session_uid; - // $UsersModel->update($user_id, $data); if ($UsersModel->update($user_id, $data)) { session()->setFlashdata('success', 'User has been updated successfully.'); $this->logger->info("Users: has been updated successfully. Updated ID = ".$user_id); diff --git a/app/Models/CustomerModel.php b/app/Models/CustomerModel.php index e666f00e..79a7a894 100644 --- a/app/Models/CustomerModel.php +++ b/app/Models/CustomerModel.php @@ -9,7 +9,11 @@ class CustomerModel extends Model { protected $table = 'customers'; protected $primaryKey = 'customer_id '; +<<<<<<< HEAD protected $allowedFields = ['customer_id ','first_name','city','last_name','email','mobile_no','country','state','postal_code' ,'address','profile_picture','date_of_birth','gender','mode','isactive','business_id']; +======= + protected $allowedFields = ['customer_id ','first_name','city','last_name','email','mobile_no','country','state','postal_code' ,'address','profile_picture','date_of_birth','gender','mode','type','isactive','business_id','created_by','updated_by']; +>>>>>>> caaaaa0ffd2a11af5f49570cb1fadb521e89b52f public function insertCustomer($data) { @@ -73,15 +77,14 @@ class CustomerModel extends Model unset($row['created_by']); // bcoz here data Updating here. $this->db->table('customer_addresses')->where('customer_address_id', $id)->update($row);// Update the row with the specified id $affectedRows = $this->db->affectedRows(); - $statement[$i] = "address - ".$id." ".$affectedRows ? " Updated":" Not Updated"; + $statement[$i] = "address - ".$id." ". ($affectedRows ? " Updated":" Nothing to Updated"); }else{ - $this->db->table('customer_addresses')->insert($row); $insertID = $this->db->insertID(); $statement[$i] = "address - ".$insertID." Inserted"; } + $i++; } - return $statement; } diff --git a/app/Models/UsersModel.php b/app/Models/UsersModel.php index a35b3209..6c467271 100644 --- a/app/Models/UsersModel.php +++ b/app/Models/UsersModel.php @@ -5,7 +5,7 @@ class UsersModel extends Model { protected $table = 'users'; protected $primaryKey = 'user_id'; - protected $allowedFields = ['user_id','user_name','email','first_name','last_name','password','mobile_no','date_of_birth','address','gender','profile_picture','city','state','postal_code','country','role','isactive','business_id']; + protected $allowedFields = ['user_id','user_name','email','first_name','last_name','password','mobile_no','date_of_birth','address','gender','profile_picture','city','state','postal_code','country','role','isactive','business_id','created_by','updated_by']; public function saveData($data, $id = null) { diff --git a/app/Views/api_list.php b/app/Views/api_list.php deleted file mode 100644 index c183b4fd..00000000 --- a/app/Views/api_list.php +++ /dev/null @@ -1,26 +0,0 @@ - - - -

Dummy API Integration

- -

GET - List Of Books

- - -

GET - Single Book

- - -

POST - Create New Book

- - -

PUT - Update Book

- - - diff --git a/app/Views/customer_list.php b/app/Views/customer_list.php index acb0ce56..ca60d7c1 100644 --- a/app/Views/customer_list.php +++ b/app/Views/customer_list.php @@ -7,6 +7,24 @@

+ getFlashdata('success') || session()->getFlashdata('error')) : ?> + getFlashdata('success')) : ?> + + + getFlashdata('error')) : ?> + + +
diff --git a/app/Views/dashboard.php b/app/Views/dashboard.php index 157cc6c0..cc2f879e 100644 --- a/app/Views/dashboard.php +++ b/app/Views/dashboard.php @@ -1,3 +1,4 @@ +
@@ -88,4 +89,5 @@
+ \ No newline at end of file diff --git a/app/Views/event_list.php b/app/Views/event_list.php index 5af710c3..06651b69 100644 --- a/app/Views/event_list.php +++ b/app/Views/event_list.php @@ -7,6 +7,24 @@

+ getFlashdata('success') || session()->getFlashdata('error')) : ?> + getFlashdata('success')) : ?> + + + getFlashdata('error')) : ?> + + +
diff --git a/app/Views/pages_404.php b/app/Views/pages_404.php new file mode 100644 index 00000000..32752d8a --- /dev/null +++ b/app/Views/pages_404.php @@ -0,0 +1,26 @@ +
+
+
+ + + + 404! + + + + + + + + +
+
+

Whoops! Page not found

+ +
+
+
\ No newline at end of file diff --git a/app/Views/template/header.php b/app/Views/template/header.php index e771a668..3934b0c5 100644 --- a/app/Views/template/header.php +++ b/app/Views/template/header.php @@ -134,35 +134,39 @@ Membership +
  • "> Scheme
  • + +
  • "> Products
  • + +
  • "> Users
  • - - + +
  • "> Site Setting
  • - - - + +
  • "> @@ -170,20 +174,16 @@ Campaign
  • - - - - - - - - + +
  • "> Custom Notifications
  • + + diff --git a/app/Views/template/topbar.php b/app/Views/template/topbar.php index 983dbb40..215af0fa 100644 --- a/app/Views/template/topbar.php +++ b/app/Views/template/topbar.php @@ -237,11 +237,11 @@ My Account + "class="dropdown-item notify-item"> - - - Business Setting - + Business Setting + + diff --git a/app/Views/user_form.php b/app/Views/user_form.php index 49fd4a07..5065dc70 100644 --- a/app/Views/user_form.php +++ b/app/Views/user_form.php @@ -120,7 +120,8 @@
    - + +
    > @@ -134,8 +135,9 @@ - " class="btn btn-secondary waves-effect">Cancel - + + " class="btn btn-secondary waves-effect">Cancel +
    diff --git a/app/Views/user_list.php b/app/Views/user_list.php index 88116a18..c7004427 100644 --- a/app/Views/user_list.php +++ b/app/Views/user_list.php @@ -64,7 +64,7 @@ - + diff --git a/app/Views/welcome_message.php b/app/Views/welcome_message.php deleted file mode 100644 index 6d5da23f..00000000 --- a/app/Views/welcome_message.php +++ /dev/null @@ -1,325 +0,0 @@ - - - - - Welcome to CodeIgniter 4! - - - - - - - - - - - -
    - - - -
    - -

    Welcome to CodeIgniter

    - -

    The small framework with powerful features

    - -
    - -
    - - - -
    - -

    About this page

    - -

    The page you are looking at is being generated dynamically by CodeIgniter.

    - -

    If you would like to edit this page you will find it located at:

    - -
    app/Views/welcome_message.php
    - -

    The corresponding controller for this page can be found at:

    - -
    app/Controllers/Home.php
    - -
    - -
    - -
    - -

    Go further

    - -

    - - Learn -

    - -

    The User Guide contains an introduction, tutorial, a number of "how to" - guides, and then reference documentation for the components that make up - the framework. Check the User Guide !

    - -

    - - Discuss -

    - -

    CodeIgniter is a community-developed open source project, with several - venues for the community members to gather and exchange ideas. View all - the threads on CodeIgniter's forum, or chat on Slack !

    - -

    - - Contribute -

    - -

    CodeIgniter is a community driven project and accepts contributions - of code and documentation from the community. Why not - - join us ?

    - -
    - -
    - - - - - - - - - - - - -