CodeIgniter 3 app for dinbestehjelper.no. Excludes vendor/, local backup folders (new/, archive/, archived/) and DB dumps (*.sql) via .gitignore. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P16ttGUge8zj91dm6WrmEb
745 lines
28 KiB
PHP
745 lines
28 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class Admin extends CI_Controller {
|
|
|
|
/**
|
|
* Index Page for this controller.
|
|
*
|
|
* Maps to the following URL
|
|
* http://example.com/index.php/welcome
|
|
* - or -
|
|
* http://example.com/index.php/welcome/index
|
|
* - or -
|
|
* Since this controller is set as the default controller in
|
|
* config/routes.php, it's displayed at http://example.com/
|
|
*
|
|
* So any other public methods not prefixed with an underscore will
|
|
* map to /index.php/welcome/<method_name>
|
|
* @see https://codeigniter.com/userguide3/general/urls.html
|
|
*/
|
|
public function dashboard(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Vezérlőpult';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$this->load->view('admin/dashboard', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function services(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Szolgáltatások';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$data['results'] = $this->Service_model->getAllServices();
|
|
|
|
$this->load->view('admin/services', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function add_service(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Szolgáltatás hozzáadás';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
|
|
$this->load->view('admin/add-service', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function update_service($service_id){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Szolgáltatás módosítása (#'.$service_id.')';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$data['selectedItem'] = $this->Service_model->getServiceById($service_id);
|
|
$this->load->view('admin/update-service', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function service_process(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Log_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = '';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
|
|
if(isset($_GET['delete-service'])){
|
|
$selected_service = $this->Service_model->getServiceById($_GET['delete-service']);
|
|
$serviceArray = array(
|
|
'is_deleted' => '1'
|
|
);
|
|
|
|
$this->Service_model->updateService($_GET['delete-service'], $serviceArray);
|
|
$this->Log_model->addLog('services', $data['currentUser']->username.' törölte a(z) '.$_GET['delete-service'].' számú szolgáltatást ('.$selected_service->service_name_hu.')', $data['currentUser']->username);
|
|
|
|
}
|
|
|
|
if(isset($_POST['addNewService'])){
|
|
$serviceArray = array(
|
|
'main_category' => $_POST['main_category'],
|
|
'main_category_description' => $_POST['main_category_description'],
|
|
'service_category' => $_POST['service_category'],
|
|
'service_name' => $_POST['service_name'],
|
|
'service_description' => $_POST['service_description'],
|
|
'service_price' => $_POST['service_price'],
|
|
'service_time' => $_POST['service_time'],
|
|
'is_enabled' => $_POST['is_enabled']
|
|
);
|
|
|
|
$this->Log_model->addLog('services', $data['currentUser']->username.' hozzáadta a(z) '.$_POST['service_name'].' szolgáltatást ('.implode(',',$serviceArray).')', $data['currentUser']->username);
|
|
$this->Service_model->createService($serviceArray);
|
|
}
|
|
|
|
if(isset($_POST['updateService'])){
|
|
$serviceArray = array(
|
|
'main_category' => $_POST['main_category'],
|
|
'main_category_description' => $_POST['main_category_description'],
|
|
'service_category' => $_POST['service_category'],
|
|
'service_name' => $_POST['service_name'],
|
|
'service_description' => $_POST['service_description'],
|
|
'service_price' => $_POST['service_price'],
|
|
'service_time' => $_POST['service_time'],
|
|
'is_enabled' => $_POST['is_enabled']
|
|
);
|
|
|
|
$this->Log_model->addLog('services', $data['currentUser']->username.' módosította a(z) '.$_POST['service_name'].' szolgáltatást ('.implode(',',$serviceArray).')', $data['currentUser']->username);
|
|
$this->Service_model->updateService($_POST['service_id'], $serviceArray);
|
|
}
|
|
|
|
header('Location:'.SITEURL.'services');
|
|
$this->load->view('admin/service-process', $data);
|
|
}
|
|
}
|
|
|
|
public function groups(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Group_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Csoportok';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$data['results'] = $this->Group_model->getAllGroups();
|
|
|
|
$this->load->view('admin/groups', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function add_group(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Group_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Csoport hozzáadása';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$data['services'] = $this->Service_model->getAllServiceByServiceType();
|
|
|
|
$this->load->view('admin/add-group', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function update_group($group_id){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Group_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Csoport módosítása (#'.$group_id.')';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$data['selectedItem'] = $this->Group_model->getGroupById($group_id);
|
|
$data['services'] = $this->Service_model->getAllServiceByServiceType();
|
|
$this->load->view('admin/update-group', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function group_process(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Group_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Log_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = '';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
|
|
if(isset($_GET['delete-group'])){
|
|
$selected_group = $this->Group_model->getGroupById($_GET['delete-group']);
|
|
$groupArray = array(
|
|
'is_deleted' => '1'
|
|
);
|
|
|
|
$this->Service_model->updateGroup($_GET['group-group'], $groupArray);
|
|
$this->Log_model->addLog('groups', $data['currentUser']->username.' törölte a(z) '.$_GET['delete-group'].' számú csoportot ('.$selected_group->group_group.')', $data['currentUser']->username);
|
|
}
|
|
|
|
|
|
if(isset($_POST['addNewGroup'])){
|
|
|
|
$data['group_profile_img'] = '';
|
|
|
|
if($_FILES["group_profile_img"]["tmp_name"] != ''){
|
|
$target_dir = getcwd()."/assets/img/";
|
|
$target_file = $target_dir . 'group_'.str_replace(' ','_', $_POST['group_name']);
|
|
$imageFileType = strtolower(pathinfo(basename($_FILES["group_profile_img"]["name"]),PATHINFO_EXTENSION));
|
|
|
|
if (move_uploaded_file($_FILES["group_profile_img"]["tmp_name"], $target_file.'.'.$imageFileType)) {
|
|
$data['message'] = 'A profilkép sikeresen feltöltve!';
|
|
$data['message_class'] = 'successMessage';
|
|
$data['group_profile_img'] = 'group_'.str_replace(' ','_', $_POST['group_name']).'.'.$imageFileType;
|
|
|
|
} else {
|
|
$data['message'] = 'Hiba a feltöltés közben!';
|
|
$data['message_class'] = 'errorMessage';
|
|
}
|
|
|
|
}
|
|
|
|
$skillsArray = array();
|
|
$services = $this->Service_model->getAllServiceByServiceType();
|
|
if(is_array($services)){
|
|
foreach($services as $serviceItem){
|
|
if(isset($_POST['skill_'.$serviceItem->service_id]) && $_POST['skill_'.$serviceItem->service_id] == '1'){
|
|
$skillsArray[] = $serviceItem->service_id;
|
|
}
|
|
}
|
|
}
|
|
|
|
$groupArray = array(
|
|
'group_name' => $_POST['group_name'],
|
|
'group_info' => $_POST['group_info'],
|
|
'group_profile_img' => $data['group_profile_img'],
|
|
'skills' => implode(',', $skillsArray),
|
|
'is_active' => $_POST['is_active'],
|
|
'group_notes' => $_POST['group_notes']
|
|
);
|
|
$this->Log_model->addLog('groups', $data['currentUser']->username.' létrehozta a(z) '.$_POST['group_name'].' nevű csoportot ('.implode(',',$groupArray).')', $data['currentUser']->username);
|
|
|
|
$groupArray['skills'] = serialize($skillsArray);
|
|
$this->Group_model->createGroup($groupArray);
|
|
}
|
|
|
|
if(isset($_POST['updateGroup'])){
|
|
$data['group_profile_img'] = '';
|
|
|
|
$skillsArray = array();
|
|
$services = $this->Service_model->getAllServiceByServiceType();
|
|
if(is_array($services)){
|
|
foreach($services as $serviceItem){
|
|
if(isset($_POST['skill_'.$serviceItem->service_id]) && $_POST['skill_'.$serviceItem->service_id] == '1'){
|
|
$skillsArray[] = $serviceItem->service_id;
|
|
}
|
|
}
|
|
}
|
|
|
|
$groupArray = array(
|
|
'group_name' => $_POST['group_name'],
|
|
'group_info' => $_POST['group_info'],
|
|
'group_profile_img' => $data['group_profile_img'],
|
|
'skills' => implode(',', $skillsArray),
|
|
'is_active' => $_POST['is_active'],
|
|
'group_notes' => $_POST['group_notes']
|
|
);
|
|
$this->Log_model->addLog('groups', $data['currentUser']->username.' módosította a(z) '.$_POST['group_name'].' nevű csoportot ('.implode(',',$groupArray).')', $data['currentUser']->username);
|
|
|
|
$groupArray['skills'] = serialize($skillsArray);
|
|
|
|
$this->Group_model->updateGroup($_POST['group_id'], $groupArray);
|
|
|
|
if($_FILES["group_profile_img"]["tmp_name"] != ''){
|
|
$target_dir = getcwd()."/assets/img/";
|
|
$target_file = $target_dir . 'group_'.str_replace(' ','_', $_POST['group_name']);
|
|
$imageFileType = strtolower(pathinfo(basename($_FILES["group_profile_img"]["name"]),PATHINFO_EXTENSION));
|
|
|
|
if (move_uploaded_file($_FILES["group_profile_img"]["tmp_name"], $target_file.'.'.$imageFileType)) {
|
|
$data['message'] = 'A profilkép sikeresen feltöltve!';
|
|
$data['message_class'] = 'successMessage';
|
|
$data['group_profile_img'] = 'group_'.str_replace(' ','_', $_POST['group_name']).'.'.$imageFileType;
|
|
$groupArray = array(
|
|
'group_profile_img' => $data['group_profile_img']
|
|
);
|
|
|
|
$this->Log_model->addLog('groups', $data['currentUser']->username.' profilképet állított be a(z) '.$_POST['group_name'].' nevű csoporthoz', $data['currentUser']->username);
|
|
$this->Group_model->updateGroup($_POST['group_id'], $groupArray);
|
|
|
|
} else {
|
|
$data['message'] = 'Hiba a feltöltés közben!';
|
|
$data['message_class'] = 'errorMessage';
|
|
}
|
|
|
|
}
|
|
}
|
|
header("Location:".SITEURL."groups");
|
|
$this->load->view('admin/group-process', $data);
|
|
}
|
|
}
|
|
|
|
|
|
public function bookings(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Foglalások';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$data['results'] = $this->Service_model->getActualBookings();
|
|
|
|
$this->load->view('admin/bookings', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function add_booking(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Group_model');
|
|
$this->load->model('Module_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Foglalás hozzáadása';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$available_services = $this->Service_model->getAvailableServices();
|
|
|
|
$serviceFile = fopen("load_services.json", "w") or die("Unable to open file!");
|
|
fwrite($serviceFile, json_encode($available_services));
|
|
fclose($serviceFile);
|
|
|
|
$data['workgroups'] = $this->Group_model->getAllGroups();
|
|
$this->load->view('admin/add-booking', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function update_booking($booking_id){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Module_model');
|
|
$this->load->model('Group_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = 'Foglalás módosítása (#'.$booking_id.')';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
if($this->User_model->is_user_admin($_SESSION['username'])){
|
|
$data['activeModules'] = $this->Module_model->getAllModule();
|
|
}
|
|
else{
|
|
$data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id);
|
|
}
|
|
|
|
$available_services = $this->Service_model->getAvailableServices();
|
|
|
|
$serviceFile = fopen("load_services.json", "w") or die("Unable to open file!");
|
|
fwrite($serviceFile, json_encode($available_services));
|
|
fclose($serviceFile);
|
|
|
|
$data['workgroups'] = $this->Group_model->getAllGroups();
|
|
$data['selectedItem'] = $this->Service_model->getBookingById($booking_id);
|
|
$this->load->view('admin/update-booking', $data);
|
|
}
|
|
else{
|
|
header("Location:".SITEURL."login");
|
|
}
|
|
}
|
|
|
|
public function booking_process(){
|
|
$this->load->helper('url');
|
|
$this->load->model('User_model');
|
|
$this->load->model('Service_model');
|
|
$this->load->model('Log_model');
|
|
|
|
if(isset($_SESSION['username'])){
|
|
$data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']);
|
|
$data['pageTitle'] = '';
|
|
$data['message'] = '';
|
|
$data['message_class'] = '';
|
|
|
|
if(isset($_GET['delete-booking'])){
|
|
$selectedBooking = $this->Service_model->getBookingById($_GET['delete-booking']);
|
|
$this->Service_model->deleteBooking($_GET['delete-booking']);
|
|
$this->Log_model->addLog('bookings', $data['currentUser']->username.' törölte a(z) '.$_GET['delete-booking'].' számú foglalást ('.$selectedBooking->guest_name.', '.$selectedBooking->guest_email.', '.$selectedBooking->guest_phone.', '.$selectedBooking->booking_date.', '.$selectedBooking->booking_start_time.', '.$selectedBooking->booking_finish_time.', '.$selectedBooking->service_ids.')', $data['currentUser']->username);
|
|
header('Location:'.SITEURL.'bookings');
|
|
}
|
|
|
|
if(isset($_POST['addNewBookingManual'])){
|
|
$booking_date = new DateTime(date('Y-m-d', strtotime($_POST['booking_date'])));
|
|
$end_booking_date = new DateTime(date('Y-m-d', strtotime($_POST['end_booking_date'])));
|
|
$diff = $booking_date->diff($end_booking_date);
|
|
|
|
$selectedServiceArray = array();
|
|
|
|
if($_POST['service_ids'] != ''){
|
|
$selectedServiceArray = explode(',', $_POST['service_ids']);
|
|
|
|
}
|
|
|
|
if($_POST['booking_date'] != $_POST['end_booking_date'] && $booking_date <= $end_booking_date){
|
|
for($index = 0; $index <= $diff->days; $index++){
|
|
$selectedDate = date('Y-m-d', strtotime($_POST['booking_date']. ' + '.$index.' days'));
|
|
|
|
|
|
$bookingArray = array(
|
|
'guest_name' => $_POST['guest_name'],
|
|
'guest_email' => $_POST['guest_email'],
|
|
'guest_phone' => $_POST['guest_phone'],
|
|
'group_id' => $_POST['group_id'],
|
|
'booking_date' => $selectedDate,
|
|
'booking_start_time' => $_POST['booking_start_time'],
|
|
'booking_finish_time' => $_POST['booking_finish_time'],
|
|
'service_ids' => serialize($selectedServiceArray),
|
|
'guest_confirmed' => '0',
|
|
'guest_confirm_code' => '1234',
|
|
);
|
|
$this->Service_model->createBooking($bookingArray);
|
|
}
|
|
}
|
|
else{
|
|
$bookingArray = array(
|
|
'guest_name' => $_POST['guest_name'],
|
|
'guest_email' => $_POST['guest_email'],
|
|
'guest_phone' => $_POST['guest_phone'],
|
|
'group_id' => $_POST['group_id'],
|
|
'booking_date' => $_POST['booking_date'],
|
|
'booking_start_time' => $_POST['booking_start_time'],
|
|
'booking_finish_time' => $_POST['booking_finish_time'],
|
|
'service_ids' => serialize($selectedServiceArray),
|
|
'guest_confirmed' => '0',
|
|
'guest_confirm_code' => '1234',
|
|
);
|
|
$this->Log_model->addLog('bookings', $data['currentUser']->username.' létrehoza a(z) '.$_POST['guest_name'].' nevű vendég foglalást ('.implode(', ', $bookingArray).')', $data['currentUser']->username);
|
|
$this->Service_model->createBooking($bookingArray);
|
|
}
|
|
|
|
if($_POST['send_notification']){
|
|
$worker = $this->Service_model->getWorkerById($bookingArray['worker_id']);
|
|
|
|
$services = unserialize($bookingArray['service_ids']);
|
|
$serviceArray = array();
|
|
$emailArray = array();
|
|
|
|
if(is_array($services)){
|
|
foreach($services as $serviceItem){
|
|
$selectedService = $this->Service_model->getServiceById($serviceItem);
|
|
if(is_object($selectedService)){
|
|
$serviceArray[] = $selectedService;
|
|
}
|
|
}
|
|
}
|
|
|
|
$content = '';
|
|
|
|
$content = 'Kjære gjest,<br />';
|
|
$content .= 'Takk for din bestilling!<br />';
|
|
$content .= '<br />';
|
|
$content .= '<table>';
|
|
$content .= '<tr><td>Navn: </td><td>'.$bookingArray['guest_name'].'</td></tr>';
|
|
$content .= '<tr><td>E-post: </td><td>'.$bookingArray['guest_email'].'</td></tr>';
|
|
$content .= '<tr><td>Telefon: </td><td>'.$bookingArray['guest_phone'].'</td></tr>';
|
|
$content .= '<tr><td>Arbeider: </td><td>'.$worker->worker_name.'</td></tr>';
|
|
$content .= '<tr><td>Dato: </td><td>'.$bookingArray['booking_date'].'</td></tr>';
|
|
$content .= '<tr><td>Tid: </td><td>'.$bookingArray['booking_start_time'].' - '.$bookingArray['booking_finish_time'].'</td></tr>';
|
|
$content .= '<tr><td>Tjenester: </td><td><table>';
|
|
$totalServicePrice = 0;
|
|
foreach($serviceArray as $serviceArrayItem){
|
|
$totalServicePrice += $serviceArrayItem->service_price;
|
|
$content .= '<tr><td>'.$serviceArrayItem->service_name_no.'</td><td>'.$serviceArrayItem->service_price.' kr</td></tr>';
|
|
}
|
|
$content .= '</table></td>';
|
|
$content .= '<tr><td>Totalpris: </td><td><strong>'.$totalServicePrice.' kr</strong></td></tr>';
|
|
$content .= '</table>';
|
|
$content .= '<br /> STUDIOBEVE';
|
|
$this->Log_model->addLog('bookings', $data['currentUser']->username.' új foglalásról norvég nyelvű értesítést küldött a(z) '.$bookingArray['guest_email'].' email címre ('.implode(', ', $bookingArray).')', $data['currentUser']->username);
|
|
|
|
$emailItem = array(
|
|
'addressee_email' => $bookingArray['guest_email'],
|
|
'addressee_name' => $bookingArray['guest_name'],
|
|
'subject' => '[dinbestehjelper] Your booking has arrived',
|
|
'content' => $content,
|
|
'attachments' => array()
|
|
);
|
|
$emailArray[] = $emailItem;
|
|
|
|
|
|
$this->User_model->sendEmail($emailArray);
|
|
}
|
|
header('Location:'.SITEURL.'bookings');
|
|
}
|
|
|
|
if(isset($_POST['updateBookingManual'])){
|
|
$booking_date = new DateTime(date('Y-m-d', strtotime($_POST['booking_date'])));
|
|
$end_booking_date = new DateTime(date('Y-m-d', strtotime($_POST['end_booking_date'])));
|
|
$diff = $booking_date->diff($end_booking_date);
|
|
|
|
$selectedServiceArray = array();
|
|
|
|
if($_POST['service_ids'] != ''){
|
|
$selectedServiceArray = explode(',', $_POST['service_ids']);
|
|
|
|
}
|
|
|
|
if($_POST['booking_date'] != $_POST['end_booking_date'] && $booking_date <= $end_booking_date){
|
|
for($index = 0; $index <= $diff->days; $index++){
|
|
$selectedDate = date('Y-m-d', strtotime($_POST['booking_date']. ' + '.$index.' days'));
|
|
|
|
|
|
$bookingArray = array(
|
|
'guest_name' => $_POST['guest_name'],
|
|
'guest_email' => $_POST['guest_email'],
|
|
'guest_phone' => $_POST['guest_phone'],
|
|
'worker_id' => $_POST['worker_id'],
|
|
'booking_date' => $selectedDate,
|
|
'booking_start_time' => $_POST['booking_start_time'],
|
|
'booking_finish_time' => $_POST['booking_finish_time'],
|
|
'service_ids' => serialize($selectedServiceArray),
|
|
'guest_confirmed' => '0',
|
|
'guest_confirm_code' => '1234'
|
|
);
|
|
|
|
$this->Service_model->createBooking($bookingArray);
|
|
}
|
|
}
|
|
else{
|
|
$bookingArray = array(
|
|
'guest_name' => $_POST['guest_name'],
|
|
'guest_email' => $_POST['guest_email'],
|
|
'guest_phone' => $_POST['guest_phone'],
|
|
'group_id' => $_POST['group_id'],
|
|
'booking_date' => $_POST['booking_date'],
|
|
'booking_start_time' => $_POST['booking_start_time'],
|
|
'booking_finish_time' => $_POST['booking_finish_time'],
|
|
'service_ids' => serialize($selectedServiceArray),
|
|
'guest_confirmed' => '0',
|
|
'guest_confirm_code' => '1234'
|
|
);
|
|
|
|
$this->Service_model->updateBooking($_POST['booking_id'], $bookingArray);
|
|
$this->Log_model->addLog('bookings', $data['currentUser']->username.' módosította a foglalását a(z) '.$bookingArray['guest_name'].' nevű vendégnek ('.implode(', ', $bookingArray).')', $data['currentUser']->username);
|
|
}
|
|
|
|
if($_POST['send_notification']){
|
|
$workgroup = $this->Service_model->getWorkerById($bookingArray['group_id']);
|
|
|
|
$services = unserialize($bookingArray['service_ids']);
|
|
$serviceArray = array();
|
|
$emailArray = array();
|
|
|
|
if(is_array($services)){
|
|
foreach($services as $serviceItem){
|
|
$selectedService = $this->Service_model->getServiceById($serviceItem);
|
|
if(is_object($selectedService)){
|
|
$serviceArray[] = $selectedService;
|
|
}
|
|
}
|
|
}
|
|
|
|
$content = '';
|
|
|
|
$email_subject ='[studiobeve] Din reservasjon er endret';
|
|
$content = 'Kjære gjest,<br />';
|
|
$content .= 'Vi vil gjerne informere deg om at din reservasjon er endret.<br />';
|
|
$content .= '<br />';
|
|
$content .= '<table>';
|
|
$content .= '<tr><td>Navn: </td><td>'.$bookingArray['guest_name'].'</td></tr>';
|
|
$content .= '<tr><td>E-post: </td><td>'.$bookingArray['guest_email'].'</td></tr>';
|
|
$content .= '<tr><td>Telefon: </td><td>'.$bookingArray['guest_phone'].'</td></tr>';
|
|
$content .= '<tr><td>Arbeider: </td><td>'.$worker->worker_name.'</td></tr>';
|
|
$content .= '<tr><td>Dato: </td><td>'.$bookingArray['booking_date'].'</td></tr>';
|
|
$content .= '<tr><td>Tid: </td><td>'.$bookingArray['booking_start_time'].' - '.$bookingArray['booking_finish_time'].'</td></tr>';
|
|
$content .= '<tr><td>Tjenester: </td><td><table>';
|
|
$totalServicePrice = 0;
|
|
foreach($serviceArray as $serviceArrayItem){
|
|
$totalServicePrice += $serviceArrayItem->service_price;
|
|
$content .= '<tr><td>'.$serviceArrayItem->service_name_no.'</td><td>'.$serviceArrayItem->service_price.' kr</td></tr>';
|
|
}
|
|
$content .= '</table></td>';
|
|
$content .= '<tr><td>Totalpris: </td><td><strong>'.$totalServicePrice.' kr</strong></td></tr>';
|
|
$content .= '</table>';
|
|
$content .= '<br /> STUDIOBEVE';
|
|
$this->Log_model->addLog('bookings', $data['currentUser']->username.' foglalás módosításról norvég nyelvű értesítést küldött a(z) '.$bookingArray['guest_email'].' email címre ('.implode(', ', $bookingArray).')', $data['currentUser']->username);
|
|
|
|
|
|
$emailItem = array(
|
|
'addressee_email' => $bookingArray['guest_email'],
|
|
'addressee_name' => $bookingArray['guest_name'],
|
|
'subject' => $email_subject,
|
|
'content' => $content,
|
|
'attachments' => array()
|
|
);
|
|
$emailArray[] = $emailItem;
|
|
|
|
$this->User_model->sendEmail($emailArray);
|
|
}
|
|
header('Location:'.SITEURL.'bookings');
|
|
}
|
|
|
|
$this->load->view('admin/booking-process', $data);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|