!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\nuevo\php\pear\Net\DNS\RR\   drwxrwxrwx
Free 1.13 GB of 239.26 GB (0.47%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     LOC.php (8.2 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * License Information:
 *
 * Net_DNS:  A resolver library for PHP
 * Copyright (c) 2002-2003 Eric Kilfoil eric@ypass.net
 * Maintainers:
 * Marco Kaiser <bate@php.net>
 * Florian Anderiasch <fa@php.net>
 * Ian Pye <ianbara@imap.cc>
 *
 * PHP versions 4 and 5
 *
 * LICENSE: This source file is subject to version 3.01 of the PHP license
 * that is available through the world-wide-web at the following URI:
 * http://www.php.net/license/3_01.txt.  If you did not receive a copy of
 * the PHP License and are unable to obtain it through the web, please
 * send a note to license@php.net so we can mail you a copy immediately.
 *
 * A representation of a resource record of type <b>LOC</b>
 *
 * @category Networking
 * @package  Net_DNS 
 * @author   Ian Pye <ianbara@imap.cc>
 * @license  3.01 PHP license
 * @link     http://pear.php.net/package/Net_DNS
 * @see      http://en.wikipedia.org/wiki/LOC_record
 */
class Net_DNS_RR_LOC extends Net_DNS_RR
{
    
/* class variable definitions {{{ */

    // Static constants
    // Reference altitude in centimeters (see RFC 1876).
    
var $reference_alt     10000000;
    
// Reference lat/lon (see RFC 1876).
    
var $reference_latlon  2147483648// pow(2, 31);
    
    // Conversions to/from thousandths of a degree.
    
var $conv_sec          1000// 1000 milisecs.
    
var $conv_min          60000// sec * 60 
    
var $conv_deg          3600000// min * 60

    // Defaults (from RFC 1876, Section 3).
    
var $default_min       0;
    var 
$default_sec       0;
    var 
$default_size      1;
    var 
$default_horiz_pre 10000;
    var 
$default_vert_pre  10;

    var 
$data// Contains packed binary data in the LOC format. 
    
var $offset// Offset to start reading the data.

    // Variables read directs from the raw data.
    
var $raw_latitude;
    var 
$raw_longitude;
    var 
$raw_alt;
    var 
$size;
    var 
$hp;
    var 
$vp;

    
// Variables set by parsing the raw data.
    
var $altitude;
    var 
$degree_latitude;
    var 
$degree_longitude;
    var 
$min_latitude;
    var 
$min_longitude;
    var 
$sec_latitude;
    var 
$sec_longitude;
    var 
$ns_hem;
    var 
$ew_hem;
        
    
// Complete string representation of the data.
    
var $pretty_print_string;
        
    
// Has the raw data been parsed yet?
    
var $parsed;

    
// What version of the protocol are we using?
    
var $version;

    
/* }}} */
    /**
     * class constructor - RR(&$rro, $data, $offset = '')
     *
     * Usage:
     * $rr = new Net_DNS_RR_LOC($rro, $data, $offset);
     * $rr->parse();
     *
     * @param        $rro
     * @param string $data   String to parse
     * @param int    $offset
     */
    
function Net_DNS_RR_LOC($rro$data$offset 0)
    {      
        
// Keep all of the common fields.
        
$this->name $rro->name;
        
$this->type $rro->type;
        
$this->class $rro->class;
        
$this->ttl $rro->ttl;
        
$this->rdlength $rro->rdlength;
        
$this->rdata $rro->rdata;
        
        
// And keep the actual data.
        
$this->data $data;
        
$this->offset $offset;
    }

    
/** 
     * Net_DNS_RR_LOC::parse()
     * Parses the $data field set in the constructor. 
     */
    
function parse() {
        if (isset(
$this->offset) && isset($this->data) && !($this->parsed)) {
            if (
$this->rdlength 0) {
                
$off $this->offset;
                
                
$a unpack(
                    
"@$off/Cversion/Csize/Choriz_pre/Cvert_pre/Nlat/Nlong/Nalt"
                    
$this->data
                
);

                
$this->version $a['version'];
                
$this->size $this->precsize_ntoval($a['size']);
                
$this->hp $this->precsize_ntoval($a['horiz_pre']);
                
$this->vp $this->precsize_ntoval($a['vert_pre']);

                
// If these are all 0, use the defaults.
                
if (!$this->size) {
                    
$this->size $this->default_size;
                }
                    
                if (!
$this->hp) {
                    
$this->hp $this->default_horiz_pre;
                }
                 
                if (!
$this->vp) {
                    
$this->vp $this->default_vert_pre;
                }

                
$this->raw_latitude $a['lat'];
                
$this->raw_longitude $a['long'];
                
$this->raw_alt $a['alt'];
                
$this->altitude = ($this->raw_alt $this->reference_alt) / 100;
                
                
$this->pretty_print_string 
                    
$this->latlon2dms($this->raw_latitude"NS"true) . ' ' .
                    
$this->latlon2dms($this->raw_longitude"EW"false) . ' ' .
                    
$this->altitude 'm ' .
                    
$this->size 'm ' .
                    
$this->hp 'm ' .
                    
$this->vp 'm';
                
                
$this->parsed true;
            }
        }
    }
    
    
/**
     * @return string
     */
    
function rdatastr()
    {
        if (!
$this->parsed) {
            
$this->parse_data();
        }
        
        if (
$this->pretty_print_string) {
            return 
$this->pretty_print_string;
        }
        
        return 
'; no data';
    }

    
/**
     * @param $packet
     * @param $offset
     *
     * @return string
     */
    
function rr_rdata($packet$offset)
    {    
        if (!
$this->parsed) {
            
$this->parse_data();
        }
 
        
$rdata "";
        if (isset(
$this->version)) {
            
$rdata .= pack("C"$this->version);
            if (
$this->version == 0) {
                
$rdata .= pack(
                    
"C3"$this->precsize_valton($this->size),
                    
$this->precsize_valton($this->hp),
                    
$this->precsize_valton($this->vp)
                );
                
$rdata .= pack(
                    
"N3"
                    
$this->raw_latitude,
                    
$this->raw_longitude,
                    
$this->raw_alt
                
);
            } else {
                
// We don't know how to handle other versions.
            
}
        }
        return 
$rdata;
    }

    
    
/**
     * @param $prec
     * @return int
     */
    
function precsize_ntoval($prec
    {
        
$mantissa = (($prec >> 4) & 0x0f) % 10;
        
$exponent = ($prec 0x0f) % 10;
        return 
$mantissa $poweroften[$exponent];
    }

    
/**
     * @param int $val
     * @return int
     */
    
function precsize_valton($val
    {
        
$exponent 0;
        while (
$val >= 10) {
            
$val /= 10;
            ++
$exponent;
        }
        return (
intval($val) << 4) | ($exponent 0x0f);
    }
    
    
/**
     * Now with added side effects, setting values for the class,
     * while returning a formatted string.
     * Net_DNS_RR_LOC::latlon2dms($rawmsec, $hems, $is_lat) {{{ 
     *
     * @todo This should not change class state
     *
     * @param      $rawmsec
     * @param      $hems
     * @param bool $is_lat
     */
    
function latlon2dms($rawmsec$hems$is_lat false
    {   
        
// Adjust for hemisphere problems (E and N can have negative values, 
        // which need to be corrected for).
        
$flipped false;
        if (
$rawmsec 0) {
            
$rawmsec = -$rawmsec;
            
$flipped true;
        }
     
        
$abs abs($rawmsec $this->reference_latlon);
        
$deg intval($abs $this->conv_deg);
        
$abs  -= $deg $this->conv_deg;
        
$min  intval($abs $this->conv_min); 
        
$abs -= $min $this->conv_min;
        
$sec  intval($abs $this->conv_sec);
        
$abs -= $sec $this->conv_sec;
        
$msec $abs;
        
$hem substr($hems, (($rawmsec >= $this->reference_latlon) ? 1), 1);
        if (
$flipped) {
            
$hem substr($hems, (($rawmsec >= $this->reference_latlon) ? 0), 1);
        }

        
// Save the results.
        
if ($is_lat) {
            
$this->degree_latitude $deg;
            
$this->min_latitude $min;
            
$this->sec_latitude $sec;
            
$this->ns_hem $hem;
        } else {
            
$this->degree_longitude $deg;
            
$this->min_longitude $min;
            
$this->sec_longitude $sec;
            
$this->ew_hem $hem;
        }
        
        return 
sprintf("%d %02d %02d.%03d %s"$deg$min$sec$msec$hem);
    }

}


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--