mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	* Device group based access * Use Permissions class to resolve permissions Also give port access based on device access * Convert more pages to use Permissions class * shorten config setting name use Eloquent relationships in several places alphabetize config_definitions.json * Change Models and Permissions * Clean up ajax_search LIMIT sql * Convert more pages to use Permissions class Co-authored-by: Tony Murray <murraytony@gmail.com>
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
if (Auth::user()->hasGlobalRead()) {
 | 
						|
    $data['count']    = array( 'query' => 'SELECT COUNT(*) FROM services');
 | 
						|
    $data['up']       = array( 'query' => "SELECT COUNT(*) FROM services WHERE `service_ignore` = '0' AND `service_disabled` = '0' AND `service_status` = '0'");
 | 
						|
    $data['down']     = array( 'query' => "SELECT COUNT(*) FROM services WHERE `service_ignore` = '0' AND `service_disabled` = '0' AND `service_status` = '2'");
 | 
						|
    $data['ignored']  = array( 'query' => "SELECT COUNT(*) FROM services WHERE `service_ignore` = '1' AND `service_disabled` = '0'");
 | 
						|
    $data['disabled'] = array( 'query' => "SELECT COUNT(*) FROM services WHERE `service_disabled` = '1'");
 | 
						|
} else {
 | 
						|
    $device_ids = Permissions::devicesForUser()->toArray() ?: [0];
 | 
						|
    $perms_sql = "`S`.`device_id` IN " .dbGenPlaceholders(count($device_ids));
 | 
						|
 | 
						|
    $data['count'] = array(
 | 
						|
        'query'  => 'SELECT COUNT(*) FROM services AS S WHERE $perms_sql',
 | 
						|
        'params' => $device_ids
 | 
						|
    );
 | 
						|
 | 
						|
    $data['up'] = array(
 | 
						|
        'query'  => "SELECT COUNT(*) FROM services AS S WHERE $perms_sql AND S.`service_ignore` = '0' AND S.`service_disabled` = '0' AND S.`service_status` = '0'",
 | 
						|
        'params' => $device_ids
 | 
						|
    );
 | 
						|
 | 
						|
    $data['down'] = array(
 | 
						|
        'query'  => "SELECT COUNT(*) FROM services AS S WHERE $perms_sql AND S.`service_ignore` = '0' AND S.`service_disabled` = '0' AND S.`service_status` = '2'",
 | 
						|
        'params' => $device_ids
 | 
						|
    );
 | 
						|
 | 
						|
    $data['ignored'] = array(
 | 
						|
        'query'  => "SELECT COUNT(*) FROM services AS S WHERE $perms_sql AND S.`service_ignore` = '1' AND S.`service_disabled` = '0'",
 | 
						|
        'params' => $device_ids
 | 
						|
    );
 | 
						|
 | 
						|
    $data['disabled'] = array(
 | 
						|
        'query'  => "SELECT COUNT(*) FROM services AS S WHERE $perms_sql AND S.`service_disabled` = '1'",
 | 
						|
        'params' => $device_ids
 | 
						|
    );
 | 
						|
}//end if
 |