YOURLS плагин для фильтрации вызовов API для определенного столбца MySQL

У меня есть веб-сайт, который позволяет пользователям создавать сокращенные URL-адреса. Для обработки сокращения URL я использую YOURLS (сокращение URL с открытым исходным кодом), который я запускаю на другом моем сервере и соединяю два сайта через вызовы API.

Я создал YOURLS плагин с некоторыми обычаями Действия API поэтому, когда пользователь создает короткий URL-адрес, он присоединяет свой идентификатор пользователя с моего веб-сайта к таблице yourls_url, как показано ниже:

введите описание изображения здесь

Когда пользователь заходит на свою страницу «Мои ссылки», мне нужно вызвать API, чтобы вернуть все короткие URL, созданные этим пользователем. Для этого нужно просто создать фильтр для «api_result_stats».

Это созданный мной фильтр, который должен возвращать только те URL-адреса, которые были созданы указанным пользователем:

yourls_add_filter( 'api_result_stats', 'separate_users_api_stats' );

function separate_users_api_stats() {
global $ydb;

$user = ( isset( $_REQUEST['user'] ) ? $_REQUEST['user'] : '' );

$table = YOURLS_DB_TABLE_URL;
$result = $ydb->query("SELECT * FROM `$table` WHERE  `user` = '" . $user . "'");

return $result > 0;

}

Чтобы проверить это, я могу попробовать http://example.com/yourls-api.php?action=stats&user=test123&limit=10&filter=last&signature=xxxxxxxxxx но, к сожалению, все, что я получаю, это:

введите описание изображения здесь

Я не слишком знаком с PHP / MYSQL, поэтому я застрял в этом довольно долгое время, если у кого-нибудь есть какие-либо идеи относительно того, что я делаю не так, или может привести пример, это будет с благодарностью!

1

Решение

Вот что решило это для меня:

yourls_add_filter( 'api_result_stats', 'separate_users_api_stats' );

function separate_users_api_stats() {
global $ydb;

$user = ( isset( $_REQUEST['user'] ) ? $_REQUEST['user'] : '' );

$table = YOURLS_DB_TABLE_URL;

$query = "SELECT * FROM `$table` WHERE `user` = '" . $user . "'";

$result = $ydb -> get_results($query);

return $result;

}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]