Example #1
0
 /**
  * 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));
 }
Example #2
0
/**
 * 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;
}