freenetis-github/application/controllers/tools.php @ aa4bf046
8baed187 | Michal Kliment | <?php defined('SYSPATH') or die('No direct script access.');
|
|
/*
|
|||
* This file is part of open source system FreenetIS
|
|||
* and it is released under GPLv3 licence.
|
|||
*
|
|||
* More info about licence can be found:
|
|||
* http://www.gnu.org/licenses/gpl-3.0.html
|
|||
*
|
|||
* More info about project can be found:
|
|||
* http://www.freenetis.org/
|
|||
*
|
|||
*/
|
|||
/**
|
|||
* Tools controller (SSH console, WHO IS info)
|
|||
*
|
|||
* @package Controller
|
|||
*/
|
|||
class Tools_Controller extends Controller
|
|||
{
|
|||
/**
|
|||
* Contruct of controller sets tabs names
|
|||
*/
|
|||
public function __construct()
|
|||
{
|
|||
parent::__construct();
|
|||
$this->sections = array
|
|||
(
|
|||
'ssh' => __('SSH'),
|
|||
'whois' => __('WHOIS')
|
|||
);
|
|||
c1bdc1c4 | Michal Kliment | ||
// access control
|
|||
if (!Settings::get('networks_enabled'))
|
|||
Controller::error (ACCESS);
|
|||
8baed187 | Michal Kliment | }
|
|
/**
|
|||
* Redirects to ssh
|
|||
*/
|
|||
public function index()
|
|||
{
|
|||
$this->ssh();
|
|||
}
|
|||
/**
|
|||
* SSH tool
|
|||
*
|
|||
* @param string $ip
|
|||
* @param integer $port
|
|||
*/
|
|||
public function ssh($ip = NULL, $port = NULL)
|
|||
{
|
|||
c1bdc1c4 | Michal Kliment | if (!$this->acl_check_view('Tools_Controller', 'tools'))
|
|
8baed187 | Michal Kliment | Controller::error(ACCESS);
|
|
if (!isset($ip) || !valid::ip($ip))
|
|||
$ip = '';
|
|||
$view = new View('main');
|
|||
$view->title = __('Tools') . ' - ' . __('SSH');
|
|||
$view->content = new View('tools/index');
|
|||
$view->content->current = 'ssh';
|
|||
$view->content->headline = __('SSH');
|
|||
$view->content->content = new View('tools/ssh');
|
|||
$view->content->content->ip = $ip;
|
|||
$view->render(TRUE);
|
|||
}
|
|||
/**
|
|||
* Who is tool
|
|||
*
|
|||
* @param string $hostname
|
|||
*/
|
|||
public function whois($hostname = NULL)
|
|||
{
|
|||
c1bdc1c4 | Michal Kliment | if (!$this->acl_check_view('Tools_Controller', 'tools'))
|
|
8baed187 | Michal Kliment | Controller::error(ACCESS);
|
|
if (!$this->input->post('query') == NULL)
|
|||
$hostname = $this->input->post('query');
|
|||
$winfo = '';
|
|||
if (isset($hostname))
|
|||
{
|
|||
require_once(APPPATH . 'vendors/phpwhois/whois.main.php');
|
|||
include_once(APPPATH . 'vendors/phpwhois/whois.utils.php');
|
|||
$whois = new Whois();
|
|||
$query = $hostname;
|
|||
$result = $whois->Lookup($query);
|
|||
if (!empty($result['rawdata']))
|
|||
{
|
|||
$utils = new utils;
|
|||
$winfo = $utils->showHTML($result);
|
|||
}
|
|||
else
|
|||
{
|
|||
if (isset($whois->Query['errstr']))
|
|||
$winfo = implode($whois->Query['errstr'], "\n<br></br>");
|
|||
else
|
|||
$winfo = __('Unexpected error');
|
|||
}
|
|||
}
|
|||
$view = new View('main');
|
|||
$view->title = __('Tools') . ' - ' . __('WHOIS');
|
|||
$view->content = new View('tools/index');
|
|||
$view->content->current = 'whois';
|
|||
$view->content->headline = __('WHOIS');
|
|||
$view->content->content = new View('tools/whois');
|
|||
$view->content->content->hostname = $hostname;
|
|||
$view->content->content->winfo = $winfo;
|
|||
$view->render(TRUE);
|
|||
}
|
|||
}
|