Beispiel #1
0
        echo '<li><a href="#', $group, '_activity">', $group, ' activity</a></li>';
    }
    echo '</ol></div>';
    // sections
    foreach ($engine->groups as $group => $v) {
        // filter users
        $matching = array_filter($data, function ($r) use($group) {
            return !!$r["user_has_{$group}"];
        });
        // print header
        echo "<h2 id='{$group}_activity'>{$group}s</h2>";
        if (!$matching) {
            echo "<div class='neutral'>No active {$group}s on this wiki.</div>";
            continue;
        }
        // print table
        $show_log = !!$engine->groups[$group];
        echo "<table class='pretty sortable' id='{$group}_metrics'><thead><tr><th>user</th><th>last edit</th>", $show_log ? "<th>last log action</th>" : "", "</tr></thead><tbody>";
        foreach ($matching as $row) {
            $name = $row["user_name"];
            $urlName = $backend->formatValue($name);
            $last_edit = $row["last_edit"];
            $last_log = $row["last_{$group}"];
            $domain = $engine->wiki->domain;
            echo "<tr>", "<td><a href='//{$domain}/wiki/User:{$name}' title='{$name}&#39;s user page'>{$name}</a> <small>[<a href='", $backend->url('/crossactivity/' . $urlName), "' title='scan this user&#39;s activity on all wikis'>all wikis</a>]</small></td>", color_cell($last_edit), $show_log ? color_cell($last_log) : '', "</tr>";
        }
        echo '</tbody></table>';
    }
    $backend->profiler->stop('analyze and output');
} while (0);
$backend->footer();
Beispiel #2
0
				<th>last log <small>(sysop)</small></th>
				<th>Local groups</th>
			</tr>
		</thead>
		<tbody>';
    foreach ($wikis as $wiki) {
        $dbname = $wiki->dbName;
        $domain = $wiki->domain;
        $family = $wiki->family;
        /* get data */
        $db->Connect($dbname);
        $id = $db->Query('SELECT user_id FROM user WHERE user_name=? LIMIT 1', array($user))->fetchValue();
        if ($id) {
            // groups
            $groups = $db->Query('SELECT GROUP_CONCAT(ug_group SEPARATOR ", ") FROM user_groups WHERE ug_user=?', array($id))->fetchValue();
            // edits
            $last_edit = $db->Query('SELECT DATE_FORMAT(rev_timestamp, "%Y-%m-%d %H:%i") FROM revision_userindex WHERE rev_user=? ORDER BY rev_timestamp DESC LIMIT 1', array($id))->fetchValue();
            // log actions
            $last_log_bur = $db->Query('SELECT DATE_FORMAT(log_timestamp, "%Y-%m-%d %H:%i") FROM logging_userindex WHERE log_user=? AND log_type IN ("makebot", "renameuser", "rights") ORDER BY log_timestamp DESC LIMIT 1', array($id))->fetchValue();
            $last_log_sys = $db->Query('SELECT DATE_FORMAT(log_timestamp, "%Y-%m-%d %H:%i") FROM logging_userindex WHERE log_user=? AND log_type IN ("block", "delete", "protect") ORDER BY log_timestamp DESC LIMIT 1', array($id))->fetchValue();
            // output
            if ($show_all || !empty($last_edit) || !empty($last_log_bur) || !empty($last_log_sys)) {
                echo '<tr>', '<td>', $family, '</td>', '<td>', link_domain($domain), '</td>', color_cell($last_edit), color_cell($last_log_bur), color_cell($last_log_sys), list_groups($groups), '</tr>';
            }
        }
        $db->dispose();
    }
    echo '</tbody></table>';
    echo '</div>';
} while (0);
$backend->footer();