package NDWeb;
-
-use strict;
-use warnings;
+use Moose;
+use namespace::autoclean;
use Catalyst::Runtime 5.80;
# directory
use parent qw/Catalyst/;
+
use Catalyst qw/
-Debug
ConfigLoader
Static::Simple
- Unicode
Authentication
Authentication::Store::NDWeb
Session::Store::File
Session::State::Cookie
- Compress::Gzip
- Compress::Deflate
-
Cache
PageCache
/;
+extends 'Catalyst';
+
our $VERSION = '0.01';
+$VERSION = eval $VERSION;
sub signal_bots {
system 'killall','-USR1', 'ndbot.pl';
}
+#$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 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-$>/session",
directory_umask => 077,
expires => 300,
verify_address => 1,
+ cookie_secure => 2,
});
-__PACKAGE__->config( cache => {
+__PACKAGE__->config( "Plugin::Cache" => {
backend => {
class => "Cache::FileCache",
cache_root => "/tmp/ndweb-$>",
});
__PACKAGE__->config( default_model => 'Model');
+__PACKAGE__->config( encoding => 'UTF-8');
# Start the application
__PACKAGE__->setup();
__PACKAGE__->deny_access_unless('/users',[qw/admin_users/]);
+__PACKAGE__->allow_access_if('/users/sms',[qw/users_sms/]);
+__PACKAGE__->allow_access_if('/users/postsms',[qw/users_sms/]);
__PACKAGE__->deny_access_unless('/alliances',[qw/alliances/]);
__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__->allow_access_if('/members/postowncoords',[qw/attack_menu/]);
__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('/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/]);