package DatabaseObject
@ISA = qw()
sub Name
return $ModuleName;
sub Explanation
return $ModuleExplanation;
sub Privileges
return "$Privilege,$DownloadPrivilege,$ShowPasswordPrivilege";
sub new
my ($module, $modulename, $privilege, $downloadprivilege, $minimumpasttime) = @_;
# $this->SUPER::new(
return $this;
sub DESTROY
my $this = shift;
$this->SUPER::DESTROY(
sub GetLinkString
my ($this, $App, $pParams, $key, $pHash, $label, $target, $dir, $filename, $path, $NextAction) = @_;
return "$label";
return "{ScriptPath}?Action=$key&sn=$pHash->{sn}&$Option\" target=\"$target\">$label";
return "Error in ConfApp3::GetLinkString: Invalid key [$key]";
sub GetParameterHash
my ($this) = @_;
return {};
sub IsOpen
my ($this, $App, $pParams, $IsPrint) = @_;
return $App->HasPrivilege($Privilege, $IsPrint);
return 1 if($App->HasPrivilege($Privilege, $IsPrint));
return 1 if($App->HasPrivilege('DownloadDBDump', $IsPrint));
return 0;
sub CanDownload
my ($this, $App, $pParams, $IsPrint) = @_;
return $App->HasPrivilege($DownloadPrivilege, $IsPrint);
sub ShowMenu
my ($this, $App, $pParams, $ProgramPath, $BaseOption) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
sub ShowSubMenu
my ($this, $App, $pParams, $ShowMenu) = @_;
return $this->ShowPage($App, $pParams, $ShowMenu);
sub ShowPage
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
return if(!$CanDBManage and !$CanDownloadDBDump);
sub DownloadBackupCSV
my ($this, $App, $pParams) = @_;
return if(!$App->HasPrivilege('DownloadDBDump', 1));
return if(!$this->IsOpen($App, $pParams));
sub ShowBackupCSVPage
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams) and !$App->HasPrivilege('DownloadDBDump', 0));
return if(!$this->IsOpen($App, $pParams));
return if(!$this->CanDownload($App, $pParams));
sub DownloadDBDumpFile
my ($this, $App, $pParams) = @_;
return if(!$App->HasPrivilege('DownloadDBDump', 0));
return if(!$this->CanDownload($App, $pParams));
sub ExecuteDBDump
my ($this, $App, $pParams, $IsPrint, $CheckPeriod) = @_;
return;
return -1 if(!$this->IsOpen($App, $pParams, $IsPrint) and !$CanExecuteDBDump);
return -2;
return -3 if($diff < $MinimumPastTime);
return;
return 1;
sub ShowDBStructureDumpPage
my ($this, $App, $pParams) = @_;
sub ShowDBDumpPage
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams) or $App->HasPrivilege('DownloadDBDump', 0));
return if(!$this->CanDownload($App, $pParams));
return if(!$App->HasPrivilege('ManageDB', 1) and !$App->HasPrivilege('DownloadDBDump', 1));
return;
sub ShowUpdateActiveAccountPage
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams));
sub RemoveNULLPassword
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams));
sub ShowRemoveNULLPasswordPage
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams));
sub ExecuteSQL
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
return if(!defined $ret);
sub AddSchedules
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams));
sub ShowAddSchedulesPage
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
return;
sub OpenDB
my ($this, $App, $pParams, $DBMName, $DBServer, $DBUser, $DBPassword, $DBName, $IsPrint) = @_;
return undef;
return $DB;
sub ExecuteSimpleSQLPage
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
return if(!$DB);
return if(!defined $ret);
sub ShowSimpleSQLPage
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
return;
sub ShowDatabaseInfPage
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams));
sub ShowSQLPage
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
sub ShowMySQLTips
my ($this, $App, $pParams, $ShowMenu) = @_;
sub ShowDBDataPage
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
sub ShowDatabaseEditForm
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
sub DatabaseStructures
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
sub DatabaseStructuresByDESC
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
sub ShowSyncDBPage
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));
return;
sub Sync
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams));
return;
return;
sub SynchronizeDBs
my ($this, $App, $pParams, $SourceDB, $TargetDB, $UsersTableName, $ScheduleTableName, $MessageTableName) = @_;
sub CorrectCharCode
my ($this, $App, $pParams, $ShowMenu) = @_;
return if(!$this->IsOpen($App, $pParams));