/** * Save Machine Group * * @return void * @author **/ function save_machine_group() { if (isset($_POST['groupid'])) { $machine_group = new Machine_group(); $groupid = $_POST['groupid']; // Empty groupid: create new if ($groupid === '') { $mg = new Machine_group(); $groupid = $mg->get_max_groupid() + 1; } $out['groupid'] = intval($groupid); foreach ($_POST as $property => $val) { // Skip groupid if ($property == 'groupid') { continue; } // Update business unit membership if ($property == 'business_unit') { $bu = new Business_unit(); $bu->retrieve_one("property='machine_group' AND value=?", $_POST['groupid']); $bu->unitid = $val; $bu->property = 'machine_group'; $bu->value = $_POST['groupid']; $bu->save(); $out['business_unit'] = intval($val); continue; } if (is_scalar($val)) { if ($val) { $machine_group->id = ''; $machine_group->retrieve_one('groupid=? AND property=?', array($groupid, $property)); $machine_group->groupid = $groupid; $machine_group->property = $property; $machine_group->value = $val; $machine_group->save(); $out[$property] = $val; } else { $machine_group->delete_where('groupid=? AND property=?', array($groupid, $property)); } } else { $out['error'] = 'Unknown input: ' . $property; } } // Put key in array (for future purposes) if (isset($out['key'])) { $out['keys'][] = $out['key']; unset($out['key']); } } else { $out['error'] = 'Groupid is missing'; } $obj = new View(); $obj->view('json', array('msg' => $out)); }
/** * Lookup group id for passphrase * * @return integer group id * @author AvB **/ function passphrase_to_group($passphrase) { $machine_group = new Machine_group(); if ($machine_group->retrieve_one('property=? AND value=?', array('key', $passphrase))) { return $machine_group->groupid; } return 0; }