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

File size: 6.53Kb
<?php

/**
 * ManageNetworks Page
 *
 *
 * @copyright Copyright (c) 2008 [x-MoBiLe] Nulled
 * @license
 * @since 2/5/2008
 */
class ManageNetworks extends Controller
{
		//Constructor
		function ManageNetworks()
		{
				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/manageNetworks', $this->config->item('language_code'));
		}
		//Default function
		function index()
		{
				$outputData = array();
				$this->load->model('networkmodel');
				if ($_POST && is_array($_POST) && count($_POST) > 0)
				{
						$suggest = $this->input->post('networkName');
						$type = $this->input->post('networkType');
						$status = $this->input->post('networkStatus');
						$domain = $this->input->post('networkDomain');
						$outputData['networks'] = $this->networkmodel->searchNetworks($suggest, $type, $status, $domain);
				}
				else  $outputData['networks'] = $this->networkmodel->searchNetworks();
				$outputData['networksCnt'] = count($outputData['networks']);
				$this->smartyextended->view('../admin/manageNetworks', $outputData);
		}
		function editNetwork()
		{
				$networkId = $this->uri->segment(4);
				$this->load->model('networkmodel');
				if ($this->networkmodel->isExist($networkId, ''))
				{
						$outputData = array();
						if ($_POST && is_array($_POST) && count($_POST) > 0)
						{
								$updateNetwork = $_POST;
								unset($updateNetwork['submit']);
								unset($updateNetwork['submit_x']);
								unset($updateNetwork['submit_y']);
								$this->networkmodel->updateNetworkDetails($networkId, $updateNetwork);
								$outputData['successMsg'] = 'Network details updated successfully';
						}
						else  $outputData['networkDetails'] = $this->networkmodel->getNetworkDetails($networkId);
						$this->smartyextended->view('../admin/editNetworks', $outputData);
				}
				else  redirect('admin/manageNetworks');
		}
		function viewNetwork()
		{
				$networkId = $this->uri->segment(4);
				$this->load->model('networkmodel');
				if ($this->networkmodel->isExist($networkId, ''))
				{
						$outputData['networkDetails'] = $this->networkmodel->getNetworkDetails($networkId);
						$this->smartyextended->view('../admin/viewNetworks', $outputData);
				}
				else  redirect('admin/manageNetworks');
		}
		//approve given network
		function approveNetwork()
		{
				$networkId = $this->uri->segment(4);
				$this->load->model('networkmodel');
				if ($this->networkmodel->isExist($networkId, 'confirmed')) //allow only if it is confirmed network

				{
						$updateNetwork = array("network_status" => 'enabled');
						if ($this->networkmodel->updateNetworkByAdmin($networkId, $updateNetwork)) //Set the flash data
 										$this->session->set_flashdata('flash_msg', 'Network has been approved successfully');
						else //Set the flash data
 										$this->session->set_flashdata('flash_msg', 'Sorry! Network has not been approved');
				}
				redirect('admin/manageNetworks');
		}
		//dis approve given network
		function disapproveNetwork()
		{
				$networkId = $this->uri->segment(4);
				$this->load->model('networkmodel');
				if ($this->networkmodel->isExist($networkId, 'confirmed'))
				{
						$updateNetwork = array("network_status" => 'disabled');
						if ($this->networkmodel->updateNetworkByAdmin($networkId, $updateNetwork)) //Set the flash data
 										$this->session->set_flashdata('flash_msg', 'Network has been dis-approved successfully');
						else //Set the flash data
 										$this->session->set_flashdata('flash_msg', 'Sorry! Network has not been dis-approved');
				}
				redirect('admin/manageNetworks');
		}
		//send confirmation mail for suggested network
		function sendConfirmation()
		{
				$networkId = $this->uri->segment(4);
				$this->load->model('networkmodel');
				if ($this->networkmodel->isExist($networkId, 'suggested'))
				{
						$this->load->library('encrypt');
						$networkDetails = $this->networkmodel->getNetworkDetails($networkId);
						$confirmKey = $this->encrypt->sha1($networkDetails['network_name']);
						$updateNetwork = array("confirmation_key" => $confirmKey, "network_status" => 'nonconfirmed');
						if ($this->_sendConfirmationMail($networkId, $confirmKey))
						{
								if ($this->networkmodel->updateNetworkByAdmin($networkId, $updateNetwork)) //Set the flash data
 												$this->session->set_flashdata('flash_msg', 'Confirmation mail has been sent successfully');
								else //Set the flash data
 												$this->session->set_flashdata('flash_msg', 'Confirmation mail has not been sent');
						}
				}
				redirect('admin/manageNetworks');
		}
		function _sendConfirmationMail($networkId, $confirmKey)
		{
				$this->load->model('settingsModel');
				$this->load->model('emailTemplateModel');
				$this->load->library('email');
				$this->load->model('userModel');
				$this->load->model('messageModel');
				$networkDetails = $this->networkmodel->getNetworkDetails($networkId);
				$userDetails = $this->usermodel->getUserDetails($networkDetails['user_id']);
				//		echo '<pre>';
				//		print_r($networkDetails);
				//		echo '</pre>';
				//reads common site settings
				$settings = $this->settingsmodel->readSetting('admin_email, admin_name, site_name, site_title');
				$adminEmail = $settings['admin_email'];
				$adminName = $settings['admin_name'];
				$siteName = $settings['site_title'];
				$toEmail = $userDetails[$networkDetails['user_id']]['email'];
				$receiverName = ucfirst($this->userModel->getName($networkDetails['user_id']));
				$attachUrl = base_url() . 'network/confirmsuggest/' . $networkId . '/' . $confirmKey;
				$emailTemplate = $this->emailTemplateModel->readEmailTemplate('admin_approve_network'); //reads mail templates
				//send external mail
				$splVars = array("~~receiverName~~" => $receiverName, "~~siteName~~" => $siteName, "~~attachUrl~~" => $attachUrl, "~~adminEmail~~" => $adminEmail, "~~adminName~~" => $adminName, "~~networkName~~" => $networkDetails['network_name']);
				$subject = strtr($emailTemplate['template_subject'], $splVars);
				$message = strtr($emailTemplate['template_content'], $splVars);
				$this->email->from($adminEmail, $adminName);
				$this->email->to($toEmail);
				$this->email->subject($subject);
				$this->email->message($message);
				//$this->email->send();
				$msgConfig = array("to_id" => $networkDetails['user_id'], "subject" => $subject, "message" => $message);
				if ($this->messageModel->sendMessage($msgConfig, true)) return true;
				else  return false;
		} //end _sendConfirmationMail()
}

?>