package MyCGIApplication @ISA = qw() @ISA = qw() sub Sendmail my ($this) = @_; return $this->{sendmailPath} if(defined $this->{sendmailPath} or $this->{sendmailPath} ne ''); return $this->{sendmail} if(defined $this->{sendmail} or $this->{sendmail} ne ''); return $DefaultSendmail; sub SetSendmail sub SetSendmail { my ($this,$s)= return $this->{sendmail} = $s; sub IsAdministrator sub IsAdministrator { return shift->MyAuthApplication::IsAdministrator( return shift->MyAuthApplication::IsAdministrator(@_); sub IsPrivilegedIPAddress sub IsPrivilegedIPAddress { return shift->MyAuthApplication::IsPrivilegedIPAddress( return shift->MyAuthApplication::IsPrivilegedIPAddress(@_); sub Debug my ($App) = @_; return 0 if($App->pParams()->{DoNotAllowDebugMode}); return $App->{Debug} if(defined $App->{Debug}); return 0; return $Debug; sub SetDebug my ($App, $d) = @_; return $App->{Debug} = 0 if($App->pParams() and $App->pParams()->{DoNotAllowDebugMode}); return $App->{Debug} = $d; sub GetTemplatePath my ($this, $dir, $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, $pTemplateFileTemplates, %arg) = @_; return undef; return $path; sub GetMailTemplatePath my ($this, $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, %arg) = @_; return ''; return $this->GetTemplatePath("Mail", $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, undef, %arg); sub GetHTMLTemplatePath my ($this, $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, %arg) = @_; return $this->GetTemplatePath("HTML", $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, undef, %arg); sub GetFileTemplatePath my ($this, $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, %arg) = @_; return $this->GetTemplatePath("File", $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, undef, %arg); sub GetConfigurationPath my ($this, $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, %arg) = @_; return $this->GetTemplatePath("Configuration", $FileNameTemplate, $IsPrint, $EditLinkLabel, $EditTemplatePrivilege, undef, %arg); sub GetMailTemplatePath_old my ($this, $FileNameTemplate, $CheckExistense) = @_; return '' if(!$this->pParams()->{SendMail}); return undef; return $path; sub GetHTMLTemplatePath_old my ($this, $FileNameTemplate, $CheckExistense) = @_; return undef; return $path; sub GetPhrase my ($App, $phrase, $code) = @_; return $w; sub ReadPhrases my ($App, $pParams) = @_; return $App->{pPhrasesHash} if(defined $App->{pPhrasesHash}); return $App->ReadPhraseFile($pParams, $path); sub ReadPhraseFile my ($App, $pParams, $path) = @_; return {}; return $App->{pPhrasesHash} = $phash; sub ShowEditTemplateLink my ($App, $pParams, $path, $Label, $Privilege) = @_; return if(!$App->HasPrivilege($Privilege, 0)); return $path; sub ShowFileLink my ($App, $pParams, $FilePath, $FileName, $Label, $Action, $Option, $pre, $post) = @_; sub BuildPreregistrationCode my ($App, $sn, $email) = @_; return $date . $sn . int(rand(1000)) . $email; sub BuildRegistrationCode my ($sn, $email) = @_; return $date . $sn . int(rand(1000)) . $email; sub WeekdayString my ($iwday) = @_; return $wday[$iwday]; sub new my ($module, %args) = @_; # $this->SUPER::new( return $this; sub DESTROY my $this = shift; $this->SUPER::DESTROY( sub Initialize my ($this, %args) = @_; return $this->{LastError} = "-1: Application Initialize Error"; return $this->{LastError} = "-2: ReadArgs Error"; return $this->{LastError} = "-3: OpenDB Error"; return 1; sub ReadIniFile my ($App, $pParams, $IniPath, $section, $pHash) = @_; return 0 if(!-e $IniPath); return 0 if(!$in); return $pHash; sub MergeCategory my ($App, @category) = @_; return $str; sub ShowMenu my ($App, $pParams, $EMail, $Password) = @_; return if($pParams->{NoMenu} or $pParams->{DoNotShowMenu}); return if($pParams->{Action} =~ /^NoLogon\w+::\w+$/); sub ShowSubMenu my ($App, $pParams, $SubMenuFunc) = @_; return 0 if($SubMenuFunc eq ''); sub Execute2 my ($App, $pParams, $Action) = @_; return; sub Execute my ($this, $pParams) = @_; my $App = $this; if(ref $pParams ne 'HASH') { ($this, $App, $pParams) = @_; return; sub ExtendMenu my ($this, $App, $pParams) = @_; return; return; sub ShrinkMenu my ($this, $App, $pParams) = @_; return; return; sub GetMenuString my ($this, $pModule, $pParams, $ProgramPath, $BaseOption, $pre, $post) = @_; return $s; sub UpdateParams my ($this, $pParams) = @_; return $pParams; sub BuildParameterHash my ($this) = @_; return $this->{pParams} if($this->{pParams}); return $this->{pParams} = {}; sub CheckPeriod my ($App, $time, $start, $end) = @_; return -1 if($time < $start); return 1 if($end < $time); return 0; sub GetDate return $year, $mon, $mday, $wday; sub GetFirstWday my ($App, $yyyy, $mm) = @_; return Utils::GetFirstWday($yyyy, $mm); sub TimeStrToIntForSchedule my ($this, $timestr) = @_; return $timestr if($timestr =~ /^-(\d+)$/); return -1 if($timestr == -1 or $timestr =~ /\*/ or $timestr eq ''); return -2 if($timestr == -2 or $timestr =~ /\?/); return -2; return -1; return $timestr * 60; return $1*60 + $3; return -1; sub HourTimeStrToMiniteTime my ($this, $timestr) = @_; return -1 if($timestr eq '' or $timestr eq '*' or $timestr < 0); return $timestr * 60; return $h * 60 + $m; return ''; sub TimeStrToTime my ($this, $datestr) = @_; return '' if($datestr eq ''); return $datestr; return $timeint; sub TimeStrToInt my ($this, $timestr) = @_; return $this->TimeStrToTime($timestr); sub TimeStrToIntForConference2 my ($this, $timestr) = @_; return $timestr; return Utils::LocalTimeToTime($1, $2, $3, 0, 0, 0); return Utils::LocalTimeToTime($1, $2, $3, $4, $5, $6); return Utils::LocalTimeToTime($1, $2, $3, $4, $5, 0); return Utils::LocalTimeToTime($year, $mon, $mday, $hour, $min, 0); return -1; sub IntToTimeStr my($this, $timeint) = return '*' if($timeint == -1); return '?' if($timeint == -2); return "$hour:$minute"; sub IntToTimeStrForSchedule my($this, $timeint) = return '*' if($timeint == -1); return '?' if($timeint == -2); return "$hour:$minute"; sub ConvertCSVString my ($this, $pParams, $content, $convert, $CSVCharCode, $SourceCharCode) = @_; return $content; sub SendNotificationForPrivilegedAccess my ($this, $SendNotificationForPrivilegedAccess) = @_; my $pParams = $this->pParams(); if(ref $SendNotificationForPrivilegedAccess eq 'HASH') { ($this, $pParams, $SendNotificationForPrivilegedAccess) = @_; return $SendNotificationForPrivilegedAccess; sub SendNotificationForPrivilegedAccess_old my ($this, $App, $pParams) = @_; return $pParams->{SendMail} and $pParams->{SendNotificationForPrivilegedAccess}; sub SendNotificationForPrivilegedAccessMail my ($this, $App, $pParams0, $pNotSendNotificationForPrivilegedAccessHash, $DBTableName, $MailTemplateKey) = @_; return if(!$App->SendNotificationForPrivilegedAccess()); return if($pNotSendNotificationForPrivilegedAccessHash->{$pParams0->{Action}}); return if(!$DB); sub SendNotificationForPrivilegedAccessMail_old my ($this, $App, $pParams) = @_; sub ShowLogonPage my ($this, $App, $pParams) = @_; sub ShowUserInformation my ($this, $App, $pParams) = @_; return if(!$App->HasPriviledge('ShowParameters', 1));