KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /domains/compasssysweb/calendar/CalciumDir39/Operation/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/compasssysweb/calendar/CalciumDir39/Operation/OperationFactory.pm
# Copyright 1999-2003, Fred Steinberg, Brown Bear Software

package OperationFactory;
use strict;

use Calendar::Defines;
use Operation::Operation;

my %Operations = (AddEvent            => 'None',
                  AdminAddIns         => 'Admin',
                  AdminAddInsAdmin    => 'Admin',
                  AdminAuditing       => 'Admin',
                  AdminCategories     => 'Admin',
                  AdminColors         => 'Admin',
                  AdminColorsAlternate => 'Admin',
                  AdminDeleteEvents   => 'Admin',
                  AdminDisplay        => 'Admin',
                  AdminExport         => 'View',
                  AdminFonts          => 'Admin',
                  AdminGeneral        => 'Admin',
                  AdminHeader         => 'Admin',
                  AdminImport         => 'Add',
                  AdminInclude        => 'Admin',
                  AdminMail           => 'Admin',
                  AdminPage           => 'Admin',
                  AdminPageUser       => 'View',
                  AdminSecurity       => 'Admin',
                  AdminSubscriptions  => 'Admin',
                  AdminTimePeriods    => 'Admin',
                  ApproveEvents       => 'Edit',
                  CreateCalendar      => 'Admin',
                  ColorPalette        => 'None',
                  DayView             => 'View',
                  DeleteCalendar      => 'Admin',
                  EmailSelector       => 'Add',
                  EventEditDelete     => 'Edit',
                  EventFilter         => 'View',
                  EventNew            => 'Add',
                  EventReplace        => 'Edit',
                  iCalSubscribe       => 'View',
                  OptionSubscribe     => 'View',
                  PopupWindow         => 'View',
                  PrintView           => 'View',
                  RenameCalendar      => 'Admin',
                  SearchForm          => 'View',
                  SearchPerform       => 'View',
                  SelectCalendar      => 'None',
                  ShowDay             => 'View',
                  ShowIt              => 'View',
                  ShowMultiAddEvent   => 'None', # perms checked in there
                  Splash              => 'None',
                  SysAdminPage        => 'Admin',
                  SysGroups           => 'Admin',
                  SysGroupsOneGroup   => 'Admin',
                  SysGroupsOneCal     => 'Admin',
                  SysMail             => 'Admin',
                  SysMailReminder     => 'Admin',
                  SysMaintenance      => 'Admin',
                  SysSecurity         => 'Admin',
                  SysUsers            => 'Admin',
                  SysUserSecurity     => 'Admin',
                  TextFilter          => 'View',
                  TripleSync          => 'None', # perms checked in there
                  UserLogin           => 'None',
                  UserLogout          => 'None',
                  UserOptions         => 'None',
                  vCalEventExport     => 'View'
                 );

# Create a new Operation, not a new OperationFactory
sub create {
    my $factoryClassName = shift;
    my ($className, $paramHash, $user) = @_;
    $className =~ /^(\w+)$/;    # untaint
    $className = $1;            #         it
    my $type = $Operations{$className};
    return unless $type;
    eval "require Operation::$className";
    die "Couldn't find Operation::$className\n" if $@;
    my $newObject = $className->new ($paramHash, $type, $user);
    $newObject;
}

sub getOpType {
    my $classname = shift;
    my $opName = shift;
    die "Bad Operation '$opName' to getOpType()\n" unless $Operations{$opName};
    return $Operations{$opName};
}

1;

Anon7 - 2021