/**
  * Account API Currency Convertor Functionality
  * @param $Arguments
  * @return array|mixed
  */
 protected function getCurrencyConvert($Arguments)
 {
     if (count($Arguments) > 3) {
         return json_decode(parent::generateResponse('Too many arguments', 400), true);
     }
     $From = $Arguments[0];
     $To = $Arguments[1];
     $Amount = $Arguments[2];
     $Converter = new CurrencyConverter($From, $To);
     return ['result' => $Converter->toForeign($Amount)];
 }
 protected function getAppearance($Arguments)
 {
     if (count($Arguments) > 1) {
         return json_decode(parent::generateResponse('Too many arguments', 400), true);
     } elseif (count($Arguments) == 0) {
         return json_decode(parent::generateResponse('Not enough arguments', 400), true);
     }
     $CharacterName = ucfirst(strtolower($Arguments[0]));
     $CharData = $this->setTable('characters')->addArguments('name, class, race, gender, level, logout_time, playerBytes, playerBytes2, totalKills')->addColumn('name')->addParameter([':charname', $CharacterName])->build()->single();
     $PlayerBytes = $CharData['playerBytes'];
     $PlayerBytes2 = $CharData['playerBytes2'];
     unset($CharData['playerBytes']);
     unset($CharData['playerBytes2']);
     $Appearance = ['faceVariation' => ($PlayerBytes >> 8) % 256, 'skinColor' => $PlayerBytes % 256, 'hairVariation' => ($PlayerBytes >> 16) % 256, 'hairColor' => ($PlayerBytes >> 24) % 256, 'featureVariation' => $PlayerBytes2 % 256];
     $CharData['faction'] = $this->sideByRaceID($CharData['race']);
     $CharData['appearance'] = $Appearance;
     $CharData['totalHonorableKills'] = $CharData['totalKills'];
     unset($CharData['totalKills']);
     return $CharData;
 }
Beispiel #3
0
use Core\Libraries\FreedomCore\System\Manager;
use Core\Extensions\FreedomNetAPI;
//unset($_SESSION['api_data']);
if (!isset($_SESSION['api_data'])) {
    $APIData = ['spr' => 1, 'rpm' => 50, 'rph' => 10, 'first_request_time' => time(), 'last_request_time' => time(), 'next_minute_cd_reset' => time() + 60, 'next_hour_cd_reset' => time() + 3600, 'request_count' => 1];
} else {
    $AData = $_SESSION['api_data'];
    if ($AData['last_request_time'] && time() - $AData['last_request_time'] < $AData['spr']) {
        die('RPS LIMIT REACHED!');
    } else {
        if ($AData['request_count'] == $AData['rpm'] && $AData['first_request_time'] < $AData['first_request_time'] + 60) {
            die('RPM LIMIT REACHED!!!!');
        } else {
            if ($AData['request_count'] == $AData['rph'] && $AData['first_request_time'] < $AData['first_request_time'] + 3600) {
                die('RPH LIMIT REACHED!!!');
            } else {
                $APIData = ['spr' => 1, 'rpm' => 50, 'rph' => 10, 'first_request_time' => $AData['first_request_time'], 'last_request_time' => time(), 'request_count' => $AData['request_count'] + 1];
            }
        }
    }
}
$_SESSION['api_data'] = $APIData;
if (!array_key_exists('HTTP_ORIGIN', $_SERVER)) {
    $_SERVER['HTTP_ORIGIN'] = $_SERVER['SERVER_NAME'];
}
try {
    $API = new FreedomNetAPI($_REQUEST, $_SERVER['HTTP_ORIGIN']);
    echo $API->processAPI();
} catch (Exception $e) {
    echo json_encode(array('error' => $e->getMessage()));
}