#!/usr/bin/perl
#
#Copyright (c) 2001-2004 cPanel, Inc.
#Copyright (c) 2004 Lifeless People Networks.
#
#This auto install script, "install" is hereinafter referred to as the "Software."  No other parts of this package
#will be considered, infered or implied to be part of the the "Software."
#
#Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
#documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
#rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
#permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
#The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
#Software.
#
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
#WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
#COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
#OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
############################################################################################
#PostNuke Open Installer CORE1 by http://www.openinstaller.com/
#
#See http://www.openinstaller.com/ for the latest updates to this installer.
############################################################################################
                                                                                                                             
BEGIN {
	push(@INC,"/usr/local/cpanel");
}

use SafeFile;
require '/scripts/regsrep.pl';

#VARIBLES
my $domain = '%domain%';
my $installpath = '%installpath%';
my $modulename = '%modulename%';
my $modulepath = '%modulepath%';
my $homedir = '%homedir%';
my $user = '%user%';
my $installdir = '%installdir%';
my $publichtml = '%public_html%';
my $sqldb = '%sqldb%';
my $sqluser = '%sqluser%';
my $sqlpass = '%sqlpass%';
my $sqlserver = '%sqlhost%';
my $username = '%username%';
my $password = '%password%';

print "We are installing in $installdir...\n";

require Digest::MD5;
$md5 = Digest::MD5->new;
$md5->add($password);
$hashedpass = $md5->hexdigest;

regsrep("$installdir/pkg/phoenix-sql/install_admin.sql",'admin',"INSERT INTO `nuke_users` VALUES (2, 'PNukeAdmin', '$username', 'postnuke@example.com', '', 'http://www.postnuke.com', 'blank.gif', '1101000368', '', '', '', '', '', 0, 0, '', '', '', '$hashedpass', 10, '', 0, 0, 0, '', 0, '', '', 4096, 0, 12.0);");

system("mysql -u${sqluser} -p${sqlpass} ${sqldb} < $installdir/pkg/phoenix-sql/install_pnuke.sql");

system("mysql -u${sqluser} -p${sqlpass} ${sqldb} < $installdir/pkg/phoenix-sql/install_admin.sql");

system("mv $installdir/pkg/html/* $installdir/");

regsrep("$installdir/config.php",'pnconfig\[\'dbhost\'\]',"\$pnconfig['dbhost'] = '$sqlserver';");
regsrep("$installdir/config.php",'pnconfig\[\'dbuname\'\]',"\$pnconfig['dbuname'] = '$sqluser';");
regsrep("$installdir/config.php",'pnconfig\[\'dbpass\'\]',"\$pnconfig['dbpass'] = '$sqlpass';");
regsrep("$installdir/config.php",'pnconfig\[\'dbname\'\]',"\$pnconfig['dbname'] = '$sqldb';");
unlink("$installdir/config.php.tmpeditlib");
system("rm","-rf","$installdir/pkg/");

if (hasphpsuexec() eq "0") {
system("chmod","-R","0777","$installdir/pmTemp");
}

print "<b>Complete!</b>\n";

print "<br>You can access your new PostNuke installation at: <a href=\"http://$domain$installpath/\">http://${domain}${installpath}/</a><br>\n";
print "<br>Here is your administrator login information:\n";
print "<br><b>Administrator Username: $username</b>\n";
print "<br><b>Administrator Password: $password</b>\n";
print "<br><br>\n";


sub hasphpsuexec {
        my $hasphpsuexec = 0;
        open(SUEXEC,"<","/usr/local/apache/bin/suexec");
        while(<SUEXEC>) {
                if (/php /i) {
                        $hasphpsuexec = 1;
                }
        }
        close(SUEXEC);
        return($hasphpsuexec);
}
