Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/DivBasicF/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/DivBasicF/ObjProcess.pm

package DivBasicF::ObjProcess;

use strict;
use DivBasicF::ObjTask;
use Data::Dumper;
use vars qw($AUTOLOAD);

#******************************************************************

sub new {

   my $class = shift;
   my $self  = {};
   $self->{'PARENT'} = DivBasicF::ObjTask->new();
   bless($self,$class);
   return($self);
   
}

#******************************************************************

sub init_db  { 1; }
sub init_idx { return("package,pkgstart,pkgend,program,syntax"); }

#******************************************************************

sub IDX {

   my $self = shift;
   $self->{'pkgstart'} = $self->{'package'} . "::";
   $self->{'pkgend'}   = $self->{'package'} . "::zzzz";
   my $o1; my $o = "";
   eval("\$o = \{ " . $self->{'program'} . " \}\;\n");
   $self->{'syntax'} = $@;
   if ($o) {
      foreach $o1 (split(/,/,$self->init_idx())) {
         next if (!($self->{lc($o1)}));
         $self->{lc($o1)} = $self->{lc($o1)};
      }
   }
   return($self->{'package'});
   
}

#******************************************************************

# sub REVERSE_IDX { 1; }

#******************************************************************

sub sleep {

   my $self = shift;
   my $time = shift;
   my $func = shift || $self->goto_next_function();
   if ($time == -1 or $time =~ /^max/i) {
      $time = $self->{'PARENT'}->max_time();
      $self->{'result'} = 9901;
      $self->{'remark'} = "REQUEST";
   } else {
      if ($time < -1) {
         $time = - $time;
      } else {
         $time = $time + time();
      }
      $self->{'result'} = 9902;
      $self->{'remark'} = $time;
   }

   my $o; my $o1; my @ee; my $dbh; my $cursor; my $nr;
   if (!($self->{'package'})) {
      $dbh    = $self->{'PARENT'}->dbh();
      $o      = ref($self);
      $cursor = $dbh->prepare("select package from " .
                   $self->{'PARENT'}->tblstore() .
                   " where package like '$o\%'");
      $nr = 0;
      $cursor->execute();
      while (0 == 0) {
         @ee = $cursor->fetchrow();
         last if (!@ee);
         next if ($ee[0] !~ /^$o\:\:(\d+)$/);
         $o1 = $1;
         next if ($o1 < $nr);
         $nr = $o1;
      }
      $cursor->finish();
      $self->{'package'} = ref($self) . "::" . sprintf("%03u",$nr+1);
   }

#   if ($time) {
      $o = $self->{'PARENT'}->msg([$func,@_],$time);
      return( $self->{'PARENT'}->push( $self,$o ) );
#   }
#   $self->$func(@_);

}

#******************************************************************

sub goto_next_function {

   my $self    = shift;

   my $func; my $jump;
   my %list_of_functions     = eval("\%".ref($self)."::");
   $list_of_functions{'run'} = 1;
   my $tlist = [];
   foreach $func (sort {
         $a =~ /^(.*?)(0*)(\d*)$/; my $a1 = $3;
         $b =~ /^(.*?)(0*)(\d*)$/; my $b1 = $3;
           $a1 <=> $b1 } keys %list_of_functions) {
      next if ($func !~ /^(r|run|t|test)(\d*)$/);
      $jump = $func;
      last if (!($self->{'___JUMP___'}));
      if ($self->{'___JUMP___'} eq $func) {
         delete ($self->{'___JUMP___'});
      }
   }
   $self->{'___JUMP___'} = $jump;
   if (!$jump) {
      $func = "ERROR: No function found in " . ref($self) .
              "::get_next_function\n";
      print STDERR $jump;
   } else {
      print STDERR "Jump to: $jump\n";
   }

   return($jump);

}

#******************************************************************

sub xxrequest {

   my $self = shift;
   my $func = $self->{'program'};
   my $o    = eval($func);

   if (ref($o)) {
      $func = shift(@$o);
      $self->$func(@$o);
      print STDERR Dumper($self->{'program'});
   } else {
      $self->{'program'} = $@ . "\n" . $self->{'program'};
      $self->sleep(-1,"request");
   }

}   

#******************************************************************

sub xxformular {

   my $self = shift;
   my $text = shift;

   return(0) if (!($self->{'package'}));

   $self->{'program'} = <<'TEXXT_ENDE';
package ---PACKAGE---;

#  _REQUEST_

sub formular { return(<<'TEXT_ENDE'); } 1;
---TEXT---
Text_ENDE
TEXXT_ENDE

   my $o = $self->{'package'};
   $self->{'program'} =~ s/---PACKAGE---/$o/;
   $self->{'program'} =~ s/---TEXT---/$text/;
   
}

#*******************************************************

sub info {

   my $self    = shift;
   my $cursor  = shift;
   my $package = shift || $self->{'package'};

   my $level   = $package;
   $level      =~ s/[^\:]//g;
   $level      = sprintf("%03u",1+length($level)/2);
      
   my $store   = $self->{'PARENT'}->tblstore();
   my $conn    = $self->{'PARENT'}->tblconn();
   my $dbh     = $self->{'PARENT'}->dbh();

   $cursor     =~ s/---PACKAGE---/$package/g;
   $cursor     =~ s/---LEVEL---/$level/g;
   $cursor     =~ s/---STORE---/$store/g;
   $cursor     =~ s/---CONN---/$conn/g;
   
   $cursor     = $dbh->prepare($cursor);
   $cursor->execute();

   my $erg = [];
   my @ee;
   while (0 == 0) {
      @ee = $cursor->fetchrow();
      last if (!@ee);
      push(@$erg,[@ee]);
   }
   $cursor->finish();
   delete ( $self->{'PARENT'}->{'DBH'} );
   return($erg);
   
}

#*************************************************************************

sub xxchilds {

   my $self   = shift;
   my $all    = shift;
   my $cursor = shift || $self->{'package'};
   
   my $level  = $cursor;
      
   my $store  = $self->{'PARENT'}->tblstore();
   my $dbh    = $self->{'PARENT'}->dbh();

   $cursor    = "select package from $store where " .
                "pkgstart like '$cursor"."::\%'";
   if (!$all) {
      $level  =~ s/[^\:]//g;
      $level  = sprintf("%03u",1+length($level)/2);
      $cursor = $cursor . " and level = '$level'";
   }
   
   $cursor    = $dbh->prepare($cursor);
   $cursor->execute();

   my $erg = [];
   my @ee;
   while (0 == 0) {
      @ee = $cursor->fetchrow();
      last if (!@ee);
      push(@$erg,[@ee]);
   }
   $cursor->finish();
   delete ( $self->{'PARENT'}->{'DBH'} );
   return($erg);
   
}

#*************************************************************************

1;

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net