View file FaceBook clone 2.3/UPLOAD/application/controllers/admin/manageMembers.php

File size: 9.12Kb
<?php
/**
 * Manage members Page
 *
 *
 * @copyright Copyright (c) 2008 [x-MoBiLe] Nulled
 * @license
 * @since 02/01/2008
 */
class ManageMembers extends controller
{
		function ManageMembers()
		{
				parent::controller();
				//check login
				if ($this->session->userdata('admin_logged_in') != 1 && $this->session->userdata('admin_id') == '') redirect('admin/login');
				//Load the language file
				$this->lang->load('admin/manageMembers', $this->config->item('language_code'));
				$this->load->model('usermodel');
		}
		function index()
		{
				$this->members();
		}
		function members($userId = '', $action = '')
		{
				if ($userId != '')
				{
						if (!ereg('^[0-9]+$', $userId))
						{
								$userId = '';
						}
				}
				if ($action != '')
				{
						if ($action != 'active' && $action != 'deactive')
						{
								$action = '';
						}
				}
				if ($userId != '' && $action != '')
				{
						$res = $this->usermodel->updateUserStatusAdmin($userId, $action);
						if ($res > 0)
						{
								$outputData['validationError'] = 'Status Updated Successfully...';
						}
				}
				$data = isset($_POST['searchBtn_x']) ? $_POST : '';
				$this->load->model('friendsmodel');
				$this->load->model('networkmodel');
				$this->load->model('groupsmodel');
				$this->load->model('eventsmodel');
				$this->load->model('photomodel');
				$criteriaArray = array();
				if ($this->input->post('searchBtn_x') != false)
				{
						$searchName = ($this->input->post('member_name') != false) ? $this->input->post('member_name') : '';
						$searchEmail = ($this->input->post('member_email') != false) ? $this->input->post('member_email') : '';
						$startday = $this->input->post('Start_Year') . '-' . $this->input->post('Start_Month') . '-' . $this->input->post('Start_Day');
						$endday = $this->input->post('End_Year') . '-' . $this->input->post('End_Month') . '-' . $this->input->post('End_Day');
						$country = ($this->input->post('country') != false) ? $this->input->post('country') : '';
						$status = ($this->input->post('member_status') != false) ? $this->input->post('member_status') : '';
						$criteriaArray = array('username' => $searchName, 'email' => $searchEmail, 'startday' => $startday, 'endday' => $endday, 'country' => $country, 'status' => $status);
				}
				$membersList = $this->usermodel->getMembers($criteriaArray);
				foreach ($membersList as $userId => $userDetail)
				{
						$membersList[$userId]['friends'] = count($this->friendsmodel->getFriends($userDetail['user_id']));
						$membersList[$userId]['networks'] = count($this->networkmodel->getUserNetwork($userDetail['user_id']));
						$membersList[$userId]['groups'] = count($this->groupsmodel->getUserGroupsCount($userDetail['user_id'], '', 'Y'));
						$membersList[$userId]['events'] = count($this->eventsmodel->getOwnEvents($userDetail['user_id']));
						$membersList[$userId]['photos'] = count($this->photomodel->getUserPhotosCount($userDetail['user_id']));
				}
				//$members[$row['user_id']]['friendscount']	=	count($this->friendsmodel->getFriends($row['user_id']));
				$country = $this->usermodel->getCountry(true);
				$outputData['country'] = $country;
				$outputData['memberList'] = $membersList;
				$outputData['resultscount'] = count($membersList);
				//print_r($outputData['memberList']); exit();
				$this->smartyextended->view('../admin/manageMembers', $outputData);
		}
		function edit($action = 'add', $userId = '')
		{
				$this->load->library('validation');
				$this->_FormRules();
				if ($userId != '' && $action == 'edit')
				{
						if (!ereg('^[0-9]+$', $userId))
						{
								redirect('admin/');
						}
				}
				if ($action != 'add' && $action != 'edit')
				{
						redirect('admin/');
				}
				$this->load->model('usermodel');
				if ($this->validation->run() == false)
				{
						$outputData['validationError'] = $this->validation->error_string;
				}
				else
				{
						if ($this->input->post('saveinfo_x') != false)
						{
								$action = $this->input->post('action');
								$birthday = $this->input->post('Birth_Year') . '-' . $this->input->post('Birth_Month') . '-' . $this->input->post('Birth_Day');
								$valuesArray = array('username' => $this->input->post('member_name'), 'birthday' => $birthday, 'city' => $this->input->post('member_city'), 'email' => $this->input->post('member_email'), 'pwd' => $this->input->post('member_pwd'), 'country' => $this->input->post('country'));
								if ($action == 'edit')
								{
										$res = $this->usermodel->saveUserInfoAdmin($userId, $valuesArray);
										if ($res == true)
										{
												$this->session->set_flashdata('successMsg', 'Member information updated successfully...');
										}
										else
										{
												$this->session->set_flashdata('successMsg', 'Failed to update the member information....');
										}
								}
								else
								{
										if (!$this->usermodel->checkUserExists($valuesArray['email']))
										{
												$userId = $this->usermodel->addUserInfoAdmin($valuesArray);
												if ($userId > 0)
												{
														$this->_sendConfirmEmail($valuesArray['username'], $valuesArray['email']);
														$this->session->set_flashdata('successMsg', 'Member added successfully...');
												}
												else
												{
														$this->session->set_flashdata('successMsg', 'Failed to add the member....');
												}
										}
										else
										{
												$this->session->set_flashdata('successMsg', 'Email you are given is already registered...');
										}
								}
								redirect('admin/manageMembers/edit/edit/' . $userId . '/');
						}
				}
				$userDetail = array();
				if ($action == 'edit')
				{
						$userDetail = $this->usermodel->getUserDetailAdmin($userId);
						if (count($userDetail) == 0) redirect('admin/');
				}
				$country = $this->usermodel->getCountry(true);
				$outputData['action'] = $action;
				$outputData['userdetail'] = $userDetail;
				$outputData['country'] = $country;
				$outputData['member_id'] = $userId;
				$this->smartyextended->view('../admin/editmember', $outputData);
		}
		function _sendConfirmEmail($username, $email)
		{
				$this->load->model('emailTemplateModel');
				$this->load->library('email');
				$emailTemplate = $this->emailTemplateModel->readEmailTemplate('register_confirm');
				/* Send the Confirm E-Mail as the register is confirmed successfully */
				$settings = $this->settingsmodel->readSetting('admin_email, admin_name, site_name, site_title');
				$adminEmail = $settings['admin_email'];
				$adminName = $settings['admin_name'];
				$confirmKey = md5(time());
				$confirmText = base_url() . 'register/confirm/' . $confirmKey;
				//Set the user activation key
				$this->usermodel->setUserActivationKey($email, $confirmKey);
				$splVars = array("~~receiverName~~" => $username, "~~siteName~~" => $settings['site_name'], "~~siteTitle~~" => $settings['site_title'], "~~attachUrl~~" => $confirmText, "~~adminEmail~~" => $adminEmail, "~~adminName~~" => $adminName);
				$subject = strtr($emailTemplate['template_subject'], $splVars);
				$message = strtr($emailTemplate['template_content'], $splVars);
				$this->email->from($adminEmail, $adminName);
				$this->email->to($email);
				$this->email->subject($subject);
				$this->email->message($message);
				$this->email->send();
		}
		function viewmember($userId)
		{
				if (!ereg('^[0-9]+$', $userId))
				{
						redirect('admin/');
				}
				$this->load->model('usermodel');
				$userViewDetails = $this->usermodel->getUserViewInfoAdmin($userId);
				if (count($userViewDetails) == 0)
				{
						redirect('admin/');
				}
				$userViewDetails['avatar'] = $this->usermodel->getAvatar($userId);
				$userViewDetails['workinfo'] = $this->usermodel->getUserWorkInfoAdmin($userId);
				$userViewDetails['workcount'] = count($userViewDetails['workinfo']);
				$userViewDetails['collegeinfo'] = $this->usermodel->getUserCollegesAdmin($userId);
				$userViewDetails['collegecount'] = count($userViewDetails['collegeinfo']);
				$userViewDetails['lookingfor'] = $this->usermodel->getUserLookingForAdmin($userId);
				$userViewDetails['lookingcount'] = count($userViewDetails['lookingfor']);
				$data['userViewInfo'] = $userViewDetails;
				$this->smartyextended->view('../admin/viewmember', $data);
		}
		function _FormRules()
		{
				$rules['member_name'] = 'trim|required|min_length[5]';
				$rules['member_email'] = 'required|callback__isMail';
				$rules['member_pwd'] = 'trim|required|min_length[6]';
				$this->validation->set_rules($rules);
				$fields['member_name'] = 'user name';
				$fields['member_email'] = 'email';
				$fields['member_pwd'] = 'password';
				$this->validation->set_fields($fields);
		}
		function _isMail($member_email)
		{
				$pattern = "^[a-zA-Z0-9]([a-zA-Z0-9]*\_[a-zA-Z0-9]+)*([a-zA-Z0-9\-]*\.[a-zA-Z0-9\-]+)*[a-zA-Z0-9]*@[a-zA-Z0-9]{2,}\.[a-zA-Z0-9]{2,}(\.[a-zA-Z0-9]{2,})?$";
				if (trim($member_email) != '')
				{
						if (!ereg($pattern, $member_email))
						{
								$this->validation->set_message('_isMail', 'The %s Entered is Not valid ');
								return false;
						}
						else
						{
								return true;
						}
				}
				else
				{
						$this->validation->set_message('_isMail', 'The %s is required ');
						return false;
				}
		}
}
?>