Commit Graph

732 Commits

Author SHA1 Message Date
root
03aef00367 [IMPROVED] Added some block stats to Pool Statistics 2013-10-28 20:42:39 +01:00
Sebastian Grewe
c6dd4086ff Merge pull request #764 from TheSerapher/payout-fixes
Payout fixes
2013-10-28 05:20:19 -07:00
Sebastian Grewe
c61c5f096e [MERGE] Fix merge conflicts 2013-10-28 07:14:25 +01:00
Sebastian Grewe
7a95e4c086 Merge pull request #775 from obigal/admin-reports
Admin panel earnings report
2013-10-27 22:47:47 -07:00
obigal
1b277c69cf admin panel reports 2013-10-27 10:24:49 -04:00
Sebastian Grewe
a841880fe7 Merge pull request #760 from TheSerapher/issue-759
Issue 759
2013-10-27 07:02:02 -07:00
obigal
aeaeb32d4a admin panel pool-workers 2013-10-27 09:45:52 -04:00
Sebastian Grewe
e238323395 Merge pull request #772 from TheSerapher/issue-770
[FIX] TX Summary for Accounts
2013-10-27 03:41:36 -07:00
Sebastian Grewe
b8159f06d7 [IMPROVED] Roundstatistics code and templates
* [IMPROVED] Removed uneeded data array from round page
* [IMRPOVED] Sorted round shares via User ID as key for easier access
* [IMPROVED] Added share count to transaction list in prop
2013-10-27 09:12:34 +01:00
Sebastian Grewe
bae4f1712c [FIX] TX Summary for Accounts
Fixes #770
2013-10-27 08:41:25 +01:00
Sebastian Grewe
a2472284a8 [FIX] Proper fetch Archive Shares
Is now in-line with getMininumShareId.
2013-10-27 03:28:41 +01:00
Sebastian Grewe
20a9fc3e28 Revert "[FIX] Fixed potential PPLNS issue"
This reverts commit ee46e65fca.
2013-10-27 02:51:03 +01:00
Sebastian Grewe
1d180c3e3d [FIX] Do not include orphans in transaction summary 2013-10-27 02:18:49 +01:00
Sebastian Grewe
a6f9c25b5b [UPDATE] Proper implementation of target bits
* [ADDED] New Config Option: Algorithm
 * scrypt and sha256d supported right now
 * might add SHA coin support across MPOS
 * Compatible with previous implementation
* [REMOVED] config option: pps_target
 * Replaced by config option: algorithm
 * Please update your config, defaults to srypt now!
* [ADDED] Unpaid Shares in Dashboard
* [MODIFIED] User estshares from DB query instead template math
2013-10-26 14:10:34 +02:00
Sebastian Grewe
3326ce0927 [FIX] 14 and 30 days estimates 2013-10-26 09:48:07 +02:00
Sebastian Grewe
0838bc7783 [FIX] Fixing PPS calculations
* [FIX] PPS estimations
* [FIX] PPS Value, PPS Payouts being off (too low)

Tested on testnet, estimates worked perfectly and payouts worked well.
2013-10-26 02:38:24 +02:00
Sebastian Grewe
ee46e65fca [FIX] Fixed potential PPLNS issue
* getMinimumShareId did not use Share Counts but Weights
2013-10-26 02:35:51 +02:00
Sebastian Grewe
a545362ba5 [FIX] getUserShareDifficulty must return 0 on NULL 2013-10-25 14:48:36 +02:00
Sebastian Grewe
ccb8faf5e3 Merge pull request #763 from TheSerapher/issue-743
[IMPROVED] User payout estimations
2013-10-25 02:43:18 -07:00
Sebastian Grewe
1c2b84bb50 Merge pull request #744 from obigal/pplns-stats
Pplns stats
2013-10-25 00:50:16 -07:00
Sebastian Grewe
0addd6ec80 [IMPROVED] User payout estimations
* [ADDED] Proper PPS caclulations to statistics getUserEstimates
* [IMPROVED] Updated themes to use new estimates format in global smarty
* [IMPROVED] Updated PPS Dashboard to update estimates via Ajax
* [IMPROVED] Added PPS estimates to getdashboarddata API

This will require theme updates for those sites relying on the
est_<value> format for user payout estimates!

Fixes #743 once merged.
2013-10-25 09:31:25 +02:00
Sebastian Grewe
c09f8700a0 [FIX] My Workers hashrate/difficulty 2013-10-24 14:03:16 +02:00
Sebastian Grewe
412fbe3f5b [FIX] Proper getTableName in Base Class 2013-10-24 12:32:58 +02:00
Sebastian Grewe
ac5c0fce95 [IMPROVED] Out of Order Share detection
* [ADDED] Allow findblocks to detect and fix out of order shares
* [IMPROVED] Share class extends Base class for common functions
* [IMPROVED] Added more debugging and logging output to cronjob
* [ADDED] Added various new methods to blocks, share, base classes

For an overview of errors thrown in crons, please check:

https://github.com/TheSerapher/php-mpos/wiki/Error-Codes

Fixes #759 once merged.
2013-10-24 12:04:00 +02:00
Sebastian Grewe
1c5b53452a [FIX] Do not parse non-existing cache data, use SQL 2013-10-23 07:55:17 +02:00
Sebastian Grewe
a97fd7341f [IMPROVED] User real account name for contributor lists 2013-10-23 07:36:29 +02:00
obigal
c2169576ee round stats fixes 2013-10-23 00:28:24 -04:00
Sebastian Grewe
bbb2290dcc [IMPROVED] Look & Feel of basic Dashboard info
* [ADDED] Pool Workers live Update!
* [IMPROVED] PPLNS and PPS dashboard data
* [IMPROVED] Adjusted all dashboard to look alike
2013-10-22 21:01:34 +02:00
Sebastian Grewe
813ad615d4 [FIX] Messed up getIdleWorkers name 2013-10-22 20:29:27 +02:00
Sebastian Grewe
35e7c04386 Merge pull request #747 from TheSerapher/issue-739
[FIX] Honor top share contributors limits
2013-10-22 06:55:31 -07:00
obigal
7e49e7c254 pplns-stats, block-stats paging, dynamic and reverse payout 2013-10-22 09:07:31 -04:00
Sebastian Grewe
3f99e48360 [FIX] Active worker count method
* Mmodified Query to properly return total active workers

Fixes #740 once merged.
2013-10-21 16:44:13 +02:00
Sebastian Grewe
59a46dd48c [FIX] Honor top share contributors limits 2013-10-21 16:33:06 +02:00
Sebastian Grewe
c89831943b [FIX] Fixed issues with uncached user shares data 2013-10-19 09:02:15 +02:00
Sebastian Grewe
8786a99382 [FIX] Fix sending mails even though diabled
Fixes #732
2013-10-18 07:21:51 +02:00
Sebastian Grewe
50fb5218b1 [FIX] Use existing getDonatePercent 2013-10-16 11:54:59 +02:00
Sebastian Grewe
aedb37aa3d [IMPROVED] Added getUserEstimates method 2013-10-16 11:34:59 +02:00
Sebastian Grewe
f636e4fc99 [FIX] Return 0 data not NULL if cache-key missing 2013-10-16 09:35:12 +02:00
Sebastian Grewe
a06d64e1fb [IMPROVED] Added case-insensitive login
* [IMPROVED] Added Username/Email password reset

Fixes #709
2013-10-10 17:06:01 +02:00
Sebastian Grewe
0dca798f5c [FIX] Do not notify on missing cache entry 2013-10-07 13:48:48 +02:00
Sebastian Grewe
1dfb7e9702 Merge pull request #673 from TheSerapher/issue-444-theserapher
Issue 444 theserapher
2013-10-04 02:27:28 -07:00
obigal
66296a8f36 pplns_payout block average fix when multiple blocks found during a payout run 2013-10-02 16:42:03 -04:00
Sebastian Grewe
617ff46689 Merge branch 'next' into issue-444-theserapher 2013-09-30 13:50:43 +02:00
Sebastian Grewe
d74770aaeb [FIX] Proper formatting for network hashrates 2013-09-30 13:50:13 +02:00
Sebastian Grewe
fe982c112c Merge branch 'next' into issue-444-theserapher 2013-09-30 13:43:44 +02:00
Sebastian Grewe
594b2c0e10 [FIX] Network Hashrate on Novacoin 2013-09-30 13:43:27 +02:00
Sebastian Grewe
1d4f60b4d9 [FIX] Logout on HTTPS 2013-09-30 13:25:27 +02:00
Sebastian Grewe
64205dd099 [MERGE] Fix merge conflict with NEXT 2013-09-30 09:56:49 +02:00
Sebastian Grewe
db89768cd5 Merge pull request #648 from TheSerapher/issue-145
Issue 145
2013-09-30 00:53:45 -07:00
Sebastian Grewe
84071cbd5d Merge branch 'next' into issue-444-theserapher 2013-09-25 11:35:24 +02:00
Sebastian Grewe
abcd62d8e8 Fix #657, added getmininginfo to wrapper 2013-09-25 11:31:42 +02:00
Sebastian Grewe
1f6ec91dfa Honor donations and anon state in caches 2013-09-25 11:08:12 +02:00
Sebastian Grewe
6c3d2d1e96 Allow Public ACL for all round transactions 2013-09-25 10:34:36 +02:00
Sebastian Grewe
716e118041 Update statistics.class.php
Fixes #664
2013-09-23 07:11:43 +02:00
Sebastian Grewe
baeae10027 Merge branch 'next' into issue-444-theserapher 2013-09-20 16:11:41 +02:00
Sebastian Grewe
432f2b1fba Merge branch 'next' into issue-145 2013-09-20 16:11:25 +02:00
Sebastian Grewe
ab90b045c0 [FIX #662] IDLE Worker False Positives 2013-09-20 16:07:57 +02:00
Sebastian Grewe
5ce61d9f18 Merge branch 'next' into issue-145 2013-09-19 09:25:15 +02:00
Sebastian Grewe
c4d11885e3 [FIX] Properly show user sharerate 2013-09-19 09:24:48 +02:00
Sebastian Grewe
1387bbdf44 [MERGE] Merge conflict NEXT 2013-09-18 16:34:52 +02:00
Sebastian Grewe
c578c504ed [MERGE] Conflict with NEXT 2013-09-18 16:32:29 +02:00
Sebastian Grewe
d863e66ef4 [BUG] Fixing contrib shares issue without cache 2013-09-18 16:31:36 +02:00
Sebastian Grewe
50cc2da3a3 [BUG] Fixed contrib shares with empty cache 2013-09-18 16:23:34 +02:00
Sebastian Grewe
c8f19d2841 Revert "[FEATURE] Added Ajax JSON Memcache"
This reverts commit bd8796b824.

It turns out it's pretty much useless as long as the data passed to
get_json is not also being cached.
2013-09-18 13:16:25 +02:00
Sebastian Grewe
bd8796b824 [FEATURE] Added Ajax JSON Memcache 2013-09-18 13:11:24 +02:00
Sebastian Grewe
1a9ada84d4 fixing merge conflict from next to branch 2013-09-18 11:46:22 +02:00
Sebastian Grewe
a349e1e060 use archive table for sharerate calcs 2013-09-18 11:38:51 +02:00
Sebastian Grewe
4954f14923 Merge branch 'next' into issue-444-theserapher 2013-09-18 11:03:07 +02:00
Sebastian Grewe
07f0361050 [IMPROVEMENT] Support incremental contrib shares 2013-09-18 10:48:02 +02:00
Sebastian Grewe
a0fa71b264 [IMPROVEMENT] Adding incremental round/user shares
This will address #510. It needs thorough testing and is a WiP but
is a start to improve cron runtime and DB loads.
2013-09-18 09:45:52 +02:00
Sebastian Grewe
5e64d43732 [IMPROVEMENT] Allow user login via E-Mail 2013-09-18 07:33:57 +02:00
Sebastian Grewe
fbf2a86162 [FIX] Properly redirect after login 2013-09-18 07:24:34 +02:00
Sebastian Grewe
cdf71cbfba adding account balance to new dashboard via Ajax 2013-09-17 14:27:46 +02:00
Sebastian Grewe
4ffca7d5ac API overhaul for easier handling of API calls
* [FEATURE] Allow in-class checking for user permissions
* [FEATURE] Allow in-class creation of the JSON data for coherence
* [FEATURE} Added API version in JSON data for client side checks
* [IMPROVEMENT] Adjusted all API calls to use the new JSON layout

**NOTE**: This is breaking backwads compatibility with the old API!
Please adjust your client application to support this new version.
The data array should not change much more other than added features.
2013-09-17 11:55:54 +02:00
Sebastian Grewe
e88d80cd02 Merge branch 'next' into issue-444-theserapher 2013-09-17 09:42:56 +02:00
Sebastian Grewe
bbe39228e1 Bitcoin Wrapper improvements
* [FEATURE] Allow for PoS/PoW Detecion in getdifficulty
* [FEATURE] Allow for SHA detecion in getnetworkhashps
* [IMRPOVEMENT] Added caching for bitcoin values (30s only)
 * Will reduce the amount of RPC calls for high load pages
2013-09-17 09:36:08 +02:00
Sebastian Grewe
faadf7cbaf [FEATURE] Proper login/logout/auth redirects
* Allow to redirect to referrer page when access is denied
* Logout user and point towards login, add redirect
* Logout user as usual but added save redirects
* Adjusted templates and page codes
2013-09-14 21:20:12 +02:00
Sebastian Grewe
e6ab8006d1 [FEATURE] Adding more to gauges, adding graph to dashboard
* Adding live-updates for gauges
* Adding new API calls
* Updated statistics to allow custom intervals
* Disabled caching for API calls for now
* Added new hashrate graph with auto-update

Addresses #444
2013-09-14 14:43:14 +02:00
Sebastian Grewe
5e1c3ae372 fixing issue mentioned in #145 with payouts 2013-09-12 13:22:39 +02:00
nrpatten
34bc88533f Update mail.class.php 2013-09-12 19:57:30 +10:00
nrpatten
493dfcd85c Update mail.class.php 2013-09-12 19:55:59 +10:00
Sebastian Grewe
62c0641131 Merge branch 'next' into issue-145 2013-09-09 14:53:42 +02:00
Sebastian Grewe
5c11c74974 allow simple authentication checks wihtout logout 2013-09-09 07:45:55 +02:00
Sebastian Grewe
bc7e511177 removing debug echos 2013-09-06 15:00:47 +02:00
Sebastian Grewe
5257001153 fixing blockhash in round block details 2013-09-06 14:55:44 +02:00
Sebastian Grewe
f87a7fc380 Merge branch 'next' into issue-145 2013-09-06 10:55:31 +02:00
Sebastian Grewe
b656be751d indentations 2013-09-06 10:51:55 +02:00
Sebastian Grewe
d4ce764d77 proper allow back/forth on blocks 2013-09-06 10:49:19 +02:00
Sebastian Grewe
b3ba080345 obigals work, cherrypicked 2013-09-06 09:48:08 +02:00
Sebastian Grewe
0e27cda093 Fix: Blocks not being confirmed
Fixes an issue introduce with #610.
2013-08-26 11:11:52 +02:00
Sebastian Grewe
e6cf43efa0 Fix: Properly send notifications again
Fixes #630
2013-08-23 11:28:07 +02:00
Sebastian Grewe
6eec747be6 fixing PPLNS payouts one last time 2013-08-22 16:16:04 +02:00
Sebastian Grewe
db754c146e Revert "Revert "adjusting pplns target to baseline shares""
Reverting the revert .... :-/

This reverts commit 2d27132725.
2013-08-22 15:20:46 +02:00
Sebastian Grewe
927fc12cb3 fixing admin panel user info 2013-08-22 15:01:00 +02:00
Sebastian Grewe
2d27132725 Revert "adjusting pplns target to baseline shares"
* Shares are already baselined when calculating rounds

This reverts commit c9a8f8dc65.
2013-08-22 14:51:30 +02:00
Sebastian Grewe
c9a8f8dc65 adjusting pplns target to baseline shares 2013-08-22 14:39:46 +02:00
Sebastian Grewe
eb435b4072 fixing difficulty per worker value 2013-08-22 12:33:29 +02:00
Sebastian Grewe
6522fb2747 fixing merge conflicts 2013-08-22 11:54:17 +02:00
Sebastian Grewe
1f6ccfd6be Merge pull request #628 from TheSerapher/issue-610
Issue 610
2013-08-22 02:47:46 -07:00
Sebastian Grewe
1c24820735 Adding network_confirmations to configuration
* Added new configuration option `$config['network_confirmations']` to
  dist config
* Default to 120 if not set

This will allow us to define a different confirmation level for user
transactions but still display blocks at their approriate unconfirmed
value when displaying them in the wallet information for admins. Risky
for pool owners but still a viable option.

Fixes #610
2013-08-22 11:45:40 +02:00
Sebastian Grewe
10a794cd4f Merge pull request #626 from TheSerapher/issue-622
Issue 622
2013-08-22 02:36:12 -07:00
Sebastian Grewe
6ec5b4b845 Fixing hashrate graphs
* Proper initilize array in order
* Fill data after initilizing
* Removed 0 fills

Thanks @iriiria for this fix!

Fixes #624
2013-08-22 11:33:26 +02:00
Sebastian Grewe
ae1a5c8ed3 Use baseline shares for share class 2013-08-22 11:30:13 +02:00
Sebastian Grewe
b23dd56bc8 Adding baseline shares to statistics class
* Calculate shares towards our base diff
* Calculate share rate based on actual shares not diff
2013-08-22 11:29:26 +02:00
Sebastian Grewe
56cfa24eb4 Include worker diff in API
Addresses #145
2013-08-20 17:03:41 +02:00
Sebastian Grewe
96066993ac adding per-worker difficulty display 2013-08-20 16:50:40 +02:00
Sebastian Grewe
526701d2e1 Merging with origin/next to get branch updated 2013-08-20 15:55:05 +02:00
Sebastian Grewe
7ec8fa9b95 Moving a lot of settings from config to adminpanel
* Migrated configuration options to admin panel
* Removed configuration options from config file
* Added help text for each configuration option into panel

Addresses #622 and needs extensive testing by pools. A lot has changed
so pool owners might have to adjust their own templates to match this
new system.
2013-08-20 12:02:47 +02:00
Sebastian Grewe
7e4c5dab4e Adding unconfirmed blocks to wallet
First attempt addressing #610, still missing a detection for the actual
confirmation limit required for each block in case one lowers it in the
config.
2013-08-19 09:31:53 +02:00
Sebastian Grewe
1708e5d2b5 Do not add 24th hour, use 0 hour 2013-08-15 10:03:22 +02:00
Sebastian Grewe
14c0535b10 Fill empty hours with proper data
* Properly sort the array prior to sending it back
 * Sort from current to one hour earlier for proper data display
 * Adjusted templates to use new sorted arrays

Fixes #606
2013-08-15 09:58:33 +02:00
Sebastian Grewe
50f380c25e first test to fill with data 2013-08-15 09:14:02 +02:00
Sebastian Grewe
1a459a7913 Adding transaction summary by types
Addresses #581
2013-08-08 12:02:39 +02:00
Sebastian Grewe
03da52117a Fix user seeing other users transactions
Fixes #577
2013-08-08 09:36:05 +02:00
Sebastian Grewe
0dbe1ebe11 fixing hashrate graphs 2013-08-07 09:45:40 +02:00
obigal
1819a47bf4 Vardiff/pushpool and pps payout support 2013-08-07 09:44:11 +02:00
obigal
360bd22dc6 Updates 2013-08-07 09:42:06 +02:00
obigal
fcb9ebd529 Update statistics.class.php 2013-08-07 09:41:19 +02:00
obigal
6f3a7c5b50 Update share.class.php 2013-08-07 09:40:25 +02:00
obigal
1f2bc294f2 Update for pushpool compatibility 2013-08-07 09:39:04 +02:00
obigal
84e22ae4a9 Update share.class.php 2013-08-07 09:36:26 +02:00
obigal
f4451aee1c Update share.class.php 2013-08-07 09:33:41 +02:00
obigal
f452f79f07 Update statistics.class.php 2013-08-07 09:32:51 +02:00
obigal
691611eb13 Update share.class.php 2013-08-07 09:30:39 +02:00
obigal
ef234fe80b Vardiff/pushpool and pps payout support 2013-08-07 09:29:48 +02:00
obigal
c3a63d58ce Updates 2013-08-07 09:29:48 +02:00
obigal
b6f3fd5972 Update statistics.class.php 2013-08-07 09:29:48 +02:00
obigal
5607103d81 Update share.class.php 2013-08-07 09:29:48 +02:00
obigal
d89c1f43c8 Update for pushpool compatibility 2013-08-07 09:29:48 +02:00
obigal
41183b2e65 Update for pushpool compatibility 2013-08-07 09:29:48 +02:00
obigal
657839014a Update for pushpool compatibility 2013-08-07 09:29:48 +02:00
obigal
b2a898e292 Update share.class.php 2013-08-07 09:29:48 +02:00
obigal
fd427f77de Update share.class.php 2013-08-07 09:29:47 +02:00
obigal
a45bc6dbef Update worker.class.php 2013-08-07 09:29:47 +02:00
obigal
a42adb11b2 Update statistics.class.php 2013-08-07 09:29:47 +02:00
obigal
7378e593bd Update share.class.php 2013-08-07 09:29:47 +02:00
Sebastian Grewe
cbf39f7905 Fix IDLE worker detection
* Also mark as IDLE if no valid shares were received

Fixes #561
2013-08-07 09:27:50 +02:00
Sebastian Grewe
073a42cfc8 Fixing worker hashrates and activity status
* Fix hashrate calculations and include archived shares
* Fix worker activity to only check for our_result = Y shares
* Mark as active if worker has a hashrate > 0, removes a query

Addresses #561, crons need to be updated to remove the active flag from
as the worker activity and check the hashrate instead.
2013-08-07 09:20:08 +02:00
Sebastian Grewe
d4a9af86c4 removed debug output 2013-08-06 09:26:43 +02:00
Sebastian Grewe
0b8243ab69 Fixing archiving of PPS, TXFees and Debits
Emergency fix. Includes balance PPS calculation fix.

Addresses #563
2013-08-06 09:24:01 +02:00
Sebastian Grewe
c55bf8354f Fixing bug with archived transactions
This will fix #563, only mark transactions as archived that have been
confirmed.
2013-08-05 23:00:24 +02:00
Sebastian Grewe
2cddc27130 fixing PPS locked balance 2013-08-05 10:54:32 +02:00
Sebastian Grewe
7bde00c452 properly display auto-confirmed tx 2013-08-01 12:48:55 +02:00
Sebastian Grewe
95825224a1 Adding archiving flag for transactions
* Added new column to transactions table (`007_transactions.sql`)
* Added setArchived method to mark old transactions as archived
* Honor archived flag in getBalance and getLockedBalance

This will further address and fix #536 once merged.
2013-08-01 12:16:59 +02:00
Sebastian Grewe
4eb6c59cb3 Refactored getTransactions, unified admin/user view
* Removed getAllTransactions method
* Unified getTransactions for users and admins
* Added filter abilities to user transaction view

This should speed up things a fair bit for transaction heavy pools.

Addresses #536
2013-08-01 11:00:54 +02:00
Sebastian Grewe
52f58807b0 Refactored admin transactions
* Properly generate the bind_params statement
* Extended from Base Class
* Added methods to Base Class

Addresses #536
2013-08-01 10:40:49 +02:00
Sebastian Grewe
4b3534ce61 Fixing WHERE clause for getBalance call
Addresses #536
2013-08-01 10:38:20 +02:00
Sebastian Grewe
9e1f424742 Great performance increase on transaction queries
This will address an issue with database including a lot of
transactions. No more nested queries that put unwanted strain on a DB.

Address #536
2013-08-01 10:38:20 +02:00
Sebastian Grewe
4c37ab4950 Find actual row count without LIMITs applied
Addresses #542
2013-07-31 17:09:30 +02:00
Sebastian Grewe
c6a4df2975 Check coin address when updating account
This will fix #506 and ensures valid addresses are added when updating
the account.
2013-07-23 14:37:58 +02:00
Sebastian Grewe
35d1f5fa92 Merge pull request #498 from TheSerapher/manual-payout-cron
Adding manual payout cron
2013-07-23 05:36:49 -07:00
Sebastian Grewe
a6c8d507dc Merge pull request #501 from TheSerapher/issue-260
Issue 260
2013-07-23 03:55:20 -07:00
Sebastian Grewe
9cb80c6fd9 Properly filter Debit transactions 2013-07-23 12:36:16 +02:00
Sebastian Grewe
9c2cefd2c3 adding blockexplorer link if URL configured 2013-07-23 12:10:32 +02:00
Sebastian Grewe
24a277312c fixing TXFee display and filter 2013-07-23 12:01:45 +02:00
Sebastian Grewe
9899507839 Fix some reported issues in #260 2013-07-23 11:05:45 +02:00
Sebastian Grewe
63b942a7e1 Adding No Fee option to admin panel
Admins can disable a users fee via admin panel now.

Fixes #260
2013-07-23 10:56:45 +02:00
Sebastian Grewe
3cfef93580 WiP to disable fees for specific accounts
* added new account table column: `no_fee`
* honor `no_fee` flag during payout process
* added upgrade SQL file for this feature

Address #260
2013-07-23 10:56:45 +02:00
Sebastian Grewe
330169ae58 more fixes and log cleanup 2013-07-23 10:53:47 +02:00
Sebastian Grewe
ed259a5b44 properly deal with Fee_PPS and Donation_PPS 2013-07-23 09:21:11 +02:00
Sebastian Grewe
728bfe8c9d properly filter Credit_PPS as confirmed 2013-07-23 09:18:04 +02:00
Sebastian Grewe
1d6cbd44a6 Adding new admin transaction view
* Added transaction filters
* Added proper paging support
* Removed the tabs that caused confusion
* Added transaction status column

Fixes #404
2013-07-23 09:03:36 +02:00
Sebastian Grewe
ee5e2c46c6 Adding manual payout cron
This will avoid double payouts via the website. Payouts will be
requested by users and processed by a cron. If, for whatever reason,
users do add two requests (it is checked if a payout exists) they would
only have one successful payout until their account balance is back up
to a save value to trigger the payout.

This should fix any issues with manual payouts being exploited through
the website. Will require some testing by others to ensure things work
as expected.
2013-07-22 16:14:22 +02:00
obigal
ee2c90525c Cryptsy api support 2013-07-21 14:14:12 -04:00
Sebastian Grewe
1086d81f09 Merge pull request #495 from TheSerapher/issue-490
Issue 490
2013-07-21 10:26:05 -07:00
Sebastian Grewe
36a74b0bbf Fix transaction table, adjust transaction class
* Ensure we also check newly added blocks for unconfirmed tx
* Only list orphaned transactions in the orphaned tab

Fixes #490
2013-07-21 17:25:09 +02:00
Sebastian Grewe
c94c1be7be Using proper SQL query by @CaptainAK
Proposed fix did not work, using proper Query now.
Thank @CaptainAK for the fix!

Fixes #492
2013-07-21 08:35:57 +02:00
Sebastian Grewe
7d801a561c Fixing Orphan showing as unconfirmed
* Fixes orphaned transactions showing as unconfirmed too
* Fixes transaction tables to show orphaned credits in green, not red

Fixes #490
2013-07-21 08:20:53 +02:00
Sebastian Grewe
440ca027a2 Fixing PPLNS target calculation on blockavg
This will fix #492 with PPLNS targets not taking the blocks in proper
order.
2013-07-21 08:12:40 +02:00
Sebastian Grewe
d492b532b7 Adding ability to disable the sites API functions
Addresses #467 and will fix upon merge.
2013-07-17 09:43:02 +02:00
Sebastian Grewe
b7ffbd0bfd fixing issue for first created admin user 2013-07-16 16:02:52 +02:00
Sebastian Grewe
41ec58ea16 Adding inline docuemtation to invitation class
Adding proper inline documentation to invitation class.
2013-07-15 16:28:22 +02:00
Sebastian Grewe
501f369b4e Further fixes to PHP warnings
Addresses #330 and further cleans up the PHP log.
2013-07-15 15:31:18 +02:00
Sebastian Grewe
525c0ab009 Fixing PHP Warning on unsert token on register
Addresses #330 and cleans up PHP Log
2013-07-15 14:28:54 +02:00
Sebastian Grewe
bf3cd25326 removing unused token methods 2013-07-15 12:52:55 +02:00
Sebastian Grewe
bd32dfa9f8 Adding invitation system to mmcfe-ng core
This will allow users to send invitations to other people via email.
Each account will still need to confirm the email address if the option
is enabled.

Addresses #330, will need to allow pool operators to enable this feature
even with registrations turned off.
2013-07-15 12:26:31 +02:00
Sebastian Grewe
7cc1e2543c fixing syntax error 2013-07-15 12:26:31 +02:00
Sebastian Grewe
be9a8d3fda Go through activiation even for admin accounts
Fixes an issue with accounts being locked after trying to activate it.

Addresses #330
2013-07-15 12:26:31 +02:00
Sebastian Grewe
0ede05a6fd Adding email verification
* Adding mail verification during account registration
* Added new dist file option for mail verification
* Added account confirmation page using tokens
* Added mail class into user class for password resets
* Moved password reset template
* Adjusted account registration page
* Adjusted user class for email confirmation

Also fixed a bug with smarty_cache_key not being used properly if smarty
is disabled. Key still needs to be available even if caching is disabled

Addresses #330 and prepare the ticket for invitation only system.
2013-07-15 12:26:31 +02:00
Sebastian Grewe
29d5d36a7e WiP for one time tokens
* Added token type class
* Storing Token Type as ID not varchar
* Added new system to user class and fixed issues with it
* Started on mail verification process in user class
* Updated autoloader
* Updated change password template

Addresses #330
2013-07-15 12:26:31 +02:00
Sebastian Grewe
253d6e8a47 Fixing username regexp during registration
Fixes wrong regext of #453
2013-07-14 21:08:03 +02:00
Sebastian Grewe
15753f5eca Merge pull request #455 from typal/issue-452
fucked up...
2013-07-14 01:15:21 -07:00
typ
ed5e320ff6 fucked up... 2013-07-14 02:43:44 +02:00
Sebastian Grewe
d190866315 Merge pull request #454 from TheSerapher/issue-419
Adding anonymous account support
2013-07-13 10:43:21 -07:00
typ
0775eaf8c1 add check for non alpa/-/_ chars 2013-07-13 16:41:51 +02:00
Sebastian Grewe
8ec1d2cab3 Adding anonymous account support
* Added anonymous flag to accounts table
* Added checkbox for anonymous flag in edit account page
* Updated user class to support new flag
* Updated statistics class to support anonymous and donations
* Updated all templates showing usernames to show anonymous instead
* Added new SQL `ALTER TABLE` file for upgrading the table

Fixes #419 once merged.
2013-07-12 10:33:42 +02:00
Sebastian Grewe
ab620f1fe0 Merge pull request #443 from TheSerapher/issue-432
Get rid of Orphan transaction types
2013-07-12 00:46:45 -07:00
Sebastian Grewe
a9ae72cd50 Merge pull request #445 from IainKay/issue-434
Issue 434
2013-07-11 13:06:41 -07:00
Iain Kay
dfbaf621de When destroying a users session on the server we now also remove all session data immediately, rather than relying on garbage collection, and we destroy the cookie on the users browser. 2013-07-11 19:41:50 +00:00
Ilya Stromberg
8f4b4ed970 Fix code style 2013-07-11 19:35:23 +04:00
Ilya Stromberg
15e89ad4d3 (#409) Do not use Memcached if it switched off via config 2013-07-11 19:11:03 +04:00
Sebastian Grewe
5b50422675 Fixing XSS for user registration 2013-07-11 15:49:08 +02:00
Sebastian Grewe
dfde017267 Get rid of Orphan transaction types
This fixes #432 and puts orphans on the same system as unconfirmed
transactions.
2013-07-11 14:26:53 +02:00
Sebastian Grewe
1344f39f96 Ensure we set workers to 0
If no workers are found false is returned. Smarty is not able to set a
default on `false` values so we have to set it to 0 if the query failed.

Fixes #418
2013-07-11 11:43:48 +02:00
Sebastian Grewe
fdf97c8832 fixing config access in share class for archive purge 2013-07-10 14:24:15 +02:00
Sebastian Grewe
94d9c1eb4c Added cronjob monitoring to admin panel
* Added monitoring class to deal with monitoring events
* Added event calls to all important cronjobs
* Added cron_end include file for monitoring cleanups on successful runs
* Added Monitoring to autoloader
* Modified account page to check for running auto_payout in monitoring
* Added monitoring to Navigation bar
* Added monitoring controller page

Fixes #415
2013-07-10 10:40:11 +02:00
Sebastian Grewe
b4b6b118bf Ensure to return 0 if no valid/invalid shares are found 2013-07-09 23:19:36 +02:00
Sebastian Grewe
ecf3db3a5b Removed BETWEEN call for round shares
Now shares are calculated proper with

`id > ? AND id <= ?`

as boundaries. This will ensure the upstream result is also calculated
for the round.

Addresses #143
2013-07-09 22:41:21 +02:00
Sebastian Grewe
ba240000ab Latest version for PPLNS payouts
* Rebased with next to add logging functions
* Added block method to fetch specific block
* Modified getArchive shares method to be more constistent
* Added new global configuration
* Adjusted smarty globals with new configuration
* More verbose pplns cron with logging
* Re-target the round in case of PPLNS not being matched by archive

Fixes #143
2013-07-09 21:59:44 +02:00
Sebastian Grewe
2f2acdad6d First working version of PPLNS payouts
* Based PPLNS on Prop Payout script
* Using defaults from prop payout, no class adjustments
* Added more methods required for PPLNS
* Added block methods for dynamic payout calculations
* Added PPLNS Sidebar that also displays the PPLNS Target
 * Shares beyond this target will not be included in payouts
 * Shares missing to this target will be added from archives
* Enabled archiving by default for PPLNS
* Added configuration options for PPLNS
 * Documented the usage for PPLNS, defaults are sane
* Added pplns_payout to run-crons

Addresses #143 and if accepted will fix it
2013-07-09 21:59:44 +02:00
Sebastian Grewe
dc51d874a7 Adding block height to blockupdate output
This should make tracing block updates easier.
2013-07-09 21:26:06 +02:00
Sebastian Grewe
52e02a545b fixing issue with upstream shares not being found 2013-07-09 15:43:42 +02:00
Sebastian Grewe
abef09b08c Added blockhash solution checking
Stratum of @moopless supports blockhash as a solution. Check for that
one first.

Addresses #405
2013-07-09 14:50:23 +02:00
Sebastian Grewe
7f759708c8 Adding share type to log output
This will display which detection mechanism caught the share.
Fixed stratum detection

Fixes #405
2013-07-09 11:43:12 +02:00
Sebastian Grewe
e4f8537165 removing debug output 2013-07-09 11:34:49 +02:00
Sebastian Grewe
f6b350370d Adding solution detections for blocks
This will finally fix all block finding issues with a 4 way detection.
The find upstream method will continue to try other ways to find a
proper share until they are all exhausted or a match was found.

* Use stratum solution, create scrypt hash from block header
* Use pushpoold solution, create solution string from block header
* Use first available upstream share in timerange of block time
* Use *any* first available valid share older than time of block

This will fix #405 - no more unknown blocks. Ever.
2013-07-09 11:27:20 +02:00
Sebastian Grewe
c9df482683 Merge branch 'next' into issue-392 2013-07-08 08:47:35 +02:00
Sebastian Grewe
6193604598 Fallback call if upstream share not found properly
Implemented a fallback method in case no upstream share can be found for
a block. This will result in same strange behaviour especially if a
later block has properly added a valid share and this will be used for a
previous block. At least now even the last block will be properly found
and marked as discovered by a user, even though no actual upstream share
was involved in this.

This is a dirty workaround for pools having payout issues. After all
blocks are processed and assuming upstream shares continue to work as
expected, this will *skip* broken blocks/shares.

Workaround fix for #392
2013-07-07 22:24:52 +02:00
Sebastian Grewe
6dc795fd77 Improved cron logging via logfiles
* Added 3rd party logger library KLogger
* Adjusted all cronjobs from verbose output to logging
* Added new logs folder for crons to write to
* Added new .gitignore for logs folder data
* Updated blocks class to only fetch blocks with no share_id
* Adjusted findblocks to use no blocks class method
2013-07-07 22:04:43 +02:00
Sebastian Grewe
6f3c5bb95e Merge pull request #398 from TheSerapher/issue-312-24h-hashrates
Issue 312 24h hashrates
2013-07-07 11:54:26 -07:00
Sebastian Grewe
2586aca34e Revert "Fixing issue with delayed inserts for shares"
This reverts commit 752b3e810f.
2013-07-07 19:52:24 +02:00
Sebastian Grewe
748b63d908 Merge pull request #395 from TheSerapher/issue-389
Enforce unique account emails

Fixes #389
2013-07-07 10:40:47 -07:00
Sebastian Grewe
9d50c9a222 User proper archive table for union
Addresses #312
2013-07-07 19:39:58 +02:00
Sebastian Grewe
752b3e810f Fixing issue with delayed inserts for shares
When shares are inserted with a delay for performance optimizations,
this will cause block timestamps to be completely off with share
timestamps. Hence the timestamp limited search is now removed, it would
cause too many issues for Stratum users/pools.

Addresses #392
2013-07-06 23:11:28 +02:00
Sebastian Grewe
307c7ee23f Enforce unique account emails
* display an error if user tries to re-use an email address
* moved SQL files to indicate the order of SQL import
* added unique email index SQL file

This will address #389, still needs email validation.
2013-07-06 17:47:50 +02:00
Sebastian Grewe
89af793a28 Fixing pool hashrate graph
Should fix #312 completely.
2013-07-06 17:32:58 +02:00
Sebastian Grewe
380e802c75 fixing stmt issue 2013-07-06 08:34:41 +02:00
Sebastian Grewe
ab85af19a1 Re-add shares archive table for 24h hashrates
This should fix #312 and fix #256 where hashrates are reset on quick rounds.
Users are not able to properly view their past 24h hashrates.

Will be merged once confirmed working.
2013-07-05 23:23:19 +02:00
Sebastian Grewe
9b81d48e72 Fix PHP Warning on user login
While at it, I also extracted the hash function into it's own getHash
method. This will allow easy changes to hashing for string in the
future.

Fixes #382
2013-07-05 22:56:22 +02:00
Sebastian Grewe
b3479a9c04 Adding further IFNULL checks to statistics class 2013-07-04 13:25:11 +02:00
Sebastian Grewe
e963072740 Merge pull request #368 from TheSerapher/issue-367
Issue 367
2013-07-04 04:03:11 -07:00
Sebastian Grewe
c9915ce628 Removed var_dump debug output 2013-07-04 13:02:36 +02:00
Sebastian Grewe
463b97ea50 Do not return null on empty valid/invalid shares 2013-07-04 13:01:29 +02:00
Sebastian Grewe
dfa8d285ce Properly allow '0' as a workername or password
This fixes #347 as recommended at

http://de3.php.net/manual/en/function.empty.php

We allow anything else than an empty string.
2013-07-04 12:50:17 +02:00
Sebastian Grewe
8056ce9f87 Adding input check for AP and Donation
Fixes #354
2013-07-04 12:42:03 +02:00
Sebastian Grewe
acba30a888 Merge pull request #363 from TheSerapher/issue-331
Adding shares archive table back in for hash calcs
2013-07-04 01:41:50 -07:00
Sebastian Grewe
f4ce22bee8 Skip bogus upstream shares
This will fix an issue with blocks being assigned upstream shares that
are marked as valid but are not the actual solution for a block.

Only shares inserted when or after the block timestamp are now looked
at. This will ensure other shares inserted earlier and marked as
upstream valid are skipped.

This will not fix edge cases where many shares are inserted at the same
time and are all in the same timeframe of the block. Then the first
valid share in that time is used.

This worked fine on a testnet with a number of blocks found and false
shares inserted by hand.

Fixes #352
2013-07-03 15:01:08 +02:00
Sebastian Grewe
4c3c690f1c Merge pull request #351 from TheSerapher/issue-346
Fix PHP warning in notification class
2013-07-03 05:27:04 -07:00
Sebastian Grewe
ce5a8f7240 Fix PHP Warnings on Password Reset page
* Added HTML5 required to username field
* Added empty string check to resetPassword method

Fixes #348
2013-07-03 14:25:14 +02:00
Sebastian Grewe
382fddb528 Remove PHP Warnings from worker page
* Added HTML5 required flags for username/passwords
* Added empty string check in addWorker method

Fixes #347
2013-07-03 14:21:05 +02:00
Sebastian Grewe
4f2402e6ed Fix PHP warning in notification class
* Fix PHP Warning if no notification settings exist yet

Fixes #346
2013-07-03 08:09:09 +02:00
Sebastian Grewe
7e4938f279 Fixing PHP warnings on account workers page
* Fixes PHP Warning if no workers are updated
* Fixes PHP Warning in worker class if data is empty

Fixes #339
2013-07-02 21:08:26 +02:00
Sebastian Grewe
e1c5761cf4 Fixing strict PHP warnings when registering a user
Fixes #329
2013-07-02 20:59:03 +02:00
Sebastian Grewe
306162a1da Adding shares archive table back in for hash calcs
If the shares archive table is used via config option, those shares are
included when calculating the users hashrate. This will help on very
short rounds where each round end deletes all shares and users will not
be able to track their hashrates. They will be very jumpy and change to
0 all the time.

Still missing this implementation for the hourly hashrate function to
ensure the graphs are always kept up-to-date.

Addresses #331
2013-07-02 14:02:13 +02:00
Sebastian Grewe
535f13c184 Fixing PHP Warnings in Registration page
* Fix API Key generation not using SALT when creating hash
 * This should not affect existing API keys since hashes are compared
* Fix PHP Warning for RECAPTCHA if disabled

Fixes #328
2013-07-02 10:38:23 +02:00
Sebastian Grewe
cfb209a425 removed debug output 2013-06-30 13:43:05 +02:00
Sebastian Grewe
7390ca38e5 Enable or Disable maintenance and registrations
This will allow any admin to enable or disable a pool maintenance mode.
Regular users that are still logged in will not be kicked out (yet). New
users that are trying to login and are not admins will be denied access.

Also added registration option to Admin Settings via WebUI. You can now
disable new accounts via web option or configuration setting.

Fixes #259 but also adds an additional feature.
2013-06-30 12:03:46 +02:00
Sebastian Grewe
483e554259 Adding SQL based pagination to admin transactions
This will prevent PHP OOM errors due to a large amount of transactions.
You can find navigation arrows at the top and fetch 30 transactions at a
time.

Fixes #267
2013-06-30 11:04:12 +02:00
Sebastian Grewe
5c6e872867 Fixing false shares result in API call
Fixes #262
2013-06-28 15:54:30 +02:00
Sebastian Grewe
92f2243cfb Fixing getuserstatus API call
Fixes #257
2013-06-28 15:47:21 +02:00
Sebastian Grewe
d4f4b9073f Working jQuery Mobile frontend for mobile devices
* Added mobile device detection PHP library
* Call PHP library to decide which theme to use
* Added theme as a configuration option into global config
 * Selectable Desktop theme (default: mmcFE)
 * Selectable Mobile theme (default: mobile)
 * Disable mobile theme support entirely

**NOTE**: This requires updates to the `global.inc.php` so please check
the dist file and update your config before filing a new issue!

Addresses #25
2013-06-28 13:45:14 +02:00
Sebastian Grewe
1126118cb9 Fetch all user shares in one query
This will fetch all user shares in a single run, not user by user as
done previously. Saves one query and can possibly increase SQL execution
time.

Addresses #246
2013-06-26 10:54:10 +02:00
Sebastian Grewe
416d52078d Adding an optimized valid/invalid shares query
* This should speed up the process of finding shares for round and users

Addresses #246
2013-06-26 10:00:06 +02:00
Sebastian Grewe
a09bd1470e Adding account name to all transactions
Fixes #251
2013-06-25 11:39:44 +02:00
Sebastian Grewe
370b3475b9 Adding transactions admin panel
* Lists all transactions for all users

Addresses #251
2013-06-25 10:57:56 +02:00
Sebastian Grewe
2095b09d69 More verbose output on cron updates
* Added more verbosity to crons
* Made the output look better on consoles
* Added another error message to notifications class
2013-06-24 10:36:59 +02:00
Sebastian Grewe
d630329055 Display error message to user on failed logins
Warn a user with an error that there have been failed login attempts
for their account. Login errors can be cleared by clicking on the URL in
the message itself.

Fixes #240
2013-06-23 20:58:42 +02:00
Sebastian Grewe
4113e05a10 Adding multi-API support
This will allow users to change the API url, added coinchose as an
example as pointed out by @vias79 .

* tools class detects the API type
* getPrice returns the price based on API URL parsed

Fixes #236
2013-06-23 20:41:43 +02:00
Sebastian Grewe
2e7a4a8092 Adding donors page to About dropdown
Lists all donors, their donation setting and total donated amount.
This will allow people to see who is contributing to the pool.

Fixes #223
2013-06-23 20:12:34 +02:00
Sebastian Grewe
bfcf14a74c Sort news by time, newest first
Fixes #231
2013-06-21 20:29:21 +02:00
Sebastian Grewe
2e566f6e97 Only use valid shares for worker status
Fixes #229
2013-06-21 16:30:08 +02:00
Sebastian Grewe
84ababe9f7 Adding support for post time and author
* Added new SQL upgrade and structure
* Added post time and author to admin panel
* Added post time and author to news list

Fixes #226
2013-06-21 12:11:13 +02:00
Sebastian Grewe
e4e88e5226 Adding custom news posts via admin panel
* Adding dynamic news posts from DB
* Support Adding, Editing, Activating, Deactivating through admin panel
* Display all active posts on news page
* Implemented Markdown Library by Michelf

Fixes #61
2013-06-21 11:16:02 +02:00
Sebastian Grewe
5f271e3f67 Fixing issues with application using BASEPATH
Fixes #217
2013-06-19 14:50:13 +02:00
Sebastian Grewe
3f0c3884aa Adding some more information for PPS to sidebar
* Added user share rate to sidebar for PPS
* Added estimated 24h LTC payout based on PPS value and share rate

Addresses #160
2013-06-18 09:35:01 +02:00
Sebastian Grewe
68d874b15a Merge pull request #208 from TheSerapher/issue-189
Issue 189
2013-06-18 00:31:51 -07:00
Sebastian Grewe
34509051e2 Properly detect if we did find an upstream share
Avoid returning true even if no share was found.

Addresses #189
2013-06-18 09:30:13 +02:00
Sebastian Grewe
b532bbca51 Do not mark PPS transactions as unconfirmed
Fixes #206
2013-06-17 16:42:17 +02:00
Sebastian Grewe
fa7f61c436 Adding transaction fees to transaction class
This will add back the transaction fees. Prior to this commit the pool
had to cover the transaction fees. Now for each transaction the full
balance is transferred (RPC Daemon will remove the TX Fee) but two
transactions are added. One for the Debig and one TXFee.

Fixes #203.

**Requires database upgrade with supplied SQL file**
2013-06-17 11:17:15 +02:00
Sebastian Grewe
91ef2caaab Added cronjob to pre-cache statistics
This will fix #199 and help on loading times for the website in case
caches are empty. Caches are pre-filled by a cron so the website only
does it as a fall back. Check Ticket for details.
2013-06-17 10:07:40 +02:00
Sebastian Grewe
0817befaaa Further cleanup to reduce PHP notice warnings 2013-06-14 13:51:06 +02:00
Sebastian Grewe
6f858188ad Adding pool and combined hashrate graphs
* Moving from My Graph to its own section: Hashrate Graphs
* Adding pool hashrate graph
* Adding combined hashrate graph and piechart

Fixes #187
2013-06-13 22:59:19 +02:00
Sebastian Grewe
5d356b5c4f Adding counter for failed login attempts
* Track failed login attempts of a user
* Reset failed attempts as soon as the login succeeded

Fixes #182
2013-06-13 15:26:23 +02:00
Sebastian Grewe
bfaa0a67ef Enforce session logout if IP address changed
Fixes #179
2013-06-13 13:59:45 +02:00
Sebastian Grewe
6a5f938895 Store Users IP address in accounts after login
Fixes #177
2013-06-13 13:46:32 +02:00
Sebastian Grewe
44851e35df Add admin/lock changes to admin panel
* Add clickable boxes for Admin and Locked status for all users
* Change status via Ajax call, script embedded to the admin page

Fixes #147
2013-06-13 11:36:28 +02:00
Sebastian Grewe
42b6d4b3b2 Adding support for user locking
* Currently no GUI, use DB access to change the row entry
* Upgraded Database table `accounts` with upgrade SQL
* Updated `admin` field to `is_admin` as boolean
* Modified pages, classes, templates to support is_admin and is_locked

Addresses #147
2013-06-13 11:36:28 +02:00
Sebastian Grewe
27b4c4473f Adding bonus to unconfirmed calculations 2013-06-12 09:17:50 +02:00
Sebastian Grewe
a006ea782a Adding confirmed and unconfirmed balance
* Added SQL code to support both balances
* Added sidebar entries
* Modified auto_payout to use new index
* Mofified account page to use new index

Addresses #140 but needs to be tested!
2013-06-12 09:13:14 +02:00
Sebastian Grewe
e8f8b2f5f4 Changed getLockedBalance and added SQL
* New SQL file for upgrade includes next changes
* Properly calculate getLockedBalance based on shares

Further addresses #70
2013-06-10 18:56:06 +02:00
Sebastian Grewe
4745a2f6f8 Adding support for PPS payout method
This commit changed a few things in the backend and classes code:

* Any <type>_PPS transaction does NOT need to be confirmed
* Queries updated for added <type>_PPS transactions
* Template updated to properly display these transactions

Cronjob

* Added pps_payput cron to run payouts based on worker submitted shares
* **IMPORTANT**: Can NOT be run with proportional_payout!

Addresses #70
2013-06-10 18:49:57 +02:00
Sebastian Grewe
b1d698e686 Allow users to change their email address
* Added email to account page
* No confirmation required as of yet

Fixes #142
2013-06-10 10:54:57 +02:00
Sebastian Grewe
9e74175ca3 Make email mandatory during registration
Partially addresses #142
2013-06-10 10:45:46 +02:00
Sebastian Grewe
4e284895a8 Adding support for block finder bonus
* Added new configuration option `block_bonus`, see `global.inc.dist.php`, default 0
* Added new transaction types: `Bonus` and `Orphan_Bonus`
* Changes transaction table structure, added upgrade SQL
* Changed findblock cron to credit bonus to finder
* Modified transactions class to reflect changes

Fixes #148
2013-06-10 10:11:56 +02:00
Sebastian Grewe
6eeff19ff5 Fixing issue with notification cron
* Updated getAllActive to search by type
2013-06-09 16:44:32 +02:00
Sebastian Grewe
4ea8b6c695 Adding new notification system for new blocks
* Modified findblocks cron
* Modified notifications cron for new structure
* Improved notification class
* Added new template for new_block type
* Moved idle_worker type template
* Added new_block type to notification settings
2013-06-09 14:26:18 +02:00
Sebastian Grewe
88ade9cfa3 Adding support for various notifications
* Adding new SQL upgrade for notifications
* Added support for per user notification settings
* Added account_id to notifications table
* Added new notification_settings table
* Added new account page: notifications

Addresses #144
2013-06-09 13:10:58 +02:00
Sebastian Grewe
d20efb3caa Merge pull request #141 from TheSerapher/issue-139
Issue 139
2013-06-07 11:10:56 -07:00
Sebastian Grewe
02eb400de9 proper whitespacing 2013-06-07 20:09:54 +02:00
Sebastian Grewe
efdbff8e53 Do not include unconfirmed transactions in balance view
This will fix #139 showing wrong liquid asset counts. Since
that was confusing I ensured confirmations are included in the calculations.
2013-06-07 20:07:55 +02:00
Sebastian Grewe
4da9fd2369 Working notification system
* Added things to mail templates
* Modified user password reset call for new mail template
* Added BASEPATH to smarty code to ensure templates are compiled in the
  proper directory
* Updated mail and notification class
* Updated notification cron
* Added notification cron to run-cron list
2013-06-07 15:36:35 +02:00
Sebastian Grewe
69a3761be5 Adding notification reset once worker is active
Go through all active notifications (active means they are not notified
again) and check if their state has changed. If so, mark as inactive and
allow for re-notification of the same type and data.
2013-06-07 15:36:35 +02:00
Sebastian Grewe
9ac2dadd97 Progress on notifications
* Added main mail class
* notification class extends mail class
* Added mail template for IDLE workers
* Added notification table to SQL structure

This works already but once notified the status is not reset as soon as
a worker is active again. Need to think of a system to do that
automatically.

Addresses #116
2013-06-07 15:36:35 +02:00
Sebastian Grewe
c69fbe4fc4 Add worker montioring to template and worker class
* Add configurable monitoring for workers into template
* Store monitoring status in DB

First commit for #116
2013-06-07 15:36:35 +02:00
Sebastian Grewe
671a2d01ca Properly display both shares and hashrates
* As proposed in #132 thi allows for both shares and hashsrates

Fixes #132.
2013-06-07 09:02:58 +02:00
Sebastian Grewe
4b05846a78 Re-Adding shares for admin user panel
* Re-enables estimations
* Still fixes #130 which had issues with hashrates, those are still
  fixed
2013-06-07 08:42:07 +02:00
Sebastian Grewe
f63485a539 Fixing admin panel user display
* Fixes #130. Removed total shares in favor of the hashrate.
* Fixes hashrate display.
* Added pagination template file to include pagination on other pages in
the future.
2013-06-07 08:33:14 +02:00
Sebastian Grewe
4691e077e2 Ensure no old blocks shares are counter for new ones
When finding more than a single block between runs it added shares to a
new block from a previous one. Properly fetch the last highest share ID
from the database prior to scanning for shares assigned to a block.

Fixes #124
2013-06-06 22:27:34 +02:00
Sebastian Grewe
aebb97a1d8 use default cashing times 2013-06-06 12:01:06 +02:00
Sebastian Grewe
1bf2e7cf18 Pre-sort SQL data in array for easy time access
This allows us to access the array key as the time. This way the
template can properly render the time axis according to current time.
2013-06-06 11:47:20 +02:00
Sebastian Grewe
232e79f7ad do not pass two arguments to SQL 2013-06-06 11:01:04 +02:00
Sebastian Grewe
52d079eaed do not include archive table for hashrates, better formatting 2013-06-06 10:45:37 +02:00
Sebastian Grewe
7dc0736b77 First version for new user graphs
* Properly calculate hashrate
* Remove number formatting, it breaks the graph
* Not properly in order based on time but displays correct values

Addresses #90
2013-06-05 17:22:47 +02:00
Sebastian Grewe
6c4fb84ee9 Adding min/max threshold configuration
* Check for min/max values set for auto payouts
* Display error messages to the user
* Sanitize values just in case we fall through the validation
* Updated template and class
* New configuration option added! Update your local configs!

Fixes #108
2013-06-05 09:11:25 +02:00
Sebastian Grewe
c1682e2203 Ignore rejected shares in top list calculations
Fixes #104
2013-06-04 15:58:51 +02:00
Sebastian Grewe
af3252abb2 Find ALL transactions, even unconfirmed
* This ensures that credits are not unlocked and available to the pool
2013-06-04 14:28:34 +02:00
Sebastian Grewe
020ea2269b Re-adding admin flags to user list for admin panel
Fixes #99
2013-06-04 13:46:56 +02:00
Sebastian Grewe
d85ded7c5c Moving from user to statistics class
* This fetches all users and joins with shares table

Should speed up things a fair bit.
2013-06-04 13:14:25 +02:00
Sebastian Grewe
065f5e6d16 Adding working user admin panel to query user DB
* Users are all fetched from the DB
* Each user is assigned special stats
 * Hashrate
 * Shares
 * Balance
 * Est. Payout
 * Est. Donation
* Display in sortable and paginated table

This is not well optimized. Each user stats are grabbed individually
via the stats and transaction classes. It would probably make sense to
expand the statistics class to list a full user list with all statistics
available instead to cover this in a single SQL query.
2013-06-04 11:34:22 +02:00
Sebastian Grewe
ed0853202b Initial file import for admin panel
* Added isAdmin to user class
 * Run isAdmin on EACH page to ensure admin status hasn't changed
* Added main page with no content
* Added user query page with basic form, no content
2013-06-04 09:15:55 +02:00
Sebastian Grewe
07d49f83d3 Changing hash- and share rate calculation SQL
* Do not include shares_archive table
 * Main reason: This table is optional
 * Secondary reason: Speeds up the query from 1.3s to 0.005s
* Drawback: Once a block is found it takes 10 minutes for the stats to
  be accuracte again

This could potentially be reverted but since shares_archive is optional
and the speed increase is rather significant I'd like to keep it this
way.
2013-06-03 15:03:04 +02:00
Sebastian Grewe
96c9a4ae08 Renamed workers table to pool_worker
* This will fix issues with mining pools using the default name
* Back in line with default configurations for most mining pool software
* Fixes #93
2013-06-03 10:59:12 +02:00
Sebastian Grewe
a7bc6fc342 Changed backend logics for block finding and payout
* Findblocks cronjob changes
 * Find & Store upstream share
  * Use last found `share_id` as starting ID or `0`
 * Find & Store upstream finder
  * Use last found `share_id` as starting ID or `0`
* Use stored information when running propotional payout
 * Fetch current checked blocks upstream share from block table
 * Fetch previous upstream share of previous block from block table
 * Calculated payouts in that range of IDs
* Updated `block.class.php` to store share_id in block and fetch highest `share_id`
2013-05-31 14:23:29 +02:00
Sebastian Grewe
8a1dc20ec8 Changing upstream share finding function
* Fetch all blocks unaccounted for in ASC oder (low to high height)
* Use lowest height block to find lowest ID upstream accepted share
* Use this share as the finding share for a block
* Set share as last found upstream share for further blocks
 * This only applies if shares are not deleted at all which they should!
2013-05-31 12:11:56 +02:00
Sebastian Grewe
b5ab1a02fb Adding more in-line documentation and some cleanup 2013-05-30 09:55:21 +02:00
Sebastian Grewe
69b2c2f517 Properly abort API calls if api_key is invalid
* Fixes an issue where any api_key would be validated
* Now returns user ID upon success, aborts script processing with error
  on fail
2013-05-29 12:41:53 +02:00
Sebastian Grewe
cdfb074076 Re-adding LTC/usd to website ministats header
* Use tickerupdate.php cron to update setting value
* Added new configuration variables for ticket updates
* Added some missing configuration vars for some URLs
2013-05-29 10:56:08 +02:00
Sebastian Grewe
2548d4b03d add API key back to account details
Fixes #73.
2013-05-28 15:35:28 +02:00
Sebastian Grewe
a2eb5cc7b3 Register first user as admin
This commit fixes #50 and is needed for the admin panel
2013-05-28 14:33:03 +02:00
Sebastian Grewe
510ce89338 Use new BitcoinWrapper class, remove memcache calls 2013-05-28 11:50:37 +02:00
Sebastian Grewe
d4331ed8dc Adding more actions for API page
* getblockcount
* getblocksfound (with limit support)
* getcurrentworkers
* getdifficulty
* getestimatedtime
* getpoolhashrate
* getpoolsharerate
* gettimesincelastblock
2013-05-28 10:50:16 +02:00
Sebastian Grewe
1e54a1a2d6 initial commit of a working API page 2013-05-28 10:13:26 +02:00
Sebastian Grewe
376bae1e2d Moved setCache method into StatsCacheClass
* Allow calling method via memcache wrapping call
* Make it available to all classes using StatsCache
2013-05-28 10:09:57 +02:00
Sebastian Grewe
75bee6ed60 fetch account balance across all users
* Used later for admin panel to show total amount of credits locked for
  users
* Used later for liquid asset calculations
2013-05-27 15:51:20 +02:00
Sebastian Grewe
658039fecf Merge pull request #69 from TheSerapher/issue-66
addressing #66 with higher timerange for upstream shares
2013-05-27 05:56:19 -07:00
Sebastian Grewe
e1f92218a3 addressing #66 with higher timerange for upstream shares 2013-05-27 14:55:13 +02:00
Sebastian Grewe
d44c236f2b Adding support for orphan blocks
* Adjusted blockupdate cronjob
 * Fetch block information via `gettransaction`
* Adjusted block class
 * Only getAllUnconfirmed where confirmations > -1
* Adjusted transaction class
 * added setOrphan method to mark orphaned transactions
* If block is orphaned
 * Mark all related transactions as Orphan_*type*
 * Set confirmations of block to -1 so it is ignored and marked as orphan
* Change transaction template, added listing for orphan transactions
* Add orphan status to block listings template
2013-05-27 14:44:40 +02:00
Sebastian Grewe
93d0ec06a6 adding proper headers for HTML mail 2013-05-25 12:25:41 +02:00
Sebastian Grewe
787942b6f9 working version of password reset with one time token 2013-05-25 12:08:51 +02:00
Sebastian Grewe
841d986726 initial work on password reset, not working fully yet 2013-05-25 10:58:53 +02:00
Sebastian Grewe
93fa758ab6 increase timerange for upstream share to cope with slower db writes 2013-05-24 15:31:29 +02:00
Sebastian Grewe
1bdf5e3156 added some more debug output for profiling 2013-05-23 10:02:11 +02:00
Sebastian Grewe
dfc3dc43e5 use difficulty set in config, not hard coded, for worker hashrates 2013-05-22 20:07:28 +02:00
Sebastian Grewe
6429b2b442 adding support for pool fees 2013-05-21 13:57:49 +02:00
Sebastian Grewe
97eda88e2f fixing worker updates and deletion 2013-05-21 11:30:46 +02:00
Sebastian Grewe
a120d41612 lets try to get around some rounding issue for balance and transactions 2013-05-20 20:01:49 +02:00
Sebastian Grewe
e4732f55ca adding support for user donations, added all required changes into this commit 2013-05-20 19:38:21 +02:00
Sebastian Grewe
9deee1fce4 Merge pull request #31 from TheSerapher/auto-payout
Auto payout
2013-05-20 07:32:48 -07:00
Sebastian Grewe
65bcabbd28 removing argument table 2013-05-20 16:31:37 +02:00
Sebastian Grewe
0e3ebe6bde adding auto-payout cronjob 2013-05-20 16:29:11 +02:00
Sebastian Grewe
f7d5b1b2d1 Merge pull request #30 from TheSerapher/transparent-caching
Transparent caching
2013-05-17 08:10:09 -07:00
Sebastian Grewe
6a2173d504 fixed typo, added debug level to key store 2013-05-17 16:38:58 +02:00
Sebastian Grewe
6ffaece837 allow caching to be more transparent and configurable 2013-05-17 16:25:45 +02:00
Sebastian Grewe
f3da885137 fix ordering for share contributors, for real 2013-05-17 13:57:32 +02:00
Sebastian Grewe
cf9e392867 fix ordering for share contributors 2013-05-17 13:56:11 +02:00
Sebastian Grewe
ccf322bde1 re-adding seperate tables for shares and hashes due to SQL load when combining them 2013-05-17 13:47:56 +02:00
Sebastian Grewe
16f9cc4390 adding proper shares per second 2013-05-16 21:12:59 +02:00
Sebastian Grewe
a45140d3e0 moved more stats to stats class 2013-05-16 14:56:08 +02:00
Sebastian Grewe
e791d27671 added getTableName method 2013-05-16 14:47:51 +02:00
Sebastian Grewe
aadeac9f86 properly search using getSingle, missed search field type 2013-05-15 18:11:06 +02:00
Sebastian Grewe
ec3d6d7cbd merger contributer and hashrate tables into a sortable table, added personal hashrate graphs, added JS files, updated statistics class and page controllers 2013-05-15 16:55:29 +02:00
Sebastian Grewe
884a202842 replaced fixed targetdiff with setting from configuration in user hash rate calculation 2013-05-15 13:26:53 +02:00
Sebastian Grewe
649b527a8f further moved stats from user into statistics class, added more caching 2013-05-15 01:07:59 +02:00
Sebastian Grewe
1390c12a5d updated user class, removed hashrate and added getTableName 2013-05-14 23:57:52 +02:00
Sebastian Grewe
9b961e04cf cleaned up statistics, added some user specifc stats from user class to statistics class 2013-05-14 23:57:22 +02:00
Sebastian Grewe
0e7f7d75f2 adding special getRoundShares for statistics into stats class 2013-05-14 18:08:47 +02:00
Sebastian Grewe
9536e7c193 fixing pps payout, getRoundShares system MUST be search by ID or round shares are NOT calculated properly 2013-05-14 17:58:10 +02:00
Sebastian Grewe
ef2c9b2c97 adding archive table for hashrate calculations and added getCurrentShareRate for shares/minute 2013-05-14 16:31:18 +02:00
Sebastian Grewe
5c72a859eb added secondary table related to shares to share class 2013-05-14 16:30:11 +02:00
Sebastian Grewe
12f60a4567 adding DATETIME column for archive 2013-05-14 16:10:52 +02:00
Sebastian Grewe
dfc1af4965 get both valid and invalid user shares 2013-05-14 12:45:00 +02:00
Sebastian Grewe
9bf99e3c8e get both valid and invalid round shares 2013-05-14 12:44:42 +02:00
Sebastian Grewe
e316622327 quickly added user hashrate and shares, dirty but working, better to cache those 2013-05-14 00:07:28 +02:00
Sebastian Grewe
ef84f5b1fd added hashrate and activity to getWorkers, properly return all active workers with getCountAllActiveWorkers 2013-05-13 23:31:53 +02:00
Sebastian Grewe
fd6d0c0948 adding classes to statistics class, added getCurrentHashrate 2013-05-13 23:28:54 +02:00
Sebastian Grewe
c4d5e31bac add method to return shares table name, added getRoundShares 2013-05-13 23:28:11 +02:00
Sebastian Grewe
d352adf6f6 adding method to fetch all active worker count 2013-05-13 14:56:58 +02:00
Sebastian Grewe
ece3d8fd25 adding block statistics, added finder and round shares for blocks, updates transactions for new columns, updated template and pool statistics code 2013-05-13 09:21:41 +02:00
Sebastian Grewe
e8dcba2dcc removed some warning output on shares class 2013-05-13 09:20:37 +02:00
Sebastian Grewe
91144afa4e search shares by IDs not timestamps, cleaned up transaction class in the process 2013-05-12 16:58:33 +02:00
Sebastian Grewe
3844bbe1ab cleaned up getSingle calls, added getCoinAddress method 2013-05-12 16:56:11 +02:00
Sebastian Grewe
47ac213779 adding search method for unconfirmed blocks, add updateConfirmations method for blocks 2013-05-12 16:55:18 +02:00
Sebastian Grewe
1194c7fb33 fixed user class, missing method 2013-05-12 12:18:56 +02:00
Sebastian Grewe
187fb92272 further cleaned up user class, created worker class, removed ledger and paid calls from user 2013-05-12 11:39:22 +02:00
Sebastian Grewe
2e8d475e6f fixing PIN storage and added missing unique on username to DB structure 2013-05-12 00:21:03 +02:00
Sebastian Grewe
dae7fe3397 fixing user registration, adding new DB layout for accounts 2013-05-12 00:05:49 +02:00
Sebastian Grewe
c31bbb6f93 allow to search for balance for a account ID via transaction class, added template changes 2013-05-11 23:46:39 +02:00
Sebastian Grewe
9dcdc91a7f updated account template and user class to work with simplified accounts table 2013-05-11 20:16:32 +02:00
Sebastian Grewe
47b3816d27 cleaned up crons, changed timestamp range to properly find shares, added verbose parameter 2013-05-11 18:51:10 +02:00
Sebastian Grewe
365a91e407 ensure we only check for unaccounted blocks 2013-05-11 17:14:43 +02:00
Sebastian Grewe
4a7b51d9eb implemented transactions, PPS payouts and Transactions displayed on the website 2013-05-11 16:50:15 +02:00
Sebastian Grewe
1f58a1e152 renamed method 2013-05-11 09:19:18 +02:00
Sebastian Grewe
cbfcff3ba1 adding future ledger cronjob for transaction confirmations 2013-05-11 09:17:43 +02:00
Sebastian Grewe
a995ab640d Merge pull request #7 from TheSerapher/sharecounter-cron
Sharecounter cron
2013-05-11 00:15:58 -07:00
Sebastian Grewe
3971ea797c further work on sharecounter cron, almost all features available now 2013-05-11 09:15:19 +02:00
Sebastian Grewe
59c53a5d3d adding more output to findblocks 2013-05-11 08:00:35 +02:00
Sebastian Grewe
42d2fa2618 calculate propotional payout for all shares of this block 2013-05-11 00:22:23 +02:00
Sebastian Grewe
571e26413b adding new share class 2013-05-10 22:36:42 +02:00
Sebastian Grewe
6486a72b1b allow searching blocks in reverse order for sharecounter 2013-05-10 22:36:27 +02:00
Sebastian Grewe
ef4b9fd21d adding new cronjob to find generated or immature blocks, changed project to allow scripts to run outside of webroot 2013-05-10 19:46:54 +02:00
Sebastian Grewe
dfc4aafeaa some smaller updates to classes and PHP codes 2013-05-10 15:28:05 +02:00
Sebastian Grewe
1b50f76f72 initial import of file base of my WIP 2013-05-06 14:11:38 +02:00