FWS-V2
view release on metacpan or search on metacpan
lib/FWS/V2/Admin.pm view on Meta::CPAN
my ( $self, $moduleName ) = @_;
my $errorReturn;
if ( !$self->{FWSScriptCheck}->{registerPlugins} ) { $errorReturn .= '<li>Your script file is missing $fws->registerPlugins(); this should be added.</li>' }
if ( $errorReturn ) { $errorReturn = '<ul>' . $errorReturn . '</ul>' }
return $errorReturn;
}
sub _checkIfModuleInstalled {
my ( $self, $moduleName ) = @_;
my $errorReturn;
## no critic
eval "use " . $moduleName;
## use critic
if ( $@ ) {
my $bump;
if ($moduleName eq "Google::SAML::Response") { $bump = $moduleName . " is used for Single Sign On Google Apps integration. If your not using this website for Google SSO then you will not need this." }
if ($moduleName eq "Crypt::SSLeay") { $bump = $moduleName . " is used for secure transactions to payment gateways. If your not using eCommerce real time payment gateways this module may not be necessary." }
if ($moduleName eq "Captcha::reCAPTCHA") { $bump = $moduleName . " is used for captcha support. If you are not using captchas for human form postings validation then this is not required." }
if ($moduleName eq "Crypt::Blowfish") { $bump = $moduleName . " is used to encrypt tranasactional data. If your not using eCommerce real time payment gateways this module may not be necessary." }
$errorReturn .= "<ul><li>" . $moduleName . " Perl module missing. Your site may not run correctly without it. " . $bump . "<br/><br/><ul><li>To install it if you have shell access you can do the following:<br/>server prompt> cpan<br/>CPAN> i...
return $errorReturn;
}
sub _systemInfoCheckDir {
my ( $self, $newDir ) = @_;
my $errorReturn;
my $documentRoot = $ENV{DOCUMENT_ROOT};
my $scriptFilename = $ENV{SCRIPT_FILENAME};
if ( !-e $newDir ) {
if ( $newDir =~ /\/fws/ ) {
if ( !$self->{hideFWSCoreUpgrade} ) {
$errorReturn .= "Your core element and file package is not installed yet.<br/>";
$errorReturn .= '<a href="' . $self->{scriptName} . '?p=fws_systemInfo&pageAction=installCore">Click here to install your core element and file package</a><br/>';
$errorReturn .= '<i>Depending on your connection speed and server performance, your page may take a few minutes to load after clicking the link below.</i>';
}
}
else {
$errorReturn .= "<ul><li>The directory '" . $newDir . "' does not exist";
$self->makeDir( $newDir );
if ( !-e $newDir ) {
$errorReturn .= ". The webserver does not have permissions to create this directory.<br/>Create this directory by hand, and make it web server writable. <ul><li>Sometimes large ISP might have complex directories. Usually it will mat...
}
else {
$errorReturn .= ', but was created automaticly.</br> <a href="' . $self->{scriptName} . '?p=fws_systemInfo">Click here to continue system health check</a>';
}
}
$errorReturn .= "</li></ul><br/>";
}
else {
if ( !$self->_testDirWritePermission( $newDir ) ) {
$errorReturn .= "<ul><li>The directory '" . $newDir . "' is not web server writable.<br/>";
$errorReturn .= "<ul><li>Usually this means changing your file permissions for this directly using: chmod 755 " . $newDir . "</li><li>chmod style permissions can also be done though web based server administration programs or even FTP if ...
$errorReturn .= "</li></ul><br/>";
}
}
return $errorReturn;
}
sub _testDirWritePermission {
my ( $self, $testFile ) = @_;
$testFile .= "/testfile.tmp";
open ( my $FILE, ">", $testFile );
print $FILE "TEST FILE";
close $FILE;
if ( -e $testFile ) {
unlink $testFile;
return 1;
}
return 0;
}
sub _sessionInfo {
my ( $self, %paramHash ) = @_;
my %returnHash;
( $returnHash{total} ) = @{$self->runSQL( SQL => "select count(1) from fws_sessions" )};
( $returnHash{1} ) = @{$self->runSQL( SQL => "select count(1) from fws_sessions where created < '" . $self->formatDate( format => 'SQL', monthMod=>-1 ) . "'" )};
( $returnHash{3} ) = @{$self->runSQL( SQL => "select count(1) from fws_sessions where created < '" . $self->formatDate( format => 'SQL', monthMod=>-3 ) . "'" )};
return %returnHash;
}
sub _importAdmin {
my ($self,$adminFile) = @_;
my $removeCore = 0;
my $keepAlive = 500;
if ( $adminFile eq 'current_core' ) {
$removeCore = 1;
$keepAlive = 0;
}
return $self->importSiteImage(
newSID => "fws",
imageURL => "http://www.frameworksites.com/downloads/fws_" . $self->{FWSVersion} . "/" . $adminFile . ".fws",
removeCore => $removeCore,
parentSID => "admin",
keepAlive => $keepAlive,
);
}
sub _installZipcode {
my ( $self ) = @_;
#
# make stdout hot! and start sending to browser
#
local $| = 1;
print $self->_installHeader( 'Zipcode' );
$self->runSQL(SQL=>"delete from zipcode");
print "<br/>Downloading and Installing";
( run in 0.805 second using v1.01-cache-2.11-cpan-71847e10f99 )