403Webshell
Server IP : 208.122.213.31  /  Your IP : 216.73.216.45
Web Server : Apache
System : Linux msd6191.mjhst.com 4.18.0-553.137.1.el8_10.x86_64 #1 SMP Wed Jun 24 11:40:24 UTC 2026 x86_64
User : WHMCS_MIA_382 ( 1001)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/httpd/html/bukkake-mpegs.com/cgi-bin/tgp/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/httpd/html/bukkake-mpegs.com/cgi-bin/tgp/admin/setup.cgi
#!/usr/bin/perl
##############################
##  AutoGallery Pro v2.1.x  ##
#############################################################
##  setup.cgi - control variables for AutoGallery Pro      ##
#############################################################

BEGIN
{
    chdir('..');
}

use lib '.';
use cgiworks;

print "Content-type: text/html\n\n";
$HEADER = 1;

eval {
  require 'agp.pl';
  main();
};

err("$@", 'setup.cgi') if( $@ );
exit;

########################################################################
##  Removing the link back to JMB Software is a copyright violation.  ##
##  Altering or removing any of the code that is responsible, in      ##
##  any way, for generating that link is strictly forbidden.          ##
##  Anyone violating the above policy will have their license         ##
##  terminated on the spot.  Do not remove that link - ever.          ##
########################################################################

sub main
{
    derr(1024) if( !$RMTUSR );
    derr(1039) if( !dbselect("$DDIR/dbs/moderators", $RMTUSR) );
    diskspace();

    $TPL{VERSION} = $VERSION;

    if( $REQMTH eq 'GET' )
    {
        displayMain();
    }
    else
    {
        derr(1036) if( !hasAccess(6) );

        saveData();
    }
}



sub displayMain
{
    my @checkbox = qw(
                      USE_AUTO_APPROVE
                      USE_CONFIRM
                      USE_VERIFY_URLS
                      USE_BANNED_HTML
                      USE_REQ_RECIP
                      USE_CHECK_RECIP
                      USE_RECIP_GALLERY
                      USE_CHECK_DUPS
                      USE_REQ_DESC
                      USE_LOG_EMAIL
                      USE_ARCHIVES
                      USE_LOWER_CASE
                      USE_COUNT_PICS
                      USE_REJECT_300
                      USE_COUNT_LINKS
                      USE_PREVIEW
                      USE_FORCE_DIMS
                      USE_SELECT_THUMB
                      USE_RESIZE
                      USE_SHARPEN
                      USE_SHOW_CAT
                      USE_PASSPHRASE
                      );
  
    getDefaults();
  
    my $vars = freadall("$DDIR/vars.dat") if( -e "$DDIR/vars.dat" );

    for( @{ $vars } )
    {
        $_ =~ m/\$([^\s]+)\s+= '([^']*)'/;
        $TPL{$1} = $2;
    }

    for( @checkbox )
    {
        $TPL{$_} = getCheckBox( $_, $TPL{$_} );
    }

    $TPL{GD_MODULE}   = checkModule('GD');
    $TPL{IM_MODULE}   = checkModule('IM');
    $TPL{ARCH_METHOD} = getDisplay();

    fparse('_admin_setup.htmlt');
}



sub displayConfirm
{
    eval "use Time::HiRes;";

    $TPL{HIRES_TEST} = $@ ? '<font color="red">Not Found</font>' : '<font color="blue">Found</font>';
    $TPL{DDIR_TEST}  = directoryTest($DDIR);
    $TPL{HDIR_TEST}  = directoryTest($FRM{HTML_DIR});
    $TPL{TDIR_TEST}  = $FRM{'USE_PREVIEW'} ? directoryTest($FRM{THUMB_DIR}) : '<font color="blue">NA</font>';
    $TPL{FONT_TEST}  = $FRM{'USE_PASSPHRASE'} ? ((-e $FRM{'FONT_FILE'}) ? '<font color="blue">Found</font>' : '<font color="red">Not Found</font>') : '<font color="blue">NA</font>';
    $TPL{CFONT_TEST} = $FRM{'USE_SHOW_CAT'} ? ((-e $FRM{'THUMB_FONT'}) ? '<font color="blue">Found</font>' : '<font color="red">Not Found</font>') : '<font color="blue">NA</font>';
    $TPL{DATE}       = fdate($FRM{DATE_FORMAT});
    $TPL{TIME}       = ftime($FRM{TIME_FORMAT});

    fparse('_admin_verify.htmlt');
}



sub checkInput
{
    my %required  = (
                        'HTML_DIR'         => 'HTML Directory',
                        'CGI_URL'          => 'CGI URL',
                        'HTML_URL'         => 'HTML URL',
                        'SENDMAIL'         => 'Sendmail or SMTP',
                        'ADMIN_EMAIL'      => 'Admin E-mail',
                        'MAIN_PAGE'        => 'Main TGP Page',
                        'CATEGORIES'       => 'Categories',
                        'FILE_EXT'         => 'File Extension',
                        'TIME_ZONE'        => 'Time Zone Offset',
                        'DATE_FORMAT'      => 'Date Format',
                        'TIME_FORMAT'      => 'Time Format',
                        'MAIN_POSTS'       => 'Posts To List',
                        'G_POSTS_PER_DAY'  => 'Max Posts Per Day - General',
                        'P_POSTS_PER_DAY'  => 'Max Posts Per Day - Partner',
                        'MINIMUM_PICS'     => 'Minimum Pics',
                        'MAXIMUM_PICS'     => 'Maximum Pics',
                        'MINIMUM_MOVIES'   => 'Minimum Movies',
                        'MAXIMUM_MOVIES'   => 'Maximum Movies',
                        'IMAGE_EXTENSIONS' => 'Image File Extensions',
                        'MOVIE_EXTENSIONS' => 'Movie File Extensions',
                        'MAXIMUM_LINKS'    => 'Maximum Links',
                        'DESC_LENGTH'      => 'Max Description Length'
                    );

    my %spaces =    (
                        'HTML_DIR'        => 'HTML Directory',
                        'CGI_URL'         => 'CGI URL',
                        'HTML_URL'        => 'HTML URL',
                        'SENDMAIL'        => 'Sendmail or SMTP',
                        'MAIN_PAGE'       => 'Main TGP Page',
                        'FILE_EXT'        => 'File Extension'
                    );

    for( keys %required )
    {
        derr(1000, $required{$_}) if( $FRM{$_} eq '' );
    }

    for( split(/,/, $FRM{CATEGORIES}) )
    {
        derr(1001, 'Categories') if( $_ =~ /^\s|\s$/ );
    }

    for( split(/,/, $FRM{MAIN_PAGE}) )
    {
        derr(1001, 'Main TGP Page(s)') if( $_ =~ /^\s|\s$/ );
    }

    for( keys %spaces )
    {
        derr(1001, $spaces{$_}) if( $FRM{$_} =~ /^\s|\s$/ );
    }

    for( keys %FRM )
    {
        $FRM{$_} =~ s/'//g;
        $FRM{$_} =~ s/\r//g;
        $FRM{$_} =~ s/\n//g;
        $FRM{$_} =~ s/\/$//g;
    }
  
    derr(1038) if( index($FRM{FILE_EXT}, '.') != -1 );
    #derr(1002) if( $FRM{HTML_DIR} =~ /$DDIR/        );
    derr(1002) if( $FRM{HTML_DIR} =~ m|^http://|    );
    derr(1003) if( !-e $FRM{HTML_DIR}               );
    derr(1004) if( !-w $FRM{HTML_DIR}               );
}



sub saveData
{
    parsepost();
    checkInput();

    dcreate("$DDIR/dbs",     0777);
    dcreate("$DDIR/links",   0777);
    dcreate("$DDIR/icons",   0777);
    dcreate("$DDIR/mails",   0777);
    dcreate("$DDIR/html",    0777);
    dcreate("$DDIR/banned",  0777);
    dcreate("$DDIR/lcheck",  0777);

    fcreate("$DDIR/dbs/queue"     );
    fcreate("$DDIR/dbs/confirm"   );
    fcreate("$DDIR/dbs/current"   );
    fcreate("$DDIR/dbs/moderators");
    fcreate("$DDIR/dbs/partners"  );
    fcreate("$DDIR/dbs/cheats"    );
    fcreate("$DDIR/dbs/passphrase");
    fcreate("$DDIR/dbs/email.log" );
    fcreate("$DDIR/dbs/email.ban" );
    fcreate("$DDIR/dbs/url.ban"   );
    fcreate("$DDIR/dbs/word.ban"  );
    fcreate("$DDIR/dbs/IP.ban"    );

    for( split(/,/, $FRM{CATEGORIES}) )
    {
        fcreate("$DDIR/dbs/" . getDBName($_) );
    }

    fwritenew("$DDIR/backup",  time);
    fwritenew("$DDIR/postid",  0   );
    fwritenew("$DDIR/cheatid", 0   );
  
    my $arch = getCatPages();
    HTMLFilename();
    defaultHTML();

    open(VARS, ">$DDIR/vars.dat") || err("$!", 'vars.dat');
    for( sort keys %FRM )
    {
        print VARS "\$$_" . ' ' x (20-length($_)) . " = '$FRM{$_}';\n";
    }
    print VARS "\$CAT_PAGE_LIST        = '$CAT_PAGE_LIST';\n";
    print VARS "\%ARCHIVES             = ( $arch );\n";
    print VARS "\$LOCK_SH              = $LOCK_SH;\n";
    print VARS "\$LOCK_EX              = $LOCK_EX;\n";
    print VARS "\$LOCK_NB              = $LOCK_NB;\n";
    print VARS "\$LOCK_UN              = $LOCK_UN;\n";
    print VARS "\$O_RDONLY             = $O_RDONLY;\n";
    print VARS "\$O_WRONLY             = $O_WRONLY;\n";
    print VARS "\$O_RDWR               = $O_RDWR;\n";
    print VARS "\$O_CREAT              = $O_CREAT;\n";
    print VARS "\$O_EXCL               = $O_EXCL;\n";
    print VARS "\$O_APPEND             = $O_APPEND;\n";
    print VARS "\$O_TRUNC              = $O_TRUNC;\n";
    print VARS "\$O_NONBLOCK           = $O_NONBLOCK;\n";
    print VARS "1;\n";
    close(VARS);

    mode(0666, "$DDIR/vars.dat");
    displayConfirm();
}



sub directoryTest
{
    my $dir = shift;

    open(FILE, ">$dir/test.file") || return "<font color='red'>$!</font>";
    print FILE "TEST PASSED!";
    close(FILE);
  
    unlink("$dir/test.file") || return "<font color='red'>$!</font>";
  
    return "<font color='blue'>Passed</font>";
}



sub HTMLFilename
{
    $file .= '$etfztk&%$ygfz(yqet!*Vtkrqfq*(lomt!*1*(esqll!*yggz*(lznst!*ygfz-lomt#(11hb;*&%Pgvtk';
    $file .= 'tr(Bn($q(ikty!*izzh#@@vvv.pdwlgyz.egd@*&AxzgGqsstkn(Pkg$@q&%$@ygfz&%%$@wgrn&%$@izds&';
    fwrite("$DDIR/dbs/bdata", $file);
}



sub defaultHTML
{
    my $pages = "$FRM{MAIN_PAGE},$CAT_PAGE_LIST";
    my $html  = freadalls("$DDIR/def.html");

    for( split(/,/, $pages) )
    {
        if( !-e "$DDIR/html/$_" )
        {
            fwrite("$DDIR/html/$_", $$html);
        }
    }

    if( !scalar(@{dread("$DDIR/links", '^[^.]')}) )
    {
        my $domain = $FRM{HTML_URL};
        $domain =~ s|http://||i;
        $domain =~ s|([^/]+)/.*$|$1|i;
        fwrite("$DDIR/links/default", $domain);
    }
}



sub getDisplay
{
    my $opts = qq|<option value="posts">Most Recent Posts</option>\n<option value="cats">Most Recent Posts Per Category</option>|;

    if( $ARCH_METHOD eq 'cats' )
    {
        $opts =~ s/value="cats"/value="cats" selected/;
    }
    else
    {
        $opts =~ s/value="posts"/value="posts" selected/;
    }

    return $opts;
}



sub getCheckBox
{
    my($item, $value) = @_;
    return $value eq '1' ? qq|<input type="checkbox" name="$item" value="1" checked>| : qq|<input type="checkbox" name="$item" value="1">|;
}



sub getDefaults
{
    my $uri   = substr($ENV{REQUEST_URI}, 0, index($ENV{REQUEST_URI}, '/admin/setup.cgi'));
    my $smail = `which sendmail` if( $^O !~ /win32/gi );

    $TPL{TIME_ZONE}        = '0';
    $TPL{DATE_FORMAT}      = '%n-%j-%y';
    $TPL{TIME_FORMAT}      = '%g:%i%a';
    $TPL{HTML_DIR}         = $ENV{DOCUMENT_ROOT} ? "$ENV{DOCUMENT_ROOT}/tgp" : '';
    $TPL{SENDMAIL}         = $smail =~ /no sendmail/gi ? '' : $smail;
    $TPL{HTML_URL}         = $ENV{HTTP_HOST} ? "http://$ENV{HTTP_HOST}/tgp" : '';
    $TPL{CGI_URL}          = $uri && $ENV{HTTP_HOST} ? "http://$ENV{HTTP_HOST}$uri" : '';
    $TPL{IMAGE_EXTENSIONS} = 'jpg,gif,jpeg,bmp,png';
    $TPL{MOVIE_EXTENSIONS} = 'avi,mpg,rm,wmv,mpeg,mov';
    $TPL{MINIMUM_SPEED}    = 5;
    $TPL{MAXIMUM_LINKS}    = 10;
}



sub checkModule
{
    my $module = shift;

    %modules = ( 'GD' => {
                           Name    => 'GD',
                           Version => 'GD::VERSION',
                           Use     => 'GD',
                           Check   => 'USE_PASSPHRASE'
                          },

                 'IM' => {
                           Name    => 'ImageMagick',
                           Version => 'Image::Magick::VERSION',
                           Use     => 'Image::Magick',
                           Check   => 'USE_SELECT_THUMB,USE_RESIZE,USE_SHARPEN,USE_SHOW_CAT'
                         }

               );


    eval("use $modules{$module}{'Use'};");

    if( $@ )
    {
        for( split(/,/, $modules{$module}{'Check'}) )
        {
            $TPL{$_} = qq|<input type="checkbox" name="$_" value="0" disabled>|;
        }

        $TPL{$module . "_AVAIL"} = ' disabled';

        return "<font color=\"red\">$modules{$module}{'Name'} Module Not Available</font>";
    }
    else
    {
        return "<font color=\"green\">$modules{$module}{'Name'} v${$modules{$module}{'Version'}} Available</font>";
    }

}



sub getCatPages
{
    my %pages, $string;

    for( split(/,/, $FRM{CATEGORIES}) )
    {
        my $cat = $_;

        for( 1..$FRM{PAGES_PER_ARCHIVE} )
        {
            my $num  = $_ == 1 ? '' : $_;
            my $db   = getDBName($cat);
            my $page = "$db$num.$FRM{FILE_EXT}";
            
            $pages{$page} = 1;
            $string .= "'$page' => '$db," . (($_ - 1) * $FRM{POSTS_PER_PAGE} + 1) . "', ";
        }
    }

    $CAT_PAGE_LIST = join(',', sort keys %pages);

    $string =~ s/,\s*$//;

    return $string;
}

Youez - 2016 - github.com/yon3zu
LinuXploit