if ($user->getAccessLevel(2)) { /** Checking to see what type of account page we're loading */ if ($pageRequest[0] == "keys") { /** Working with API keys*/ $keys = true; /** Checking to see if we've submitted an action */ if (isset($_POST['action'])) { /** Checking to see what action we're performing*/ if ($_POST['action'] == 'refresh' || $_POST['action'] == 'add') { /** Saving our API keys from $_POST */ $keyID = $_POST['keyID']; $vCode = $_POST['vCode']; /** Creating an API key object */ $key = new ApiKey($keyID, $vCode, $user, $db); /** Doing either the add or the refresh action */ $keyUpdate = $key->refreshAPIKey($_POST['action']); } elseif ($_POST['action'] == 'delete') { /** Deleting the API Key */ ApiKey::deleteKey($_POST['keyID'], $user, $db); } } $stmt = $db->prepare('SELECT * FROM user_apikeys WHERE userid = ? ORDER BY key_keyid ASC'); $stmt->execute(array($user->getUserID())); $apiKeys = $stmt->fetchAll(\PDO::FETCH_ASSOC); $characterArray = array(); if ($stmt->rowCount() >= 1) { foreach ($apiKeys as $key) { $stmt_lookup_characters = $db->prepare('SELECT character_id,key_keyid,corporation_id,' . 'alliance_id,sso_character FROM user_characters WHERE key_keyid = ?'); $stmt_lookup_characters->execute(array($key['key_keyid'])); $characterArray[$key['key_keyid']] = $stmt_lookup_characters->fetchAll(PDO::FETCH_ASSOC); }
Config::getInstance()->cache = new \Pheal\Cache\MemcacheStorage(); Config::getInstance()->access = new \Pheal\Access\StaticCheck(); // Getting the compliance type if ($request['action'] == 'api') { if ($request['value'] == 'refresh') { $key = new ApiKey($_POST['keyID'], $_POST['vCode'], $_POST['uid'], $db); if ($key->getKeyStatus() == 1 and $key->getAccessMask() & MINIMUM_API) { $update = $key->updateApiKey(); if ($update) { foreach ($key->getCharacters() as $character) { $char = new Character($character['characterID'], $key->getKeyID(), $key->getVCode(), $key->getAccessMask(), $db, $user); if ($char->getExistance() or $char->getExistance() == FALSE) { $char->updateCharacterInfo(); } } $refresh = $key->refreshAPIKey(); setAlert('success', 'API Key Refreshed', 'The API key has been successfully refreshed.'); } } elseif (!($key->getAccessMask() & MINIMUM_API) and $key->getKeyStatus() == 1) { setAlert('danger', 'The API Key Does Not Meet Minimum Requirements', 'The required minimum Access Mask for API keys is ' . MINIMUM_API . '. Please create a new key using the Create Key link.'); } } // We're doing API compliance $compliance_type = "API"; // Getting a full API-pulled member list $pheal = new Pheal($settings->getCorpUserID(), $settings->getCorpVCode(), 'corp'); $response = $pheal->MemberTracking(array("extended" => 1)); $memberList = array(); foreach ($response->members as $member) { $memberList[$member->name]['name'] = $member->name; $memberList[$member->name]['id'] = $member->characterID;
<?php if (isset($_POST['action'])) { if ($_POST['action'] == 'refresh' or $_POST['action'] == 'add') { $keyID = $_POST['keyID']; $vCode = $_POST['vCode']; $key = new ApiKey($keyID, $vCode, $user, $db); $keyUpdate = $key->refreshAPIKey(); if ($keyUpdate and $_POST['action'] == 'refresh') { setAlert('success', 'API Key Updated', 'The selected API Key has been refreshed, and all character information updated.'); } elseif ($keyUpdate and $_POST['action'] == 'add') { setAlert('success', 'API Key Added', 'The API Key has been successfully added to the account'); } } elseif ($_POST['action'] == 'delete') { ApiKey::deleteKey($_POST['keyID'], $user); } } $stmt = $db->prepare('SELECT * FROM user_apikeys WHERE uid = ? ORDER BY userid ASC'); $stmt->execute(array($user->getUID())); $apiKeys = $stmt->fetchAll(PDO::FETCH_ASSOC); require_once 'includes/header.php'; ?> <div class="opaque-container" role="tablist" aria-multiselectable="true"> <div class="row" style="width: 100%; margin-top: 20px; margin-bottom: 20px"> <div class="col-md-12 opaque-section" style="padding: 0px"> <div class="row box-title-section"> <a class="box-title-link" style="text-decoration: none" > <h1 class="eve-text" style="margin-top: 10px; text-align: center; font-size: 200%; font-weight: 700">API Key Management</h1> </a> </div>
foreach ($characters as $character) { $character_array[$character['charid']] = $character['charid']; } foreach ($key->getCharacters() as $character) { $char = new Character($character['characterID'], $key->getKeyID(), $key->getVCode(), $key->getAccessMask(), $db, $user); if ($char->getExistance() or $char->getExistance() == FALSE) { $char->updateCharacterInfo(); } unset($character_array[$char->getCharacterID()]); } if (!empty($character_array)) { foreach ($character_array as $delete_character) { Character::deleteCharacter($delete_character, $user->getUID()); } } $refresh = $key->refreshAPIKey('refresh'); setAlert('success', 'API Key Refreshed', 'The API key has been successfully refreshed.'); } } elseif (!($key->getAccessMask() & MINIMUM_API) and $key->getKeyStatus() == 1) { setAlert('danger', 'The API Key Does Not Meet Minimum Requirements', 'The required minimum Access Mask for API keys is ' . MINIMUM_API . '. Please create a new key using the Create Key link.'); } } elseif ($request['value'] == 'delete') { } if ($user->getAdminAccess()) { $stmt = $db->prepare('SELECT * FROM user_apikeys JOIN user_accounts ON user_apikeys.uid = user_accounts.uid ORDER BY user_accounts.username ASC'); $stmt->execute(array()); $keys = $stmt->fetchAll(PDO::FETCH_ASSOC); } else { $stmt = $db->prepare('SELECT * FROM user_apikeys JOIN user_accounts ON user_apikeys.uid = user_accounts.uid WHERE user_accounts.gid = ? ORDER BY user_accounts.username ASC'); $stmt->execute(array($user->getGroup())); $keys = $stmt->fetchAll(PDO::FETCH_ASSOC);
<?php if (isset($_POST['action'])) { if ($_POST['action'] == 'refresh' or $_POST['action'] == 'add') { $keyID = $_POST['keyID']; $vCode = $_POST['vCode']; $key = new ApiKey($keyID, $vCode, $user, $db); $update_type = $_POST['action']; $keyUpdate = $key->refreshAPIKey($update_type); if ($keyUpdate and $_POST['action'] == 'refresh') { setAlert('success', 'API Key Updated', 'The selected API Key has been refreshed, and all character information updated.'); } elseif ($keyUpdate and $_POST['action'] == 'add') { setAlert('success', 'API Key Added', 'The API Key has been successfully added to the account'); } } elseif ($_POST['action'] == 'delete') { ApiKey::deleteKey($_POST['keyID'], $user); } } $stmt = $db->prepare('SELECT * FROM user_apikeys WHERE uid = ? ORDER BY userid ASC'); $stmt->execute(array($user->getUID())); $apiKeys = $stmt->fetchAll(PDO::FETCH_ASSOC); require_once 'includes/header.php'; ?> <div class="opaque-container" role="tablist" aria-multiselectable="true"> <div class="row" style="width: 100%; margin-top: 20px; margin-bottom: 20px"> <div class="col-md-12 opaque-section" style="padding: 0px"> <div class="row box-title-section"> <a class="box-title-link" style="text-decoration: none" > <h1 class="eve-text" style="margin-top: 10px; text-align: center; font-size: 200%; font-weight: 700">API Key Management</h1> </a>