phpbar.de logo

Mailinglisten-Archive

[php] [OT] TollCollect in PHP ;-)

[php] [OT] TollCollect in PHP ;-)

Andreas Demmer php at andreas-demmer.de
Die Dez 16 16:32:16 CET 2003


Zur kleinen Entspannung vor den Feiertagen habe ich
hier das TollCollect Prinzip noch einmal schnell in PHP
formuliert!

Gruss,
Andreas

www.andreas-demmer.de | www.mediadb.net




<?php
class tollCollect {
    /**
     * @var int
     * @desc verfügb. Betrag in EUR für Onboard Units
     */
    var $finanzielleMittelOnboardUnits = 0;
    
    /**
     * @var int
     * @desc verfügb.  Betrag in EUR für Stationary Units
     */
    var $finanzielleMittelStationaryUnits = 0;
    
    /**
     * @var int
     * @desc Anzahl Onboard Units
     */
    var $OnboardUnits = 0;
    
    /**
     * @var int
     * @desc Stationary Units
     */
    var $StationaryUnits = 0;
    
    /**
     * @var int
     * @desc Zeitpunkt der Fertigstellung als UNIX Timestamp
     */    
    var $deadline = 0;

    /**
     * @access public
     * @return void
     * @param geldVomStaat int
     * @param deadline int
     * @desc Konstruktor, nimmt Auftrag entgegen und
             beginnt die Umsetzung
     */      
    function tollCollect($geldVomStaat, $deadline) {
        $this->finanzielleMittelOnboardUnits = $geldVomStaat / 2;
        $this->finanzielleMittelStationaryUnits = $geldVomStaat / 2;
        
        // 90 Tage Überziehung fest einplanen
        $this->deadline = $deadline + 60*60*24*90;
        
        $this->assembleOnboardUnits();
        $this->assembleStationaryUnits();
    }
    
    /**
     * @access private
     * @return BOOL
     * @desc fertigt die Onboard-Units
     */      
    function assembleOnboardUnits() {
        while($this->finanzielleMittelOnboardUnits > 0) {
            $this->finanzielleMittelOnboardUnits--;
            $this->OnboardUnits++;
        }
    } 
        
    /**
     * @access private
     * @return BOOL
     * @desc fertigt die Stationary-Units
     */      
    function assembleStationaryUnits() {
        while($this->finanzielleMittelStationaryUnits > 0) {
            $this->finanzielleMittelStationaryUnits--;
            $this->StationaryUnits++;
        }
    } 
        
    /**
     * @access public
     * @return BOOL
     * @desc hmmm, irgendwie klappt das nicht
     */      
    function testSystem() {
        return FALSE;
    }  

    /**
     * @access public
     * @return BOOL
     * @desc liefert ein verbindliches Datum der Fertigstellung
     */      
    function estimateNewCompletionDate() {
        return time() + 60*60*24*90;
    }  

    /**
     * @access public
     * @param fee int
     * @return BOOL
     * @desc verweigert die Zahlung einer Konventionalstrafe
     */      
    function payPunishmentFee($sum) {
        return 0;
    }  
}

$staatskasse = 600000000*12;
$tollCollect = new tollCollect($staatskasse, mktime(0,0,0,12,14,2003));
$staatskasse = 0;

while(!$test = $tollCollect->testSystem) {
    $i++;
    if($i > 100) die('Vertragsbruch!');
    
    echo 'Fertigstellung am ', date('d.m.Y', $tollCollect->estimateNewCompletionDate()), "<br>\n";
    $staatskasse += $tollCollect->payPunishmentFee(1.3*1000000000);
    echo 'Staatskasse in EUR: ', $staatskasse;
    flush();
}
?>

php::bar PHP Wiki   -   Listenarchive