diff --git a/app/Controllers/Attributes.php b/app/Controllers/Attributes.php index c885e4b90..e088268fb 100644 --- a/app/Controllers/Attributes.php +++ b/app/Controllers/Attributes.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Attribute; +use CodeIgniter\HTTP\ResponseInterface; use Config\Services; require_once('Secure_Controller.php'); @@ -26,17 +27,17 @@ class Attributes extends Secure_Controller * * @return void **/ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_attribute_definition_manage_table_headers(); - echo view('attributes/manage', $data); + return view('attributes/manage', $data); } /** * Returns attribute table data rows. This will be called with AJAX. */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -53,7 +54,7 @@ class Attributes extends Secure_Controller $data_rows[] = get_attribute_definition_data_row($attribute_row); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** @@ -61,7 +62,7 @@ class Attributes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveAttributeValue(): void + public function postSaveAttributeValue(): ResponseInterface|string { $success = $this->attribute->saveAttributeValue( html_entity_decode($this->request->getPost('attribute_value')), @@ -70,7 +71,7 @@ class Attributes extends Secure_Controller $this->request->getPost('attribute_id', FILTER_SANITIZE_NUMBER_INT) ?? false ); - echo json_encode(['success' => $success != 0]); + return $this->response->setJSON(['success' => $success != 0]); } /** @@ -78,14 +79,14 @@ class Attributes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postDeleteDropdownAttributeValue(): void + public function postDeleteDropdownAttributeValue(): ResponseInterface|string { $success = $this->attribute->deleteDropdownAttributeValue( html_entity_decode($this->request->getPost('attribute_value')), $this->request->getPost('definition_id', FILTER_SANITIZE_NUMBER_INT) ); - echo json_encode(['success' => $success]); + return $this->response->setJSON(['success' => $success]); } /** @@ -95,7 +96,7 @@ class Attributes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveDefinition(int $definition_id = NO_DEFINITION_ID): void + public function postSaveDefinition(int $definition_id = NO_DEFINITION_ID): ResponseInterface|string { $definition_flags = 0; @@ -128,20 +129,20 @@ class Attributes extends Secure_Controller $this->attribute->saveAttributeValue($definition_value, $definition_data['definition_id']); } - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Attributes.definition_successful_adding') . ' ' . $definition_name, 'id' => $definition_data['definition_id'] ]); } else { // Existing definition - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Attributes.definition_successful_updating') . ' ' . $definition_name, 'id' => $definition_id ]); } } else { // Failure - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Attributes.definition_error_adding_updating', [$definition_name]), 'id' => NEW_ENTRY @@ -155,24 +156,24 @@ class Attributes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getSuggestAttribute(int $definition_id): void + public function getSuggestAttribute(int $definition_id): ResponseInterface|string { $suggestions = $this->attribute->get_suggestions($definition_id, html_entity_decode($this->request->getGet('term'))); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $attribute_definition_info = $this->attribute->getAttributeInfo($row_id); $attribute_definition_info->definition_flags = $this->get_attributes($attribute_definition_info->definition_flags); $data_row = get_attribute_definition_data_row($attribute_definition_info); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** @@ -194,7 +195,7 @@ class Attributes extends Secure_Controller * @param int $definition_id * @return void */ - public function getView(int $definition_id = NO_DEFINITION_ID): void + public function getView(int $definition_id = NO_DEFINITION_ID): ResponseInterface|string { $info = $this->attribute->getAttributeInfo($definition_id); foreach (get_object_vars($info) as $property => $value) { @@ -212,22 +213,22 @@ class Attributes extends Secure_Controller $selected_flags = $info->definition_flags === '' ? $show_all : $info->definition_flags; $data['selected_definition_flags'] = $this->get_attributes($selected_flags); - echo view('attributes/form', $data); + return view('attributes/form', $data); } /** * Deletes an attribute definition * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $attributes_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if($this->attribute->deleteDefinitionList($attributes_to_delete)) { $message = lang('Attributes.definition_successful_deleted') . ' ' . count($attributes_to_delete) . ' ' . lang('Attributes.definition_one_or_multiple'); - echo json_encode(['success' => true, 'message' => $message]); + return $this->response->setJSON(['success' => true, 'message' => $message]); } else { - echo json_encode(['success' => false, 'message' => lang('Attributes.definition_cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Attributes.definition_cannot_be_deleted')]); } } } diff --git a/app/Controllers/Cashups.php b/app/Controllers/Cashups.php index e5c8b8799..c7bd83bf7 100644 --- a/app/Controllers/Cashups.php +++ b/app/Controllers/Cashups.php @@ -5,6 +5,7 @@ namespace App\Controllers; use App\Models\Cashup; use App\Models\Expense; use App\Models\Reports\Summary_payments; +use CodeIgniter\HTTP\ResponseInterface; use Config\OSPOS; use Config\Services; @@ -28,20 +29,20 @@ class Cashups extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_cashups_manage_table_headers(); // filters that will be loaded in the multiselect dropdown $data['filters'] = ['is_deleted' => lang('Cashups.is_deleted')]; - echo view('cashups/manage', $data); + return view('cashups/manage', $data); } /** * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -64,14 +65,14 @@ class Cashups extends Secure_Controller $data_rows[] = get_cash_up_data_row($cash_up); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * @param int $cashup_id * @return void */ - public function getView(int $cashup_id = NEW_ENTRY): void + public function getView(int $cashup_id = NEW_ENTRY): ResponseInterface|string { $data = []; @@ -180,26 +181,26 @@ class Cashups extends Secure_Controller $data['cash_ups_info'] = $cash_ups_info; - echo view("cashups/form", $data); + return view("cashups/form", $data); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $cash_ups_info = $this->cashup->get_info($row_id); $data_row = get_cash_up_data_row($cash_ups_info); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $cashup_id * @return void */ - public function postSave(int $cashup_id = NEW_ENTRY): void + public function postSave(int $cashup_id = NEW_ENTRY): ResponseInterface|string { $open_date = $this->request->getPost('open_date'); $open_date_formatter = date_create_from_format($this->config['dateformat'] . ' ' . $this->config['timeformat'], $open_date); @@ -227,26 +228,26 @@ class Cashups extends Secure_Controller if ($this->cashup->save_value($cash_up_data, $cashup_id)) { // New cashup_id if ($cashup_id == NEW_ENTRY) { - echo json_encode(['success' => true, 'message' => lang('Cashups.successful_adding'), 'id' => $cash_up_data['cashup_id']]); + $this->response->setJSON(['success' => true, 'message' => lang('Cashups.successful_adding'), 'id' => $cash_up_data['cashup_id']]); } else { // Existing Cashup - echo json_encode(['success' => true, 'message' => lang('Cashups.successful_updating'), 'id' => $cashup_id]); + $this->response->setJSON(['success' => true, 'message' => lang('Cashups.successful_updating'), 'id' => $cashup_id]); } } else { // Failure - echo json_encode(['success' => false, 'message' => lang('Cashups.error_adding_updating'), 'id' => NEW_ENTRY]); + $this->response->setJSON(['success' => false, 'message' => lang('Cashups.error_adding_updating'), 'id' => NEW_ENTRY]); } } /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $cash_ups_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if ($this->cashup->delete_list($cash_ups_to_delete)) { - echo json_encode(['success' => true, 'message' => lang('Cashups.successful_deleted') . ' ' . count($cash_ups_to_delete) . ' ' . lang('Cashups.one_or_multiple'), 'ids' => $cash_ups_to_delete]); + $this->response->setJSON(['success' => true, 'message' => lang('Cashups.successful_deleted') . ' ' . count($cash_ups_to_delete) . ' ' . lang('Cashups.one_or_multiple'), 'ids' => $cash_ups_to_delete]); } else { - echo json_encode(['success' => false, 'message' => lang('Cashups.cannot_be_deleted'), 'ids' => $cash_ups_to_delete]); + $this->response->setJSON(['success' => false, 'message' => lang('Cashups.cannot_be_deleted'), 'ids' => $cash_ups_to_delete]); } } @@ -256,7 +257,7 @@ class Cashups extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postAjax_cashup_total(): void + public function postAjax_cashup_total(): ResponseInterface|string { $open_amount_cash = parse_decimals($this->request->getPost('open_amount_cash')); $transfer_amount_cash = parse_decimals($this->request->getPost('transfer_amount_cash')); @@ -267,7 +268,7 @@ class Cashups extends Secure_Controller $total = $this->_calculate_total($open_amount_cash, $transfer_amount_cash, $closed_amount_due, $closed_amount_cash, $closed_amount_card, $closed_amount_check); // TODO: hungarian notation - echo json_encode(['total' => to_currency_no_money($total)]); + $this->response->setJSON(['total' => to_currency_no_money($total)]); } /** diff --git a/app/Controllers/Config.php b/app/Controllers/Config.php index 9f1da31f3..a3b3f5274 100644 --- a/app/Controllers/Config.php +++ b/app/Controllers/Config.php @@ -17,6 +17,7 @@ use App\Models\Stock_location; use App\Models\Tax; use CodeIgniter\Database\BaseConnection; use CodeIgniter\Encryption\EncrypterInterface; +use CodeIgniter\HTTP\ResponseInterface; use Config\Database; use Config\OSPOS; use Config\Services; @@ -216,7 +217,7 @@ class Config extends Secure_Controller /** */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['stock_locations'] = $this->stock_location->get_all()->getResultArray(); $data['dinner_tables'] = $this->dinner_table->get_all()->getResultArray(); @@ -272,7 +273,7 @@ class Config extends Secure_Controller $data['mailchimp']['lists'] = $this->_mailchimp(); - echo view('configs/manage', $data); + return view('configs/manage', $data); } /** @@ -282,7 +283,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveInfo(): void + public function postSaveInfo(): ResponseInterface|string { $upload_data = $this->upload_logo(); $upload_success = empty($upload_data['error']); @@ -306,7 +307,7 @@ class Config extends Secure_Controller $message = lang('Config.saved_' . ($success ? '' : 'un') . 'successfully'); $message = $upload_success ? $message : strip_tags($upload_data['error']); - echo json_encode(['success' => $success, 'message' => $message]); + return $this->response->setJSON(['success' => $success, 'message' => $message]); } @@ -360,7 +361,7 @@ class Config extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postSaveGeneral(): void + public function postSaveGeneral(): ResponseInterface|string { $batch_save_data = [ 'theme' => $this->request->getPost('theme'), @@ -407,7 +408,7 @@ class Config extends Secure_Controller $success = $this->appconfig->batch_save($batch_save_data); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + return $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -416,7 +417,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postCheckNumberLocale(): void + public function postCheckNumberLocale(): ResponseInterface|string { $number_locale = $this->request->getPost('number_locale'); $save_number_locale = $this->request->getPost('save_number_locale'); @@ -438,7 +439,7 @@ class Config extends Secure_Controller $fmt->setSymbol(NumberFormatter::CURRENCY_SYMBOL, $currency_symbol); $number_local_example = $fmt->format(1234567890.12300); - echo json_encode([ + $this->response->setJSON([ 'success' => $number_local_example != false, 'save_number_locale' => $save_number_locale, 'number_locale_example' => $number_local_example, @@ -454,7 +455,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveLocale(): void + public function postSaveLocale(): ResponseInterface|string { $exploded = explode(":", $this->request->getPost('language')); $batch_save_data = [ @@ -480,7 +481,7 @@ class Config extends Secure_Controller $success = $this->appconfig->batch_save($batch_save_data); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + return $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -490,7 +491,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveEmail(): void + public function postSaveEmail(): ResponseInterface|string { $password = ''; @@ -511,7 +512,7 @@ class Config extends Secure_Controller $success = $this->appconfig->batch_save($batch_save_data); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + return $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -521,7 +522,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveMessage(): void + public function postSaveMessage(): ResponseInterface|string { $password = ''; @@ -538,7 +539,7 @@ class Config extends Secure_Controller $success = $this->appconfig->batch_save($batch_save_data); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + return $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -568,12 +569,12 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postCheckMailchimpApiKey(): void + public function postCheckMailchimpApiKey(): ResponseInterface|string { $lists = $this->_mailchimp($this->request->getPost('mailchimp_api_key')); $success = count($lists) > 0; - echo json_encode([ + $this->response->setJSON([ 'success' => $success, 'message' => lang('Config.mailchimp_key_' . ($success ? '' : 'un') . 'successfully'), 'mailchimp_lists' => $lists @@ -587,7 +588,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveMailchimp(): void + public function postSaveMailchimp(): ResponseInterface|string { $api_key = ''; $list_id = ''; @@ -608,7 +609,7 @@ class Config extends Secure_Controller $success = $this->appconfig->batch_save($batch_save_data); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -617,21 +618,21 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getStockLocations(): void + public function getStockLocations(): ResponseInterface|string { $stock_locations = $this->stock_location->get_all()->getResultArray(); - echo view('partial/stock_locations', ['stock_locations' => $stock_locations]); + return view('partial/stock_locations', ['stock_locations' => $stock_locations]); } /** * @return void */ - public function getDinnerTables(): void + public function getDinnerTables(): ResponseInterface|string { $dinner_tables = $this->dinner_table->get_all()->getResultArray(); - echo view('partial/dinner_tables', ['dinner_tables' => $dinner_tables]); + return view('partial/dinner_tables', ['dinner_tables' => $dinner_tables]); } @@ -640,11 +641,11 @@ class Config extends Secure_Controller * * @return void */ - public function ajax_tax_categories(): void // TODO: Is this function called anywhere in the code? + public function ajax_tax_categories(): ResponseInterface|string // TODO: Is this function called anywhere in the code? { $tax_categories = $this->tax->get_all_tax_categories()->getResultArray(); - echo view('partial/tax_categories', ['tax_categories' => $tax_categories]); + return view('partial/tax_categories', ['tax_categories' => $tax_categories]); } /** @@ -653,17 +654,17 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getCustomerRewards(): void + public function getCustomerRewards(): ResponseInterface|string { $customer_rewards = $this->customer_rewards->get_all()->getResultArray(); - echo view('partial/customer_rewards', ['customer_rewards' => $customer_rewards]); + return view('partial/customer_rewards', ['customer_rewards' => $customer_rewards]); } /** * @return void */ - private function _clear_session_state(): void // TODO: Hungarian notation + private function _clear_session_state(): ResponseInterface|string // TODO: Hungarian notation { $this->sale_lib->clear_sale_location(); $this->sale_lib->clear_table(); @@ -680,7 +681,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveLocations(): void + public function postSaveLocations(): ResponseInterface|string { $this->db->transStart(); @@ -712,7 +713,7 @@ class Config extends Secure_Controller $success = $this->db->transStatus(); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -722,7 +723,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveTables(): void + public function postSaveTables(): ResponseInterface|string { $this->db->transStart(); @@ -759,7 +760,7 @@ class Config extends Secure_Controller $success = $this->db->transStatus(); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -769,7 +770,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveTax(): void + public function postSaveTax(): ResponseInterface|string { $default_tax_1_rate = $this->request->getPost('default_tax_1_rate'); $default_tax_2_rate = $this->request->getPost('default_tax_2_rate'); @@ -791,7 +792,7 @@ class Config extends Secure_Controller $message = lang('Config.saved_' . ($success ? '' : 'un') . 'successfully'); - echo json_encode(['success' => $success, 'message' => $message]); + $this->response->setJSON(['success' => $success, 'message' => $message]); } /** @@ -801,7 +802,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveRewards(): void + public function postSaveRewards(): ResponseInterface|string { $this->db->transStart(); @@ -845,7 +846,7 @@ class Config extends Secure_Controller $success = $this->db->transStatus(); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -855,7 +856,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveBarcode(): void + public function postSaveBarcode(): ResponseInterface|string { $batch_save_data = [ 'barcode_type' => $this->request->getPost('barcode_type'), @@ -877,7 +878,7 @@ class Config extends Secure_Controller $success = $this->appconfig->batch_save($batch_save_data); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -887,7 +888,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveReceipt(): void + public function postSaveReceipt(): ResponseInterface|string { $batch_save_data = [ 'receipt_template' => $this->request->getPost('receipt_template'), @@ -912,7 +913,7 @@ class Config extends Secure_Controller $success = $this->appconfig->batch_save($batch_save_data); - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -922,7 +923,7 @@ class Config extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSaveInvoice(): void + public function postSaveInvoice(): ResponseInterface|string { $batch_save_data = [ 'invoice_enable' => $this->request->getPost('invoice_enable') != null, @@ -953,7 +954,7 @@ class Config extends Secure_Controller } } - echo json_encode(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); + $this->response->setJSON(['success' => $success, 'message' => lang('Config.saved_' . ($success ? '' : 'un') . 'successfully')]); } /** @@ -963,10 +964,10 @@ class Config extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postRemoveLogo(): void + public function postRemoveLogo(): ResponseInterface|string { $success = $this->appconfig->save(['company_logo' => '']); - echo json_encode(['success' => $success]); + $this->response->setJSON(['success' => $success]); } } diff --git a/app/Controllers/Customers.php b/app/Controllers/Customers.php index d81dc05b6..848899611 100644 --- a/app/Controllers/Customers.php +++ b/app/Controllers/Customers.php @@ -8,6 +8,7 @@ use App\Models\Customer; use App\Models\Customer_rewards; use App\Models\Tax_code; use CodeIgniter\HTTP\DownloadResponse; +use CodeIgniter\HTTP\ResponseInterface; use Config\OSPOS; use Config\Services; use stdClass; @@ -42,17 +43,17 @@ class Customers extends Persons /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_customer_manage_table_headers(); - echo view('people/manage', $data); + return view('people/manage', $data); } /** * Gets one row for a customer manage table. This is called using AJAX to update one row. */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $person = $this->customer->get_info($row_id); @@ -72,7 +73,7 @@ class Customers extends Persons $data_row = get_customer_data_row($person, $stats); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } @@ -81,7 +82,7 @@ class Customers extends Persons * * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -111,35 +112,35 @@ class Customers extends Persons $data_rows[] = get_customer_data_row($person, $stats); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * Gives search suggestions based on what is being searched for */ - public function getSuggest(): void + public function getSuggest(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->customer->get_search_suggestions($search); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * @return void */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->customer->get_search_suggestions($search, 25, false); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * Loads the customer edit form */ - public function getView(int $customer_id = NEW_ENTRY): void + public function getView(int $customer_id = NEW_ENTRY): ResponseInterface|string { // Set default values if ($customer_id == null) $customer_id = NEW_ENTRY; @@ -227,13 +228,13 @@ class Customers extends Persons } } - echo view("customers/form", $data); + return view("customers/form", $data); } /** * Inserts/updates a customer */ - public function postSave(int $customer_id = NEW_ENTRY): void + public function postSave(int $customer_id = NEW_ENTRY): ResponseInterface|string { $first_name = $this->request->getPost('first_name'); $last_name = $this->request->getPost('last_name'); @@ -288,20 +289,20 @@ class Customers extends Persons // New customer if ($customer_id == NEW_ENTRY) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Customers.successful_adding') . ' ' . $first_name . ' ' . $last_name, 'id' => $customer_data['person_id'] ]); } else { // Existing customer - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Customers.successful_updating') . ' ' . $first_name . ' ' . $last_name, 'id' => $customer_id ]); } } else { // Failure - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Customers.error_adding_updating') . ' ' . $first_name . ' ' . $last_name, 'id' => NEW_ENTRY @@ -315,7 +316,7 @@ class Customers extends Persons * @return void * @noinspection PhpUnused */ - public function postCheckEmail(): void + public function postCheckEmail(): ResponseInterface|string { $email = strtolower($this->request->getPost('email', FILTER_SANITIZE_EMAIL)); $person_id = $this->request->getPost('person_id', FILTER_SANITIZE_NUMBER_INT); @@ -331,7 +332,7 @@ class Customers extends Persons * @return void * @noinspection PhpUnused */ - public function postCheckAccountNumber(): void + public function postCheckAccountNumber(): ResponseInterface|string { $exists = $this->customer->check_account_number_exists($this->request->getPost('account_number'), $this->request->getPost('person_id', FILTER_SANITIZE_NUMBER_INT)); @@ -341,7 +342,7 @@ class Customers extends Persons /** * This deletes customers from the customers table */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $customers_to_delete = $this->request->getPost('ids'); $customers_info = $this->customer->get_multiple_info($customers_to_delete); @@ -358,12 +359,12 @@ class Customers extends Persons } if ($count == count($customers_to_delete)) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Customers.successful_deleted') . ' ' . $count . ' ' . lang('Customers.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Customers.cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Customers.cannot_be_deleted')]); } } @@ -386,9 +387,9 @@ class Customers extends Persons * @return void * @noinspection PhpUnused */ - public function getCsvImport(): void + public function getCsvImport(): ResponseInterface|string { - echo view('customers/form_csv_import'); + return view('customers/form_csv_import'); } /** @@ -397,10 +398,10 @@ class Customers extends Persons * @return void * @noinspection PhpUnused */ - public function postImportCsvFile(): void + public function postImportCsvFile(): ResponseInterface|string { if ($_FILES['file_path']['error'] != UPLOAD_ERR_OK) { - echo json_encode(['success' => false, 'message' => lang('Customers.csv_import_failed')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Customers.csv_import_failed')]); } else { if (($handle = fopen($_FILES['file_path']['tmp_name'], 'r')) !== false) { // Skip the first row as it's the table description @@ -467,12 +468,12 @@ class Customers extends Persons if (count($failCodes) > 0) { $message = lang('Customers.csv_import_partially_failed', [count($failCodes), implode(', ', $failCodes)]); - echo json_encode(['success' => false, 'message' => $message]); + return $this->response->setJSON(['success' => false, 'message' => $message]); } else { - echo json_encode(['success' => true, 'message' => lang('Customers.csv_import_success')]); + return $this->response->setJSON(['success' => true, 'message' => lang('Customers.csv_import_success')]); } } else { - echo json_encode(['success' => false, 'message' => lang('Customers.csv_import_nodata_wrongformat')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Customers.csv_import_nodata_wrongformat')]); } } } diff --git a/app/Controllers/Employees.php b/app/Controllers/Employees.php index e9fc68bba..e88a3d840 100644 --- a/app/Controllers/Employees.php +++ b/app/Controllers/Employees.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Module; +use CodeIgniter\HTTP\ResponseInterface; use Config\Services; /** @@ -25,7 +26,7 @@ class Employees extends Persons * * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -41,7 +42,7 @@ class Employees extends Persons $data_rows[] = get_person_data_row($person); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** @@ -49,29 +50,29 @@ class Employees extends Persons * * @return void */ - public function getSuggest(): void + public function getSuggest(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->employee->get_search_suggestions($search, 25, true); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * @return void */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $search = $this->request->getPost('term'); $suggestions = $this->employee->get_search_suggestions($search); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * Loads the employee edit form */ - public function getView(int $employee_id = NEW_ENTRY): void + public function getView(int $employee_id = NEW_ENTRY): ResponseInterface|string { $person_info = $this->employee->get_info($employee_id); foreach (get_object_vars($person_info) as $property => $value) { @@ -98,13 +99,13 @@ class Employees extends Persons } $data['all_subpermissions'] = $permissions; - echo view('employees/form', $data); + return view('employees/form', $data); } /** * Inserts/updates an employee */ - public function postSave(int $employee_id = NEW_ENTRY): void + public function postSave(int $employee_id = NEW_ENTRY): ResponseInterface|string { $first_name = $this->request->getPost('first_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS); // TODO: duplicated code $last_name = $this->request->getPost('last_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -163,20 +164,20 @@ class Employees extends Persons if ($this->employee->save_employee($person_data, $employee_data, $grants_array, $employee_id)) { // New employee if ($employee_id == NEW_ENTRY) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Employees.successful_adding') . ' ' . $first_name . ' ' . $last_name, 'id' => $employee_data['person_id'] ]); } else { // Existing employee - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Employees.successful_updating') . ' ' . $first_name . ' ' . $last_name, 'id' => $employee_id ]); } } else { // Failure - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Employees.error_adding_updating') . ' ' . $first_name . ' ' . $last_name, 'id' => NEW_ENTRY @@ -187,17 +188,17 @@ class Employees extends Persons /** * This deletes employees from the employees table */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $employees_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if ($this->employee->delete_list($employees_to_delete)) { // TODO: this is passing a string, but delete_list expects an array - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Employees.successful_deleted') . ' ' . count($employees_to_delete) . ' ' . lang('Employees.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Employees.cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Employees.cannot_be_deleted')]); } } @@ -208,7 +209,7 @@ class Employees extends Persons * @return void * @noinspection PhpUnused */ - public function getCheckUsername($employee_id): void + public function getCheckUsername($employee_id): ResponseInterface|string { $exists = $this->employee->username_exists($employee_id, $this->request->getGet('username')); echo !$exists ? 'true' : 'false'; diff --git a/app/Controllers/Expenses.php b/app/Controllers/Expenses.php index bb5363d6c..820723bcd 100644 --- a/app/Controllers/Expenses.php +++ b/app/Controllers/Expenses.php @@ -4,6 +4,7 @@ namespace App\Controllers; use App\Models\Expense; use App\Models\Expense_category; +use CodeIgniter\HTTP\ResponseInterface; use Config\OSPOS; use Config\Services; @@ -23,7 +24,7 @@ class Expenses extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): string { $data['table_headers'] = get_expenses_manage_table_headers(); @@ -37,13 +38,13 @@ class Expenses extends Secure_Controller 'is_deleted' => lang('Expenses.is_deleted') ]; - echo view('expenses/manage', $data); + return view('expenses/manage', $data); } /** * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -78,14 +79,14 @@ class Expenses extends Secure_Controller $data_rows[] = get_expenses_data_last_row($expenses); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows, 'payment_summary' => $payment_summary]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows, 'payment_summary' => $payment_summary]); } /** * @param int $expense_id * @return void */ - public function getView(int $expense_id = NEW_ENTRY): void + public function getView(int $expense_id = NEW_ENTRY): string { $data = []; // TODO: Duplicated code @@ -125,26 +126,26 @@ class Expenses extends Secure_Controller // Don't allow gift card to be a payment option in a sale transaction edit because it's a complex change $data['payment_options'] = $this->expense->get_payment_options(); - echo view("expenses/form", $data); + return view("expenses/form", $data); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $expense_info = $this->expense->get_info($row_id); $data_row = get_expenses_data_row($expense_info); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $expense_id * @return void */ - public function postSave(int $expense_id = NEW_ENTRY): void + public function postSave(int $expense_id = NEW_ENTRY): ResponseInterface|string { $config = config(OSPOS::class)->settings; $newdate = $this->request->getPost('date', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -167,26 +168,26 @@ class Expenses extends Secure_Controller if ($this->expense->save_value($expense_data, $expense_id)) { // New Expense if ($expense_id == NEW_ENTRY) { - echo json_encode(['success' => true, 'message' => lang('Expenses.successful_adding'), 'id' => $expense_data['expense_id']]); + return $this->response->setJSON(['success' => true, 'message' => lang('Expenses.successful_adding'), 'id' => $expense_data['expense_id']]); } else { // Existing Expense - echo json_encode(['success' => true, 'message' => lang('Expenses.successful_updating'), 'id' => $expense_id]); + return $this->response->setJSON(['success' => true, 'message' => lang('Expenses.successful_updating'), 'id' => $expense_id]); } } else { // Failure - echo json_encode(['success' => false, 'message' => lang('Expenses.error_adding_updating'), 'id' => NEW_ENTRY]); + $this->response->setJSON(['success' => false, 'message' => lang('Expenses.error_adding_updating'), 'id' => NEW_ENTRY]); } } /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $expenses_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if ($this->expense->delete_list($expenses_to_delete)) { - echo json_encode(['success' => true, 'message' => lang('Expenses.successful_deleted') . ' ' . count($expenses_to_delete) . ' ' . lang('Expenses.one_or_multiple'), 'ids' => $expenses_to_delete]); + $this->response->setJSON(['success' => true, 'message' => lang('Expenses.successful_deleted') . ' ' . count($expenses_to_delete) . ' ' . lang('Expenses.one_or_multiple'), 'ids' => $expenses_to_delete]); } else { - echo json_encode(['success' => false, 'message' => lang('Expenses.cannot_be_deleted'), 'ids' => $expenses_to_delete]); + $this->response->setJSON(['success' => false, 'message' => lang('Expenses.cannot_be_deleted'), 'ids' => $expenses_to_delete]); } } } diff --git a/app/Controllers/Expenses_categories.php b/app/Controllers/Expenses_categories.php index 30eb42e0b..f5968d39b 100644 --- a/app/Controllers/Expenses_categories.php +++ b/app/Controllers/Expenses_categories.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Expense_category; +use CodeIgniter\HTTP\ResponseInterface; use Config\Services; class Expenses_categories extends Secure_Controller // TODO: Is this class ever used? @@ -19,17 +20,17 @@ class Expenses_categories extends Secure_Controller // TODO: Is this class ev /** * @return void */ - public function getIndex(): void + public function getIndex(): string { $data['table_headers'] = get_expense_category_manage_table_headers(); - echo view('expenses_categories/manage', $data); + return view('expenses_categories/manage', $data); } /** * Returns expense_category_manage table data rows. This will be called with AJAX. **/ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -45,36 +46,36 @@ class Expenses_categories extends Secure_Controller // TODO: Is this class ev $data_rows[] = get_expense_category_data_row($expense_category); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface { $data_row = get_expense_category_data_row($this->expense_category->get_info($row_id)); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $expense_category_id * @return void */ - public function getView(int $expense_category_id = NEW_ENTRY): void + public function getView(int $expense_category_id = NEW_ENTRY): string { $data['category_info'] = $this->expense_category->get_info($expense_category_id); - echo view("expenses_categories/form", $data); + return view("expenses_categories/form", $data); } /** * @param int $expense_category_id * @return void */ - public function postSave(int $expense_category_id = NEW_ENTRY): void + public function postSave(int $expense_category_id = NEW_ENTRY): ResponseInterface { $expense_category_data = [ 'category_name' => $this->request->getPost('category_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS), @@ -84,20 +85,20 @@ class Expenses_categories extends Secure_Controller // TODO: Is this class ev if ($this->expense_category->save_value($expense_category_data, $expense_category_id)) { // New expense_category if ($expense_category_id == NEW_ENTRY) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Expenses_categories.successful_adding'), 'id' => $expense_category_data['expense_category_id'] ]); } else { // Existing Expense Category - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Expenses_categories.successful_updating'), 'id' => $expense_category_id ]); } } else { // Failure - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Expenses_categories.error_adding_updating') . ' ' . $expense_category_data['category_name'], 'id' => NEW_ENTRY @@ -108,17 +109,17 @@ class Expenses_categories extends Secure_Controller // TODO: Is this class ev /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface { $expense_category_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if ($this->expense_category->delete_list($expense_category_to_delete)) { // TODO: Convert to ternary notation. - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Expenses_categories.successful_deleted') . ' ' . count($expense_category_to_delete) . ' ' . lang('Expenses_categories.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Expenses_categories.cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Expenses_categories.cannot_be_deleted')]); } } } diff --git a/app/Controllers/Giftcards.php b/app/Controllers/Giftcards.php index f0bc683fa..4b5dc0351 100644 --- a/app/Controllers/Giftcards.php +++ b/app/Controllers/Giftcards.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Giftcard; +use CodeIgniter\HTTP\ResponseInterface; use Config\OSPOS; use Config\Services; @@ -20,17 +21,17 @@ class Giftcards extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_giftcards_manage_table_headers(); - echo view('giftcards/manage', $data); + return view('giftcards/manage', $data); } /** * Returns Giftcards table data rows. This will be called with AJAX. */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -46,7 +47,7 @@ class Giftcards extends Secure_Controller $data_rows[] = get_giftcard_data_row($giftcard); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** @@ -55,41 +56,41 @@ class Giftcards extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getSuggest(): void + public function getSuggest(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->giftcard->get_search_suggestions($search, true); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * @return void */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $search = $this->request->getPost('term'); $suggestions = $this->giftcard->get_search_suggestions($search); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $data_row = get_giftcard_data_row($this->giftcard->get_info($row_id)); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $giftcard_id * @return void */ - public function getView(int $giftcard_id = NEW_ENTRY): void + public function getView(int $giftcard_id = NEW_ENTRY): ResponseInterface|string { $config = config(OSPOS::class)->settings; $giftcard_info = $this->giftcard->get_info($giftcard_id); @@ -106,14 +107,14 @@ class Giftcards extends Secure_Controller $data['giftcard_id'] = $giftcard_id; $data['giftcard_value'] = $giftcard_info->value; - echo view("giftcards/form", $data); + return view("giftcards/form", $data); } /** * @param int $giftcard_id * @return void */ - public function postSave(int $giftcard_id = NEW_ENTRY): void + public function postSave(int $giftcard_id = NEW_ENTRY): ResponseInterface|string { $giftcard_number = $this->request->getPost('giftcard_number', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -131,20 +132,20 @@ class Giftcards extends Secure_Controller if ($this->giftcard->save_value($giftcard_data, $giftcard_id)) { // New giftcard if ($giftcard_id == NEW_ENTRY) { // TODO: Constant needed - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Giftcards.successful_adding') . ' ' . $giftcard_data['giftcard_number'], 'id' => $giftcard_data['giftcard_id'] ]); } else { // Existing giftcard - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Giftcards.successful_updating') . ' ' . $giftcard_data['giftcard_number'], 'id' => $giftcard_id ]); } } else { // Failure - echo json_encode([ + $this->response->setJSON([ 'success' => false, 'message' => lang('Giftcards.error_adding_updating') . ' ' . $giftcard_data['giftcard_number'], 'id' => NEW_ENTRY @@ -158,7 +159,7 @@ class Giftcards extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postCheckNumberGiftcard(): void + public function postCheckNumberGiftcard(): ResponseInterface|string { $existing_id = $this->request->getPost('giftcard_id', FILTER_SANITIZE_NUMBER_INT); $giftcard_number = $this->request->getPost('giftcard_number', FILTER_SANITIZE_NUMBER_INT); @@ -171,17 +172,17 @@ class Giftcards extends Secure_Controller /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $giftcards_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if ($this->giftcard->delete_list($giftcards_to_delete)) { - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Giftcards.successful_deleted') . ' ' . count($giftcards_to_delete) . ' ' . lang('Giftcards.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Giftcards.cannot_be_deleted')]); + $this->response->setJSON(['success' => false, 'message' => lang('Giftcards.cannot_be_deleted')]); } } } diff --git a/app/Controllers/Home.php b/app/Controllers/Home.php index 698d7961f..f33fad261 100644 --- a/app/Controllers/Home.php +++ b/app/Controllers/Home.php @@ -3,6 +3,7 @@ namespace App\Controllers; use CodeIgniter\HTTP\RedirectResponse; +use CodeIgniter\HTTP\ResponseInterface; class Home extends Secure_Controller { @@ -14,10 +15,10 @@ class Home extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $logged_in = $this->employee->is_logged_in(); - echo view('home/home'); + return view('home/home'); } /** @@ -37,7 +38,7 @@ class Home extends Secure_Controller * * @noinspection PhpUnused */ - public function getChangePassword(int $employee_id = -1): void // TODO: Replace -1 with a constant + public function getChangePassword(int $employee_id = -1): ResponseInterface|string // TODO: Replace -1 with a constant { $person_info = $this->employee->get_info($employee_id); foreach (get_object_vars($person_info) as $property => $value) { @@ -45,13 +46,13 @@ class Home extends Secure_Controller } $data['person_info'] = $person_info; - echo view('home/form_change_password', $data); + return view('home/form_change_password', $data); } /** * Change employee password */ - public function postSave(int $employee_id = -1): void // TODO: Replace -1 with a constant + public function postSave(int $employee_id = -1): ResponseInterface|string // TODO: Replace -1 with a constant { if (!empty($this->request->getPost('current_password')) && $employee_id != -1) { if ($this->employee->check_password($this->request->getPost('username', FILTER_SANITIZE_FULL_SPECIAL_CHARS), $this->request->getPost('current_password'))) { @@ -62,27 +63,27 @@ class Home extends Secure_Controller ]; if ($this->employee->change_password($employee_data, $employee_id) && strlen($employee_data['password']) >= 8) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Employees.successful_change_password'), 'id' => $employee_id ]); } else { // Failure // TODO: Replace -1 with constant - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Employees.unsuccessful_change_password'), 'id' => -1 ]); } } else { // TODO: Replace -1 with constant - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Employees.current_password_invalid'), 'id' => -1 ]); } } else { // TODO: Replace -1 with constant - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Employees.current_password_invalid'), 'id' => -1 diff --git a/app/Controllers/Item_kits.php b/app/Controllers/Item_kits.php index d5b0f8774..7fdad9611 100644 --- a/app/Controllers/Item_kits.php +++ b/app/Controllers/Item_kits.php @@ -7,6 +7,7 @@ use App\Libraries\Barcode_lib; use App\Models\Item; use App\Models\Item_kit; use App\Models\Item_kit_items; +use CodeIgniter\HTTP\ResponseInterface; use Config\Services; class Item_kits extends Secure_Controller @@ -61,17 +62,17 @@ class Item_kits extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_item_kits_manage_table_headers(); - echo view('item_kits/manage', $data); + return view('item_kits/manage', $data); } /** * Returns Item_kit table data rows. This will be called with AJAX. */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search') ?? ''; $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -89,37 +90,37 @@ class Item_kits extends Secure_Controller $data_rows[] = get_item_kit_data_row($item_kit); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * @return void */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $search = $this->request->getPost('term'); $suggestions = $this->item_kit->get_search_suggestions($search); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { // Calculate the total cost and retail price of the Kit, so it can be added to the table refresh $item_kit = $this->_add_totals_to_item_kit($this->item_kit->get_info($row_id)); - echo json_encode(get_item_kit_data_row($item_kit)); + return $this->response->setJSON(get_item_kit_data_row($item_kit)); } /** * @param int $item_kit_id * @return void */ - public function getView(int $item_kit_id = NEW_ENTRY): void + public function getView(int $item_kit_id = NEW_ENTRY): ResponseInterface|string { $info = $this->item_kit->get_info($item_kit_id); @@ -153,14 +154,14 @@ class Item_kits extends Secure_Controller $data['selected_kit_item_id'] = $info->kit_item_id; $data['selected_kit_item'] = ($item_kit_id > 0 && isset($info->kit_item_id)) ? $info->item_name : ''; - echo view("item_kits/form", $data); + return view("item_kits/form", $data); } /** * @param int $item_kit_id * @return void */ - public function postSave(int $item_kit_id = NEW_ENTRY): void + public function postSave(int $item_kit_id = NEW_ENTRY): ResponseInterface|string { $item_kit_data = [ 'name' => $this->request->getPost('name'), @@ -201,20 +202,20 @@ class Item_kits extends Secure_Controller } if ($new_item) { - echo json_encode([ + $this->response->setJSON([ 'success' => $success, 'message' => lang('Item_kits.successful_adding') . ' ' . $item_kit_data['name'], 'id' => $item_kit_id ]); } else { - echo json_encode([ + $this->response->setJSON([ 'success' => $success, 'message' => lang('Item_kits.successful_updating') . ' ' . $item_kit_data['name'], 'id' => $item_kit_id ]); } } else { // Failure - echo json_encode([ + $this->response->setJSON([ 'success' => false, 'message' => lang('Item_kits.error_adding_updating') . ' ' . $item_kit_data['name'], 'id' => NEW_ENTRY @@ -225,17 +226,17 @@ class Item_kits extends Secure_Controller /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $item_kits_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if ($this->item_kit->delete_list($item_kits_to_delete)) { - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Item_kits.successful_deleted') . ' ' . count($item_kits_to_delete) . ' ' . lang('Item_kits.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Item_kits.cannot_be_deleted')]); + $this->response->setJSON(['success' => false, 'message' => lang('Item_kits.cannot_be_deleted')]); } } @@ -245,7 +246,7 @@ class Item_kits extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postCheckItemNumber(): void + public function postCheckItemNumber(): ResponseInterface|string { $exists = $this->item_kit->item_number_exists($this->request->getPost('item_kit_number', FILTER_SANITIZE_FULL_SPECIAL_CHARS), $this->request->getPost('item_kit_id', FILTER_SANITIZE_NUMBER_INT)); echo !$exists ? 'true' : 'false'; @@ -258,7 +259,7 @@ class Item_kits extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getGenerateBarcodes(string $item_kit_ids): void + public function getGenerateBarcodes(string $item_kit_ids): ResponseInterface|string { $barcode_lib = new Barcode_lib(); $result = []; @@ -289,6 +290,6 @@ class Item_kits extends Secure_Controller $data['barcode_config'] = $barcode_config; // Display barcodes - echo view("barcodes/barcode_sheet", $data); + return view("barcodes/barcode_sheet", $data); } } diff --git a/app/Controllers/Items.php b/app/Controllers/Items.php index 154174024..07fe2a37a 100644 --- a/app/Controllers/Items.php +++ b/app/Controllers/Items.php @@ -15,6 +15,7 @@ use App\Models\Stock_location; use App\Models\Supplier; use App\Models\Tax_category; +use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\Images\Handlers\BaseHandler; use CodeIgniter\HTTP\DownloadResponse; use Config\OSPOS; @@ -67,7 +68,7 @@ class Items extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $this->session->set('allow_temp_items', 0); @@ -86,14 +87,14 @@ class Items extends Secure_Controller 'temporary' => lang('Items.temp') ]; - echo view('items/manage', $data); + return view('items/manage', $data); } /** * Returns Items table data rows. This will be called with AJAX. * @noinspection PhpUnused **/ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -134,7 +135,7 @@ class Items extends Secure_Controller } } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** @@ -143,7 +144,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getPicThumb(string $pic_filename): void + public function getPicThumb(string $pic_filename): ResponseInterface|string { helper('file'); @@ -172,7 +173,7 @@ class Items extends Secure_Controller * Gives search suggestions based on what is being searched for * @noinspection PhpUnused */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $options = [ 'search_custom' => $this->request->getPost('search_custom'), @@ -182,7 +183,7 @@ class Items extends Secure_Controller $search = $this->request->getPost('term'); $suggestions = $this->item->get_search_suggestions($search, $options); - echo json_encode($suggestions); + return $this->response->JSON($suggestions); } /** @@ -190,63 +191,63 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getSuggest(): void + public function getSuggest(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->item->get_search_suggestions($search, ['search_custom' => false, 'is_deleted' => false], true); - echo json_encode($suggestions); + return $this->response->JSON($suggestions); } /** * @return void * @noinspection PhpUnused */ - public function getSuggestLowSell(): void + public function getSuggestLowSell(): ResponseInterface|string { $suggestions = $this->item->get_low_sell_suggestions($this->request->getPostGet('name')); - echo json_encode($suggestions); + return $this->response->JSON($suggestions); } /** * @return void * @noinspection PhpUnused */ - public function getSuggestKits(): void + public function getSuggestKits(): ResponseInterface|string { $suggestions = $this->item->get_kit_search_suggestions($this->request->getGet('term'), ['search_custom' => false, 'is_deleted' => false], true); - echo json_encode($suggestions); + return $this->response->JSON($suggestions); } /** * Gives search suggestions based on what is being searched for. Called from the view. * @noinspection PhpUnused */ - public function getSuggestCategory(): void + public function getSuggestCategory(): ResponseInterface|string { $suggestions = $this->item->get_category_suggestions($this->request->getGet('term')); - echo json_encode($suggestions); + return $this->response->JSON($suggestions); } /** * Gives search suggestions based on what is being searched for. * @noinspection PhpUnused */ - public function getSuggestLocation(): void + public function getSuggestLocation(): ResponseInterface|string { $suggestions = $this->item->get_location_suggestions($this->request->getGet('term')); - echo json_encode($suggestions); + return $this->response->JSON($suggestions); } /** * @param string $item_ids * @return void */ - public function getRow(string $item_ids): void // TODO: An array would be better for parameter. + public function getRow(string $item_ids): ResponseInterface|string // TODO: An array would be better for parameter. { $item_infos = $this->item->get_multiple_info(explode(':', $item_ids), $this->item_lib->get_item_location()); @@ -256,14 +257,14 @@ class Items extends Secure_Controller $result[$item_info->item_id] = get_item_data_row($item_info); } - echo json_encode($result); + return $this->response->JSON($result); } /** * @param int $item_id * @return void */ - public function getView(int $item_id = NEW_ENTRY): void // TODO: Long function. Perhaps we need to refactor out some methods. + public function getView(int $item_id = NEW_ENTRY): ResponseInterface|string // TODO: Long function. Perhaps we need to refactor out some methods. { $item_id ??= NEW_ENTRY; @@ -395,7 +396,7 @@ class Items extends Secure_Controller $data['selected_low_sell_item'] = ''; } - echo view('items/form', $data); + return view('items/form', $data); } /** @@ -405,7 +406,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getInventory(int $item_id = NEW_ENTRY): void + public function getInventory(int $item_id = NEW_ENTRY): ResponseInterface|string { $item_info = $this->item->get_info($item_id); // TODO: Duplicate code @@ -424,7 +425,7 @@ class Items extends Secure_Controller $data['item_quantities'][$location['location_id']] = $quantity; } - echo view('items/form_inventory', $data); + return view('items/form_inventory', $data); } /** @@ -432,7 +433,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getCountDetails(int $item_id = NEW_ENTRY): void + public function getCountDetails(int $item_id = NEW_ENTRY): ResponseInterface|string { $item_info = $this->item->get_info($item_id); // TODO: Duplicate code @@ -451,7 +452,7 @@ class Items extends Secure_Controller $data['item_quantities'][$location['location_id']] = $quantity; } - echo view('items/form_count_details', $data); + return view('items/form_count_details', $data); } /** @@ -461,7 +462,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getGenerateBarcodes(string $item_ids): void // TODO: Passing these through as a string instead of an array limits the contents of the item_ids. Perhaps a better approach would to serialize as JSON in an array and pass through post variables? + public function getGenerateBarcodes(string $item_ids): ResponseInterface|string // TODO: Passing these through as a string instead of an array limits the contents of the item_ids. Perhaps a better approach would to serialize as JSON in an array and pass through post variables? { $item_ids = explode(':', $item_ids); $result = $this->item->get_multiple_info($item_ids, $this->item_lib->get_item_location())->getResultArray(); @@ -477,7 +478,7 @@ class Items extends Secure_Controller } $data['items'] = $result; - echo view('barcodes/barcode_sheet', $data); + return view('barcodes/barcode_sheet', $data); } /** @@ -486,7 +487,7 @@ class Items extends Secure_Controller * @param int $item_id * @return void */ - public function getAttributes(int $item_id = NEW_ENTRY): void + public function getAttributes(int $item_id = NEW_ENTRY): ResponseInterface|string { $data['item_id'] = $item_id; $definition_ids = json_decode($this->request->getGet('definition_ids') ?? '', true); @@ -514,7 +515,7 @@ class Items extends Secure_Controller unset($data['definition_names'][$definition_id]); } - echo view('attributes/item', $data); + return view('attributes/item', $data); } /** @@ -522,7 +523,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postAttributes(int $item_id = NEW_ENTRY): void + public function postAttributes(int $item_id = NEW_ENTRY): ResponseInterface|string { $data['item_id'] = $item_id; $definition_ids = json_decode($this->request->getPost('definition_ids'), true); @@ -550,7 +551,7 @@ class Items extends Secure_Controller unset($data['definition_names'][$definition_id]); } - echo view('attributes/item', $data); + return view('attributes/item', $data); } /** @@ -559,7 +560,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getBulkEdit(): void + public function getBulkEdit(): ResponseInterface|string { $suppliers = ['' => lang('Items.none')]; @@ -580,14 +581,14 @@ class Items extends Secure_Controller 0 => lang('Items.change_all_to_unserialized') ]; - echo view('items/form_bulk', $data); + return view('items/form_bulk', $data); } /** * @param int $item_id * @throws ReflectionException */ - public function postSave(int $item_id = NEW_ENTRY): void + public function postSave(int $item_id = NEW_ENTRY): ResponseInterface|string { $upload_data = $this->upload_image(); $upload_success = empty($upload_data['error']); @@ -717,16 +718,16 @@ class Items extends Secure_Controller if ($success && $upload_success) { $message = lang('Items.successful_' . ($new_item ? 'adding' : 'updating')) . ' ' . $item_data['name']; - echo json_encode(['success' => true, 'message' => $message, 'id' => $item_id]); + return $this->response->JSON(['success' => true, 'message' => $message, 'id' => $item_id]); } else { $message = $upload_success ? lang('Items.error_adding_updating') . ' ' . $item_data['name'] : strip_tags($upload_data['error']); - echo json_encode(['success' => false, 'message' => $message, 'id' => $item_id]); + return $this->response->JSON(['success' => false, 'message' => $message, 'id' => $item_id]); } } else { $message = lang('Items.error_adding_updating') . ' ' . $item_data['name']; - echo json_encode(['success' => false, 'message' => $message, 'id' => NEW_ENTRY]); + return $this->response->JSON(['success' => false, 'message' => $message, 'id' => NEW_ENTRY]); } } @@ -780,7 +781,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postCheckItemNumber(): void + public function postCheckItemNumber(): ResponseInterface|string { $exists = $this->item->item_number_exists($this->request->getPost('item_number'), $this->request->getPost('item_id')); @@ -792,7 +793,7 @@ class Items extends Secure_Controller * * @return void */ - public function check_kit_exists(): void // TODO: This function appears to be never called in the code. Need to confirm. + public function check_kit_exists(): ResponseInterface|string // TODO: This function appears to be never called in the code. Need to confirm. { if ($this->request->getPost('item_number') === NEW_ENTRY) { $exists = $this->item_kit->item_kit_exists_for_name($this->request->getPost('name')); // TODO: item_kit_exists_for_name doesn't exist in Item_kit. I looked at the blame and it appears to have never existed. @@ -807,19 +808,19 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getRemoveLogo($item_id): void + public function getRemoveLogo($item_id): ResponseInterface|string { $item_data = ['pic_filename' => null]; $result = $this->item->save_value($item_data, $item_id); - echo json_encode(['success' => $result]); + return $this->response->JSON(['success' => $result]); } /** * @throws ReflectionException * @noinspection PhpUnused */ - public function postSaveInventory($item_id = NEW_ENTRY): void + public function postSaveInventory($item_id = NEW_ENTRY): ResponseInterface|string { $employee_id = $this->employee->get_logged_in_employee_info()->person_id; $cur_item_info = $this->item->get_info($item_id); @@ -847,11 +848,11 @@ class Items extends Secure_Controller if ($this->item_quantity->save_value($item_quantity_data, $item_id, $location_id)) { $message = lang('Items.successful_updating') . " $cur_item_info->name"; - echo json_encode(['success' => true, 'message' => $message, 'id' => $item_id]); + return $this->response->JSON(['success' => true, 'message' => $message, 'id' => $item_id]); } else { $message = lang('Items.error_adding_updating') . " $cur_item_info->name"; - echo json_encode(['success' => false, 'message' => $message, 'id' => NEW_ENTRY]); + return $this->response->JSON(['success' => false, 'message' => $message, 'id' => NEW_ENTRY]); } } @@ -859,7 +860,7 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postBulkUpdate(): void + public function postBulkUpdate(): ResponseInterface|string { $items_to_update = $this->request->getPost('item_ids'); $item_data = []; @@ -891,23 +892,23 @@ class Items extends Secure_Controller $this->item_taxes->save_multiple($items_taxes_data, $items_to_update); } - echo json_encode(['success' => true, 'message' => lang('Items.successful_bulk_edit'), 'id' => $items_to_update]); + return $this->response->JSON(['success' => true, 'message' => lang('Items.successful_bulk_edit'), 'id' => $items_to_update]); } else { - echo json_encode(['success' => false, 'message' => lang('Items.error_updating_multiple')]); + return $this->response->JSON(['success' => false, 'message' => lang('Items.error_updating_multiple')]); } } /** */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $items_to_delete = $this->request->getPost('ids'); if ($this->item->delete_list($items_to_delete)) { $message = lang('Items.successful_deleted') . ' ' . count($items_to_delete) . ' ' . lang('Items.one_or_multiple'); - echo json_encode(['success' => true, 'message' => $message]); + return $this->response->JSON(['success' => true, 'message' => $message]); } else { - echo json_encode(['success' => false, 'message' => lang('Items.cannot_be_deleted')]); + return $this->response->JSON(['success' => false, 'message' => lang('Items.cannot_be_deleted')]); } } @@ -932,9 +933,9 @@ class Items extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getCsvImport(): void + public function getCsvImport(): ResponseInterface|string { - echo view('items/form_csv_import'); + return view('items/form_csv_import'); } /** @@ -942,12 +943,12 @@ class Items extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postImportCsvFile(): void + public function postImportCsvFile(): ResponseInterface|string { helper('importfile_helper'); try { if ($_FILES['file_path']['error'] !== UPLOAD_ERR_OK) { - echo json_encode(['success' => false, 'message' => lang('Items.csv_import_failed')]); + return $this->response->JSON(['success' => false, 'message' => lang('Items.csv_import_failed')]); } else { if (file_exists($_FILES['file_path']['tmp_name'])) { set_time_limit(240); @@ -1037,19 +1038,18 @@ class Items extends Secure_Controller if (count($failCodes) > 0) { $message = lang('Items.csv_import_partially_failed', [count($failCodes), implode(', ', $failCodes)]); $db->transRollback(); - echo json_encode(['success' => false, 'message' => $message]); + return $this->response->JSON(['success' => false, 'message' => $message]); } else { $db->transCommit(); - echo json_encode(['success' => true, 'message' => lang('Items.csv_import_success')]); + return $this->response->JSON(['success' => true, 'message' => lang('Items.csv_import_success')]); } } else { - echo json_encode(['success' => false, 'message' => lang('Items.csv_import_nodata_wrongformat')]); + return $this->response->JSON(['success' => false, 'message' => lang('Items.csv_import_nodata_wrongformat')]); } } } catch (Exception $e) { - echo json_encode(['success' => false, 'message' => $e->getMessage()]); - return; + return $this->response->JSON(['success' => false, 'message' => $e->getMessage()]); } } diff --git a/app/Controllers/Messages.php b/app/Controllers/Messages.php index eb1b18a89..1a1540ee0 100644 --- a/app/Controllers/Messages.php +++ b/app/Controllers/Messages.php @@ -5,6 +5,7 @@ namespace App\Controllers; use App\Libraries\Sms_lib; use App\Models\Person; +use CodeIgniter\HTTP\ResponseInterface; class Messages extends Secure_Controller { @@ -20,16 +21,16 @@ class Messages extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { - echo view('messages/sms'); + return view('messages/sms'); } /** * @param int $person_id * @return void */ - public function getView(int $person_id = NEW_ENTRY): void + public function getView(int $person_id = NEW_ENTRY): ResponseInterface|string { $person = model(Person::class); $info = $person->get_info($person_id); @@ -39,13 +40,13 @@ class Messages extends Secure_Controller } $data['person_info'] = $info; - echo view('messages/form_sms', $data); + return view('messages/form_sms', $data); } /** * @return void */ - public function send(): void + public function send(): ResponseInterface|string { $phone = $this->request->getPost('phone', FILTER_SANITIZE_FULL_SPECIAL_CHARS); $message = $this->request->getPost('message', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -53,9 +54,9 @@ class Messages extends Secure_Controller $response = $this->sms_lib->sendSMS($phone, $message); if ($response) { - echo json_encode(['success' => true, 'message' => lang('Messages.successfully_sent') . ' ' . esc($phone)]); + $this->response->setJSON(['success' => true, 'message' => lang('Messages.successfully_sent') . ' ' . esc($phone)]); } else { - echo json_encode(['success' => false, 'message' => lang('Messages.unsuccessfully_sent') . ' ' . esc($phone)]); + $this->response->setJSON(['success' => false, 'message' => lang('Messages.unsuccessfully_sent') . ' ' . esc($phone)]); } } @@ -66,7 +67,7 @@ class Messages extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function send_form(int $person_id = NEW_ENTRY): void + public function send_form(int $person_id = NEW_ENTRY): ResponseInterface|string { $phone = $this->request->getPost('phone', FILTER_SANITIZE_FULL_SPECIAL_CHARS); $message = $this->request->getPost('message', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -74,13 +75,13 @@ class Messages extends Secure_Controller $response = $this->sms_lib->sendSMS($phone, $message); if ($response) { - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Messages.successfully_sent') . ' ' . esc($phone), 'person_id' => $person_id ]); } else { - echo json_encode([ + $this->response->setJSON([ 'success' => false, 'message' => lang('Messages.unsuccessfully_sent') . ' ' . esc($phone), 'person_id' => NEW_ENTRY diff --git a/app/Controllers/No_access.php b/app/Controllers/No_access.php index 31d3ee11d..36417cf83 100644 --- a/app/Controllers/No_access.php +++ b/app/Controllers/No_access.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Module; +use CodeIgniter\HTTP\ResponseInterface; /** * Part of the grants mechanism to restrict access to modules that the user doesn't have permission for. @@ -24,11 +25,11 @@ class No_access extends BaseController * @param string $permission_id * @return void */ - public function getIndex(string $module_id = '', string $permission_id = ''): void + public function getIndex(string $module_id = '', string $permission_id = ''): ResponseInterface|string { $data['module_name'] = $this->module->get_module_name($module_id); $data['permission_id'] = $permission_id; - echo view('no_access', $data); + return view('no_access', $data); } } diff --git a/app/Controllers/Office.php b/app/Controllers/Office.php index de44da655..fe954cdce 100644 --- a/app/Controllers/Office.php +++ b/app/Controllers/Office.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Employee; +use CodeIgniter\HTTP\ResponseInterface; /** * @property Employee employee @@ -19,15 +20,15 @@ class Office extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { - echo view('home/office'); + return view('home/office'); } /** * @return void */ - public function logout(): void + public function logout(): ResponseInterface|string { $this->employee = model(Employee::class); diff --git a/app/Controllers/Persons.php b/app/Controllers/Persons.php index d007657b6..3bec746c6 100644 --- a/app/Controllers/Persons.php +++ b/app/Controllers/Persons.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Person; +use CodeIgniter\HTTP\ResponseInterface; use Config\Services; use function Tamtamchik\NameCase\str_name_case; @@ -23,32 +24,32 @@ abstract class Persons extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_people_manage_table_headers(); - echo view('people/manage', $data); + return view('people/manage', $data); } /** * Gives search suggestions based on what is being searched for */ - public function getSuggest(): void + public function getSuggest(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->person->get_search_suggestions($search); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** * Gets one row for a person manage table. This is called using AJAX to update one row. */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $data_row = get_person_data_row($this->person->get_info($row_id)); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** diff --git a/app/Controllers/Receivings.php b/app/Controllers/Receivings.php index 91503ee00..50bba1fea 100644 --- a/app/Controllers/Receivings.php +++ b/app/Controllers/Receivings.php @@ -11,6 +11,7 @@ use App\Models\Item_kit; use App\Models\Receiving; use App\Models\Stock_location; use App\Models\Supplier; +use CodeIgniter\HTTP\ResponseInterface; use Config\OSPOS; use Config\Services; use ReflectionException; @@ -48,7 +49,7 @@ class Receivings extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $this->_reload(); } @@ -59,13 +60,13 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getItemSearch(): void + public function getItemSearch(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->item->get_search_suggestions($search, ['search_custom' => false, 'is_deleted' => false], true); $suggestions = array_merge($suggestions, $this->item_kit->get_search_suggestions($search)); - echo json_encode($suggestions); + $this->response->setJSON($suggestions); } /** @@ -74,13 +75,13 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getStockItemSearch(): void + public function getStockItemSearch(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->item->get_stock_search_suggestions($search, ['search_custom' => false, 'is_deleted' => false], true); $suggestions = array_merge($suggestions, $this->item_kit->get_search_suggestions($search)); - echo json_encode($suggestions); + $this->response->setJSON($suggestions); } /** @@ -89,14 +90,14 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSelectSupplier(): void + public function postSelectSupplier(): ResponseInterface|string { $supplier_id = $this->request->getPost('supplier', FILTER_SANITIZE_NUMBER_INT); if ($this->supplier->exists($supplier_id)) { $this->receiving_lib->set_supplier($supplier_id); } - $this->_reload(); // TODO: Hungarian notation + return $this->_reload(); // TODO: Hungarian notation } /** @@ -105,7 +106,7 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postChangeMode(): void + public function postChangeMode(): ResponseInterface|string { $stock_destination = $this->request->getPost('stock_destination', FILTER_SANITIZE_FULL_SPECIAL_CHARS); $stock_source = $this->request->getPost('stock_source', FILTER_SANITIZE_NUMBER_INT); @@ -121,7 +122,7 @@ class Receivings extends Secure_Controller $this->receiving_lib->set_stock_destination($stock_destination); } - $this->_reload(); // TODO: Hungarian notation + return $this->_reload(); // TODO: Hungarian notation } /** @@ -163,7 +164,7 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postAdd(): void + public function postAdd(): ResponseInterface|string { $data = []; @@ -183,7 +184,7 @@ class Receivings extends Secure_Controller $data['error'] = lang('Receivings.unable_to_add_item'); } - $this->_reload($data); // TODO: Hungarian notation + return $this->_reload($data); // TODO: Hungarian notation } /** @@ -193,7 +194,7 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postEditItem($item_id): void + public function postEditItem($item_id): ResponseInterface|string { $data = []; @@ -222,7 +223,7 @@ class Receivings extends Secure_Controller $data['error'] = lang('Receivings.error_editing_item'); } - $this->_reload($data); // TODO: Hungarian notation + return $this->_reload($data); // TODO: Hungarian notation } /** @@ -232,7 +233,7 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getEdit($receiving_id): void + public function getEdit($receiving_id): ResponseInterface|string { $data = []; @@ -251,7 +252,7 @@ class Receivings extends Secure_Controller $data['selected_supplier_id'] = $receiving_info['supplier_id']; $data['receiving_info'] = $receiving_info; - echo view('receivings/form', $data); + return view('receivings/form', $data); } /** @@ -261,29 +262,29 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getDeleteItem($item_number): void + public function getDeleteItem($item_number): ResponseInterface|string { $this->receiving_lib->delete_item($item_number); - $this->_reload(); // TODO: Hungarian notation + return $this->_reload(); // TODO: Hungarian notation } /** * @throws ReflectionException */ - public function postDelete(int $receiving_id = -1, bool $update_inventory = true): void + public function postDelete(int $receiving_id = -1, bool $update_inventory = true): ResponseInterface|string { $employee_id = $this->employee->get_logged_in_employee_info()->person_id; $receiving_ids = $receiving_id == -1 ? $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT) : [$receiving_id]; // TODO: Replace -1 with constant if ($this->receiving->delete_list($receiving_ids, $employee_id, $update_inventory)) { // TODO: Likely need to surround this block of code in a try-catch to catch the ReflectionException - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Receivings.successfully_deleted') . ' ' . count($receiving_ids) . ' ' . lang('Receivings.one_or_multiple'), 'ids' => $receiving_ids ]); } else { - echo json_encode(['success' => false, 'message' => lang('Receivings.cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Receivings.cannot_be_deleted')]); } } @@ -293,12 +294,12 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getRemoveSupplier(): void + public function getRemoveSupplier(): ResponseInterface|string { $this->receiving_lib->clear_reference(); $this->receiving_lib->remove_supplier(); - $this->_reload(); // TODO: Hungarian notation + return $this->_reload(); // TODO: Hungarian notation } /** @@ -307,7 +308,7 @@ class Receivings extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postComplete(): void + public function postComplete(): ResponseInterface|string { $data = []; @@ -356,9 +357,11 @@ class Receivings extends Secure_Controller $data['print_after_sale'] = $this->receiving_lib->is_print_after_sale(); - echo view("receivings/receipt", $data); + $view = view("receivings/receipt", $data); $this->receiving_lib->clear_all(); + + return $view; } /** @@ -367,7 +370,7 @@ class Receivings extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postRequisitionComplete(): void + public function postRequisitionComplete(): ResponseInterface|string { if ($this->receiving_lib->get_stock_source() != $this->receiving_lib->get_stock_destination()) { foreach ($this->receiving_lib->get_cart() as $item) { @@ -376,11 +379,11 @@ class Receivings extends Secure_Controller $this->receiving_lib->add_item($item['item_id'], -$item['quantity'], $this->receiving_lib->get_stock_source(), $item['discount_type']); } - $this->postComplete(); + return $this->postComplete(); } else { $data['error'] = lang('Receivings.error_requisition'); - $this->_reload($data); // TODO: Hungarian notation + return $this->_reload($data); // TODO: Hungarian notation } } @@ -391,7 +394,7 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getReceipt($receiving_id): void + public function getReceipt($receiving_id): ResponseInterface|string { $receiving_info = $this->receiving->get_info($receiving_id)->getRowArray(); $this->receiving_lib->copy_entire_receiving($receiving_id); @@ -424,16 +427,18 @@ class Receivings extends Secure_Controller $data['print_after_sale'] = false; - echo view("receivings/receipt", $data); + $view = view("receivings/receipt", $data); $this->receiving_lib->clear_all(); + + return $view; } /** * @param array $data * @return void */ - private function _reload(array $data = []): void // TODO: Hungarian notation + private function _reload(array $data = []): ResponseInterface|string // TODO: Hungarian notation { $data['cart'] = $this->receiving_lib->get_cart(); $data['modes'] = ['receive' => lang('Receivings.receiving'), 'return' => lang('Receivings.return')]; @@ -470,13 +475,13 @@ class Receivings extends Secure_Controller $data['print_after_sale'] = $this->receiving_lib->is_print_after_sale(); - echo view("receivings/receiving", $data); + return view("receivings/receiving", $data); } /** * @throws ReflectionException */ - public function postSave(int $receiving_id = -1): void // TODO: Replace -1 with a constant + public function postSave(int $receiving_id = -1): ResponseInterface|string // TODO: Replace -1 with a constant { $newdate = $this->request->getPost('date', FILTER_SANITIZE_FULL_SPECIAL_CHARS); // TODO: newdate does not follow naming conventions @@ -493,13 +498,13 @@ class Receivings extends Secure_Controller $this->inventory->update('RECV ' . $receiving_id, ['trans_date' => $receiving_time]); if ($this->receiving->update($receiving_id, $receiving_data)) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Receivings.successfully_updated'), 'id' => $receiving_id ]); } else { - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Receivings.unsuccessfully_updated'), 'id' => $receiving_id @@ -513,10 +518,10 @@ class Receivings extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postCancelReceiving(): void + public function postCancelReceiving(): ResponseInterface|string { $this->receiving_lib->clear_all(); - $this->_reload(); // TODO: Hungarian Notation + return $this->_reload(); // TODO: Hungarian Notation } } diff --git a/app/Controllers/Reports.php b/app/Controllers/Reports.php index dd01da1c0..0ef7f888a 100644 --- a/app/Controllers/Reports.php +++ b/app/Controllers/Reports.php @@ -25,6 +25,7 @@ use App\Models\Reports\Summary_sales; use App\Models\Reports\Summary_sales_taxes; use App\Models\Reports\Summary_suppliers; use App\Models\Reports\Summary_taxes; +use CodeIgniter\HTTP\ResponseInterface; use Config\OSPOS; use Config\Services; @@ -94,7 +95,7 @@ class Reports extends Secure_Controller /** * @return void */ - public function index(): void + public function index(): ResponseInterface|string { $this->getIndex(); } @@ -102,7 +103,7 @@ class Reports extends Secure_Controller /** * Initial Report listing screen */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $person_id = $this->session->get('person_id'); $grants = $this->employee->get_employee_grants($this->session->get('person_id')); @@ -114,7 +115,7 @@ class Reports extends Secure_Controller 'permission_ids' => $permissions_ids, ]; - echo view('reports/listing', $data); + return view('reports/listing', $data); } /** @@ -125,7 +126,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function summary_sales(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void // TODO: Perhaps these need to be passed as an array? Too many parameters in the signature. + public function summary_sales(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string // TODO: Perhaps these need to be passed as an array? Too many parameters in the signature. { // TODO: Duplicated code $this->clearCache(); @@ -161,7 +162,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -172,7 +173,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function summary_categories(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function summary_categories(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated code $this->clearCache(); @@ -207,7 +208,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -217,7 +218,7 @@ class Reports extends Secure_Controller * @param string $sale_type * @return void */ - public function summary_expenses_categories(string $start_date, string $end_date, string $sale_type): void + public function summary_expenses_categories(string $start_date, string $end_date, string $sale_type): ResponseInterface|string { $this->clearCache(); @@ -244,7 +245,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -255,7 +256,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function summary_customers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function summary_customers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -292,7 +293,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -303,7 +304,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function summary_suppliers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function summary_suppliers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -338,7 +339,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -349,7 +350,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function summary_items(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function summary_items(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -388,7 +389,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -399,7 +400,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function summary_employees(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function summary_employees(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -436,7 +437,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -447,7 +448,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function summary_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function summary_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicate Code $this->clearCache(); @@ -482,13 +483,13 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** * Summary Sales Taxes report */ - public function summary_sales_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function summary_sales_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated code $this->clearCache(); @@ -521,7 +522,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -530,7 +531,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function summary_discounts_input(): void + public function summary_discounts_input(): ResponseInterface|string { $this->clearCache(); @@ -541,13 +542,13 @@ class Reports extends Secure_Controller $data['discount_type_options'] = ['0' => lang('Reports.discount_percent'), '1' => lang('Reports.discount_fixed')]; $data['sale_type_options'] = $this->get_sale_type_options(); - echo view('reports/date_input', $data); + return view('reports/date_input', $data); } /** * Summary Discounts report **/ - public function summary_discounts(string $start_date, string $end_date, string $sale_type, string $location_id = 'all', int $discount_type = 0): void + public function summary_discounts(string $start_date, string $end_date, string $sale_type, string $location_id = 'all', int $discount_type = 0): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -579,13 +580,13 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** * Summary Payments report */ - public function summary_payments(string $start_date, string $end_date): void + public function summary_payments(string $start_date, string $end_date): ResponseInterface|string { $this->clearCache(); @@ -637,7 +638,7 @@ class Reports extends Secure_Controller 'summary_data' => $summary ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -646,7 +647,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function date_input(): void + public function date_input(): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -656,7 +657,7 @@ class Reports extends Secure_Controller $data['mode'] = 'sale'; $data['sale_type_options'] = $this->get_sale_type_options(); - echo view('reports/date_input', $data); + return view('reports/date_input', $data); } /** @@ -665,12 +666,12 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function date_input_only(): void + public function date_input_only(): ResponseInterface|string { $this->clearCache(); $data = []; - echo view('reports/date_input', $data); + return view('reports/date_input', $data); } /** @@ -679,7 +680,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function date_input_sales(): void + public function date_input_sales(): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -689,7 +690,7 @@ class Reports extends Secure_Controller $data['mode'] = 'sale'; $data['sale_type_options'] = $this->get_sale_type_options(); - echo view('reports/date_input', $data); + return view('reports/date_input', $data); } /** @@ -698,14 +699,14 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function date_input_recv(): void + public function date_input_recv(): ResponseInterface|string { $stock_locations = $data = $this->stock_location->get_allowed_locations('receivings'); $stock_locations['all'] = lang('Reports.all'); $data['stock_locations'] = array_reverse($stock_locations, true); $data['mode'] = 'receiving'; - echo view('reports/date_input', $data); + return view('reports/date_input', $data); } /** @@ -717,7 +718,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function graphical_summary_expenses_categories(string $start_date, string $end_date, string $sale_type): void + public function graphical_summary_expenses_categories(string $start_date, string $end_date, string $sale_type): ResponseInterface|string { $this->clearCache(); @@ -750,7 +751,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -762,7 +763,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_sales(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_sales(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -796,7 +797,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -808,7 +809,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_items(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_items(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -843,7 +844,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -855,7 +856,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_categories(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_categories(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -886,7 +887,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -898,7 +899,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_suppliers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_suppliers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -931,7 +932,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -943,7 +944,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_employees(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_employees(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -975,7 +976,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -987,7 +988,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -1019,7 +1020,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -1031,7 +1032,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_sales_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_sales_taxes(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -1063,7 +1064,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -1075,7 +1076,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_customers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_customers(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -1109,7 +1110,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -1122,7 +1123,7 @@ class Reports extends Secure_Controller * @param int $discount_type * @noinspection PhpUnused */ - public function graphical_summary_discounts(string $start_date, string $end_date, string $sale_type, string $location_id = 'all', int $discount_type = 0): void + public function graphical_summary_discounts(string $start_date, string $end_date, string $sale_type, string $location_id = 'all', int $discount_type = 0): ResponseInterface|string { // TODO: Duplicated Code $this->clearCache(); @@ -1157,7 +1158,7 @@ class Reports extends Secure_Controller 'show_currency' => false ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -1169,7 +1170,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function graphical_summary_payments(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function graphical_summary_payments(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -1203,7 +1204,7 @@ class Reports extends Secure_Controller 'show_currency' => true ]; - echo view('reports/graphical', $data); + return view('reports/graphical', $data); } /** @@ -1212,7 +1213,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function specific_customer_input(): void + public function specific_customer_input(): ResponseInterface|string { $this->clearCache(); @@ -1230,7 +1231,7 @@ class Reports extends Secure_Controller $data['sale_type_options'] = $this->get_sale_type_options(); $data['payment_type'] = $this->get_payment_type(); - echo view('reports/specific_customer_input', $data); + return view('reports/specific_customer_input', $data); } /** @@ -1260,7 +1261,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function specific_customers(string $start_date, string $end_date, string $customer_id, string $sale_type, string $payment_type): void + public function specific_customers(string $start_date, string $end_date, string $customer_id, string $sale_type, string $payment_type): ResponseInterface|string { $this->clearCache(); @@ -1351,7 +1352,7 @@ class Reports extends Secure_Controller 'overall_summary_data' => $specific_customer->getSummaryData($inputs) ]; - echo view('reports/tabular_details', $data); + return view('reports/tabular_details', $data); } /** @@ -1360,7 +1361,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function specific_employee_input(): void + public function specific_employee_input(): ResponseInterface|string { $this->clearCache(); @@ -1374,7 +1375,7 @@ class Reports extends Secure_Controller $data['specific_input_data'] = $employees; $data['sale_type_options'] = $this->get_sale_type_options(); - echo view('reports/specific_input', $data); + return view('reports/specific_input', $data); } /** @@ -1387,7 +1388,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function specific_employees(string $start_date, string $end_date, string $employee_id, string $sale_type): void + public function specific_employees(string $start_date, string $end_date, string $employee_id, string $sale_type): ResponseInterface|string { $this->clearCache(); @@ -1474,7 +1475,7 @@ class Reports extends Secure_Controller 'overall_summary_data' => $specific_employee->getSummaryData($inputs) ]; - echo view('reports/tabular_details', $data); + return view('reports/tabular_details', $data); } /** @@ -1483,7 +1484,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function specific_discount_input(): void + public function specific_discount_input(): ResponseInterface|string { $this->clearCache(); @@ -1498,7 +1499,7 @@ class Reports extends Secure_Controller $data['discount_type_options'] = ['0' => lang('Reports.discount_percent'), '1' => lang('Reports.discount_fixed')]; $data['sale_type_options'] = $this->get_sale_type_options(); - echo view('reports/specific_input', $data); + return view('reports/specific_input', $data); } /** @@ -1512,7 +1513,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function specific_discounts(string $start_date, string $end_date, string $discount, string $sale_type, string $discount_type): void + public function specific_discounts(string $start_date, string $end_date, string $discount, string $sale_type, string $discount_type): ResponseInterface|string { $this->clearCache(); @@ -1605,7 +1606,7 @@ class Reports extends Secure_Controller 'overall_summary_data' => $specific_discount->getSummaryData($inputs) ]; - echo view('reports/tabular_details', $data); + return view('reports/tabular_details', $data); } /** @@ -1615,7 +1616,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getGet_detailed_sales_row(string $sale_id): void + public function getGet_detailed_sales_row(string $sale_id): ResponseInterface|string { $this->clearCache(); @@ -1658,7 +1659,7 @@ class Reports extends Secure_Controller ) ]; - echo json_encode([$sale_id => $summary_data]); + $this->response->setJSON([$sale_id => $summary_data]); } /** @@ -1667,7 +1668,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function specific_supplier_input(): void + public function specific_supplier_input(): ResponseInterface|string { $this->clearCache(); @@ -1681,7 +1682,7 @@ class Reports extends Secure_Controller $data['specific_input_data'] = $suppliers; $data['sale_type_options'] = $this->get_sale_type_options(); - echo view('reports/specific_input', $data); + return view('reports/specific_input', $data); } /** @@ -1693,7 +1694,7 @@ class Reports extends Secure_Controller * @param string $sale_type * @return void */ - public function specific_suppliers(string $start_date, string $end_date, string $supplier_id, string $sale_type): void + public function specific_suppliers(string $start_date, string $end_date, string $supplier_id, string $sale_type): ResponseInterface|string { $inputs = [ 'start_date' => $start_date, @@ -1736,7 +1737,7 @@ class Reports extends Secure_Controller 'summary_data' => $specific_supplier->getSummaryData($inputs) ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -1765,7 +1766,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function detailed_sales(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): void + public function detailed_sales(string $start_date, string $end_date, string $sale_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -1869,7 +1870,7 @@ class Reports extends Secure_Controller 'details_data_rewards' => $details_data_rewards, 'overall_summary_data' => $this->detailed_sales->getSummaryData($inputs) ]; - echo view('reports/tabular_details', $data); + return view('reports/tabular_details', $data); } /** @@ -1879,7 +1880,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getGet_detailed_receivings_row(string $receiving_id): void + public function getGet_detailed_receivings_row(string $receiving_id): ResponseInterface|string { $inputs = ['receiving_id' => $receiving_id]; @@ -1909,7 +1910,7 @@ class Reports extends Secure_Controller ) ]; - echo json_encode([$receiving_id => $summary_data]); + $this->response->setJSON([$receiving_id => $summary_data]); } /** @@ -1919,7 +1920,7 @@ class Reports extends Secure_Controller * @param string $location_id * @return void */ - public function detailed_receivings(string $start_date, string $end_date, string $receiving_type, string $location_id = 'all'): void + public function detailed_receivings(string $start_date, string $end_date, string $receiving_type, string $location_id = 'all'): ResponseInterface|string { $this->clearCache(); @@ -1993,13 +1994,13 @@ class Reports extends Secure_Controller 'overall_summary_data' => $this->detailed_receivings->getSummaryData($inputs) ]; - echo view('reports/tabular_details', $data); + return view('reports/tabular_details', $data); } /** * @return void */ - public function inventory_low(): void + public function inventory_low(): ResponseInterface|string { $this->clearCache(); @@ -2028,7 +2029,7 @@ class Reports extends Secure_Controller 'summary_data' => $inventory_low->getSummaryData($inputs) ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -2037,7 +2038,7 @@ class Reports extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function inventory_summary_input(): void + public function inventory_summary_input(): ResponseInterface|string { $this->clearCache(); @@ -2048,7 +2049,7 @@ class Reports extends Secure_Controller $stock_locations['all'] = lang('Reports.all'); $data['stock_locations'] = array_reverse($stock_locations, true); - echo view('reports/inventory_summary_input', $data); + return view('reports/inventory_summary_input', $data); } /** @@ -2056,7 +2057,7 @@ class Reports extends Secure_Controller * @param string $item_count * @return void */ - public function inventory_summary(string $location_id = 'all', string $item_count = 'all'): void + public function inventory_summary(string $location_id = 'all', string $item_count = 'all'): ResponseInterface|string { $this->clearCache(); @@ -2088,7 +2089,7 @@ class Reports extends Secure_Controller 'summary_data' => $this->inventory_summary->getSummaryData($report_data) ]; - echo view('reports/tabular', $data); + return view('reports/tabular', $data); } /** @@ -2110,7 +2111,7 @@ class Reports extends Secure_Controller /** * @return void */ - private function clearCache(): void + private function clearCache(): ResponseInterface|string { // Make sure the report is not cached by the browser $this->response->setHeader('Pragma', 'no-cache') diff --git a/app/Controllers/Sales.php b/app/Controllers/Sales.php index 7668d9f53..f3882db18 100644 --- a/app/Controllers/Sales.php +++ b/app/Controllers/Sales.php @@ -68,7 +68,7 @@ class Sales extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $this->session->set('allow_temp_items', 1); $this->_reload(); // TODO: Hungarian Notation @@ -80,7 +80,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getManage(): void + public function getManage(): ResponseInterface|string { $person_id = $this->session->get('person_id'); @@ -107,7 +107,7 @@ class Sales extends Secure_Controller } $data['selected_filters'] = $selected_filters; - echo view('sales/manage', $data); + return view('sales/manage', $data); } } @@ -115,18 +115,18 @@ class Sales extends Secure_Controller * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $sale_info = $this->sale->get_info($row_id)->getRow(); $data_row = get_sale_data_row($sale_info); - echo json_encode($data_row); + $this->response->setJSON($data_row); } /** * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search', FILTER_SANITIZE_FULL_SPECIAL_CHARS); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -166,7 +166,7 @@ class Sales extends Secure_Controller $data_rows[] = get_sale_data_last_row($sales); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows, 'payment_summary' => $payment_summary]); + $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows, 'payment_summary' => $payment_summary]); } /** @@ -175,7 +175,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getItemSearch(): void + public function getItemSearch(): ResponseInterface|string { $suggestions = []; $receipt = $search = $this->request->getGet('term') != '' @@ -189,13 +189,13 @@ class Sales extends Secure_Controller $suggestions = array_merge($suggestions, $this->item->get_search_suggestions($search, ['search_custom' => false, 'is_deleted' => false], true)); $suggestions = array_merge($suggestions, $this->item_kit->get_search_suggestions($search)); - echo json_encode($suggestions); + $this->response->setJSON($suggestions); } /** * @return void */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $search = $this->request->getPost('term') != '' ? $this->request->getPost('term') @@ -203,7 +203,7 @@ class Sales extends Secure_Controller $suggestions = $this->sale->get_search_suggestions($search); - echo json_encode($suggestions); + $this->response->setJSON($suggestions); } /** @@ -212,7 +212,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSelectCustomer(): void + public function postSelectCustomer(): ResponseInterface|string { $customer_id = (int)$this->request->getPost('customer', FILTER_SANITIZE_NUMBER_INT); if ($this->customer->exists($customer_id)) { @@ -235,7 +235,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postChangeMode(): void + public function postChangeMode(): ResponseInterface|string { $mode = $this->request->getPost('mode', FILTER_SANITIZE_FULL_SPECIAL_CHARS); $this->sale_lib->set_mode($mode); @@ -283,7 +283,7 @@ class Sales extends Secure_Controller * @param int $sale_type * @return void */ - public function change_register_mode(int $sale_type): void + public function change_register_mode(int $sale_type): ResponseInterface|string { $mode = match ($sale_type) { SALE_TYPE_QUOTE => 'sale_quote', @@ -303,7 +303,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSetComment(): void + public function postSetComment(): ResponseInterface|string { $this->sale_lib->set_comment($this->request->getPost('comment', FILTER_SANITIZE_FULL_SPECIAL_CHARS)); } @@ -314,7 +314,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSetInvoiceNumber(): void + public function postSetInvoiceNumber(): ResponseInterface|string { $this->sale_lib->set_invoice_number($this->request->getPost('sales_invoice_number', FILTER_SANITIZE_NUMBER_INT)); } @@ -322,7 +322,7 @@ class Sales extends Secure_Controller /** * @return void */ - public function postSetPaymentType(): void // TODO: This function does not appear to be called anywhere in the code. + public function postSetPaymentType(): ResponseInterface|string // TODO: This function does not appear to be called anywhere in the code. { $this->sale_lib->set_payment_type($this->request->getPost('selected_payment_type', FILTER_SANITIZE_FULL_SPECIAL_CHARS)); $this->_reload(); // TODO: Hungarian notation. @@ -334,7 +334,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSetPrintAfterSale(): void + public function postSetPrintAfterSale(): ResponseInterface|string { $this->sale_lib->set_print_after_sale($this->request->getPost('sales_print_after_sale') != 'false'); } @@ -345,7 +345,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSetPriceWorkOrders(): void + public function postSetPriceWorkOrders(): ResponseInterface|string { $price_work_orders = parse_decimals($this->request->getPost('price_work_orders')); $this->sale_lib->set_price_work_orders($price_work_orders); @@ -357,7 +357,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSetEmailReceipt(): void + public function postSetEmailReceipt(): ResponseInterface|string { $this->sale_lib->set_email_receipt($this->request->getPost('email_receipt', FILTER_SANITIZE_FULL_SPECIAL_CHARS)); } @@ -368,7 +368,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postAddPayment(): void + public function postAddPayment(): ResponseInterface|string { $data = []; $giftcard = model(Giftcard::class); @@ -463,7 +463,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getDeletePayment(string $payment_id): void + public function getDeletePayment(string $payment_id): ResponseInterface|string { helper('url'); @@ -478,7 +478,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postAdd(): void + public function postAdd(): ResponseInterface|string { $data = []; @@ -559,7 +559,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postEditItem(string $line): void + public function postEditItem(string $line): ResponseInterface|string { $data = []; @@ -605,7 +605,7 @@ class Sales extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function getDeleteItem(int $item_id): void + public function getDeleteItem(int $item_id): ResponseInterface|string { $this->sale_lib->delete_item($item_id); @@ -620,7 +620,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getRemoveCustomer(): void + public function getRemoveCustomer(): ResponseInterface|string { $this->sale_lib->clear_giftcard_remainder(); $this->sale_lib->clear_rewards_remainder(); @@ -639,7 +639,7 @@ class Sales extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postComplete(): void // TODO: this function is huge. Probably should be refactored. + public function postComplete(): ResponseInterface|string // TODO: this function is huge. Probably should be refactored. { $sale_id = $this->sale_lib->get_sale_id(); $data = []; @@ -765,7 +765,7 @@ class Sales extends Secure_Controller $data['error_message'] = lang('Sales.transaction_failed'); } else { $data['barcode'] = $this->barcode_lib->generate_receipt_barcode($data['sale_id']); - echo view('sales/' . $invoice_view, $data); + return view('sales/' . $invoice_view, $data); $this->sale_lib->clear_all(); } } @@ -799,7 +799,7 @@ class Sales extends Secure_Controller $data['barcode'] = null; - echo view('sales/work_order', $data); + return view('sales/work_order', $data); $this->sale_lib->clear_mode(); $this->sale_lib->clear_all(); } @@ -827,7 +827,7 @@ class Sales extends Secure_Controller $data['cart'] = $this->sale_lib->sort_and_filter_cart($data['cart']); $data['barcode'] = null; - echo view('sales/quote', $data); + return view('sales/quote', $data); $this->sale_lib->clear_mode(); $this->sale_lib->clear_all(); } @@ -850,7 +850,7 @@ class Sales extends Secure_Controller $data['error_message'] = lang('Sales.transaction_failed'); } else { $data['barcode'] = $this->barcode_lib->generate_receipt_barcode($data['sale_id']); - echo view('sales/receipt', $data); + return view('sales/receipt', $data); $this->sale_lib->clear_all(); } } @@ -899,7 +899,7 @@ class Sales extends Secure_Controller $message = lang($result ? "Sales." . $type . "_sent" : "Sales." . $type . "_unsent") . ' ' . $to; } - echo json_encode(['success' => $result, 'message' => $message, 'id' => $sale_id]); + $this->response->setJSON(['success' => $result, 'message' => $message, 'id' => $sale_id]); $this->sale_lib->clear_all(); @@ -934,7 +934,7 @@ class Sales extends Secure_Controller $message = lang($result ? 'Sales.receipt_sent' : 'Sales.receipt_unsent') . ' ' . $to; } - echo json_encode(['success' => $result, 'message' => $message, 'id' => $sale_id]); + $this->response->setJSON(['success' => $result, 'message' => $message, 'id' => $sale_id]); $this->sale_lib->clear_all(); @@ -1109,7 +1109,7 @@ class Sales extends Secure_Controller * @param array $data * @return void */ - private function _reload(array $data = []): void // TODO: Hungarian notation + private function _reload(array $data = []): ResponseInterface|string // TODO: Hungarian notation { $sale_id = $this->session->get('sale_id'); // TODO: This variable is never used @@ -1215,7 +1215,7 @@ class Sales extends Secure_Controller $data['customer_required'] = lang('Sales.customer_optional'); } - echo view("sales/register", $data); + return view("sales/register", $data); } /** @@ -1225,10 +1225,10 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getReceipt(int $sale_id): void + public function getReceipt(int $sale_id): ResponseInterface|string { $data = $this->_load_sale_data($sale_id); - echo view('sales/receipt', $data); + return view('sales/receipt', $data); $this->sale_lib->clear_all(); } @@ -1236,11 +1236,11 @@ class Sales extends Secure_Controller * @param int $sale_id * @return void */ - public function getInvoice(int $sale_id): void + public function getInvoice(int $sale_id): ResponseInterface|string { $data = $this->_load_sale_data($sale_id); - echo view('sales/' . $data['invoice_view'], $data); + return view('sales/' . $data['invoice_view'], $data); $this->sale_lib->clear_all(); } @@ -1248,7 +1248,7 @@ class Sales extends Secure_Controller * @param int $sale_id * @return void */ - public function getEdit(int $sale_id): void + public function getEdit(int $sale_id): ResponseInterface|string { $data = []; @@ -1293,30 +1293,30 @@ class Sales extends Secure_Controller $data['new_payment_options'] = $payment_options; - echo view('sales/form', $data); + return view('sales/form', $data); } /** * @throws ReflectionException */ - public function postDelete(int $sale_id = NEW_ENTRY, bool $update_inventory = true): void + public function postDelete(int $sale_id = NEW_ENTRY, bool $update_inventory = true): ResponseInterface|string { $employee_id = $this->employee->get_logged_in_employee_info()->person_id; $has_grant = $this->employee->has_grant('sales_delete', $employee_id); if (!$has_grant) { - echo json_encode(['success' => false, 'message' => lang('Sales.not_authorized')]); + $this->response->setJSON(['success' => false, 'message' => lang('Sales.not_authorized')]); } else { $sale_ids = $sale_id == NEW_ENTRY ? $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT) : [$sale_id]; if ($this->sale->delete_list($sale_ids, $employee_id, $update_inventory)) { - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Sales.successfully_deleted') . ' ' . count($sale_ids) . ' ' . lang('Sales.one_or_multiple'), 'ids' => $sale_ids ]); } else { - echo json_encode(['success' => false, 'message' => lang('Sales.unsuccessfully_deleted')]); + $this->response->setJSON(['success' => false, 'message' => lang('Sales.unsuccessfully_deleted')]); } } } @@ -1326,24 +1326,24 @@ class Sales extends Secure_Controller * @param bool $update_inventory * @return void */ - public function restore(int $sale_id = NEW_ENTRY, bool $update_inventory = true): void + public function restore(int $sale_id = NEW_ENTRY, bool $update_inventory = true): ResponseInterface|string { $employee_id = $this->employee->get_logged_in_employee_info()->person_id; $has_grant = $this->employee->has_grant('sales_delete', $employee_id); if (!$has_grant) { - echo json_encode(['success' => false, 'message' => lang('Sales.not_authorized')]); + $this->response->setJSON(['success' => false, 'message' => lang('Sales.not_authorized')]); } else { $sale_ids = $sale_id == NEW_ENTRY ? $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT) : [$sale_id]; if ($this->sale->restore_list($sale_ids, $employee_id, $update_inventory)) { - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Sales.successfully_restored') . ' ' . count($sale_ids) . ' ' . lang('Sales.one_or_multiple'), 'ids' => $sale_ids ]); } else { - echo json_encode(['success' => false, 'message' => lang('Sales.unsuccessfully_restored')]); + $this->response->setJSON(['success' => false, 'message' => lang('Sales.unsuccessfully_restored')]); } } } @@ -1354,7 +1354,7 @@ class Sales extends Secure_Controller * @param int $sale_id * @throws ReflectionException */ - public function postSave(int $sale_id = NEW_ENTRY): void + public function postSave(int $sale_id = NEW_ENTRY): ResponseInterface|string { $newdate = $this->request->getPost('date', FILTER_SANITIZE_FULL_SPECIAL_CHARS); $employee_id = $this->employee->get_logged_in_employee_info()->person_id; @@ -1435,9 +1435,9 @@ class Sales extends Secure_Controller $inventory->update('POS ' . $sale_id, ['trans_date' => $sale_time]); // TODO: Reflection Exception if ($this->sale->update($sale_id, $sale_data)) { - echo json_encode(['success' => true, 'message' => lang('Sales.successfully_updated'), 'id' => $sale_id]); + $this->response->setJSON(['success' => true, 'message' => lang('Sales.successfully_updated'), 'id' => $sale_id]); } else { - echo json_encode(['success' => false, 'message' => lang('Sales.unsuccessfully_updated'), 'id' => $sale_id]); + $this->response->setJSON(['success' => false, 'message' => lang('Sales.unsuccessfully_updated'), 'id' => $sale_id]); } } @@ -1450,7 +1450,7 @@ class Sales extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postCancel(): void + public function postCancel(): ResponseInterface|string { $sale_id = $this->sale_lib->get_sale_id(); if ($sale_id != NEW_ENTRY && $sale_id != '') { @@ -1481,7 +1481,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getDiscardSuspendedSale(): void + public function getDiscardSuspendedSale(): ResponseInterface|string { $suspended_id = $this->sale_lib->get_suspended_id(); $this->sale_lib->clear_all(); @@ -1497,7 +1497,7 @@ class Sales extends Secure_Controller * @throws ReflectionException * @noinspection PhpUnused */ - public function postSuspend(): void + public function postSuspend(): ResponseInterface|string { $sale_id = $this->sale_lib->get_sale_id(); $dinner_table = $this->sale_lib->get_dinner_table(); @@ -1534,12 +1534,12 @@ class Sales extends Secure_Controller /** * List suspended sales */ - public function getSuspended(): void + public function getSuspended(): ResponseInterface|string { $data = []; $customer_id = $this->sale_lib->get_customer(); $data['suspended_sales'] = $this->sale->get_all_suspended($customer_id); - echo view('sales/suspended', $data); + return view('sales/suspended', $data); } /** @@ -1549,7 +1549,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postUnsuspend(): void + public function postUnsuspend(): ResponseInterface|string { $sale_id = $this->request->getPost('suspended_sale_id', FILTER_SANITIZE_NUMBER_INT); $this->sale_lib->clear_all(); @@ -1570,9 +1570,9 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getSalesKeyboardHelp(): void + public function getSalesKeyboardHelp(): ResponseInterface|string { - echo view('sales/help'); + return view('sales/help'); } /** @@ -1581,7 +1581,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postCheckInvoiceNumber(): void + public function postCheckInvoiceNumber(): ResponseInterface|string { $sale_id = $this->request->getPost('sale_id', FILTER_SANITIZE_NUMBER_INT); $invoice_number = $this->request->getPost('invoice_number', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -1616,7 +1616,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postChangeItemNumber(): void + public function postChangeItemNumber(): ResponseInterface|string { $item_id = $this->request->getPost('item_id', FILTER_SANITIZE_NUMBER_INT); $item_number = $this->request->getPost('item_number', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -1635,7 +1635,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postChangeItemName(): void + public function postChangeItemName(): ResponseInterface|string { $item_id = $this->request->getPost('item_id', FILTER_SANITIZE_NUMBER_INT); $name = $this->request->getPost('item_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -1658,7 +1658,7 @@ class Sales extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postChangeItemDescription(): void + public function postChangeItemDescription(): ResponseInterface|string { $item_id = $this->request->getPost('item_id', FILTER_SANITIZE_NUMBER_INT); $description = $this->request->getPost('item_description', FILTER_SANITIZE_FULL_SPECIAL_CHARS); diff --git a/app/Controllers/Secure_Controller.php b/app/Controllers/Secure_Controller.php index b346ad992..513cdc121 100644 --- a/app/Controllers/Secure_Controller.php +++ b/app/Controllers/Secure_Controller.php @@ -88,7 +88,7 @@ class Secure_Controller extends BaseController * @return void * @noinspection PhpUnused */ - public function getCheckNumeric(): void + public function getCheckNumeric(): ResponseInterface|string { foreach ($this->request->getGet() as $value) { if (parse_decimals($value) === false) { diff --git a/app/Controllers/Suppliers.php b/app/Controllers/Suppliers.php index b52bde2ad..2ebd34ee0 100644 --- a/app/Controllers/Suppliers.php +++ b/app/Controllers/Suppliers.php @@ -19,11 +19,11 @@ class Suppliers extends Persons /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_suppliers_manage_table_headers(); - echo view('people/manage', $data); + return view('people/manage', $data); } /** @@ -31,19 +31,19 @@ class Suppliers extends Persons * @param $row_id * @return void */ - public function getRow($row_id): void + public function getRow($row_id): ResponseInterface|string { $data_row = get_supplier_data_row($this->supplier->get_info($row_id)); $data_row['category'] = $this->supplier->get_category_name($data_row['category']); - echo json_encode($data_row); + $this->response->setJSON($data_row); } /** * Returns Supplier table data rows. This will be called with AJAX. * @return void **/ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -62,29 +62,29 @@ class Suppliers extends Persons $data_rows[] = $row; } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * Gives search suggestions based on what is being searched for **/ - public function getSuggest(): void + public function getSuggest(): ResponseInterface|string { $search = $this->request->getGet('term'); $suggestions = $this->supplier->get_search_suggestions($search, true); - echo json_encode($suggestions); + $this->response->setJSON($suggestions); } /** * @return void */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $search = $this->request->getPost('term'); $suggestions = $this->supplier->get_search_suggestions($search, false); - echo json_encode($suggestions); + $this->response->setJSON($suggestions); } /** @@ -93,7 +93,7 @@ class Suppliers extends Persons * @param int $supplier_id * @return void */ - public function getView(int $supplier_id = NEW_ENTRY): void + public function getView(int $supplier_id = NEW_ENTRY): ResponseInterface|string { $info = $this->supplier->get_info($supplier_id); foreach (get_object_vars($info) as $property => $value) { @@ -102,7 +102,7 @@ class Suppliers extends Persons $data['person_info'] = $info; $data['categories'] = $this->supplier->get_categories(); - echo view("suppliers/form", $data); + return view("suppliers/form", $data); } /** @@ -111,7 +111,7 @@ class Suppliers extends Persons * @param int $supplier_id * @return void */ - public function postSave(int $supplier_id = NEW_ENTRY): void + public function postSave(int $supplier_id = NEW_ENTRY): ResponseInterface|string { $first_name = $this->request->getPost('first_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS); // TODO: Duplicate code $last_name = $this->request->getPost('last_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -147,21 +147,21 @@ class Suppliers extends Persons if ($this->supplier->save_supplier($person_data, $supplier_data, $supplier_id)) { // New supplier if ($supplier_id == NEW_ENTRY) { - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Suppliers.successful_adding') . ' ' . $supplier_data['company_name'], 'id' => $supplier_data['person_id'] ]); } else { // Existing supplier - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Suppliers.successful_updating') . ' ' . $supplier_data['company_name'], 'id' => $supplier_id ]); } } else { // Failure - echo json_encode([ + $this->response->setJSON([ 'success' => false, 'message' => lang('Suppliers.error_adding_updating') . ' ' . $supplier_data['company_name'], 'id' => NEW_ENTRY @@ -174,17 +174,17 @@ class Suppliers extends Persons * * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $suppliers_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT); if ($this->supplier->delete_list($suppliers_to_delete)) { - echo json_encode([ + $this->response->setJSON([ 'success' => true, 'message' => lang('Suppliers.successful_deleted') . ' ' . count($suppliers_to_delete) . ' ' . lang('Suppliers.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Suppliers.cannot_be_deleted')]); + $this->response->setJSON(['success' => false, 'message' => lang('Suppliers.cannot_be_deleted')]); } } } diff --git a/app/Controllers/Tax_categories.php b/app/Controllers/Tax_categories.php index 0d8f5dce2..526e14b7e 100644 --- a/app/Controllers/Tax_categories.php +++ b/app/Controllers/Tax_categories.php @@ -22,11 +22,11 @@ class Tax_categories extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['tax_categories_table_headers'] = get_tax_categories_table_headers(); - echo view('taxes/tax_categories', $data); + return view('taxes/tax_categories', $data); } /** @@ -34,7 +34,7 @@ class Tax_categories extends Secure_Controller * * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -50,29 +50,29 @@ class Tax_categories extends Secure_Controller $data_rows[] = get_tax_categories_data_row($tax_category); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * @param $row_id * @return void */ - public function getRow($row_id): void + public function getRow($row_id): ResponseInterface|string { $data_row = get_tax_categories_data_row($this->tax_category->get_info($row_id)); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $tax_category_id * @return void */ - public function getView(int $tax_category_id = NEW_ENTRY): void + public function getView(int $tax_category_id = NEW_ENTRY): ResponseInterface|string { $data['tax_category_info'] = $this->tax_category->get_info($tax_category_id); - echo view("taxes/tax_category_form", $data); + return view("taxes/tax_category_form", $data); } @@ -80,7 +80,7 @@ class Tax_categories extends Secure_Controller * @param int $tax_category_id * @return void */ - public function postSave(int $tax_category_id = NEW_ENTRY): void + public function postSave(int $tax_category_id = NEW_ENTRY): ResponseInterface|string { $tax_category_data = [ 'tax_category' => $this->request->getPost('tax_category', FILTER_SANITIZE_FULL_SPECIAL_CHARS), @@ -91,20 +91,20 @@ class Tax_categories extends Secure_Controller if ($this->tax_category->save_value($tax_category_data, $tax_category_id)) { // New tax_category_id if ($tax_category_id == NEW_ENTRY) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_categories.successful_adding'), 'id' => $tax_category_data['tax_category_id'] ]); } else { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_categories.successful_updating'), 'id' => $tax_category_id ]); } } else { - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Tax_categories.error_adding_updating') . ' ' . $tax_category_data['tax_category'], 'id' => NEW_ENTRY @@ -115,17 +115,17 @@ class Tax_categories extends Secure_Controller /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $tax_categories_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT); if ($this->tax_category->delete_list($tax_categories_to_delete)) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_categories.successful_deleted') . ' ' . count($tax_categories_to_delete) . ' ' . lang('Tax_categories.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Tax_categories.cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Tax_categories.cannot_be_deleted')]); } } } diff --git a/app/Controllers/Tax_codes.php b/app/Controllers/Tax_codes.php index bedb06f1a..6a0a17a5f 100644 --- a/app/Controllers/Tax_codes.php +++ b/app/Controllers/Tax_codes.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Tax_code; +use CodeIgniter\HTTP\ResponseInterface; use Config\Services; /** @@ -24,9 +25,9 @@ class Tax_codes extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { - echo view('taxes/tax_codes', $this->get_data()); + return view('taxes/tax_codes', $this->get_data()); } /** @@ -44,7 +45,7 @@ class Tax_codes extends Secure_Controller * * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -61,29 +62,29 @@ class Tax_codes extends Secure_Controller $data_rows[] = get_tax_code_data_row($tax_code); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $data_row = get_tax_code_data_row($this->tax_code->get_info($row_id)); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $tax_code_id * @return void */ - public function getView(int $tax_code_id = NEW_ENTRY): void + public function getView(int $tax_code_id = NEW_ENTRY): ResponseInterface|string { $data['tax_code_info'] = $this->tax_code->get_info($tax_code_id); - echo view("taxes/tax_code_form", $data); + return view("taxes/tax_code_form", $data); } @@ -91,7 +92,7 @@ class Tax_codes extends Secure_Controller * @param int $tax_code_id * @return void */ - public function postSave(int $tax_code_id = NEW_ENTRY): void + public function postSave(int $tax_code_id = NEW_ENTRY): ResponseInterface|string { $tax_code_data = [ 'tax_code' => $this->request->getPost('tax_code', FILTER_SANITIZE_FULL_SPECIAL_CHARS), @@ -102,20 +103,20 @@ class Tax_codes extends Secure_Controller if ($this->tax_code->save($tax_code_data)) { if ($tax_code_id == NEW_ENTRY) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_codes.successful_adding'), 'id' => $tax_code_data['tax_code_id'] ]); } else { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_codes.successful_updating'), 'id' => $tax_code_id ]); } } else { - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Tax_codes.error_adding_updating') . ' ' . $tax_code_data['tax_code_id'], 'id' => NEW_ENTRY @@ -126,17 +127,17 @@ class Tax_codes extends Secure_Controller /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $tax_codes_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT); if ($this->tax_code->delete_list($tax_codes_to_delete)) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_codes.successful_deleted') . ' ' . count($tax_codes_to_delete) . ' ' . lang('Tax_codes.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Tax_codes.cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Tax_codes.cannot_be_deleted')]); } } } diff --git a/app/Controllers/Tax_jurisdictions.php b/app/Controllers/Tax_jurisdictions.php index 1dedf857a..faa8aa895 100644 --- a/app/Controllers/Tax_jurisdictions.php +++ b/app/Controllers/Tax_jurisdictions.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\Tax_jurisdiction; +use CodeIgniter\HTTP\ResponseInterface; use Config\Services; /** @@ -25,11 +26,11 @@ class Tax_jurisdictions extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['table_headers'] = get_tax_jurisdictions_table_headers(); - echo view('taxes/tax_jurisdictions', $data); + return view('taxes/tax_jurisdictions', $data); } /** @@ -37,7 +38,7 @@ class Tax_jurisdictions extends Secure_Controller * * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -53,29 +54,29 @@ class Tax_jurisdictions extends Secure_Controller $data_rows[] = get_tax_jurisdictions_data_row($tax_jurisdiction); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $data_row = get_tax_jurisdictions_data_row($this->tax_jurisdiction->get_info($row_id)); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $tax_jurisdiction_id * @return void */ - public function getView(int $tax_jurisdiction_id = NEW_ENTRY): void + public function getView(int $tax_jurisdiction_id = NEW_ENTRY): ResponseInterface|string { $data['tax_jurisdiction_info'] = $this->tax_jurisdiction->get_info($tax_jurisdiction_id); - echo view("taxes/tax_jurisdiction_form", $data); + return view("taxes/tax_jurisdiction_form", $data); } @@ -83,7 +84,7 @@ class Tax_jurisdictions extends Secure_Controller * @param int $jurisdiction_id * @return void */ - public function postSave(int $jurisdiction_id = NEW_ENTRY): void + public function postSave(int $jurisdiction_id = NEW_ENTRY): ResponseInterface|string { $tax_jurisdiction_data = [ 'jurisdiction_name' => $this->request->getPost('jurisdiction_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS), @@ -92,20 +93,20 @@ class Tax_jurisdictions extends Secure_Controller if ($this->tax_jurisdiction->save_value($tax_jurisdiction_data)) { if ($jurisdiction_id == NEW_ENTRY) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_jurisdictions.successful_adding'), 'id' => $tax_jurisdiction_data['jurisdiction_id'] ]); } else { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_jurisdictions.successful_updating'), 'id' => $jurisdiction_id ]); } } else { - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Tax_jurisdictions.error_adding_updating') . ' ' . $tax_jurisdiction_data['jurisdiction_name'], 'id' => NEW_ENTRY @@ -116,17 +117,17 @@ class Tax_jurisdictions extends Secure_Controller /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $tax_jurisdictions_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT); if ($this->tax_jurisdiction->delete_list($tax_jurisdictions_to_delete)) { - echo json_encode([ + return $this->response->setJSON([ 'success' => true, 'message' => lang('Tax_jurisdictions.successful_deleted') . ' ' . count($tax_jurisdictions_to_delete) . ' ' . lang('Tax_jurisdictions.one_or_multiple') ]); } else { - echo json_encode(['success' => false, 'message' => lang('Tax_jurisdictions.cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Tax_jurisdictions.cannot_be_deleted')]); } } } diff --git a/app/Controllers/Taxes.php b/app/Controllers/Taxes.php index 83c393f81..b12ad7692 100644 --- a/app/Controllers/Taxes.php +++ b/app/Controllers/Taxes.php @@ -8,6 +8,7 @@ use App\Models\Tax; use App\Models\Tax_category; use App\Models\Tax_code; use App\Models\Tax_jurisdiction; +use CodeIgniter\HTTP\ResponseInterface; use Config\OSPOS; use Config\Services; @@ -38,7 +39,7 @@ class Taxes extends Secure_Controller /** * @return void */ - public function getIndex(): void + public function getIndex(): ResponseInterface|string { $data['tax_codes'] = $this->tax_code->get_all()->getResultArray(); if (count($data['tax_codes']) == 0) { @@ -67,7 +68,7 @@ class Taxes extends Secure_Controller $data['tax_type_options'] = $this->tax_lib->get_tax_type_options($data['default_tax_type']); - echo view('taxes/manage', $data); + return view('taxes/manage', $data); } /** @@ -75,7 +76,7 @@ class Taxes extends Secure_Controller * * @return void */ - public function getSearch(): void + public function getSearch(): ResponseInterface { $search = $this->request->getGet('search'); $limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT); @@ -92,18 +93,18 @@ class Taxes extends Secure_Controller $data_rows[] = get_tax_rates_data_row($tax_rate_row); } - echo json_encode(['total' => $total_rows, 'rows' => $data_rows]); + return $this->response->setJSON(['total' => $total_rows, 'rows' => $data_rows]); } /** * Gives search suggestions based on what is being searched for */ - public function suggest_search(): void + public function suggest_search(): ResponseInterface|string { $search = $this->request->getPost('term'); $suggestions = $this->tax->get_search_suggestions($search); // TODO: There is no get_search_suggestions function in the tax model - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** @@ -111,12 +112,12 @@ class Taxes extends Secure_Controller * * @return void */ - public function suggest_tax_categories(): void + public function suggest_tax_categories(): ResponseInterface|string { $search = $this->request->getPost('term'); $suggestions = $this->tax_category->get_tax_category_suggestions($search); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } @@ -124,18 +125,18 @@ class Taxes extends Secure_Controller * @param int $row_id * @return void */ - public function getRow(int $row_id): void + public function getRow(int $row_id): ResponseInterface|string { $data_row = get_tax_rates_data_row($this->tax->get_info($row_id)); - echo json_encode($data_row); + return $this->response->setJSON($data_row); } /** * @param int $tax_code * @return void */ - public function getView_tax_codes(int $tax_code = NEW_ENTRY): void + public function getView_tax_codes(int $tax_code = NEW_ENTRY): ResponseInterface|string { $tax_code_info = $this->tax->get_info($tax_code); @@ -192,7 +193,7 @@ class Taxes extends Secure_Controller $data['tax_rates'] = $tax_rates; - echo view('taxes/tax_code_form', $data); + return view('taxes/tax_code_form', $data); } @@ -200,7 +201,7 @@ class Taxes extends Secure_Controller * @param int $tax_rate_id * @return void */ - public function getView(int $tax_rate_id = NEW_ENTRY): void + public function getView(int $tax_rate_id = NEW_ENTRY): ResponseInterface|string { $tax_rate_info = $this->tax->get_info($tax_rate_id); @@ -226,14 +227,14 @@ class Taxes extends Secure_Controller $data['tax_rate'] = $tax_rate_info->tax_rate; } - echo view('taxes/tax_rates_form', $data); + return view('taxes/tax_rates_form', $data); } /** * @param int $tax_code * @return void */ - public function getView_tax_categories(int $tax_code = NEW_ENTRY): void // TODO: This appears to be called no where in the code. + public function getView_tax_categories(int $tax_code = NEW_ENTRY): ResponseInterface|string // TODO: This appears to be called no where in the code. { $tax_code_info = $this->tax->get_info($tax_code); // TODO: Duplicated Code @@ -290,14 +291,14 @@ class Taxes extends Secure_Controller $data['tax_rates'] = $tax_rates; - echo view('taxes/tax_category_form', $data); + return view('taxes/tax_category_form', $data); } /** * @param int $tax_code * @return void */ - public function getView_tax_jurisdictions(int $tax_code = NEW_ENTRY): void // TODO: This appears to be called no where in the code. + public function getView_tax_jurisdictions(int $tax_code = NEW_ENTRY): ResponseInterface|string // TODO: This appears to be called no where in the code. { $tax_code_info = $this->tax->get_info($tax_code); // TODO: Duplicated code @@ -354,7 +355,7 @@ class Taxes extends Secure_Controller $data['tax_rates'] = $tax_rates; - echo view('taxes/tax_jurisdiction_form', $data); + return view('taxes/tax_jurisdiction_form', $data); } /** @@ -369,7 +370,7 @@ class Taxes extends Secure_Controller * @param int $tax_rate_id * @return void */ - public function postSave(int $tax_rate_id = NEW_ENTRY): void + public function postSave(int $tax_rate_id = NEW_ENTRY): ResponseInterface|string { $tax_category_id = $this->request->getPost('rate_tax_category_id', FILTER_SANITIZE_NUMBER_INT); $tax_rate = parse_tax($this->request->getPost('tax_rate')); @@ -388,26 +389,26 @@ class Taxes extends Secure_Controller if ($this->tax->save_value($tax_rate_data, $tax_rate_id)) { if ($tax_rate_id == NEW_ENTRY) { // TODO: this needs to be replaced with ternary notation - echo json_encode(['success' => true, 'message' => lang('Taxes.tax_rate_successfully_added')]); + return $this->response->setJSON(['success' => true, 'message' => lang('Taxes.tax_rate_successfully_added')]); } else { // Existing tax_code - echo json_encode(['success' => true, 'message' => lang('Taxes.tax_rate_successful_updated')]); + return $this->response->setJSON(['success' => true, 'message' => lang('Taxes.tax_rate_successful_updated')]); } } else { - echo json_encode(['success' => false, 'message' => lang('Taxes.tax_rate_error_adding_updating')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Taxes.tax_rate_error_adding_updating')]); } } /** * @return void */ - public function postDelete(): void + public function postDelete(): ResponseInterface|string { $tax_codes_to_delete = $this->request->getPost('ids', FILTER_SANITIZE_NUMBER_INT); if ($this->tax->delete_list($tax_codes_to_delete)) { // TODO: this needs to be replaced with ternary notation - echo json_encode(['success' => true, 'message' => lang('Taxes.tax_code_successful_deleted')]); + return $this->response->setJSON(['success' => true, 'message' => lang('Taxes.tax_code_successful_deleted')]); } else { - echo json_encode(['success' => false, 'message' => lang('Taxes.tax_code_cannot_be_deleted')]); + return $this->response->setJSON(['success' => false, 'message' => lang('Taxes.tax_code_cannot_be_deleted')]); } } @@ -417,12 +418,12 @@ class Taxes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getSuggestTaxCodes(): void + public function getSuggestTaxCodes(): ResponseInterface|string { $search = $this->request->getPostGet('term'); $suggestions = $this->tax_code->get_tax_codes_search_suggestions($search); - echo json_encode($suggestions); + return $this->response->setJSON($suggestions); } /** @@ -431,7 +432,7 @@ class Taxes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSave_tax_codes(): void + public function postSave_tax_codes(): ResponseInterface|string { $tax_code_id = $this->request->getPost('tax_code_id', FILTER_SANITIZE_NUMBER_INT); $tax_code = $this->request->getPost('tax_code', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -452,7 +453,7 @@ class Taxes extends Secure_Controller $success = $this->tax_code->save_tax_codes($array_save); - echo json_encode([ + return $this->response->setJSON([ 'success' => $success, 'message' => lang('Taxes.tax_codes_saved_' . ($success ? '' : 'un') . 'successfully') ]); @@ -464,7 +465,7 @@ class Taxes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSave_tax_jurisdictions(): void + public function postSave_tax_jurisdictions(): ResponseInterface|string { $jurisdiction_id = $this->request->getPost('jurisdiction_id', FILTER_SANITIZE_NUMBER_INT); $jurisdiction_name = $this->request->getPost('jurisdiction_name', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -489,7 +490,7 @@ class Taxes extends Secure_Controller ]; if (in_array($tax_group[$key], $unique_tax_groups)) { // TODO: This can be replaced with `in_array($tax_group[$key], $unique_tax_groups)` - echo json_encode([ + return $this->response->setJSON([ 'success' => false, 'message' => lang('Taxes.tax_group_not_unique', [$tax_group[$key]]) ]); @@ -501,7 +502,7 @@ class Taxes extends Secure_Controller $success = $this->tax_jurisdiction->save_jurisdictions($array_save); - echo json_encode([ + return $this->response->setJSON([ 'success' => $success, 'message' => lang('Taxes.tax_jurisdictions_saved_' . ($success ? '' : 'un') . 'successfully') ]); @@ -513,7 +514,7 @@ class Taxes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function postSave_tax_categories(): void + public function postSave_tax_categories(): ResponseInterface|string { $tax_category_id = $this->request->getPost('tax_category_id', FILTER_SANITIZE_NUMBER_INT); $tax_category = $this->request->getPost('tax_category', FILTER_SANITIZE_FULL_SPECIAL_CHARS); @@ -531,7 +532,7 @@ class Taxes extends Secure_Controller $success = $this->tax_category->save_categories($array_save); - echo json_encode([ + return $this->response->setJSON([ 'success' => $success, 'message' => lang('Taxes.tax_categories_saved_' . ($success ? '' : 'un') . 'successfully') ]); @@ -543,11 +544,11 @@ class Taxes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getAjax_tax_codes(): void + public function getAjax_tax_codes(): ResponseInterface|string { $tax_codes = $this->tax_code->get_all()->getResultArray(); - echo view('partial/tax_codes', ['tax_codes' => $tax_codes]); + return view('partial/tax_codes', ['tax_codes' => $tax_codes]); } /** @@ -556,11 +557,11 @@ class Taxes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getAjax_tax_categories(): void + public function getAjax_tax_categories(): ResponseInterface|string { $tax_categories = $this->tax_category->get_all()->getResultArray(); - echo view('partial/tax_categories', ['tax_categories' => $tax_categories]); + return view('partial/tax_categories', ['tax_categories' => $tax_categories]); } /** @@ -569,7 +570,7 @@ class Taxes extends Secure_Controller * @return void * @noinspection PhpUnused */ - public function getAjax_tax_jurisdictions(): void + public function getAjax_tax_jurisdictions(): ResponseInterface|string { $tax_jurisdictions = $this->tax_jurisdiction->get_all()->getResultArray(); @@ -581,7 +582,7 @@ class Taxes extends Secure_Controller $tax_types = $this->tax_lib->get_tax_types(); - echo view('partial/tax_jurisdictions', [ + return view('partial/tax_jurisdictions', [ 'tax_jurisdictions' => $tax_jurisdictions, 'tax_types' => $tax_types, 'default_tax_type' => $default_tax_type diff --git a/app/Libraries/Barcode_lib.php b/app/Libraries/Barcode_lib.php index ddf743cc0..202457adc 100644 --- a/app/Libraries/Barcode_lib.php +++ b/app/Libraries/Barcode_lib.php @@ -172,7 +172,7 @@ class Barcode_lib if ($layout_type == 'name') { $result = $item['name']; } elseif ($layout_type == 'category' && isset($item['category'])) { - $result = lang('Items.category') . " " . $item['category']; + $result = lang('Items.category') . " " . esc($item['category']); } elseif ($layout_type == 'cost_price' && isset($item['cost_price'])) { $result = lang('Items.cost_price') . " " . to_currency($item['cost_price']); } elseif ($layout_type == 'unit_price' && isset($item['unit_price'])) {