Ejemplo n.º 1
0
function get_devices_by_group()
{
    $app = \Slim\Slim::getInstance();
    $router = $app->router()->getCurrentRoute()->getParams();
    $status = 'error';
    $code = 404;
    $count = 0;
    $name = urldecode($router['name']);
    $devices = array();
    if (empty($name)) {
        $message = 'No device group name provided';
    } else {
        $group_id = dbFetchCell("SELECT `id` FROM `device_groups` WHERE `name`=?", array($name));
        $devices = GetDevicesFromGroup($group_id, true);
        $count = count($devices);
        if (empty($devices)) {
            $message = 'No devices found in group ' . $name;
        } else {
            $message = "Found {$count} in group {$name}";
            $code = 200;
        }
    }
    $output = array('status' => $status, 'message' => $message, 'count' => $count, 'devices' => $devices);
    $app->response->setStatus($code);
    $app->response->headers->set('Content-Type', 'application/json');
    echo _json_encode($output);
}
Ejemplo n.º 2
0
/**
 * Update the device-group relationship for the given group id
 * @param $group_id
 */
function UpdateDeviceGroup($group_id)
{
    $queried_devices = QueryDevicesFromGroup($group_id);
    $db_devices = GetDevicesFromGroup($group_id);
    // compare the arrays to get the added and removed devices
    $added_devices = array_diff($queried_devices, $db_devices);
    $removed_devices = array_diff($db_devices, $queried_devices);
    // insert new devices
    $insert = array();
    foreach ($added_devices as $device_id) {
        $insert[] = array('device_id' => $device_id, 'device_group_id' => $group_id);
    }
    if (!empty($insert)) {
        dbBulkInsert($insert, 'device_group_device');
    }
    // remove old devices
    if (!empty($removed_devices)) {
        dbDelete('device_group_device', '`device_group_id`=? AND `device_id` IN (?)', array($group_id, array(implode(',', $removed_devices))));
    }
}
Ejemplo n.º 3
0
     $sql_param[] = $vars['disabled'];
 }
 if (!empty($vars['ignore'])) {
     $where .= " AND `ignore`= ?";
     $sql_param[] = $vars['ignore'];
 }
 if (!empty($vars['location']) && $vars['location'] == "Unset") {
     $location_filter = '';
 }
 if (!empty($vars['location'])) {
     $location_filter = $vars['location'];
 }
 if (!empty($vars['group'])) {
     require_once '../includes/device-groups.inc.php';
     $where .= " AND ( ";
     foreach (GetDevicesFromGroup($vars['group']) as $dev) {
         $where .= "device_id = ? OR ";
         $sql_param[] = $dev;
     }
     $where = substr($where, 0, strlen($where) - 3);
     $where .= " )";
 }
 $query = "SELECT * FROM `devices` WHERE 1 ";
 if (isset($where)) {
     $query .= $where;
 }
 $query .= " ORDER BY hostname";
 $row = 1;
 foreach (dbFetchRows($query, $sql_param) as $device) {
     if (is_integer($row / 2)) {
         $row_colour = $list_colour_a;
Ejemplo n.º 4
0
}
if (!empty($_POST['ignore'])) {
    $sql .= ' AND `ignore`= ?';
    $param[] = $_POST['ignore'];
}
if (!empty($_POST['location']) && $_POST['location'] == 'Unset') {
    $location_filter = '';
}
if (!empty($_POST['location'])) {
    $sql .= " AND `location` = ?";
    $param[] = $_POST['location'];
}
if (!empty($_POST['group'])) {
    include_once '../includes/device-groups.inc.php';
    $sql .= ' AND ( ';
    foreach (GetDevicesFromGroup($_POST['group']) as $dev) {
        $sql .= '`devices`.`device_id` = ? OR ';
        $param[] = $dev;
    }
    $sql = substr($sql, 0, strlen($sql) - 3);
    $sql .= ' )';
}
$count_sql = "SELECT COUNT(`devices`.`device_id`) {$sql}";
$total = dbFetchCell($count_sql, $param);
if (empty($total)) {
    $total = 0;
}
if (!isset($sort) || empty($sort)) {
    $sort = '`hostname` DESC';
}
$sql .= " ORDER BY {$sort}";