<?php
/*****************************************************************
 * Copyright (c) 2017 Eclipse Foundation and others.
 *
 * This program and the accompanying materials are made available
 * under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *****************************************************************/
require_once(dirname(__FILE__) . "/../../eclipse.org-common/system/app.class.php");

require_once(dirname(__FILE__) . '/../classes/IPZilla.class.inc');
require_once(dirname(__FILE__) . '/../classes/common.php');
require_once(dirname(__FILE__) . '/../classes/debug.php');

$App = new App();

mustBeEclipseFoundationCaller();

header("Content-type: application/json");

$ipzilla = IPZilla::getInstance();

$output = json_encode($ipzilla->asArray(), JSON_PRETTY_PRINT);
if ($output === false) echo json_last_error_msg();

echo $output;
?>
