+sub channels : Local {
+ my ( $self, $c, $order ) = @_;
+ my $dbh = $c->model;
+
+ if ($order ~~ /(alliance)/){
+ $order = "lower($1) ASC";
+ }elsif ($order ~~ /(coords)/){
+ $order = "x,y,z";
+ }else{
+ $order = 'channel';
+ }
+
+ my $query = $dbh->prepare(q{
+SELECT pid AS id,coords(x,y,z),nick,channel,alliance FROM current_planet_stats
+WHERE channel <> '' and channel IS NOT NULL
+ORDER BY } . $order
+ );
+ $query->execute;
+ $c->stash(planets => $query->fetchall_arrayref({}) );
+}
+