Bravo List
Register
Go Back   > Bravo List > Source Code > Archived Trackers > Template Shares
Reply
  #1  
Old 14th January 2013, 00:36
Ruffneck Ruffneck is offline
Senior Member
 
Join Date: Feb 2008
Posts: 71
Default class_torrent.php - if ($this->torrent->get_type() == 'error')
class_torrent.php TS 7.2

I have this error :

[13-Jan-2013 22:38:00 UTC] PHP Fatal error: Call to a member function get_type() on a non-object in C:\web\include\class_torrent.php on line 22

line 22 : if ($this->torrent->get_type() == 'error') {

PHP Code:
<?php
/**
*
* @ iDezender 7.0
* @ Developed by Qarizma
*
* @ Visit our website:
* @ www.iRadikal.com
* @ For cheap decoding service :)
* @ And for the ionCube Decoder!
*
*/
 
class Torrent {
  protected 
$torrent null;
  protected 
$info null;
  var 
$error null;
  function 
load($data) {
   
$this->torrent BEncode::decode$data );
   if (
$this->torrent->get_type() == 'error') {
    
$this->error $this->torrent->get_plain(  );
    return 
false;
   }
 
   if (
$this->torrent->get_type() != 'dictionary') {
    
$this->error 'The file was not a valid torrent file.';
    return 
false;
   }
   
$this->info $this->torrent->get_value'info' );
   if (!
$this->info) {
    
$this->error 'Could not find info dictionary.';
    return 
false;
   }
   return 
true;
  }
  function 
getWhatever($Whatever) {
   return (
$this->torrent->get_value$Whatever ) ? $this->torrent->get_value$Whatever )->get_plain(  ) : null);
  }
  function 
getComment() {
   return (
$this->torrent->get_value'comment' ) ? $this->torrent->get_value'comment' )->get_plain(  ) : null);
  }
  function 
getCreationDate() {
   return (
$this->torrent->get_value'creation date' ) ? $this->torrent->get_value'creation date' )->get_plain(  ) : null);
  }
  function 
getCreatedBy() {
   return (
$this->torrent->get_value'created by' ) ? $this->torrent->get_value'created by' )->get_plain(  ) : null);
  }
  function 
getName() {
   return 
$this->info->get_value'name' )->get_plain(  );
  }
  function 
getPieceLength() {
   return 
$this->info->get_value'piece length' )->get_plain(  );
  }
  function 
getPieces() {
   return 
$this->info->get_value'pieces' )->get_plain(  );
  }
  function 
getPrivate() {
   if (
$this->info->get_value'private' )) {
    return 
$this->info->get_value'private' )->get_plain(  );
   }
   return 
1;
  }
  function 
getFiles() {
   
$filelist = array(  );
   
$length $this->info->get_value'length' );
   if (
$length) {
    
//Torrent_File;
    
$file = new Torrent_File(  );
    
$file->name $this->info->get_value'name' )->get_plain(  );
    
$file->length $this->info->get_value'length' )->get_plain(  );
    
array_push$filelist$file );
   } 
else {
    if (
$this->info->get_value'files' )) {
     
$files $this->info->get_value'files' )->get_plain(  );
     while (list( 
$key$value ) = each$files )) {
      
//Torrent_File;
      
$file = new Torrent_File(  );
      
$path $value->get_value'path' )->get_plain(  );
      while (list( 
$key$value2 ) = each$path )) {
       
$file->name .= '/' $value2->get_plain(  );
      }
      
$file->name ltrim$file->name'/' );
      
$file->length $value->get_value'length' )->get_plain(  );
      
array_push$filelist$file );
     }
    }
   }
   return 
$filelist;
  }
  function 
getTrackers() {
   
$trackerlist = array(  );
   if (
$this->torrent->get_value'announce-list' )) {
    
$trackers $this->torrent->get_value'announce-list' )->get_plain(  );
    while (list( 
$key$value ) = each$trackers )) {
     if (
is_array$value->get_plain(  ) )) {
      while (list( 
$key$value2 ) = each$value )) {
       while (list( 
$key$value3 ) = each$value2 )) {
        
array_push$trackerlist$value3->get_plain(  ) );
       }
      }
      continue;
     }
     
array_push$trackerlist$value->get_plain(  ) );
    }
   } 
else {
    if (
$this->torrent->get_value'announce' )) {
     
array_push$trackerlist$this->torrent->get_value'announce' )->get_plain(  ) );
    }
   }
   return 
$trackerlist;
  }
  function 
addTracker($tracker_url) {
   
$trackers $this->getTrackers(  );
   
$trackers[] = $tracker_url;
   
$this->setTrackers$trackers );
  }
  function 
removeWhatever($Whatever) {
   if (
$this->torrent->get_value$Whatever )) {
    
$this->torrent->remove$Whatever );
   }
  }
  function 
setTrackers($trackerlist) {
   if (
<= count$trackerlist )) {
    
$this->torrent->remove'announce-list' );
    
//BEncode_String;
    
$string = new BEncode_String$trackerlist[0] );
    
$this->torrent->set'announce'$string );
   }
 
   if (
count$trackerlist )) {
    
//BEncode_List;
    
$list = new BEncode_List(  );
    while (list( 
$key$value ) = each$trackerlist )) {
     
//BEncode_List;
     
$list2 = new BEncode_List(  );
     
//BEncode_String;
     
$string = new BEncode_String$value );
     
$list2->add$string );
     
$list->add$list2 );
    }
    
$this->torrent->set'announce-list'$list );
   }
  }
 
  function 
setFiles$filelist )
        {
        
$length $this->info->get_value"length" );
        if ( 
$length )
        {
            
$filelist[0] = str_replace"\\""/"$filelist[0] );
            
$string = new BEncode_String$filelist[0] );
            
$this->info->set"name"$string );
   return 
null;
        }
        else if ( 
$this->info->get_value"files" ) )
        {
            
$files $this->info->get_value"files" )->get_plain( );
            
$i 0;
            while ( 
$i count$files ) )
            {
                
$file_parts split"/"$filelist[$i] );
                
$path = new BEncode_List( );
                foreach ( 
$file_parts as $part )
                {
                    
$string = new BEncode_String$part );
                    
$path->add$string );
                }
                
$files[$i]->set"path"$path );
                ++
$i;
            }
          }
        }
 
 
  function 
setComment($value) {
   
$type 'comment';
   
$key $this->torrent->get_value$type );
   if (
$value == '') {
    
$this->torrent->remove$type );
    return 
null;
   }
 
   if (
$key) {
    
$key->set$value );
    return 
null;
   }
   
//BEncode_String;
   
$string = new BEncode_String$value );
   
$this->torrent->set$type$string );
  }
  function 
setCreatedBy($value) {
   
$type 'created by';
   
$key $this->torrent->get_value$type );
   if (
$value == '') {
    
$this->torrent->remove$type );
    return 
null;
   }
 
   if (
$key) {
    
$key->set$value );
    return 
null;
   }
   
//BEncode_String;
   
$string = new BEncode_String$value );
   
$this->torrent->set$type$string );
  }
  function 
setSource($value) {
   
$type 'source';
   
$key $this->torrent->get_value$type );
   if (
$value == '') {
    
$this->torrent->remove$type );
    return 
null;
   }
 
   if (
$key) {
    
$key->set$value );
    return 
null;
   }
   
//BEncode_String;
   
$string = new BEncode_String$value );
   
$this->torrent->set$type$string );
  }
  function 
setCreationDate($value) {
   
$type 'creation date';
   
$key $this->torrent->get_value$type );
   if (
$value == '') {
    
$this->torrent->remove$type );
    return 
null;
   }
 
   if (
$key) {
    
$key->set$value );
    return 
null;
   }
   
//BEncode_Int;
   
$int = new BEncode_Int$value );
   
$this->torrent->set$type$int );
  }
  function 
setPrivate($value) {
   if (
$value == 1) {
    
$this->info->remove'private' );
    return 
null;
   }
   
//BEncode_Int;
   
$int = new BEncode_Int$value );
   
$this->info->set'private'$int );
  }
  function 
bencode() {
   return 
$this->torrent->encode(  );
  }
  function 
getHash() {
   return 
pack'H*'sha1$this->info->encode(  ) ) );
  }
 }
 class 
Torrent_File {
  var 
$name null;
  var 
$length null;
 }
 class 
BEncode {
  function 
decode(&$raw$offset 0) {
   if (
strlen$raw ) <= $offset) {
    
//BEncode_Error;
    
return new BEncode_Error'Decoder exceeded max length.' );
   }
   
$char $raw[$offset];
   switch (
$char) {
    case 
'i': {
     
//BEncode_Int;
     
$int = new BEncode_Int(  );
     
$int->decode$raw$offset );
     
$int;
    }
   }
   return ;
  }
 }
 class 
BEncode_End {
  function 
get_type() {
   return 
'end';
  }
 }
 class 
BEncode_Error {
  protected 
$error null;
  function 
BEncode_Error($error) {
   
$this->error $error;
  }
  function 
get_plain() {
   return 
$this->error;
  }
  function 
get_type() {
   return 
'error';
  }
 }
 class 
BEncode_Int {
  protected 
$value null;
  function 
BEncode_Int($value null) {
   
$this->value $value;
  }
  function 
decode(&$raw$offset) {
   
$end strpos$raw'e'$offset );
   
$this->value substr$raw, ++$offset$end $offset );
   
$offset += $end $offset;
  }
  function 
get_plain() {
   return 
$this->value;
  }
  function 
get_type() {
   return 
'int';
  }
  function 
encode() {
   return 
'' 'i' $this->value 'e';
  }
  function 
set($value) {
   
$this->value $value;
  }
 }
 class 
BEncode_Dictionary {
  var 
$value = array(  );
  function 
decode(&$raw$offset) {
   
$dictionary = array(  );
   while (
true) {
    
$name BEncode::decode$raw, ++$offset );
    if (
$name->get_type(  ) == 'end') {
     break;
    }
 
    if (
$name->get_type(  ) == 'error') {
     return 
$name;
    }
 
    if (
$name->get_type(  ) != 'string') {
     
//BEncode_Error;
     
return new BEncode_Error'Key name in dictionary was not a string.' );
    }
    
$value BEncode::decode$raw, ++$offset );
    if (
$value->get_type(  ) == 'error') {
     return 
$value;
    }
    
$dictionary[$name->get_plain(  )] = $value;
   }
   
$this->value $dictionary;
  }
  function 
get_value($key) {
   if (isset( 
$this->value[$key] )) {
    return 
$this->value[$key];
   }
   return 
null;
  }
  function 
encode() {
   
$this->sort(  );
   
$encoded 'd';
   while (list( 
$key$value ) = each$this->value )) {
    
//BEncode_String;
    
$bstr = new BEncode_String(  );
    
$bstr->set$key );
    
$encoded .= $bstr->encode(  );
    
$encoded .= $value->encode(  );
   }
   
$encoded .= 'e';
   return 
$encoded;
  }
  function 
get_type() {
   return 
'dictionary';
  }
  function 
remove($key) {
   unset( 
$this->value[$key] );
  }
  function 
set($key$value) {
   
$this->value[$key] = $value;
  }
  function 
sort() {
   
ksort$this->value );
  }
  function 
count() {
   return 
count$this->value );
  }
 }
 class 
BEncode_List {
  protected 
$value = array(  );
  function 
add($bval) {
   
array_push$this->value$bval );
  }
  function 
decode(&$raw$offset) {
   
$list = array(  );
   while (
true) {
    
$value BEncode::decode$raw, ++$offset );
    if (
$value->get_type(  ) == 'end') {
     break;
    }
 
    if (
$value->get_type(  ) == 'error') {
     return 
$value;
    }
    
array_push$list$value );
   }
   
$this->value $list;
  }
  function 
encode() {
   
$encoded 'l';
   
$i 0;
   while (
$i count$this->value )) {
    
$encoded .= $this->value[$i]->encode(  );
    ++
$i;
   }
   
$encoded .= 'e';
   return 
$encoded;
  }
  function 
get_plain() {
   return 
$this->value;
  }
  function 
get_type() {
   return 
'list';
  }
 }
 class 
BEncode_String {
  protected 
$value null;
  function 
BEncode_String($value null) {
   
$this->value $value;
  }
  function 
decode(&$raw$offset) {
   
$end strpos$raw':'$offset );
   
$len substr$raw$offset$end $offset );
   
$offset += $len + ( $end $offset );
   ++
$end;
   
$this->value substr$raw$end$len );
  }
  function 
get_plain() {
   return 
$this->value;
  }
  function 
get_type() {
   return 
'string';
  }
  function 
encode() {
   
$len strlen$this->value );
   return 
'' $len ':' $this->value;
  }
  function 
set($value) {
   
$this->value $value;
  }
 }
 
 if (!
defined'IN_TRACKER' )) {
  exit( 
'<font face=\'verdana\' size=\'2\' color=\'darkred\'><b>Error!</b> Direct initialization of this file is not allowed.</font>' );
 }
?>
Bump: pls help !
Reply With Quote
Reply

Tags
$this>torrent>gettype , 72 , classtorrentphp , er , error , pls

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT +2. The time now is 13:34. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.