Diaspora Pods IP Locations of Diaspora pods on {$_SERVER['HTTP_HOST']} EOF; $sql = "SELECT name,monthsmonitored,responsetime,uptime_alltime,dateupdated,score,secure,domain,country,lat,long FROM pods"; $result = pg_query($dbh, $sql); $result || die('Error in SQL query: ' . pg_last_error()); $numrows = pg_num_rows($result); while ($row = pg_fetch_array($result)) { $pod_name = htmlentities($row['name'], ENT_QUOTES); $summary = sprintf( 'This pod %1$s has been watched for %2$s months and its average ping time is %3$s with uptime of %4$s%% this month and was last checked on %5$s. On a score of 100 this pod is a %6$s right now', $pod_name, $row['monthsmonitored'], $row['responsetime'], $row['uptime_alltime'], $row['dateupdated'], $row['score'] ); $scheme = $row['secure'] === 't' ? 'https://' : 'http://'; echo << {$scheme}{$row['domain']} urn:{$row['domain']} Pod Location is: {$row['country']} {$summary} {$row['lat']} {$row['long']} {$row['domain']} EOF; } echo ''; } elseif ($_format === 'json') { $sql = 'SELECT id,domain,status,secure,score,userrating,adminrating,city,state,country,lat,long,ip,ipv6,statsurl,monthsmonitored,uptime_alltime,responsetime,local_posts,comment_counts,date_created,date_updated,date_laststats,hidden,terms,sslexpire,uptime_custom,dnssec,softwarename,total_users,local_posts,comment_counts,service_facebook,service_twitter,service_tumblr,service_wordpress,service_xmpp FROM pods'; $result = pg_query($dbh, $sql); $result || die('Error in SQL query: ' . pg_last_error()); //json output, thx Vipul A M for fixing this header('Content-type: application/json'); $numrows = pg_num_rows($result); $rows = array_values(pg_fetch_all($result)); $obj = [ 'podcount' => $numrows, 'pods' => $rows, ]; if ($_method === 'jsonp') { print $_callback . '(' . json_encode($obj) . ')'; } else { print json_encode($obj); } } else { $i = 0; $sql = "SELECT domain,uptime_alltime,country,status FROM pods"; $result = pg_query($dbh, $sql); $result || die('Error in SQL query: ' . pg_last_error()); $numrows = pg_num_rows($result); while ($row = pg_fetch_array($result)) { $i++ > 0 && print ','; printf( '%1$s is %2$s now - online %3$s%% This Month - Located in: %4$s', $row['domain'], $row['status'], $row['uptime_alltime'], $row['country'] ); } } pg_free_result($result); pg_close($dbh);