!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g. PHP/5.2.4-2ubuntu5.12 

uname -a: Linux forum.circlefusion.com 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/defoma/   drwxr-xr-x
Free 11.63 GB of 97.11 GB (11.98%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     libconsole.pl (6.77 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
use POSIX;

my $dialog = '/usr/bin/whiptail';
$dialog = '/usr/bin/dialog' unless (-x $dialog);

# code from dialog.pl(return_output)
sub safe_redirect {
    pipe(PARENT_READER, CHILD_WRITER);
    my $pid = fork();
    if ($pid == 0) {
    close(PARENT_READER);
    dup2(fileno(CHILD_WRITER),3);
    open(STDOUT, ">&STDERR");
    exec(@_);
    die("exec failure: $_[0]");
    }

    my $ret = '';
    if ($pid > 0) {
    close(CHILD_WRITER);
    $ret .= <PARENT_READER>;
    close(PARENT_READER);
    waitpid($pid, 0);
    $result = $?; #GLOBAL Variable: result
    }

    return $ret;
}

sub linecount {
    my $text = shift;
    my $lines = 0;
    my $cnt = 0;
    my @words = split(/ /, $text);
    my($i, $len, $space);

    foreach $i (@words) {
    if ($i eq '\n') {
        $cnt = 0;
        next;
    }
    
    $len = length($i);
    while (1) {
        $lines++ if ($cnt == 0);
        $space = ($cnt > 0);
        
        if ($cnt + $space + $len > $DWIDTH) {
        if ($cnt == 0) {
            $len -= $DWIDTH;
        } else {
            $cnt = 0;
        }
        } else {
        $cnt += $len;
        last;
        }
    }
    }

    return $lines;
}

# code from pppconfig.
#
#   Copyright (C) 1999 John G. Hasler (john@dhh.gt.org)
#
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.

sub dialogbox(@) {
  my $type=shift(@_);
  my $optionstr = (@_ > 0) ? shift(@_) : '';
  my @vars=@_;
  my $text=shift( @vars );
  my $height = shift( @vars );
  my $title = $DIALOGTITLE;

  my @options = split(' ', $optionstr) if ($optionstr ne '');

#  $result = callsystem_output('2>&1', '/usr/bin/dialog', '--clear', '--title',
#                  $title, @options, $type, $text, $height, 80,
#                  @vars);
#  my $item=$output;
#  chomp $item; # For gdialog, which returns strings with newlines.

  my $item = safe_redirect($dialog, '--output-fd', '3', '--clear', '--title',
               $title, @options, $type, $text, $height, 80, @vars);
  
  $result = ($result >> 8);
  exitfunc(255) if ($result == 255);
  exitfunc(255, "Internal error") unless($result == 0 || $result == 1);
  return $item;
}

sub msgbox(@) {
    my $text = shift;
    my $lines = linecount($text);
    $lines += 7;

    dialogbox("\-\-msgbox", '', $text, $lines);

    return $result;
}

sub infobox(@) {
    my $text = shift;
    my $lines = linecount($text);
    $lines += 7;

    dialogbox("\-\-infobox", '', $text, $lines);

    return $result;
}

sub yesnobox(@) {
    my $text = shift;
    my $lines = linecount($text);
    $lines += 7;
    
    dialogbox( "\-\-yesno", '', $text, $lines);

    return $result;
}

sub inputbox(@) {
    my $text = shift;
    my $default = shift;
    my $pattern = shift;
    my $allowempty = shift;
    my $lines = linecount($text);
    my @args;
    my $ret;
    $lines += 7;

    while(1) {
    @args = ();
    push(@args, $text);
    push(@args, $lines);
    push(@args, $default) if ($default ne '');
    
    $ret = dialogbox( "\-\-inputbox", '', @args);

    return '' if ($result != 0);
    return '' if ($ret eq '' && $allowempty != 0);
    return $ret if ($ret =~ /^$pattern+$/);

    if ($ret eq '') {
        $text = "Empty is not allowed.";
    } else {
        $default = $ret;
        $ret =~ s/$pattern//g;
        $default =~ s/[^$ret]/_/g;
        $text = "Illegal characters: \"$ret\".";
        if ($ret =~ / /) {
        $text .= "\n you can use underscore in place of space.";
        }
    }
    $lines = 8;
    }
}

sub menu(@) {
    my $text = shift( @_ );
    my $menu_height = shift( @_ );
    my $options = shift;
    my $lines = linecount($text);
    $lines += 6 + $menu_height;
    
    return dialogbox( '--menu', $options, $text, $lines, $menu_height, @_ );
}

sub menu_single(@) {
    my $text = shift;
    my $menu_height = shift;
    my $options = shift;
    my $lines = linecount($text);
    $lines += 6 + $menu_height;
    
    my @args = @_;
    my @pass = ();
    my $i;

    for ($i = 0; $i < @args; $i++) {
    if ($args[$i] ne '') {
        $pass[$i * 2] = $args[$i];
        $pass[$i * 2 + 1] = ' ';
    }
    }

    return dialogbox( '--menu', $options, $text, $lines, $menu_height,
              @pass );
}

sub checklist_single_onargs(@) {
    my $text = shift( @_ );
    my $menu_height = shift( @_ );
    my $onargs = shift;
    my $lines = linecount($text);
    $lines += 6 + $menu_height;
    
    my @args = @_;
    my @pass = ();
    my $i;
    my $j;
    my @ons = split(' ', $onargs);

    for ($i = $j = 0; $i < @args; $i++) {
    if ($args[$i] ne '') {
        $pass[$j++] = $args[$i];
        $pass[$j++] = ' ';
        $pass[$j++] = (grep($_ eq $args[$i], @ons)) ? 'on' : 'off';
    }
    }
    
    return dialogbox('--checklist', '--separate-output', $text, $lines,
             $menu_height, @pass );
}

$INPUTCOMMON_MENU = 1;

sub input_menu {
    my $input_text = shift;
    my $default = shift;
    my $input_pattern = shift;
    my $input_allowempty = shift;
    my $input_menu_item = '';
    my $menu_text = '';
    my @menu_list = ();
    if (@_ >= 3) {
    $input_menu_item = shift;
    $menu_text = shift;
    @menu_list = @_;
    }

    while (1) {
    if (@menu_list > 0) {
        chomp($menu_text);
        my $lines = 1;
        while ($menu_text =~ /\n/m) {
        $menu_text =~ s/\n/\\n/m;
        $lines++;
        }
        
        my $menu_items = @menu_list;
        my $mlines = 15 - $lines;
        my $items = ($menu_items > $mlines) ? $mlines : $menu_items;
        my $default_item = '';
        $default_item = "--default-item $default" if ($default ne '' and $dialog =~ /(^|\/)dialog/);
        my $ret;

        if ($INPUTCOMMON_MENU == 1) {
        $ret = menu_single($menu_text, $items, $default_item,
                      @menu_list);
        } else {
        $ret = menu($menu_text, $items, $default_item, @menu_list);
        }

        return '' if ($result != 0);
        return $ret if ($ret ne $input_menu_item);
    }
    
    chomp($input_text);
    $input_text =~ s/\n/\\n/gm;

    $ret = inputbox($input_text, $default, $input_pattern,
            $input_allowempty);
    return $ret if ($result == 0 || $menu_text eq '');
    }
}

sub input_checklist {
    my $input_text = shift;
    my $default = shift;
    my $input_pattern = shift;
    my $input_allowempty = shift;
    my $clist_text = '';
    my @clist_list = ();
    if (@_ > 0) {
    $clist_text = shift;
    @clist_list = @_;
    }

    while (1) {
    chomp($clist_text);
    my $lines = 1;
    while ($clist_text =~ /\n/m) {
        $clist_text =~ s/\n/\\n/m;
        $lines++;
    }
    
    my $clist_items = @clist_list;
    my $clines = 15 - $lines;
    my $items = ($clist_items > $clines) ? $clines : $clist_items;
    my $ret;
    
    $ret = checklist_single_onargs($clist_text, $items, $default,
                       @clist_list);
    return '' if ($result != 0);
    chomp($ret);
    $ret =~ s/\n/ /g;
        
    $ret = inputbox($input_text, $ret, $input_pattern, $input_allowempty);
    return $ret if ($result == 0);
    }
}


sub input_menu2 {
    $INPUTCOMMON_MENU = 2;
    my $ret = input_menu(@_);
    $INPUTCOMMON_MENU = 1;
    return $ret;
}



1;


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0422 ]--