New upstream version 0.6.27

This commit is contained in:
geos_one
2025-08-06 18:11:51 +02:00
parent a6b4158f1f
commit 56a986c0ba
563 changed files with 45811 additions and 35282 deletions

View File

@@ -1,148 +1,199 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
<?php
// phpcs:disable PSR1.Classes.ClassDeclaration.MissingNamespace
// phpcs:disable PSR1.Files.SideEffects
defined('SYSPATH') or die('No direct access allowed.');
// phpcs:enable PSR1.Files.SideEffects
/**
* Ajax controller.
*
* @package PNP4Nagios
* @author Joerg Linge
* @package PNP4Nagios
* @author Joerg Linge
* @license GPL
*/
class Ajax_Controller extends System_Controller {
// phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps
public function __construct(){
class Ajax_Controller extends System_Controller
{
public function __construct()
{
parent::__construct();
// Disable auto-rendering
$this->auto_render = FALSE;
$this->auto_render = false;
}
public function index(){
url::redirect("start", 302);
public function index()
{
url::redirect("start", 302);
}
public function search() {
public function search()
{
$query = pnp::clean($this->input->get('term'));
$result = array();
if(strlen($query)>=1) {
if (strlen($query) >= 1) {
$hosts = $this->data->getHosts();
foreach($hosts as $host){
if(preg_match("/$query/i",$host['name'])){
array_push($result,$host['name']);
foreach ($hosts as $host) {
if (preg_match("/$query/i", $host['name'])) {
array_push($result, $host['name']);
}
}
echo json_encode($result);
}
}
public function remove($what){
if($what == 'timerange'){
public function remove($what)
{
if ($what == 'timerange') {
$this->session->delete('start');
$this->session->delete('end');
$this->session->set('timerange-reset', 1);
}
}
public function filter($what){
if($what == 'set-sfilter'){
$this->session->set('sfilter', $_POST['sfilter']);
}elseif($what == 'set-spfilter'){
$this->session->set('spfilter', $_POST['spfilter']);
}elseif($what == 'set-pfilter'){
$this->session->set('pfilter', $_POST['pfilter']);
public function filter($what)
{
$received_token = $_POST['csrf_token'];
$token = Security::token();
if (!Security::check($received_token, $token)) {
echo "CSRF Token invalid";
return false;
}
if ($what == 'set-sfilter') {
$this->session->set('sfilter', htmlspecialchars($_POST['sfilter']));
} elseif ($what == 'set-spfilter') {
$this->session->set('spfilter', htmlspecialchars($_POST['spfilter']));
} elseif ($what == 'set-pfilter') {
$this->session->set('pfilter', htmlspecialchars($_POST['pfilter']));
}
}
public function basket($action=FALSE){
public function basket($action = false)
{
// Disable auto-rendering
$this->auto_render = FALSE;
$this->auto_render = false;
$host = false;
$service = false;
$basket = array();
if($action == "list"){
if ($action == "list") {
$basket = $this->session->get("basket");
if(is_array($basket) && sizeof($basket) > 0){
foreach($basket as $item){
printf("<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
if (is_array($basket) && (!empty($basket))) {
foreach ($basket as $item) {
printf(
"<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
"basket_action_remove",
$item,
$item,
Kohana::lang('common.basket-remove', $item),
url::base(),
pnp::shorten($item)
);
);
}
}
}elseif($action == "add"){
$item = $_POST['item'];
} elseif ($action == "add") {
$received_token = $_POST['csrf_token'];
$token = Security::token();
if (!Security::check($received_token, $token)) {
echo "CSRF Token invalid";
return false;
}
$item = htmlspecialchars($_POST['item']);
$basket = $this->session->get("basket");
if(!is_array($basket)){
if (!is_array($basket)) {
$basket = [];
$basket[] = "$item";
}else{
if(!in_array($item,$basket)){
} else {
if (!in_array($item, $basket)) {
$basket[] = $item;
}
}
$this->session->set("basket", $basket);
foreach($basket as $item){
printf("<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
"basket_action_remove",
$item,
$item,
Kohana::lang('common.basket-remove', $item),
url::base(),
pnp::shorten($item)
);
foreach ($basket as $item) {
printf(
"<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
"basket_action_remove",
$item,
$item,
Kohana::lang('common.basket-remove', $item),
url::base(),
pnp::shorten($item)
);
}
}elseif($action == "sort"){
$items = $_POST['items'];
} elseif ($action == "sort") {
$received_token = $_POST['csrf_token'];
$token = Security::token();
if (!Security::check($received_token, $token)) {
echo "CSRF Token invalid";
return false;
}
$item = htmlspecialchars($_POST['item']);
$basket = explode(',', $items);
array_pop($basket);
$this->session->set("basket", $basket);
foreach($basket as $item){
printf("<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
"basket_action_remove",
$item,
$item,
Kohana::lang('common.basket-remove', $item),
url::base(),
pnp::shorten($item)
);
foreach ($basket as $item) {
printf(
"<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
"basket_action_remove",
$item,
$item,
Kohana::lang('common.basket-remove', $item),
url::base(),
pnp::shorten($item)
);
}
}elseif($action == "remove"){
} elseif ($action == "remove") {
$received_token = $_POST['csrf_token'];
$token = Security::token();
if (!Security::check($received_token, $token)) {
echo "CSRF Token invalid";
return false;
}
$basket = $this->session->get("basket");
$item_to_remove = $_POST['item'];
$item_to_remove = htmlspecialchars($_POST['item']);
$new_basket = array();
foreach($basket as $item){
if($item == $item_to_remove){
foreach ($basket as $item) {
if ($item == $item_to_remove) {
continue;
}
$new_basket[] = $item;
}
$basket = $new_basket;
$this->session->set("basket", $basket);
foreach($basket as $item){
printf("<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
"basket_action_remove",
$item,
$item,
Kohana::lang('common.basket-remove', $item),
url::base(),
pnp::shorten($item)
);
foreach ($basket as $item) {
printf(
"<li class=\"ui-state-default %s\" id=\"%s\"><a title=\"%s\" id=\"%s\"><img width=12px height=12px src=\"%smedia/images/remove.png\"></a>%s</li>\n",
"basket_action_remove",
$item,
$item,
Kohana::lang('common.basket-remove', $item),
url::base(),
pnp::shorten($item)
);
}
}elseif($action == "clear"){
} elseif ($action == "clear") {
$this->session->delete("basket");
}else{
} else {
echo "Action $action not known";
}
$basket = $this->session->get("basket");
if(is_array($basket) && sizeof($basket) == 0){
if (is_array($basket) && empty($basket)) {
echo Kohana::lang('common.basket-empty');
}else{
} else {
echo "<div align=\"center\" class=\"p2\">\n";
echo "<button id=\"show\">".Kohana::lang('common.basket-show')."</button>\n";
echo "<button id=\"clear\">".Kohana::lang('common.basket-clear')."</button>\n";
echo "<button id=\"show\">" . Kohana::lang('common.basket-show') . "</button>\n";
echo "<button id=\"clear\">" . Kohana::lang('common.basket-clear') . "</button>\n";
echo "</div>\n";
}
}
}