]> ruin.nu Git - ndwebbie.git/blobdiff - lib/NDWeb.pm
Update to be compatible with newer Catalyst.
[ndwebbie.git] / lib / NDWeb.pm
index 8d90ff45e167c51719f9fe06d21b309178822d65..63708aaa847df6a96dc7afbad1983d8ab373b5cb 100644 (file)
@@ -1,40 +1,74 @@
 package NDWeb;
+use Moose;
+use namespace::autoclean;
 
-use strict;
-use warnings;
-
-use Catalyst::Runtime '5.70';
+use Catalyst::Runtime 5.80;
 
 # Set flags and add plugins for the application
 #
 #         -Debug: activates the debug mode for very useful log messages
-#   ConfigLoader: will load the configuration from a YAML file in the
+#   ConfigLoader: will load the configuration from a Config::General file in the
 #                 application's home directory
-# Static::Simple: will serve static files from the application's root 
+# Static::Simple: will serve static files from the application's root
 #                 directory
 
 use parent qw/Catalyst/;
 
+use Catalyst qw/
+       -Debug
+       ConfigLoader
+       Static::Simple
+       Unicode::Encoding
+
+       Authentication
+       Authentication::Store::NDWeb
+       Authentication::Credential::Password
+
+       Authorization::Roles
+       Authorization::ACL
+
+       Session::DynamicExpiry
+       Session
+       Session::Store::File
+       Session::State::Cookie
+
+       Cache
+       PageCache
+/;
+
+extends 'Catalyst';
+
 our $VERSION = '0.01';
+$VERSION = eval $VERSION;
+
+sub signal_bots {
+       system 'killall','-USR1', 'ndbot.pl';
+}
 
-# Configure the application. 
+#$SIG{__WARN__} = sub { NDWeb->log->warn(@_); };
+
+# Configure the application.
 #
-# Note that settings in ndweb.yml (or other external
+# Note that settings in ndweb.conf (or other external
 # configuration file that you set up manually) take precedence
 # over this when using ConfigLoader. Thus configuration
 # details given here can function as a default configuration,
-# with a external configuration file acting as an override for
+# with an external configuration file acting as an override for
 # local deployment.
 
-__PACKAGE__->config( name => 'NDWeb' );
+__PACKAGE__->config(
+       name => 'NDWeb',
+       # Disable deprecated behavior needed by old applications
+       disable_component_resolution_regex_fallback => 1,
+);
 __PACKAGE__->config->{'Plugin::Authentication'}{'use_session'} = 1;
 __PACKAGE__->config(session => {
-       storage => "/tmp/ndweb-$>/sesession",
+       storage => "/tmp/ndweb-$>/session",
        directory_umask => 077,
        expires => 300,
        verify_address => 1,
 });
-__PACKAGE__->config( cache => {
+__PACKAGE__->config( "Plugin::Cache" => {
        backend => {
                class => "Cache::FileCache",
                cache_root => "/tmp/ndweb-$>",
@@ -49,33 +83,10 @@ __PACKAGE__->config( page_cache => {
        disable_index => 1,
 });
 
-
+__PACKAGE__->config( default_model => 'Model');
+__PACKAGE__->config( encoding => 'UTF-8');
 # Start the application
-__PACKAGE__->setup(qw/
-       -Debug
-       ConfigLoader
-       Static::Simple
-       Unicode
-
-       Authentication
-       Authentication::Store::NDWeb
-       Authentication::Credential::Password
-
-       Authorization::Roles
-       Authorization::ACL
-       
-       Session::DynamicExpiry
-       Session
-       Session::Store::File
-       Session::State::Cookie
-
-       Compress::Gzip
-       Compress::Deflate
-
-       Cache
-       PageCache
-       /);
-
+__PACKAGE__->setup();
 
 __PACKAGE__->deny_access_unless('/users',[qw/admin_users/]);
 __PACKAGE__->deny_access_unless('/alliances',[qw/alliances/]);
@@ -83,14 +94,19 @@ __PACKAGE__->deny_access_unless('/alliances/resources',[qw/alliances_resources/]
 __PACKAGE__->deny_access_unless('/graphs/alliancevsintel',[qw/graphs_intel/]);
 __PACKAGE__->deny_access_unless('/graphs/avgalliancevsintel',[qw/graphs_intel/]);
 __PACKAGE__->deny_access_unless('/members',[qw/members/]);
+__PACKAGE__->deny_access_unless('/members/defenders',[qw/members_defenders/]);
 __PACKAGE__->deny_access_unless('/covop',[qw/covop/]);
 __PACKAGE__->deny_access_unless('/calls',[qw/calls_edit/]);
 __PACKAGE__->allow_access_if('/calls/index',[qw/calls_list/]);
 __PACKAGE__->allow_access_if('/calls/list',[qw/calls_list/]);
 __PACKAGE__->allow_access_if('/calls/edit',[qw/members/]);
+__PACKAGE__->allow_access_if('/calls/findCall',[qw/members/]);
 __PACKAGE__->deny_access_unless('/raids',[qw/raids_edit/]);
 __PACKAGE__->allow_access_if('/raids/index',[qw//]);
 __PACKAGE__->allow_access_if('/raids/view',[qw//]);
+__PACKAGE__->allow_access_if('/raids/targetcalc',[qw//]);
+__PACKAGE__->allow_access_if('/raids/fleetcalc',[qw//]);
+__PACKAGE__->allow_access_if('/raids/calcredir',[qw//]);
 __PACKAGE__->allow_access_if('/raids/findRaid',[qw//]);
 __PACKAGE__->allow_access_if('/raids/log',[qw//]);
 __PACKAGE__->deny_access_unless('/intel',[qw/intel/]);
@@ -126,7 +142,7 @@ Catalyst developer
 
 =head1 LICENSE
 
-This library is free software, you can redistribute it and/or modify
+This library is free software. You can redistribute it and/or modify
 it under the same terms as Perl itself.
 
 =cut