EVOLUTION-NINJA
Edit File: Admin.php
<?php namespace App\Controllers; use App\Models\UserModel; use App\Models\UserModel2; class Admin extends BaseController{ public function __construct() { date_default_timezone_set('Asia/Kolkata'); $this->db = \Config\Database::connect(); } public function register() { if ($this->request->isAJAX()) { $userData = [ 'name' => $this->request->getVar('name'), 'email' => $this->request->getVar('Email'), 'phone' => $this->request->getVar('phone'), // 'user_id' => $this->request->getVar('user_id'), 'password' => password_hash($this->request->getVar('password'), PASSWORD_DEFAULT), // Encrypt password 'create_at'=>date('Y-m-d H:i:s'), 'role'=>1, 'role_name'=>'Promoting Partner', ]; $promoter_id = 'PID'. rand(1000, 9999); $userData['promoter_id']=$promoter_id; log_message('debug', 'User Data: ' . json_encode($userData)); $bankData = [ 'user_id' => $this->request->getVar('user_id'), 'address' => $this->request->getVar('address'), 'city' => $this->request->getVar('city'), 'state' => $this->request->getVar('state'), 'account_no' => $this->request->getVar('account_no'), 'account_holder_name' => $this->request->getVar('account_holder_name'), 'bank_name' => $this->request->getVar('bank_name'), 'ifsc_code' => $this->request->getVar('ifsc_code'), 'branch' => $this->request->getVar('branch'), 'upi_id' => $this->request->getVar('upi_id'), 'branch_address' => $this->request->getVar('branch_address'), 'created_at'=>date('Y-m-d H:i:s'), ]; log_message('debug', 'Bank Data: ' . json_encode($bankData)); $usermodel = new \App\Models\UserModel(); $userId = $usermodel->insert($userData); if (!$userId) { log_message('error', 'Failed to insert user data'); return $this->response->setJSON(['status' => 'error', 'message' => 'Failed to insert user data']); } $bankData['user_id'] = $userId; $bankmodel = new \App\Models\UserModel2(); $bankInsertSuccess = $bankmodel->insert($bankData); // Check if the bank data insertion was successful if (!$bankInsertSuccess) { log_message('error', 'Failed to insert bank data'); return $this->response->setJSON(['status' => 'error', 'message' => 'Failed to insert bank data']); } return $this->response->setJSON(['status' => 'success', 'message' => 'User Created Succesfully']); } else { return $this->response->setJSON(['status' => 'error', 'message' => 'Invalid request']); } } private function handleFileUpload() { $profilePic = $this->request->getFile('profile_pic'); if ($profilePic && $profilePic->isValid() && !$profilePic->hasMoved()) { $uploadPath = WRITEPATH . 'uploads/profile_pics/'; $newName = $profilePic->getRandomName(); if ($profilePic->move($uploadPath, $newName)) { return $newName; } else { return null; } } return null; } public function getPendingUsers() { $request = $this->request; $builder = $this->db->table('promoter_requests'); $builder->select('promoter_requests.*,user.id as user_id ,user.promoter_id,user.name as name'); $builder->join('user','user.id = promoter_requests.promoter_id','left'); $builder->where('status', 'pending'); $totalUsers = $builder->countAllResults(false); $users = $builder->get()->getResultArray(); $data = [ 'draw' => $request->getVar('draw'), 'recordsTotal' => $totalUsers, 'recordsFiltered' => $totalUsers, 'data' => $users ]; return $this->response->setJSON($data); } public function approveUser() { $id = $this->request->getPost('id'); if (!$id) { return $this->response->setJSON(['result' => 0, 'message' => 'Invalid input provided.']); } $data = [ 'status' => 'approved', ]; $builder = $this->db->table('promoter_requests'); $builder->where('id', $id); $builder->update($data); return $this->response->setJSON(['result' => 1, 'message' => 'approved successfully!']); } public function deleteUser(){ $id = $this->request->getPost('id'); if($id){ $builder = $this->db->table('promoter_requests'); $builder->where('id', $id); $builder->delete(); return $this->response->setJSON(['result' => 1, 'message' =>'deleted successfully']); } else{ return $this->response->setJSON(['result' => 0, 'message' =>'Failed to Delete']); } } public function add_scheme(){ $builder = $this->db->table('schemes'); $scheme=$this->request->getPost('scheme'); $data=[ "scheme"=>$scheme, ]; if($builder->insert($data)){ return $this->response->setJSON(['result' => 1, 'message' =>' added successfully']); } else{ return $this->response->setJSON(['result' => 0, 'message' =>' Failed to add']); } } public function scheme_list(){ $builder = $this->db->table('schemes'); $data = $builder->get()->getResultArray(); if($data){ return $this->response->setJSON($data); } else{ return $this->response->setJSON(['result'=>0,'message'=>'no data found']); } } public function delete_scheme($id){ if($id){ $data=['active' =>'inactive']; $builder = $this->db->table('schemes'); $builder->where('id', $id); $builder->update($data); return $this->response->setJSON(['result' => 1, 'message' =>'scheme Inactived successfully']); } else{ return $this->response->setJSON(['result' => 0, 'message' =>'Failed to Delete']); } } public function edit_scheme($id){ if($id){ $builder = $this->db->table('schemes'); $builder->where('id',$id); $data = $builder->get()->getResultArray(); return $this->response->setJSON(['result' => 1, 'data' =>$data]); } else{ return $this->response->setJSON(['result' => 0, 'message' =>'Failed to Delete']); } } public function update_scheme(){ $id=$this->request->getPost('id'); $scheme=$this->request->getPost('scheme_model'); $builder = $this->db->table('schemes'); $builder->where('id', $id); $data=['scheme'=>$scheme, ]; $update=$builder->update($data); if($update){ return $this->response->setJSON(['result' => 1, 'message' =>' updated successfully']); } else{ return $this->response->setJSON(['result' => 0, 'message' =>'Failed to update']); } } public function update_scheme_status() { $id = $this->request->getPost('id'); $status = $this->request->getPost('status'); // Ensure database is loaded properly $db = \Config\Database::connect(); $builder = $db->table('schemes'); $update = $builder->where('id', $id)->update(['status' => $status]); return $this->response->setJSON(['success' => $update]); } public function getPromoters() { $db = \Config\Database::connect(); $builder = $db->table('user'); $builder->select('user.id, user.name, user.email, user.phone, user.valid_user, user_details.address, user_details.city, user_details.state'); $builder->join('user_details', 'user.id = user_details.user_id', 'left'); $query = $builder->get(); $promoters = $query->getResultArray(); return $this->response->setJSON($promoters); } public function active() { $id = $this->request->getPost('id'); // Check if the ID exists if (!$id) { return $this->response->setJSON(['result' => 0, 'message' => 'Invalid ID']); } // Update the 'valid_user' field to '0' (inactive) $builder = $this->db->table('user'); $builder->where('id', $id); $data = ['valid_user' => 0]; // Assuming 0 means inactive $update = $builder->update($data); if ($update) { return $this->response->setJSON(['result' => 1, 'message' => 'Promoter inactivated successfully']); } else { return $this->response->setJSON(['result' => 0, 'message' => 'Failed to inactivate promoter']); } } }?>