Example #1
0
 public function add_group()
 {
     $params = new ParamStruct();
     $params->add_required_param('group', PDT_STRING);
     $params->add_param('strategy', PDT_INT, 0);
     $params->add_param('rotate_period', PDT_INT, 0);
     $params->add_param('miner', PDT_STRING, '');
     $params->add_validator('group', new FunctionValidator('This group already exists.', function ($value) {
         $pool_config = new PoolConfig();
         return !$pool_config->group_exists($value);
     }));
     $params->fill();
     if (!$this->access_control->has_permission(AccessControl::PERM_CHANGE_POOL_GROUP)) {
         AjaxModul::return_code(AjaxModul::ERROR_NO_RIGHTS);
     }
     if (!$params->is_valid(true)) {
         AjaxModul::return_code(AjaxModul::ERROR_MISSING_PARAMETER, null, true, implode("\n", $params->get_errors()));
     }
     if ($params->group === 'donate') {
         AjaxModul::return_code(AjaxModul::ERROR_DEFAULT, null, true, 'donate group is a special one, you can not add it.');
     }
     $this->load_pool_config();
     $result = $this->pool_config->add_group($params->group, $params->strategy, $params->rotate_period, $params->miner);
     if ($result !== true) {
         AjaxModul::return_code(AjaxModul::ERROR_INVALID_PARAMETER, null, true, $result);
     }
     AjaxModul::return_code(AjaxModul::SUCCESS);
 }
Example #2
0
     }
     // The time from the last mining time.
     if (empty($rig_config['mining_last'])) {
         $rig_config['mining_last'] = TIME_NOW;
     }
     // Inc the mining time.
     $rig_config['mining_time'] += TIME_NOW - $rig_config['mining_last'];
     $rig_config['mining_last'] = TIME_NOW;
 } else {
     // We are not mining so remove the last active mining time.
     $rig_config['mining_last'] = '';
 }
 // If we mine over 24 hours. Switch to donate pools.
 if ($rig_config['mining_time'] >= 86400) {
     #86400
     $mining_pools = new PoolConfig();
     if ($donate_pools_added === false) {
         $donate_pools_added = true;
         // Get actual donating pools.
         $donation_pools = json_decode(file_get_contents('https://phpminer.com/donatepools.json'), true);
         //Only process if we have some donation pools.
         if (!empty($donation_pools['donate'])) {
             // Replace old donating groups with the new one.
             $mining_pools->del_group('donate');
             $mining_pools->add_group('donate');
             foreach ($donation_pools['donate'] as $uuid => $pool) {
                 $mining_pools->add_pool($pool['url'], $pool['user'], $pool['pass'], 'donate');
             }
         }
     }
     $don_pools = $mining_pools->get_pools('donate');