function ajax_client_update()
 {
     $nv = new H2NVStore();
     $clientIdentifier = $_POST['id'];
     $clientSettings = $nv->get($clientIdentifier);
     $clientSettings[$_POST['key']] = $_POST['value'];
     $nv->set($clientIdentifier, $clientSettings);
 }
<?php

echo $this->_getSubmenu2('groups');
?>
<ul><?php 
$GLOBALS['pagetitle'] = 'Device Groups';
if ($_POST['name']) {
    H2NVStore::set('group/' . $_POST['name'], array());
}
if ($_REQUEST['remove']) {
    db()->get('DELETE FROM nvstore WHERE nv_key = ?', array('group/' . $_REQUEST['remove']));
}
foreach (o(db)->get('SELECT * FROM nvstore 
  WHERE nv_key LIKE "group/%"
  ORDER BY nv_key') as $g) {
    $gname = substr($g['nv_key'], 6);
    ?>
<li><a href="<?php 
    echo actionUrl('group', 'devices', array('id' => $gname));
    ?>
">
    <?php 
    echo htmlspecialchars($gname);
    ?>
    </a> &nbsp; 
    | <a href="<?php 
    echo actionUrl('groups', 'devices', array('remove' => $gname));
    ?>
">delete</a>
  </li><?php 
}
<?php

echo $this->_getSubmenu2();
?>

<h1>Settings for <?php 
echo htmlspecialchars($_REQUEST['id']);
?>
 <span id="saveStatus"></span></h1>

<?php 
$nv = new H2NVStore();
$clientIdentifier = $_REQUEST['id'];
$clientSettings = $nv->get($clientIdentifier);
?>
<h2>Client Name 
<input type="text" value="<?php 
echo htmlspecialchars($clientSettings['name']);
?>
"
  onchange="updateSetting('name', $(this).val());"/>
</h2>

<h2>Show Rooms</h2><?php 
foreach ($this->devices as $dtype => $dt) {
    ?>
<input type="checkbox" 
    onclick="updateSetting('hide<?php 
    echo $dtype;
    ?>
', $(this).is(':checked') ? 0 : 1);"
<h1 style="font-size: 120%;"><?php 
echo htmlspecialchars($_REQUEST['id']);
?>
</h1>
<?php 
$group = H2NVStore::get('group/' . $_REQUEST['id']);
if ($_POST['cmd'] == 'change') {
    if ($_REQUEST['inGroup'] == 'Y') {
        $group[] = $_REQUEST['device'];
    } else {
        $idx = array_search($_REQUEST['device'], $group);
        if ($idx !== false) {
            unset($group[$idx]);
        }
    }
    H2NVStore::set('group/' . $_REQUEST['id'], $group);
    die;
}
$evt = new H2Event();
$prevRoom = '';
foreach (db()->get('SELECT * FROM devices WHERE d_visible = "Y" AND d_room != "unknown" ORDER BY d_room,d_name') as $ds) {
    if ($prevRoom != $ds['d_room']) {
        print '<h2 style="margin:0;padding-top: 8px;">' . htmlspecialchars($ds['d_room']) . '</h2>';
        $prevRoom = $ds['d_room'];
    }
    ?>
<div>
    <input type="checkbox" id="c_<?php 
    echo $ds['d_key'];
    ?>
" 
Exemple #5
0
 function handleSelectLine($line, $data, $doSelect = true)
 {
     $idx = $this->getAllDevices();
     foreach ($data['fnParams'] as $select) {
         if ($select == 'ALL') {
             if ($doSelect) {
                 $data['select'] = array();
             }
             foreach ($GLOBALS['allDevices'] as $k => $ds) {
                 $data['select'][$k] = $doSelect;
             }
         }
         if ($select == 'NONE') {
             if ($doSelect) {
                 $data['select'] = array();
             }
         }
         if ($select == 'OTHER') {
             foreach ($idx as $k => $ds) {
                 if (!isset($GLOBALS['log'][$k])) {
                     $data['select'][$k] = $doSelect;
                 }
             }
         } else {
             if (substr($select, 0, 4) == 'MAP=') {
                 CutSegment('=', $select);
                 $mapSelect = $this->resolve($select, $data);
                 $mappedDevice = $this->map[trim($mapSelect)];
                 $GLOBALS['log'][] = 'MAP>' . $select . '>' . $mapSelect . '>' . $mappedDevice;
                 if (isset($mappedDevice) && $mappedDevice != '') {
                     foreach ($idx as $k => $ds) {
                         if ($ds['d_key'] == $mappedDevice || $ds['d_alias'] == $mappedDevice || $ds['d_id'] == $mappedDevice) {
                             $data['select'][$k] = $doSelect;
                         }
                     }
                 }
             } else {
                 if (substr($select, 0, 5) == 'TYPE=') {
                     CutSegment('=', $select);
                     foreach ($idx as $k => $ds) {
                         if ($ds['d_type'] == $select || $ds['d_bus'] . '-' . $ds['d_type'] == $select) {
                             $data['select'][$k] = $doSelect;
                         }
                     }
                 } else {
                     if (substr($select, 0, 6) == 'TYPE!=') {
                         CutSegment('=', $select);
                         foreach ($idx as $k => $ds) {
                             if ($ds['d_type'] != $select && $ds['d_bus'] . '-' . $ds['d_type'] != $select) {
                                 $data['select'][$k] = $doSelect;
                             }
                         }
                     } else {
                         if (substr($select, 0, 5) == 'SUBTYPE=') {
                             CutSegment('=', $select);
                             foreach ($idx as $k => $ds) {
                                 if ($ds['d_icon'] == $select || $ds['d_bus'] . '-' . $ds['d_icon'] == $select) {
                                     $data['select'][$k] = $doSelect;
                                 }
                             }
                         } else {
                             if (substr($select, 0, 6) == 'SUBTYPE!=') {
                                 CutSegment('=', $select);
                                 foreach ($idx as $k => $ds) {
                                     if ($ds['d_icon'] != $select && $ds['d_bus'] . '-' . $ds['d_icon'] != $select) {
                                         $data['select'][$k] = $doSelect;
                                     }
                                 }
                             } else {
                                 if (substr($select, 0, 4) == 'PRI=') {
                                     CutSegment('=', $select);
                                     foreach ($idx as $k => $ds) {
                                         if ($ds['d_priority'] == $select) {
                                             $data['select'][$k] = $doSelect;
                                         }
                                     }
                                 } else {
                                     if (substr($select, 0, 4) == 'PRI>') {
                                         CutSegment('>', $select);
                                         foreach ($idx as $k => $ds) {
                                             if ($ds['d_priority'] > $select) {
                                                 $data['select'][$k] = $doSelect;
                                             }
                                         }
                                     } else {
                                         if (substr($select, 0, 4) == 'PRI<') {
                                             CutSegment('<', $select);
                                             foreach ($idx as $k => $ds) {
                                                 if ($ds['d_priority'] < $select) {
                                                     $data['select'][$k] = $doSelect;
                                                 }
                                             }
                                         } else {
                                             if (substr($select, 0, 6) == 'GROUP=') {
                                                 CutSegment('=', $select);
                                                 $list = H2NVStore::get('group/' . $select);
                                                 foreach ($list as $deviceKey) {
                                                     $data['select'][$deviceKey] = $doSelect;
                                                 }
                                             } else {
                                                 if (substr($select, 0, 7) == 'GROUP!=') {
                                                     CutSegment('=', $select);
                                                     $list = array();
                                                     foreach (H2NVStore::get('group/' . $select) as $sl) {
                                                         $list[$sl] = true;
                                                     }
                                                     foreach ($idx as $k => $ds) {
                                                         if (!$list[$k]) {
                                                             $data['select'][$k] = $doSelect;
                                                         }
                                                     }
                                                 } else {
                                                     foreach ($idx as $k => $ds) {
                                                         if ($ds['d_key'] == $select || $ds['d_alias'] == $select || $ds['d_id'] == $select) {
                                                             $data['select'][$k] = $doSelect;
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $this->executeLine($data['line'], $data);
 }