package MySQLApplication @ISA = qw() sub DBMName return shift->{DBMName}; sub SQLServer return shift->{DBServer}; sub SQLUser return shift->{DBUser}; sub SQLPassword return shift->{DBPassword}; sub DBName return shift->{DBName}; sub DBTableName return shift->{DBTableName}; sub DB return shift->{DB}; sub SetDB sub SetDB { my($this,$DB) = return $this->{DB} = $DB; sub BEGIN sub new my ($module, $app) = @_; # $this->SUPER::new( return $this; sub DESTROY my $this = shift; # $this->SUPER::DESTROY( sub MergeDBVars my ($this, $pParams) = @_; return if(!$DB); return if($this->{nDidMergeDBVars} > 0 and $pParams->{DoNotAllowDBVariables}); return if(!$DB->IsExistTable($pParams->{DBName}, $pParams->{DBVariablesTableName})); sub GetSearchedDBHash my ($App, $DBTableName, $condition) = @_; return \%Hash; sub GetSearchedDBValue my ($App, $DBTableName, $condition, $Field) = @_; return $Hash{$Field}; sub GetUniqueElements my ($App, $DBTableName, $condition, $Field, $separator, $NotUseDISTINCT) = @_; return sort keys %List; sub GetDBConfig my ($this, $idx, $pDBConfigArray) = @_; sub FindDBConfig my ($this, $conf) = @_; return undef if(!$lDBConfigName); return undef; sub OpenDB my ($this, $config, $pDBConfigArray) = @_; return (undef); return (undef); return (undef); return (undef) if(!$DB or !$DB->dbh()); return ($DB, $DBConfigName, $DBMName, $DBServer, $DBUser, $DBPassword, $DBName, @$pTableNames); sub DuplicateDB my ($this) = @_; sub nHit my ($App, $db) = @_; return 0 if(!$db); return $db->nHit(); sub GetNextHit my ($App, $db) = @_; return () if(!$db); return $db->GetNextHit(); sub ConstructSQL1 my ($App, $pParams, $key0, $target0, $pTargetHash) = @_; return $sql0; sub ConstructSQLAll my ($App, $pParams, $pHash, $OtherCondition, $pTargetHash, $pOrderArray) = (@_); return $sql; sub CanDBVariable my ($this, $VarName, $pNoDBVarNames) = @_; return 0 if($VarName =~ /$pNoDBVarNames->[$i]/); return 1; sub SearchDBVariables my ($App, $condition, $vars, $DBVariablesTableName) = @_; return 0 if(!$DB); return if(!$DB->IsExistTable($pParams->{DBName}, $DBVariablesTableName)); return -1 if($ret <= 0); return $DB->rows(); sub GetDBVar my ($this, $pParams, $VarName, $DefVar, $DBName, $DBVariablesTableName) = @_; return if($this->{nDidMergeDBVars} > 0 and $pParams->{DoNotAllowDBVariables}); return if(!$DB); return if(!$DB->IsExistTable($DBName, $DBVariablesTableName)); return $Hash{Value} if(defined $Hash{Value}); return $DefVar; sub GetDBListVar my ($App, $varname, $separator) = @_; return Utils::Split($separator, $value); sub SearchUsers my ($App, $condition, $vars, $DBUsersTableName) = @_; return -1 if($ret <= 0); return $App->DB()->rows(); sub MergeName my ($App, $FirstName, $LastName) = @_; return $Name; sub SplitName my ($App, $Name) = @_; return ('', $Name) if($Name eq ''); return ($FirstName, $LastName);