!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)

C:\Intranet\C\xampp\php\PEAR\Payment_Clieop\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.36%)
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:     clieop.php (15.6 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Dave Mertens <dmertens@zyprexia.com>                        |
// +----------------------------------------------------------------------+
//
// $Id: clieop.php,v 1.14 2003/01/28 14:29:52 zyprexia Exp $
/*
 Please note that public function names are partly in Dutch. This is because 
 also the clieop data strings has a dutch names. (batchvoorloopinfo, transactieinfo, etc).
 */

/**
* Main clieop class
*
* @version $Revision: 1.14 $
* @access public
* @author Dave Mertens <dmertens@zyprexia.com>
* @package Payment_Clieop
*/
class ClieopPayment extends clieop_baseobject
{
    
/**
    * @var string
    * @access private
    */
    
var $_SenderIdent;

    
/**
    * @var string
    * @access private
    */
    
var $_FileIdent;

    
/**
    * @var string
    * @access private
    */
    
var $_TransactionType;

    
/**
    * @var string
    * @access private
    */
    
var $_ClieopText;

    
/**
    * @var string
    * @access private
    */
    
var $_PrincipalAccountNumber;

    
/**
    * @var string
    * @access private
    */
    
var $_PrincipalName;

    
/**
    * @var integer
    * @access private
    */
    
var $_BatchNumber;

    
/**
    * @var integer
    * @access private
    */
    
var $_TransactionCount;

    
/**
    * @var integer
    * @access private
    */
    
var $_TotalAmount;

    
/**
    * @var string
    * @access private
    */
    
var $_AccountChecksum;

    
/**
    * @var string
    * @access private
    */
    
var $_Description;

    
/**
    * @var date (in DDMMYY format)
    * @access private
    */
    
var $_ProcessDate;

    
/**
    * @var boolean
    * @access private
    */
    
var $_Test;

    
/**
    * @var string
    * @access private
    */
    
var $_TransactionText;

    
/**
    * Constructor for class
    * @return void
    * @access public
    */
    
function clieopPayment()
    {
        
//init vars
        
$this->_ProcessDate "000000";    //process ASAP
        
$this->_BatchNumber 1;
        
$this->_Test "T";
        return 
1;
    }

    
/**
    * Adds a payment record to the clieop file
    * @param object paymentObject    - Instance of transactionPayment
    * @access public
    * @return void
    */
    
function addPayment($paymentObject)
    {
        
//Only one type of transaction is allowed in a clieop
        
if ($this->_TransactionType == $paymentObject->getPaymentType())
        {
            
//transactieinfo (0100)
            
$text $this->writeTransactieInfo($paymentObject->getTransactionType(),
                
$paymentObject->getAmount(),
                
$paymentObject->getAccountNumberSource(),
                
$paymentObject->getAccountNumberDest());
                
            
// Debtor name ans city
            
if (strtoupper($this->_TransactionType) == "DEBTOR")
            {
                
//name of debtor (0110)
                
$text .= $this->writeNaambetalerInfo($paymentObject->getName());

                
//city of debtor (0113)
                
$text .= $this->writeWoonplaatsbetalerInfo($paymentObject->getCity());
            }
            
            
//betalings kenmerk (0150)
            
$text .= $this->writeBetalingskenmerkInfo($paymentObject->getInvoiceReference());
            
            
//maximum 4 description lines (0160)
            
$descArray $paymentObject->getDescription();
            while(list(
$id,$desc) = each($descArray))
            {    
                
$text .= $this->writeOmschrijvingInfo($desc);    
            }
            
            
//routine splits here into creditor and debtor
            
if (strtoupper($this->_TransactionType) == "CREDITOR")
            {
                    
//name of creditor (0170)
                    
$text .= $this->writeNaambegunstigdeInfo($paymentObject->getName());
            
                    
//city of creditor (0173)
                    
$text .= $this->writeWoonplaatsbegunstigdeInfo($paymentObject->getCity());
            }
            
            
//do some calculations
            
$this->_NumberOfTransactions++;
            
//accoutnumber checksum
            
$this->_AccountChecksum += (int)$paymentObject->getAccountNumberSource() + (int)$paymentObject->getAccountNumberDest();
            
$this->_TotalAmount += $paymentObject->getAmount();
        }
        
$this->_TransactionText .= $text;
    }
    
    
/**
    * Writes complete clieop file
    * @access public
    * @return string
    */
    
function writeClieop()
    {
        
$text  $this->writeBestandsvoorloopInfo($this->_SenderIdent$this->_BatchNumber);
        
$text .= $this->writeBatchvoorloopInfo($this->_PrincipalAccountNumber$this->_BatchNumber);
        
$text .= $this->writeVasteomschrijvingInfo($this->_FixedDescription);
        
$text .= $this->writeOpdrachtgeverInfo($this->_ProcessDate$this->_PrincipalName);
        
$text .= $this->_TransactionText;
        
$text .= $this->writeBatchsluitInfo();
        
$text .= $this->writeBestandssluitInfo();
        
        
//return clieop file
        
return $text;
    }
    
    
/**
    * property BatchNumber
    * @param integer Value    - Number of batches send to day (including this one)
    * @return string
    * @access public
    */
    
function getBatchNumber()
    {
        return 
$this->_BatchNumber;
    }
    function 
setBatchNumber($Value)
    {
        
$this->_BatchNumber $Value;
    }
    
    
/**
    * property FixedDescription
    * @param string Value    - Description which will be added to each transaction payment
    * @return string
    * @access public
    */
    
function getFixedDescription()
    {
        return 
$this->_FixedDescription;
    }
    function 
setFixedDescription($Value)
    {
        
$this->_FixedDescription $Value;
    }
    
    
/**
    * property SenderIdentification
    * @param string Value    - Identification of sender, free of choice
    * @return string
    * @access public
    */
    
function getSenderIdentification()
    {
        return 
$this->_SenderIdent;
    }
    function 
setSenderIdentification($Value)
    {
        
$this->_SenderIdent $Value;
    }
    
    
/**
    * property PrincipalName
    * @param string Value    - Name of principal
    * @return string
    * @access public
    */
    
function getPrincipalName()
    {
        return 
$this->_PrincipalName;
    }
    function 
setPrincipalName($Value)
    {
        
$this->_PrincipalName $Value;
    }
    
    
/**
    * property PrincipalAccountNumber
    * @param string Value    - Account number of principal
    * @return string
    * @access public
    */
    
function getPrincipalAccountNumber()
    {
        return 
$this->_PrincipalAccountNumber;
    }
    function 
setPrincipalAccountNumber($Value)
    {
        
$this->_PrincipalAccountNumber $Value;
    }
    
    
/**
    * property TransactionType
    * @param string Value    - transaction type
    * @return string
    * @access public
    */
    
function getTransactionType()
    {
        return 
$this->_TransactionType;
    }
    function 
setTransactionType($Value)
    {
        switch(
$Value)
        {
            case 
"00":    //BETALING
                
$this->_TransactionType "CREDITOR";
                
$this->_TransactionCode "00";
                break;
            case 
"10":    //INCASSO
                
$this->_TransactionType "DEBTOR";
                
$this->_TransactionCode "10";
                break;
        }
    }
    
    
/**
    * property Test
    * @param boolean Value    - true = test clieop, false = production clieop
    * @return string
    * @access public
    */
    
function getTest()
    {
        return 
$this->_Test;
    }
    function 
setTest($Value)
    {
        if (
$Value == false)
            
$this->_Test "P";    //production clieop
        
else
            
$this->_Test "T";    //test clieop
    
}
        
    
    
/**
    * INFOCODE: 0100
    * Writes transaction header
    * @param string transType            - Type of transaction ('0000' for betaling, '1002' for incasso)
    * @param integer amount                - Payment amount in Eurocents
    * @param string accountNumberSource    - Source bankaccount number 
    * @param string accountNumberDest    - Destination bankaccount number
    * @access private
    * @return string
    */
    
function writeTransactieInfo($transType$amount$accountNumberSource$accountNumberDest)
    {
        
$text  "0100";                                        //infocode
        
$text .= "A";                                            //variantcode
        
$text .= $this->numFiller($transType4);                //transactiesoort
        
$text .= $this->numFiller($amount12);                    //Bedrag
        
$text .= $this->numFiller($accountNumberSource10);    //Reknr betaler
        
$text .= $this->numFiller($accountNumberDest10);        //Reknr begunstigde
        
$text .= $this->filler(9);
        
        
//return clieop line
        
return $text;
    }
    
    
/**
    * INFOCODE: 0150
    * Writes invoice reference clieop line
    * @param string invoiceReference    - Reference of invoice
    * @access private
    * @return string
    */
    
function  writeBetalingskenmerkInfo($invoiceReference)
    {
        
$text  "0150";                                    //infocode
        
$text .= "A";                                        //variantcode
        
$text .= $this->alfaFiller($invoiceReference16);    //betalings kenmerk
        
$text .= $this->filler(29);
        
        
//return clieop line
        
if (strlen($invoiceReference) > 0) return $text;    //only return string if there's really a value
    
}    

    
/**
    * INFOCODE: 0160
    * Writes an description for the clieop file
    * @param string description    - Description of payment (Can be called maximum 4 times!)
    * @access private
    * @return string
    */
    
function writeOmschrijvingInfo($description)
    {
        
$text  "0160";                                    //infocode
        
$text .= "A";                                        //variantcode
        
$text .= $this->alfaFiller($description32);        //omschrijving van post
        
$text .= $this->filler(13);
        
        
//return clieop line
        
return $text;
    }
    
    
/**
    * INFOCODE: 0170
    * Write the creditor name record 
    * @param string name     - Name of creditor
    * @access private
    * @return string
    */
    
function writeNaambegunstigdeInfo($name)
    {
        
$text  "0170";                                    //infocode
        
$text .= "B";                                        //variantcode
        
$text .= $this->alfaFiller($name35);                //naam begunstigde
        
$text .= $this->filler(10);
        
        
//reurn clieop line
        
return $text;
    }

    
/**
    * INFOCODE: 0173
    * Write the creditor city record 
    * @param string city     - City of creditor
    * @access private
    * @return string
    */
    
function writeWoonplaatsbegunstigdeInfo($city)
    {
        
$text  "0173";                                    //infocode
        
$text .= "B";                                        //variantcode
        
$text .= $this->alfaFiller($city35);                //woonplaats begunstigde
        
$text .= $this->filler(10);
        
        
//reurn clieop line
        
return $text;
    }
    
/**
    * INFOCODE: 0110
    * Write the debtor name record 
    * @param string name     - Name of debtor
    * @access private
    * @return string
    */
    
function writeNaambetalerInfo($name)
    {
        
$text  "0110";                                    //infocode
        
$text .= "B";                                        //variantcode
        
$text .= $this->alfaFiller($name35);                //naam betaler
        
$text .= $this->filler(10);
        
        
//reurn clieop line
        
return $text;
    }

    
/**
    * INFOCODE: 0113
    * Write the debtor city record 
    * @param string city     - City of debtor
    * @access private
    * @return string
    */
    
function writeWoonplaatsbetalerInfo($city)
    {
        
$text  "0113";                                    //infocode
        
$text .= "B";                                        //variantcode
        
$text .= $this->alfaFiller($city35);                //woonplaats betaler
        
$text .= $this->filler(10);
        
        
//reurn clieop line
        
return $text;
    }
    
    
/**
    * INFOCODE: 0001
    * Write clieop header 
    * @param string identifier    - 5 char sender identification (free of choice)
    * @param integer batchCount    - Numbers of clieop batches send today + 1
    * @access private
    * @return string
    */
    
function writeBestandsvoorloopInfo($identifier$batchCount)
    {
        
$text  "0001";                                        //infocode
        
$text .= "A";                                            //variantcode
        
$text .= date("dmy");                                    //aanmaak datum
        
$text .= "CLIEOP03";                                    //bestands naam
        
$text .= $this->alfaFiller($identifier5);                //afzender identificatie
        
$text .= date("d") . $this->numFiller($batchCount2);    //bestands identificatie 
        
$text .= "1";                                            //duplicaat code
        
$text .= $this->filler(21);    
        
        
//return cliep line
        
return $text;
    }
    
    
/**
    * INFOCODE: 9999
    * Write clieop footer 
    * @access private
    * @return string
    */
    
function writeBestandssluitInfo()
    {
        
$text  "9999";                                    //infocode
        
$text .= "A";                                        //variantcode
        
$text .= $this->filler(45);
        
        
//return cleip line
        
return $text;
    }
    
    
/**
    * INFOCODE: 0010
    * Write clieop batchvoorloopinfo
    * @param string principalAccountNumber    - Account number of principal
    * @param integer batchCount                - Number of batches send this month (including this one) 
    * @access private
    * @return string
    */
    
function writeBatchvoorloopInfo($principalAccountNumber$batchCount)
    {    
        
$text  "0010";                                        //infocode
        
$text .= "B";                                            //variantcode
        
$text .= $this->numFiller($this->_TransactionCode2);    //transactiegroep (00 = betaling, 10 = incasso)
        
$text .= $this->numFiller($principalAccountNumber10);    //rekening nummer opdrachtgever
        
$text .= $this->numFiller($batchCount4);                //batch volgnummer
        
$text .= "EUR";                                            //aanlevering muntsoort
        
$text .= $this->filler(26);
        
        
//return clieop line
        
return $text;
    }
    
    
/**
    * INFOCODE: 0020
    * Write clieop batchvoorloopinfo
    * @access string description    - Fixed description for all payments
    * @access private
    * @return string
    */
    
function writeVasteomschrijvingInfo($description)
    {
        
$text  "0020";                                        //infocode
        
$text .= "A";                                            //variantcode
        
$text .= $this->alfaFiller($description32);            //vaste omschrijving
        
$text .= $this->filler(13);
        
        
//return clieop line
        
if (strlen($description) > 0) return $text;                //only return string if there is REALLY a description
    
}

    
/**
    * INFOCODE: 0030
    * Write opdrachtegever clieop line
    * @param date processDate        - Process date in DDMMYY-format
    * @param string principalName    - Name of pricipal
    * @access private
    * @return string
    */
    
function writeOpdrachtgeverInfo($processDate$principalName)
    {
        
$text  "0030";                                        //infocode
        
$text .= "B";                                            //variantcode
        
$text .= "1";                                            //NAWcode
        
$text .= $this->numFiller($processdate6);                //verwerkings datum
        
$text .= $this->alfaFiller($principalName35);            //naam opdracht gever
        
$text .= $this->_Test;                                    //TESTcode (T = Test, P = Productie)
        
$text .= $this->filler(2);
        
        
//return clieop line
        
return $text;
    }
    
    
/**
    * INFOCODE: 9990
    * Write clieop batchsluitinfo
    * @access private
    * @return string
    */
    
function writeBatchsluitInfo()
    {
        
$text  "9990";                                            //infocode
        
$text .= "A";                                                //variantcode
        
$text .= $this->numFiller($this->_TotalAmount18);            //Totaalbedrag clieop
        
$text .= $this->numFiller($this->_AccountChecksum10);        //checksum van rekeningnummers
        
$text .= $this->numFiller($this->_NumberOfTransactions7);    //Aantal transactie posten
        
$text .= $this->filler(10);
        
        
//return clieop line
        
return $text;
    }
}


/**
*    master object for clieop objects
*
* @version $Revision: 1.14 $
* @access private
* @author Dave Mertens <dmertens@zyprexia.com>
* @package Payment_Clieop
*/
class clieop_baseobject
{

    
/**
    * Alfa numeric filler
    * @param string text    - Text which needs to filled up
    * @param integer length    - The length of the required text
    * @return string
    * @access public
    */
    
function alfaFiller($text$length)
    {
        
//how many spaces do we need?
        
$alfaLength abs($length strlen($text));
        
        
//return string with spaces on right side
        
return substr($text str_repeat(" "$alfaLength), 0$length);
    }
    
    
/**
    * Numeric filler
    * @param string number    - number which needs to filled up (Will be converted to a string)
    * @param integer length    - The length of the required number
    * @return string
    * @access public
    */
    
function numFiller($number$length)
    {
        
//how many zeros do we need
        
settype($number"string");        //We need to be sure that number is a string. 001 will otherwise be parsed as 1
        
$numberLength abs($length strlen($number));
        
        
//return original number woth zeros on the left
        
return substr(str_repeat("0"$numberLength) . $number, -$length);
    }
    
    
/**
    * filler
    * @param integer length    - How many filler spaces do we need
    * @return string
    * @access public
    */
    
function filler($Length)
    {
        return 
str_repeat(" "$Length) . "\n";
    }
}

?>

:: 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 ]--