function get_zone_owner($zonename, $default) { if (!_valid_label($zonename)) { jtable_respond(null, 'error', "{$zonename} is not a valid zonename"); } $db = get_db(); $q = $db->prepare("SELECT u.emailaddress FROM users u, zones z WHERE z.owner = u.id AND z.zone = ?"); $q->bindValue(1, $zonename, SQLITE3_TEXT); $result = $q->execute(); $zoneinfo = $result->fetchArray(SQLITE3_ASSOC); $db->close(); if (isset($zoneinfo['emailaddress']) && $zoneinfo['emailaddress'] != null) { return $zoneinfo['emailaddress']; } return $default; }
jtable_respond(null, 'error', 'Could not create user'); } break; case "update": $emailaddress = isset($_POST['emailaddress']) ? $_POST['emailaddress'] : ''; $isadmin = isset($_POST['isadmin']) ? $_POST['isadmin'] : '0'; $password = isset($_POST['password']) ? $_POST['password'] : ''; if (!valid_user($emailaddress)) { jtable_respond(null, 'error', "Please only use ^[a-z0-9@_.-]+\$ for usernames"); } if (!user_exists($emailaddress)) { jtable_respond(null, 'error', 'Cannot update not existing user'); } if (update_user($emailaddress, $isadmin, $password)) { $result = array('emailaddress' => $emailaddress, 'isadmin' => $isadmin); jtable_respond($result, 'single'); } else { jtable_respond(null, 'error', 'Could not update user'); } break; case "delete": if (delete_user($_POST['id']) !== FALSE) { jtable_respond(null, 'delete'); } else { jtable_respond(null, 'error', 'Could not delete user'); } break; default: jtable_respond(null, 'error', 'Invalid action'); break; }