cleanup.php 5.67 KB
Newer Older
dmorley's avatar
dmorley committed
1
<?php
2 3
require_once __DIR__ . '/config.php';

4
$dbh = pg_connect("dbname=$pgdb user=$pguser password=$pgpass");
5 6
$dbh || die('Error in connection: ' . pg_last_error());

dmorley's avatar
dmorley committed
7
$sql    = "SELECT domain,masterversion,shortversion,softwarename,monthsmonitored,score,signup,secure,name,country,city,state,lat,long,uptime_alltime,active_users_halfyear,active_users_monthly,service_facebook,service_twitter,service_tumblr,service_wordpress,service_xmpp,responsetime,dateupdated,ipv6,total_users,local_posts,comment_counts,statsurl,userrating,sslvalid FROM pods WHERE score < 50 ORDER BY weightedscore";
8
$result = pg_query($dbh, $sql);
9 10
$result || die('Error in SQL query: ' . pg_last_error());

noplanman's avatar
noplanman committed
11
$numrows = pg_num_rows($result);
dmorley's avatar
dmorley committed
12
?>
noplanman's avatar
noplanman committed
13

14
<meta property="og:title" content="<?php echo $numrows; ?> #Diaspora Pods listed, Come see the privacy aware social network."/><?php echo $numrows; ?> pods that are open for signup now.
dmorley's avatar
dmorley committed
15 16
<meta charset="utf-8">
<!-- /* Copyright (c) 2011, David Morley. This file is licensed under the Affero General Public License version 3 or later. See the COPYRIGHT file. */ -->
David Morley's avatar
David Morley committed
17
<table id="myTable" class="table table-striped table-sm tablesorter table-hover tfont">
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
  <thead>
  <tr>
    <th>Pod<a class="tipsy" title="A pod is a site for you to set up your account.">?</a></th>
    <th>Version<a class="tipsy" title="Version of Diaspora this pod runs">?</a></th>
    <th>Uptime<a class="tipsy" title="Percent of the time the pod is online for <?php echo date('F') ?>.">?</a></th>
    <th>ms</th>
    <th>Signups</th>
    <th>Total<a class="tipsy" title="Number of total users on this pod.">?</a></th>
    <th>Active 6<a class="tipsy" title="Number of users active last 6 months on this pod.">?</a></th>
    <th>Active 1<a class="tipsy" title="Number of users active last 1 month on this pod.">?</a></th>
    <th>Posts<a class="tipsy" title="Number of total posts on this pod.">?</a></th>
    <th>Comm<a class="tipsy" title="Number of total comments on this pod.">?</a></th>
    <th>Month<a class="tipsy" title="How many months has this pod been online? Click number for more history.">?</a>
    </th>
    <th>Sc<a class="tipsy" title="System Score on a 100 scale">?</a></th>
    <th>conn<a class="tipsy" title="">?</a></th>
    <th>Delete?<a class="tipsy" title="Delete this pod from DB?">?</a></th>
  </tr>
  </thead>
  <tbody>
  <?php
noplanman's avatar
noplanman committed
39
  $tt = 0;
40
  while ($row = pg_fetch_array($result)) {
noplanman's avatar
noplanman committed
41
    $tt++;
42
    if ($row['secure'] === 't') {
noplanman's avatar
noplanman committed
43
      $scheme = 'https://';
44 45 46
      $class  = 'green';
      $tip    = 'This pod uses SSL encryption for traffic.';
    } else {
noplanman's avatar
noplanman committed
47
      $scheme = 'http://';
48 49 50 51
      $class  = 'red';
      $tip    = 'This pod does not offer SSL';
    }
    $verdiff = str_replace('.', '', $row['masterversion']) - str_replace('.', '', $row['shortversion']);
dmorley's avatar
dmorley committed
52

53 54 55 56 57
    $pod_name = htmlentities($row['name'], ENT_QUOTES);
    $tip .= sprintf(
      "\n" . '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 -20 to +20 this pod is a %6$s right now',
      $pod_name,
      $row['monthsmonitored'],
58
      $row['responsetime'],
dmorley's avatar
dmorley committed
59
      $row['uptime_alltime'],
60 61 62
      $row['dateupdated'],
      $row['score']
    );
dmorley's avatar
dmorley committed
63

noplanman's avatar
noplanman committed
64
    echo '<tr><td><a class="' . $class . '" target="_self" href="' . $scheme . $row['domain'] . '">' . $row['domain'] . '<div title="' . $tip . '" class="tipsy" style="display: inline-block">?</div></a></td>';
dmorley's avatar
dmorley committed
65

66 67 68 69 70 71 72 73 74 75
    if (stristr($row['shortversion'], 'head')) {
      $version = '.dev';
      $pre     = 'This pod runs pre release development code';
    } elseif (!$row['shortversion']) {
      $version = '0';
      $pre     = 'This pod runs unknown code';
    } else {
      $version = $row['shortversion'];
      $pre     = 'This pod runs production code';
    }
noplanman's avatar
noplanman committed
76
    if ($row['shortversion'] === $row['masterversion'] && $row['shortversion'] !== '') {
77 78 79 80 81 82
      $classver = 'green';
    } elseif ($verdiff > 6) {
      $classver = 'red';
    } else {
      $classver = 'black';
    }
83
    echo '<td class="' . $classver . '"><div title="' . $pre . ' codename: ' . $row['shortversion'] . ' master version is: ' . $row['masterversion'] . '" class="tipsy">' . $version . '</div></td>';
dmorley's avatar
dmorley committed
84
    echo '<td>' . $row['uptime_alltime'] . '</td>';
85
    echo '<td>' . $row['responsetime'] . '</td>';
86
    echo '<td>' . ($row['signup'] === 't' ? 'Open' : 'Closed') . '</td>';
87 88 89 90 91
    echo '<td>' . $row['total_users'] . '</td>';
    echo '<td>' . $row['active_users_halfyear'] . '</td>';
    echo '<td>' . $row['active_users_monthly'] . '</td>';
    echo '<td>' . $row['local_posts'] . '</td>';
    echo '<td>' . $row['comment_counts'] . '</td>';
dmorley's avatar
dmorley committed
92 93
    if (strpos($row['statsurl'], 'pingdom.com')) {
      $moreurl = $row['statsurl'];
94
    } else {
dmorley's avatar
dmorley committed
95
      $moreurl = 'https://api.uptimerobot.com/getMonitors?format=json&customUptimeRatio=7-30-60-90&apiKey=' . $row['statsurl'];
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
    }
    echo '<td><div title="Last Check ' . $row['dateupdated'] . '" class="tipsy"><a target="_self" href="' . $moreurl . '">' . $row['monthsmonitored'] . '</a></div></td>';
    echo '<td>' . $row['score'] . '</td>';
    echo '<td><div class="tipsy" title="' . $row['sslvalid'] . '">con info </td>';
    ?>
    <td>
      <form method="post" action="db/kill.php" target="_blank">
        <input name="comments" value="<?php echo $row['sslvalid']; ?>" size=10>
        <input name="domain" value="<?php echo $row['domain']; ?>" type="hidden">
        <input name="adminkey" value="<?php echo $_COOKIE['adminkey']; ?>" type="hidden">
        <input name="action" type="radio" value="warn">warn
        <input name="action" type="radio" value="delete">delete
        <input type="submit" value="Process">
      </form>
    </td>
    <?php
    echo '</td></tr>';
  }
  pg_free_result($result);
  pg_close($dbh);
  ?>
  </tbody>
dmorley's avatar
dmorley committed
118
</table>