Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval(gzinflate(base64_decode(base64_decode(str_rot13('JScjGzZ2p3qgo1LiIUMzp0IXnSILE..

Decoded Output download

if (__FILE__ == $_SERVER['SCRIPT_FILENAME']) exit('No direct access allowed.');
include_once(dirname(__FILE__).'/../../../admin/config.php');
/** 
 * Database class
 */ 
class Bancadati {
   private $PDO;
   private $config;
   private $where;
     
	 public function __construct() {
	 
		if (!extension_loaded('pdo')) {
			
			die('The PDO extension is required.');
			
		}
	 
	    $this->connect();
		}
   private function connect() {
	$driver = strtoupper('mysql');
		switch ($driver) {
              case 'MYSQL':
                 try {
					
					$this->PDO = new PDO('mysql:host=' . DB_HOSTNAME . ';dbname=' . DB_DATABASE, DB_USERNAME, DB_PASSWORD);
					//$this->PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
					$this->PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
					$this->PDO->query('SET NAMES utf8');				
					
				} catch (PDOException $exception) {
                      die($exception->getMessage());
				}
				return $this->PDO;
				
			break;

			default:
				die('This database driver does not support: mysql');

		}

	}
        
	public function query($statement) {
		
		try {
			
			return $this->PDO->query($statement);
		
		} catch (PDOException $exception) {
			
			die($exception->getMessage());
			
		}
		
	}

	 public function row_count($statement) {
	
		try {
		
			return $this->PDO->query($statement)->rowCount();

		} catch (PDOException $exception) {

			die($exception->getMessage());
			
		}

    }

	public function fetch_all($statement, $fetch_style = PDO::FETCH_ASSOC) {
		
		try {
			
			return $this->PDO->query($statement)->fetchAll($fetch_style);

		} catch (PDOException $exception) {

			die($exception->getMessage());
			
		}
		
	}
	
	public function fetch_row_assoc($statement) {
	
		try {
			
			return $this->PDO->query($statement)->fetch(PDO::FETCH_ASSOC);

		} catch (PDOException $exception) {

			//die($exception->getMessage());
			echo $exception->getMessage();
		}
		
    }

	public function last_insert_id() {
		
		return $this->PDO->lastInsertId();
	
	}

	public function where($value) {

		$this->where = $value;
		
		return $this;
		
	}
	
	public function insert($table, $values) {			
	
		try {
		
			foreach ($values as $key => $value) {
				
				$field_names[] = $key . ' = :' . $key;
				
			}
			
			$sql = "INSERT INTO " . $table . " SET " . implode(', ', $field_names);

			$stmt = $this->PDO->prepare($sql);
			
			foreach ($values as $key => $value) {
				
				$stmt->bindValue(':' . $key, $value);
				
			}
			
			$stmt->execute();

		} catch (PDOException $exception) {

			die($exception->getMessage());
			
		}

	}
	
	public function update($table, $values) {

		try {

			foreach ($values as $key => $value) {
				
				$field_names[] = $key . ' = :' . $key;
				
			}
			
			$sql  = "UPDATE " . $table . " SET " . implode(', ', $field_names) . " ";
			
			$counter = 0;
			
			foreach ($this->where as $key => $value) {

				if ($counter == 0) {
					
					$sql .= "WHERE {$key} = :{$key} ";
					
				} else {
					
					$sql .= "AND {$key} = :{$key} ";
					
				}
				
				$counter++;
				
			}
			
			$stmt = $this->PDO->prepare($sql);
			
			foreach ($values as $key => $value) {
				
				$stmt->bindValue(':' . $key, $value);
				
			}
			
			foreach ($this->where as $key => $value) {
				
				$stmt->bindValue(':' . $key, $value);
				
			}
			
			$stmt->execute();

		} catch (PDOException $exception) {

			die($exception->getMessage());
			
		}

	}

	public function delete($table) {

		$sql = "DELETE FROM " . $table . " ";
		
		$counter = 0;
		
		foreach ($this->where as $key => $value) {

			if ($counter == 0) {
				
				$sql .= "WHERE {$key} = :{$key} ";
				
			} else {
				
				$sql .= "AND {$key} = :{$key} ";
				
			}
			
			$counter++;
			
		}
		
		$stmt = $this->PDO->prepare($sql);
		
		foreach ($this->where as $key => $value) {
			
			$stmt->bindValue(':' . $key, $value);
			
		}

		$stmt->execute();

    }

}
/*sessione*/
class Sessione {
	 public function __construct() {	
		
		if (!session_id()) {
			
			session_start();
			}
		}
	 public function set($name, $value) {
	
		$_SESSION[$name] = $value;
	
	}
   public function get($name) {
	
		if (isset($_SESSION[$name])) {
			
			return $_SESSION[$name];
			
		} else {
			
			return false;
			
		}
		
	}
    public function delete($name) {
	    unset($_SESSION[$name]);
	
	}
    public function destroy() {
		
		$_SESSION = array();
		session_destroy();
		
	}
	
}

class Templating {
    private $tpl_path;
	private $values = array();
    public function __construct() {
		
      $this->tpl_path =  dirname(__FILE__).'/../';
	}

	public function set($name, $value = null) {
		
		if (is_array($name)) {
		
			foreach ($name as $key => $value) {
			
				$this->values[$key] = $value;
			
			}
		
		} else {
			
			$this->values[$name] = $value;
			
		}
		
    }

	public function display($template, $return_string = false) {

		if ($this->values) {
			
			extract($this->values);
			
		}
		
		if (file_exists($this->tpl_path . $template)) {

			ob_start();

			include($this->tpl_path . $template);

			$output = ob_get_contents();

			ob_end_clean();
			
		} else {
			
			die('Template file '. $this->tpl_path . $template . ' not found.');
			
		}

		if ($return_string) {
			
			return $output;
			
		} else {
			
			echo $output;
			
		}
		
	} 

}
/** 
 * Chat class
 */ 
class Chat {

	private $dba;
    private $session;
    private $tpl;

	public function __construct() {
		
		$this->dba = new Bancadati();
		$this->session = new Sessione();
		$this->tpl = new Templating();
		
	}

	public function visitor_get_chat_status($json = FALSE) {

	
		$result = $this->dba->fetch_row_assoc("SELECT MAX(last_activity) AS last_activity FROM zen_operators");
		
		

		if ($this->session->get('visitor_chat_id')) {
			
			$result = $this->dba->fetch_row_assoc("SELECT department_name FROM zen_chat WHERE chat_id = '" . $this->session->get('visitor_chat_id') . "'");
			
			$data = array(
				'success' => TRUE, 
				'content' => translate('Chat started with: ', TRUE) . $result['department_name']
			);

		
			 } elseif ($result['last_activity'] == false || $this->count_visitors() >= get_option('max_visitors', TRUE)) {

			$data = array(
				'success' => FALSE 
				
			);

		} else {

			$data = array(
				'success' => TRUE, 
				'content' => translate('Questions? Need help? Click here to chat with us!', TRUE)
			);

		}
		
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function visitor_contact_operator($json = FALSE) {

	    $result = $this->dba->fetch_row_assoc("SELECT MAX(last_activity) AS last_activity FROM zen_operators");
		
			if ($this->session->get('visitor_chat_id')) {

				$result = $this->dba->fetch_row_assoc("SELECT department_name FROM zen_chat WHERE chat_id = '" . $this->session->get('visitor_chat_id') . "'");

				$data = array(
					'success' => TRUE,
					'content' => $this->tpl->display('tpl/chat.tpl', TRUE),
					'department_name' => translate('Chat started with: ', TRUE) . $result['department_name']
				);

		
			} elseif ($result['last_activity'] == false|| $this->count_visitors() >= get_option('max_visitors', TRUE)) {

				$sql = "SELECT d.department_id, d.department_name FROM zen_departments d JOIN zen_department_operators do ON d.department_id = do.department_id GROUP BY d.department_name ORDER BY d.department_id ASC";
				
				$departments = array();
				
				foreach ($this->dba->query($sql) as $row) {
					
					$departments[] = array(
						'department_id'		=> $row['department_id'],
						'department_name'	=> $row['department_name']
					);
					
				}

				$this->tpl->set('departments', $departments);

				$data = array(
					'success' => FALSE 
					
					
				);

			} else {

			$sql = "SELECT MAX(o.last_activity) AS last_activity, d.department_id, d.department_name FROM zen_operators o JOIN zen_department_operators do ON o.operator_id = do.operator_id JOIN zen_departments d ON do.department_id = d.department_id GROUP BY d.department_name ORDER BY o.last_activity DESC";
				
				$departments = array();
				
				foreach ($this->dba->query($sql) as $row) {
					
					$total = $row['last_activity'];
					
					$departments[] = array(
						'total'				=> $total,
						'department_id'		=> $row['department_id'],
						'department_name'	=> $row['department_name']
					);
					
				}
				
				$this->tpl->set('departments', $departments);

				$data = array(
					'success' => FALSE, 
					'content' => $this->tpl->display('tpl/online.tpl', TRUE)
				);

			}
			
		//}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function visitor_start_chat($department_id, $username, $email, $message, $json = FALSE) {
		
		$department_id = filter_var($department_id, FILTER_SANITIZE_STRING);
		$username = filter_var($username, FILTER_SANITIZE_STRING);
		$email = filter_var($email, FILTER_SANITIZE_EMAIL);
		$message = filter_var($message, FILTER_SANITIZE_STRING);
		
		$result = $this->dba->fetch_row_assoc("SELECT MAX(o.last_activity) AS last_activity FROM zen_operators o JOIN zen_department_operators do ON do.department_id = '" . $department_id . "' WHERE do.operator_id = o.operator_id");

		$total = time() - $result['last_activity'];

	    if ($result['last_activity'] == false || $this->count_visitors() >= get_option('max_visitors', TRUE)) {

			$sql = "SELECT d.department_id, d.department_name FROM zen_departments d JOIN zen_department_operators do ON d.department_id = do.department_id GROUP BY d.department_name ORDER BY d.department_id ASC";
			
			$departments = array();
			
			foreach ($this->dba->query($sql) as $row) {
				
				$departments[] = array(
					'department_id'		=> $row['department_id'],
					'department_name'	=> $row['department_name']
				);
				
			}

			$this->tpl->set('departments', $departments);
			
			$data = array(
				'success' => FALSE
			);

		} elseif ($this->dba->row_count("SELECT ip_address FROM zen_chat WHERE ip_address = '" . $_SERVER['REMOTE_ADDR'] . "' AND chat_status = 0 OR chat_status = 2") >= get_option('max_connections', TRUE)) {

			$data = array(
				'success' => FALSE, 
				'content' => translate('Too many requests are being made from your IP address.', TRUE), 
				'message' => translate('Questions? Need help? Click here to chat with us!', TRUE)
			);

		} else {

			if ($this->session->get('chat_hash')) {

				$chat_hash = $this->session->get('chat_hash');
				
			} else { 

				$chat_hash = uniqid();
				$this->session->set('chat_hash', $chat_hash);
				
			}

			if (!$this->session->get('username')) {
				
				$this->session->set('username', $username);
				
			}
			
			if ($this->dba->row_count("SELECT chat_hash FROM zen_chat WHERE chat_hash = '" . $chat_hash . "'") > 0) {

				$result = $this->dba->fetch_row_assoc("SELECT chat_id FROM zen_chat WHERE chat_hash = '" . $chat_hash . "'");
				
				$values = array(
					'chat_id'	=> $result['chat_id'],
					'message'	=> $message,
					'time'		=> time()
				); 			

				$this->dba->insert('zen_messages', $values);
				
			} else {
				
				$result = $this->dba->fetch_row_assoc("SELECT department_name FROM zen_departments WHERE department_id = '" . $department_id . "'");
				
				$values = array(
					'chat_status'			=> 0,
					'chat_hash'				=> $chat_hash,
					'time_start'			=> time(),
					'last_activity'			=> time(),
					'ip_address'			=> $_SERVER['REMOTE_ADDR'],
					'email'					=> $email,
					'username'				=> $this->session->get('username'),
					'referer'				=> $_SERVER['HTTP_REFERER'],
					'department_name'		=> $result['department_name'],
					'department_id'			=> $department_id
				); 			

				$this->dba->insert('zen_chat', $values);

				$chat_id = $this->dba->last_insert_id();

				$values = array(
					'chat_id'	=> $chat_id,
					'message'	=> $message,
					'time'		=> time()
				); 			

				$this->dba->insert('zen_messages', $values);

			}

			if (!$this->session->get('visitor_chat_id')) {
				
				$this->session->set('visitor_chat_id', $chat_id);
				
			}
			
			$result = $this->dba->fetch_row_assoc("SELECT department_name FROM zen_departments WHERE department_id = '" . $department_id . "'");

			$data = array(
				'success' => TRUE,
				'content' => $this->tpl->display('tpl/chat.tpl', TRUE),
				'department_name' => translate('Chat started with: ', TRUE) . $result['department_name']
			);

		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function visitor_stop_chat($json = FALSE) {

		$result = $this->dba->fetch_row_assoc("SELECT chat_status FROM zen_chat WHERE chat_id = '" . $this->session->get('visitor_chat_id') . "'");

		$values = array(
			'chat_status' => 3
		); 			

		if ($result['chat_status'] != 3) {
			
			$values['time_end'] = time();
			
		}
		
		$where = array(
			'chat_id' => $this->session->get('visitor_chat_id')
		);

		$this->dba->where($where);
		$this->dba->update('zen_chat', $values);

		$values = array(
			'chat_id'	=> $this->session->get('visitor_chat_id'),
			'message'	=> translate('User has left the chat', TRUE),
			'time'		=> time()
		); 			

		$this->dba->insert('zen_messages', $values);

		$this->session->delete('username');
		$this->session->delete('chat_hash');
		$this->session->delete('operator_last_message_id[' . $this->session->get('visitor_chat_id') . ']');
		$this->session->delete('visitor_chat_id');
		
		$data = array('success' => TRUE);
		
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function visitor_send_message($message, $json = FALSE) {

		$message = filter_var($message, FILTER_SANITIZE_STRING);
		
		if ($this->session->get('visitor_chat_id')) {
			
			$values = array(
				'chat_id'	=> $this->session->get('visitor_chat_id'),
				'message'	=> $message,
				'time'		=> time()
			); 			

			$this->dba->insert('zen_messages', $values);

			$values = array(
				'user_typing'	=> 0,
				'last_activity'	=> time()
			); 			

			$where = array(
				'chat_id' => $this->session->get('visitor_chat_id')
			);

			$this->dba->where($where);
			$this->dba->update('zen_chat', $values);
			
			$data = array(
				'success' => TRUE
			);
			
		} else {
			
			$data = array(
				'success' => FALSE
			);
			
		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function visitor_typing($visitor_typing, $json = FALSE) {
		
		$visitor_typing = filter_var($visitor_typing, FILTER_SANITIZE_STRING);
		
		if ($this->session->get('visitor_chat_id')) {
			
			$values = array(
				'user_typing' => $visitor_typing
			); 			

			$where = array(
				'chat_id' => $this->session->get('visitor_chat_id')
			);

			$this->dba->where($where);
			$this->dba->update('zen_chat', $values);
			
			$data = array(
				'success' => TRUE
			);
			
		} else {
			
			$data = array(
				'success' => FALSE
			);
			
		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function visitor_get_chat($json = FALSE) {

		$result = $this->dba->fetch_row_assoc("SELECT last_activity FROM zen_chat WHERE chat_id = '" . $this->session->get('visitor_chat_id') . "'");
		
		$total = time() - $result['last_activity'];
		
		if ($total > get_option('chat_expire', TRUE)) {

			$this->session->delete('username');
			$this->session->delete('chat_hash');
			$this->session->delete('operator_last_message_id[' . $this->session->get('visitor_chat_id') . ']');
			$this->session->delete('visitor_chat_id');
			
			$data = array(
				'success' => FALSE
			);
			
		} else {

			$sql = "SELECT m.message, m.time, m.operator_name, c.username FROM zen_messages m JOIN zen_chat c ON m.chat_id = c.chat_id WHERE m.chat_id = '" . $this->session->get('visitor_chat_id') . "' ORDER BY m.message_id ASC";

			if ($this->dba->row_count($sql) > 0) {
				
				$messages = array();
				
				foreach ($this->dba->query($sql) as $row) {
					
					if ($row['operator_name'] == '') {
						
						$name = $row['username'];
						
					} else {
					
						$name = $row['operator_name'];
						
					}
					
					$messages[] = array(
						'message'	=> $row['message'],
						'name'		=> $name,
						'time'		=> date('H:i:s', $row['time'])
					);
					
				}
				
				$this->tpl->set('messages', $messages);

				$data = array(
					'success' => TRUE, 
					'content' => $this->tpl->display('tpl/chat_messages.tpl', TRUE)
				);
				
			} else {
				
				$data = array(
					'success' => FALSE
				);
				
			}

			$result = $this->dba->fetch_row_assoc("SELECT chat_status, operator_typing FROM zen_chat WHERE chat_id = '" . $this->session->get('visitor_chat_id') . "'");

			if ($result['chat_status'] == 0) {
				
				$data['queue'] = 0;
				
			} else {
			
				$data['queue'] = 1;
				
			}

			if ($result['operator_typing']) {
				
				$data['operator_typing'] = 1;
				
			} else {
				
				$data['operator_typing'] = 0;
				
			}
			
			$result = $this->dba->fetch_row_assoc("SELECT message_id FROM zen_messages WHERE chat_id = '" . $this->session->get('visitor_chat_id') . "' ORDER BY message_id DESC LIMIT 1");
		
			$data['last_id'] = $result['message_id'];

			if (!$this->session->get('operator_last_message_id[' . $this->session->get('visitor_chat_id') . ']')) {
				
				$this->session->set('operator_last_message_id[' . $this->session->get('visitor_chat_id') . ']', 0);
			
			}
			
			if ($result['message_id'] > $this->session->get('operator_last_message_id[' . $this->session->get('visitor_chat_id') . ']')) {
				
				$data['new_message'] = 1;
				$this->session->set('operator_last_message_id[' . $this->session->get('visitor_chat_id') . ']', $result['message_id']);

			}
			
		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function operator_get_pending_chat($json = FALSE) {

		$this->dba->query("UPDATE zen_chat SET chat_status = 3, time_end = UNIX_TIMESTAMP() WHERE chat_status != 3 AND chat_status != 1 AND last_activity < (UNIX_TIMESTAMP() - " . get_option('chat_expire', TRUE) . ")");

		$sql = "SELECT * FROM zen_chat c JOIN zen_department_operators do ON c.department_id = do.department_id JOIN zen_operators o ON do.operator_id = o.operator_id WHERE c.chat_status != 3 AND c.chat_status != 1 AND o.user_id = '" . $this->session->get('user_id') . "'";

		if ($this->dba->row_count($sql) > 0) {
			
			$pending_chat = array();
			
			foreach ($this->dba->query($sql) as $row) {
				
				$pending_chat[] = array(
					'chat_id'			=> $row['chat_id'],
					'chat_status'		=> $row['chat_status'],
					'username'			=> $row['username'],
					'ip_address'		=> $row['ip_address'],
					'department_name'	=> $row['department_name'],
					'elapsed_time'		=> elapsed_time(time(), $row['time_start'])
				);
				
			}
			
			$this->tpl->set('pending_chat', $pending_chat);

			$data = array(
				'success' => TRUE, 
				'content' => $this->tpl->display('tpl/admin/pending_chat.tpl', TRUE)
			);
			
		} else {
			
			$data = array(
				'success' => FALSE, 
				'content' => translate('The list of awaiting visitors is empty.', TRUE)
			);
			
		}

		$result = $this->dba->fetch_row_assoc("SELECT chat_id FROM zen_chat ORDER BY chat_id DESC LIMIT 1");

		$data['last_chat_id'] = $result['chat_id'];
           
		if (!$this->session->get('last_chat_id')) {
			
			$this->session->set('last_chat_id', 0);
			
		}
		
		if ($result['chat_id'] > $this->session->get('last_chat_id') || $result['chat_id'] == '') {
			
			$data['new_chat'] = 1;
			$this->session->set('last_chat_id', $result['chat_id']);
			
		}
              
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	public function operator_get_online_visitors($json = FALSE) {

		foreach ($this->dba->query("SELECT visitor_id, time FROM zen_online_visitors") as $row) {
			
			$total = time() - $row['time'];
			
			if ($total > 120) {
				
				$where = array(
					'visitor_id' => $row['visitor_id']
				);
				
				$this->dba->where($where);
				$this->dba->delete('zen_online_visitors');
				
			}
			
		}

		$sql = "SELECT DISTINCT ip_address, referer FROM zen_online_visitors";

		if ($this->dba->row_count($sql) > 0) {
			
			$online_visitors = array();
			
			foreach ($this->dba->query($sql) as $row) {

				$online_visitors[] = array(
					'ip_address'	=> $row['ip_address'],
					'referer'		=> $row['referer']
				);
				
			}
			
			$this->tpl->set('online_visitors', $online_visitors);
			
			$data = array(
				'success' => TRUE, 
				'content' =>  array()  
			);
			foreach($online_visitors as $valore){
				$val = (strlen($valore['referer']) > 20)? substr($valore['referer'], 0, 16) .'...' : $valore['referer'] ;
$data['content'][] = '<li><span class="indirizzo">'.$valore['ip_address'].'</span><span class="pagina"><a href="'.$valore['referer'].'" target="_blank">'.$val.'</a></span></li>';
				
			}
		} else {
			
			$data = array(
				'success' => FALSE, 
				'content' => '<li id="nobody">'.translate('No visitors.', TRUE).'</li>'
			);
			
		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_get_status($json = FALSE) {

		$sql = "SELECT last_activity FROM zen_operators WHERE user_id = '" . $this->session->get('user_id') . "'";

		if ($this->dba->row_count($sql) > 0) {
			
			$result = $this->dba->fetch_row_assoc($sql);
			
			$total = time() - $result['last_activity'];
			
		    if ($result['last_activity'] == false) {

				$data = array(
					'success' => TRUE, 
					'content' => translate('You are offline', TRUE)
				);
				
			} else {
				
				$data = array(
					'success' => FALSE, 
					'content' => translate('You are online', TRUE)
				);
				
			}
		
		} else {
			
			$data = array(
				'success' => FALSE, 
				'content' => ''
			);
			
		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_get_online_departments($json = FALSE) {
		
		$departments = array();

		foreach ($this->dba->query("SELECT MAX(o.last_activity) AS last_activity, d.department_id, d.department_name FROM zen_operators o JOIN zen_department_operators do ON o.operator_id = do.operator_id JOIN zen_departments d ON do.department_id = d.department_id GROUP BY d.department_name ORDER BY d.department_id ASC") as $row) {
			
              if($row['last_activity'] == false) {
		       $data = array(
					'success' => FALSE,
					'content' => array()
				);			
                    foreach($departments as $value){
				$data['content'][] = '<li><a data-id=' . $value["department_id"] . ' class="transfer_chat"> ' .$value['department_name'] .'</a></li>'  ;
				         } 
			} else {

				$departments[] = array(
					'department_id'		=> $row['department_id'],
					'department_name'	=> $row['department_name']
				);
				
				
				
				$data = array(
					'success' => TRUE, 
					'content' => array()
	              
				);
				foreach($departments as $value){
				$data['content'][] = '<li><a data-id=' . $value["department_id"] . ' class="transfer_chat"> ' .$value['department_name'] .'</a></li>'  ;
				}
			}

		}
			
		if ($json) {
			
			echo json_encode($data);
			
		} else {
	
			return $data;
			
		}

	}
	
	public function operator_start_chat($chat_id, $json = FALSE) {
		
		$chat_id = filter_var($chat_id, FILTER_SANITIZE_STRING);
		
		if ($this->dba->row_count("SELECT chat_id FROM zen_chat WHERE chat_id = '" . $chat_id . "'") > 0) {
			
			$values = array(
				'chat_id'		=> $chat_id,
				'message'		=> '<script>$(function(){$("#tesa").parent().remove();});</script><span id="tesa"></span>',
				'operator_name'	=> $this->operator_get_full_name($this->session->get('user_id'), TRUE),
				'time'			=> time()
			); 			

			$this->dba->insert('zen_messages', $values);

			$values = array(
				'chat_status'	=> 2,
				'last_activity'	=> time()
			); 			

			$where = array(
				'chat_id' => $chat_id
			);

			$this->dba->where($where);
			$this->dba->update('zen_chat', $values);
			
			$this->session->set('chat_id', $chat_id);

			$data = array(
				'success' => TRUE
			);
		
		} else {
			
			$data = array(
				'success' => FALSE
			);
			
		}
	
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_open_chat($chat_id, $json = FALSE) {
		
		$chat_id = filter_var($chat_id, FILTER_SANITIZE_STRING);
		
		if ($this->dba->row_count("SELECT chat_id FROM zen_chat WHERE chat_id = '" . $chat_id . "'") > 0) {
			
			$this->session->set('chat_id', $chat_id);

			$data = array(
				'success' => TRUE
			);
			
		} else {
			
			$data = array(
				'success' => FALSE
			);
			
		}
		
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_watch_chat($chat_id, $json = FALSE) {
		
		$chat_id = filter_var($chat_id, FILTER_SANITIZE_STRING);
		
		if ($this->dba->row_count("SELECT chat_id FROM zen_chat WHERE chat_id = '" . $chat_id . "'") > 0) {
			
			$this->session->set('chat_id', $chat_id);

			$data = array(
				'success' => TRUE
			);
		
		} else {
			
			$data = array(
				'success' => FALSE
			);
			
		}
		
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_stop_chat($json = FALSE) {
		
		if ($this->session->get('chat_id')) {
			
			$result = $this->dba->fetch_row_assoc("SELECT chat_status FROM zen_chat WHERE chat_id = '" . $this->session->get('chat_id') . "'");
			
			$values = array(
				'chat_status' => 3
			); 			

			if ($result['chat_status'] != 3) {
				
				$values['time_end'] = time();
				
			}
			
			$where = array(
				'chat_id' => $this->session->get('chat_id')
			);

			$this->dba->where($where);
			$this->dba->update('zen_chat', $values);

			$values = array(
				'chat_id'		=> $this->session->get('chat_id'),
				'message'		=> '<span id="fine">'.translate('Operator has left the chat', TRUE).'</span>'.'<script>$(function(){$(".utente_area,.utente_send").prop("disabled",true);$("#fine").parent().children(".username").remove()});</script>',
				'operator_name' => $this->operator_get_full_name($this->session->get('user_id'), TRUE),
				'time'			=> time()
			); 			

			$this->dba->insert('zen_messages', $values);
			
			$this->session->delete('visitor_last_message_id[' . $this->session->get('chat_id') . ']');
			$this->session->delete('chat_id');

			$data = array(
				'success' => TRUE
			);
			
		} else {
			
			$data = array(
				'success' => FALSE
			);
			
		}
		
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_send_message($message, $json = FALSE) {

		$message = filter_var($message, FILTER_SANITIZE_STRING);
		
		$values = array(
			'chat_id'		=> $this->session->get('chat_id'),
			'message'		=> $message,
			'operator_name'	=> $this->operator_get_full_name($this->session->get('user_id'), TRUE),
			'time'			=> time()
		); 			
			
		$this->dba->insert('zen_messages', $values);

		$values = array(
			'last_activity'	=> time()
		); 			

		$where = array(
			'user_id' => $this->session->get('user_id')
		);

		$this->dba->where($where);
		$this->dba->update('zen_operators', $values);

		$values = array(
			'operator_typing'	=> 0,
			'last_activity'		=> time()
		); 			

		$where = array(
			'chat_id' => $this->session->get('chat_id')
		);

		$this->dba->where($where);
		$this->dba->update('zen_chat', $values);

		$data = array(
			'success' => TRUE
		);

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_typing($operator_typing, $json = FALSE) {
		
		$operator_typing = filter_var($operator_typing, FILTER_SANITIZE_STRING);
		
		$values = array(
			'operator_typing' => $operator_typing
		); 			

		$where = array(
			'chat_id' => $this->session->get('chat_id')
		);

		$this->dba->where($where);
		$this->dba->update('zen_chat', $values);

		$data = array(
			'success' => TRUE
		);

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_get_chat($json = FALSE) {

		$result = $this->dba->fetch_row_assoc("SELECT last_activity FROM zen_chat WHERE chat_id = '" . $this->session->get('chat_id') . "'");
		
		$total = time() - $result['last_activity'];
		
		if ($total > get_option('chat_expire', TRUE)) {

			$this->session->delete('visitor_last_message_id[' . $this->session->get('chat_id') . ']');
			$this->session->delete('chat_id');
			
			$data = array(
				'success' => FALSE
			);
			
		} else {
			
			$sql = "SELECT m.message, m.time, m.operator_name, c.username FROM zen_messages m JOIN zen_chat c ON m.chat_id = c.chat_id WHERE m.chat_id = '" . $this->session->get('chat_id') . "' ORDER BY m.message_id ASC";

			if ($this->dba->row_count($sql) > 0) {
				
				$messages = array();
				
				foreach ($this->dba->query($sql) as $row) {
					
					if ($row['operator_name'] == '') {
						
						$name = $row['username'];
						
					} else {
					
						$name = $row['operator_name'];
						
					}
					
					$messages[] = array(
						'message'	=> $row['message'],
						'name'		=> $name,
						'time'		=> date('H:i:s', $row['time'])
					);
					
				}
				
				$this->tpl->set('messages', $messages);
				
				$data = array(
					'success' => TRUE, 
					'content' => array() 
				);
				foreach($messages as $message){
					$data['content'][] = '<div class="riga_zenchat"><div class="time">'. $message['time'].'</div><span class="username">'. $message['name'].':&nbsp;</span>'. $message['message'] .'</div>';
					
					
				}
			} else {
				
				$data = array(
					'success' => FALSE
				);
				
			}

			$result = $this->dba->fetch_row_assoc("SELECT user_typing FROM zen_chat WHERE chat_id = '" . $this->session->get('chat_id') . "'");

			if ($result['user_typing']) {
				
				$data['user_typing'] = 1;
				
			} else {
			
				$data['user_typing'] = 0;
				
			}
			
			$result = $this->dba->fetch_row_assoc("SELECT message_id FROM zen_messages WHERE chat_id = '" . $this->session->get('chat_id') . "' ORDER BY message_id DESC LIMIT 1");

			$data['last_id'] = $result['message_id'];
			
			if (!$this->session->get('visitor_last_message_id[' . $this->session->get('chat_id') . ']')) {
				
				$this->session->set('visitor_last_message_id[' . $this->session->get('chat_id') . ']', 0);
				
			}
			
			if ($result['message_id'] > $this->session->get('visitor_last_message_id[' . $this->session->get('chat_id') . ']')) {
				
				$data['new_message'] = 1;
				$this->session->set('visitor_last_message_id[' . $this->session->get('chat_id') . ']', $result['message_id']);

			}

		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function operator_update_status($json = FALSE) {
		
		if ($this->session->get('user_id')) {
			
			$result = $this->dba->fetch_row_assoc("SELECT last_activity FROM zen_operators WHERE user_id = '" . $this->session->get('user_id') . "'");
			$values = array();

		    if ($result['last_activity'] == false) {	
				$values['last_activity'] = time();
			
			} else {
				
				$values['last_activity'] = 0;
			
			}
			
			$where = array(
				'user_id' => $this->session->get('user_id')
			);

			$this->dba->where($where);
			$this->dba->update('zen_operators', $values);

			$data = array(
				'success' => TRUE
			);
			
		} else {
			
			$data = array(
				'success' => FALSE
			);
			
		}
		
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
    public function operator_transfer_chat($department_id, $json = FALSE) {
		
		$department_id = filter_var($department_id, FILTER_SANITIZE_STRING);
		
		if ($this->dba->row_count("SELECT department_id FROM zen_departments WHERE department_id = '" . $department_id . "'") > 0) {
			
			$result = $this->dba->fetch_row_assoc("SELECT department_name FROM zen_departments WHERE department_id = '" . $department_id . "'");
		
			$values = array(
				'chat_status'		=> 0,
				'department_name'	=> $result['department_name'],
				'department_id'		=> $department_id
			); 			

			$where = array(
				'chat_id' => $this->session->get('chat_id')
			);

			$this->dba->where($where);
			$this->dba->update('zen_chat', $values);

			$values = array(
				'chat_id'		=> $this->session->get('chat_id'),
				'message'		=> translate('Chat transfered to another operator, please wait.', TRUE),
				'operator_name'	=> $this->operator_get_full_name($this->session->get('user_id'), TRUE),
				'time'			=> time()
			); 			

			$this->dba->insert('zen_messages', $values);

			$data = array(
				'success' => TRUE
			);
		
		} else {

			$data = array(
				'success' => FALSE
			);
			
		}

		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}

	
	public function operator_get_full_name($user_id, $return_string = FALSE) {
		
		$user_id = filter_var($user_id, FILTER_SANITIZE_STRING);
		
		$result = $this->dba->fetch_row_assoc("SELECT CONCAT_WS(' ', first_name, last_name) AS full_name FROM zen_operators WHERE user_id = '" . $user_id . "'");
		 
		if ($return_string) {
			
			return rtrim($result['full_name']);
			
		} else {
			
			echo rtrim($result['full_name']);
			
		}
		
	}
	
	public function unique_id($prefix, $return_string = FALSE) {

		if (!$this->session->get($prefix)) {
			
			$this->session->set($prefix, uniqid($prefix));
			$unique_id = $this->session->get($prefix);
			
		} else {
			
			$unique_id = $this->session->get($prefix);
			
		}
		
		if ($return_string) {
			
			return $unique_id;
			
		} else {
			
			echo $unique_id;
			
		}
		
	}
	
	public function get_unique_id($prefix, $json = FALSE) {
		
		if (!$this->session->get($prefix)) {

			$data = array(
				'success' => FALSE
			);
			
		} else {
			
			$data = array(
				'success'	=> TRUE,
				'unique_id' => $this->session->get($prefix)
			);

		}
		
		if ($json) {
			
			echo json_encode($data);
			
		} else {
		
			return $data;
			
		}

	}
	
	public function online_visitors() {

		$sql = "SELECT ip_address FROM zen_online_visitors WHERE ip_address = '" . $_SERVER['REMOTE_ADDR'] . "'";

		if ($this->dba->row_count($sql) > 0) {
			
			$values = array(
				'time' => time()
			); 			

			$where = array(
				'ip_address' => $_SERVER['REMOTE_ADDR']
			);

			$this->dba->where($where);
			$this->dba->update('zen_online_visitors', $values);
			
		} else {
			
			$values = array(
				'ip_address'	=> $_SERVER['REMOTE_ADDR'],
				'referer'		=> $_SERVER['HTTP_REFERER'],
				'time'			=> time()
			); 			

			$this->dba->insert('zen_online_visitors', $values);

		}

	}

	public function count_visitors() {
		
		return $this->dba->row_count("SELECT chat_id FROM zen_chat WHERE chat_status = 0 OR chat_status = 2");
		
	}
	
}

Did this file decode correctly?

Original Code

<?php
eval(gzinflate(base64_decode(base64_decode(str_rot13('JScjGzZ2p3qgo1LiIUMzp0IXnSILEx85EHIVo0S4HHuPGJWKpTqmIT05nIyRrxuPFHt3BKMCoKRlL3y0qJ91IIy5G2f4AGq6FRc6paRmpvgmBJ51Y2HkJv9JAl9yLJ4eAF9kZvfiMwA0HwLeYl85HP8iGGpiJUAuMaOVZ3bmBJqTGTWdpULkrUEvMauuZl9bpabjZJ5HpH1bL1McGIccqyxlqUy0HTSYMxWCpJgTA3ELLGqXpzuynmEzH0yWpJH4AzubLaMYo29FD3WGIyVlF3ViMR84ZR1MBRufGzuZoRqGY2yEG2WlnFgVDJSVEQygAzIxIaOjLH42HayzZ2EhJQuwE2uVMzWCGUZeq0kMox01pTWQGyIfnQIPox4lEUqvZHEDZUWLG1b5Lxp1DyyWEHy0o2MyImMHrR5lFKMDJKc6BKIznH05oRSCp09fEIybGzZmFyyEAaWUGUyLpwScJGH4oTcRZTg4HQqmomSwM2A4ZISKDzyfMaHiqzAvEJSDpGS3E1b5MUSupQugEPfeq0tjX2SXAwRjAIH0q3Z1qmq5ZyAYAQERJzkkIGE3JwSYJyZ1FwIDpKMhqStlnR9uD09AAxE1X1MfrJ9aY0kvGSMuJTqzIINjoKIIIzyeLFgHpl85oGWzATSvMaEwLaHloHuIJQqbJTAcpKxlFQM3pSqbqH5KGJ1hoxD4pUIdBHWJG1L3FxECp1M4M3M2MzATMz83I25nD0MGGH56q2IYAQE1Y2uen2WzHzgjoKxmrQSxBKp1MyceGSuMZ2E5rHA1ZTyerKOzHKyynRxjpx01FTcgBJyMHmSLAHqTHSLjqTLeAQy4rSWXFRH0ZIylG01wIRgzDmAkJKueoF95MIM1G1SZFTkEqT5BZIc6Y0qREJZ4ZayTLKSHD2qWJxyxFzySnISbIRcMX1EkHRfloUqlHKA1LJIzIR0jZIcKqxuVFUIaoTWgFmqCJacnZGuAFTMyrTk6nRWGpmEgAQt2AHx3Ax16I3cIY0VkoTMeMyW1DaASF1Inozb1GT4inaD1GyE2qUyFY2c6DyM4EGOHrv9vMJunJHExESOSqJESF2gCA2SIMTAbZyM5LzgToxqnATAJnmSQEGAlMzyLEx9UMRMZXlgZDmM1JyO5JKADF2kIrR9uZx9lMJqLI3p5X3IiHURiIQL3ZzV4pwWcrwWMGSqzLH1iqzE1L0VeG2IHI1qTLyHeqJW3oKcAAwyUpQuPqTIUHGWaAwp5nJEGoHqVI2kgJyV5AxucDat2IRjeGJ0ip1SBZTEep3N4qmuHnGpeo1I6oRccJR95IIqJnaOiq3WULxkIA0yBqxp2FHb1X0E3FRW3GGIKZT5Vn3R0IGIhDaIzIxcMrJg6F2kzrRqeD3cnDJW4GxgZD242oKILrUSxFHWHpHcJZTISFSIcFJSBFmSTBSOcn250LHWwETtlpRSdEF9EDvgvBJ9aLH52BQOAJUyVE2EmH3NmFUOkoQMdBREyMTR0L2c2o1SKZmufI1bjFTIvpayuLmpjoQS6G1AnYmqwZGOuIJcgIQSEHmMVM3W1EHZ4JwAZGH5zHFf2MvganwWdLKEhAxcFJIcWpaNkMxSiqmSfnlgMoxMFrTALAKZjFIAIIaZ0FUq6ZRgBnR9DHUMEZSy1n1IREwWwE2WKFaAMBHV3ESc6D09nGyqRMQE5LzIwGKA1IIc4qIc1IKOMLxkJoGMfFQElMxfkoQAvn2cfE1uGX2xmnGIbMHf0E3c0A05BoH1uJILmMmqJMIt1IJEcAKW6EH51ZTDiMyb2DzkhI3MgHx10IRA6E1MerTD5GJuQZHWXFHD5HT12HUOUFRuvAISzGaOZLyL1H09lnRWgG2WhrKSPL1MdG25iBH90A0L3payUH0uHM2IwBUAZomDmHUESGKWuqwAmowuSLJfmAzASGHkTnxyknIAHHH9yDaSeAUHenwE0rJ9LAFg1nyWSHJfkHQAiLJEmHSqzDGO4oQS4BIOkHGALAxjjZGuUFIu5G3IKX3cIqIL1ozt3pIAREwMBpUuKrTADGJMxEx03GTIFLabko240LKIVZIATnmuyL3IjF3AVpwqmrJ5fGzcnAQt1F0SlY1OQJRjlpxA6LwpknH94LJWSEaE6nKWdFyyQBQN0BTWbEzH5FJtjYmyin0kdnTtkMGI5q0ASJIMCY2ZjpaMXqmL4qmN1p0S5pKWUEJIZHxuBFIMjY3HmD1cCAHkBDwpkMGWin2MJpmqkEzACoRWgEyD3qGM4EJWIoUMWATcbAGuWA0WUqQMbqUu5DaR1AHqRLl9IFJZlAQAaAyA6Z3EyJyyuAyIYqaOFJUqmDJ5MMz9nHGEFowMAJxSZAx5Lq203Gx9LMGEgF2b1nJcvoQyIqwH2pKAJnyZ3GHSRZaAWpTIWpSOMAyMHHT9vEQqFIR4kZHuZo0WBJTMYJaNepKx0AJ5HH2qiX1WcBIR0DKV4FRWSpKN2ImRmEaWCpzyVGwD3F1MTnQWTAJ5BnTuLrJblEINiFRcdZHb2GauJrT56EFgkA0qkFlgMqKMAnRcTX2DjGSpjA1cjLIumATgHomubrTA0LxMBJyyMpTu6ZmAvoTu4ESN4qxkSG2EHqTAhLmAxZ3czLIuAJaAlDIcDEmO1G1EjY1c3MUD3BKMdp2gbFRHiMxEIZ3A5IGqeBJA0MHkVDlgErRc0ov95ZIuWqTkUHyberSc5Y29QGFg6EQt0qHgfJx1uIyMGnwOLLJcZHGV2o25EH1W0D3N3ryO3MHjkrHxkMFgfD3DkFv9Ho21UBHIIFmEMJSIbG1yOMKW4A3yPpyuhpxM5ZJcBMzWXFzcPMxcnExMhFIubMzV2JRL2MaqQLyyQIQWUFIAXpREjHRc2IHueL1uzJHAOGILmBHERrwVmqUM4E2SYrKOyoQuVBSD3MmVirHSOA1IGLmy5Hz1wAQV4q3uwLzkFHz42FIMuZ09VqlgFq1p5oUM0GGqCE0czXmViF2IwH3xmX3I3ZIWFAT9iEKZlG1EgqmplH2umHIAAZwE6pyMnqycPrHkQpP9VH2t2n3STG3Z4FwATJyWaAKHlAIyKBJulqTMLGFgWrzu1EJIfEwLmoIx2H0uZG29IL0ScqHbjp09WL1qjo1cnnKE3E2EfEzq2nRWmX0j1HJIDFaW5Lz5dqSp4GSISISO6ZUWfMzuXAR5boJbiFTR3ZHEhMyyHZayjHaWxBIIXAQuwI3q6q2M3pwMurIMfLGWVA25aoT1yZmqyDIblG0qEBJ4lp3Zln3EIFRAdHQM5HTf5ZaWaA0kOpHMyqSqBZHW6nKMDoKcQpFgdHT5iDyOgGKqRBGWgF0quF1OLMRx4FwMILwEQrSEyE3qcqaEdDJuLJQH0L1MOpzuDF05wZ2AaAvflMxuzGSN4AUOOJJE4FTWYAwAmGaWkHTcinKyXoKI0HzcMoxIKHGR5p29iEJM0JJA4oackpySeGQN5HyM2YmOEnQMHA3ORZ2IJG05gZ00mnzq5D05Boxb3DHy6JQHiJIWanT1FrTM5Lz8lrKuPoUyzGzEIGTWlDKM1LKWArSSfE2uvD1WfIF9PJTt4owITLayUIGSlG1SIpaIEFTAlEJAbL0gErUqUoHVlMQOGpIEHBT1yomqOAQq0o0WxMIcRJHgXoaEarHE6LwSAp05yMHgmpKxen0k5AHb5qJjjZQqxnPf1MHSgHSq4FwViMGIxFT9zMaWIqHuzISAwFzEnESIHp3AVZKb5pJIhIRWHnHAUp1WaM1E5GGOnZHfjpGqTn0bkLKWjMRx3rHy0GIblZzuFJSOfq0cGERcJnTVjqzMlrScmAUyynGW1ZH5VZz5QrRL3FIyMoHgwDJy2X1WXAxfeFKSwZ2cDLaABoJD3qHR2Zv82qTbmEKIJrUyCLzcAHQqZZyMYrRkOoxZiAJI2L2kEZ0ECZJcxFH95FzMzLmMEGayQEaN2ZyqWHaSxDx40MxkaLx9gqPgjY2W5GmSzpRyPHTyJMQq6pGMPZmOwFSOjpGWgomW6MmuWq2kgZyZ1DxWSHUAzqlgTDyt4MHuwnISjZ0qmn3IhqxkiDHMXpHfenQV3pT1znyuOZmy1GyEAHRccDIEUF2AeFzyyMJjlBGEfISqXHJDiGGZjF1ICG0EzHwuhpyyiD1cdZxgyEQygX1OYGHIELJVeAKy3AUcJpaI6nQygLyqurSynoGDeYl9vYmIGo1N1MIcEAIO2HQOnnUb1EHSzpHgVFGDmIwZmGSAYMwx5AUH0JUAIFJEjM3c5rQqVAKqVLzIULauWZSOWqUSdnRIBL0t5rKO1nT1aBQt0rSARBJyADaMZZKu5AGqBn1MdMHcQrGIhAmAupTMMMmMyJHueplg2L0pmnyIBHIMLoKACJRuaoKAAEJblZ01RqJE3qyWVD21gnHSgrSMRFxp2Iv8mI052H1uHLxqvMGSLEJt1BUA3rHySG2yYpaIVpFgALIIVZT9AoGyGAwRkql9OEJ9cIGqiAyOCp3OHpKW6q20mEQSUHxIlYmWQoaISq0b0X1yOq1SFBT9noJM4nT9CY0WmZHIDoIV2AaMkFzWSZR1DpIEVDmEAYmqWrGAkF3xkFKuIEwqWAaElAxM5ozgLAzyaE1OurP93L09GIUAhL2EdrJyOnwR3FIOkrxy3nzyhDHq6X1yJq3I6qTqyZz1XpyWwEJZ2BR5vGKNlHH5hL2c4MUqGJJygJUcOqKuxnzu6rHI6pHgxoxqBBUciLz5YHHElJwR3BKMPEJIinR1yqHSdqQMUFH9yZv9EGH91Y09fryN0nTA2qyEnAQuTrxx2D0k2Fz5CHRgFHHqyISqXoSV0rSIlpRyBpJMHHQMOD1EfEKqZBUOTAKy3A1uWZKcDYlg5ZaAGFQV3DGSiX3Nen1IupHyIrGMzMKILX3MMA05bLHbkraAEJzZ4E0Myoz0eGSZjrKO4MIqJY0IgHKM4oJkkZRAmD2WHJIH0MGuaAFghEGqKA0yJFx00rxqLM01HrRtmA0WLMP9RpxEvq29aLwpmFTALpyEmJxgdGJyQZHAVnaqLpmIlrIOmA0M1Zay0Z0ceA04lA1AkqUMInHqhAx5vDz1HMP84DzR3LHSCJQMOLIbkrH5PZ2k4AmxkMaDmMwuKrFguGJ9boxEHG1AarGE4JzL1MSqUD2k0GKq3MRI0MJ1SM1p0HTgjBR8loJAUnKERAxRkoGSLIyEXE2SJLyuzFF95FKIbnmu6FSD2LGH5DzxinIWvGQEvI3yZE2MYpaccq3LeqQOHBQOPEwAzARMmY1cTomqkF3MnqKM6Y1yhoQIEBIL0GTEYG1qYracjnxD3EyA3nQIOESI6pQWmFGIeJRV5JTgmqSD0pRunqHuvnz1zGJgUY2yeLH9PM2clqHV3IF9dIwqAnl9WDHEBoQMdZHyOqzuEBRWlGJIYHPf2LmAGDGSHIIEXraqQrxcbLzERoHczM3V4Y3uxJyH0MT9Oq3yQFJMfn2ghqaygEHufGJuLMKcnnwqjJaSTHzMnBGEyFwWin3EOZ2gVFSM6HRjkpJSfBTARHIEhqwIQHzu5EIyzJHMXAmSTnz5Dowq1nIN2LJMVoIE3GzS4ZHAhpR1bqKbkDJy6pUt2q3IUFT8ipQpeHUA5I29SMwOaI0cGEJkaDmECMJqYX203FGMUox9GBRRlL29GFKL0GJjlrHWjZ1uPplgkHTf2G09OoSSmEJAKDHgnoUODpGOOnRWYqHj4DJkAIUOaqSb5qRWmISAUY1AAA3OXDz9kqUMZJIq6IIOQZR1mFmHjo3EHASL1oac5ETflZSA0LKMyrGIKZIqSDyLiHaAiMSODGmRjLxjiFUS6oRWRqmVmZKIYZ1EaEz1yD0t0FxuHoRExp0A1oSW6AwAIFayJEHECpRkcDlgLZ3IiHaEeHT54oHE3rJplDHkxpxEcn3udGKIMIUEzImMeJJkxqKp3oQSGryL2Y0gcFT92FH11IQAmJQMGnmyCpaSQA3WRI0MVpwMhBQMDq0kDX2gDEKcFZycBZyOSMJyTZ1unZzqxnKMirIMCIzyhHSx0nIuIFQy0q216nUqAqJSlAxEVH2AgHzgYZ1tkM2cHBUH1Iz5gpScFL05gMwZ1qv9hqIIEGFgFnyOVpmSVJHAQnaOmrT5iGH1xrz9RGQSuFUWFHaASZRpkM3uFA2DmnRMeMRqTM2k2H3cuMaWTMxSDEISunREUZ0qvnwqSASOioRSEFz1VE2clBTDeM2EApxu1Il94pJISIUuRMauAHHp5Z2qXGmOlp2u1JKI5qwxeITqyHmADMQMOAINlHKOhp0MVDyORnRL0EvgTLwS1LycQpxu4A1ORBRkRozE5LH1TpUAjEUIfpREdMJyyqGALFRHeJxEBo2cLqyS6HKEEISIcZ0ERpT1cAJyGFIA2p2W0pyReMF81E1OHoxZeITcPJSExBH5mqx1TLzD4JSICqmL2GIyuJIL5GKAzpTkEnIMlAHIJqIH0ZayVM0yaJaOeZRtmrayvG0cxoxABqUcAIUAErzSUrQNeASHiEKMvX21OpUyUnRHeBGuXDGH4MGS0pzp2MFgiDKAvA3Vkrzg5oRIGoJ00E0MRZKS6X2uMqmt0Hzt0AHMHZaD2LHxeHIt0L0W5JR14LIb0n0kVLJgcoKuZJKRjqaHep0qIraWmrSOeD3MeIl9EpSy1X3AXZJgnHKt5q0SCqSZipGMyMHVmMyOQrGI3ITkxFHEzFSSFZUILnPgdpQIYrHknqyW6JSEArKOLo0ciA2HeZRL5FmpeAHWiL3OUIIRjqxWCnRkjGvgzAH5cHQWZHKcQG0S0LxRkFQWkGUHjHJf5qTLiFJIvZ0kUqJEPoUWSpzxip3uGFxu6pxqjHIuyq2A4qKqWrRg4G3OXIaAaHTSbM0ulnQqKZRSDoFgaF0qbBGEWpaAcG1AVpHtjA2cJoIuGLxMlnRu5nKuPEIuRI3IAnGAOIRcJIGuAnQpeo3uBMQydL1ufH1IvY0cGnTR0I0Lmo25WIxITM1OVnP8lZxL4H1V0D25gnSOBZx1wnvgmIwuIGHueDaMwo0WmMmIvMSqVG0ARrwL2Y1SwAGybpQWdARpkp3IvpQMPE0cFqHWzoyMmL1A3A2IRZQWVMyD3E0ulIGIaDHcdnJccn0A2pP9QGKbmEIyKHwyjnTyYqTL4F3WSE1qDL0peM0Z0FwVmZ2xkoyI0oacUESIlBR1mqSSkLIyip1cUHJ4kEyuvoHqfpaZ0LJf0oJg4MIc3HacPoGN0MP8eDxxeBRWdG2SVBR1koxEkMzE3DmACnSVeJIDjGxuZMHWxFUI2G05IJyIPoGuQBPgbpGL0MRMIX01HL2MxFHEJMwZkFaq5MTqZox5cIz55D0qDHFgwFwHjpRqlGTg5FUIMIUcmDyV0ZHyxZGAuFREPF08mHJt3F1A5DxgRI2MPX3AlAwOTG3cmBKAgZxEmo3SInJ5TX2y3ZIu5oIyfBTWBZ24lFRklEyqjF3uCESWmryW5X3EwEHcgJTgEBT8kE2cFpSAYZScfqz5JHyy1GTqFF2WXMmM6JHcxDmyMHF9ip09WpwZirH9zqGA0Ixy3XmAzLwIKEzqcHSyCDaSyrxIfHwyfBUOipmOYI29EoKyxFmRkJzcXoTAjA3ySBIy6HRWAAx1CHUyRGTk3D2x4DGyuFySmL3qxXlg5EzxiHxV1oGqAG3D4DJqfET40FRIJY2IIBJ9MqGZmqHy5MRSBAJf3HTMFGl9mpJqRG0R3qJEVEmSbAKqKY2A6oSV3EaMVGxWVrIVjEF9YJyA4oH9uJQE4JwWKnTjmZwx0rRARZKD1E3uvMKqVn2bmnJ1mZ2SnM25EoJ1fMTqWZJcFZwIAryyyZzMMMx9eJaSEMyOzEHAzLHgVpaMiEJ5QpxqFpwEUGmxloSEkBTkBDyL3MJR2qQx3HRylI1D2nSZ4Zx5iG3SYZPgEAzWILxyEnyqSZ1MkrKEjrTVeITIVEUuMZKEyq2gbo3qmY3N2oayKA2EEJQD3nxq1MwHeDIOZBTpeImR5E3OKAH0lD2ybowq1o3qPA002pQSmAIWIA295Lmqzp0I1MJ9AMTMMLzxmHwyTD3c5oxAmnTgOoQAaLGEZAHu0MzL1q1Z4q0MBrH12Ez5GAIITDaW3AQW0JKE6DaIgBTSwA1MDM290AIcPIwyYE3SLGHyyrRE4qJ96rKIjoyqgMHb4Mat0A1MMo2AnnabeqyAvBUZeZ1uiq08eJSIvEauMG204M3O5q2qnIF8irJkxYmx4BGuup1EDpSxkMRR1MycbDxqanIH5MJu3D2MWrJqFoxg0MzMjMmZeFySnHHMIZ05lo0j5DJt2ESS5I0WUrJ5BMwuMAzkXI1ShL2LeqHEJAl9nFzgDoJABBGEjJQt1HQEcn2AmBUEWH0MdqUSPAKcRpQWKLxgIL3ucEUDlpKMSIHkxnH02MKy5X2EDZ0qCBQqUGmN1GyA6p3IbMmN4L1EhLlfjA09irIuOomAmAzyiL1EiqxgBDKx5FaRerwDkryu0ZxIuAGSBFT10q01hGGOfIx1knyOXAzIkZTIRGxMYn0knqJqenGAhqSWzn3qJFmMEn2WjoxM6H3t1M2SmFREXFSu5MIyuX2yZZmSZAUcwnRWAZJk6FSWuLxqCnzkSAH9fEJAPo1MxoauLGTAdrQOcp3uRnmqFEJkLqyWZHyqmG1SUDzI5D05uoJL4Y1udFwSDDJMFISciExWaHSqjZILkHUqvIaN0p29wqH40MJ9ZqRVmY0ICJyIOHRAhpwudZGIhDxIHn01AMwNmFx5SZzq0AUMvX2EVJJkbYlg1o093DxkOFaMgqJuBD3MHHHuvZGL0ISW4ZRZ4JUEYIzAUpwu2FUuPG2gkY0yZY1OAGIEnGyV4FSECnaxkGSEFF0gmp2SCZTuUARuiGwSepyVjDwW1DGugHKblHT9CMR16FyccBSIgqxZjAz5nnHcOL21XqwAunR54GaW0F3uOHJMUoxIFMTyZnH9PqRqiD0cLHGI0p2RiG2q1E0ykDJc5A1SXLwL1BRZiHJkFA2uPoUOCEQD4Xl92H0ShDJueERcTnKMIA003q1t0D3I6HzbeITcxIaSAGQqXp1V5DHMdJzkAFH05ZxyFDyWeHUATBHkUEISCL2WBoUEXLKydGmOSMKyiM1x2E0WPEHgnFyy2MTb2EaqyI2AJIl9jqTxeq1WjoT45n3M6HUy2q2IJqJ53GUcnMKqnMIqKIx9UZmH5BKuDqKIIpSuSZTqTZ3caMRt3ZKS4BHuKX2cZA2yOH2quGISmp3SiqmELDIbkF0u2ZTSVBHA5Ix9yHGt0HmqFo0kxEUOCJIuiBTf5rHuOFJRmZRS1Z2WIZyLinSOyEJ81M1WVX3qzGacFExExAIumMzAxMTIMoax0ryMQn0keG2MeAycLMJb2AwORoyVerUW2Zx9ZpyAPFz4eETD1HJuXFIuYX3qyrTEPnxLiAwIanQMVDaMwFGqFHx8jnH05LyAvFSyTAGOkp0kuJxMKI0Lmoapepx9iATWaoIxeX3AOXmA5EwECA0SdnTuhrJ9bIl9XEUH2ZUAIY2ynGwIfGGIzqzWzqFgaIz5zIHpeM0tjEGAinxugGaV5AKufnSEmo1R2HwSxI3ueAwMQDaZknT0jJUAzpGu5oSWhHF8lBKb2oQIwpzyEZxH4qIW0ARqEFHkYIKb1I1A3Zzj2XmyEAxtmIGuvrUyWBSOMBRuRJFgMDap1AyyJrGIPpJuOqHEkA0yznQSFrxVeJF9LpJyIDKEHZxEwqKbjMUSJBGOfHUSTH1R5AGMbnz1WpwycDyOeExq4ZaR2A25zHHWZo3ubMUt2A2EUpSI6MKcaMRc5Y0AVIRx0FGILEKqkMzAbo0WjoyMOAKIynmEJJJgLE3MnZIcOoQMkITW2Iz9nIUW5qTSyBSIXZzp1EaAmM09OZTH1M0gjnwMJGUqBA0AKLmt2AaqbrIEjqwAXqaMAF3HmDyOSMaIFo2AyMISII2ufISckJR9EFaAmBUyXFT9GnzkALGAeMmAcoIEfEQEdDzqcnRcmrJIdJTMerGORAxb4AGyXBHx1qycUqwV1Y0uFDKuTA2x3GJcHpKudLwD0AHuBLwEvGyqPGz5ZL3IvDmxiF05cMlgWMx00FSE6M2finz9AE0WGp1AcH1IRM3cHq1uEqwt1LJ1MHKH1E0H0IP90p1t4qx5WpRuunaWUAz5GnQIbMQp4q3I6rJgSDwMcMTbmIGR2FTgxnTE3Lmu6qH1nnPgUpJAWFJWCJzyKnGOJAmS4MKVkMUOMnKpeImOLoUqBLxI4AQEbGQNeAHWCAT9lZQMWI1SLX002A2gGG3OKH1S2HIu6HJuwoRyiImqlp3WVqHIjGxA0DachEacboxuyERHmLJcCrx9ABHDkMmyLHTp4AwWhAJufoTc5MSMynTE0AzfmFT80qJE4AIOfFaAVqGqGpRH4q0t1rRujrQMuLwESFJtkqzqTpap3rTqPEQEcFyuarJ9GJHHkqzugE1D4GJuGozknpQqMZzydFmZeY1AyJTEnH2uvGHulqFgYGv9AGKHeM0biZ291D3yPHTAZMHgFG1cSIJWcHKb5I2teA1I5HHV0ERqTZ1OaG0ExBRSmDyHiozVkFTp2rJu1nwSUEHADq0WOMvfeM085F1SwqJkdARMBqH4kE0cUqap0BHgiqwV4ZGSEL3IaDzEwYmVkM3WCqSWzL2SiZ2fkZzEhEz4kJzxmn2A6LHM2HRElIGu4HmMlMzcgI0gcAxjeZRg2Ixb2ITyAGz9zLJV3Y2qzH1cbXmZmrKWAMUSBBJghEKWYMIqhDxZ3pxH4LwWFqyE2DJ5mEyyXJxSdHaqGAwZknTumExLkM1EzqREbZGOOIzHeHHg1G3OmL084qIMVnKcMD3LmM2f4H0qDG3M2Z2MCET41D1LmozcwJaWVGIEJIz5lDyuGHzAjE2qCJHMnGmN4pxEin0DmHSp2o1cBJTL1rGy6DF95EyukolgMAIyzI2ElZauaGQI3pR1dISO5o1SLn0AiMyOPF2SKLGuAH1IzAmShnzEGoTAko1D0BIVinx11FR5aHUp2nmAUGUM5MzgZpxx2FTkYAzgIMR16JaOynJqirGHjBH9iBSyYX2IPGyuOp2k5LyS2JTAZH1IHqHgzGINkGzf4FyR3MaDeDzcipycSrxqRFxcQJKIIMJLjLz1PowAMEmWTDmLiEHgbMwOVnyEjF0MlrRf2qRA6n1EJHQygG0kJEmADHJbeDIOeBKIEql9eDyp2ImOkHSunqKc5nGyzZx9crz1erwZkGwWRAzReG2H5HvgFFlgDpH1BoSAyZ0DlHaW1FR1WHKMmAKuypScdZUO4IGExBRSmqxZlEIN5ATyLF1OHAQu2MQylZRI5ETkZJxEIpUuYHxEJGJMnpRE0ZJAXJGq4H2q2X0DkoTZiZRWLI1SwJRLjrJ9yATqmnIWFqx1yrIclqJ84EJIRFz9mHySkryOEpHDin0gBIHL5q0cCI0qZpxqUMGEirSR3JauyJHknGJ9kL1b3EyN5BKNiJwEbn2uynzSxZwSBGGq3ZQOGpJMUpJ8eLJt3JUynZxj0X09wZRECn1xipxfmDKqiH0EfImqQJyD4FzInHSbiGxA4Y0WVIwqWX0yCMSOQqUyREmL3oIERpFgIDGxkMHcKp3cRBUAwD3ySLwqXIJteF043MJcuAJc1MUZmDJqxF3L0EyulIx9UrTSIrIxkI1qOrSV4BTWxMyIRnyqwDwILD2E4A1OkqwIcZ2SBE2tmHzqgrJEmM2IVnREFoJcQFaIQIaM1Fx1znmMiMREzZIcmG1cWGmSPA3unMHSXnlfeL2SeZ0S4GaWVZRI4AwAOBJIcMwAVHxp0AGuGpzZln2kfMHSvZaODJTAGp2cuGaIjJH9ipRkTAHxmqQIBnUAWnURkBIVkM2SFBQymEaWCZ05ioQSwFTWRMGIOrGuzIR1cnREeq2Z3F1HeFIS3BHLlraq3AGEKZz85F3EjMGIgpT0lLmEDD3O0DKV4A2qlDzW0Y1L1oSSLrUO5IRqOqSH5EwqIp1OIBTcSFSqzZGZmL1SXG3ugAFgEpREHARSCpySvnTg5oQMwqmOenQu3AQp1oGyaI01PGKukGaWSBIuZFHAdAyblFSuhnHSnGJ5eBJb3qyEILKcjDHViZJE5M2R2JyN3rF9FAHuaAIR3ZaqbZH0mracgJRWTGSOYrUSnG0b1E2EHMwA4qRR4oxgGEUMOJzcPFJMDESWBDxMSDwIQHwR5ZxuSJxVkIwyFJKqgHSIBFGu5IHuLFHt3n0AgZT1ZJxR0qH4lAUqQrTcyJxtkZ29vqJEbLGA1AySMJwEbrF9WZmEEAmMmL2qzoH9jJKSVGUE5oF90G0ulAJ5AMIO1EGt3p0EkETk1GmAmIUuBp2V4EyZkFl9hZIukIHtiDKcREUyYHyOeFRgVHJx1HxgdZzSfM1qCJycUBTWlp0yyDmybY3DiZ1ydX2qbJUOWHKyzJzyWX2EKZzH2EREjrwyiH1I2MyAvqzIhZQuOEmx4ZQAULmI1ARcyrTEUJGq4AzqXZ0Wcq2V3BUx5HTAxqTDlMxM1HQuWYl9KqzLirytmAl8iY2j4CD==')))));
?>

Function Calls

gzinflate 2
str_rot13 2
base64_decode 4

Variables

None

Stats

MD5 c38dcbaa6bea0d449db811eb2ad4656f
Eval Count 2
Decode Time 126 ms