#!/usr/bin/perl use warnings; use strict; use CGI; use OpenGuides::Config; use OpenGuides::CGI; use OpenGuides::Utils; use OpenGuides::Template; use URI::Escape; sub process_moderated; sub list_moderated; my $config_file = $ENV{OPENGUIDES_CONFIG_FILE} || "wiki.conf"; my $config = OpenGuides::Config->new( file => $config_file ); my $wiki = OpenGuides::Utils->make_wiki_object( config => $config ); my $cgi = CGI->new(); print "Content-Type: text/html\n\n"; print "OpenGuides moderation"; print "OpenGuides moderation

\n"; if ($cgi->param('process')) { process_moderated($cgi->param('process'), $cgi->param('version')); } else { list_moderated; } sub process_moderated($$) { my $node = shift; my $version = shift; my $dbh = $wiki->store->dbh; my $sth = $dbh->prepare("UPDATE metadata AS m INNER JOIN node AS n ON ". "(m.node_id = n.id) SET m.metadata_value = ? ". "WHERE m.metadata_type = ? and n.name = ? and ". "m.version = ?"); $sth->execute(0, "moderated", $node, $version); print "Hopefully we updated that. Now ". "do some more!\n"; print ""; } sub list_moderated { my @nodes = $wiki->list_nodes_by_metadata( metadata_type => "moderated", metadata_value => 1 ); if (scalar(@nodes) == 0) { print "Nothing to moderate, hurrah!\n"; } else { print "Below is a list of nodes waiting to be moderated\n"; print "