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 '
';
        // 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 '
';
        // 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');
//     }
// }