-my $input = new CGI;
-my $op = $input->param('op') || '';
-my $source_code = $input->param('class_source');
-my $rule_code = $input->param('sort_rule');
-my $sort_routine = $input->param('sort_routine');
-my ($template, $loggedinuser, $cookie)
- = get_template_and_user({template_name => "admin/classsources.tt",
- query => $input,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => {parameters => 'parameters_remaining_permissions'},
- debug => 1,
- });
-
-$template->param(script_name => $script_name);
-$template->param($op => 1) if $op;
-my $description = $input->param('description');
-my $used = $input->param('used');
-my $display_lists = 0;
-if ($op eq "add_source") {
- add_class_source_form($template);
-} elsif ($op eq "add_source_confirmed") {
- add_class_source($template,
- $source_code,
- $description,
- $used eq "used" ? 1 : 0,
- $rule_code);
- $display_lists = 1;
-} elsif ($op eq "delete_source") {
- delete_class_source_form($template, $source_code);
-} elsif ($op eq "delete_source_confirmed") {
- delete_class_source($template, $source_code);
- $display_lists = 1;
-} elsif ($op eq "edit_source") {
- edit_class_source_form($template, $source_code);
-} elsif ($op eq "edit_source_confirmed") {
- edit_class_source($template,
- $source_code,
- $description,
- $used eq "used" ? 1 : 0,
- $rule_code);
- $display_lists = 1;
-} elsif ($op eq "add_sort_rule") {
- add_class_sort_rule_form($template);
-} elsif ($op eq "add_sort_rule_confirmed") {
- add_class_sort_rule($template,
- $rule_code,
- $description,
- $sort_routine);
- $display_lists = 1;
-} elsif ($op eq "delete_sort_rule") {
- delete_sort_rule_form($template, $rule_code);
-} elsif ($op eq "delete_sort_rule_confirmed") {
- delete_sort_rule($template, $rule_code);
- $display_lists = 1;
-} elsif ($op eq "edit_sort_rule") {
- edit_class_sort_rule_form($template, $rule_code);
-} elsif ($op eq "edit_sort_rule_confirmed") {
- edit_class_sort_rule($template,
- $rule_code,
- $description,
- $sort_routine);
- $display_lists = 1;
-} else {
- $display_lists = 1;
-}
-
-if ($display_lists) {
- $template->param(display_lists => 1);
- class_source_list($template);
- class_sort_rule_list($template);
-}
-
-output_html_with_http_headers $input, $cookie, $template->output;
+my $input = CGI->new;
+my $op = $input->param('op') || 'list';
+my $cn_source = $input->param('cn_source');
+my $class_sort_rule = $input->param('class_sort_rule');
+my $class_split_rule = $input->param('class_split_rule');
+my $sort_routine = $input->param('sort_routine');
+my $split_routine = $input->param('split_routine');
+my @split_regex = $input->multi_param('split_regex');
+my $description = $input->param('description');
+my $used = $input->param('used');
+
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+ {
+ template_name => "admin/classsources.tt",
+ query => $input,
+ type => "intranet",
+ flagsrequired => { parameters => 'manage_classifications' },
+ }
+);