PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : primeraschnittstelle gesucht



dude32
31.01.2008, 21:56
servus leute

für das multiaddon von sebbyphm suche ich eine schnittstelle zum primusportal

hat jemand sowas zufällig da??? oder kann es erstellen

swinxx
01.02.2008, 19:20
Hoi,

von noname hab ich mal diese Datei für eine Primus-Schnittstelle bekommen. Da sollte alles nötige drinstehen. VOm Einbau selber kann ich aber nichts sagen da ich selber noch ncihts damit gemacht hab...


<?php
/**
* PrimusInterface
* -------------------------------------------
* Mit dieser Klasse ist ein einfacher Primeratransfer von Ihrem Account
* zu dem Account eines bei Primusportal.de registrierten Mitglieds möglich.
*
* Die Einbindung des Interfaces geschieht folgendermaßen:
* 1. Einbindung der Klasse in Ihr PHP-Auszahlungsskript:
* CODE:
* require_once( "PFAD/ZU/DER/KLASSE/PrimusInterface.class.php" );
* $PPUsername = "username"; // Ihr Username bei Primusportal
* $PPPassword = "passwort"; // Ihr Passwort bei Primusportal
*
* $Interface = new PrimusInterface($PPUsername, $PPPassword);
* 2. Durchführen einer Auszahlung:
* CODE:
* $Status = $Interface->Pay($PayReceiver, $PayAmount, $PayDescription);
*
* Wobei $PayReicer der Username des Empfängers bei
* Primusportal.de ist. $PayAmount ist der gerundete( !! ) Betrag an Primera,
* die der Empfänger erhalten soll. $PayDescription ist eine von Ihnen
* festgelegte kurze Beschreibung. Die Länge dieses Textes darf 100 Zeichen
* nicht überschreiten. Beispiel:
* $status = $Interface->Pay("garbage", 10000, "Auszahlung IhreSeite.de - ID: 12345");
* 3. Überprüfung des Status (Rückgabecode):
* CODE:
* if(!$status) {
* // Ein Fehler ist aufgetreten
* // Fehlerbehandlung hier einfügen...
* } else {
* // Auszahlung erfolgreich durchgeführt
* // Führen Sie hier Ihre Datenbankabfragen durch, um die Auszahlung zu
* // bestätigen...
* }
*
* Die komplette Rückgabe des Interfaces wird als assoziatives Array in der Klassen-
* variable __data gespeichert:
* __data => array("status" => Rückgabecode (PI_DONE, PI_SENDER_ERROR, ...),
* "statustext" => Status in Worten (z.B.: "Transaktion erfolgreich durchgeführt"),
* ")
*
*
* @author Andreas Schmidt <xxgarbagexx@web.de>
* @version 1.0 - beta
* @package PrimusInterface
* @copyright (c) 2007 by Primusportal.de
**/


/** Fehler - Interfacebenutzer */
define("PI_ERROR", -1);

/** Statuscode für erfolgreich ausgeführte Transaktion */
define("PI_DONE", 200);

/** Fehler - User existiert nicht oder ist gesperrt */
define("PI_RECEIVER_ERROR", 301);

/** Sender-Account Fehler (User nicht existent, gesperrt, ...) */
define("PI_SENDER_ERROR", 401);

/** Betrag fehler */
define("PI_AMOUNT_ERROR", 501);

/** Zu wenig Primera */
define("PI_TOO_LESS_PRIMERA", 502);

/** User nicht aktiv oder existiert nicht */
define("PI_USER_CHECK_ERROR", 601);

/** User aktiv */
define("PI_USER_CHECK_OK", 602);

/** Primerastand erfolgreich geholt */
define("PI_GET_PRIMERA_DONE", 701);


class PrimusInterface {

/**
* URL für das Interface auf dem Primusserver:
**/
var $__host = "www.primusportal.de";
var $__path = "/transfer.interface.2.0.php";

var $__errno;
var $__err;

var $__seperator = ":";

var $__username;
var $__password;

var $__data;

/**
* Konstruktor
**/
function PrimusInterface($PPUsername, $PPPassword) {
$this->__username = $PPUsername;
$this->__password = $PPPassword;
}

/**
* Anfrage senden und Rückgabecode in Variable speichern
**/
function Query( $data = array() ) {
$fp = fsockopen($this->__host, 80, $this->__errno, $this->_err);
if(!$fp) return false;

$data["PrimusInterface_Username"] = base64_encode($this->__username);
$data["PrimusInterface_Password"] = base64_encode(md5($this->__password));

// POST-Daten übermitteln:
$data = http_build_query($data, '', '&');

fputs($fp, "POST {$this->__path} HTTP/1.1\r\n");
fputs($fp, "Host: {$this->__host}\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);

$return = "";
while(!feof($fp))
$return.=fgets($fp,128);

$content = explode("<!-- return-start -->", $return);
return $content[1];
}

/**
* Funktion parst die Rückgabe vom Transferskript:
*/
function Parse( $content ) {
$x = explode("\n", $content);
$return = array();
foreach($x as $currentLine) {
$line_exploded = explode(":", $currentLine,2);
if(count($line_exploded) > 1)
$return[$line_exploded[0]] = $line_exploded[1];
}
return $return;
}
/**
* @param int/string $Receiver UserID / Username des Empfängers
* @param int $Amount Betrag in ganzzahligen Primera
* @param string $Description Beschreibung (Sichtbar in Einzelauflistung)
*/
function Pay($Receiver, $Amount, $Description = "") {
$PostData = array("PrimusInterface_Action" => "Pay",
"PrimusInterface_Receiver" => base64_encode($Receiver),
"PrimusInterface_Amount" => base64_encode($Amount),
"PrimusInterface_Description" => base64_encode($Description) );

$PostReturn = $this->Parse( $this->Query($PostData) );

$this->__data = $PostReturn;
if($PostReturn["status"] == "200")
return true;
else
return false;
}

/**
* Überprüft den Status eines Primus-Users
* - existiert der User
* - ist er aktiv
* @param string/int $User Userid / Username
*/
function CheckPrimusUser($User) {
$PostData = array( "PrimusInterface_Action" => "CheckPrimusUser",
"PrimusInterface_CheckPrimusUser" => $User);

$PostReturn = $this->Parse( $this->Query($PostData) );

$this->__data = $PostReturn;

if($PostReturn["status"] == PI_USER_CHECK_OK)
return true;
else
return false;
}

/**
* Die Funktion liefer den aktuellen Primerastand
*
*/
function GetPrimera() {
$PostData = array( "PrimusInterface_Action" => "GetPrimera" );
$PostReturn = $this->Parse( $this->Query($PostData) );

$this->__data = $PostReturn;
if($PostReturn["status"] == PI_GET_PRIMERA_DONE)
return $PostReturn["primera"];
else
return false;
}
};

?>



cu, Swinxx

dude32
01.02.2008, 20:04
danke swinxx aber das hab ich auch, aber suche die für das multiauszahlungsaddon

swinxx
01.02.2008, 20:32
danke swinxx aber das hab ich auch, aber suche die für das multiauszahlungsaddon

Ui, wer ließt is klar im Vorteil :crazy: Hätte nicht gedacht das ich das mal zu mir selber sagen muss :-)

Sry

cu, Swinxx