mirror of
https://github.com/YGGverse/YGGo.git
synced 2025-08-26 13:51:55 +00:00
fix API_ENABLED condition
This commit is contained in:
parent
13431008c4
commit
0df47efa8b
130
public/api.php
130
public/api.php
@ -9,7 +9,72 @@ require_once('../library/parser.php');
|
|||||||
require_once('../library/mysql.php');
|
require_once('../library/mysql.php');
|
||||||
require_once('../library/sphinxql.php');
|
require_once('../library/sphinxql.php');
|
||||||
|
|
||||||
if (!API_ENABLED) {
|
if (API_ENABLED) {
|
||||||
|
|
||||||
|
// Action
|
||||||
|
switch (!empty($_GET['action']) ? $_GET['action'] : false) {
|
||||||
|
|
||||||
|
// Search API
|
||||||
|
case 'search';
|
||||||
|
|
||||||
|
// Connect database
|
||||||
|
$db = new MySQL(DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD);
|
||||||
|
|
||||||
|
// Connect Sphinx search server
|
||||||
|
$sphinx = new SphinxQL(SPHINX_HOST, SPHINX_PORT);
|
||||||
|
|
||||||
|
|
||||||
|
// Filter request data
|
||||||
|
$query = !empty($_GET['query']) ? Filter::url($_GET['query']) : '';
|
||||||
|
$page = !empty($_GET['page']) ? Filter::url($_GET['page']) : 1;
|
||||||
|
|
||||||
|
// Make search request
|
||||||
|
$sphinxResults = $sphinx->searchHostPages('"' . $query . '"', $page * API_SEARCH_PAGINATION_RESULTS_LIMIT - API_SEARCH_PAGINATION_RESULTS_LIMIT, API_SEARCH_PAGINATION_RESULTS_LIMIT);
|
||||||
|
$sphinxResultsTotal = $sphinx->searchHostPagesTotal('"' . $query . '"');
|
||||||
|
|
||||||
|
// Generate results
|
||||||
|
$dbResults = [];
|
||||||
|
|
||||||
|
foreach ($sphinxResults as $sphinxResult) {
|
||||||
|
|
||||||
|
if ($hostPage = $db->getFoundHostPage($sphinxResult->id)) {
|
||||||
|
|
||||||
|
$dbResults[] = $hostPage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make response
|
||||||
|
$response = [
|
||||||
|
'status' => true,
|
||||||
|
'totals' => $sphinxResultsTotal,
|
||||||
|
'result' => $dbResults,
|
||||||
|
];
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Host API
|
||||||
|
case 'hosts';
|
||||||
|
|
||||||
|
// Connect database
|
||||||
|
$db = new MySQL(DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD);
|
||||||
|
|
||||||
|
$response = [
|
||||||
|
'status' => true,
|
||||||
|
'totals' => $db->getTotalHosts(),
|
||||||
|
'result' => $db->getAPIHosts(API_HOSTS_FIELDS),
|
||||||
|
];
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
|
||||||
|
$response = [
|
||||||
|
'status' => false,
|
||||||
|
'message' => _('Undefined API action request.'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
$response = [
|
$response = [
|
||||||
'status' => false,
|
'status' => false,
|
||||||
@ -17,69 +82,6 @@ if (!API_ENABLED) {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action
|
|
||||||
switch (!empty($_GET['action']) ? $_GET['action'] : false) {
|
|
||||||
|
|
||||||
// Search API
|
|
||||||
case 'search';
|
|
||||||
|
|
||||||
// Connect database
|
|
||||||
$db = new MySQL(DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD);
|
|
||||||
|
|
||||||
// Connect Sphinx search server
|
|
||||||
$sphinx = new SphinxQL(SPHINX_HOST, SPHINX_PORT);
|
|
||||||
|
|
||||||
|
|
||||||
// Filter request data
|
|
||||||
$query = !empty($_GET['query']) ? Filter::url($_GET['query']) : '';
|
|
||||||
$page = !empty($_GET['page']) ? Filter::url($_GET['page']) : 1;
|
|
||||||
|
|
||||||
// Make search request
|
|
||||||
$sphinxResults = $sphinx->searchHostPages('"' . $query . '"', $page * API_SEARCH_PAGINATION_RESULTS_LIMIT - API_SEARCH_PAGINATION_RESULTS_LIMIT, API_SEARCH_PAGINATION_RESULTS_LIMIT);
|
|
||||||
$sphinxResultsTotal = $sphinx->searchHostPagesTotal('"' . $query . '"');
|
|
||||||
|
|
||||||
// Generate results
|
|
||||||
$dbResults = [];
|
|
||||||
|
|
||||||
foreach ($sphinxResults as $sphinxResult) {
|
|
||||||
|
|
||||||
if ($hostPage = $db->getFoundHostPage($sphinxResult->id)) {
|
|
||||||
|
|
||||||
$dbResults[] = $hostPage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make response
|
|
||||||
$response = [
|
|
||||||
'status' => true,
|
|
||||||
'totals' => $sphinxResultsTotal,
|
|
||||||
'result' => $dbResults,
|
|
||||||
];
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
// Host API
|
|
||||||
case 'hosts';
|
|
||||||
|
|
||||||
// Connect database
|
|
||||||
$db = new MySQL(DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD);
|
|
||||||
|
|
||||||
$response = [
|
|
||||||
'status' => true,
|
|
||||||
'totals' => $db->getTotalHosts(),
|
|
||||||
'result' => $db->getAPIHosts(API_HOSTS_FIELDS),
|
|
||||||
];
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
|
|
||||||
$response = [
|
|
||||||
'status' => false,
|
|
||||||
'message' => _('Undefined API action request.'),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
header('Content-Type: application/json; charset=utf-8');
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user