520 lines
16 KiB
PHP
520 lines
16 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
use App\Models\User_model;
|
|
use App\Models\Dashboard_model;
|
|
use App\Models\Common_model;
|
|
use App\Models\Member_credits_model;
|
|
use App\Models\Packages_and_pricing_model;
|
|
use App\Models\Credits_usage_tracking_model;
|
|
use App\Models\Email_template_model;
|
|
use App\Models\Variable_model;
|
|
use App\Models\Rule_model;
|
|
class Admin_controller extends BaseController
|
|
{
|
|
public $session;
|
|
public function __construct()
|
|
{
|
|
$this->session = session();
|
|
$this->UserModel = new User_model();
|
|
$this->dModel = new Dashboard_model();
|
|
$this->cModel = new Common_model();
|
|
$this->creditsModel = new Member_credits_model();
|
|
$this->PackagesModel = new Packages_and_pricing_model();
|
|
$this->CreditsUsageTrackingModel = new Credits_usage_tracking_model();
|
|
$this->MailModel = new Email_template_model();
|
|
$this->VariableModel = new Variable_model();
|
|
$this->RuleModel = new Rule_model();
|
|
helper(['form', 'url']);
|
|
}
|
|
public function index()
|
|
{
|
|
|
|
$data=[];
|
|
|
|
|
|
if($this->request->getmethod() == 'post')
|
|
{
|
|
$email = $this->request->getVar('email');
|
|
//echo $email; die();
|
|
$password = $this->request->getVar('password');
|
|
$userdata = $this->UserModel->verifyEmail($email);
|
|
|
|
|
|
if($userdata)
|
|
{
|
|
if (password_verify($password, $userdata['password']))
|
|
{
|
|
|
|
$this->session->set('logged_user',$userdata['id']);
|
|
return redirect()->to(base_url().'admin_home');
|
|
}
|
|
else{
|
|
$this->session->setTempdata('error','sorry wrong password entered for the Email',3);
|
|
return redirect()->to(base_url()."/admin");
|
|
}
|
|
}else
|
|
{
|
|
$this->session->setTempdata('error','sorry Email does not exist',3);
|
|
return redirect()->to(base_url()."/admin");
|
|
}
|
|
}
|
|
return view('admin_login');
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function admin_logout()
|
|
{
|
|
session()->remove('logged_user');
|
|
session()->destroy();
|
|
return redirect()->to(base_url()."admin");
|
|
}
|
|
|
|
public function users_list()
|
|
{
|
|
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
$data['userList'] = $this->UserModel->select('users.* , country.name as country_name , state.name as state_name ,city.name as city_name')
|
|
->join('country', 'users.country = country.id', 'left')
|
|
->join('state', 'users.state = state.id', 'left')
|
|
->join('city', 'users.city = city.id', 'left')
|
|
->where('users.id != ',session()->get('logged_user') )
|
|
->findAll();
|
|
echo view('layout/header',$userdata);
|
|
echo view('users_list',$data);
|
|
echo view('layout/footer');
|
|
}
|
|
|
|
|
|
public function user_edit($user_id = null , $check = null)
|
|
{
|
|
|
|
if($this->request->getmethod() == 'post')
|
|
{
|
|
//update member details
|
|
$UserData = $this->request->getVar();
|
|
$user_id = $this->request->getVar('id');
|
|
$this->UserModel->where('id', $user_id )->set($UserData)->update();
|
|
if ($this->request->getVar('profile_check') == 'profile_edit') {
|
|
return redirect()->to(base_url()."admin_profile/".md5($user_id));
|
|
}
|
|
return redirect()->to(base_url()."users_list");
|
|
|
|
}
|
|
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
$data['country']=$this->cModel->fetch_country();
|
|
$data['userList'] = $this->UserModel->select('users.* , country.name as country_name , state.name as state_name ,city.name as city_name')
|
|
->join('country', 'users.country = country.id', 'left')
|
|
->join('state', 'users.state = state.id', 'left')
|
|
->join('city', 'users.city = city.id', 'left')
|
|
->where('md5(users.id)', $user_id )
|
|
->find();
|
|
if ($check != null) {
|
|
$data['check'] = 'profile_edit';
|
|
}
|
|
|
|
//print_r($data);die();
|
|
echo view('layout/header',$userdata);
|
|
echo view('user_form',$data);
|
|
echo view('layout/footer');
|
|
|
|
}
|
|
|
|
public function user_add()
|
|
{
|
|
|
|
if($this->request->getmethod() == 'post')
|
|
{
|
|
$password = '';
|
|
$characters = array_merge(range('A','Z'), range('a','z'), range('0','9'), array('!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '+', '='));
|
|
for($i = 0; $i < 8; $i++) {
|
|
$password .= $characters[array_rand($characters)];
|
|
}
|
|
//insert member details
|
|
$userData = $this->request->getVar();
|
|
$userData['password'] = $password;
|
|
$userdata = $this->UserModel->save($userData);
|
|
if ($userdata)
|
|
{
|
|
$sendmail_controller = new Sendmail_controller();
|
|
$get_data = $sendmail_controller->index($this->request->getVar('email') , $password , 3 );
|
|
return redirect()->to(base_url()."users_list");
|
|
}
|
|
|
|
}
|
|
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
$data['country']=$this->cModel->fetch_country();
|
|
echo view('layout/header',$userdata);
|
|
echo view('user_form',$data);
|
|
echo view('layout/footer');
|
|
|
|
}
|
|
|
|
public function user_deactivate($id = null)
|
|
{
|
|
$this->UserModel->where('md5(id)', $id )->set(array( 'is_active' => 0))->update();
|
|
return redirect()->to(base_url()."users_list");
|
|
}
|
|
|
|
public function user_activate($id = null)
|
|
{
|
|
$this->UserModel->where('md5(id)', $id )->set(array( 'is_active' => 1))->update();
|
|
return redirect()->to(base_url()."users_list");
|
|
}
|
|
|
|
|
|
public function admin_profile($user_id = null)
|
|
{
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
|
|
$data['userList'] = $this->UserModel->select('users.* , country.name as country_name , state.name as state_name ,city.name as city_name')
|
|
->join('country', 'users.country = country.id', 'left')
|
|
->join('state', 'users.state = state.id', 'left')
|
|
->join('city', 'users.city = city.id', 'left')
|
|
->where('md5(users.id)', $user_id )
|
|
->find();
|
|
|
|
// print_r($data);die();
|
|
echo view('layout/header',$userdata);
|
|
echo view('profile',$data);
|
|
echo view('layout/footer');
|
|
|
|
}
|
|
|
|
public function profilepic_insert()
|
|
{
|
|
|
|
if($this->request->getmethod() == 'post')
|
|
{
|
|
$path = ROOTPATH ."/public/assets/images/users";
|
|
if($this->request->getFile('profile'))
|
|
{
|
|
$img = $this->request->getFile('profile');
|
|
if ($img->isValid() && ! $img->hasMoved())
|
|
{
|
|
//$newName = $img->getRandomName();
|
|
$f_type=$_FILES['profile']['name'];
|
|
$data['profile'] = $f_type;
|
|
$this->UserModel->where('id', $this->request->getVar('id') )->set($data)->update();
|
|
$img->move($path, $f_type);
|
|
return redirect()->to(base_url()."admin_profile/".md5($this->request->getVar('id')));
|
|
}
|
|
else
|
|
{
|
|
return redirect()->to(base_url()."admin_profile/".md5($this->request->getVar('id')));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return redirect()->to(base_url()."admin_profile/".md5($this->request->getVar('id')));
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function credits_pack_list()
|
|
{
|
|
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
$data['PackageData'] = $this->PackagesModel->findAll();
|
|
echo view('layout/header',$userdata);
|
|
echo view('credits_pack_list',$data);
|
|
echo view('layout/footer');
|
|
}
|
|
|
|
public function credits_pack()
|
|
{
|
|
$data = $this->PackagesModel->where('package_type', 'Presales' )->findAll();
|
|
return json_encode($data);
|
|
}
|
|
|
|
|
|
public function credits_pack_edit($pack_id = null)
|
|
{
|
|
|
|
if($this->request->getmethod() == 'post')
|
|
{
|
|
//update member details
|
|
|
|
$PackData = $this->request->getVar();
|
|
$pack_id = $this->request->getVar('id');
|
|
$this->PackagesModel->where('id', $pack_id )->set($PackData)->update();
|
|
return redirect()->to(base_url()."credits_pack_list");
|
|
|
|
}
|
|
|
|
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
|
|
$data['PackageData'] = $this->PackagesModel->where('md5(id)', $pack_id )->find();
|
|
|
|
//print_r($data);die();
|
|
echo view('layout/header',$userdata);
|
|
echo view('credits_pack_form',$data);
|
|
echo view('layout/footer');
|
|
|
|
}
|
|
|
|
public function credits_pack_add()
|
|
{
|
|
|
|
if($this->request->getmethod() == 'post')
|
|
{
|
|
//insert member details
|
|
$PackData = $this->request->getVar();
|
|
$this->UserModel->save($PackData);
|
|
return redirect()->to(base_url()."credits_pack_list");
|
|
|
|
}
|
|
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
echo view('layout/header',$userdata);
|
|
echo view('credits_pack_form');
|
|
echo view('layout/footer');
|
|
|
|
}
|
|
|
|
public function user_password_change()
|
|
{
|
|
|
|
if($this->request->getmethod() == 'post')
|
|
{
|
|
//insert member details
|
|
$UserData = $this->request->getVar();
|
|
$old_password = $this->request->getVar('old_password');
|
|
$data = $this->UserModel->where('id', $this->request->getVar('id') )->find();
|
|
if (password_verify($old_password ,$data[0]['password']))
|
|
{
|
|
$user_data = $this->UserModel->where('id', $this->request->getVar('id') )->set($UserData)->update();
|
|
if ($user_data)
|
|
{
|
|
$sendmail_controller = new Sendmail_controller();
|
|
$get_data = $sendmail_controller->index($this->request->getVar('email') , null , 4 );
|
|
$this->session->setTempdata('mail_success',"Password changed successfully",3);
|
|
return redirect()->to(base_url()."admin");
|
|
}
|
|
else
|
|
{
|
|
$this->session->setTempdata('error',"Entered wrong old password",3);
|
|
return redirect()->to(base_url()."user_password_change");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->session->setTempdata('error',"Entered wrong old password",3);
|
|
return redirect()->to(base_url()."user_password_change");
|
|
}
|
|
}
|
|
|
|
$userdata['userdata']=$this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
echo view('layout/header',$userdata);
|
|
echo view('users_password',$userdata);
|
|
echo view('layout/footer');
|
|
|
|
}
|
|
|
|
|
|
public function transactions_list($member_id =null)
|
|
{
|
|
if($member_id == null)
|
|
{
|
|
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
$data['creditsData'] = $this->creditsModel->select('member_credits.* , member.name as member_name ')
|
|
->join('member', 'member_credits.member_id = member.id', 'left')
|
|
->findAll();
|
|
echo view('layout/header',$userdata);
|
|
echo view('transactions_list',$data);
|
|
echo view('layout/footer');
|
|
|
|
}else{
|
|
|
|
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
$creditsData = $this->creditsModel->select('member_credits.* , member.name as member_name ')
|
|
->join('member', 'member_credits.member_id = member.id', 'left')
|
|
->where('md5(member_credits.member_id)', $member_id )
|
|
->findAll();
|
|
$output = '<div class="table-responsive"><table class="table mb-0"><thead class="thead-light"><tr><th>Date</th><th>Points</th><th>Cost</th><th>Pack / Indidual</th></tr></thead><tbody>';
|
|
foreach ($creditsData as $row) {
|
|
$output .='<tr><td>'.$row['created_at'].'</td><td>'.$row['credit_points'].'</td><td>'.$row['cost'].'</td><td>'.$row['package_name'].'</td></tr>';
|
|
}
|
|
echo $output .= '</tbody></table></div> ';
|
|
}
|
|
|
|
}
|
|
|
|
public function user_forgot_password()
|
|
{
|
|
if($this->request->getmethod() == 'get')
|
|
{
|
|
$this->session->setTempdata('user',"user",3);
|
|
return view('forgot_password.php');
|
|
}
|
|
else if($this->request->getmethod() == 'post')
|
|
{
|
|
|
|
$email = $this->request->getVar('email');
|
|
$user_data = $this->UserModel->where('email', $email)->find();
|
|
if ($user_data)
|
|
{
|
|
$otp = rand(1000 , 9999);
|
|
$sendmail_controller = new Sendmail_controller();
|
|
$sendmail_controller->index($this->request->getVar('email') , $otp , 2 );
|
|
$data['status'] = 'success';
|
|
$data['otp'] = $otp;
|
|
echo json_encode($data);
|
|
}
|
|
else
|
|
{
|
|
$data['status'] = 'failed';
|
|
echo json_encode($data);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public function template_list()
|
|
{
|
|
if($this->request->getmethod() == 'get')
|
|
{
|
|
$userdata['template_data'] = $this->MailModel->findAll();
|
|
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
echo view('layout/header',$userdata);
|
|
echo view('email_template_list.php');
|
|
echo view('layout/footer');
|
|
}
|
|
}
|
|
|
|
public function email_temp()
|
|
{
|
|
if($this->request->getmethod() == 'get')
|
|
{
|
|
echo view('email.template.php');
|
|
}
|
|
else if($this->request->getmethod() == 'post')
|
|
{
|
|
$data['name'] = $this->request->getVar('name');
|
|
$data['to'] = $this->request->getVar('to');
|
|
$data['subject'] = $this->request->getVar('subject');
|
|
$data['html'] = $this->request->getVar('code');
|
|
$data['text'] = $this->request->getVar('text');
|
|
// $data['type'] = 1;
|
|
$mail_temp = $this->MailModel->save($data);
|
|
if ($mail_temp)
|
|
echo true;
|
|
else
|
|
echo false;
|
|
}
|
|
}
|
|
|
|
public function edit_email_temp($temp_id = null)
|
|
{
|
|
if($this->request->getmethod() == 'get')
|
|
{
|
|
$temp_data = $this->MailModel->where('md5(id)' , $temp_id)->find();
|
|
if ($temp_data)
|
|
{
|
|
$data['dropdownData'] = $this->VariableModel->where('type' , $temp_data[0]['type'])->findAll();
|
|
$data['id'] = $temp_data[0]['id'];
|
|
$data['code'] = $temp_data[0]['html'];
|
|
$data['name'] = $temp_data[0]['name'];
|
|
$data['subject'] = $temp_data[0]['subject'];
|
|
$data['to'] = $temp_data[0]['to'];
|
|
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
echo view('layout/header',$userdata);
|
|
echo view("email.template.php" , $data);
|
|
echo view('layout/footer');
|
|
}
|
|
}
|
|
else if($this->request->getmethod() == 'post')
|
|
{
|
|
$data['name'] = $this->request->getVar('name');
|
|
$data['to'] = $this->request->getVar('to');
|
|
$data['subject'] = $this->request->getVar('subject');
|
|
$data['html'] = $this->request->getVar('code');
|
|
$data['text'] = $this->request->getVar('text');
|
|
$mail_temp = $this->MailModel->where('id', $this->request->getVar('id') )->set($data)->update();
|
|
if ($mail_temp)
|
|
echo true;
|
|
else
|
|
echo false;
|
|
}
|
|
}
|
|
|
|
public function mail_temp_deactivate($id = null)
|
|
{
|
|
$this->MailModel->where('md5(id)', $id )->set(array( 'is_active' => 0))->update();
|
|
return redirect()->to(base_url()."template_list");
|
|
}
|
|
|
|
public function mail_temp_activate($id = null)
|
|
{
|
|
$this->MailModel->where('md5(id)', $id )->set(array( 'is_active' => 1))->update();
|
|
return redirect()->to(base_url()."template_list");
|
|
}
|
|
|
|
public function rule()
|
|
{
|
|
if($this->request->getmethod() == 'get')
|
|
{
|
|
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
$ruledata['rule_data'] = $this->RuleModel->findAll();
|
|
echo view('layout/header',$userdata);
|
|
echo view('rule.php',$ruledata);
|
|
echo view('layout/footer');
|
|
}
|
|
else if($this->request->getmethod() == 'post')
|
|
{
|
|
$id = $this->request->getVar('id');
|
|
$data['data'] = $this->request->getVar('rule_name');
|
|
$data['value'] = $this->request->getVar('value');
|
|
$updatedata = $this->RuleModel->where('id', $id )->set($data)->update();
|
|
if($updatedata)
|
|
echo true;
|
|
else
|
|
echo false;
|
|
}
|
|
}
|
|
|
|
public function booked_slot()
|
|
{
|
|
if($this->request->getmethod() == 'get')
|
|
{
|
|
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
// $ruledata['rule_data'] = $this->RuleModel->findAll();
|
|
echo view('layout/header',$userdata);
|
|
echo view('booked_slot.php');
|
|
echo view('layout/footer');
|
|
}
|
|
else if($this->request->getmethod() == 'post')
|
|
{
|
|
echo 'hi';
|
|
}
|
|
}
|
|
|
|
public function manage_availability()
|
|
{
|
|
if($this->request->getmethod() == 'get')
|
|
{
|
|
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
|
|
// $ruledata['rule_data'] = $this->RuleModel->findAll();
|
|
echo view('layout/header',$userdata);
|
|
echo view('manage_availability.php');
|
|
echo view('layout/footer');
|
|
}
|
|
else if($this->request->getmethod() == 'post')
|
|
{
|
|
echo 'hi';
|
|
}
|
|
}
|
|
|
|
// -----------------------------------------------
|
|
}
|