mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	* Remove auth use of $_SESSION Will break plugins that depend on $_SESSION, Weathermap was already fixed. Port them to use Auth::check()/Auth::user()/Auth:id() * revert accidental replacement
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/*
 | 
						|
 * LibreNMS
 | 
						|
 *
 | 
						|
 * Copyright (c) 2014 Neil Lathwood <https://github.com/laf/ http://www.lathwood.co.uk/fa>
 | 
						|
 *
 | 
						|
 * This program is free software: you can redistribute it and/or modify it
 | 
						|
 * under the terms of the GNU General Public License as published by the
 | 
						|
 * Free Software Foundation, either version 3 of the License, or (at your
 | 
						|
 * option) any later version.  Please see LICENSE.txt at the top level of
 | 
						|
 * the source code distribution for details.
 | 
						|
 */
 | 
						|
 | 
						|
if (!Auth::user()->hasGlobalAdmin()) {
 | 
						|
    header('Content-type: text/plain');
 | 
						|
    die('ERROR: You need to be admin');
 | 
						|
}
 | 
						|
 | 
						|
$template_id = $vars['template_id'];
 | 
						|
$template_edit = is_numeric($template_id) && $template_id > 0;
 | 
						|
 | 
						|
$rules = [];
 | 
						|
$output = array(
 | 
						|
    'template'  => '',
 | 
						|
    'name'      => '',
 | 
						|
    'title'     => '',
 | 
						|
    'title_rec' => '',
 | 
						|
    'type'      => '',
 | 
						|
    'rules'     => $rules,
 | 
						|
);
 | 
						|
 | 
						|
if ($template_edit) {
 | 
						|
    $template = dbFetchRow('SELECT * FROM `alert_templates` WHERE `id` = ? LIMIT 1', [$template_id]);
 | 
						|
    $output = [
 | 
						|
        'template'  => $template['template'],
 | 
						|
        'name'      => $template['name'],
 | 
						|
        'title'     => $template['title'],
 | 
						|
        'title_rec' => $template['title_rec'],
 | 
						|
        'type'      => $template['type']
 | 
						|
    ];
 | 
						|
}
 | 
						|
 | 
						|
foreach (dbFetchRows("SELECT `id`,`rule`,`name` FROM `alert_rules`", []) as $rule) {
 | 
						|
    $is_selected = $template_edit ? dbFetchCell("SELECT `alert_templates_id` FROM `alert_template_map` WHERE `alert_rule_id` = ? AND `alert_templates_id` = ?", [$rule['id'], $template_id]) : null;
 | 
						|
    $is_available = dbFetchCell("SELECT `alert_templates_id` FROM `alert_template_map` WHERE `alert_rule_id` = ?", [$rule['id']]);
 | 
						|
    $rules[] = [
 | 
						|
        'id' => $rule['id'],
 | 
						|
        'name' => $rule['name'],
 | 
						|
        'selected' => isset($is_selected),
 | 
						|
        'used' => isset($is_available) ? dbFetchCell("SELECT `name` FROM `alert_templates` WHERE `id` = ?", [$is_available]) : '',
 | 
						|
    ];
 | 
						|
}
 | 
						|
$output['rules'] = $rules;
 | 
						|
 | 
						|
header('Content-type: application/json');
 | 
						|
echo _json_encode($output);
 |