use warnings;
use Carp (qw(confess));
+use Exporter;
=head1 NAME
use Onis::Data::Core qw#get_all_nicks nick_to_ident ident_to_nick get_main_nick register_plugin#;
use Onis::Data::Persistent;
+@Onis::Plugins::Core::EXPORT_OK = (qw(get_core_nick_counters get_sorted_nicklist));
+@Onis::Plugins::Core::ISA = ('Exporter');
+
our $NickLinesCounter = Onis::Data::Persistent->new ('NickLinesCounter', 'nick',
qw(
lines00 lines01 lines02 lines03 lines04 lines05 lines06 lines07 lines08 lines09 lines10 lines11
our $QuoteCache = {}; # Saves per-nick information without any modification
our $QuoteData = {}; # Is generated before output. Nicks are merged according to Data::Core.
-our $NickData = {}: # Same as above, but for nicks rather than quotes.
+our $NickData = {}; # Same as above, but for nicks rather than quotes.
+our $SortedNicklist = [];
our @H_IMAGES = qw#dark-theme/h-red.png dark-theme/h-blue.png dark-theme/h-yellow.png dark-theme/h-green.png#;
our $QuoteCacheSize = 10;
{
@counter = qw(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0);
}
- $counter[$hour]++
+ $counter[$hour]++;
$NickLinesCounter->put ($nick, @counter);
@counter = $NickWordsCounter->get ($nick);
print $fh " <th>$trans</th>\n",
" </tr>\n";
- for (sort
+ @$SortedNicklist = sort
{
$NickData->{$b}{"${sort_field}_total"} <=> $NickData->{$a}{"${sort_field}_total"}
- } (@nicks))
+ } (@nicks);
+
+ @nicks = ();
+
+ for (@$SortedNicklist)
{
my $nick = $_;
my $ident = nick_to_ident ($nick);
$total = $NickData->{$nick}{'chars_total'};
}
- my $title = $realname;
+ my $title = $name ? get_realname ($name) : '';
if (!$title)
{
$title = "User: $name; " if ($name);
return ($retval);
}
+=head1 EXPORTED FUNCTIONS
+
+=over 4
+
+=item B<get_core_nick_counters> (I<$nick>)
+
+Returns a hash-ref that containes all the nick-counters available. It looks
+like this:
+
+ {
+ lines => [qw(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)],
+ words => [qw(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)],
+ chars => [qw(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)],
+ lines_total => 0,
+ words_total => 0,
+ chars_total => 0
+ }
+
+=cut
+
+sub get_core_nick_counters
+{
+ my $nick = shift;
+
+ if (!defined ($NickData->{$nick}))
+ {
+ return ({});
+ }
+
+ return ($NickData->{$nick});
+}
+
+=item B<get_sorted_nicklist> ()
+
+Returns an array-ref that containes all nicks, sorted by the field given in the
+config-file.
+
+=cut
+
+sub get_sorted_nicklist
+{
+ return ($SortedNicklist);
+}
+
+=back
+
=head1 AUTHOR
Florian octo Forster, E<lt>octo at verplant.orgE<gt>