Integrated output class in controllers.

This commit is contained in:
alext 2017-09-20 16:09:01 +02:00
parent 579b59b1ec
commit 36e507adc0
7 changed files with 313 additions and 206 deletions

View file

@ -323,7 +323,9 @@ class Appointments extends CI_Controller {
// Do not continue if there was no provider selected (more likely there is no provider in the system). // Do not continue if there was no provider selected (more likely there is no provider in the system).
if (empty($this->input->post('provider_id'))) if (empty($this->input->post('provider_id')))
{ {
echo json_encode([]); $this->output
->set_content_type('application/json')
->set_output(json_encode([]));
return; return;
} }
@ -337,37 +339,48 @@ class Appointments extends CI_Controller {
// for an available provider that will provide the requested service. // for an available provider that will provide the requested service.
if ($this->input->post('provider_id') === ANY_PROVIDER) if ($this->input->post('provider_id') === ANY_PROVIDER)
{ {
$_POST['provider_id'] = $this->_search_any_provider($this->input->post('service_id'), $this->input->post('selected_date')); $_POST['provider_id'] = $this->_search_any_provider($this->input->post('service_id'),
$this->input->post('selected_date'));
if ($this->input->post('provider_id') === NULL) if ($this->input->post('provider_id') === NULL)
{ {
echo json_encode([]); $this->output
->set_content_type('application/json')
->set_output(json_encode([]));
return; return;
} }
} }
$availabilities_type = $this->services_model->get_value('availabilities_type', $this->input->post('service_id')); $availabilities_type = $this->services_model->get_value('availabilities_type',
$attendants_number = $this->services_model->get_value('attendants_number', $this->input->post('service_id')); $this->input->post('service_id'));
$attendants_number = $this->services_model->get_value('attendants_number',
$this->input->post('service_id'));
$empty_periods = $this->_get_provider_available_time_periods($this->input->post('provider_id'), $empty_periods = $this->_get_provider_available_time_periods($this->input->post('provider_id'),
$this->input->post('selected_date'), $exclude_appointments); $this->input->post('selected_date'), $exclude_appointments);
$available_hours = $this->_calculate_available_hours($empty_periods, $this->input->post('selected_date'), $available_hours = $this->_calculate_available_hours($empty_periods, $this->input->post('selected_date'),
$this->input->post('service_duration'), filter_var($this->input->post('manage_mode'), FILTER_VALIDATE_BOOLEAN), $this->input->post('service_duration'),
filter_var($this->input->post('manage_mode'), FILTER_VALIDATE_BOOLEAN),
$availabilities_type); $availabilities_type);
if ($attendants_number > 1) if ($attendants_number > 1)
{ {
$this->_get_multiple_attendants_hours($available_hours, $attendants_number, $this->input->post('service_id'), $this->_get_multiple_attendants_hours($available_hours, $attendants_number,
$this->input->post('service_id'),
$this->input->post('selected_date')); $this->input->post('selected_date'));
} }
echo json_encode($available_hours); $this->output
->set_content_type('application/json')
->set_output(json_encode($available_hours));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode([
'exceptions' => [exceptionToJavaScript($exc)]
]));
} }
} }
@ -393,10 +406,12 @@ class Appointments extends CI_Controller {
if ($this->settings_model->get_setting('require_captcha') === '1' if ($this->settings_model->get_setting('require_captcha') === '1'
&& $this->session->userdata('captcha_phrase') !== $this->input->post('captcha')) && $this->session->userdata('captcha_phrase') !== $this->input->post('captcha'))
{ {
echo json_encode([ $this->output
'captcha_verification' => FALSE, ->set_content_type('application/json')
'expected_phrase' => $this->session->userdata('captcha_phrase') ->set_output(json_encode([
]); 'captcha_verification' => FALSE,
'expected_phrase' => $this->session->userdata('captcha_phrase')
]));
return; return;
} }
@ -518,15 +533,18 @@ class Appointments extends CI_Controller {
log_message('error', $exc->getTraceAsString()); log_message('error', $exc->getTraceAsString());
} }
echo json_encode([ $this->output
'appointment_id' => $appointment['id'] ->set_content_type('application/json')
]); ->set_output(json_encode([
'appointment_id' => $appointment['id']
]));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode([
'exceptions' => [exceptionToJavaScript($exc)]
]));
} }
} }
@ -560,7 +578,9 @@ class Appointments extends CI_Controller {
$current_date = new DateTime($selected_date->format('Y-m') . '-' . $i); $current_date = new DateTime($selected_date->format('Y-m') . '-' . $i);
$unavailable_dates[] = $current_date->format('Y-m-d'); $unavailable_dates[] = $current_date->format('Y-m-d');
} }
echo json_encode($unavailable_dates); $this->output
->set_content_type('application/json')
->set_output(json_encode($unavailable_dates));
return; return;
} }
} }
@ -592,12 +612,16 @@ class Appointments extends CI_Controller {
} }
} }
echo json_encode($unavailable_dates); $this->output
->set_content_type('application/json')
->set_output(json_encode($unavailable_dates));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode([
'exceptions' => [exceptionToJavaScript($exc)]
]));
} }
} }

View file

@ -320,13 +320,14 @@ class Backend extends CI_Controller {
throw new Exception($this->migration->error_string()); throw new Exception($this->migration->error_string());
} }
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }

View file

@ -176,7 +176,9 @@ class Backend_api extends CI_Controller {
if ( ! $this->input->post('filter_type')) if ( ! $this->input->post('filter_type'))
{ {
echo json_encode(['appointments' => []]); $this->output
->set_content_type('application/json')
->set_output(json_encode(['appointments' => []]));
return; return;
} }
@ -223,13 +225,14 @@ class Backend_api extends CI_Controller {
$response['unavailables'] = $this->appointments_model->get_batch($where_clause); $response['unavailables'] = $this->appointments_model->get_batch($where_clause);
} }
echo json_encode($response); $this->output
->set_content_type('application/json')
->set_output(json_encode($response));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -382,18 +385,20 @@ class Backend_api extends CI_Controller {
if ( ! isset($warnings)) if ( ! isset($warnings))
{ {
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} else } else
{ {
echo json_encode([ $this->output
'warnings' => $warnings ->set_content_type('application/json')
]); ->set_output(json_encode(['warnings' => $warnings]));
} }
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -496,18 +501,20 @@ class Backend_api extends CI_Controller {
// :: SEND RESPONSE TO CLIENT BROWSER // :: SEND RESPONSE TO CLIENT BROWSER
if ( ! isset($warnings)) if ( ! isset($warnings))
{ {
echo json_encode(AJAX_SUCCESS); // Everything executed successfully. $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} else } else
{ {
echo json_encode([ $this->output
'warnings' => $warnings // There were warnings during the operation. ->set_content_type('application/json')
]); ->set_output(json_encode(['warnings' => $warnings]));
} }
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -536,16 +543,20 @@ class Backend_api extends CI_Controller {
throw new Exception('You do not have the required privileges for this task.'); throw new Exception('You do not have the required privileges for this task.');
} }
$this->load->model('providers_model');$this->load->model('appointments_model');$this->providers_model->set_setting('google_sync', FALSE, $this->input->post('provider_id')); $this->load->model('providers_model');
$this->providers_model->set_setting('google_token', NULL, $this->input->post('provider_id'));$this->appointments_model->clear_google_sync_ids($this->input->post('provider_id')); $this->load->model('appointments_model');
$this->providers_model->set_setting('google_sync', FALSE, $this->input->post('provider_id'));
echo json_encode(AJAX_SUCCESS); $this->providers_model->set_setting('google_token', NULL, $this->input->post('provider_id'));
$this->appointments_model->clear_google_sync_ids($this->input->post('provider_id'));
$this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -601,13 +612,14 @@ class Backend_api extends CI_Controller {
$customer['appointments'] = $appointments; $customer['appointments'] = $appointments;
} }
echo json_encode($customers); $this->output
->set_content_type('application/json')
->set_output(json_encode($customers));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -673,19 +685,21 @@ class Backend_api extends CI_Controller {
if (isset($warnings)) if (isset($warnings))
{ {
echo json_encode([ $this->output
'warnings' => $warnings ->set_content_type('application/json')
]); ->set_output(json_encode(['warnings' => $warnings]));
} else } else
{ {
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} }
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -732,19 +746,21 @@ class Backend_api extends CI_Controller {
if (isset($warnings)) if (isset($warnings))
{ {
echo json_encode([ $this->output
'warnings' => $warnings ->set_content_type('application/json')
]); ->set_output(json_encode(['warnings' => $warnings]));
} else } else
{ {
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} }
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -771,15 +787,17 @@ class Backend_api extends CI_Controller {
} }
$customer_id = $this->customers_model->add($customer); $customer_id = $this->customers_model->add($customer);
echo json_encode([ $this->output
'status' => AJAX_SUCCESS, ->set_content_type('application/json')
'id' => $customer_id ->set_output(json_encode([
]); 'status' => AJAX_SUCCESS,
'id' => $customer_id
]));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -801,12 +819,14 @@ class Backend_api extends CI_Controller {
$this->load->model('customers_model'); $this->load->model('customers_model');
$this->customers_model->delete($this->input->post('customer_id')); $this->customers_model->delete($this->input->post('customer_id'));
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -833,15 +853,17 @@ class Backend_api extends CI_Controller {
} }
$service_id = $this->services_model->add($service); $service_id = $this->services_model->add($service);
echo json_encode([ $this->output
'status' => AJAX_SUCCESS, ->set_content_type('application/json')
'id' => $service_id ->set_output(json_encode([
]); 'status' => AJAX_SUCCESS,
'id' => $service_id
]));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -863,12 +885,15 @@ class Backend_api extends CI_Controller {
$this->load->model('services_model'); $this->load->model('services_model');
$result = $this->services_model->delete($this->input->post('service_id')); $result = $this->services_model->delete($this->input->post('service_id'));
echo ($result) ? json_encode(AJAX_SUCCESS) : json_encode(AJAX_FAILURE);
$this->output
->set_content_type('application/json')
->set_output(json_encode($result ? AJAX_SUCCESS : AJAX_FAILURE));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -897,12 +922,14 @@ class Backend_api extends CI_Controller {
'price LIKE "%' . $key . '%" OR currency LIKE "%' . $key . '%" OR ' . 'price LIKE "%' . $key . '%" OR currency LIKE "%' . $key . '%" OR ' .
'description LIKE "%' . $key . '%")'; 'description LIKE "%' . $key . '%")';
$services = $this->services_model->get_batch($where); $services = $this->services_model->get_batch($where);
echo json_encode($services); $this->output
->set_content_type('application/json')
->set_output(json_encode($services));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -930,15 +957,18 @@ class Backend_api extends CI_Controller {
} }
$category_id = $this->services_model->add_category($category); $category_id = $this->services_model->add_category($category);
echo json_encode([
'status' => AJAX_SUCCESS, $this->output
'id' => $category_id ->set_content_type('application/json')
]); ->set_output(json_encode([
'status' => AJAX_SUCCESS,
'id' => $category_id
]));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -958,12 +988,15 @@ class Backend_api extends CI_Controller {
$this->load->model('services_model'); $this->load->model('services_model');
$result = $this->services_model->delete_category($this->input->post('category_id')); $result = $this->services_model->delete_category($this->input->post('category_id'));
echo ($result) ? json_encode(AJAX_SUCCESS) : json_encode(AJAX_FAILURE);
$this->output
->set_content_type('application/json')
->set_output(json_encode($result ? AJAX_SUCCESS : AJAX_FAILURE));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -989,12 +1022,14 @@ class Backend_api extends CI_Controller {
$key = $this->db->escape_str($this->input->post('key')); $key = $this->db->escape_str($this->input->post('key'));
$where = '(name LIKE "%' . $key . '%" OR description LIKE "%' . $key . '%")'; $where = '(name LIKE "%' . $key . '%" OR description LIKE "%' . $key . '%")';
$categories = $this->services_model->get_all_categories($where); $categories = $this->services_model->get_all_categories($where);
echo json_encode($categories); $this->output
->set_content_type('application/json')
->set_output(json_encode($categories));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1025,12 +1060,14 @@ class Backend_api extends CI_Controller {
'OR city LIKE "%' . $key . '%" OR state LIKE "%' . $key . '%" ' . 'OR city LIKE "%' . $key . '%" OR state LIKE "%' . $key . '%" ' .
'OR zip_code LIKE "%' . $key . '%" OR notes LIKE "%' . $key . '%")'; 'OR zip_code LIKE "%' . $key . '%" OR notes LIKE "%' . $key . '%")';
$admins = $this->admins_model->get_batch($where); $admins = $this->admins_model->get_batch($where);
echo json_encode($admins); $this->output
->set_content_type('application/json')
->set_output(json_encode($admins));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1066,12 +1103,14 @@ class Backend_api extends CI_Controller {
'id' => $admin_id 'id' => $admin_id
]; ];
echo json_encode($response); $this->output
->set_content_type('application/json')
->set_output(json_encode($response));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1095,12 +1134,14 @@ class Backend_api extends CI_Controller {
$this->load->model('admins_model'); $this->load->model('admins_model');
$result = $this->admins_model->delete($this->input->post('admin_id')); $result = $this->admins_model->delete($this->input->post('admin_id'));
echo ($result) ? json_encode(AJAX_SUCCESS) : json_encode(AJAX_FAILURE); $this->output
->set_content_type('application/json')
->set_output(json_encode($result ? AJAX_SUCCESS : AJAX_FAILURE));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1131,12 +1172,14 @@ class Backend_api extends CI_Controller {
'OR city LIKE "%' . $key . '%" OR state LIKE "%' . $key . '%" ' . 'OR city LIKE "%' . $key . '%" OR state LIKE "%' . $key . '%" ' .
'OR zip_code LIKE "%' . $key . '%" OR notes LIKE "%' . $key . '%")'; 'OR zip_code LIKE "%' . $key . '%" OR notes LIKE "%' . $key . '%")';
$providers = $this->providers_model->get_batch($where); $providers = $this->providers_model->get_batch($where);
echo json_encode($providers); $this->output
->set_content_type('application/json')
->set_output(json_encode($providers));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1174,16 +1217,18 @@ class Backend_api extends CI_Controller {
$provider_id = $this->providers_model->add($provider); $provider_id = $this->providers_model->add($provider);
echo json_encode([
'status' => AJAX_SUCCESS,
'id' => $provider_id
]);
$this->output
->set_content_type('application/json')
->set_output(json_encode([
'status' => AJAX_SUCCESS,
'id' => $provider_id
]));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1207,12 +1252,14 @@ class Backend_api extends CI_Controller {
$this->load->model('providers_model'); $this->load->model('providers_model');
$result = $this->providers_model->delete($this->input->post('provider_id')); $result = $this->providers_model->delete($this->input->post('provider_id'));
echo ($result) ? json_encode(AJAX_SUCCESS) : json_encode(AJAX_FAILURE); $this->output
->set_content_type('application/json')
->set_output(json_encode($result ? AJAX_SUCCESS : AJAX_FAILURE));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1243,12 +1290,14 @@ class Backend_api extends CI_Controller {
'OR city LIKE "%' . $key . '%" OR state LIKE "%' . $key . '%" ' . 'OR city LIKE "%' . $key . '%" OR state LIKE "%' . $key . '%" ' .
'OR zip_code LIKE "%' . $key . '%" OR notes LIKE "%' . $key . '%")'; 'OR zip_code LIKE "%' . $key . '%" OR notes LIKE "%' . $key . '%")';
$secretaries = $this->secretaries_model->get_batch($where); $secretaries = $this->secretaries_model->get_batch($where);
echo json_encode($secretaries); $this->output
->set_content_type('application/json')
->set_output(json_encode($secretaries));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1279,15 +1328,17 @@ class Backend_api extends CI_Controller {
$secretary_id = $this->secretaries_model->add($secretary); $secretary_id = $this->secretaries_model->add($secretary);
echo json_encode([ $this->output
'status' => AJAX_SUCCESS, ->set_content_type('application/json')
'id' => $secretary_id ->set_output(json_encode([
]); 'status' => AJAX_SUCCESS,
'id' => $secretary_id
]));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1311,12 +1362,15 @@ class Backend_api extends CI_Controller {
$this->load->model('secretaries_model'); $this->load->model('secretaries_model');
$result = $this->secretaries_model->delete($this->input->post('secretary_id')); $result = $this->secretaries_model->delete($this->input->post('secretary_id'));
echo ($result) ? json_encode(AJAX_SUCCESS) : json_encode(AJAX_FAILURE);
$this->output
->set_content_type('application/json')
->set_output(json_encode($result ? AJAX_SUCCESS : AJAX_FAILURE));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1357,12 +1411,14 @@ class Backend_api extends CI_Controller {
} }
} }
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1381,13 +1437,16 @@ class Backend_api extends CI_Controller {
// We will only use the function in the admins_model because it is sufficient // We will only use the function in the admins_model because it is sufficient
// for the rest user types for now (providers, secretaries). // for the rest user types for now (providers, secretaries).
$this->load->model('admins_model'); $this->load->model('admins_model');
$is_valid = $this->admins_model->validate_username($this->input->post('username'), $this->input->post('user_id')); $is_valid = $this->admins_model->validate_username($this->input->post('username'),
echo json_encode($is_valid); $this->input->post('user_id'));
$this->output
->set_content_type('application/json')
->set_output(json_encode($is_valid));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1423,13 +1482,15 @@ class Backend_api extends CI_Controller {
$this->session->set_userdata('language', $this->input->post('language')); $this->session->set_userdata('language', $this->input->post('language'));
$this->config->set_item('language', $this->input->post('language')); $this->config->set_item('language', $this->input->post('language'));
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1459,19 +1520,24 @@ class Backend_api extends CI_Controller {
$google_sync = $this->providers_model->get_setting('google_sync', $this->input->post('provider_id')); $google_sync = $this->providers_model->get_setting('google_sync', $this->input->post('provider_id'));
if ($google_sync) if ($google_sync)
{ {
$google_token = json_decode($this->providers_model->get_setting('google_token', $this->input->post('provider_id'))); $google_token = json_decode($this->providers_model->get_setting('google_token',
$this->input->post('provider_id')));
$this->google_sync->refresh_token($google_token->refresh_token); $this->google_sync->refresh_token($google_token->refresh_token);
$calendars = $this->google_sync->get_google_calendars(); $calendars = $this->google_sync->get_google_calendars();
echo json_encode($calendars); $this->output
->set_content_type('application/json')
->set_output(json_encode($calendars));
} else } else
{ {
echo json_encode(AJAX_FAILURE); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_FAILURE));
} }
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -1498,13 +1564,15 @@ class Backend_api extends CI_Controller {
$this->load->model('providers_model'); $this->load->model('providers_model');
$result = $this->providers_model->set_setting('google_calendar', $this->input->post('calendar_id'), $result = $this->providers_model->set_setting('google_calendar', $this->input->post('calendar_id'),
$this->input->post('provider_id')); $this->input->post('provider_id'));
echo json_encode(($result) ? AJAX_SUCCESS : AJAX_FAILURE);
$this->output
->set_content_type('application/json')
->set_output(json_encode($result ? AJAX_SUCCESS : AJAX_FAILURE));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
} }

View file

@ -73,11 +73,11 @@ class Google extends CI_Controller {
$this->providers_model->set_setting('google_calendar', 'primary', $_SESSION['oauth_provider_id']); $this->providers_model->set_setting('google_calendar', 'primary', $_SESSION['oauth_provider_id']);
} else } else
{ {
echo '<h1>Sync provider id not specified!</h1>'; $this->output->set_output('<h1>Sync provider id not specified!</h1>');
} }
} else } else
{ {
echo '<h1>Authorization Failed!</h1>'; $this->output->set_output('<h1>Authorization Failed!</h1>');
} }
} }
@ -232,12 +232,14 @@ class Google extends CI_Controller {
} }
} }
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
} }

View file

@ -122,13 +122,15 @@ class Installation extends CI_Controller {
$sample_provider['services'][] = $sample_service['id']; $sample_provider['services'][] = $sample_service['id'];
$this->providers_model->add($sample_provider); $this->providers_model->add($sample_provider);
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
} }

View file

@ -132,17 +132,21 @@ class User extends CI_Controller {
if ($user_data) if ($user_data)
{ {
$this->session->set_userdata($user_data); // Save data on user's session. $this->session->set_userdata($user_data); // Save data on user's session.
echo json_encode(AJAX_SUCCESS); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_SUCCESS));
} else } else
{ {
echo json_encode(AJAX_FAILURE); $this->output
->set_content_type('application/json')
->set_output(json_encode(AJAX_FAILURE));
} }
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
@ -168,7 +172,8 @@ class User extends CI_Controller {
$this->load->model('user_model'); $this->load->model('user_model');
$this->load->model('settings_model'); $this->load->model('settings_model');
$new_password = $this->user_model->regenerate_password($this->input->post('username'), $this->input->post('email')); $new_password = $this->user_model->regenerate_password($this->input->post('username'),
$this->input->post('email'));
if ($new_password != FALSE) if ($new_password != FALSE)
{ {
@ -180,15 +185,18 @@ class User extends CI_Controller {
'company_email' => $this->settings_model->get_setting('company_email') 'company_email' => $this->settings_model->get_setting('company_email')
]; ];
$email->sendPassword(new NonEmptyText($new_password), new Email($this->input->post('email')), $company_settings); $email->sendPassword(new NonEmptyText($new_password), new Email($this->input->post('email')),
$company_settings);
} }
echo ($new_password != FALSE) ? json_encode(AJAX_SUCCESS) : json_encode(AJAX_FAILURE); $this->output
->set_content_type('application/json')
->set_output(json_encode($new_password != FALSE ? AJAX_SUCCESS : AJAX_FAILURE));
} catch (Exception $exc) } catch (Exception $exc)
{ {
echo json_encode([ $this->output
'exceptions' => [exceptionToJavaScript($exc)] ->set_content_type('application/json')
]); ->set_output(json_encode(['exceptions' => [exceptionToJavaScript($exc)]]));
} }
} }
} }

View file

@ -86,7 +86,9 @@ class API_V1_Controller extends CI_Controller {
header('HTTP/1.0 ' . $header); header('HTTP/1.0 ' . $header);
header('Content-Type: application/json'); header('Content-Type: application/json');
echo json_encode($error, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); $this->output
->set_content_type('application/json')
->set_output(json_encode($error, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
} }
/** /**