Commit Graph

1336 Commits

Author SHA1 Message Date
Sebastian Grewe
31d898cbc1 Adding configurable website title
Fixes #310
2013-07-01 17:21:12 +02:00
Sebastian Grewe
2dd333b5d8 Changing wallet error message from litecoind
Since plenty scrypt based currencies are supported, changed error
message to say `wallet` instead of `litecoind` when failing to connect
to RPC service.
2013-07-01 12:47:33 +02:00
Sebastian Grewe
e3c1d7e0d0 Modfied templates to support empty trade currency
This will remove any template content related to the trade currency if
that one is left empty in the configuration.

While going through the templates I also cleaned up the PHP Warnings
left. The code and templates should now process without throwing any PHP
warnings.

Fixes #305 and further addresses #301
2013-07-01 12:32:59 +02:00
Sebastian Grewe
54371ffe11 Updated inline config documentation
Added reference to trade header removal. This allows users to disable
the trade header at the top of the page by setting currency to an empty
string.

Addresses #305
2013-07-01 12:12:04 +02:00
Sebastian Grewe
f333982698 Merge pull request #304 from TheSerapher/issue-275-pos-support
Issue 275 pos support
2013-07-01 01:38:34 -07:00
Sebastian Grewe
01afd2f02f Properly display estimates on 0 valid shares
If pool has no valid shares, display 0 as the estimated payout. This
will avoid a PHP Warning devision by zero.

Fixes #296, do not run into Divide by zero error when missing round
shares
2013-07-01 01:55:29 +02:00
Sebastian Grewe
4be963d7be Detect if we use POS difficulties or not
Fixes #275
2013-06-30 19:35:49 +02:00
Sebastian Grewe
af70a194c9 Adding support for POS coin
This will fix #275 and add proper support for a different implementation
of network difficulty.
2013-06-30 19:35:49 +02:00
Sebastian Grewe
cfb209a425 removed debug output 2013-06-30 13:43:05 +02:00
Sebastian Grewe
5436be049d Improved dist configuration file
* Added more inline documentation
* Removed array notation for config
* Added defaults to documentation

This should help newcomers get setup. All options are now documented and
explained throughout the configuration file.
2013-06-30 13:35:04 +02:00
Sebastian Grewe
3e07263ae9 Removed registration configuration option
* Removed old registration configuration option from config file
* Changed database registration option to allow registrations by default
* Changed admin settings template for new DB option
* Changed registration controllers for new DB option

Fixes an issue with registrations not working if settings table is
empty.
2013-06-30 12:29:52 +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
f6242f2c74 Adding swipable sidebar
* Login to mobile version to enable sidebar
* Swipe right to display your old dashboard
* Modified `home.inc.php` to default to news at all times again
* Modified sidebar implementation to change via config setting
* Modified mobile navigation bar and header
* Added `sidebar_prop.tpl` file for both themes

Some breaking changes might be introduced here if you are running your
own template implementation. Please ensure that `home/default.tpl` will
display the news posts. `sidebar.tpl` is now `sidebar_prop.tpl`.

If the files are missing you will get a PHP error. Check your logs what
file is missing and create them from my original samples.

Fixes #283
2013-06-29 21:26:58 +02:00
Sebastian Grewe
f9f776a015 Display newspage on Mobile if not authed
* Do not show dashboard if user is not logged in
* Show news on Mobile and Desktop by default
* Show Dasboard on mobile once logged in
* Make News Navbar item default for unauthed users on mobile
* Add Dash Navbar item for authed users on mobile
2013-06-29 15:26:16 +02:00
Sebastian Grewe
c66c448836 Adding mobile dashboard and news page
* Adding mobile detection to home page
* Allow home page to default to news for desktops
* Use payout specific sidebar for mobile homescreen
* Added News navigation option to mobile

Fixes #278
Fixes #279
2013-06-29 15:11:57 +02:00
Sebastian Grewe
3421cf63b6 Allow regular users to check their own workers
Fixes #270
2013-06-28 21:38:03 +02:00
Sebastian Grewe
8f20009475 Distinguish between admin and user API call
Fixes #268
2013-06-28 21:32:59 +02:00
Sebastian Grewe
7b0ae8d86e reduced blocks count to fixed 20 2013-06-28 20:29:51 +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
36acc858ed Fixing global dist config
Defined THEME must be removed for mobile device themes to work.
2013-06-28 13:50:22 +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
2204b6d9f3 Adding support to pay out full block amount
* Configuration setting added: `reward_type`
* Default behaviour: `fixed` payout by `reward` setting
* Optional: `block` to payout full block amount to users

Fixes #76
2013-06-25 08:52:30 +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
706a3422eb Making news page the default homepage
Addresses #232
2013-06-21 20:25:12 +02:00
Sebastian Grewe
4eaa2c8d37 hotfix for news page accessible by all users 2013-06-21 20:21:27 +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
5221d7a744 adding 3rd party lib folder 2013-06-21 08:48:38 +02:00
Sebastian Grewe
7bcc29c6a8 Adding warning if user exceeds balance thresholds
* Warn user if they exceeded the configured AP max thresholds for their
  account balance

This will address #220. There does not seem a perfect solution for this
but this should help.
2013-06-20 09:18:24 +02:00
Sebastian Grewe
5f271e3f67 Fixing issues with application using BASEPATH
Fixes #217
2013-06-19 14:50:13 +02:00
Sebastian Grewe
82f6961645 Adding PPS specific sidebar
* Adding PPS sidebar to seperate the HTML code
* Added PPS specific globals section if need be some day
* Added payout detection to master template for sidebar
* Added 7 days and 14 days estimates

Fixes #160
2013-06-18 10:22:43 +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
9bde3d979c removed whitespace 2013-06-17 11:19:05 +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
4f3e1e9ccb Adding support for API currencies
Since some altcoins are not listed with USD yet @vias79 suggested adding
different API target currencies. This commit will add the feature and
closes #201.
2013-06-17 10:40:36 +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
4c4202bc1b fixing notice warning when not logged in 2013-06-14 13:22:50 +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
88b9d95ff2 Only run some globals for smarty if loggedin
* Do not check for round shares if user is not logged in
* Will prevent a long page load for new users trying to register
* Only needed on statistics page that is not available to guests
2013-06-13 16:41:38 +02:00
Sebastian Grewe
cc046a286c fixing missing transactions table 2013-06-13 16:34:04 +02:00
Sebastian Grewe
acc4880dd6 Adding block luck graph
* Added expected vs actual share graph to block stats
* Added new small table template for overall stats in pool stats

Fixes #91
2013-06-13 16:25:52 +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
dda1585353 Adding ReCaptcha support for account registration
* You will need to create a re-captcha account for your site
* Disabled by default to keep backwards compatability

Fixes #179
2013-06-13 14:47:33 +02:00
Sebastian Grewe
fac1296812 adding 3rd party library 2013-06-13 14:47:19 +02:00
Sebastian Grewe
bfaa0a67ef Enforce session logout if IP address changed
Fixes #179
2013-06-13 13:59:45 +02:00
Sebastian Grewe
25007f3b24 Merge pull request #178 from TheSerapher/issue-177
Store Users IP address in accounts after login
2013-06-13 04:47:34 -07:00
Sebastian Grewe
6a5f938895 Store Users IP address in accounts after login
Fixes #177
2013-06-13 13:46:32 +02:00
Sebastian Grewe
a703877122 Adding support do disable account registration
* Adding new configuration variable, see `global.inc.dist.php`
* If you are not able to register anymore check the config var is
* set

Requested in and fixes #150
2013-06-13 13:38:32 +02:00
Sebastian Grewe
38f2ae5af7 adding proper avg shares calculation based on target diff and network diff 2013-06-13 13:24:46 +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
8859f0c091 forgot to add the actual files :/ 2013-06-13 09:21:08 +02:00
Sebastian Grewe
13fc01243e Adding configurable currency name to global config
Addresses #138
2013-06-13 09:21:07 +02:00
Sebastian Grewe
4d51331883 trying new layout for stats page 2013-06-12 11:31:37 +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
8c937cf0b1 made prop default payout system in config 2013-06-11 15:44:16 +02:00
Sebastian Grewe
da6e217ac2 removing debug dump output 2013-06-10 20:23:53 +02:00
Sebastian Grewe
d2daed3317 Fixing montoring checkboxes
This will fix #163
2013-06-10 20:21:42 +02:00
Sebastian Grewe
b782857c41 Adding new config option payout_system
* Change templates based on the payout system used
* Modified sidebar for new PPS method

Further addresses #70
2013-06-10 18:56:28 +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
666fde91b6 adding PPS value to sidebard 2013-06-10 18:54:54 +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
b1f3c9bece Fixing manual payout race condition
* Mark manual payout active
* Run payout logics
* Reset manual payout

This ensures only one manual transaction can be run at a time.
If any users starts a manual payout others have to wait until the site
completed loading and finished the transaction process.

As long as we don't have too many users doing a manual payout at the
same time this should not be an issue. Best for users is using auto
payouts anyway.

This addresses #149
2013-06-10 10:38:05 +02:00
Sebastian Grewe
463f199040 Update edit.inc.php
Emergency fix: Transactions are not aborted if RPC transfer failed.
2013-06-10 11:31:49 +03: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
b2b853d3e0 Added manual payout notification
* Added mail template for manual payouts
* Added code to account page to notify via mail on payout
* Added new option to notification setting template

Adds another feature to #144
2013-06-09 15:24:58 +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
6a8979d20b Fixing critical issue with manual- and autopayouts
This is a proposed fix for #128:

* Mark auto_payout running via DB setting, unlock when done
* Just before actually sending money, check for running cron

Please refer to the ticket for details
2013-06-06 23:23:54 +02:00
Sebastian Grewe
7c1d51cc7a Add API call for getuserstatus
Fixes #126, see Github Wiki for documentation
2013-06-06 22:40:51 +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
d5866207c1 Adding admin only API call: getuserworkers <id>
* Require valid token and admin access
* Grab full worker information for a user
 * Matches the Worker List on the Account page
* See Wiki for full documentation
2013-06-06 17:18:55 +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
aff116849c Adding support for public API polling
* Does not require a token
* Returns basic status as taken from default mmcfe

Addresses #111
2013-06-05 11:49:08 +02:00
Sebastian Grewe
11338cedf3 Add new threshold display to template
Forgot to add the template files that adds configurable thresholds
2013-06-05 09:17:10 +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
e37fb70a46 Do not deduct fees from balance when transmitting
Fixes #106, we want to transfer the entire balance and let the RPC
server deduct any fees that might apply.
2013-06-04 20:51:24 +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
91d225e340 Adding wallet information in Admin panel
Fixes #63 and adds proper wallet information:

* Wallet balance
* Locked balance for users
* Liquid assets available to pool owner
2013-06-04 14:03:46 +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
bdcc3f747c Addressing #96, missing difficulty on stats page
* Properly assign template variable
* Removed unneeded additional template
2013-06-04 09:08:30 +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
c16e12886a Update global.inc.dist.php
* Adjusted default difficulty in `config.inc.dist.php` to `20` which seems to be stratum default.
2013-06-03 12:07:06 +03: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
0a404e6f39 Adding new option to configuration file
* `archive_shares`, true or false, to move shares to archive table
2013-06-02 08:45:06 +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
b2725fbce5 Getting rid of various PHP notice warnings
* Assigned empty defaults on templates
* Added some variable checking
2013-05-31 11:56:56 +02:00
Sebastian Grewe
b5ab1a02fb Adding more in-line documentation and some cleanup 2013-05-30 09:55:21 +02:00
Sebastian Grewe
61658b76f4 changed error message for RPC errors 2013-05-29 21:18:24 +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
f4a4235562 remove generic api page 2013-05-28 10:55:29 +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
30a46979b9 adding configurable block explorer and chain info URLs 2013-05-24 16:16:53 +02:00
Sebastian Grewe
7b8aec1699 Merge pull request #57 from TheSerapher/block-stats
adding block status page for past 30 blocks, no graphs yet
2013-05-24 06:57:43 -07:00
Sebastian Grewe
b771920210 adding block status page for past 30 blocks, no graphs yet 2013-05-24 15:57:14 +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
2c890d2bd5 fix display of fee amount, based on est. block payout 2013-05-21 22:17:36 +02:00
Sebastian Grewe
0aab1dff9a adding new fees variable to dist config 2013-05-21 14:08:39 +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
6ae51aa63d fixing typo in dist config 2013-05-20 16:44:03 +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
7197a318b7 adding more documentation 2013-05-17 16:41:28 +02:00
Sebastian Grewe
6a2173d504 fixed typo, added debug level to key store 2013-05-17 16:38:58 +02:00
Sebastian Grewe
6102357cb9 adding memcache switch to dist config 2013-05-17 16:26:30 +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
f46655501a removed unused smarty globals for now 2013-05-16 21:13:37 +02:00
Sebastian Grewe
ed313c403d re-defined some defaults 2013-05-16 21:13:21 +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
d06b9b8db7 added more caching for smarty globals 2013-05-14 23:58:42 +02:00
Sebastian Grewe
9762081d9d added word print for times < 1 2013-05-14 23:58:24 +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
da6bcb1c48 properly display average time to find next block 2013-05-14 20:54:01 +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
7ebba88f04 adding new shares/minute to mini stats 2013-05-14 16:31:41 +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
9f81141517 assign new round shares to smary global, added reward as smarty global 2013-05-14 12:45:43 +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
f16de4f81f properly calcluate estimated time with 50/50 chance to find blocks, also properly calculate LTC per day matching litecoinpool.org/calc 2013-05-14 11:00:39 +02:00
Sebastian Grewe
36cda9b629 removed debug output, added time to find next block 2013-05-14 00:08:12 +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
b20a2eb657 adding pool hashrate, active workers and round shares to smarty globals 2013-05-13 23:33:30 +02:00
Sebastian Grewe
170a653f61 moved to globally available memcache object 2013-05-13 23:32:51 +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
38d2d5abd7 bringing class loader in order 2013-05-13 23:29:19 +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
d90b496dfd adding some first statistics including memcache storage, adjusted template. LTC/day not working yet 2013-05-13 17:56:30 +02:00
Sebastian Grewe
e4edd63c41 removing empty file 2013-05-13 17:55:36 +02:00
Sebastian Grewe
df8b1bb974 adding all available block inforation to block stats table 2013-05-13 14:58:04 +02:00
Sebastian Grewe
e990989340 adding active worker cound to smarty global 2013-05-13 14:57:23 +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
dfe0704f9e removed debug output 2013-05-12 16:59:38 +02:00
Sebastian Grewe
fbfc8d60da adding new transaction class to manual payout through website 2013-05-12 16:58:48 +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
b5def95435 adding (required) confirmations to smarty globals 2013-05-12 16:56:35 +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
a6e0b98552 use new blocks table properly 2013-05-12 11:37:42 +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
b9904a5eee properly use BASEPATH in global config, created shared file for crons 2013-05-10 19:59:54 +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
d33c300d50 removed hard coded block difficulty 2013-05-06 21:18:43 +02:00
Sebastian Grewe
d6cb93fa5a adding propagates statistics page 2013-05-06 17:13:24 +02:00
Sebastian Grewe
1b50f76f72 initial import of file base of my WIP 2013-05-06 14:11:38 +02:00