214 lines
7.3 KiB
PHP
214 lines
7.3 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
use App\Models\BusinessModel;
|
|
use App\Models\SettingsModel;
|
|
|
|
class Settings extends BaseController
|
|
{
|
|
public function index()
|
|
{
|
|
helper('session');
|
|
$session_role = get_user_role();
|
|
$session_bid = get_business_id();
|
|
|
|
$where = ['settings.isactive' => 1];
|
|
if (!empty($session_role) && $session_role !== "sadmin") {
|
|
$where = ['settings.business_id' => $session_bid, 'settings.isactive' => 1];
|
|
}
|
|
|
|
$model = new SettingsModel();
|
|
$model->setTable('settings');
|
|
$sitesetting_details = $model->where($where)->orderBy('setting_id', 'DESC')->findAll();
|
|
$data['page_name'] = 'Org Settings Details';
|
|
$data['details'] = $sitesetting_details;
|
|
$data['session_role'] = $session_role;
|
|
$this->render_page('setting_list', $data);
|
|
}
|
|
|
|
## To Load Settings Add/Update page
|
|
public function sitesetting_page($id)
|
|
{
|
|
helper('session');
|
|
$session_role = get_user_role();
|
|
$session_bid = get_business_id();
|
|
|
|
if ($id === '0') {
|
|
$data['page_name'] = 'Add Org Settings';
|
|
$data['details'] = [];
|
|
} else if ($id !== '0') {
|
|
$data['page_name'] = 'Edit Org Settings';
|
|
|
|
$model = new SettingsModel();
|
|
$model->setTable('settings');
|
|
if($session_role === 'sadmin'){
|
|
|
|
$details = $model->where(['setting_id' => $id, 'isactive' => 1])->first();
|
|
}
|
|
else{
|
|
$details = $model->where(['business_id' => $session_bid, 'isactive' => 1])->first();
|
|
|
|
}
|
|
$data['details'] = $details;
|
|
|
|
}
|
|
|
|
|
|
$data['business_details']=$this->business_details();
|
|
|
|
// echo '<pre>';
|
|
// print_r($data); die;
|
|
$this->render_page('setting_form', $data);
|
|
}
|
|
public function business_details()
|
|
{
|
|
helper('session');
|
|
$session_role = get_user_role();
|
|
$session_bid = get_business_id();
|
|
|
|
$model = new BusinessModel();
|
|
$model->setTable('business');
|
|
if($session_role === 'sadmin'){
|
|
|
|
$business_details = $model->where('business_id !=', 0)->orderBy('business_id', 'DESC')->findAll();
|
|
}
|
|
else{
|
|
$business_details = $model->where('business_id', $session_bid)->findAll();
|
|
|
|
}
|
|
return $business_details;
|
|
}
|
|
|
|
|
|
## To Save/Update Setting Data on DB.
|
|
public function sitesetting_synchronization()
|
|
{
|
|
helper('session');
|
|
$session_bid = get_business_id();
|
|
$session_uid = get_logged_user_id();
|
|
$session_role = get_user_role();
|
|
|
|
$img = $this->request->getFile('slogo');
|
|
print_r($img);
|
|
$business_id = $this->request->getPost('business_id');
|
|
$app_setting_id = $this->request->getPost('app_setting_id');
|
|
$filePath = 'public/uploads/' . $this->request->getPost('slogo');
|
|
$fileName = $img->getName();
|
|
var_dump($fileName);
|
|
echo $fileName;
|
|
echo $fileName !== "" && $fileName !== null ? "Yes":"No";
|
|
// die();
|
|
|
|
if($fileName !== ""){
|
|
|
|
if ($img->isValid() && !$img->hasMoved()) {
|
|
|
|
$img->move(ROOTPATH . 'public/uploads', $fileName);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
$favicon = $this->request->getFile('favicon');
|
|
$faviconName = $favicon->getName();
|
|
|
|
if($faviconName !== ""){
|
|
|
|
if ($favicon->isValid() && !$favicon->hasMoved()) {
|
|
|
|
$favicon->move(ROOTPATH . 'public/uploads', $faviconName);
|
|
}
|
|
}
|
|
|
|
$SettingsModel = new SettingsModel();
|
|
$data = [
|
|
|
|
'site_name' => $this->request->getPost('site_name'),
|
|
'site_title' => $this->request->getPost('site_title'),
|
|
'terms_service' => $this->request->getPost('terms_service'),
|
|
'footer_about' => $this->request->getPost('footer_about'),
|
|
'admin_email' => $this->request->getPost('admin_email'),
|
|
'mobile'=> $this->request->getPost('mobile'),
|
|
'copyright'=> $this->request->getPost('copyright'),
|
|
'pagination_limit'=> $this->request->getPost('pagination_limit'),
|
|
'site_info'=> $this->request->getPost('site_info'),
|
|
'about_info'=> $this->request->getPost('about_info'),
|
|
'mail_protocol'=> $this->request->getPost('mail_protocol'),
|
|
'mail_title'=> $this->request->getPost('mail_title'),
|
|
'mail_host'=> $this->request->getPost('mail_host'),
|
|
'mail_port'=> $this->request->getPost('mail_port'),
|
|
'mail_encryption'=> $this->request->getPost('mail_encryption'),
|
|
'mail_username'=> $this->request->getPost('mail_username'),
|
|
'mail_password'=> $this->request->getPost('mail_password'),
|
|
'currency'=> $this->request->getPost('currency'),
|
|
'country'=> $this->request->getPost('country'),
|
|
'business_id'=> $this->request->getPost('business_id'),
|
|
'start_no'=> $this->request->getPost('start_no'),
|
|
'left_pad'=> $this->request->getPost('left_pad'),
|
|
'prefix_format'=> $this->request->getPost('prefix_format'),
|
|
];
|
|
|
|
if($fileName !== "" && $fileName !== null)
|
|
{
|
|
$data['logo'] = $fileName;
|
|
}
|
|
|
|
if($faviconName !== "" && $faviconName !== null)
|
|
{
|
|
$data['favicon'] = $faviconName;
|
|
}
|
|
|
|
// echo '<pre>';
|
|
// print_r($data); die;
|
|
|
|
$setting_id = $this->request->getPost('setting_id'); // Get the business ID for update
|
|
|
|
if (empty($setting_id)) {
|
|
// It's an insert operation
|
|
$data['isactive'] = 1;
|
|
$data['created_by'] = $session_uid;
|
|
|
|
$SettingsModel->insert($data);
|
|
// print_r($data);die;
|
|
} else {
|
|
// It's an update operation
|
|
$isactive = $this->request->getPost('isactive');
|
|
$data['isactive'] = ($isactive == 'on') ? 1 : 0;
|
|
$data['updated_by'] = $session_uid;
|
|
$SettingsModel->update($setting_id, $data);
|
|
}
|
|
|
|
if($session_role === 'sadmin'){
|
|
|
|
return redirect()->route('sitesetting_list');
|
|
}
|
|
else{
|
|
return redirect()->route('dashboard');
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// $model = new SettingsModel();
|
|
// $model->setTable('settings');
|
|
// if ($this->request->is('post')) {
|
|
// $requestData = $this->request->getVar();
|
|
// }
|
|
// $requestData['business_id'] = $session_bid;
|
|
// if ($requestData['setting_id']) {
|
|
// #edit
|
|
// $requestData['updated_by'] = $session_uid;
|
|
// $requestData['isactive'] = isset($requestData['isactive']) && $requestData['isactive'] == 'on' ? 1 : 0;
|
|
// $model->saveData($requestData, $requestData['setting_id']);
|
|
// $alert_message = "Site Settings details successfully updated.";
|
|
// } else {
|
|
// #add
|
|
// $requestData['created_by'] = $session_uid;
|
|
// $requestData['isactive'] = 1;
|
|
// $model->saveData($requestData, null);
|
|
// $alert_message = "Site Settings details successfully created.";
|
|
// }
|
|
// return redirect()->route('sitesetting_list');
|
|
// }
|
|
// }
|