diff --git a/src/application/libraries/Notifications.php b/src/application/libraries/Notifications.php
deleted file mode 100644
index feb83cfc..00000000
--- a/src/application/libraries/Notifications.php
+++ /dev/null
@@ -1,253 +0,0 @@
-
- * @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
- * @license http://opensource.org/licenses/GPL-3.0 - GPLv3
- * @link http://easyappointments.org
- * @since v1.0.0
- * ---------------------------------------------------------------------------- */
-
-/**
- * This library handles all the notification email deliveries
- * on the system.
- *
- * Custom system settings for the notification section are loaded
- * during the execution of each class methods.
- *
- * @package Libraries
- */
-class Notifications {
- /**
- * CodeIgniter Instance
- *
- * @var CodeIgniter
- */
- protected $ci;
-
- /**
- * Class Constructor
- */
- public function __construct() {
- $this->ci =& get_instance();
- }
-
- /**
- * Replace the email template variables.
- *
- * This method finds and replaces the html variables of an email
- * template. It is used to generate dynamic HTML emails that are
- * send as notifications to the system users.
- *
- * @param array $replace_array Array that contains the variables
- * to be replaced.
- * @param string $email_html The email template hmtl.
- *
- * @return string Returns the new email html that contain the
- * variables of the $replace_array.
- */
- protected function _replace_template_variables($replace_array, $email_html) {
- foreach($replace_array as $var=>$value) {
- $email_html = str_replace($var, $value, $email_html);
- }
-
- return $email_html;
- }
-
- /**
- * Send an email with the appointment details.
- *
- * This email template also needs an email title and an email text in order to complete
- * the appointment details.
- *
- * @expectedException Exception Raises when an unexpected error occures.
- *
- * @param array $appointment_data Contains the appointment data.
- * @param array $provider_data Contains the provider data.
- * @param array $service_data Contains the service data.
- * @param array $company_settings Contains settings of the company. By the time the
- * "company_name", "company_link" and "company_email" values are required in the array.
- * @param string $title The email title may vary depending the receiver.
- * @param string $message The email message may vary depending the receiver.
- * @param string $appointment_link This link is going to enable the receiver to make changes
- * to the appointment record.
- * @param string $receiver_address The receiver email address.
- *
- * @return bool Returns the operation result.
- */
- public function send_appointment_details($appointment_data, $provider_data, $service_data,
- $customer_data, $company_settings, $title, $message, $appointment_link,
- $receiver_address) {
-
- // :: PREPARE THE EMAIL TEMPLATE REPLACE ARRAY
- $replace_array = array(
- '$email_title' => $title,
- '$email_message' => $message,
-
- '$appointment_service' => $service_data['name'],
- '$appointment_provider' => $provider_data['first_name'] . ' ' . $provider_data['last_name'],
- '$appointment_start_date' => date('d/m/Y H:i', strtotime($appointment_data['start_datetime'])),
- '$appointment_end_date' => date('d/m/Y H:i', strtotime($appointment_data['end_datetime'])),
- '$appointment_link' => $appointment_link,
-
- '$company_link' => $company_settings['company_link'],
- '$company_name' => $company_settings['company_name'],
-
- '$customer_name' => $customer_data['first_name'] . ' ' . $customer_data['last_name'],
- '$customer_email' => $customer_data['email'],
- '$customer_phone' => $customer_data['phone_number'],
- '$customer_address' => $customer_data['address'],
-
- // Translations
- 'Appointment Details' => $this->ci->lang->line('appointment_details_title'),
- 'Service' => $this->ci->lang->line('service'),
- 'Provider' => $this->ci->lang->line('provider'),
- 'Start' => $this->ci->lang->line('start'),
- 'End' => $this->ci->lang->line('end'),
- 'Customer Details' => $this->ci->lang->line('customer_details_title'),
- 'Name' => $this->ci->lang->line('name'),
- 'Email' => $this->ci->lang->line('email'),
- 'Phone' => $this->ci->lang->line('phone'),
- 'Address' => $this->ci->lang->line('address'),
- 'Appointment Link' => $this->ci->lang->line('appointment_link_title')
- );
-
- $email_html = file_get_contents(dirname(dirname(__FILE__))
- . '/views/emails/appointment_details.php');
- $email_html = $this->_replace_template_variables($replace_array, $email_html);
-
- // :: INSTANTIATE EMAIL OBJECT AND SEND EMAIL
- $mail = new PHPMailer();
- $mail->From = $company_settings['company_email'];
- $mail->FromName = $company_settings['company_name'];
- $mail->AddAddress($receiver_address); // "Name" argument crushes the phpmailer class.
- $mail->IsHTML(true);
- $mail->CharSet = 'UTF-8';
- $mail->Subject = $title;
- $mail->Body = $email_html;
-
- if (!$mail->Send()) {
- throw new Exception('Email could not been sent. Mailer Error (Line '
- . __LINE__ . '): ' . $mail->ErrorInfo);
- }
-
- return TRUE;
- }
-
- /**
- * Send an email notification to both provider and customer on appointment removal.
- *
- * Whenever an appointment is cancelled or removed, both the provider and customer
- * need to be informed. This method sends the same email twice.
- *
- * IMPORTANT! This method's arguments should be taken
- * from database before the appointment record is deleted.
- *
- * @param array $appointment_data The record data of the removed appointment.
- * @param array $provider_data The record data of the appointment provider.
- * @param array $service_data The record data of the appointment service.
- * @param array $customer_data The record data of the appointment customer.
- * @param array $company_settings Some settings that are required for this function.
- * By now this array must contain the following values: "company_link",
- * "company_name", "company_email".
- * @param string $to_address The email address of the email receiver.
- * @param string $reason The reason why the appointment is deleted.
- */
- public function send_delete_appointment($appointment_data, $provider_data,
- $service_data, $customer_data, $company_settings, $to_address, $reason) {
- // :: PREPARE EMAIL REPLACE ARRAY
- $replace_array = array(
- '$email_title' => $this->ci->lang->line('appointment_cancelled_title'),
- '$email_message' => $this->ci->lang->line('appointment_removed_from_schedule'),
- '$appointment_service' => $service_data['name'],
- '$appointment_provider' => $provider_data['first_name'] . ' ' . $provider_data['last_name'],
- '$appointment_date' => date('d/m/Y H:i', strtotime($appointment_data['start_datetime'])),
- '$appointment_duration' => $service_data['duration'] . ' minutes',
- '$company_link' => $company_settings['company_link'],
- '$company_name' => $company_settings['company_name'],
- '$customer_name' => $customer_data['first_name'] . ' ' . $customer_data['last_name'],
- '$customer_email' => $customer_data['email'],
- '$customer_phone' => $customer_data['phone_number'],
- '$customer_address' => $customer_data['address'],
- '$reason' => $reason,
-
- // Translations
- 'Appointment Details' => $this->ci->lang->line('appointment_details_title'),
- 'Service' => $this->ci->lang->line('service'),
- 'Provider' => $this->ci->lang->line('provider'),
- 'Date' => $this->ci->lang->line('start'),
- 'Duration' => $this->ci->lang->line('duration'),
- 'Customer Details' => $this->ci->lang->line('customer_details_title'),
- 'Name' => $this->ci->lang->line('name'),
- 'Email' => $this->ci->lang->line('email'),
- 'Phone' => $this->ci->lang->line('phone'),
- 'Address' => $this->ci->lang->line('address'),
- 'Reason' => $this->ci->lang->line('reason')
- );
-
- $email_html = file_get_contents(dirname(dirname(__FILE__))
- . '/views/emails/delete_appointment.php');
- $email_html = $this->_replace_template_variables($replace_array, $email_html);
-
- // :: SETUP EMAIL OBJECT AND SEND NOTIFICATION
- $mail = new PHPMailer();
- $mail->From = $company_settings['company_email'];
- $mail->FromName = $company_settings['company_name'];
- $mail->AddAddress($to_address); // "Name" argument crushes the phpmailer class.
- $mail->IsHTML(true);
- $mail->CharSet = 'UTF-8';
- $mail->Subject = $this->ci->lang->line('appointment_cancelled_title');
- $mail->Body = $email_html;
-
- if (!$mail->Send()) {
- throw new Exception('Email could not been sent. '
- . 'Mailer Error (Line ' . __LINE__ . '): ' . $mail->ErrorInfo);
- }
-
- return TRUE;
- }
-
- /**
- * This method sends an email with the new password of a user.
- *
- * @param string $password Contains the new password.
- * @param string $email The receiver's email address.
- */
- public function send_password($password, $email, $company_settings) {
- $replace_array = array(
- '$email_title' => $this->ci->lang->line('new_account_password'),
- '$email_message' => $this->ci->lang->line('new_password_is'),
- '$company_name' => $company_settings['company_name'],
- '$company_email' => $company_settings['company_email'],
- '$company_link' => $company_settings['company_link'],
- '$password' => '' . $password . ''
- );
-
- $email_html = file_get_contents(dirname(dirname(__FILE__))
- . '/views/emails/new_password.php');
- $email_html = $this->_replace_template_variables($replace_array, $email_html);
-
- // :: SETUP EMAIL OBJECT AND SEND NOTIFICATION
- $mail = new PHPMailer();
- $mail->From = $company_settings['company_email'];
- $mail->FromName = $company_settings['company_name'];
- $mail->AddAddress($email); // "Name" argument crushes the phpmailer class.
- $mail->IsHTML(true);
- $mail->CharSet = 'UTF-8';
- $mail->Subject = $this->ci->lang->line('new_account_password');
- $mail->Body = $email_html;
-
- if (!$mail->Send()) {
- throw new Exception('Email could not been sent. '
- . 'Mailer Error (Line ' . __LINE__ . '): ' . $mail->ErrorInfo);
- }
-
- return TRUE;
- }
-}
-
-/* End of file notifications.php */
-/* Location: ./application/libraries/notifications.php */