wernis_account varchar(255) NOT NULL default '',
wernis_amount double(22,5) NOT NULL default '0.00000',
wernis_timestamp varchar(10) NOT NULL default '0',
-wernis_type ENUM('IN','OUT') NOT NULL default 'OUT',
+wernis_type ENUM('IN','OUT', 'FAILED') NOT NULL default 'FAILED',
+wernis_api_message TINYTEXT,
+wernis_api_status varchar(255) NULL default NULL
KEY(userid),
PRIMARY KEY(id)
) TYPE=MyISAM";
define('WERNIS_ADMIN_API_MD5', "WDS66-API-Key (api_md5=xxxxx; 32-stellig)");
define('WERNIS_ADMIN_API_URL', "Basis-URL der API-Skripte");
define('WERNIS_ADMIN_REFID', "Ihre Referral-ID bei WDS66-Portal (= Ihr Username!)");
-define('WERNIS_ADMIN_CONFIG_NOTE', "<A href=\"http://www.wds66.com/ref.php?refid=10437\" target=\"_blank\">Hier</A> können Sie schon für <strong>5,00€</strong>=<strong>25.000 Abfragen</strong> ein API-Account beantragen (dazu ist ein <strong>kostenloses</strong> {!POINTS!}-Account dennoch nötig!) <strong>Geben Sie immer Ihren Usernamen von WDS66-Hauptaccount ein und überprüfen Sie diesen mehrmals! Er wird zum Überweisen von {!POINTS!}/Wernis benötigt.");
-define('MEMBER_WERNIS_MODE_CHOOSE', "Möchten Sie {!POINTS!} zu Ihrem WDS66-Hauptaccount ausbezahlt bekommen oder Wernis hier einzahlen?");
+define('WERNIS_ADMIN_CONFIG_NOTE', "<A href=\"http://www.wds66.com/ref.php?refid=10437\" target=\"_blank\">Hier</A> können Sie schon für <strong>5,00€</strong>=<strong>25.000 Abfragen</strong> ein API-Account beantragen (dazu ist ein <strong>kostenloses</strong> {!POINTS!}-Account dennoch nötig!) <strong>Geben Sie immer Ihren Usernamen von WDS66-Hauptaccount ein und überprüfen Sie diesen mehrmals! Er wird zum Überweisen von {!POINTS!}/{!POINTS!} benötigt.");
+define('WERNIS_ADMIN_NO_TRANSFERS', "Derzeit keine {!POINTS!} transferiert!");
+define('WERNIS_ADMIN_WDS66_ACCOUNT', "Account bei WDS66-Portal");
+define('WERNIS_ADMIN_TRANSFERED', "{!POINTS!} transferiert");
+define('WERNIS_ADMIN_TIMESTAMP', "Zeitpunkt Überweisung");
+define('WERNIS_ADMIN_TYPE', "Überweisungsrichtung");
+define('WERNIS_ADMIN_API_MESSAGE', "Nachricht von WDS66-API");
+define('WERNIS_ADMIN_API_STATUS', "Status von WDS66-API");
+define('MEMBER_WERNIS_MODE_CHOOSE', "Möchten Sie {!POINTS!} zu Ihrem WDS66-Hauptaccount ausbezahlt bekommen oder {!POINTS!} hier einzahlen?");
define('MEMBER_WERNIS_MODE_CHOOSE2', "Hier klicken um neue Überweisung zu starten...");
-define('MEMBER_WERNIS_MODE_WITHDRAW', "Wernis einzahlen");
+define('MEMBER_WERNIS_MODE_WITHDRAW', "{!POINTS!} einzahlen");
define('MEMBER_WERNIS_MODE_PAYOUT', "{!POINTS!} auszahlen");
-define('WERNIS_STATUS_UNKNWOWN', "Wernis-Typ <u>%s</u> unbekannt.");
+define('WERNIS_STATUS_UNKNWOWN', "{!POINTS!}-Typ <u>%s</u> unbekannt.");
define('WERNIS_STATUS_WITHDRAW', "Einzahlung von WDS66");
define('WERNIS_STATUS_PAYOUT', "Auszahlung an WDS66");
+define('WERNIS_STATUS_FAILED', "Fehlgeschlagen");
define('WERNIS_TIMESTAMP', "Buchungszeitmarke");
define('WERNIS_ACCOUNT', "WDS66-Hauptaccount");
define('WERNIS_TOTAL_WERNIS', "Gesamt überwiesen");
define('WERNIS_API_REQUEST_ERROR', "Abfragefehler: <u>%s</u>");
define('WERNIS_API_REQUEST_FAILED', "Unbekannter Fehler <u>%s</u> von API erhalten! Bitte im [<A href=\"http://forum.mxchange.org\" target=\"_blank\" title=\"Direktlink zum Forum\">Forum melden</A>], den Fehlercode nennen und wie es dazu gekommen ist.");
define('WERNIS_API_REQUEST_FAILED_AUTH', "Authorisierung an API fehlgeschlagen! Bitte API-ID und Key überprüfen. [<A href=\"http://www.wds66.com/modules.php?module=export\" target=\"_blank\" title=\"Direkt zum WDS66-Exportaccount\">Hier</A>] direkt zum Export-Account. Sie benötigen Ihren Usernamen und Passwort!");
-define('WERNIS_API_REQUEST_FAILED_USER', "Useraccount nicht gefunden oder Wernis-Passwort ist ungültig!");
+define('WERNIS_API_REQUEST_FAILED_USER', "Useraccount nicht gefunden oder {!POINTS!}-Passwort ist ungültig!");
define('WERNIS_API_REQUEST_FAILED_OWN', "Überweisung an eigenes Account nicht möglich.");
define('WERNIS_API_REQUEST_FAILED_AMOUNT', "Konto weist nicht genügend Deckung auf.");
define('WERNIS_API_REQUEST_FAILED_API_AMOUNT', "API-Konto weist nicht genügend Deckung auf.");
define('WERNIS_MEMBER_NO_ACCOUNT', "Noch kein WDS66-Account? Hier entlang!");
define('WERNIS_MEMBER_API_DATA_MISSING', "Diese Funktion kann derzeit nicht genutzt werden, da wir sie noch einrichten müssen.");
define('WERNIS_MEMBER_MIN_PAYOUT_PAYOUT', "Sie haben nicht genügend {!POINTS!} zum Auszahlen! Mindestens: <u>%s</u> {!POINTS!}.");
-define('WERNIS_MEMBER_WITHDRAW_TITLE', "Wernis bei {!MAIN_TITLE!} einzahlen:");
+define('WERNIS_MEMBER_WITHDRAW_TITLE', "{!POINTS!} bei {!MAIN_TITLE!} einzahlen:");
define('WERNIS_MEMBER_WITHDRAW_POINTS_ACCOUNT', "{!POINTS!} hier im Account:");
-define('WERNIS_MEMBER_WITHDRAW_MIN_POINTS', "Mindest einzuzahlendes Wernis-Guthaben:");
+define('WERNIS_MEMBER_WITHDRAW_MIN_POINTS', "Mindest einzuzahlendes {!POINTS!}-Guthaben:");
define('WERNIS_MEMBER_WITHDRAW_SUBMIT', "{!POINTS!} jetzt einzahlen");
-define('WERNIS_MEMBER_WITHDRAW_NOTE', "Ihr Wernis-Passwort wird bei {!MAIN_TITLE!} nicht gespeichert. Bitte bei Wernis-Betrag nur gerade Beträge eingeben! Ihr WDS66-Konto sollte ausreichend Deckung aufweisen!");
-define('WERNIS_MEMBER_PAYOUT_TITLE', "Wernis auf Ihr WDS66-Hauptaccount auszahlen");
+define('WERNIS_MEMBER_WITHDRAW_NOTE', "Ihr {!POINTS!}-Passwort wird bei {!MAIN_TITLE!} nicht gespeichert. Bitte bei {!POINTS!}-Betrag nur gerade Beträge eingeben! Ihr WDS66-Konto sollte ausreichend Deckung aufweisen!");
+define('WERNIS_MEMBER_PAYOUT_TITLE', "{!POINTS!} auf Ihr WDS66-Hauptaccount auszahlen");
define('WERNIS_MEMBER_PAYOUT_POINTS', "Auszahlfähiges {!POINTS!}-Guthaben");
define('WERNIS_MEMBER_PAYOUT_MIN_POINTS', "Mindestens auszuzahlendes {!POINTS!}-Guthaben");
define('WERNIS_MEMBER_PAYOUT_SUBMIT', "Auszahlung durchführen");
-define('WERNIS_MEMBER_PAYOUT_NOTE', "Ihr Wernis-Passwort wird bei {!MAIN_TITLE!} nicht gespeichert. Bitte bei Wernis-Betrag nur gerade Beträge eingeben! Überprüfen Sie vor dem Absenden Ihren WDS66-Usernamen.");
+define('WERNIS_MEMBER_PAYOUT_NOTE', "Ihr {!POINTS!}-Passwort wird bei {!MAIN_TITLE!} nicht gespeichert. Bitte bei {!POINTS!}-Betrag nur gerade Beträge eingeben! Überprüfen Sie vor dem Absenden Ihren WDS66-Usernamen.");
define('WERNIS_MEMBER_WDS66_ID', "Username bei WDS66-Portal: [<A href=\"http://www.wds66.com/modules.php?module=psw_verg\" target=\"_blank\">Vergessen?</A>]");
-define('WERNIS_MEMBER_WDS66_PASSWORD', "Wernis-Passwort (nicht Accountpasswort!): [<A href=\"http://www.wds66.com/modules.php?module=psw_verg\" target=\"_blank\">Vergessen?</A>]");
+define('WERNIS_MEMBER_WDS66_PASSWORD', "{!POINTS!}-Passwort (nicht Accountpasswort!): [<A href=\"http://www.wds66.com/modules.php?module=psw_verg\" target=\"_blank\">Vergessen?</A>]");
define('WERNIS_MEMBER_WDS66_AMOUNT', "Zu überweisenden Betrag eingeben:");
define('WERNIS_MEMBER_MODE_INVALID', "Ungültiger Modus <u>%s</u> erkannt! Bitte links im Menü fortfahren.");
define('WERNIS_MEMBER_EMPTY_USERNAME', "Sie haben Ihren WDS66-Usernamen nicht eingegeben.");
-define('WERNIS_MEMBER_EMPTY_PASSWORD', "Sieh haben kein Wernis-Passwort eingegeben.");
+define('WERNIS_MEMBER_EMPTY_PASSWORD', "Sieh haben kein {!POINTS!}-Passwort eingegeben.");
define('WERNIS_MEMBER_EMPTY_AMOUNT', "Sie haben keine zu überweisende Betrag angegeben.");
define('WERNIS_MEMBER_INVALID_USERNAME', "Bitte nur Zahlen für den WDS66-Usernamen eingeben!");
define('WERNIS_MEMBER_INVALID_AMOUNT', "Bitte nur Zahlen für den zu überweisenden Betrag eingeben!");
}
// Widthdraw this amount
-function WERNIS_EXECUTE_WITHDRAW($userId, $userMd5, $amount) {
+function WERNIS_EXECUTE_WITHDRAW ($wdsId, $userMd5, $amount) {
global $_CONFIG;
$result = false;
// Prepare the request data
$requestData = array(
'sub_request' => "receive",
- 't_uid' => bigintval($userId),
+ 't_uid' => bigintval($wdsId),
't_md5' => $userMd5,
'r_uid' => $_CONFIG['wernis_refid'],
'amount' => bigintval($amount),
if ($return['status'] == "OK") {
// All fine!
$result = true;
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'IN');
} else {
// Status failture text
WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'FAILED', $return['message'], $return['status']);
}
// Return result
// Payout this amount
-function WERNIS_EXECUTE_PAYOUT($userId, $userMd5, $amount) {
+function WERNIS_EXECUTE_PAYOUT ($wdsId, $userMd5, $amount) {
global $_CONFIG;
$result = false;
// Prepare the request data
$requestData = array(
'sub_request' => "send",
- 't_uid' => bigintval($userId),
+ 't_uid' => bigintval($wdsId),
't_md5' => $userMd5,
'r_uid' => $_CONFIG['wernis_refid'],
'amount' => bigintval($amount),
if ($return['status'] == "OK") {
// All fine!
$result = true;
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'OUT');
} else {
// Status failture text
WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'FAILED', $return['message'], $return['status']);
}
// Return result
}
// Translate the status IN/OUT
-function WERNIS_TRANSFER_STATUS($status) {
+function WERNIS_TRANSFER_STATUS ($status) {
// Default status
$return = sprintf(WERNIS_STATUS_UNKNWOWN, $status);
switch ($status) {
case "OUT": // Payout
$return = WERNIS_STATUS_PAYOUT;
break;
+
+ case "FAILED": // Payout
+ $return = WERNIS_STATUS_FAILED;
+ break;
}
// Return the status
return $return;
}
+function WERNIS_LOG_TRANSFER ($wdsId, $amount, $type = 'FAILED', $message = null, $status = null) {
+ // Register this wernis movement
+ $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_wernis (`userid`, `wernis_account`, `wernis_amount`, `wernis_timestamp`, `wernis_type`, `wernis_api_message`, `wernis_api_status`) VALUES(%d, %d, %d, UNIX_TIMESTAMP(), '%s', '%s', '%s')",
+ array($GLOBALS['userid'], bigintval($wdsId), bigintval($amount), $type, $message, $status), __FILE__, __LINE__);
+}
+
//
?>
// Add description as navigation point
ADD_DESCR("admin", basename(__FILE__));
+// Check for entries
+$result = SQL_QUERY("SELECT id, userid, wernis_account, wernis_amount, wernis_timestamp, wernis_type, wernis_api_message, wernis_api_status FROM "._MYSQL_PREFIX."_user_wernis ORDER BY wernis_timestamp DESC, id DESC",
+ __FILE__, __LINE__);
+
+// Are there some entries to display?
+if (SQL_NUMROWS($result) > 0) {
+ // List all entries
+ $OUT = ""; $SW = 2;
+ while ($content = SQL_FETCHARRAY($result)) {
+ // Translate some data and add color
+ $content['sw'] = $SW;
+ $content['link'] = ADMIN_USER_PROFILE_LINK($content['userid']);
+ $content['wernis_amount'] = TRANSLATE_COMMA($content['wernis_amount']);
+ $content['wernis_timestamp'] = MAKE_DATETIME($content['wernis_timestamp'], "2");
+ $content['raw_type'] = strtolower($content['wernis_type']);
+ $content['wernis_type'] = WERNIS_TRANSFER_STATUS($content['wernis_type']);
+
+ // Append it and switch colors
+ $OUT .= LOAD_TEMPLATE("admin_list_wernis_row", true, $content);
+ $SW = 3 - $SW;
+ }
+
+ // Load main template
+ LOAD_TEMPLATE("admin_list_wernis_main", false, $OUT);
+} else {
+ // Nothing to display!
+ LOAD_TEMPLATE("admin_setting_saved", false, WERNIS_ADMIN_NO_TRANSFERS);
+}
+
+// Free the result
+SQL_FREERESULT($result);
+
//
?>
while ($data = SQL_FETCHARRAY($result)) {
// Prepare data for output
$rowContent = array(
- 'stamp' => MAKE_DATETIME($data['wernis_timestamp'], "2"),
- 'points' => TRANSLATE_COMMA($data['wernis_amount']),
- 'acc' => bigintval($data['wernis_account']),
- 'status' => WERNIS_TRANSFER_STATUS($data['wernis_type']),
- 'sw' => $SW,
+ 'stamp' => MAKE_DATETIME($data['wernis_timestamp'], "2"),
+ 'points' => TRANSLATE_COMMA($data['wernis_amount']),
+ 'acc' => bigintval($data['wernis_account']),
+ 'status' => WERNIS_TRANSFER_STATUS($data['wernis_type']),
+ 'raw_type' => strtolower($data['wernis_type']),
+ 'sw' => $SW,
);
// Load row template
$DEPTH = 0;
ADD_POINTS_REFSYSTEM($GLOBALS['userid'], bigintval($_POST['amount']), false, 0, false, "direct");
- // Register this wernis movement
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_wernis (`userid`, `wernis_account`, `wernis_amount`, `wernis_timestamp`, `wernis_type`) VALUES(%d, %d, %d, UNIX_TIMESTAMP(), 'IN')",
- array($GLOBALS['userid'], bigintval($_POST['wds66_id']), bigintval($_POST['amount'])), __FILE__, __LINE__);
-
// Update the user data as well..
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET `wernis_userid`=%d WHERE userid=%d LIMIT 1",
array(bigintval($_POST['wds66_id']), $GLOBALS['userid']), __FILE__, __LINE__);
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET `used_points` = `used_points` + %d, `wernis_userid`=%d WHERE userid=%d LIMIT 1",
array(bigintval($_POST['amount']), bigintval($_POST['wds66_id']), $GLOBALS['userid']), __FILE__, __LINE__);
- // Register this wernis movement
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_wernis (`userid`, `wernis_account`, `wernis_amount`, `wernis_timestamp`, `wernis_type`) VALUES(%d, %d, %d, UNIX_TIMESTAMP(), 'OUT')",
- array($GLOBALS['userid'], bigintval($_POST['wds66_id']), bigintval($_POST['amount'])), __FILE__, __LINE__);
-
// All done!
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_PAYOUT_DONE);
return;
<TR>
- <TD align="center" class="switch_sw$content[sw] bottom2 right2">$content[points] {!POINTS!}</TD>
- <TD align="center" class="switch_sw$content[sw] bottom2 right2">$content[acc]</TD>
- <TD align="center" class="switch_sw$content[sw] bottom2 right2">$content[stamp]</TD>
- <TD align="center" class="switch_sw$content[sw] bottom2">$content[status]</TD>
+ <TD align="center" class="switch_sw$content[sw] wernis_type_$content[raw_type] bottom2 right2">$content[points] {!POINTS!}</TD>
+ <TD align="center" class="switch_sw$content[sw] wernis_type_$content[raw_type] bottom2 right2">$content[acc]</TD>
+ <TD align="center" class="switch_sw$content[sw] wernis_type_$content[raw_type] bottom2 right2">$content[stamp]</TD>
+ <TD align="center" class="switch_sw$content[sw] wernis_type_$content[raw_type] bottom2">$content[status]</TD>
</TR>