Even more rewrites/fixes from EL branch (please report any broken part after you...
[mailer.git] / inc / libs / primera_functions.php
index 3f7f445..baf88c8 100644 (file)
@@ -3,7 +3,7 @@
  * PrimeraApi
  * -------------------------------------------
  * Mit dieser Klasse ist ein einfacher Primeratransfer von Ihrem Account
- * zu dem Account eines bei Primusportal.de registrierten Mitglieds möglich.
+ * zu dem Account eines bei Primusportal.de registrierten Mitglieds mglich.
  *
  *------------------ Aenderungen durch Roland Haeder 09.08.2008 ----------------
  * Klasse umbenannt nach PrimeraApi, damit sie in das Framework besser passt.
@@ -14,7 +14,7 @@
  * die Methoden Pay,Query und Parse umbenannt.
  *------------------ Aenderungen durch Roland Haeder 09.08.2008 ----------------
  *
- * Die Einbindung des Interfaces geschieht folgendermaßen:
+ * Die Einbindung des Interfaces geschieht folgendermaen:
  *  1. Einbindung der Klasse in Ihr PHP-Auszahlungsskript:
  *     CODE:
  *       require_once( "PFAD/ZU/DER/KLASSE/PrimeraApi.class.php" );
  *       $PPPassword = "passwort"; // Ihr Passwort bei Primusportal
  *
  *       $Interface = new PrimeraApi($PPUsername, $PPPassword);
- *  2. Durchführen einer Auszahlung:
+ *  2. Durchfhren einer Auszahlung:
  *     CODE:
  *       $Status = $Interface->payPrimera($PayReceiver, $PayAmount, $PayDescription);
  *
- *     Wobei $PayReicer der Username des Empfängers bei
+ *     Wobei $PayReicer der Username des Empfngers 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->payPrimera("garbage", 10000, "Auszahlung IhreSeite.de - ID: 12345");
- *  3. Überprüfung des Status (Rückgabecode):
+ *     die der Empfnger erhalten soll. $PayDescription ist eine von Ihnen
+ *     festgelegte kurze Beschreibung. Die Lnge dieses Textes darf 100 Zeichen
+ *     nicht berschreiten. Beispiel:
+ *       $status = $Interface->payPrimera("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...
+ *     // Fehlerbehandlung hier einfgen...
  *       }else {
- *         // Auszahlung erfolgreich durchgeführt
- *         // Führen Sie hier Ihre Datenbankabfragen durch, um die Auszahlung zu
- *         // bestätigen...
+ *         // Auszahlung erfolgreich durchgefhrt
+ *         // Fhren Sie hier Ihre Datenbankabfragen durch, um die Auszahlung zu
+ *         // besttigen...
  *       }
  *
- *     Die komplette Rückgabe des Interfaces wird als assoziatives Array in der Klassen-
+ *     Die komplette Rckgabe 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"),
+ *     __data => array('status' => Rckgabecode (PI_DONE, PI_SENDER_ERROR, ...),
+ *                     "statustext" => Status in Worten (z.B.: "Transaktion erfolgreich durchgefhrt"),
  *                     ")
  *
  *
@@ -55,6 +55,7 @@
  * @version            1.0 - beta
  * @copyright  (c) 2007 by Primusportal.de
  * @copyright  (c) 2008 by Roland Haeder
+ * @copyright  2009, 2010 by Mailer Developer Team
  */
 class PrimeraApi {
        /**
@@ -63,7 +64,7 @@ class PrimeraApi {
        const PI_ERROR = -1;
 
        /**
-        * Statuscode für erfolgreich ausgeführte Transaktion
+        * Statuscode f�r erfolgreich ausgef�hrte Transaktion
         */
        const PI_DONE = 200;
 
@@ -103,12 +104,12 @@ class PrimeraApi {
        const PI_GET_PRIMERA_DONE = 701;
 
        /**
-        * URL für das Interface auf dem Primusserver:
+        * URL fr das Interface auf dem Primusserver:
         */
        var $host = "http://www.primusportal.de";
        var $path = "/transfer.interface.2.0.php";
 
-       var $errno = 0;
+       var $errno = '0';
        var $err = '';
 
        var $seperator = ':';
@@ -130,7 +131,7 @@ class PrimeraApi {
        }
 
        /**
-        * Anfrage senden und Rückgabecode in Variable speichern
+        * Anfrage senden und Rckgabecode in Variable speichern
         */
        function queryApi ( $data = array() ) {
                // Base64-encode username and password hash
@@ -154,7 +155,7 @@ class PrimeraApi {
        }
 
        /**
-        * Funktion parst die Rückgabe vom Transferskript:
+        * Funktion parst die Rckgabe vom Transferskript:
         */
        function parseContent ( $content ) {
                $x = explode("\n", $content);
@@ -169,7 +170,7 @@ class PrimeraApi {
        }
 
        /**
-        * @param int/string $Receiver UserID / Username des Empfängers
+        * @param int/string $Receiver UserID / Username des Empfngers
         * @param int $Amount Betrag in ganzzahligen Primera
         * @param string $Description Beschreibung (Sichtbar in Einzelauflistung)
         */
@@ -190,7 +191,7 @@ class PrimeraApi {
        }
 
        /**
-        * Überprüft den Status eines Primus-Users
+        * �berpr�ft den Status eines Primus-Users
         * - existiert der User
         * - ist er aktiv
         * @param string/int $User Userid / Username
@@ -234,20 +235,21 @@ class PrimeraApi {
 
 // Function to test the Primera API by getting the amount. If the returned value
 // is not false the API data is valid, else invalid
-function PRIMERA_TEST_API () {
+function testPrimeraApi () {
        // Get new instance
-       $api = new PrimeraApi(REQUEST_POST('primera_api_name'), REQUEST_POST('primera_api_md5'));
+       $api = new PrimeraApi(postRequestParameter('primera_api_name'), postRequestParameter('primera_api_md5'));
 
        // Was that fine?
        return ($api->getPrimera() !== false);
 }
+
 // Execute the withdraw of a sponsor only!
-function PRIMERA_EXECUTE_WITHDRAW ($primusNick, $userMd5, $amount) {
+function executePrimeraWithdraw ($primusNick, $userMd5, $amount) {
        // Is the sponsor extension installed?
-       if (!EXT_IS_ACTIVE('sponsor')) {
+       if (!isExtensionActive('sponsor')) {
                // No, abort here
                return false;
-       } elseif (!IS_SPONSOR()) {
+       } elseif (!isSponsor()) {
                // No sponsor, not allowed to withdraw!
                return false;
        }
@@ -256,23 +258,23 @@ function PRIMERA_EXECUTE_WITHDRAW ($primusNick, $userMd5, $amount) {
        $api = new PrimeraApi($primusNick, $userMd5);
 
        // Prepare purpose
-       $eval = "\$purpose = \"".COMPILE_CODE(sprintf(getMessage('PRIMERA_API_PURPOSE_WITHDRAW'), getSession('sponsorid')))."\";";
-       eval($eval);
+       eval('$purpose = "' . preCompileCode(getMaskedMessage('PRIMERA_API_PURPOSE_WITHDRAW', getSession('sponsorid'))) . '";');
 
        // Pay the Primera
        return $api->payPrimera($primusNick, $amount, $purpose);
 }
+
 // Execute the payout
-function PRIMERA_EXECUTE_PAYOUT ($primusNick, $userMd5, $amount) {
+function executePrimeraPayout ($primusNick, $userMd5, $amount) {
        // Get new instance
        $api = new PrimeraApi(getConfig('primera_api_name'), getConfig('primera_api_md5'));
 
        // Prepare purpose
-       $eval = "\$purpose = \"".COMPILE_CODE(sprintf(getMessage('PRIMERA_API_PURPOSE_PAYOUT'), getUserId()))."\";";
-       eval($eval);
+       eval('$purpose = "' . preCompileCode(getMaskedMessage('PRIMERA_API_PURPOSE_PAYOUT', getMemberId())) . '";');
 
        // Pay the Primera
        return $api->payPrimera($primusNick, $amount, $purpose);
 }
+
 // [EOF]
 ?>