Merge pull request #1275 from TheSerapher/issue-1177

Issue 1177
This commit is contained in:
Sebastian Grewe 2014-01-07 00:43:48 -08:00
commit 8ddffac34a
3 changed files with 101 additions and 2 deletions

View File

@ -68,7 +68,7 @@ if ($setting->getValue('disable_manual_payouts') != 1) {
try {
$txid = $bitcoin->sendtoaddress($aData['coin_address'], $dBalance - $config['txfee']);
} catch (BitcoinClientException $e) {
$log->logError('Failed to send requested balance to coin address, please check payout process');
$log->logError('Failed to send requested balance to coin address, please check payout process. Does the wallet cover the amount?');
continue;
}
@ -132,7 +132,7 @@ if ($setting->getValue('disable_auto_payouts') != 1) {
try {
$txid = $bitcoin->sendtoaddress($aUserData['coin_address'], $dBalance - $config['txfee']);
} catch (BitcoinClientException $e) {
$log->logError('Failed to send requested balance to coin address, please check payout process');
$log->logError('Failed to send requested balance to coin address, please check payout process. Does the wallet cover the amount?');
continue;
}

47
scripts/shared.inc.php Normal file
View File

@ -0,0 +1,47 @@
<?php
/*
Copyright:: 2013, Sebastian Grewe
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// MODIFY THIS
// We need to find our include files so set this properly
define("BASEPATH", "../public/");
/*****************************************************
* No need to change beyond this point *
*****************************************************/
// Our security check
define("SECURITY", 1);
// Include our configuration (holding defines for the requires)
require_once(BASEPATH . 'include/config/global.inc.php');
// We include all needed files here, even though our templates could load them themself
require_once(INCLUDE_DIR . '/autoloader.inc.php');
/**
* Not used as of yet, may be added later
**/
// Command line switches
// array_shift($argv);
// foreach ($argv as $option) {
// switch ($option) {
// }
// }
?>

52
scripts/validate_addresses.php Executable file
View File

@ -0,0 +1,52 @@
#!/usr/bin/php
<?php
/*
Copyright:: 2013, Sebastian Grewe
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/**
* Simple script to fetch all user accounts and their coin addresses, then runs
* them against the RPC to validate. Will allow admins to find users with invalid addresses.
**/
// Change to working directory
chdir(dirname(__FILE__));
// Include all settings and classes
require_once('shared.inc.php');
// Fetch all users
$users = $user->getAllAssoc();
// Table mask
$mask = "| %-35.35s | %-35.35s | %-40.40s | %-7.7s |\n";
echo 'Validating all coin addresses. This may take some time.' . PHP_EOL . PHP_EOL;
printf($mask, 'Username', 'E-Mail', 'Address', 'Status');
foreach ($users as $aData) {
if (empty($aData['coin_address'])) {
$status = 'UNSET';
}
$ret = $bitcoin->validateaddress($aData['coin_address']);
if ($ret['isvalid']) {
$status = 'VALID';
} else {
$status = 'INVALID';
}
printf($mask, $aData['username'], $aData['email'], $aData['coin_address'], $status);
}