| | 36 | |
|---|
| | 37 | $fcc = new featurecode($modulename, 'dnd_toggle'); |
|---|
| | 38 | $dnd_code = $fcc->getCodeActive(); |
|---|
| | 39 | unset($fcc); |
|---|
| | 40 | |
|---|
| | 41 | // Create hints context for DND codes so a device can subscribe to the DND state |
|---|
| | 42 | // |
|---|
| | 43 | if ($amp_conf['USEDEVSTATE'] && $dnd_code != '') { |
|---|
| | 44 | $ext->addInclude('from-internal-additional','ext-dnd-hints'); |
|---|
| | 45 | $contextname = 'ext-dnd-hints'; |
|---|
| | 46 | $device_list = core_devices_list("all", false, true); |
|---|
| | 47 | foreach ($device_list as $device) { |
|---|
| | 48 | $ext->add($contextname, $dnd_code.$device['id'], '', new ext_goto("1",$dnd_code,"app-dnd-toggle")); |
|---|
| | 49 | $ext->addHint($contextname, $dnd_code.$device['id'], "Custom:DEVDND".$device['id']); |
|---|
| | 50 | } |
|---|
| | 51 | } |
|---|
| | 52 | |
|---|
| 51 | | $ext->add($id, $c, '', new ext_setvar('DEVSTATE(Custom:DND${AMPUSER})', 'BUSY')); // $cmd,n,Set(...=YES) |
|---|
| | 70 | $ext->add($id, $c, '', new ext_setvar('STATE', 'BUSY')); |
|---|
| | 71 | $ext->add($id, $c, '', new ext_gosub('1', 'sstate')); |
|---|
| | 75 | if ($amp_conf['USEDEVSTATE']) { |
|---|
| | 76 | $c = 'sstate'; |
|---|
| | 77 | $ext->add($id, $c, '', new ext_setvar('DEVSTATE(Custom:DND${AMPUSER})', '${STATE}')); |
|---|
| | 78 | $ext->add($id, $c, '', new ext_dbget('DEVICES','AMPUSER/${AMPUSER}/device')); |
|---|
| | 79 | $ext->add($id, $c, '', new ext_gotoif('$["${DEVICES}" = "" ]', 'return')); |
|---|
| | 80 | $ext->add($id, $c, '', new ext_setvar('LOOPCNT', '${FIELDQTY(DEVICES,&)}')); |
|---|
| | 81 | $ext->add($id, $c, '', new ext_setvar('ITER', '1')); |
|---|
| | 82 | $ext->add($id, $c, 'begin', new ext_setvar('DEVSTATE(Custom:DEVDND${CUT(DEVICES,&,${ITER})})','${STATE}')); |
|---|
| | 83 | $ext->add($id, $c, '', new ext_setvar('ITER', '$[${ITER} + 1]')); |
|---|
| | 84 | $ext->add($id, $c, '', new ext_gotoif('$[${ITER} <= ${LOOPCNT}]', 'begin')); |
|---|
| | 85 | $ext->add($id, $c, 'return', new ext_return()); |
|---|
| | 86 | } |
|---|
| 70 | | $ext->add($id, $c, '', new ext_setvar('DEVSTATE(Custom:DND${AMPUSER})', 'NOT_INUSE')); // $cmd,n,Set(...=YES) |
|---|
| | 102 | $ext->add($id, $c, '', new ext_setvar('STATE', 'NOT_INUSE')); |
|---|
| | 103 | $ext->add($id, $c, '', new ext_gosub('1', 'sstate')); |
|---|
| | 107 | if ($amp_conf['USEDEVSTATE']) { |
|---|
| | 108 | $c = 'sstate'; |
|---|
| | 109 | $ext->add($id, $c, '', new ext_setvar('DEVSTATE(Custom:DND${AMPUSER})', '${STATE}')); |
|---|
| | 110 | $ext->add($id, $c, '', new ext_dbget('DEVICES','AMPUSER/${AMPUSER}/device')); |
|---|
| | 111 | $ext->add($id, $c, '', new ext_gotoif('$["${DEVICES}" = "" ]', 'return')); |
|---|
| | 112 | $ext->add($id, $c, '', new ext_setvar('LOOPCNT', '${FIELDQTY(DEVICES,&)}')); |
|---|
| | 113 | $ext->add($id, $c, '', new ext_setvar('ITER', '1')); |
|---|
| | 114 | $ext->add($id, $c, 'begin', new ext_setvar('DEVSTATE(Custom:DEVDND${CUT(DEVICES,&,${ITER})})','${STATE}')); |
|---|
| | 115 | $ext->add($id, $c, '', new ext_setvar('ITER', '$[${ITER} + 1]')); |
|---|
| | 116 | $ext->add($id, $c, '', new ext_gotoif('$[${ITER} <= ${LOOPCNT}]', 'begin')); |
|---|
| | 117 | $ext->add($id, $c, 'return', new ext_return()); |
|---|
| | 118 | } |
|---|
| 98 | | $ext->add($id, $c, '', new ext_setvar('DEVSTATE(Custom:DND${AMPUSER})', 'NOT_INUSE')); |
|---|
| | 144 | $ext->add($id, $c, '', new ext_setvar('STATE', 'NOT_INUSE')); |
|---|
| | 145 | $ext->add($id, $c, '', new ext_gosub('1', 'sstate')); |
|---|
| | 146 | //$ext->add($id, $c, '', new ext_setvar('DEVSTATE(Custom:DND${AMPUSER})', 'NOT_INUSE')); |
|---|
| | 150 | if ($amp_conf['USEDEVSTATE']) { |
|---|
| | 151 | $c = 'sstate'; |
|---|
| | 152 | $ext->add($id, $c, '', new ext_setvar('DEVSTATE(Custom:DND${AMPUSER})', '${STATE}')); |
|---|
| | 153 | $ext->add($id, $c, '', new ext_dbget('DEVICES','AMPUSER/${AMPUSER}/device')); |
|---|
| | 154 | $ext->add($id, $c, '', new ext_gotoif('$["${DEVICES}" = "" ]', 'return')); |
|---|
| | 155 | $ext->add($id, $c, '', new ext_setvar('LOOPCNT', '${FIELDQTY(DEVICES,&)}')); |
|---|
| | 156 | $ext->add($id, $c, '', new ext_setvar('ITER', '1')); |
|---|
| | 157 | $ext->add($id, $c, 'begin', new ext_setvar('DEVSTATE(Custom:DEVDND${CUT(DEVICES,&,${ITER})})','${STATE}')); |
|---|
| | 158 | $ext->add($id, $c, '', new ext_setvar('ITER', '$[${ITER} + 1]')); |
|---|
| | 159 | $ext->add($id, $c, '', new ext_gotoif('$[${ITER} <= ${LOOPCNT}]', 'begin')); |
|---|
| | 160 | $ext->add($id, $c, 'return', new ext_return()); |
|---|
| | 161 | } |
|---|